软件过程模型幻灯片.ppt
《软件过程模型幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件过程模型幻灯片.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件过程模型第1页,共36页,编辑于2022年,星期三vv软件危软件危机机vv 软件工程软件工程vv 软件生命周期和软件过程软件生命周期和软件过程第一章 绪论第2页,共36页,编辑于2022年,星期三1.1软件工程简述一、什么是软件危机一、什么是软件危机软件危机软件危机是指在计算机软件的开发和维护过程中是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题。所遇到的一系列严重问题。主要是两个问题。1.如何开发软件,怎样满足对软件的日益增长的需求。如何开发软件,怎样满足对软件的日益增长的需求。2.如何维护数量不断膨胀的已有软件如何维护数量不断膨胀的已有软件第3页,共36页,编辑
2、于2022年,星期三1.1软件工程简述二、软件危机的主要表现1.对软件开发成本和进度的估计不准确对软件开发成本和进度的估计不准确2.用户不满意用户不满意3.软件质量不高、可靠性差软件质量不高、可靠性差4.软件常常不可维护、错误难以改正。软件常常不可维护、错误难以改正。5.缺乏适当的文档资料缺乏适当的文档资料6.软件成本占系统总成本的比例逐年上升软件成本占系统总成本的比例逐年上升7.软件开发速度跟不上计算机发展速度软件开发速度跟不上计算机发展速度第4页,共36页,编辑于2022年,星期三1.1软件工程简述三、产生软件危机的原因三、产生软件危机的原因1.与软件本身的特点有关与软件本身的特点有关v软
3、件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机运行之前,软件开发过程的进展情况在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当困难。开发过程相当困难。2.软件不易于维护软件不易于维护v(1)软件维护通常意味着改正或修改原来的设计,客观上使软件较难维护。)软件维护通常意味着改正或修改原来的设计,客观上使软件较难维护。v(2)软件不同于一般程序,它的规模大,不易于维护。)软件不同于
4、一般程序,它的规模大,不易于维护。第5页,共36页,编辑于2022年,星期三三、产生软件危机的原因3.在软件开发过程中,或多或少地采用了错误的方在软件开发过程中,或多或少地采用了错误的方法和技术。法和技术。4.对用户需求没有完整准确的认识,就匆忙着手编对用户需求没有完整准确的认识,就匆忙着手编写程序。写程序。第6页,共36页,编辑于2022年,星期三1.1软件工程简述四、解决软件危机的途径四、解决软件危机的途径1.技术措施技术措施使用更好的软件开发方法和开发工具使用更好的软件开发方法和开发工具2.组织管理措施组织管理措施软件开发不是某种个体劳动的神秘技巧,而应该是一软件开发不是某种个体劳动的神
5、秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。成的工程项目。第7页,共36页,编辑于2022年,星期三1.1软件工程简述六、什么是软件工程六、什么是软件工程软件工程是指导计算机软件开发和维护的工程学软件工程是指导计算机软件开发和维护的工程学科。它科。它采用工程的概念、原理、技术和方法来开采用工程的概念、原理、技术和方法来开发与维护软件发与维护软件,把经过时间考验而证明正确的管,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起理技术和当前能够得到的最好的技术方法结合起来。来。软件工程是一门涉及软件
6、计划、需求分析、设计、软件工程是一门涉及软件计划、需求分析、设计、编码、测试和维护的原理、方法及工具的研究和编码、测试和维护的原理、方法及工具的研究和应用的学科。应用的学科。第8页,共36页,编辑于2022年,星期三1.1软件工程简述七、软件工程的基本原理1968年年,北大西洋公约组织北大西洋公约组织(NATO),召开的有关计召开的有关计算机软件会议上正式提出算机软件会议上正式提出“软件工程软件工程”术语。术语。目前有目前有100多条关于软件工程的准则,其中最出多条关于软件工程的准则,其中最出名的是著名软件工程专家名的是著名软件工程专家B.W.Boehm在在1983年年提出的提出的7条基本原理
7、。条基本原理。第9页,共36页,编辑于2022年,星期三1.1软件工程简述1.用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理经统计表明,不成功的软件项目中有一半左右是经统计表明,不成功的软件项目中有一半左右是由于计划不周造成的。由于计划不周造成的。Boehm认为,在软件的整个生命周期中应制定并认为,在软件的整个生命周期中应制定并严格执行六类计划:项目概要计划、里程碑计划、严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行项目控制计划、产品控制计划、验证计划、运行维护计划。维护计划。第10页,共36页,编辑于2022年,星期三1.1软件工程简述2
8、.坚持进行阶段评审坚持进行阶段评审大部分错误是在编码之前造成的大部分错误是在编码之前造成的 因此,在每个阶段都进行严格的评审,以便尽早因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程的错误发现在软件开发过程的错误第11页,共36页,编辑于2022年,星期三1.1软件工程简述3.实行严格的产品控制实行严格的产品控制在软件开发过程中不要随意改变需求,因为改变某项需求在软件开发过程中不要随意改变需求,因为改变某项需求往往需要付出较高的代价,但在实践中用户往往会提出需往往需要付出较高的代价,但在实践中用户往往会提出需求变更,因此需要采取科学的产品控制技术。求变更,因此需要采取科学的产品控制
9、技术。目前主要实行基准配置管理:基准配置是指经过阶段目前主要实行基准配置管理:基准配置是指经过阶段评审后的软件配置成分,如各个阶段产生的文档或程评审后的软件配置成分,如各个阶段产生的文档或程序代码。序代码。对涉及基准配置的修改,必须经过严格的评审,通过后才能实对涉及基准配置的修改,必须经过严格的评审,通过后才能实施修改。施修改。第12页,共36页,编辑于2022年,星期三1.1软件工程简述4.采用现代程序设计技术采用现代程序设计技术实践表明:采用先进的技术既可提高软件开发的实践表明:采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。效率,又可提高软件维护的效率。80年代及之前:结构
10、化分析、设计技术年代及之前:结构化分析、设计技术90年代:面向对象分析、设计技术年代:面向对象分析、设计技术第13页,共36页,编辑于2022年,星期三1.1软件工程简述5.结果应能清楚地审查结果应能清楚地审查软件产品是看不见、摸不着的逻辑产品,开发过软件产品是看不见、摸不着的逻辑产品,开发过程难以评价和管理。程难以评价和管理。根据软件开发项目的总目标及完成期限,规定开根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,使所得的结果能够清发组织的责任和产品标准,使所得的结果能够清楚地审查楚地审查第14页,共36页,编辑于2022年,星期三1.1软件工程简述6.开发小组的人员应该少
11、而精开发小组的人员应该少而精开发小组人员的素质和数量是影响软件产品质量开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。和开发效率的重要因素。开发小组人员数目的增加,使相互交流复杂、费开发小组人员数目的增加,使相互交流复杂、费用增加。用增加。第15页,共36页,编辑于2022年,星期三1.1软件工程简述7.承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性遵循前遵循前6 6条基本原理,就能够按照当代软件工程条基本原理,就能够按照当代软件工程基本原理实现软件的工程化生产,但不能保证基本原理实现软件的工程化生产,但不能保证赶上时代前进的步伐。赶上时代前进的步伐。积极主动
12、采纳新的软件技术,且不断总结经验积极主动采纳新的软件技术,且不断总结经验。第16页,共36页,编辑于2022年,星期三1.2 软件的生存周期及其开发模型1.“生命周期法生命周期法”的起源。的起源。软件工程采用的软件工程采用的“生命周期法生命周期法”,就是从时间角度对,就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后再逐步完成每个阶段的任务对独立的任务,然后再逐步完成每个阶段的任务.软件生存周期包括问题定义、可行性分析和项目开发计划、需
13、求分析、软件生存周期包括问题定义、可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,可以将这些活动概要设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。以适当方式分配到不同阶段去完成。第17页,共36页,编辑于2022年,星期三1.2软件的生存周期及其开发模型2.生命周期划分的原则生命周期划分的原则v任务的性质尽可能相同,从而降低每个阶段任务的复任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。程的组织管理。3.生命周期的划分生
14、命周期的划分软件生命周期一般分为:软件生命周期一般分为:软件定义软件定义(问题定义、可行(问题定义、可行性研究、需求分析)、性研究、需求分析)、软件开发软件开发(总体设计、详细设(总体设计、详细设计、编码和单元测试、综合测试)、计、编码和单元测试、综合测试)、软件使用与维护软件使用与维护等三个时期。等三个时期。第18页,共36页,编辑于2022年,星期三1.2软件的生命周期及其开发模型软件生命周期的各个阶段:软件生命周期的各个阶段:(1)问题定义)问题定义(2)可行性分析)可行性分析(3)需求分析)需求分析 分析软件需求,编写软件需求规格说明分析软件需求,编写软件需求规格说明(4)概要设计和详
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 过程 模型 幻灯片
限制150内