- 1、本文档共1463页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
软件工程
第一章:软件工程概述
n人类社会已经跨入了21世纪,计算机系
统已经渗入人类生活的各个领域,同时
计算机软件已经发展成为当今世界最重
要的技术领域。研究软件本身则产生了
一门重要的学科就是软件工程。软件工
程的研究领域包括软件的开发方法、软
件的生命周期以及软件的工程实践等。
第一章:软件工程概述
n1.1软件危机与软件工程的起源
n1.2软件工程
n1.3软件工程包含的领域
n1.4小结与习题
1.1.1计算机系统的发展历程
n早期(20世纪60年代中期以前):通用硬件已经相当
普遍,软件却是为每个具体应用而专门编写的,大多
数人认为软件开发是无须预先计划的事情。这时的软
件实际上就是规模较小的程序,程序的编写者和使用
者往往是同一个(或同一组)人。由于规模小,程序
编写起来相当容易,也没有什么系统化的方法,对软
件开发工作更没有进行任何管理。这种个体化的软件
环境,使得软件设计往往只是在人们头脑中隐含进行
的一个模糊过程,除了程序清单之外,根本没有其他
文档资料保存下来。
n第二代(20世纪60年代中期到70年代中期):
在这10年中计算机技术有了很大进步。多道程
序、多用户系统引入了人—机交互的新概念,
开创了计算机应用的新境界,使硬件和软件的
配合上了一个新的层次。实时系统能够从多个
信息源收集、分析和转换数据,从而使得进程
控制能以毫秒而不是分钟来进行。在线存储技
术的进步导致了第一代数据库管理系统的出现
。
软件作坊
n“软件作坊”是计算机系统发展的第二
代的重要特征。但是,“软件作坊”基
本上仍然沿用早期形成的个体化软件开
发方法。
n随着计算机应用的日益普及,软件数量
急剧膨胀。在程序运行时发现的错误必
须设法改正;用户有了新的需求时必须
相应地修改程序;硬件或操作系统更新时
,通常需要修改程序以适应新的环境。
n上述种种软件维护工作,以令人吃惊的
比例耗费资源。更严重的是,许多程序
的个体化特性使得它们最终成为不可维
护的。“软件危机”就这样开始出现了
。1968年北大西洋公约组织的计算机科
学家在联邦德国召开国际会议,讨论软
件危机问题,在这次会议上正式提出并
使用了“软件工程”这个名词,一门新
兴的工程学科就此诞生了。
1.1.2软件危机介绍
n软件危机是指在计算机软件的开发和维
护过程中所遇到的一系列严重问题。这
些问题绝不仅仅是不能正常运行的软件
才具有的。实际上,几乎所有软件都不
同程度地存在这些问题。概括地说,软
件危机包含下述两方面的问题:如何开
发软件,以满足对软件日益增长的需求
;如何维护数量不断膨胀的已有软件。
n鉴于软件危机的长期性和症状不明显的
特征,近年来有人建议把软件危机更名
为“软件萧条(depression)”或“软件
困扰(affliction)”。不过“软件危机”
这个词强调了问题的严重性,而且也已
为绝大多数软件工作者所熟悉,所以本
书仍将沿用它。
软件危机的特征表现
n1对软件开发成本和进度的估计常常很不准确。
n2用户对“已完成的”软件系统不满意的现象经
常发生。
n3软件产品的质量往往靠不住。
n4软件常常是不可维护的。
n5软件通常没有适当的文档资料。
n6软件成本在计算机系统总成本中所占
的比例逐年上升。
n7软件开发生产率提高的速度,既跟不上
硬件的发展速度,也远远跟不上计算机
应用迅速普及深入的趋势。
n以上列举的仅仅是软件危机的一些明显
的表现,与软件开发和维护有关的问题
远远不止这些。
1.1.3产生软件危机的原因
n在软件开发和维护的过程中存在这
么多严重问题,一方面与软件本身
的特点有关,另一方面也和软件开
发与维护的方法不正确有关。
n软件不同于硬件,它是计算机系统
中的逻辑部件而不是物理部件。
n软件不同于一般程序,它的一个显著特
点是规模庞大,而且程序复杂性将随着
程序规模的增加而呈指数上升。
n软件本身独有的特点确实给开发和维护
带来一些客观困难,但是人们在开发和
使用计算机系统的长期实践中,也确实
积累和总结出了许多成功的经验。
1.1.4消除软件危机的途径
n1.技术措施
使用更好的软件开发技术、开发工具、开
发工具。
n2.组织管理措施
(1)创造良好的组织、严密的管理与协调
工作的机制软件开发不是某种个体劳动
的神秘技巧,而应该是一种组织良好、
管理严密、各类人员协同配合、共同完
成的工程项目。
(2)摆脱软件危机的主要出路是,按工程
化的原则和方法组织软件
文档评论(0)