- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
软件工程
2
2
总目录
第1章软件工程概述第2章可行性研究
第3章需求分析
第4章形式化说明技术
第5章总体设计第6章详细设计第7章实现
第8章维护
第9章面向对象方法学引论第10章面向对象分析
第11章面向对象设计第12章面向对象实现
第13章软件项目管理
3
3
参考书目
软件工程:实践者的研究方法(第五版)
梅宏等译
机械工业出版社
OOD启思录
ArthurJ.Riel
人民邮电出版社
重构—改善既有代码的设计
MartinFowler
中国电力出版社
实用软件工程
郑人杰
清华大学出版社
参考网站
软件工程组织
软件工程教学网
/rjgc/index.htm
华中科技大学软件工程教学网
http://8:8088/ec/C161/Course/Index.htm
软件工程实验(麻省理工学院开放式课程)
/Ocw_CN/Electrical-Engineering-and-Computer-Science/6-
170Laboratory-in-Software-
EngineeringFall2001/CourseHome/index.htm
4
5
5
第1章软件工程概述
1.0软件
1.1软件危机
1.2软件工程
1.3软件生命周期
1.4软件过程
1.5小结习题
6
6
1.0软件
1.0.1软件的概念
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。
程序是按事先设计的功能和性能要求编写的指令序列;
数据是使程序能正常操纵信息的数据结构;
文档是与程序开发、维护和使用有关的图文材料。
7
7
1.0.2软件的特点
软件是一种逻辑实体。
软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造,是一个复杂的过程。
软件维护与硬件的维修有着本质的差别。
软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制,成本非常高昂。
8
8
1.0.3软件的分类
1.基于软件功能的划分
系统软件应用软件支撑软件
2.基于软件工作方式的划分
实时处理软件分时软件
交互式软件
批处理软件
9
9
1.1软件危机
计算机系统已经经历了四个不同的发展阶段:
e20世纪60年代中期以前,第一代,个体化。
e从20世纪60年代中期到70年代中期,第二代,小作坊。
e20世纪70年代中期到80年代中期,第三代,软件工程阶段。
e从20世纪80年代中期至今,第四代,软件产业在世界经济中已经占有举足轻重的地位。
10
10
1.1.1软件危机的含义
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。(20世纪60年代末70年代初)
这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。
11
11
1.1.2软件危机的表现
对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
12
12
1.1.3产生软件危机的原因
在软件开发和维护的过程中存在这么多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有
关。
图
图1.1引入同一变动付出的代价随时间变化的趋势
13
14
14
1.1.4消除软件危机的途径
首先应该对计算机软件有一个正确的认识。
应该推广使用在实践中总结出来的开发软件的成功的技术和方法
研究探索更好更有效的技术和方法
应该开发和使用更好的软件工具。
软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学
科。
15
15
1.2软件工程
1.2.1什么是软件工程?
概括地说,软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原
理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
16
16
其他的定义1
1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义:
软件工程就是为了经济地获得可靠的且能在
文档评论(0)