计算机软件技术基础第1章软件工程_第1页
计算机软件技术基础第1章软件工程_第2页
计算机软件技术基础第1章软件工程_第3页
计算机软件技术基础第1章软件工程_第4页
计算机软件技术基础第1章软件工程_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 1第1章 软件工程 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 21.1 软件工程概述1.1.1 软件工程的定义计算机软件定义:程序、相关数据及其说明文档。其中:程序是指完成预定功能和性能的可执行指令序列;数据是程序能正常操作信息

2、的数据结构; 文档是与程序开发维护和使用相关的各种图文资料。软件的发展大致经历了程序设计时代、软件时代软件工程时代 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 3 软件工程学定义:是指导计算机软件开发和维护的一门工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把先进的管理技术和先进的计算机科学技术方法结合起来,经济地开发出高质量的软件并有效地维护它。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术

3、基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 41.1.2 软件生存周期(1)软件定义期 包括问题定义、可行性研究和需求分析三个阶段。(2)软件开发期 包括系统设计、详细设计、编码和测试四个阶段。(3)软件维护期 即运行维护阶段。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 51.1.3 软件开发模型 瀑布模型快速原型模型增量模型螺旋模型喷泉模型

4、构件组装模型第四代技术模型 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 61.2 软件的分析是整个软件过程的第一个时期软件分析进一步可分为三个阶段:问题定义可行性研究需求分析此阶段结束时要产生如下文档:可行性报告、软件计划、需求说明书等。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信

5、息系统 71.2.1 问题定义问题定义的任务是确定问题的性质、工程目标以及规模。1.2.2 可行性研究可行性研究的任务是用最小的代价确定在问题定义阶段的系统目标和规模是否现实,所确定的问题是否可以解决,给出若干个解决问题方案,论证系统方案在经济上、技术上和操作上是否可行。1.2.3 需求分析这个阶段的任务是理解和表达用户的要求,对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么”。确定对系统的综合要求,包括:软件系统的范围、功能、性能、限制和约束以及将来可能会提出哪些要求。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件

6、技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 8需求说明书:需求规格说明书主要包括以下内容:引言、数据描述(数据流图、数据字典)、功能描述、性能描述、质量保证和其他。需求说明书的作用: 作为用户和软件开发人员之间的合同;作为开发人员进行设计和编程的根据;作为软件开发完成后验收的依据。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 91.2.4 软件分析方法结构化分析方法是面向数据

7、流进行需求分析的一种方法。它使用数据流图、数据字典等工具进行分析。可按如下的步骤进行:1)建立当前系统的物理模型,通过对现实环境的调查研究,获得当前系统的物理模型。通常用数据流图把当前系统的工作流程描述出来。2)建立当前系统的逻辑模型。去掉具体模型中的非本质因素,抽象出当前系统的功能和性能,建立当前系统的逻辑模型。3)建立目标系统的逻辑模型。分析当前系统与目标系统的差别,建立目标系统的逻辑模型。目标系统是一个使用计算机的系统。4)对目标系统进行完善和补充、并写出完整的需求说明。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算

8、机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 101.2.5 表达工具数据流图:表示了软件的信息流向和信息的加工。数据字典:对信息和加工进行更详细的描述。还可使用结构英语、判定表、判定树对信息加工的加工逻辑进行描述。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 111数据流图(1)数据流图的基本成分 数据流图由四种基本成分组成:数据流、数据存储、加工、源点和终点。四种基本成分的图形如图所示。

9、 数据流。数据存储。数据处理。源点和终点。XF数据存储PSXF数据存储PS 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 12(2)数据流图的结构 1)顶层。决定系统的范围,决定输入输出的数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层数据流图只有一张。2)中间层。顶层之下是若干中间层,某一中间层既是它上一层的加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。3)底层。底层数据流图的加工是由基本加工构成的,不

10、能再进行分解。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 13A2.11.11232.21.21.3A2.11.11232.21.21.3输入输出加工或变换输入输出加工或变换图1-8 分解与抽象 图1-7 软件模型 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 142数据字典

11、数据字典中有如下四种条目:数据流数据存储数据项基本加工条目。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 151.3 软件的设计这个阶段的任务是: 设计软件系统的模块层次结构 设计数据库的结构 设计模块的控制流程其目的是明确软件系统“如何做”。这个阶段又分为两个步骤:总体设计(系统设计)和详细设计。这个阶段结束要交付总体设计说明书和详细设计说明书,也可以合并在一起,称为设计说明书。 计算机软件技术基础计算机软件技术基础计算机软件技术基

12、础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 161.3.1 软件设计概述 1设计方法和步骤 总体设计内容: 进行模块划分 建立模块层次结构及模块间的调用关系 设计全局数据结构及数据库 设计系统接口及人机界面等。 总体设计的方法: 模块化方法 功能分解方法 面向数据流的设计方法 面向数据结构的设计方法 面向对象的设计方法等。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基

13、础 信息管理与信息系统信息管理与信息系统 17详细设计内容: 设计出每个模块的实现算法 实现这些算法的逻辑控制流程 设计这些模块所需的局部数据结构。详细设计的方法: 结构化程序设计方法 面向对象程序设计方法。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 182文档总体设计说明书: 主要规定软件结构,详细设计说明书:着重描述程序的过程。设计表达工具 图形表达工具:流程图 N-S图(由Nassi和Shneidermen开发)PAD图(Pr

14、oblem Analysis Diagram)文字表达工具:如伪代码,PDL(Program Design Language)等。表格表达工具:判定表等。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 19设计说明书的目的:对于编程和测试,它提供了一个指南;软件交付使用后,为维护人员提供帮助。3设计复审复审的方法:非正式的遍查正式的结构化审查 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计

15、算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 201.3.2 软件设计准则1软件结构的准则描述软件结构的形态特征术语: 深度:软件结构中模块的层数。 宽度:软件结构中模块的总跨度。 扇出数:一个模块直接下层的模块的个数。 扇入数:一个模块直接上层的模块的个数。一个好的软件结构形态准则是: 一个软件结构应具有顶部宽度最小,中部宽度最大,底部宽度次之 在结构顶部有较高的扇出数,在底部有较高的扇入数。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算

16、机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 212模块化准则3信息隐藏和局部化准则4模块独立性准则 模块的内聚性 模块的耦合性 MABCDEHFGMABCDE EH HF FG G图1-11 控制范围和影响范围 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 221.3.3 总体设计方法建立一个结构良好的软件系统基本思想来源于模块化、自顶向下的逐步求精的功能划分。评价软件结构的准则是模块独立性,即模块内聚性高,

17、模块之间的耦合性低。结构化设计方法进行总体设计的过程大致如下:1)精细化数据流图,确定数据流图的类型,是属于变换型还是事务型。2)指出各种信息流的流界。3)将数据流图映射为软件结构图。4)精细化软件结构图。5)开发接口描述和全程数据描述。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 231数据流图的类型(1)变换型结构 这类系统由三个部分组成:传入路径、变换中心和传出路径。流经这三个部分的数据流,分别称为 输入流:信息由外部数据转换为

18、内部形式进入系统; 转换流:在转换流中,对内部形式的信息进行一系列的加工处理,得到内部形式的结果; 输出流:信息由内部形式的结果转换为外部形式数据流出的系统 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 24(2)事务型结构 这类系统的特征是,具有在多种事务中选择执行某类事务的能力。事务型结构由至少一条接受路径,一个事务中心(加工)与若干条动作路径组成,当外部信息沿着接受路径进入系统后,事务中心分析每一事务,确定其类型,根据事务类型选择

19、一个事务路径继续进行处理。输入内部数据内部结果输出输入流转换流输出流事务流事务中心事务路径输入加工中心加工输出加工t1t2t3t4T输入内部数据内部结果输出输入流转换流输出流事务流事务中心事务路径输入加工中心加工输出加工t1t2t3t4T图1-12 数据流图的类型 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 251.3.4 详细设计方法详细设计的任务是:确定每个模块的内部特征,即确定每个模块内部的执行过程。1)为每个模块确定采用的算法

20、。2)确定每一模块使用的数据结构。3)确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口,以及关于模块输入数据、输出数据及局部数据的全部细节。详细设计规格说明书是编程阶段的依据。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 261模块的逻辑设计方法结构化程序设计的原理要点:1)采用自顶向下、逐步求精的设计方法。2)求精过程只使用顺序、选择、重复三种基本控制结构。3)一个程序只有一个入口和一个出口。2基本控制结

21、构1)顺序结构。2)选择结构。3)重复结构。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 273详细设计的描述方法详细设计的描述方法也称为详细设计工具,可用流程图、PDA图和伪代码等工具表示。(1)程序流程图 (2)N-S图 (3)PAD图 PAD图又称问题分析图 (4)伪码和PDL语言 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础

22、计算机软件技术基础 信息管理与信息系统信息管理与信息系统 281.4 软件编程编程是把软件设计结果翻译成用某种程序设计语言书写的程序。1.4.1 编程语言的选择1.4.2 编程风格源程序文件命名、源程序注释 数据说明语句构造 输入输出 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 29S1S1S1S1S1S1eSeSeS1S2eS1S2S1S2WHILE(e)eS1S2WHILE(e)eUNTIL(el)S1S2elUNTIL(el)S

23、1S2elS1WHILE(e)CYCLEESCAPEAe1S2e2S3(e)AS1WHILE(e)CYCLEESCAPEAe1S2e2S3(e)A a)顺序结构 b)IF结构 c)IF- ELSE结构d)IF ELSE IF-ELSE结构 e)SWITCH结构f)WHILEg)UNTILh)出口图1-18 基本控制结构 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 30S1S2S1S2S1S2TFCS1S2TFCWHILE CSUNTI

24、L CSWHILE CSUNTIL CS a)顺序结构 b)选择结构 c)重复结构 图1-19 用N-S图表示的基本程序结构S1S2S1S2S1S2CS1S2CUNTIL CSWHILE CSUNTIL CSUNTIL CSWHILE CSWHILE CS a)顺序结构 b)选择结构 c)重复结构 图1-20 用PAD图表述的基本程序结构 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 31MAX=A(1)I=2MAX=A(I)FTFI=

25、I+1MAXA(I)IN?MAX=A(1)I=2MAX=A(I)FTFI=I+1MAXA(I)IN?MAX=A(1)FOR I=2TO NMAXA(I)TFMAX=A(I)MAX=A(1)FOR I=2TO NMAXA(I)TFMAX=A(I)MAXA(I)MAX=A(I)MAX=A(I)I=2,NMAX1 AND B=0A=2 OR X1X=X+1结束X=X/AabcdeFTFT开始A1 AND B=0A=2 OR X1X=X+1结束图1-25 被测试程序的程序流程图 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技

26、术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 37表1-1 判定覆盖测试数据数 据覆 盖 路 径覆 盖 分 支X值A=2,B=0,X=0aceTT1A=1,B=0,X=1abdFF1表表1-2 条件覆盖测试数据条件覆盖测试数据数 据覆 盖 路 径覆 盖 条 件X值A=2,B=0,X=1aceT1,T2,T3,F41A=1,B=1,X=2abeF1,F2,F3,T43表1-3 判定/条件覆盖测试数据数 据覆 盖 路 径覆 盖 条 件X值A=2,B=0,X=4aceT1,T2,T3,T43A=1,B=1,X=1abdF1,F2,F3,F41 计算机软件技术基础计

27、算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 38表1-4 条件组合覆盖测试数据数 据覆 盖 路 径覆 盖 条 件X值A=2,B=0,X=4aceT1,T2,T3,T43A=2,B=1,X=1abeT1,F2,T3,F42A=1,B=0,X=2abeF1,T2,F3,T43A=1,B=1,X=1abdF1,F2,F3,F41(2)基本路径覆盖法路径测试法是借助程序图设计测试用例的一种白盒方法。1)结点覆盖:程序的测试路径至少经过程序图中每个结点一次,2)边

28、覆盖:程序的测试路径至少经过程序图中的每条边一次。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 393)路径覆盖:路径覆盖与逻辑覆盖的差别在于:后者着眼于每个单独的判定结点,而前者考察的是整个路径。把路径覆盖和条件组合覆盖结合起来,便可实现查错能力最强的白盒测试。(3)循环覆盖法对于结构化程序而言,循环主要有三种:简单循环、串接循环和嵌套循环。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基

29、础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 402黑盒测试黑盒测试即功能测试,测试是完全不考虑程序内部细节、结构和实现方式,仅检验程序结果与需求说明书的一致性。(1)等价类划分 等价类划分就是把所有可能的输入数据划分成若干等价类,每类中的一个典型值在测试中的作用与这一类中所有其他值的作用相同。等价类分为有:效等价类 无效等价类。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与

30、信息系统 41(2)边值分析 首先应该确定边界情况,着重测试程序的边界情况。选取测试数据应该刚好用稍等于、稍小于和稍大于边界值等价类的数据作为测试数据。(3)错误推测 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 421.5.3 测试实施策略需求定义概要设计详细设计编程模块测试组装测试确认测试问题产品程序需求定义概要设计详细设计编程模块测试组装测试确认测试问题产品程序图1-28 开发与测试的对应 计算机软件技术基础计算机软件技术基础计算

31、机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 431模块测试它是对一个模块进行测试,其目的是根据该模块的功能说明检验模块是否有错误,模块测试主要可以发现详细设计和编程时犯的错误。评价模块的五个特性:1)模块接口。2)局部数据结构。3)重要的执行通路。4)出错处理通路。5)影响上述各方面特性的边界条件。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理

32、与信息系统信息管理与信息系统 442组装测试检查:1)不正确的接口。 2)因存取全局(公用)数据引起的块间干扰。3)不一致的文件与数据结构。4)不适当的模块调用顺序。5)出错处理上的错误等。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 453确认测试确认测试的范围是:(1)功能测试 确认被测程序是否实现了软件需求规格说明书规定的一切功能,找出尚未实现的功能需求。(2)性能测试 包括程序执行时的响应时间和处理速度、占用内存和外存的容量,

33、以及通道传输能力等。(3)强度测试 用于检查程序对强负荷的承受能力。(4)对文档配置的复审 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 461.5.4 软件的调试1调试技术(1)输出存储器的内容(2)打印语句 (3)调试语句或调试程序 (4)自动工具 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统

34、信息管理与信息系统 472调试策略调试过程的关键是用来推断错误原因的基本策略。常用的调试策略主要有:(1)试探法(2)回溯法 (3)对分查找法 (4)归纳法 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 481.6 软件的维护1.6.1 维护的基本概念软件维护是指软件交付使用后,为了改正错误或满足其他需要而修改软件的过程。维护的最终目的,是满足用户对已开发产品的性能与运行环境不断提高的需求,进而达到延长软件的寿命。按照软件维护的具体目标

35、,又可以分为:正确性维护:改正在开发阶段产生、测试阶段没有发现、运 行之后才出现的错误。适应性维护:为适应软件的外部环境改变(如硬件、操作系统等)而对它进行的修改。完善性维护:为了提高软件性能和扩充软件功能而对软件进行的修改。预防性维护:为了给未来的改进奠定更好的基础而修改软件的维护活动。1.6.2 软件的可维护性 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 491.6.3 维护的实施1提出维护申请,建立维护机构一般由用户递交维护申请

36、报告,技术人员评估申请报告,初步估计问题的起因和修改时间并报告给维护主管。2制定维护计划确定维护类型,制定维护计划,包括维护范围所需的资源、成本、进度等,它最终将成为基本文档之一。3改正错误分析有关错误,并将其改正。维护工作可看作开发工作的一个缩影,凡是开发时期用到的方法与文档,维护时期都要使用。4保存维护记录5评价维护活动 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 501.7 面向对象的方法1.7.1 面向对象的基本概念1对象是一

37、组数据结构和在这组数据结构上操作的程序代码封装起来的基本单位。这个封装体包括以下部分:属性集合方法集合消息集合对象中的属性表示对象的状态,一个对象的状态只能由该对象的操作来改变。每当需要改变对象的状态时,只能由其他对象向该对象发送消息。对象响应消息时,按照消息模式找出与其匹配的方法,并执行该方法。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 512属性类中所定义的数据,它是对客观世界实体所具有的性质的抽象。3方法和消息 方法:对象所能

38、执行的操作,也就是类中所定义的服务。方法的定义包括两部分:方法的接口:用来说明方法的名称、参数和结果返回值的类型,也称为调用说明。方法的实现:是一段程序编码,用来实现方法的功能,即对象操作的算法。 消息:消息是对象向外提供的界面,消息由对象接收和响应。表示消息的形式是消息模式。通常一个消息由下述3部分组成: 接收消息的对象; 消息选择符(消息名); 零个或多个变元。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 524对象类、类层次和类

39、格对象类:具有共同属性、共同操作性质的对象的集合。在一个类中,每个对象都是类的实例,它们可以使用类中提供的函数。一个类可以有它的上层类或是下层类,由此而产生出类的层次结构,并称其为类层次。上层类称为超类下层类称为子类人教职员工学生教员行政人员工人在职研究生研究生本科生人教职员工学生教员行政人员工人在职研究生研究生本科生 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 535封装封装是一种信息隐藏技术,把数据和实现操作的代码集中起来放在对象

40、内部。通过封装对外界隐藏了对象的实现细节。对象的封装性体现在:1)对象具有清楚的边界2)对象具有统一的外部接口(界面):它描述了该对象和其他对象之间的关系。3)对象的内部实现是不公开的6继承继承(Inheritance)是指任何一个对象可以自动共享类中定义的数据结构和操作。共享机制包括:1)新产生的对象自动继承该类的语义特性。2)子类自动继承其超类的语义特性;对多层类层次结构,下层子类可以继承其上各层超类的语义特性(继承传递性)。3)子类可以从它的多个超类中继承它们的语义特性(多重继承性)。7多态性多态性是指在类等级的不同层次中可以共享一个行为(方法)的名字,然而不同层次中的每个类却各自按自己

41、的需要来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属的类动态地选用在该类中定义的实现算法。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 541.7.2 面向对象软件的开发过程1面向对象的分析过程原则(1)抽象 面向对象分析中的类就是通过抽象得到的。(2)分类 分类就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。运用分类原则也意味着通过不同程度的抽象形成一般特殊结构(又称为分类结构)。(3)聚合 聚合

42、的原则是把一个复杂的事物看成若干比较简单的事物的组装体,从而简化对复杂事物的描述。(4)关联 在系统模型中明确地表示对象之间的静态联系。(5)消息通信 这一原则要求对象之间只能通过消息进行通话,而不允许在对象之外直接地存取对象内部的属性。 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 计算机软件技术基础计算机软件技术基础计算机软件技术基础 信息管理与信息系统信息管理与信息系统 55(6)粒度控制 在面向对象分析中运用粒度控制原则就是引入主题的概念,把面向对象分析模型中的类按一定的规则进行组合,形成一些主题。如果主题数量仍较多,则进一步组合为更大的主题。这样使面向对象分析模型具有不同的粒度层次,从而有利于分析员和读者对复杂性的控制。(7)行为分析 控制行为复杂的原则有以下几点: 确定行为的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论