欢迎来到天天文库
浏览记录
ID:38323632
大小:519.05 KB
页数:53页
时间:2019-06-10
《数据结构-软件工程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章软件工程9.1软件工程概述9.2问题定义与可行性研究9.3软件的需求分析9.4软件的设计9.5软件的编程9.6软件的测试9.7软件的维护9.1软件工程概述1.软件与软件危机软件危机的产生:软件开发的复杂程度上升;大型软件的开发费用经常超出预算;完成时间常常超期;软件可靠性随规模的增长而下降;软件质量难以保证。2.软件工程软件工程研究的对象是大型软件系统的开发过程,它是一门交叉学科,涉及到计算机科学、管理科学、工程学和数学。“软件工程”的中心思想是把软件当作一种工业产品,要求“采用工程化的原理与方法对软件进行计划、开发和维
2、护”。关键问题:质量、可靠性、开发速度、经费。软件工程是从技术(方法和工具)和管理两方面研究如何更好地开发和维护计算机软件的一门新兴学科。3.软件生存周期软件生存周期的概念是从工业中产品生存周期的概念借用过来的。软件生存周期是从用户提出开发要求开始,直到该软件报废为止的这段时间,可分为3个时期:计划期、开发期和运行期。计划期又分为问题定义和可行性研究两个阶段;开发期分为4个阶段:需求分析阶段、设计阶段(总体设计、详细设计)、编码阶段和测试阶段;运行期即维护阶段。软件生存周期的模型示意图—“瀑布模型”9.2问题定义与可行性研究1
3、.问题定义问题定义阶段的任务是要确定软件系统所要解决的任务。目标:提出关于问题性质、工程目标和规模的书面报告,即软件系统目标与范围的说明。2.可行性研究目的:用最小的代价确定在问题定义阶段确定的系统目标和规模是否现实,所确定的问题是否可以解决,系统方案在经济上、技术上和操作上是否可以接受。重点关注:①经济可行性。估计开发费用以及新系统可能带来的收益,将两者进行权衡,看结果是否可以接受。②技术可行性。对要求的功能、性能以及限制条件进行分析,看是否能够做成一个可接受的系统。所考虑的因素通常还应包括开发的风险,是否能够得到需要的软件
4、和硬件资源,以及一个熟练的、有能力的开发队伍,另外与系统开发有关的技术是否足以支持系统的研制。③操作可行性。判断系统的操作方式在该用户组织内是否可行。9.3软件的需求分析9.3.1需求分析概述软件的需求分析是开发期的第一个阶段。基本任务:用户和分析人员双方共同来理解系统的需求,并将共同理解形成一份文件,即软件需求说明书。需求说明书中描述的用户要求应该是一致的、无二义性的。特点:面向用户问题:主要对用户的业务活动进行分析(而不是计算机软件结构或程序设计语言),明确在用户的业务环境中软件系统应该“做什么”。交流问题:用户只熟悉本身
5、的业务活动和业务环境,不熟悉计算机技术;而开发人员恰恰相反。复杂度问题:对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能要求,需要经过多次长时间的讨论才能逐步精确、完善。9.3.2结构化分析方法(SA,StructuredAnalysis)SA方法的主导思想:采用“分解”和“抽象”的基本手段,自顶向下逐层分解,使复杂的问题得以有效地控制。主要描述工具:数据流图和数据字典。数据流图表示了软件的信息流向和信息的加工;数据字典是对这些信息和加工进行更详细的描述。SA方法与设计阶段的SD方法联合使用,能够较好地实现一个软件
6、系统的研制。9.3.3数据流图数据流图是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出以及把逻辑输入转换为逻辑输出所需要的加工。1.数据流图的组成数据流图由四种基本成分组成,如下图所示:(3)数据存储。它是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据流表现的是动态数据特征;而数据存储表现的是静态数据特征。(4)源点和终点。表达不必很严格,它只是起到注释作用,补充说明系统与其它外界环境的联系。示例:学生档案管理系统数据流图2.数据流图的结构复杂软件系统的数据流图通常采用分层的方式进行描述,
7、分别为顶层、中间层和底层数据流图:(1)顶层。决定系统的范围、输入输出数据流,说明了系统的边界,把整个系统的功能抽象为一个加工。顶层数据流图只有一张,如下图所示。(2)中间层。顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。(3)底层。底层数据流图的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。在画各层数据流图时,要注意父图与子图的平衡,各层数据流图及其加工的编号和数据守恒问题。9.3.4数据字典SA方法使用数据字典对数据流图描述的各个成分进行详细说明
8、。数据字典是SA方法重要工具之一,与数据流图配套,缺一不可。数据字典中有四种条目:数据流、数据存储、数据项和基本加工。(数据流图中的非基本加工、源点、终点都不必描述)数据字典的作用:建立一组一致的定义,避免模块接口和系统接口的不一致性。1.符号约定(1)“+”表示与。例如:登
此文档下载收益归作者所有