欢迎来到天天文库
浏览记录
ID:46882456
大小:185.00 KB
页数:34页
时间:2019-11-28
《软件工程-原理、方法与应用(第二版) 01 软件工程概论》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第1章软件工程概论学习目标掌握软件的概念及特点掌握软件危机的产生及消除途径掌握软件工程的概念及其研究内容掌握软件生存周期的定义及其模型1第1章软件工程概论教学内容1.1引言1.2软件概述1.3软件危机1.4软件工程1.5软件生存周期1.6软件生存周期模型本章小结21.1引言计算机及其相关技术的发展是很快的,但软件的开发没有摆脱手工制作的过程,开发人员对软件开发的认识存在一些偏差,严重影响了软件的发展。于是,许多计算机和软件科学家进行了一些尝试,把其他工程领域中行之有效的方法运用到软件开发中来,形成了
2、软件工程。本教材以大家都比较熟知的学生成绩管理系统为案例,进行软件工程的讲解与学习。返回目录31.1引言学生成绩管理系统总体框图如下:返回目录41.1引言系统模块功能确定以后,下一步就要对模块的功能和性能、数据结构、用户界面等进行必要的设计;然后进入程序编码、软件测试等阶段,而后方可交付用户使用。在用户使用的过程中,还要对程序进行不断的完善与修改,以满足用户的实际需要。返回目录51.2软件概述1.2.1软件的定义软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合
3、。可以写作为:软件=程序+数据+文档。程序:程序是按事先设计好的功能和性能要求执行的指令序列。数据:数据是指程序能正常处理信息的数据和数据结构。文档:文档是与程序运行和维护有关的图文资料。返回目录61.2软件概述1.2.2软件的特点(1)软件具有抽象特征。(2)软件具有无明显制造过程特征。(3)软件无备件的特征。(4)手工制作特征。(5)成本昂贵特征。71.2软件概述1.2.3软件的分类1.按软件功能进行划分(1)系统软件(2)支撑软件(3)应用软件2.按软件规模进行划分按开发软件所需的人力、时间以
4、及完成的源程序行数,可确定六种不同规模的软件。如表1.1所示。81.2软件概述表1.1软件规模的分类类别参加人员数研制期限产品规模(源程序行数)微型11~4周0.5k小型11~6月1k~2k中型2~51~2年5k~50k大型5~202~3年50k~100k甚大型100~10004~5年1M(=1000k)极大型2000~50005~10年1M~10M91.2软件概述1.2.4软件的发展1.程序设计阶段20世纪40年代中期到20世纪60年代中期2.程序系统阶段20世纪60年代中期到20世纪70年代中期
5、3.软件工程阶段20世纪70年代中期到20世纪90年代4.第四代技术阶段101.3软件危机20世纪60年代中期以后,一些开发大型软件系统的要求提了出来。然而软件技术的进步一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了人们难以控制的局面,出现了所谓的“软件危机”。软件危机是指在软件开发和维护中所产生的一系列严重的问题。一是如何开发软件,满足用户对软件的需求,二是如何维护数量众多的已有软件。19
6、63年,美国用于控制火星探测器的计算机软件中的一个“,”号被误写为“。”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。返回目录111.3软件危机1.3.1软件危机产生的原因(1)软件是逻辑部件,缺乏“可见性”,且软件产品往往规模庞大,维护困难。(2)软件一般要使用5~10年,在这段时间里,软件需求发生变化等,都需要及时地对软件进行维护,以延长软件的使用寿命。(3)软件开发技术落后,生产方式和开发工具落后。(4)软件开发人员忽视软件需求分析的重要性,轻视软件维护。1.3.2软件危机的表现形
7、式(1)软件发展速度跟不上硬件的发展和用户的需求。(2)对软件成本和进度估计不准确,用户不满意。(3)软件产品质量差,可靠性不能保证。(4)软件产品可维护性差。(5)软件没有合适的文档资料。121.3软件危机1.3.3解决软件危机的途径(1)应该加强软件开发过程的管理。(2)推广使用开发软件的成功技术与方法,并且不断探索更好的技术与方法。(3)开发和使用好的软件工具,建立软件工程支持环境。总之,为了解决软件危机,既要有技术措施(好的方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方
8、面研究如何更好地开发和维护计算机软件的一门新兴学科。131.4软件工程1968年和1969年北大西洋公约组织成员国软件工作者两次召开会议(NATO会议),讨论摆脱软件危机的办法,提出了软件工程的概念,试图建立并使用正确的工程方法开发出成本低、可靠性好并能高效运转的软件,从而解决或缓解软件危机。返回目录141.4软件工程1.4.1软件工程的定义及目标人们曾从不同的角度,给软件工程下过各种定义。FritzBauer曾经为软件工程下了定义:“软件工程是为了经济地获得能够在实
此文档下载收益归作者所有