软件工程复习_第1页
软件工程复习_第2页
软件工程复习_第3页
软件工程复习_第4页
软件工程复习_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、沈阳理工大学信息学院主要内容主要内容基础知识基础知识 软件、软件危机、软件工程的基本原理、软件工程方软件、软件危机、软件工程的基本原理、软件工程方法学、软件生命周期的组成法学、软件生命周期的组成传统方法学(结构化方法)传统方法学(结构化方法) 需求分析、总体设计、详细设计、软件实现(编码、测需求分析、总体设计、详细设计、软件实现(编码、测试)、软件维护试)、软件维护面向对象方法学面向对象方法学 要点、各种模型(对象模型、动态模型、功能模型)要点、各种模型(对象模型、动态模型、功能模型)沈阳理工大学信息学院第1部分 基础知识1 软件的定义软件的定义:软件是程序、数据及相:软件是程序、数据及相关文

2、档的完整集合。关文档的完整集合。2 2 软件危机软件危机 含义:含义:指在计算机软件的开发和维指在计算机软件的开发和维护过程中所遇到的一系列严重问题。护过程中所遇到的一系列严重问题。沈阳理工大学信息学院第1部分 软件工程基础知识3 3 软件工程的基本原理软件工程的基本原理 1. 1. 用分阶段的生命周期计划严格管理;用分阶段的生命周期计划严格管理; 2. 2. 坚持进行阶段评审;坚持进行阶段评审; 3. 3. 实行严格的产品控制;实行严格的产品控制; 4. 4. 采用现代程序设计技术;采用现代程序设计技术; 5. 5. 结果应能清楚地审查;结果应能清楚地审查; 6. 6. 开发小组的人员应该少

3、而精;开发小组的人员应该少而精; 7. 7. 承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性沈阳理工大学信息学院第1部分 软件工程基础知识4 4 软件工程方法学软件工程方法学一、传统方法学一、传统方法学二、面向对象方法学二、面向对象方法学沈阳理工大学信息学院第1部分 软件工程基础知识5 5 软件生命周期的组成软件生命周期的组成问题定义:问题定义:“要解决的问题是什么要解决的问题是什么?”?”可行性研究:是否值得去解,是否有可行的解决办法可行性研究:是否值得去解,是否有可行的解决办法需求分析:目标系统必须做什么需求分析:目标系统必须做什么总体设计:应该怎样实现目标系统总体设计:

4、应该怎样实现目标系统详细设计:怎样具体地实现这个系统详细设计:怎样具体地实现这个系统编码:写出正确的容易理解、容易维护的程序模块编码:写出正确的容易理解、容易维护的程序模块测试:通过各种类型的测试测试:通过各种类型的测试( (及相应的调试及相应的调试) )使软件达使软件达到预定的要求到预定的要求软件维护:通过各种必要的维护活动使系统持久地满软件维护:通过各种必要的维护活动使系统持久地满足用户的需要足用户的需要沈阳理工大学信息学院第2部分 结构化方法1 1 需求分析需求分析结构化分析思想:结构化分析思想: 自顶向下自顶向下 逐步求精逐步求精沈阳理工大学信息学院第2部分 结构化方法1 1 需求分析

5、需求分析常用的结构化分析方法常用的结构化分析方法数据流程图(数据流程图(Data Flow Diagram,DFD)数据字典(数据字典(Data Dictionary,DD)沈阳理工大学信息学院定货系统的功能级数据流图定货系统的功能级数据流图沈阳理工大学信息学院第2部分 结构化方法2 2 总体设计总体设计启发规则启发规则: (1)(1)改进软件结构提高模块独立性改进软件结构提高模块独立性 (2)(2)保持适中的模块规模保持适中的模块规模 (3)(3)深度、宽度、扇入和扇出都应适当深度、宽度、扇入和扇出都应适当 (4)(4)模块的作用域应该在控制域之内模块的作用域应该在控制域之内 (5)(5)力

6、争降低模块接口的复杂程度力争降低模块接口的复杂程度 (6)(6)设计单入口、单出口的模块设计单入口、单出口的模块 (7)(7)模块功能应该可以预测模块功能应该可以预测沈阳理工大学信息学院第2部分 结构化方法2 2 总体设计总体设计面向数据流的设计方法:面向数据流的设计方法: 数据流程图数据流程图模块结构图模块结构图 (变换流、事务流、混合流)(变换流、事务流、混合流)沈阳理工大学信息学院第2部分 结构化方法变换流分析与设计变换流分析与设计选课系统选课系统沈阳理工大学信息学院第4章 结构化软件设计沈阳理工大学信息学院第2部分 结构化方法事务流分析与设计事务流分析与设计火车票查询系统火车票查询系统

7、沈阳理工大学信息学院第2部分 结构化方法事务流分析与设计事务流分析与设计沈阳理工大学信息学院第2部分 结构化方法混合流分析与设计混合流分析与设计沈阳理工大学信息学院第2部分 结构化方法混合流分析与设计混合流分析与设计沈阳理工大学信息学院第2部分 结构化方法3.3.详细设计:详细设计:给定一个算法,用适当工具表示给定一个算法,用适当工具表示沈阳理工大学信息学院开始输入mfound = 1i = 2i m结束found = 0Yi = i+ 1m 能被 i 整除?NNfound = = 1 ?输出:是输出:不是NYY沈阳理工大学信息学院输入输入mfound=1i=2imm能被能被i整除整除TFfo

8、und=0i=i+1found=1输出:是输出:是输出:不是输出:不是沈阳理工大学信息学院输入输入mfound=0i=2while imm被被i整除整除found=0i=i+1found=1输出:是输出:是输出:不是输出:不是沈阳理工大学信息学院第2部分 结构化方法4.4.编码编码主要任务:主要任务: 将详细设计确定的具体算法用程序设计语将详细设计确定的具体算法用程序设计语言描述出来,生成目标系统对应的源程序。言描述出来,生成目标系统对应的源程序。沈阳理工大学信息学院第2部分 结构化方法4 4 软件测试软件测试目的:目的: 以查找错误为中心以查找错误为中心沈阳理工大学信息学院第2部分 结构化方

9、法5 5 软件测试软件测试测试技术:测试技术:依据是否针对系统的内部结构和具体实现算法,动态依据是否针对系统的内部结构和具体实现算法,动态测试可分为黑盒测试和白盒测试。测试可分为黑盒测试和白盒测试。 黑盒测试是指测试产品的功能。黑盒测试是指测试产品的功能。 白盒测试是指测试产品内部结构及处理过程。白盒测试是指测试产品内部结构及处理过程。沈阳理工大学信息学院第2部分 结构化方法3 3 软件测试软件测试白盒测试白盒测试语句段(a1 )AND(b0 )(a2 )OR(X1 )13F5F语句段T24T图图 一个被测试程序的流程图一个被测试程序的流程图沈阳理工大学信息学院第2部分 结构化方法(1 1)语

10、句覆盖:使每一条语句至少被执行一次。)语句覆盖:使每一条语句至少被执行一次。如果能测试路径如果能测试路径124124,就保证每个语句至少执行一次,就保证每个语句至少执行一次,选择测试数据为选择测试数据为 a=2 a=2 , b=0b=0, x=3x=3输入此组数据,输入此组数据, 就能达到语句覆盖标准。就能达到语句覆盖标准。沈阳理工大学信息学院第2部分 结构化方法 (2) 判定覆盖:使程序中每个判定的真分支和假分判定覆盖:使程序中每个判定的真分支和假分支至少遍历一次。支至少遍历一次。 设计测试用例,只要通过路径设计测试用例,只要通过路径124, 135或者或者125, 134, 就达到判定覆盖

11、标准。就达到判定覆盖标准。 选择两组数据:选择两组数据: a=3, b=0, x=1(通过路径(通过路径125) a=2, b=1, x=2(通过路径(通过路径134)沈阳理工大学信息学院第2部分 结构化方法(3)条件覆盖:使每个判定的每个条件的可能取值)条件覆盖:使每个判定的每个条件的可能取值至少执行一次。至少执行一次。 选择以下两组测试数据:选择以下两组测试数据: a=2, b=0, x=3(满足(满足a1, b=0, a=2, x1, 通过路径通过路径124) a=1, b=1, x=1(满足(满足a1, b0, a2, x1,通,通过路径过路径135)沈阳理工大学信息学院第2部分 结构

12、化方法5 5 软件测试软件测试黑盒测试黑盒测试1. 等价类划分法等价类划分法步骤:步骤: (1)分析输入数据;)分析输入数据; (2)划分等价类,建立等价类表;)划分等价类,建立等价类表; (3)设计测试用例:覆盖所有的有效等价类和)设计测试用例:覆盖所有的有效等价类和 无效等价类。无效等价类。例子:某一报表处理系统,要求用户输入处理报表的日期。例子:某一报表处理系统,要求用户输入处理报表的日期。 假设日期限制在假设日期限制在1990年年1月至月至1999年年12月,即系统只能对该段月,即系统只能对该段时期内的报表进行处理。如果用户输入的日期不在此范围内,时期内的报表进行处理。如果用户输入的日

13、期不在此范围内,则显示输入错误信息。该系统规定日期由年、月的则显示输入错误信息。该系统规定日期由年、月的 6 位数字位数字字符组成,前字符组成,前 4 位代表年,后两位代表月。现用等价类划分位代表年,后两位代表月。现用等价类划分法设计测试用例,来测试程序的法设计测试用例,来测试程序的“日期检查功能日期检查功能”。 沈阳理工大学信息学院第2部分 结构化方法6 6 软件维护软件维护4 4项活动:项活动:l改正性维护改正性维护l适应性维护适应性维护l完善性维护完善性维护l预防性维护预防性维护沈阳理工大学信息学院第3部分 面向对象方法学1 1 面向对象方法学的要点面向对象方法学的要点:(1) (1)

14、面向对象的软件系统是由对象组成的,软件中的任面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组何元素都是对象,复杂的软件对象由比较简单的对象组合而成;合而成;(2) (2) 把所有对象都划分成各种对象类把所有对象都划分成各种对象类( (简称为类,简称为类,class)class),每个对象类都定义了一组数据和一组方法;,每个对象类都定义了一组数据和一组方法;(3) (3) 在若干个对象类组成的层次结构中,通常下层的派在若干个对象类组成的层次结构中,通常下层的派生类具有和上层的基类相同的特性生类具有和上层的基类相同的特性( (包括数据和方法包括数据和方法

15、) ),这种现象称为继承这种现象称为继承(inheritance)(inheritance)。(4) (4) 对象彼此之间仅能通过传递消息互相联系。对象彼此之间仅能通过传递消息互相联系。沈阳理工大学信息学院第3部分 面向对象方法对象模型:对象模型:“ATMATM系统系统”沈阳理工大学信息学院第3部分 面向对象方法顺序图:顺序图:ATMATM系统系统储户插卡ATM要求密码输入密码请求验证账户总行请求分行验证账户分行账户有效账户有效要求事务类型输入类型要求输入取款额输入取款额请求事务处理请求处理分行事务分行事务成功事务成功输出现金请求拿走现金拿走现金请求继续此事务结束打印账单请求拿走卡拿走卡显示主屏幕沈阳理工大学信息学院第3部分 面向对象方法状态图:状态图:ATMATM类类主 屏do: 显 示 主 屏 幕中 断do: 显 示 取 消 信 息do: 要 求 密 码do: 要 求 类 型退 卡do: 退 卡 ; 请 求 拿 走 卡do: 显 示 无 效账 户 信 息do: 请 求 继

温馨提示

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

评论

0/150

提交评论