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