收藏 分享(赏)

软件工程导论(第五版).doc

上传人:dzzj200808 文档编号:2331546 上传时间:2018-09-10 格式:DOC 页数:21 大小:602.43KB
下载 相关 举报
软件工程导论(第五版).doc_第1页
第1页 / 共21页
软件工程导论(第五版).doc_第2页
第2页 / 共21页
软件工程导论(第五版).doc_第3页
第3页 / 共21页
软件工程导论(第五版).doc_第4页
第4页 / 共21页
软件工程导论(第五版).doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、第一章 软件工程方法学(3 个要素) :通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。三要素:方法、工具和过程。 软件生命周期模型 瀑布模型:优点:1.可强迫开发员采用规范的方法 2.严格地规定了每个阶段必须提交的文件 3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 缺点:传统的瀑布模型过于理想化,是由文档驱动的。 快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。 增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新

2、产品,从而减少一个全新的软件可能给客户组织带来的冲击。 螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。1-2 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。1-3 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。目前使用得最广泛的软件工程方法学(2 种):1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过

3、程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。1-4 软件生命周期划分成哪些阶段 软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。3. 维护时期:主要任务是使软件持久地满足用户的需要。1-5 什么是软件过程?它与软件工程方法学有何关系?

4、 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-6 传统 “瀑布模型”的主要缺陷是什么?试说明改进的方法。 传统的瀑布模型过于理想化了。增加“反馈环”第二章 可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的任务:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案 4.研究每种实现方案的可行性: 技术上的可行性 使用现有的技术能实现这个系统吗? 经济上的可行性 这个系统的经济效

5、益能超过它的开发成本吗? (投资与效益) 操作可行性 系统的操作方式在这个用户组织内行得通吗? 社会、政策允许的可行性5.为每个可行的解决方案制定一个粗略的实现进度6.对以后的行动方针提出建议方法:1.系统流程图2.数据流图:(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。符号3.数据字典:是关于数据的信息的集合,也就是对数据流图中饮食的所有元素的定义的集合。数据流图与数据字典共同构成系统的逻辑模型。4.成本/效益分析5.数据流图 定货系统 P32 习题 2 第 2 题 P43(银行储蓄系统) 习题 2 第 3 题 P43(机票预订系统) 习题 2 第 4

6、题 P43(医院监护系统)数据源点处理 处理 数据存储 数据流日志数据要求生理信号生理信号危机病人信息产生警告信息3分析信号2处理事务1接受信号1病人 警告信息 护士病情报告日期时间定时生理信号 日志数据更新日志6处理事务1定时取样5时钟生理信号D1 患者安全范围患者安全范围D1 患者日志产生病情报告7护士6.数据定义 1、顺序 2、选择 | 3、重复 下限 上限 定货系统 P39 习题 2 第 5 题 P442-1 应该从哪些方面研究目标系统的可行性? 技术上的可行性 使用现有的技术能实现这个系统吗? 经济上的可行性 这个系统的经济效益能超过它的开发成本吗? (投资与效益) 操作可行性 系统

7、的操作方式在这个用户组织内行得通吗? 社会、政策允许的可行性2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。请画出此系统的数据流图。储户取款单打印利息清单利息清单储户验证密码2.32.1存款单打印存单银行存单计算利息1.22.2D1 存款信息存款信息记录存款信息1.1存款信息存款信息存款信息利息值 某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息(姓名、性别等)输入进该系统,系统为旅客安排航班,印出取票通知

8、和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。订票信息取票通知旅行社 旅客信息旅客打印处理1.3旅客信息D1 订票信息安排航班1.2处理事务1录入信息1.1 旅客信息机票信息账单机票旅客 取票通知 打印机票2.2交款2.1 机票信息账单/票款航班信息交款信息2-3 北京某高校可用的电话号码由以下几类:校内电话号码由 4 位数字组成,第一位数字不是零;校外电话又分为本市电话和外地电话两类,拨校外电话先拨 0,若是本地电话再接着拨 8 位数字(固话第一位不是 0)或 11 位数字(移动电话第一位为 1) ;若是外地电话,则拨 3 位区码再拨 8 位电话号码(

9、固话第一位不是 0) ,或拨 0 再拨 11位数字(移动电话第一位为 1) 。请用数据定义的方法,定义上述电话号码。 电话号码=校内号码|校外号码 校内号码=非 0 数字+3数字3校外号码=0+ 本地号码|外地号码本地号码=固话号码|手机号码 固话号码=非 0 数字+7数字7手机号码=1+10数字10外地号码= 外地固话号码| 外地手机号码外地固话号码=3数字3+固话号码外地手机号码=0+手机号码非 0 数字=1|2|3|4|5|6|7|8|9第三章 需求分析的准则:1、必须并描述的信息域,根据这条准则应该建立数据模型。2、必须定义软件应完成的功能,这条准则要求建立功能模型。3、必须描述作为外

10、部事件结果的软件行为,这条准则要求建立行为模型。4、必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。 需求分析的任务(P46)1、确定对系统的综合要求;2 、分析系统的数据要求;3、导出系统的逻辑模型;4、修正系统开发计划。 方法 实体-联系图 教学管理系统 P54课程号 课名 学时 学分学号姓名 性别 系年级教工号姓名 性别 职称职务 习题 3 第 3 题 P63 (银行储蓄系统)数额 类型 到期日 利率名称 地址姓名 住址 电话号码储户 储蓄所身份证号码 电话号码存取款密码N M 习题 3 第 5 题 P63 (医院监护系统)时间 脉搏 体温 血压姓名 科室姓名 住址 电话

11、号码病人 护士住院号 工作证号监护心电图N M 数据流图 状态转换图 电话系统 P57 习题 3 第 6 题 P63 (复印机)卡纸do/警告缺纸do/警告复印do/复印闲置复印命令完成复印命令卡纸发现缺纸排除卡纸故障装满纸第五章 总体设计的任务划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等设计软件的结构。也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。 总体设计过程两个阶段1.系统设计阶段,确定系统的具体实现方案;2.结构设计阶段,确定软件结构。 总体设计过程 9 个步骤1 设想供选择的方案 2 选取合理的方案 3 推荐最佳方案 4 功能分解 5 设计

12、软件结构 6 设计数据库7 制定测试计划 8 书写文档 9 审查和审核 低耦合(5 种类型)1. 数据耦合:数据传递 2.控制耦合:控制信息传递 3.特征耦合:传过多的信息给被调用模块4.公共环境耦合:因全局变量,共享通信区 5.内容耦合:诸如一个模块访问另一个模块内部 高内聚(7 种类型) 功能内聚 10 分 顺序内聚 9 分 通信内聚 7 分 过程内聚 5 分时间内聚 3 分 逻辑内聚 1 分 偶然内聚 0 分 面向数据流的设计方法 P95 变换流 数字仪表板系统 P96 SPS rpm mpg显 示 gph mpg mph (SPS) mph 超 速 值 计 算 里 程 读 入 旋 转

13、信 号 收 集 并 求 平 均 旋 转 信 号 信 号 数 /秒 确 定 加 速 / 减 速 箭 头 指 示 产 生 加 速 /减 速 显 示 下 箭 头 水 平 线 上 箭 头 转 换 成 转 /分 (rpm) 计 算 mph和 超 速 值 计 算 燃 料 消 耗 产 生 mpg 显 示 读 入 并 核 实 计 算 gph 燃 料 流 量 传 感 器 信 号 燃 料 流 量 产 生 里 程 显 示 英 里 显 示 发 出 警 告 铃 声 警 告 铃 声 产 生 mph 显 示 mph显 示 SPS rpm 数 字 仪 表 板 控 制 接 收 传 感 器 信 号 数 据 转 换 控 制 驱 动

14、 仪 表 板 计 算 里 程 计 算 mpg 计 算 mph 计 算 gph 转 换 成 rpm 发 出 警 报 铃 声 显 示 里 程 显 示 mpg 显 示 mph 读 旋 转 信 号 读 燃 料 流 量 确 定 加 速 /减 速 加 速 /减 速 显 示 发 光 二 极 管显 示 患者监护系统(参见习题 2 第 4 题) 事务流 用户命令交互子系统(DFD)读用户命令密码显示信息系统参数数据用户命令读系统数据 配置信息显示信息和状态命令分析处理读密码命令类型建立配置文件原配置数据激活/非活动系统与文件中密码比较格式化配置数据检验信息过程重试信息四位数字检验信息检验信息A/D信息配置数据格

15、式化配置数据密码命令开/关命令配置命令SC 图密码处理密码处理控制器控制器现用现用 /非现用非现用系统系统系统设置系统设置控制器控制器读系统读系统数据数据建立配建立配置文件置文件显示信息显示信息与状态与状态读读密码密码用文件用文件比较密码比较密码密码输出密码输出控制器控制器产生产生无效信息无效信息用户执行模块用户执行模块读用户命令读用户命令 命令处理命令处理机票预订系统(参见习题 2 第 3 题)第六章 结构程序设计概念 P108 如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,而且每个代码块只有一个入口和一个出口,则称这个程序是结构化的 结构程序设计 3 种概念类型

16、P1091、 经典的结构程序设计只允许使用顺序、IF-THEN-ELSE 型分支和 DO-WHILE 型循环着三种基本控制结构2、 扩展的结构程序设计 还允许使用 DO-CASE 型多分支结构和 DO-UNTIL型循环结构3、 修正的结构程序设计 还允许使用 EXIT(或 BREAK)结构方法1、人机界面设计2、过程设计的工具 P1143、面向数据结构的设计方法Jackson 方法4、程序复杂程度的定量度量 P127 McCabe 方法根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。可用三种方法之一来计算复杂性:1. 流图中区域的数量对应于环形的复杂度 ;

17、2. 流图 G 的环形复杂度 V(G)=E N+2 ,其中, E 是流图中边的数量,N 是流图中节点的数量 ;3. 流图 G 的环形复杂度 V(G)=P+1,其中, P 是流图中判定节点的数量 Halstead 方法 程序流程图 P114 开 始PF T FTGN结 束 FQ 习题六第 3 题 P131画出下列伪程序的程序流程图和盒图STARTIF p THENWHILE q DO FEND DOELSEBLOCKGNEND BLOCKEND IFSTOPQFGN PAD(问题分析)图 判定表 P117 行李托运费计算 P118P TF 讲课课时津贴计算1 2 3 4 5教授 T F F F副

18、教授 F T F F讲师 F F T F助教 F F F T讲座 T F F F F50 30 25 20 15 判定树 P118 行李托运费计算 P119 讲课课时津贴计算 过程设计语言(PDLJackson 设计方法的步骤( 5 步)P122 实例 P123课 时 津 贴 一 般 授 课 讲 座 教 授 副 教 授 讲 师 助 教 30 25 20 15 50 某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是 50 元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授 30 元,副教授 25 元,讲师 20元,助教 15 元。 高考后将

19、考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件) 。考生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。操作:(1)停止;(2)打开两个输入文件;(3)建立输出文件。(4)从输入文件中各读一条记录。(5)生成一条新记录。(6)将新记录写入输出文件。(7)关闭全部文件。条件:I (1)文件结束。 考 生 新 文 件 考 生

20、记 录 * 准 考 证 号 姓 名 通 讯 地 址 考 分 考 生 情 况 文 件 考 生 记 录 * 准 考 证 号 姓 名 通 讯 地 址 考 分 文 件 考 生 记 录 * 准 考 证 号 考 分 I I (a) 输 入 数 据 结 构 (b) 输 出 数 据 结 构 I 产 生 新 文 件 处 理 考 生 记 录 * 分 析 考 生 记 录 产 生 准 考 证 号 产 生 姓 名 产 生 通 讯 地 址 产 生 考 分 I(1) 3 2 4 7 1 6 5 4 把操作和条件分配到程序结构图的适当位置 将程序流程图映射为流图 P12731267 8459101112,36 4,58791

21、011 计算环形复杂度 P127 实例 P128-129 习题 6 第 8 题 P1321: LOOP: DO WHILE Z02: A=B+1IF A103: THEN X=A4: ELSE Y=Z5: END IFIF Y011: THEN PRINT G12: ELSE PRINT R13: END IFSTOP V(G)=6 第七章 软件测试的概念 P140目的: (1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。123 4576810911 1213定义: 为了发现程

22、序中的错误而执行程序的过程。测试绝不能证明程序是正确的 测试方法 P141 黑盒测试1 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程2 对程序接口进行测试,检查程序功能是否能按规格说明书的规定正常使用;程序是否能适当地接受输入数据并产生正确的输出信息;程序运行过程中能否保持外部信息的完整性 白盒测试1 把程序堪称装在一个透明的白盒子里,测试者完全知道程序的结构处理算法2 按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作 测试步骤 P141 单元测试:(模块测试)发现的往往是编码和详细设计的错误 集成测试:着重测试模块的接口 系统测试:发现的往往是软件设

23、计中的错误,也可能发现需要说明中的错误 验收测试:(确认测试)往往发现需求说明书中的错误白盒测试 逻辑覆盖 逻辑覆盖类型逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。从覆盖源程序语句的详尽程度分析,大致有以下一些不同程度的覆盖标准:1 语句覆盖 2 判定覆盖 3 条件覆盖 4 判定条件覆盖 5 条件组合覆盖 实例 P153 习题 7 第 4 题第(3)小题 P174 控制结构测试 基本路径测试 P1561: STARTINPUT (A,B,C,D)2: IF (A0)3: AND (B0)4

24、: THEN X=A+B5: ELSE X=A-B6: END IF7: IF CA8: OR (Dc b+ca a+cb 5 6 7 a+b0 a+b=0 b+ca b+c=a a+cb a+c=b 45 构 成 等 腰 三 角 形 a=b b=c 且 两 边之 和 a=c 大 于 第三 边 8 9 10 输 出 条 件 构 成 等 腰 三 角 形 a=b=c 1 表 4.1 例 1的 等 价 类 型 表 覆盖有效等价类的测试用例:a b c 覆盖等价类号码3 4 5 (1)-(7)4 4 5 (1)- (7) ,(8)4 5 5 (1)- (7) ,(9) 5 4 5 (1)- (7) ,(10)4 4 4 (1)- (7) ,(11)第八章 维护 软件维护的定义 P179:所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 软件维护过程 P182 :维护过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。 进行维护的原因:改正程序中的错误和缺陷;改进设计以适应新的软、硬件环境;增加新的应用范围;为了将来的维护工作。 维护分为以下几类:改正性维护;适应性维护;完善性维护;预防性维护

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报