欢迎来到天天文库
浏览记录
ID:46570247
大小:1.23 MB
页数:264页
时间:2019-11-25
《第10章 软件工程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第10章软件工程10.1软件工程概述10.2问题定义与可行性研究10.3软件的需求分析10.3.1需求分析概述10.3.2结构化分析方法10.3.3数据流图10.3.4数据字典10.4软件的设计10.4.1软件设计概述10.4.2软件设计准则10.4.3结构化设计方法10.4.4详细设计方法10.4.5面向对象的程序设计方法10.5软件的编程10.6软件的测试10.6.1软件测试概述10.6.2测试用例的设计10.6.3测试实例的设计10.6.4软件的调试10.7软件的维护习题10.1软件工程概述1.软件与软件危机软件是由计算机程序演变而形成的一种概念。程序是按既定算法
2、,用某种计算机语言规定的指令或语句编写的指令或语句的集合。软件是程序再加上程序实现和维护程序时所必需的文档的总称。软件是程序和程序设计发展到规模化和商品化后所逐渐形成的概念。随着计算机技术的迅速发展,计算机软件在计算机系统中占有越来越重要的地位。在软件需求量迅速增加,规模日益增长的情况下,计算机软件的开发和维护过程中遇到了一系列严重问题。如软件开发的复杂度大大上升,导致大型软件的开发费用经常超出预算,完成时间也常常超期,同时,软件可靠性随规模的增长而下降,质量保证也越来越困难,即产生了软件危机。软件危机主要有以下几种表现:(1)不能准确估计软件开发的成本与进度;(2)用
3、户对“已完成的”软件系统经常不满意;(3)软件产品质量往往靠不住;(4)软件难以维护;(5)软件无完整的文档,无法用以管理和控制软件的开发和维护;(6)软件费用急剧上升;(7)软件生产效率低,供不应求。2.软件工程“软件工程”一词是1968年北大西洋公约组织(NATO)在联邦德国召开的一次会议上首次提出的。它的中心思想是把软件当作一种工业产品,而不是某种个体或小作坊的神秘技巧,要求“采用工程化的原理与方法对软件进行计划、开发和维护”。这样做的目的,不仅是为了实现按预期的速度和经费完成软件生产计划,也是为了提高软件的生产率与可靠性。软件工程是从技术(方法和工具)和管理两方
4、面研究如何更好地开发和维护计算机软件的一门新兴学科。软件工程是一门交叉学科,涉及到计算机科学、管理科学、工程学和数学。凡是计算机科学中的成果均可用于软件工程,但计算机科学着重于理论研究,如自动机理论、形式语言理论、编译原理、数据库原理、操作系统原理、人工智能原理等,而软件工程着重于具体软件系统的研制和建立。软件工程的理论、方法、技术都是建立在计算机科学的基础上,它是用管理学的原理、方法来进行软件生产管理;用工程学的观点来进行费用估算,制定进度和方案;用数学的方法来建立软件可靠性模型以及分析各种算法和性质。软件工程研究的对象是大型软件系统的开发过程,它研究的内容是生产流程
5、、各生产步骤的目的、任务、方法、技术、工具、文档和产品规格。软件是一种逻辑产品,与物质产品有很大差别,它看不见,摸不着,具有无形性,是脑力劳动的结晶。它以程序和文档形式存在,通过计算机来体现它的作用,在研制过程中,能见度差,这给开发过程的管理带来极大的困难,进度难以控制,质量难以保证。因此,软件生产的管理也是软件工程的一个重要研究领域,大型软件开发过程的管理是一件非常复杂的事情,因此,管理不当也会导致软件开发的失败。软件生产的管理包括开发人员的层次结构和组织方式、开发进度的控制、软件质量的保证、开发费用的估算和管理、软件开发文档的管理等。目前,在国际上制定了若干关于软件
6、工程的技术标准,我国也制定了相应的国家标准,如GB8655《计算机软件开发规范》,GB8567《计算机软件产品开发文件编制指南》,GB1526《信息处理——数据流程图、程序流程图、系统流程图的文件编制符号及约定》等。这些标准的制定对软件工程的发展,对软件生产和文档编制起了很大作用。3.软件生存周期软件生存周期的概念是从工业中产品生存周期的概念借用过来的。一种产品从定货开始,经过设计、制造、调试、使用维护,直到该产品淘汰为止,这就是所谓的产品生存周期。图10-1瀑布模型软件生存周期是从用户提出开发要求开始,直到该软件报废为止的这段时间,可分为3个时期:计划期、开发期和运行
7、期。计划期又分为问题定义和可行性研究两个阶段;开发期分为4个阶段:需求分析阶段、设计阶段(总体设计、详细设计)、编码阶段和测试阶段;运行期即维护阶段。各阶段的工作按顺序开展,图10-1是这种软件生存周期的模型示意图,由于其形状似多级瀑布,常称为“瀑布模型”。10.2问题定义与可行性研究1.问题定义问题定义阶段的任务是要确定软件系统所要解决的任务。分析人员在与用户和部门负责人交流之后,应提出关于问题性质、工程目标和规模的书面报告,即软件系统目标与范围的说明。为了成功地完成问题定义阶段的任务,需要硬件人员和软件人员的共同参与,这一阶段是软件生
此文档下载收益归作者所有