第7章 软件工程

第7章 软件工程

ID:40222390

大小:427.50 KB

页数:34页

时间:2019-07-27

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

《第7章 软件工程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章软件工程学习目标了解软件危机、软件工程的概念、软件的生命周期掌握软件开发模型和软件开发方法第7章软件工程7.1软件工程概述7.1.1什么是软件1.软件概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发,维护和使用有关的图文材料7.1软件工程概述7.1.1什么是软件2.软件的特点(1)软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性(2)软件的生产与硬件不同,在它的开发过程中没有明

2、显的制造过程(3)在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题(4)软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性7.1软件工程概述7.1.1什么是软件2.软件的特点(5)软件的开发至今尚未完全摆脱手工艺的开发方式(6)软件本身是复杂的实际问题的复杂性程序逻辑结构的复杂性(7)软件成本相当昂贵(8)相当多的软件工作涉及到社会因素7.1软件工程概述7.1.2软件危机1.软件危机概念:大型软件开发和维护过程中遇到的一系列严重问题。表现形式:质量难以保证、开发成本和开发进度难以控制、维护非常困难、用户

3、不满意。2.软件危机产生的原因:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发的管理困难。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。7.1.2软件危机3.软件危机的表现形式(1)软件的质量难以保证。(2)软件开发成本和开发进度难以控制。(3)软件的维护非常困难。(4)用户对“已完成”的软件系统不满意。7.1.3软件工程的基本概念1.软件工程基本概念1968年北大西洋公约组织(NATO)的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提

4、出并使用了“软件工程”这个名词,在此以后,软件开发逐步采用软件工程方法。软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。7.1.3软件工程的基本概念2.软件工程的7条基本原理(1)用分阶段的生命周期计划进行严格管理。(2)坚持进行阶段评审。(3)实行严格的产品控制。(4)采用现代程序设计技术。(5)结果应能清楚地审查。(6)开发小组的人员应该少而精。(7)承认不断改进

5、软件工程实践的必要性。7.1.3软件工程的基本概念3.软件工程的目标软件工程的目标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可复用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需要的软件产品。7.1.3软件工程的基本概念4.软件工程的内容软件工程研究的主要内容包括软件开发技术和软件开发管理两个方面。在软件开发技术中,它主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,它主要研究软件管理学、软件经济学和软件心理学等。5.软件工程面临的问题软件工程有许多需要解决的

6、棘手问题,如软件费用、软件可靠性、软件可维护性、软件生产率和软件复用等。(1)软件费用。(2)软件可靠性。(3)软件可维护性。(4)软件生产率。(5)软件复用。7.1.4软件生命周期一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存期的六个步骤,即制定计划、需求分析、设计、程序编码、测试及运行维护瀑布模型制定计划确定要开发软件系统的总目标给出功能、性能、可靠性以及接口等方面的要求完成该软件任务的可行性研究估计可利用的资源(硬件,软件,人力等)、成本、效益、开发进度制定出完成开发任务的实施计划,连同可行性研究报告,提交管

7、理部门审查需求分析和定义对用户提出的要求进行分析并给出详细的定义编写软件需求说明书或系统功能说明书及初步的系统用户手册提交管理机构评审软件设计概要设计—把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应详细设计—对每个模块要完成的工作进行具体的描述,为源程序编写打下基础编写设计说明书,提交评审。程序编写把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”写出的程序应当是结构良好、清晰易读的,且与设计相一致的软件测试单元测试,查找各模块在功能和结构上

8、存在的问题并加以纠正组装测试,将已测试过的模块按一定顺序组装起来按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用运行/维护改正性维护运行中发现了软件中的错误需要修正适应性维护为了适应变化了的软件工作环境

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

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

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