[计算机软件及应用]第六章 软件工程基础1107

上传人:繁星 文档编号:88359199 上传时间:2019-04-25 格式:PPT 页数:56 大小:824KB
返回 下载 相关 举报
[计算机软件及应用]第六章  软件工程基础1107_第1页
第1页 / 共56页
[计算机软件及应用]第六章  软件工程基础1107_第2页
第2页 / 共56页
[计算机软件及应用]第六章  软件工程基础1107_第3页
第3页 / 共56页
[计算机软件及应用]第六章  软件工程基础1107_第4页
第4页 / 共56页
[计算机软件及应用]第六章  软件工程基础1107_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《[计算机软件及应用]第六章 软件工程基础1107》由会员分享,可在线阅读,更多相关《[计算机软件及应用]第六章 软件工程基础1107(56页珍藏版)》请在金锄头文库上搜索。

1、第6章 软件工程基础,2019/4/25,第六章 软件工程基础,2,主要内容,6.1软件工程的基本概念 6.1.1 软件危机与软件工程 6.1.2 软件生存周期 6.1.3 软件生存周期模型 6.1.4 软件工程的目标与原则 6.2 软件需求分析 6.2.1 需求分析与需求分析方法 6.2.2 结构化方法 6.2.3 软件需求规格说明书 6.3 软件设计 6.3.1 软件设计的概念和原理 6.3.2 概要设计 6.3.3 详细设计,2019/4/25,第六章 软件工程基础,3,主要内容,6.4 软件测试 6.4.1 软件测试基础 6.4.2 软件测试技术与方法 6.4.3 软件测试的实施 6.

2、5 程序的调试与维护 6.5.1 程序调试的基本概念 6.5.2 软件的调试方法 6.5.3 软件的维护,2019/4/25,第六章 软件工程基础,4,6.1软件工程的基本概念,软件定义如下: (1)在运行中能提供所希望的功能和性能的指令集(即程序)。 (2)使程序能够正确运行的数据结构。 (3)描述程序研制过程和方法所用的文档。 即:软件程序数据文档,2019/4/25,第六章 软件工程基础,5,6.1.1 软件危机与软件工程,1软件危机 软件危机指的是软件开发和维护过程中遇到的一系列严重问题,主要包括:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机主要

3、表现: (1)产品不符合用户的实际需要。 (2)软件开发生产率不能满足客观需要。 (3)软件产品的质量差。 (4)对软件开发成本和进度的估计常常不准确。 (5)软件的可维护性差。 (6)软件文档资料通常既不完整,也不合格。 (7)软件的价格昂贵。,2019/4/25,第六章 软件工程基础,6,6.1.1 软件危机与软件工程,2软件工程 软件工程是指导计算机软件开发和维护的一门学科。 它采用工程的概念、原理、技术和方法,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发与维护软件 。 为了解决软件危机,既要有技术措施(包括方法和工具),又要有必要的组织管理措施。

4、 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。,2019/4/25,第六章 软件工程基础,7,6.1.2 软件生存周期,软件工程采用的生存周期方法就是从时间角度对软件的开发与维护这个复杂问题进行分解,将漫长的软件生存时期分为若干阶段,每个阶段都有其相对独立的任务,然后逐步完成各个阶段的任务。 软件生存周期一般可分为以下阶段: 问题定义、可行性研究、需求分析、 概要设计、详细设计、编码、测试 、 运行与维护。 软件生存周期也可以分为3个大的阶段: 计划阶段、开发阶段和维护阶段。,计划阶段,开发阶段,维护阶段,2019/4/25,第六章 软件工程基础,8,6.1

5、.2 软件生存周期,(1)计划阶段 计划阶段可分为两步:软件计划和需求分析。 第一步,确定工作域,即确定软件总的目标、功能等,开发这样的软件系统需要哪些资源(人力和设备),做出成本估算;而且还要求做出可行性分析;最后要提出进度安排,并写出软件计划文档。上述问题都要进行管理评审。 第二步,要确定系统定义和有效性标准(软件验收标准),写出软件需求说明书,还要开发一个初步用户手册,进行技术评审。技术评审通过以后,再进行一次对软件计划的评审。所以对制订的计划需要进行多次修改,以尽量满足各种要求,然后再进入开发阶段。,2019/4/25,第六章 软件工程基础,9,6.1.2 软件生存周期,(2)开发阶段

6、 开发阶段要经过3个步骤:设计、编码和测试。 首先对软件进行结构设计,定义接口,建立数据结构,规定标记。 接着对每个模块进行过程设计、编码和单元测试。 最后进行组合测试和有效性测试,对每一个测试用例和结果都要进行评审。 (3)维护阶段 首先要做的工作就是配置评审 然后要确定维护组织和职责,并定义表明系统错误和修改报告的格式。 维护可分为改正性维护、完善性维护和适应性维护等。,2019/4/25,第六章 软件工程基础,10,6.1.3 软件生存周期模型,软件生存周期模型 是描述软件开发过程中各种活动如何执行的模型。 软件生存周期模型作用: 确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准

7、则, 确立开发过程所遵守的规定和限制, 便于各种活动的协调, 便于各种人员的有效通信, 有利于活动重用, 有利于活动管理。,2019/4/25,第六章 软件工程基础,11,6.1.3 软件生存周期模型,目前有若干种软件生存周期模型: 瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等。 1瀑布模型 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。 将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐

8、级下落。,2019/4/25,第六章 软件工程基础,12,瀑布模型,2019/4/25,第六章 软件工程基础,13,6.1.3 软件生存周期模型,瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。 传统的瀑布模型很难适应可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这是一种理想的、线性的开发过程,缺乏灵活性,不适应实际的开发过程。 为了克服瀑布模型的不足,提出了软件开发的增量模型,根据增量的方式和形式的不同,增量模型分为渐增模型和原型模型。,2019/4/25,第六章 软件工程基础,14,6.1.

9、3 软件生存周期模型,2增量模型 增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。 增量开发是指在项目开发周期内,以一定的时间间隔开发部分工作软件; 增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可单独使用。 根据增量的方式和形式的不同,增量模型分为渐增模型和原型模型。,2019/4/25,第六章 软件工程基础,15,6.1.3 软件生存周期模型,3渐增模型 增量构造模型 演化提交模型 4原型模型 探索型原型 实验型原型 演化型原型,2019/4/25,第六章 软件工程基础,16,6

10、.1.4 软件工程的目标与原则,1.软件工程的目标 基本目标是以较少的投资获取高质量的软件 具体目标 (1)定义良好的方法学,面向计划、开发维护整个软件生存周期的方法学。 (2)确定软件成分,记录软件生存周期每一步的软件文件资料,按步显示其轨迹。 (3)可预测结果,在生存周期中,每隔一定时间可以进行复审。 最终目标是以较少的投资获得易维护、易理解、可靠、高效率的软件产品,2019/4/25,第六章 软件工程基础,17,6.1.4 软件工程的目标与原则,2.软件工程的原则 (1)分解 (2)抽象和信息隐蔽 (3)一致性 (4)确定性,2019/4/25,第六章 软件工程基础,18,习题,1.软件

11、是指 。 A程序 B. 程序和文档 C. 算法加数据结构 . 程序、数据与相关文档 2.下列描述中正确的是 。 A程序就是软件 B. 软件开发不受就介绍系统的限制 C. 软件既是逻辑实体,又是物理实体 D. 软件是程序、数据和相关文档的集合 3.下列选项中不属于软件生命周期开发阶段任务的是 。 A软件测试 B. 概要设计 C. 软件维护 D. 详细设计,答案:D,答案:D,答案:C,2019/4/25,第六章 软件工程基础,19,习题,4.下列叙述中正确的是 。 A软件交付使用后还需要进行维护 B. 软件一旦交付使用就不需要在进行维护 C. 软件交付使用后其生命周期就结束 D. 软件维护是指修

12、复程序汇总被破坏的指令 5. 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 阶段。,答案:A,答案:开发,2019/4/25,第六章 软件工程基础,20,6.2.1 需求分析与需求分析方法,1.需求分析 需求分析包括提炼、分析和仔细审查已收集到的需求 需求分析的目的在于开发出高质量和具体的需求 需求分析的主要过程: (1) 定义系统的边界 (2) 分析需求可行性 (3) 确定需求优先级 (4) 建立需求分析模型 (5) 创建数据词典,2019/4/25,第六章 软件工程基础,21,6.2.1 需求分析与需求分析方法,2.需求分析的方法 (1)功能分解方法 (

13、2)结构化分析方法 (3)信息建模方法 (4)面向对象方法,2019/4/25,第六章 软件工程基础,22,6.2.2 结构化方法,是软件工程产生后首先提出来的软件开发方法,由结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)三部分组成 基本指导思想是自顶向下、逐步求精, 它的基本原则是抽象与分解。 特点: (1) 最早的开发方法,发展较为成熟,成功率较高。 (2) 简单、实用、易掌握,适应于瀑布模型,也特别适合于数据处理领域中的应用。 (3) 难以解决软件重用问题,难以适应需求的变化,对规模大的项目、特别复杂的应用不太适应。,2019/4/25,第六章 软件工程基础,23,6.2

14、.2 结构化方法,结构化分析策略 人们处理复杂问题的基本手段是分解,把一个复杂的问题划分成若干小问题,将问题的复杂性降低到人们可以掌握的程度,然后分别解决。 分解可以分层进行,先考虑问题最本质的方面,忽略细节,形成问题的高层概念,然后再逐层添加细节,即在分层过程中采用不同程度的“抽象”级别。,2019/4/25,第六章 软件工程基础,24,6.2.2 结构化方法,如图6.1所示是自顶向下逐层分解的示意图。,2019/4/25,第六章 软件工程基础,25,6.2.2 结构化方法,描述工具 SA方法利用图形等半形式化的描述方法表达需求,形成需求说明书中的主要部分。描述工具有3种: (1)数据流图(

15、DFD)。数据流图用于描述系统的分解,即描述系统由哪些部分组成,各部分间有什么联系等。 (2)数据词典(DD)。数据词典用于定义数据流图中的数据和加工。它是数据流条目、数据存储条目、数据项条目和基本加工条目的集合。 (3)描述加工逻辑的结构化语言、判定树、判定表。结构化语言、判定树、判定表是描述数据流图中不能被再分解的每一个基本加工的处理逻辑。,2019/4/25,第六章 软件工程基础,26,6.2.2 结构化方法,数据流图(DFD) 数据流图是描述信息流和当数据从输入移动到输出时被应用的变换的图形化技术。 数据流图有4种基本图形符号,2019/4/25,第六章 软件工程基础,27,数据流图举

16、例,2019/4/25,第六章 软件工程基础,28,数据流图举例,2019/4/25,第六章 软件工程基础,29,6.2.3 软件需求规格说明书,需求分析阶段的最后一步工作是将对系统分析的结果用标准化的文档,即软件需求规格说明书的形式清晰地描述出来,以此作为审查需求分析阶段工作完成情况的依据和设计阶段开展工作的基础。 需求规格说明书是系统所有相关人员,包括用户和开发人员对软件系统共同理解和认识的表达形式,是需求分析阶段最重要的技术文档。 需求规格说明书中主要内容: (1)引言 (2)项目概述 (3)具体需求,2019/4/25,第六章 软件工程基础,30,6.3软件设计,6.3.1软件设计的概念和原理 1软件设计的概念 概要设计是通过仔细分析软件需求规格说明,适当地对软件进行功能分解,从而把软件划分为模块,并且设计出完成预定功能的模块结构; 详

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号