- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 软件工程的由来
“软件工程”这个词是由NATO(North Atlantic Treaty Organization北大西洋公约组织属下的一个研究组在1967年提出的,这个研究组提议召开一次会议,专门讨论“软件所面临的问题”。1968年,由NATO科学委员会主办的这次会议在德国加米施(Garmish)召开,会议提交的报告就被命名为《软件工程》 。
1968年NATO提出软件工程的概念,倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的软件危机。
2 软件危机的定义
软件危机定义
软件危机定义:软件开发和维护过程中遇到的一系列严重问题。
软件危机包含两方面的问题:
如何开发软件,以满足对软件日益增长的需求;
如何维护数量不断膨胀的已有软件。
3 产生软件危机的原因
1、软件本身的特点
软件是个逻辑实体,不是物理实体,具有抽象性→管理和控制软件困难
软件规模庞大→软件开发困难
软件故障是在开发过程中产生而在测试时没有发现的问题→软件故障修改困难
软件维护会产生新的错误→软件维护困难
2、人为因素,软件开发和维护的方法不正确
1)软件开发技术落后、生产方式落后、开发工具落后
2)对用户要求没有完整准确认识就匆忙着手编写程序
3)只重视程序而忽视软件配置其余成分:
4)轻视维护:维护费用占软件总费用的55%-70%
4 软件危机的消除
缓解软件危机的途径
1、更新观念:采用工程化的方法和途径来开发与维护软件
2、汲取系统工程的理念,采用必要的组织管理和技术管理措施
3、应该不断地发现、完善、推广、使用再实践中总结出来的开发软件的成功的技术和方法。
4、开发和使用更好的软件工具,提高软件生产率。
5 软件工程、软件过程的定义
软件工程
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件过程
为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
6 软件工程的目标
软件工程是一门工程性的学科,软件工程的目标是成功地构造一个大型软件系统。所谓成功是指达到以下标准:
有较低的开发成本。
能达到用户所要求的软件功能。
有很好的软件性能。
软件有较好的可移植性、稳定性、健壮性和可靠性。
有较好的可维护性,较低的维护成本。
能按计划规定的进度开发,及时交付使用。
7 软件过程与软件工程方法学关系
目前使用得最广泛的软件工程方法学可以分为
传统方法学
面向数据流设计方法
面向数据结构设计方法。
面向对象方法学
软件过程是软件工程方法学的三个要素(方法、工具和过程)之一。软件过程必须科学、合理才能获得高质量的软件产品。
8 软件工程基本原理
用分阶段的生命周期计划严格管理
坚持进行阶段评审
实行严格的产品控制
采用现代程序设计技术
结果应能清楚地审查
开发小组的人员应该少而精
承认不断改进软件工程实践的必要性
9 软件生命周期各阶段的任务
(1)问题定义
确定系统的目标、规模和基本任务。
(2)可行性研究
从经济、技术、法律等方面分析确定系统是否值得开发,及时建议停止项目开发,避免人力、物力、时间的浪费。
(3)需求分析
确定软件系统应具备的具体功能。通常用数据流图、数据字典和简明算法描述表示系统的逻辑模型,防止系统的设计与用户的实际需求不相符的后果。
(4)概要设计
确定系统设计方案,软件的体系结构。确定软件由哪些模块组成以及这些模块之间的相互关系。
(5)详细设计
描述应该如何具体地实现系统。详细设计每个模块,确定实现模块所需要的算法和数据结构。
(6)软件实现阶段
进行程序设计(编码)和模块测试。
(7)综合测试阶段
通过各种类型的测试,查出软件设计中的错误并改正,确保软件质量;还要在用户的参与下进行验收,才可交付使用。
(8)软件运行、维护
软件运行期间,通过各种必要的维护使系统改正错误、或修改扩充功能使软件适应环境变化,以便延长软件的使用寿命,提高软件的效益。每次维护的要求及修改步骤都应详细准确地记录下来,作为文档保存。
10 软件开发模型
瀑布模型
快速原型模型(Rapid Prototype Model)
增量模型
喷泉模型
螺旋模型 (Spiral Model)
RUP(统一过程)
11 CASE的定义
在软件工程活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,称为计算机辅助软件工程CASE (Computer-Aided Software Engineering)。
第2章 软件计划
1可行性研究的内容
经济可行性 :进行成本∕效益分析。从经济角度判断系统开
文档评论(0)