资源描述:
《软件工程导论第五版答案和ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章软件工程概述主要内容1软件的发展与软件危机2软件工程3软件的生命周期4软件过程及模型1.1软件危机计算机软件发展的三个时期?1、程序设计阶段(60年代中期之前)---“个体化”早期,写程序,单个程序,一个人写-----”个体生产方式”1)尚无软件概念,主要围绕硬件开发2)规模小,工具简单3)个性化无文档?2、程序系统阶段(60年代中期-70年代中期)中期,几个人配合,分工不是很明确,不规范---”生产作坊”,产品软件沿用----“个体化”开发方法。1)出现高级语言2)用操作系统统一进行资源管理3)从单一的计算到工程设计出现早期危机如:人员变化,一个人负责,后来走了,谁来接
2、替工作…软件开发越来越走入困境.例如:1963年,美国飞往火星的火箭爆炸.FORTRANDo5I=1,3写成Do5I=1.3损失1000万1967年,前苏联”联盟一号”宇宙飞船烧毁,由于软件忽略一个小数点,在进入气层时打不开降落伞而烧毁。失之毫厘,差之千里.�3、软件工程阶段(70年代中期之后)•软件开发成为一门新兴的工程学科——软件工程。3.软件工程时期(70年代—至今)软件危机加剧,科学家着手研究软件工程学的理论,方法和时限等一系列问题。独唱-->小合唱-->合唱-->万人大合唱
3、
4、
5、简单程序较复杂程序软件Windows95有1000万行代码Windows2000有5000
6、万行代码Windows2000开发人员结构项目经理约250人开发人员约1700人测试人员3200人1.1.1软件危机的介绍软件危机的概念?软件危机是指在计算机软件开发和维护过程中的所遇到的一系列严重问题。这些问题绝不是不能正常运行的软件才具有,实际上,几乎所有软件有不同程度的问题。1.1.1软件危机的介绍软件危机的主要表现7个方面:�对软件开发成本和进度的估计不准确?产品不符合用户的要求?软件质量不高、可靠性差?软件常常不可维护、错误难以改正?缺乏适当的文档资料?软件成本占系统总成本的比例逐年上升(见图)?软件开发速度跟不上计算机发展速度硬件软件1.1.2软件危机产生的原因客观
7、:软件本身特点1)软件不同于硬件。软件是一种逻辑实体,而不是具体的物理实体,具有高度的抽象性;软件的运行和维护阶段,没有传统意义上的机械磨损、老化问题。2)软件不同于一般的程序。软件是一个逻辑上复杂而规模上庞大的系统,涉及技术、管理等多方面的问题;1.1.2软件危机产生的原因主观:不正确的开发方法,落后的开发工具1)忽视软件需求分析的重要性;对系统需求没有清楚和准确的认识就进入开发阶段。(见图)2)对软件与程序的概念不清;错误认为:软件开发=程序编写3)忽视对软件开发过程的管理。轻视软件维护。软件开发与维护的方法不正确:软件的定义(Boehm):软件是程序以及开发、使用和维护程
8、序需要的所有文档和数据。早中晚引入同一变动付出的代价随时间变化的趋势1.1.3解决软件危机的途径1、正确认识软件的概念。软件:程序、数据、文档程序:能够完成预定功能和性能的可执行的指令序列。数据:是程序能处理信息的数据结构文档:开发、使用和维护程序所需的图文资料2、消除“个性”软件工程研究目标:是以较低的成本获取较高质量的软件产品。(少花钱多干事)体验软件工程各个阶段的主要工作,特别注意汲取教训,学会与他人合作,培养团队精神。(项目如造房子,管材料,管建房子,人力资源,电脑资源调配,跟客户沟通….每一个人具有螺丝钉的精神,不行,换同规格螺丝钉,把程序员的个性磨灭,变成标准配置,
9、互相协作,互相监督,出现大量跳槽,三年之内跳槽,每跳一次工资会加高)3、用好的软件工具软件开发=焦油坑软件开发=焦油坑图是人月神话第一章的插图:拉布雷阿的焦油坑壁画(MuralofLaBreaTarPits)。史前,没有别的场景比巨兽在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈,焦油纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。过去几十年的大型系统开发就犹如这样一个焦油坑。软件工程背景1968年由NATO(北大西洋公约组织)在德国召开的国际学术会议上,FeitzBauer首先提出了“软
10、件工程”概念。引入了现代软件的开发方法,希望用工程化的方法和原则来克服软件危机。1.2软件工程?软件危机-->根源-->解决途径:软件工程二、软件工程定义?[IEEE1993年]定义软件工程(SoftwareEngineer):�把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件。即:软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。有哪些文档标准?•国际ISO•国家GB•行业标准IEEE(国际电工组织)1.2软