【软件工程教案】软件工程概述.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 软件工程概述 一、复习要求 1. 了解软件概念、特点及分类方法。 2. 了解软件发展及软件危机的起因。 3. 了解软件工程过程及软件生存期的概念。 4. 了解软件工程的概念及其要素。 5. 了解软件工程的基本目标和原则。 二、内容提要 1. 软件的概念、特点 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 软件的特点是: (1) 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。 (2) 软件的生产与硬件不同,它没有明显的制造过程。对软件的质量控制,必须着重在软件开发方面下功夫。 (3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。任何机械、电子设备在运行和使用中,其失效率大都遵循如图1.1(a)所示的U型曲线(即浴盆曲线)。而软件的情况与此不同,因为它不存在磨损和老化问题。然而它存在退化问题,必须要多次修改(维护)软件,如图1.1(b)所示。 图1.1 失效率曲线 (4) 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。为了解除这种依赖性,在软件开发中提出了软件移植的问题。 (5) 软件的开发至今尚未完全摆脱手工艺的开发方式。 (6) 软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。 (7) 软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。 (8) 相当多的软件工作涉及到社会因素。许多软件的开发和运行涉及机构、体制及管理方式等问题,甚至涉及到人的观念和人们的心理。它直接影响到项目的成败。 2.软件的分类 (1) 按软件的功能进行划分: ·系统软件: 能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软件。例如,操作系统、数据库管理系统、设备驱动程序以及通信处理程序等。 ·支撑软件: 是协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件产品的工具,也包括帮助管理人员控制开发的进程的工具。 ·应用软件: 是在特定领域内开发,为特定目的服务的一类软件。 (2) 按软件规模进行划分: 按开发软件所需的人力、时间以及完成的源程序行数,可确定六种不同规模的软件。 表1.1软件规模的分类 类别 参加人员数 研制期限 产品规模(源程序行数) 微型 1 1~4周 0.5k 小型 1 1~6月 1k~2k 中型 2~5 1~2年 5k~50k 大型 5~20 2~3年 50k~100k 甚大型 100~1000 4~5年 1M(=1000k) 极大型 2000~5000 5~10年 1M~10M 规模大、时间长、很多人参加的软件项目,其开发工作必须要有软件工程的知识做指导。而规模小、时间短、参加人员少的软件项目也得有软件工程概念,遵循一定的开发规范。其基本原则是一样的,只是对软件工程技术依赖的程度不同而已。 (3) 按软件工作方式划分: ·实时处理软件: 指在事件或数据产生时,立即予以处理,并及时反馈信号,控制需要监测和控制的过程的软件。主要包括数据采集,分析,输出三部分。 ·分时软件: 允许多个联机用户同时使用计算机。 ·交互式软件: 能实现人机通信的软件。 ·批处理软件: 把一组输入作业或一批数据以成批处理的方式一次运行,按顺序逐个处理完的软件。 (4) 按软件服务对象的范围划分: ·项目软件: 也称定制软件,是受某个特定客户(或少数客户)的委托,由一个或多个软件开发机构在合同的约束下开发出来的软件。例如军用防空指挥系统、卫星控制系统。 ·产品软件: 是由软件开发机构开发出来直接提供给市场,或是为千百个用户服务的软件。例如,文字处理软件、文本处理软件、财务处理软件、人事管理软件等。 (5) 按使用的频度进行划分: 有的软件开发出来仅供一次使用。例如用于人口普查、工业普查的软件。另外有些软件具有较高的使用频度,如天气预报软件。 (6) 按软件失效的影响进行划分: 有的软件在工作中出现了故障,造成软件失效,可能给软件整个系统带来的影响不大。有的软件一旦失效。可能酿成灾难性后果。例如财务金融、交通通信、航空航天等软件。我们称这类软件为关键软件。 3.软件的发展和软件危机 自20世纪40年代中出现了世界上第一台计算机以后,就有了程序的概念。其后经历了几十年的发展,计算机软件经历了三个发展阶段: ·程序设计阶段,约为50至60年代 ·程序系统阶段,约为60至70年代 ·软件工程阶段,约为70年代以后 几十年来最根本的变化体现在: (1) 人们改变了对软件的看法。5

文档评论(0)

精品资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档