软件工程概述18682

软件工程概述18682

ID:20290251

大小:356.00 KB

页数:14页

时间:2018-10-12

软件工程概述18682_第1页
软件工程概述18682_第2页
软件工程概述18682_第3页
软件工程概述18682_第4页
软件工程概述18682_第5页
资源描述:

《软件工程概述18682》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章软件工程概述计算机软件是整个计算机系统中具体实现各种功能和操作的核心部分。软件工程采用工程的概念、原理、技术和方法来开发和维护计算机软件,将工程管理技术的成功经验和思想与具体的软件开发过程、研究技术相结合,形成一整套适合于计算机软件开发的方法、规范和技术。因此,软件工程这门课程,对于从事软件开发研究的专业人员,特别是高层次的管理、分析、开发人员,显得比以往更加重要。本章主要介绍软件工程的发展背景、软件工程学的范畴、软件工程的基本目标等。1.1软件发展和软件危机1.1.1软件的定义和发展自从世界出现第一

2、台计算机到目前,软件的开发与研究经历了几十年的发展。对于计算机软件,有多种不同的定义,但一般可以理解为“软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档”。根据发展历程,可以分为4个阶段,如图1-1所示。(1)程序设计阶段,约为20世纪五六十年代。(2)程序系统阶段,约为20世纪六七十年代。(3)软件工程阶段,约为20世纪70年代以后。(4)面向对象软件工程阶段,约为20世纪80年代以后。图1-1软件的发展软件发展过程最根本的变化体现在以下几个方面

3、:(1)人们改变了对软件的看法。14在20世纪五六十年代时,程序设计曾经被看做一种任人发挥创造才能的技术领域。当时人们认为,程序运行后只要能在计算机上得出正确的结果,程序的写法可以不受任何约束。随着计算机的使用范围日趋广泛,人们要求这些程序易懂、易使用,并且容易修改和扩充。于是,程序便从按个人意图创造的“艺术品”转变为能被广大用户接受的工程化产品。(2)软件的需求是软件发展的动力。早期的程序开发只是为了满足开发者自己的需要,这种自给自足的生产方式是其低级阶段的表现。进入软件工程阶段后,软件开发的成果具有社会

4、属性,它要在市场中流通以满足广大用户的需要。(3)软件工作的考虑范围从只顾及程序的编写扩展到涉及整个软件生存周期。1.1.2软件危机过程20世纪60年代后期,随着计算机应用的日益普及,软件数量急剧膨胀,众多因素导致在软件的开发过程中,所开发的软件产品质量低下,众多软件无法满足用户需求,软件的可维护性差,以至于问题不断堆积,形成日益尖锐的矛盾,通常人们将这些现象通称为“软件危机”。为此,NATO的一个研究小组于1967年提出了“软件工程”概念,并于1968年北大西洋公约组织在联邦德国召开的计算机科学家国际会议

5、上得到签署,与会人员得出结论:软件工程应当使用已经建立的工程科学的基本原理和范型来解决“软件危机”。软件工程学由此产生。1.软件危机的主要表现软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是“不能正常运行的”软件才具有的,实际上几乎所有软件都不同程度地存在这些问题。概括地说,软件危机包含下述两方面的问题:如何开发软件来满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。具体地说,软件危机主要有下述一些表现形式:(1)对软件开发成本和进度的估计常常很不准确。实际成本

6、比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这种现象降低了软件开发组织的信誉。而为了赶进度和节约成本所采取的一些权宜之计又往往降低了软件产品的质量,从而不可避免地会引起用户的不满。(2)用户对“已完成的”软件系统不满意的现象经常发生。软件开发人员常常在对用户要求只有模糊的了解,甚至对所要解决的问题还没有确切认识的情况下,就仓促上阵,匆忙着手编写程序。软件开发人员和用户之间的信息交流往往很不充分,“闭门造车”必然导致最终的产品不符合用户的实际需要。(3)软件产品的质量往

7、往靠不住。软件可靠性和质量保证的确切的定量概念刚刚出现不久,软件质量保证技术(审查、复审和测试)还没有完全地应用到软件开发的全过程中,这些都导致软件产品发生质量问题。(4)软件常常是不可维护的。很多程序中的错误是非常难改正的,实际上不可能使这些程序适应新的硬件环境,也不能根据用户的需要在原有程序中增加一些新的功能。“可重用的软件”还是一个没有完全做到的、正在努力追求的目标,人们仍然在重复开发类似的或基本类似的软件。(5)软件通常没有相关的文档资料。计算机软件不仅仅是程序,还应该有一整套文档资料。这些文档资料

8、应该是在软件开发过程中产生出来的,而且应该是“最新式的”(即和程序代码完全一致的)。软件开发组织的管理人员可以使用这些文档资料作为“里程碑”14,来管理和评价软件开发工程的进展状况;软件开发人员可以利用它们作为通信工具,在软件开发过程中准确地交流信息;对于软件维护人员而言,这些文档资料更是至关重要、必不可少的。缺乏必要的文档资料或者文档资料不合格,必然给软件开发和维护带来许多严重的困难和问题。(6)软件成本在计算

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。