- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程模型与方法 13、软件维护 14、软件项目管理 15、软件能力成熟度模型
软件工程模型与方法 Models Methods of SE 第13,14,15章 肖丁 主要内容 软件维护 软件项目管理 软件能力成熟度模型 第13章:软件维护 软件维护的定义 软件维护的分类 软件维护的活动 软件的逆向和再工程 软件维护的定义和分类 在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程,即在软件运行∕维护阶段对软件产品所进行的一切改动。 改正在系统运行过程中暴露出来的一些潜在程序错误或设计缺陷,称为改正性维护。 为了适应在软件使用过程中数据环境发生变化或处理环境发生变化而进行的软件修改,称为适应性维护。 为满足用户的其他要求,就需要修改软件并把这些要求纳入到软件之中,称为完善性维护。 为了提高软件的可维护性、可靠性等而事先进行的软件改动,称为预防性维护。 影响软件维护工作量的因素 系统大小:系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需要更多的维护工作量。 程序设计语言:使用强功能的程序设计语言可以控制程序的规模。语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性越好。 系统年龄:系统随着不断的修改,结构越来越乱;由于维护人员经常更换,程序又变得越来越难于理解;长期的维护过程中文档在许多地方与程序实现变得不一致。 其它:例如,应用的类型、数学模型、任务的难度、开关与标记、IF嵌套深度、索引或下标数等,对维护工作量都有影响。 软件维护中的典型问题 首先软件维护人员大多数情况下不是软件开发人员,为此他们会遇到以下问题: 阅读和理解别人写的程序非常困难。 需要维护的软件往往没有合格的文档,或者文档资料明显不足。 不能指望开发人员仔细说明软件。 决大多数软件在设计时没有考虑将来的修改,从而导致了软件的可维护性很差。 软件维护不是一项吸引人的工作,由于以上原因经常导致维护出现困难,从而使软件维护人员产生厌烦和挫折感。 软件维护的活动 为了有效地进行软件维护,就必须: 建立维护机构 给出软件维护的工作管理流程 为每一个维护申请规定标准的处理步骤 软件维护的管理工作流程 软件维护的标准化 修改请求:一般由用户、程序员或管理人员提出,是软件维护的开始; 分类与鉴别:根据修改请求,由维护机构来确认其维护类别,给一个编号,并输入数据库保存; 分析:先进行维护的可行性分析,然后进行详细分析; 设计:汇总全部信息开始更改,本阶段应更改设计的基线、更改测试计划、修订详细分析结果、核实维护需求; 实现:制定程序更改计划并进行软件更改。包括编码、单元测试、集成、风险分析、测试准备审查、更新文档; 系统测试:主要进行程序之间的接口测试,以确保加入了修改的软件满足原来的需求,回归测试是确保不要引入新的错误; 验收测试:最终的综合测试,由客户、用户和第三方共同进行; 交付:此阶段是将新的系统交给用户安装并运行。 软件的逆向工程和再工程 术语“逆向工程”来自硬件。成功的逆向工程应当通过考察产品的实际样品,导出该产品的一个或多个设计与制造的规格说明。 软件的逆向工程是分析程序,是设计恢复的过程,需要从已存在程序中抽取数据结构、体系结构和程序设计信息。 软件的再工程 软件再工程是一类软件工程活动,是一个工程过程,它将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式。 再工程的基础是系统理解,包括对运行系统、源代码、设计、分析、文档等的全面理解。 在这些理解的基础上,执行重构生成一个设计,它产生与原来程序相同的功能,但具有比原来程序更高的质量。 第14章 软件项目管理 项目和软件项目的定义 软件项目管理过程 软件项目度量 软件规模度量 软件项目估算 软件项目进度安排 软件项目的组织结构 项目和软件项目的定义 项目,是一项为了创造某一唯一的产品或服务的时限性工作。具有以下特征: 需要由人来完成; 受到有限资源的限制; 需要计划、执行和控制。 软件项目是一种成果体现为软件产品的项目,其特有的特征表现为: 软件产品是无形的; 软件产品没有标准的软件过程 ; 大型软件项目开发常常是“一次性的”。 项目的管理过程 项目管理就是为了满足甚至超越项目干系人员对项目的需求和期望的一些活动,并将理论知识、技能、工具和技巧应用到项目的活动中。 项目管理包括以下九个知识领域: 综合管理:将项目管理各种必要要素综合为整体的过程和活动,并在项目管理过程组范围内识别、定义、组合、统一并协调。 范围管理:界定为了确保成功地完成项目所需要做的工作,也是仅仅被要求做的工作。 时间管理:阐述确保项目按时完成所需的各项过程。 成本管理:阐述了确保项目按照规定预算完成需要进行的费用规划、估算、预算的各项过程。 质量管理:阐述了确保项目达到其既定质量要求所需实施的各项过程。 人
文档评论(0)