为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

自-软件工程导论-第五版_课后习题答案(清华大学出版社)张海藩著65997

2022-04-28 2页 doc 678KB 0阅读

用户头像 个人认证

is_338316

暂无简介

举报
自-软件工程导论-第五版_课后习题答案(清华大学出版社)张海藩著65997第1页ﻮ第一章ﻮz软件工程方法学(3 个要素) :通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。三要素:方法、工具和过程。zﻩ软件生命周期模型–瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件 3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。–缺点:传统的瀑布模型过于理想化,是由文档驱动的。–ﻩ快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。–ﻩ增量模型:优点:能在较短时间内向...
自-软件工程导论-第五版_课后习题答案(清华大学出版社)张海藩著65997
第1页ﻮ第一章ﻮz软件工程方法学(3 个要素) :通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。三要素:方法、工具和过程。zﻩ软件生命周期模型–瀑布模型:优点:1.可强迫开发员采用的方法2.严格地规定了每个阶段必须提交的文件 3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。–缺点:传统的瀑布模型过于理想化,是由文档驱动的。–ﻩ快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。–ﻩ增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。–ﻩ螺旋模型:优点:对可选和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。1-1什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问。1-2什么是软件工程?是指导计算机软件开发和维护的一门工程学科。1-3简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2种):1.ﻩ传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。2.面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。1-4 软件生命周期划分成哪些阶段z软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。1.ﻩ软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。3.维护时期:主要任务是使软件持久地满足用户的需要。1-5什么是软件过程?它与软件工程方法学有何关系?zﻩ软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤zﻩ软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型1-6传统“瀑布模型”的主要缺陷是什么?试说明改进的方法。传统的瀑布模型过于理想化了。增加“反馈环”第二章z可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决。zﻩ可行性研究的任务:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性:zﻩ技术上的可行性——使用现有的技术能实现这个系统吗?zﻩ经济上的可行性——这个系统的经济效益能超过它的开发成本吗?(投资与效益)zﻩ操作可行性 ——系统的操作方式在这个用户组织内行得通吗?z社会、政策允许的可行性5.为每个可行的解决方案制定一个粗略的实现进度6.对以后的行动方针提出建议方法:1.系统流程图2.数据流图:(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。符号数据ﻩ处理源点ﻮ处理数据存储ﻮ数据流HYPERLINKﻩ第1页第2页3.数据字典:是关于数据的信息的集合,也就是对数据流图中饮食的所有元素的定义的集合。数据流图与数据字典共同构成系统的逻辑模型。4.成本/效益分析5.数据流图–ﻩ定货系统P32–ﻩ习题2 第2题P43(银行储蓄系统)–习题 2 第3 题P43(机票预订系统)–习题2第4题 P43(医院监护系统)D1 患者安全范围患者安全病人生理号ﻮ11ﻩ生理接处受理信号信事务ﻮ2ﻩ3危机病产生警告分析ﻩ信息人信息信号ﻮ护士病情报告时钟日期时间51定处时理事样务6定时生更新日志日志理信号ﻮ7产生病情要求日志ﻩ报告护士数据D1患者日志6.数据定义1、顺序 +ﻩ2、选择〔|〕3、重复下限{ﻩ}上限–ﻩ定货系统 P39–习题2第 5题 P442-1应该从哪些方面研究目标系统的可行性?zﻩ技术上的可行性——使用现有的技术能实现这个系统吗?z经济上的可行性 ——这个系统的经济效益能超过它的开发成本吗?(投资与效益)z操作可行性 ——系统的操作方式在这个用户组织内行得通吗?z社会、政策允许的可行性2-2为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系 统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息 并印出利息清单给储户。请画出此系统的数据流图。第2页第3页ﻩ HYPERLINK 1.1 记录存款信息存款信息ﻮ1.2打印存单存款信息储户ﻩD1 存款信息ﻩ储户2.1验证存款信息存款2.2计算利息2.3打印利息清单信息ﻩ值zﻩ某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息(姓名、性别…等)输入进该系统,系统为旅客安排航班,印出取票和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。旅客ﻩ取票通知账单/票款ﻮ2.1交款ﻮ2.2打印机票信息订票信息ﻮ交款信息旅客D1订票信息旅行社旅客ﻮ1.11旅客信 息旅客1.2航班信息机票ﻮ1.3取票通知息处理录入信ﻩ安排航班事务ﻮ打印处理2-3北京某高校可用的电话号码由以下几类:校内电话号码由4 位数字组成,第一位数字不是零;校外电话又分为本市电话和外地电话两类,拨校外电话先拨0,若是本地电话再接着拨 8 位数字(固话第一位不是0)或11位数字(移动电话第一位为1);若是外地电话,则拨3位区码再拨8位电话号码(固话第一位不是0),或拨0再拨 11位数字(移动电话第一位为1)。请用数据定义的方法,定义上述电话号码。电话号码=[校内号码|校外号码]校内号码=非0数字+3{数字}3HYPERLINK第3页第 4页ﻩHYPERLINK 校外号码=0+[本地号码|外地号码]本地号码=[固话号码|手机号码]固话号码=非 0 数字+7{数字}7手机号码=1+10{数字}10外地号码= [外地固话号码|外地手机号码]外地固话号码=3{数字}3+固话号码外地手机号码=0+手机号码非0数字=[1|2|3|4|5|6|7|8|9]第三章z需求分析的准则:1、必须并描述的信息域,根据这条准则应该建立数据模型。2、必须定义软件应完成的功 能,这条准则要求建立功能模型。3、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。4、必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。zﻩ需求分析的任务(P46)1、确定对系统的综合要求;2、分析系统的数据要求;3、导出系统的逻辑模型;4、修正系统开发计划。zﻩ方法–实体-联系图z教学管理系统 P54姓名ﻩ性别ﻩ职称ﻮ姓名ﻩ性别ﻩ系教工号职务学号年级课程号课名学时学分z习题 3 第3 题P63 (银行储蓄系统)姓名住址电话号码身份证号码名称地址ﻮ电话号码储户ﻩ存取款ﻮ储蓄所数额类型到期日利率密码HYPERLINK第4 页第5页zﻩ习题 3第5题 P63(医院监护系统)ﻮHYPERLINK姓名住址电话号住院号姓名ﻩ科室工作证病人ﻩNﻮ监护Mﻩ护士–数据流图–状态转换图时间ﻩ脉搏ﻩ体温血压ﻮ心电图z电话系统 P57zﻩ习题 3 第6题P63(复印机)排除卡纸故障ﻩ卡纸复印命令闲置完成复印命令装满纸复印do/复印卡纸 发现缺纸do/警告缺纸do/警告zﻩ总体设计的任务第五章划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等设计软件的结构。也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。z总体设计过程两个阶段1.系统设计阶段,确定系统的具体实现方案;2.结构设计阶段,确定软件结构。zﻩ总体设计过程 9个步骤1设想供选择的方案2选取合理的方案3推荐最佳方案 4功能分解5 设计软件结构6设计数据库7 制定测试计划8 书写文档9审查和审核HYPERLINK 第5页第6页ﻩHYPERLINK z低耦合(5种类型)1.数据耦合:数据传递 2.控制耦合:控制信息传递3.特征耦合:传过多的信息给被调用模块4.公共环境耦合:因全局变量,共享通信区ﻩ5.内容耦合:诸如一个模块访问另一个模块内部z高内聚(7种类型)功能内聚10分 顺序内聚9分ﻩ通信内聚ﻩ7 分ﻩ过程内聚ﻩ5分时间内聚3分ﻩ逻辑内聚ﻩ1分ﻩ偶然内聚0分z面向数据流的设计方法P95–变换流z数字仪表板系统P96旋转信号读入旋转信号信号数/秒ﻮ确定加速/减速ﻩ箭头指示(SPS)ﻮ收集ﻩ△SPS并求 平均△SPSﻮ产生加速/减速显示下箭头燃料流量传感器信号读入并核实ﻮ燃料流量转换成 转/分(rpm)rpm计算ﻮrpm计算 里程上箭头英里产生水平线计算gphﻮgphﻮmph计算燃料消耗mph和超速值ﻮ里程超速值显示发出警告铃声mph显示警告铃声产生mpg显示mpg产生mph显示mpg显示ﻮmph显示数字仪表板控制转换成rpm读旋转信号接收传感器信号数据转换控制驱动仪表板计算计算计算显示显示显示发出警mphmpg里程mphmpg里程报铃声计算gph读燃料流量确定加速/减速ﻮ加速/减速显示发光二极管显示z患者监护系统(参见习题 2第 4题)–ﻩ事务流zﻩ用户命令交互子系统(DFD)HYPERLINK第 6页第7 页ﻩ HYPERLINK 格式化配用户系统参数数据命令ﻮ原配置数据置建立配数据读系统ﻮ置文件读用户 命令配置命令ﻮ数据ﻩ配置信息格式化命令类型命令分析处理开/关命令ﻮ激活/非活动系统ﻮ配置数据A/D信息配置数据显示信息和状态密码命令读ﻮ检验信 显示信息密码ﻩ密码息四位数 字ﻮ与文件中 密码比较ﻮ检验信息检验信 息过程ﻮ重试信息SC图ﻮ用户执行模块读用户命令命令处理系统设置 控制器现用/非现用系统ﻮ密码处理控制器读系统数据建立配 置文件读 用文件密码比较密码ﻮ密码输出控制器显示信息与状态产生无效信息机票预订系统(参见习题 2第 3题)HYPERLINK ﻩ第7页第8 页zﻩ结构程序设计概念 P108ﻮ第六章ﻮHYPERLINK–如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,而且每个代码块只有一个入口和一个出口,则称这个程序是结构化的z结构程序设计3种概念类型 P1091、经典的结构程序设计只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环着三种基本控制结构2、 扩展的结构程序设计还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构3、修正的结构程序设计ﻩ还允许使用EXIT(或BREAK)结构方法1、人机界面设计2、过程设计的工具P1143、面向数据结构的设计方法——Jackson方法4、程序复杂程度的定量度量P127–ﻩMcCabe方法 根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。可用三种方法之一来计算复杂性:1.流图中区域的数量对应于环形的复杂度;2.ﻩ流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的数量,N是流图中节点的数量;3.ﻩ流图 G的环形复杂度 V(G)=P+1,其中,P是流图中判定节点的数量–Halstead 方法z程序流程图P114–习题六第3题P131画出下列伪程序的程序流程图和盒图STARTIFﻩp THENWHILEqﻩDOFENDDOELSEBLOCKGNENDBLOCKENDIFFPﻩTGQFNSTOP开始GNFPﻩTQﻩﻩFF结束 HYPERLINK 第8 页第9页HYPERLINKzPAD(问题分析)图12345教授TFFF副教授FTFF讲师FFTF助教FFFT讲座TFFFF50×30×25×20×15×zﻩ判定表 P117–ﻩ行李托运费计算P118–讲课课时津贴计算ﻮ某校制定了教师的讲课课时津贴。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴 费:教授30元,副教授25元,讲师20元,助教15 元。z判定树 P118–行李托运费计算P119–讲课课时津贴计算教授30课时津贴一般授课讲座副教授ﻩ25讲师ﻩ20助教ﻩ15z zz z50z过程设计语言(PDLJackson设计方法的步骤(5步)P122–ﻩ实例 P123–高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。考生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。考生情况文件I考生记录*准考证号ﻩ姓名ﻩ通讯地址ﻮ考分文件I考生记录*准考证号考分考生新文件I考生记录*准考证号姓名通讯地址ﻩ考分(a)输入数据结构ﻩ(b) 输出数据结构HYPERLINK第9页操作:(第10页ﻩ HYPERLINK1)停止;(2)打开两个输入文件;(3)建立输出文件。(4)从输入文件中各读一条记录。(5)生成一条新记录。(6)将新记录写入输出文件。(7)关闭全部文件。条件:I(1)文件结束。产生新文件23ﻩ4分析考生记录7ﻩ1I(1)处理考生记录*产生准考证号产生姓名ﻩ产生通讯地址ﻩ产生考分ﻮ5ﻩ6ﻩ4把操作和条件分配到程序结构图的适当位置z将程序流程图映射为流图P1271122,3364785910ﻮ6ﻩ4,5879101111z计算环形复杂度 P127实例P128-129习题 6第8题P1321:LOOP: DO WHILE Z>02:A=B+1IFA>103:ﻩTHENX=A4:ELSEY=Z5:ﻩEND IFHYPERLINKﻩ第 10页第 11页6:7:8:9:IFY<5THEN PRINTX,YELSE IF Y=2THEN GOTOLOOP ELSE C=3ENDIF ENDIFG=H+RENDDOﻮ1HYPERLINK 23ﻩ410:IF F>011:ﻩTHENPRINTGﻩ512:ﻩELSE PRINTR13:ﻩENDIFSTOPV(G)=6ﻩ67第七章zﻩ软件测试的概念 P140目的:ﻩ(1)测试是为了发现程序中的错误而执行程序的过程;ﻩ8(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。定义:为了发现程序中的错误而执行程序的过程。9测试绝不能证明程序是正确的z测试方法 P141–黑盒测试1把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程102对程序接口进行测试,检查程序功能是否能按规格说明书的规定正常使用;程序是否能适当地接受输入数据并产生正确的输出信息;程序运行过程中能否保持外部信息的完整性–白盒测试ﻮ11121 把程序堪称装在一个透明的白盒子里,测试者完全知道程序的结构处理算法2按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作ﻩ13z测试步骤 P141–单元测试:(模块测试)发现的往往是编码和详细设计的错误–集成测试:着重测试模块的接口白盒测试ﻮ–系统测试:发现的往往是软件设计中的错误,也可能发现需要说明中的错误–ﻩ验收测试:(确认测试)往往发现需求说明书中的错误z逻辑覆盖–逻辑覆盖类型逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。从覆盖源程序语句的详尽程度分析,大致有以下一些不同程度的覆盖标准:1 语句覆盖2判定覆盖3条件覆盖4 判定/条件覆盖 5条件组合覆盖–实例 P153–习题 7第 4题第(3)小题P174z控制结构测试–ﻩ基本路径测试P156HYPERLINK ﻩ第11页第12页ﻩ HYPERLINK1:ﻩSTARTINPUT (A,B,C,D)2:IF(A>0)3:ﻩAND (B>0)4:THENX=A+B测试用例:路径1:1-2-3-4-6-7-9-11-12 路径2:1-2-5-6-7-9-11-12路径3:1-2-3-5-6-7-9-11-12路径4:1-2-3-4-6-7-8-9-11-12 路径4:1-2-3-4-6-7-8-10-11-125:ELSEX=A-B6:ENDIF7:ﻩIFC>A8:ﻩOR(Daa+c>b567a+b<0a+b=0b+c
/
本文档为【自-软件工程导论-第五版_课后习题答案(清华大学出版社)张海藩著65997】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索