【文档说明】软件工程部分习题讲解第五版课件.ppt,共(69)页,866.000 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-50482.html
以下为本文档部分文字说明:
11-6什么是软件过程?它与软件工程方法学有何关系?软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。
软件过程是软件工程方法学的3个重要组成部分之一。作业及解答(第1-2章)第1页,共69页。22-4目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护
系统,请分层次地画出描述本系统功能的数据流图。医院对患者2监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在
需要时还可以要求系统印出某个指定病人的病情报告。作业及解答(第3章)第2页,共69页。3作业及解答(第3章)E1护士E3时钟E2病人P0患者监护系统F1要求报告F2生理信号F3日前、时间E1护士F4警告信息、病情报告D2患者安全
范围D1患者日志F5安全范围F6日志第3页,共69页。4从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形
成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更
新日志”和“产生病情报告”的功能。为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。作业及解答(第3章)第4页,共69页。5E1护士E3时钟E2病人F1要求报告F2生
理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志第5页,共69页。6E1护士E3时钟E2病
人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号
F2生理信号F6日志D3生理信息F2生理信号定时的生理信号第6页,共69页。7E1护士E3时钟E2病人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P
2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志D3生理信息F2生理信号定时的生理信号P7制定安全范围第7页,共69页。82-5北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0
;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用定义数据字典的方法,定义上述的电话号码。作业及
解答(第3章)第8页,共69页。9数据结构的描述符号含义举例=被定义为+与x=a+b[...,...]或[...|...]或x=[a,b],x=[a|b]{...}或m{...}n重复x={a},x=3
{a}8(...)可选x=(a)“...”基本数据元素x=“a”..连结符x=1..9作业及解答(第3章)第9页,共69页。10电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+3位数字//后面继续定义校外电话号码=[本市号码|外地号码]本市号码=数字零+8位
数字外地号码=数字零+3位数字+8位数字非零数字=[1|2|3|4|5|6|7|8|9]数字零=03位数字=3{数字}3//3至3个数字8位数字=非零数字+7位数字7位数字=7{数字}7数字=[0|1|2|3|4|5|6|7|8
|9]作业及解答(第3章)第10页,共69页。113-3银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期
、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。作业及解答(第3章)第11页,共
69页。12作业及解答(第3章)E1储户P0储蓄系统E1储户F1存款单F2取款单F3存单F4利息清单D1存款信息F5存款信息F5存款信息第12页,共69页。13E1储户E1储户F1存款单F2取款单F3存单F
4利息D1存款信息F5存款信息F5存款信息E2业务员P3核算密码P4计算利息P5打印利息清单P1记录存款信息P2打印存单F7密码D2存款利率F8储蓄利率P6设置利率F8储蓄利率F8储蓄利率F6取款信息F5存款信息F7密码F4利息F4利息第13页,共69页。14E1储
户F2取款单D1存款信息P3.1输入取款信息F7密码P3.2密码校验F5存款信息F7密码无效取款信息作业及解答(第3章)第14页,共69页。15ER模型本问题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关
系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N)关系。储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、
到期日期、利率和密码则是关系类型存取款的属性。作业及解答(第3章)第15页,共69页。16作业及解答(第3章)第16页,共69页。173-6复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复
印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到
闲置状态。请用状态转换图描绘复印机的行为。作业及解答(第3章)第17页,共69页。18从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生
卡纸故障”和“排除了卡纸故障”。作业及解答(第3章)第18页,共69页。194-3一个浮点二进制数的构成是:一个可选的符号(+或-),后跟一个或多个二进制位,再跟上一个字符E,再加上另一个可选符号(+或-)及一个或多个二进制位。例如,下列的字符串都是浮点二进制
数:110101E-101-100111E11101+1E0更形式化地,浮点二进制数定义如下:〈floatingpointbinary〉∷=[〈sign〉]〈bitstring〉E[〈sign〉]〈bitstr
ing〉〈sign〉∷=+|-〈bitstring〉∷=〈bit〉[〈bitstring〉]〈bit〉∷=0|1作业及解答(第4章)第19页,共69页。20其中,符号∷=表示定义为;符号[...]表示可选项;符号a|b表示a或b。假设有这样一个有穷状态机:以一串字符为输入,判断字符串中是
否含有合法的浮点二进制数。试对这个有穷状态机进行规格说明。作业及解答(第4章)第20页,共69页。21该有穷状态机的初态是“等待字符串输人”。在初态若接收到字符十、或字符一、或二进制位,则进人“输人尾数”状态;在初态若接收到其他字符,则进人终态“非
浮点二进制数”。在“输人尾数”状态若接收到二进制位,则保持该状态不变;若接收到字符E,则进人“等待输人指数”状态;若接收到其他字符,则进人终态“非浮点二进制数”。在“等待输人指数”状态若接收到字符+、或字符一、或二进制位,则进人“输人指数”状态;若
接收到其他字符,则进人终态“非浮点二进制数”。在“输人指数”状态若接收到二进制位,则保持该状态不变;若输人其他字符,则进人终态“非浮点二进制数”;若输人结束,则进人终态“浮点二进制数”。作业及解答(第4章)第21页,共69页。22仔细研究图示的有穷状态机可以发现,它还有不够严格
的地方。有兴趣的同学请进一步改进它,画出更严格的、与浮点二进制数定义完全一致的有穷状态机。作业及解答(第4章)第22页,共69页。23补充1:请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应
等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。作业及解答(第5章)第23页,共69页。24本问题中共有三类实体,分别是“零件”、“工程项目”和“供应商”。一种零件可供应多个工程项目,一个工程项目需
要使用多种零件,因此,零件与工程项目之间的联系“供应”,是多对多(M'N)联系;类似地,零件与供应商之间的联系“订购”,也是多对多(M'N)联系。实体类型“零件”的主要属性是:零件编号,零件名称,颜色,重量。实体类型“
工程项目”的属性主要是:项目编号,项目名称,开工日期。实体类型“供应商”的属性主要有:供应商编号,供应商名称,地址。联系类型“供应”的属性是,向某工程项目供应的某种零件的数量。联系类型“订购”的属性是,向某供应商订购的某种零件的数量。作
业及解答(第5章)第24页,共69页。25第25页,共69页。26作业及解答(第5章)补充2:某火车售票系统的数据流程图如下所示录入员1接受查询查询信息查询信息2分析查询4按班次查询6查询显示3按日期查
询5按线路查询旅客班次日期线路查询结果查询结果查询结果查询结果第26页,共69页。27作业及解答(第5章)接受查询输入信息查询信息列车查询主模块查询显示分析查询按日期查询按班次查询按线路查询查询信息查询信息查询结果查询结果日期班次线
路第27页,共69页。28补充3、已知某定货系统的需求分析DFD图如下,请按SD方法的设计步骤画出结构图。顾客编辑定货单确定顾客订货产生暂存订货单开发货单并改库存业务员顾客D1配件D2顾客文件D3配件库存D4暂存订货单D4暂存订货
单D5销售历史D6应收款明细帐发货单可发货不合格订货单订货单合格订货单不满足订货单作业及解答(第5章)第28页,共69页。29定货系统审核定货单编辑订货单获取配件信息获取顾客信息输出订信息处理顾客订货获取配件库存产生发货单产生应收款明细帐存储订货单产生销售历史发货暂存发货获取订货单获取订货及库
存信息订货单订货单配件信息顾客信息合格订货单订货单订货单合格订货单配件库存合格订货单配件库存合格订货单配件库存合格订货单合格订货单发货单暂存订货单账款信息销售信息暂存订货单暂存订货单合格订货单暂存订货单暂存订货单第29页,共69页。30
补充4、已知某系统的需求分析给出的系统数据流程图如下,画出结构图AC3C2C1GJKLFEBDabb1b2b3c1c2c3defghjklm作业及解答(第5章)第30页,共69页。31变换FGFGEddeehffjfgg第31页,共69页。32P104:3用面向数据流的方法设计下列系统的软件
结构(1)储蓄系统2-2(2)机票预定系统2-3为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统
核对无误即印出机票给顾客(2)患者监护系统2-4作业及解答(第5章)第32页,共69页。33E1储户E1储户F1存款单F2取款单F3存单F4利息D1存款信息F5存款信息F5存款信息E2业务员P3核算密码P4计算利息P5打
印利息清单P1记录存款信息P2打印存单F7密码D2存款利率F8储蓄利率P6设置利率F8储蓄利率F8储蓄利率F6取款信息F5存款信息F7密码F4利息F4利息第33页,共69页。34E1储户F2取款单D1存
款信息P3.1输入取款信息F7密码P3.2密码校验F5存款信息F7密码无效取款信息作业及解答(第5章)第34页,共69页。35E1储户E1储户存款单密码存单利息存款信息E2业务员P4计算利息P5打印利息清单P1
记录存款信息P2打印存单取款单利率P6设置利率利率密码正确信息利息P3.1输入取款信息P3.2密码校验取款信息E1储户E1储户不能是两个分开的子系统,是相同的前台单个处理第35页,共69页。36不能是两个分开的子系统,是相同的前台单个处理银行储蓄系统业务单据录入存款利率设置存款单据输入取款单据
输入储蓄业务处理存款取款存单利息清单利率存款单取款单密码存款单取款单密码利息清单存单密码存款单存单利率利率利息单据输出存单利息清单第36页,共69页。37旅行社顾客机票预定系统旅客信息机票预定信息机票顾客账单、取票通
知旅客信息机票旅行社账单、取票通知作业及解答(第5章)第37页,共69页。38航班信息P1录入预定信息P2安排航班P3顾客取票旅行社旅客信息账单机票取票通知预定信息机票顾客取票通知旅客信息机票旅客信息航班信息账单取票通知取票通知账单机票作业及解答(第5章)第38页,共69页。
39航班信息旅客信息账单机票取票通知机票旅客信息航班信息账单取票通知P2.1安排航班P2.3打印取票单据P2.1设置航班航班信息航空公司航班信息机票作业及解答(第5章)第39页,共69页。40账单机票取票通知机票顾客取票通知机票账单取票信息P3.1核对取票凭证P3.2交款P3
.3打印机票时钟日期账单取票通知交款信息顾客机票交款信息信息取票作业及解答(第5章)第40页,共69页。41P1录入预定信息旅行社预定信息机票顾客旅客信息机票航班信息账单取票通知取票通知账单机票P2.1设置航班航空公司P2.1安排航班航班信息P2.3打印取票单据P3.1核对
取票凭证P3.2交款P3.3打印机票顾客可以是两个子系统,预定和取票是不同的处理方式(后台批量和前台单个)第41页,共69页。42机票预定系统机票预定子系统机票发放子系统预定信息处理安排航班录入预定信息设置航班打印取票单据取票
凭证处理录入取票凭证核对取票凭证交款打印及发放机票航班信息预定信息航班信息预定信息机票信息通知单账单机票信息机票信息通知单账单通知单通知单有效通知账单有效通知账单机票第42页,共69页。43E1护士E3时钟E2病人F1要求报告F2生理信号F
3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F
2生理信号F6日志D3生理信息F2生理信号定时的生理信号P7制定安全范围第43页,共69页。44患者监护系统患者生理信号获取制定生理信号安全范围接收信号定时取样生理信号监护处理分析信号更新日志报警病情报告生理信号范围生理信号定时生理信号生理信号范围定时生理信号日志危机信息生理信
号危机信息生理信号定时生理信号日志监护信息输出日志危机信息生理信号取得时间时间第44页,共69页。45美国某大学有200名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过$26000(含$26000)的教师工资将保持不变,年工资少于$26000的教师将增加工资,所增加工
资数额按下述方法计算:给每位教师所赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助¥50,但是,增加后的年工资总额不能多于$26000。教师工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养
的人数、雇佣日期等信息。需要写一个程序计算并印出每名教师的原工资和调整后的新工资。要求:(1)画出此系统的数据流图;(2)写出需求说明;(3)设计上述的工资调整程序(要求用HIPO图描绘设计结果),设计时分别采用两种算法,并比较两种算法的优缺点:(a)搜索工资档案数据,找出年工资少
于$26000的人,计算新工资,校核是否超过$26000,存储新工资,印出新旧工资对照表;(b)把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$26000时即停止排序,计算新工资,校核是否
超过限额,存储新工资,印出结果。(4)你所画出的数据流图适应用那种算法?第45页,共69页。46E1行政办公室工资调资系统工资档案E1行政办公室调资后工资档案原工资档案调资后工资档案作业及解答(第5章)第46页,共69页。47E1行政办公室P1导入原工资
档案工资档案E1行政办公室调资后工资档案原工资档案P2输入调资标准P5输出工资对照表P4核对工资P3调整工资调资标准工资标准调资标准调资标准调资标准调资后工资档案作业及解答(第5章)第47页,共69页。48工资调资系统导入调资档案导入工资档案输入调资
标准调资计算新工资校核新工资打印工资对照表检索需调资工资数据更新新工资数据作业及解答(第5章)第48页,共69页。49工资调资系统导入调资档案导入工资档案输入调资标准调资计算新工资校核新工资打印工资对照表工资数据整理排序更新新工资数据作业及解答(第5章)第49页,共69页。50P131:3画
出下列伪码程序的程序流程图和盒图STARTIFpTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP作业及解答(第6章)第50页,共69页。51作业及解答(第6章)第51页,共69页。52P
131:4下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序开始pqg停止TFF
T作业及解答(第6章)第52页,共69页。53(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的
程序。开始pqg停止TFFT作业及解答(第6章)第53页,共69页。54(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图示盒图描绘了等价的结构化程序。作业及解答(第6章)第54页
,共69页。55(3)不使用flag把该程序改造为等价的结构化程序的方法如图所示。作业及解答(第6章)第55页,共69页。56CEXAMPLELOOP:DOWHILEX>0A=B+1IFA>10THENX=AELSEY=ZENDIFIFY
<5THENPRINTX,YELSEIFY=2THENGOTOLOOPELSEC=3ENDIFENDIF画出下列伪码程序的流图,计算它的环形复杂度。你觉得这个程序的逻辑有什么问题吗?G=H+RENDDOIFF>0THENPRINTGELSEPRINTKEN
DIFSTOP作业及解答(第6章)第56页,共69页。57Z>0A>10Y=2F>0Y<5A=B+1Y=ZG=H+RC=3X=APrintGPrintKPrintX,YstopSTARTTTTTFFY>=5FFTF1456823791011111111V(G)=结点E-弧数n+1=17-
11+1=7=判断结点+1=6+1=7=封闭的区域数第57页,共69页。58P142:7令P代表交易的总金额,Q代表每股的售价,n代表交易的股数。(1)表示手续费计算方法的判定表如图所示。判定表的每一列是一条计算规则。例如,第1列(规则1)规定,当交易总金额
P少于1000元,且每股售价Q低于14元,且交易的股数n是100的倍数时,给经纪人的手续费为(l+0.05)×0.084P第16列(规则16)表明,当交易总金额P超过10000元,且每股售价Q在14元到25元
之间,且交易的股数n不是100的倍数时,手续费为(1+0.06)×(0.04P+134)(2)表示手续费计算方法的判定树如图所示。作业及解答(第6章)第58页,共69页。59作业及解答(第7章)第59页,共69页。60作业及解答(第7章)第60页,共69页。61补充1、某高校研究生招生系统的
初选方法如下:总分300(含)以上进入候选学生库,否则退档;数学分数不低于70分,则进入三级备选库,否则进入四级备选库;在三级备选库的基础上,如果专业课分数高于100分,则进入一级备选库,否则进入二级备选库,请画出对应的判定树。
作业及解答(第6章)第61页,共69页。62作业及解答(第6章)第62页,共69页。63补充2、某校的课酬计算方案如下:(l)基本课酬为每节课10元;(2)如果班级人数超过40人,课酬增加:基本课酬×0.1;(3)如果班级人数超过60人,课酬增加:基本课酬×0.2;
(4)如果教师是副教授,课酬增加:基本课酬×0.1;(5)如果教师是教授,课酬增加:基本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬减少:基本课酬×0.1。请用判定表表达上述计算方案。作业及解答(第6章)第63页,共69页。64123456789101112人数≤40T
TTT40<人数≤60TTTT人数>60TTTT助教TTT讲师TTT副教授TTT教授TTT课酬:9元/节√课酬:10元/节√√课酬:11元/节√√√课酬:12元/节√√√课酬:13元/节√√课酬:14元/节√第64页,共69页。65补充作业:设计一个软件开发规范,假象一种开发环境(硬件、
系统软件、支持软件、数据库、开发语言等)。规范内容尽量考虑多方面问题:如SQL语言规范、交互界面、编码风格、命名、设计文档、单元测试等作业及解答(第7章)第65页,共69页。66P174:5某图书馆有一个使用CET终端的信
息检索系统,该系统有下列4个基本检索命令:……………..(1)设计测试数据以全面系统的正常操作(2)设计测试数据以测试系统的非正常操作作业及解答(第7章)第66页,共69页。67STARTINPUT(A,B,C
)//判定表达式1IFA>5THENX=10ELSEX=1ENDIF//判定表达式2IFB>10THENY=20ELSEY=2ENDIF作业(第7章)//判定表达式3IFC>15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)ST
OPP174:4(3)、设计下列伪码程序的语句覆盖和路径覆盖测试用例:第67页,共69页。68作业(第7章)序号判定输入预期的输出123ABCXYZ1FFF1111232TTT204060102030语句覆盖的测试用例第68页,共69页。69作业(第7章)序号判定输入预期的
输出123ABCXYZ1FFF1111232FFT116012303FTF140112034FTT14060120305TFF201110236TFT20160102307TTF20401102038TTT2040601020
30路径覆盖的测试用例第69页,共69页。