软件工程理论方法与实践

第一章、 概述  软件是人类思维的杰作,并成为人类现代生活的催化剂。今天软件遍布整个世界,在生物工程、现代通信、宇宙探索、商务处理、工业控制等方面发挥出巨大的威力,并推动了商业、科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响。软件工程师为了解决开发成本效益和软件质量的问题而产生的。软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。软件分为通用软件和定制软件。软件的特性分别是软件是复杂的、软件是不可见的、软件是不断变化的、大多数软件是定制的而不是通过已有构件组装而成的。软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上。软件工程的三要素分别是方法、工具和过程。软件开发的主要挑战是遗留系统的问题、高可信软件开发的要求和软件开发方式的变化。软件工程人员的职业道德建设:1、遵纪守法是软件工程人员应具备的基本素质;2、服务客户、造福社会是软件工程人员必须牢固树立的观念;3、诚实信用是软件工程人员职业道德的核心所在。

第二章、 软件工程  软件工程的目标是在规定的时间和预算内开发出高质量的软件。软件工程的基本活动是问题提出、软件需求规格说明、软件设计、软件实现、软件确认和软件演化。软件过程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、形式化方法模型、基于组件的开发模型。

第三章、 软件项目管理  随着计算机应用的飞速发展,软件开发规模和开发队伍日益庞大,软件开发不再像过去那样是由个别开发人员即可以解决的事情,因此,有必要将软件项目管理引入软件开发活动中,从而有效的保证软件项目能够按照预定的成本、进度、质量要求顺利完成。软件项目的特征有软件产品的不可见性、项目的高度不确定性、软件人员的高流动性。软件项目管理集中于四个方面:人员、产品、过程、项目。软件项目的组织有民主式组织结构、主程序员式组织结构、技术管理式组织结构。项目沟通活动:规划项目沟通、建立基础设施、实施阶段性评审、每周组织小组会议。软件规模估算:代码行技术、功能点技术。软件成本估算:专家判断、类比估算、COCOMO模型。软件工程风险识别:软件规划风险、商业影响风险、客户相关风险、软件过程风险、开发技术风险、开发环境风险、开发人员风险。

第四章、 需求工程  软件需求是决定软件开发是否成功的一个关键元素,一旦发生错误,将会给整个软件开发工作带来极大的损害,并给以后的软件维护带来极大的困难。软件需求分为:业务需求、用户需求、功能需求和非功能需求、系统需求。需求工程的过程:需求获取、需求分析、需求规格说明、需求验证、需求管理。需求获取技术:面谈、需求专题讨论会、观察用户工作流程、原型化方法、基于用例的方法。

第五章、 软件工程中的形式化方法  从广义上讲,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动。狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述、模型推理和验证的方法。将形式化方法运用于软件工程实践的过程中主要是为了保证软件的正确性。

第六章、 面向对象基础  面向对象技术是软件工程领域中的重要技术,这种技术比较自然的模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方法。面向对象的基本概念有对象、类、封装、继承、消息、关联聚合、多态性。软件建模的概念有系统、模型和视图、软件建模的重要性。UML的概念模型有视图、图、模型元素、语义法则、公共机制、扩展机制。常用的UML图有用例图、类图、顺序图、状态图。

第七章、 面向对象分析  面向对象的分析模型由功能模型、分析对象模型、动态模型组成。识别分析类包括识别边界类、识别控制类、识别实体类。建立分析类图:兴义关系和属性、应用分析模式。

第八章、 面向对象设计  面向对象设计阶段将集中研究系统的软件实现问题,包括体系结构设计、详细设计、用户界面设计和数据库设计等。设计的原则有模块化、耦合度和内聚性、复用性。软件体系结构:仓库体系结构、分层体系结构、MVC体系结构、客户机/服务器体系结构、管道和过滤器体系结构、案例:MiniLibrary系统体系结构。系统设计:识别设计元素、数据存储策略、部署子系统系统设计评审。详细设计:方法建模、属性建模、状态建模、关系建模、详细设计评审。应用设计模式:Abstract Factory模式、Adaptor模式、Bridge模式、Façade模式。用户界面设计:用户界面设计原则、Web界面的设计、用户支持。

第九章、 软件实现  软件实现是软件产品由概念到实体的一个关键过程,它将详细设计的结果翻译成用某种程序语言编写的并且最终可以运行的程序代码。软件编码规范:文件命名与组织、带码的板式、命名规则、声明、注释。

第十章、 软件测试  验证与确认:软件的错误、验证与确认、V&V的活动。软件的测试策略:单元测试(模块接口测试、局部数据结构测试、重要执行路径测试、错误处理测试、边界条件测试、单元测试方法)、集成测试(自顶向下集成、自底向上集成)、确认测试、系统测试、软件调试(简单的调试方法、归纳法调试演绎法调试、回溯发调试)。软件测试方法:静态测试与动态测试、黑盒测试与白盒测试

第十一章、 软件演化  软件维护的概念:软件维护是指在软件运行或维护阶段对软件产品所进行的修改,分别有改正性维护、适应性维护、完善性维护。软件维护的特点:软件维护手开发过程影响大、软件维护困难多、软件维护成本高。软件再生工程:对象选择、反向工程、文档重构、代码重构、数据重构。

时间: 2024-10-04 01:31:08

软件工程理论方法与实践的相关文章

阅读《软件工程—理论方法与实践》第五章心得体会

阅读第五章所了解到的基本知识,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.主要目的是保证软件的正确性.已建立的形式化方法可分为操作类和描述类.操作类方法基于状态和转移;描述类基于数学公理和概念.形式证明与验证技术主要包括模型检测(适用于有穷状态系统,完全自动化并且验证速度快)和定理证明(采用逻辑公式来表示系统规约及其性质,分为自动和交互式两种).一阶线性时态逻辑是一阶谓词逻辑的扩展.对汉诺塔操作规划问题有了更深一步的理解.计算树逻辑是

阅读《软件工程—理论方法与实践》第三章心得体会

通过对第三章的阅读,对以下概念有了了解:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.其有利于将软件开发人员的个人开发能力转化成企业的开发能力,并使企业的软件开发能力不断提高和成熟.软件项目的特征有软件产品的不可见性.项目的高度不确定性.软件过程的多变化性,降低复杂性和控制变化成为软件项目管理面临的关键问题.软件项目管理集中于人员.产品.过程和项目.软件项目的生命周期包括项目启动(确定项目的目标和范围).项目规划(建立

阅读《软件工程—理论方法与实践》第二章心得体会

软件过程是软件工程人员为了获取软件产品而在软件工具的支持下实施的一系列软件工程活动.其基本活动包括:问题提出.软件需求规格说明.软件设计.软件实现.软件确认.软件演化.软件过程产品涉及软件需求.软件设计.软件实现.软件测试和软件实施等活动产生的结果,这些制品通常是在不同的开发活动之间进行转移和演进.常用软件过程模型:瀑布模型(适用于开发的早期阶段软件需求被完整确定的情况).快速原型模型(必须迅速建立原型,随之迅速修改原型,以反映客户的需求).増量模型(可以较好地适应需求的变化).螺旋模型(强调可

软件工程理论方法与实践第五章读后感

形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动,从根本上讲,软件设计过程就是一个建立形式化规约,软件设计的最终产物--程序在进行形式化的过程中涉及到三中系统模型:现实世界,模型表示和计算机系统.软件规格说明是对软件系统对象,对象的操作系统以及对象行为的描述,形式化的规格说明可用自然语言图表等形式来描述,模型检测主要用于有穷状态系统,优点是完全自动化并且验证速度快

软件工程理论方法与实践第一章读后感

软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据,根据软件服务UI想的范围不同,一般可以将软件划分为通用软件和定制软件两种类型.软件的特性主要有,软件是复杂的,不可见的,不断变化的,大多数软件是定制的而不是通过已有的构建组装而成的,然而在软件开发过程中软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜,软件存在这错误多性能低不可靠不安全等质量问题,软件成本在计算机系统的整个成本中所占比例越来越大,且维护困难等等,而软件工程中则是将工程化应用到软件上,由过程方法和

阅读《软件工程—理论方法与实践》第六章心得体会

面向对象技术是软件工程领域中的重要技术,不仅仅是一种程序设计方法,更是一种对真实世界的抽思维方式.面向对象的软件工程方法涉及到从面向对象分析.面向对象设计.面向对象编程.面向对象测试到面向对象软件维护的全过程.面向对象的基本概念包括对象.类.封装.继承.消息.关联.聚合.多态性.属性和服务是构成对象的两个基本要素.使用共同的建模语言进行软件建模在软件开发过程中很必要(①以一种容易理解的形式为后期使用信息提供了便利的方法,②便于交流).UML富有表达力,描述开发所需要的各种视图,以此为基础组建系统

软件工程理论方法与实践第二章读后感

第二章读后感 为解决软件开发的问题,首先是将整个软件开发任务看做是一个可比较的刻度量的可改造,而软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动,主要包括问题提出,软件需求规格说明,软件设计等等.软件过程模型主要分为瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型.而微软公司的软件过程模型由规划,设计,开发,稳定和发布五个主要阶段组成,采取低近视的软件开发策略,具体表现在解决问题的及时行.不确定和变更因素的可控性,缩短按产品的上市周

软件工程理论方法与实践第六章读后感

面向对象技术比较自然的模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方式,具有相同数据和相同操作对象可以归为一个类,对象是对象类的一个实例,类可以派生出子类,子类继承父类的全部特性,面向对象=对象+类+挤成+通信.面向对象的软件工程方法:面向对象分析,面向对象设计,面向对象编程,面向对象设计,面向对象维护, 属相和对象是构成对象的两个基本要素,其定义是,属性是用来面熟对象静态特征的一个数据项,服务是用来描述对象动态特征的一个操作序列,类是具有相同属性和服务的一组对象的集合,封装是

阅读《软件工程—理论方法与实践》第一章心得体会

通过对第一章的阅读,软件的划分有了了解,知道了软件是复杂的.不可见的.不断变化的,并且大多数软件是定制的,并不是通过已有构件组装而成的.软件维护是非常困难的,新的修改又会带来新的错误.软件存在多种质量问题,且能成功完成的软件项目的平均率在26%左右.软件工程已关注软件质量为目标,有过程.方法和工具三要素组成.对于软件的质量,对不同的用户角色是不一样的,但他们都有共同的质量要求是可靠性.正确性和有效性.软件工程知识体系被划分10个知识域:软件需求.软件设计.软件构造.软件测试.软件配置管理.软件工