欢迎来到天天文库
浏览记录
ID:62063794
大小:2.18 MB
页数:108页
时间:2021-04-14
《最新7-计算机科学导论-软件工程资料教学讲义PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7-计算机科学导论-软件工程资料本章学习目标理解软件的本质含义和软件工程的内涵;描述软件开发过程;描述软件需求分析的任务和方法描述典型的软件工程方法;理解软件质量的含义,并了解软件质量管理方法;理解软件项目管理的主要内容。描述一个典型的软件项目管理过程。123学习内容软件与软件工程软件开发过程软件工程的方法软件质量管理软件项目管理451.软件与软件工程1软件的概念软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。可以写作为:软件=程序+数据+文档。程序:程序是按事先设计好的功能和性能要求执行的指令序列。
2、数据:数据是指程序能正常处理信息的数据和数据结构。文档:文档是与程序运行和维护有关的图文资料。1.软件与软件工程2软件的特点(1)软件具有抽象特征。(2)软件具有无明显制造过程特征。(3)软件无备件的特征。(4)手工制作特征。(5)成本昂贵特征。1.软件与软件工程3软件的分类按软件功能进行划分(1)系统软件(2)支撑软件(3)应用软件按软件规模进行划分按开发软件所需的人力、时间以及完成的源程序行数,可确定六种不同规模的软件。如表1所示。1.软件与软件工程表1软件规模的分类类别参加人员数研制期限产品规模(源程序行数)微型11~4周0.5k小型1
3、1~6月1k~2k中型2~51~2年5k~50k大型5~202~3年50k~100k甚大型100~10004~5年1M(=1000k)极大型2000~50005~10年1M~10M1.软件与软件工程4软件危机1)软件危机的产生20世纪60年代中期以后,一些开发大型软件系统的要求提了出来。然而软件技术的进步一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了人们难以控制的局面,出现了所谓的“软件危机”。1963年,美国用于控制火星探测器的计算
4、机软件中的一个“,”号被误写为“。”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。1.软件与软件工程2)软件危机的定义及其表现形式软件危机是指在软件开发和维护中所产生的一系列严重的问题.一是如何开发软件,满足用户对软件的需求,二是如何维护数量众多的已有软件。其主要表现如下:(1)用户需求不明确、变更过多(2)软件成本日益增长(3)开发进度难以控制(4)软件质量差(5)软件维护困难1.软件与软件工程3)软件危机产生的原因(1)软件开发无计划性(2)软件需求不充分(3)软件开发过程无规范(4)软件产品无评测手段4)解决软件危机的途径(
5、1)加强软件开发过程的管理。(2)推广使用开发软件的成功技术与方法(3)开发和使用好的软件工具1.软件与软件工程1.2软件工程1软件工程的产生及发展2软件工程的定义及目标3软件工程学的范畴1.软件与软件工程1软件工程的产生及发展为了解决软件危机,人们在软件开发中也不断改进和发展,在50多年中计算机软件开发经历了三个发展阶段:程序设计阶段:约为50至60年代程序系统阶段:约为60至70年代软件工程阶段:约为70年代以后1.软件与软件工程最根本的变化体现在:(1)人们改变了对软件的看法。(2)软件的需求是软件发展的动力。(3)软件工作的范围从只考
6、虑程序的编写扩展到涉及整个软件生存周期。1.软件与软件工程2软件工程的定义及目标FritzBauer曾经为软件工程下了定义:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”1983年IEEE给出的定义为:“软件工程是开发、运行、维护和修复软件的系统方法”,其中,“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。1.软件与软件工程软件工程的方法、工具、过程构成了软件工程的三要素。软件工程的目标可概括为:在给定成本、进度的前提下,开发出具有可修改性、有效性
7、、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户要求的软件产品。软件工程目标之间的关系1.软件与软件工程3软件工程学的范畴软件工程学所研究的主要内容包括:软件开发技术和软件工程管理两个方面。其中:软件开发技术包含:1、软件开发方法学2、软件工具3、软件工程环境4、软件工程管理第二节软件开发过程2.软件开发过程软件工程研究的基本内容之一是对软件开发过程进行研究,并建立相应的开发过程模型。软件过程是开发和维护软件所涉及到的一系列活动和产生的结果。过程是活动的集合,活动是任务的集合,任务的作用是将输入转换为
8、输出。活动的执行可以是顺序的、迭代的、并发的、嵌套的,或者是条件触发的。软件开发本身是一个综合的、复杂的、具有创造性的过程。需要涉及到众多不同层次的开发人员,这些人
此文档下载收益归作者所有