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