- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 软件与软件工程
1. 软件
2. 软件工程
3. 软件生存周期
4. 软件开发模型
5. CASE
1.1 软件——定义、组成
软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的文档及数据。
组成:
程序及有关数据:机器可执行。
程序是用程序设计语言描述的、适于计算机处理的语句序列。机器语言、汇编、高级语言、4GL
文档:机器不可执行。
与软件开发、运行、维护、使用和培训有关的文档。
企业级文档:规范、标准、指南……
项目级文档:需求说明书、用户使用说明书……
1.1 软件——软件的特点
逻辑产品:无形
软件生产主要是脑力劳动、手工开发、定制,更依赖于人的素质、智力、组织、合作和管理。
不会用坏、磨损。但会退化(修改引起退化)。
软件产品生产主要是研制、复制简单。
开发费用高。
复制成本很低。
维护成本高。
1.1 软件——软件的分类
系统软件
实时软件
嵌入式软件
科学和工程计算软件
事务处理软件
人工智能软件
个人计算机软件
CASE工具软件
1.1 软件——软件发展
程序设计时代(1946~1956)
硬件特征:价格贵、存储容量小、运行可靠性差。
软件特征:只有程序、程序设计概念,不重视程序设计方法。规模小、机器语言、追求技巧和效率、难读、难懂、难修改。
程序系统时代( 1956~1968)
硬件特征:速度、容量提高,价格降,销售爆炸性增长
软件特征:作坊式生产、提出结构化方法、高级语言、依赖个人技巧、缺乏规范和理论指导;产生“软件危机”。
软件工程时代( 1968~今)
硬件特征:超高速、大容量、微型化、网络化
软件特征:出现软件工程。未能完全摆脱“软件危机”。
1.1 软件——软件危机
软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题:
1. 如何开发软件,以满足对软件的日益增长的需求。
2. 如何维护数量不断膨胀的已有软件。
产生于第二阶段末期
硬件性价比↑应用范围、量↑——〉软件需求↑规模↑
软件开发技术落后、低产量、低质量——〉软件危机
1.1 软件——软件危机的表现
对软件开发成本和进度的估计不准确。
不能完全满足需求、用户不满意。
软件质量不高、可靠性差。
软件缺乏适当的文档。
可维护性差。
软件开发速度跟不上计算机应用发展的速度
1.1 软件——软件危机的原因
软件规模日渐庞大。
软件开发的管理困难。
开发人员错误的观念、方法和技术。
开发个体化:重编程、轻需求。
开发技术落后。
生产方式落后。个体手工方式。
开发工具落后。
克服危机的途径:
软件工程:工程化、技术和管理
程序设计方法学:程序正确性证明 ……
1.2 软件工程——概念
1968年在NATO召开的国际会议上正式提出“软件工程”术语。
软件工程的定义
软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
层次:围绕质量目标的过程、方法和工具。
软件工程的性质
软件工程是一门综合性的交叉学科,它涉及哲学、计算机科学、工程科学、管理科学、数学和应用领域知识。
1.2 软件工程——目标和原则
软件工程的目标:P9
软件工程的原则:P11。 为了达到目标必须遵守的原则。
1.2 软件工程——内容
软件开发技术:开发方法、开发过程、开发工具和环境
软件开发管理:软件管理学、软件经济学、软件心理学
1.2 软件工程——基本原理
目前有100多条关于软件工程的准则,其中最出名的是著名软件工程专家B.W.Boehm在1983年提出的7条基本原理。
1.2 软件工程——基本原理1、2
1. 用分阶段的生存周期计划严格管理
经统计表明,不成功的软件项目中有一半左右是由于计划不周造成的。
Boehm认为,在软件的整个生存周期中应制定并严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。
2. 坚持进行阶段评审
大部分错误是在编码之前造成的
错误发现与改正得越晚,所需付出的代价越高。
因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程的错误
1.2 软件工程——基本原理3
3. 实行严格的产品控制
在软件开发过程中不要随意改变需求,因为改变某项需求往往需要付出较高的代价,但在实践中用户往往会提出需求变更,因此需要采取科学的产品控制技术。
目前主要实行基准配置管理:基准配置是指经过阶段评审后的软件配置成分,如各个阶段产生的文档或程序代码。
对涉及基准配置的修改,必须经过严格的评审,通过后才能实施修改。
1.2 软件工程——基本原理4、5
4. 采用现代程序设计技术
实践表明:采用先进的技术既可提高软件开发的效率,
文档评论(0)