1、13:07:42软件工程作业解答13:07:42作业一作业一 基本概念基本概念(第(第1-2章)章)作业二作业二 需求分析需求分析(第(第3章)章)作业三作业三 系统设计系统设计(第(第5章)章)作业四作业四 详细设计详细设计(第(第6章)章)作业五作业五 系统实现系统实现(第(第7章)章)作业六作业六 系统维护系统维护(第(第8章)章)作业七作业七 面向对象方法学引论面向对象方法学引论(第(第9章)章)作业八作业八 面向对象分析面向对象分析(第(第10章)章)作业九作业九 面向对象设计面向对象设计(第(第11章)章)作业十作业十 面向对象实现面向对象实现(第(第12章)章)作业十一作业十一
2、软件项目管理软件项目管理(第(第13章)章)作业及解答13:07:42作业及解答(第1-2章)1-5 1-5 根据历史数据可以做出如下的假设根据历史数据可以做出如下的假设 :对计算机存储容量的需求大致按下面公式描述的趋势逐年对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:增加:M=4080eM=4080e0.28(Y-1960)0.28(Y-1960)存储器的价格按下面公式描述的趋势逐年下降:存储器的价格按下面公式描述的趋势逐年下降:P1=0.3P1=0.30.720.72Y-1974Y-1974(美分美分/位位)如果计算机字长为如果计算机字长为1616位,则存储器价格下降的趋势为:位
3、,则存储器价格下降的趋势为:P2=0.048P2=0.0480.720.72Y-1974Y-1974(美元美元/字字)在上列公式中在上列公式中Y Y代表年份,代表年份,M M是存储容量是存储容量(字数字数),P1P1和和P2P2代代表价格。表价格。基于上述假设可以比较计算机硬件和软件成本的变化趋势基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:。要求计算:13:07:42(1)(1)在在19851985年对计算机存储容量的需求估计是多少年对计算机存储容量的需求估计是多少?如果字如果字长为长为1616位,这个存储器的价格是多少位,这个存储器的价格是多少?(2)(2)假设在假设在19
4、851985年一名程序员每天可开发出年一名程序员每天可开发出1010条指令,程条指令,程序员的平均工资是每月序员的平均工资是每月40004000美元。如果一条指令为一个字美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。长,计算使存储器装满程序所需用的成本。(3)(3)假设在假设在19951995年存储器字长为年存储器字长为3232位,一名程序员每天可位,一名程序员每天可开发出开发出3030条指令,程序员的月平均工资为条指令,程序员的月平均工资为60006000美元,重复美元,重复(1)(1)、(2)(2)题。题。作业及解答(第1-2章)13:07:42l(1)在在1985年对计
5、算机存储容量的需求,估计是年对计算机存储容量的需求,估计是l如果字长为如果字长为16位,则这个存储器的价格是位,则这个存储器的价格是l(2)如果一条指令的长度为一个字,则使存储器装满程序如果一条指令的长度为一个字,则使存储器装满程序共需共需4474263条指令。条指令。l在在1985年一名程序员每天可开发出年一名程序员每天可开发出10条指令,如果每月条指令,如果每月有有20个工作日,则每人每月可开发出个工作日,则每人每月可开发出1020条指令。条指令。l为了开发出为了开发出4474263条指令以装满存储器,需要的工作量条指令以装满存储器,需要的工作量是:是:)19601985(28.04080
6、eM74080e)(263,474,4字447426372.0048.019741985P)(7895美元,)(371222004474263人月,作业及解答(第1-2章)13:07:42l程序员的月平均工资是程序员的月平均工资是4000美元,美元,开发出开发出4474263条指条指令的成本是令的成本是l(3)在在1995年对存储容量的需求估计为:年对存储容量的需求估计为:l如果字长为如果字长为32位,则这个存储器的价格是:位,则这个存储器的价格是:l如果一条指令为一个字长,则为使存储器装满程序共需如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。条指令。l在在199
7、5年一名程序员每天可开发出年一名程序员每天可开发出30条指令,每月可开条指令,每月可开发出发出600条指令,为了开发出可装满整个存储器的程序,条指令,为了开发出可装满整个存储器的程序,需要的工作量为需要的工作量为)(00048489400022371美元,)19601995(28.04080eM8.94080e)(679,577,73字7357767972.032003.019741995P)(127,7美元)(62912260073577679人月,作业及解答(第1-2章)13:07:42l开发上述程序的成本为:开发上述程序的成本为:u1-6 1-6 什么是软件过程什么是软件过程?它与软件工
8、程方法学有何关系它与软件工程方法学有何关系?软件过程是为了开发出高质量的软件产品所需完成的一系软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的软件过程是软件工程方法学的3个重要组成部分之一。个重要组成部分之一
9、。)(790,776,7356000122629美元作业及解答(第1-2章)13:07:422-4 2-4 目前住院病人主要由护士护理,这样做不仅需要大量目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请者监护系统,请分层次地画出描述本系统功能的数据流图分层次地画出描述本系统功能的数据流图。医院对患者医院对患者8 8监护系统的基本要求是随时接收每个病人的监护系统的基本要求是随时接收每个病
10、人的生理信号生理信号(脉搏、体温、血压、心电图脉搏、体温、血压、心电图等等),定时记录病人,定时记录病人情况以形成患者情况以形成患者日志日志,当某个,当某个病人病人的生理信号超出医生规的生理信号超出医生规定的安全范围时向定的安全范围时向值班护士值班护士发出警告信息,此外,护士在发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的需要时还可以要求系统印出某个指定病人的病情报告病情报告。作业及解答(第3章)13:07:42作业及解答(第3章)13:07:42l从问题陈述可知,本系统数据源点是从问题陈述可知,本系统数据源点是“病人病人”和和“护士护士”,他们分别提供,他们分别提供生理信号
11、生理信号和要求和要求病情报告病情报告的信息。进一步的信息。进一步分析问题陈述,从系统应该分析问题陈述,从系统应该“定时记录病人情况以形成患定时记录病人情况以形成患者者日志日志”这项要求可以想到,还应该有一个提供日期和时这项要求可以想到,还应该有一个提供日期和时间信息的间信息的“时钟时钟”作为数据源点。作为数据源点。l从问题陈述容易看出,本系统的数据终点是接收警告信息从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。和病情报告的护士。l系统对病人生理信号的处理功能主要是系统对病人生理信号的处理功能主要是“接收信号接收信号”、“分析信号分析信号”和和“产生警告信息产生警告信息”。
12、l此外,系统还应该具有此外,系统还应该具有“定时取样生理信号定时取样生理信号”、“更新日更新日志志”和和“产生病情报告产生病情报告”的功能。的功能。l为了分析病人生理信号是否超出了医生规定的安全范围,为了分析病人生理信号是否超出了医生规定的安全范围,应该存储应该存储“患者安全范围患者安全范围”信息。此外,定时记录病人生信息。此外,定时记录病人生理信号所形成的理信号所形成的“患者日志患者日志”,显然也是一个数据存储。,显然也是一个数据存储。作业及解答(第3章)13:07:4213:07:4213:07:4213:07:422-5 2-5 北京某高校可用的电话号码有以下几类:校内电话号北京某高校可
13、用的电话号码有以下几类:校内电话号码由码由4 4位数字组成,第位数字组成,第1 1位数字不是位数字不是0 0;校外电话又分为本;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨市电话和外地电话两类,拨校外电话需先拨0 0,若是本市,若是本市电话则再接着拨电话则再接着拨8 8位数字位数字(第第1 1位不是位不是0)0),若是外地电话则,若是外地电话则拨拨3 3位区码再拨位区码再拨8 8位电话号码位电话号码(第第1 1位不是位不是0)0)。请用定义数据字典的方法,定义上述的电话号码。请用定义数据字典的方法,定义上述的电话号码。作业及解答(第3章)13:07:42l数据结构的描述数据结构的描述
14、 符符 号号 含含 义义 举举 例例 被定义为被定义为 与与 x x=a ab b.,.或或.|.或或 x=a,b,x=a|b.或或 m.n 重复重复 x=a,x=3a8(.)可选可选 x=(a)“.”基本数据元素基本数据元素 x=“a”.连结符连结符 x=1.9作业及解答(第3章)13:07:42l电话号码电话号码=校内电话号码校内电话号码|校外电话号码校外电话号码l校内电话号码校内电话号码=非零数字非零数字+3 位数字位数字 /后面继续定义后面继续定义l校外电话号码校外电话号码=本市号码本市号码|外地号码外地号码l本市号码本市号码=数字零数字零+8位数字位数字l外地号码外地号码=数字零数字
15、零+3位数字位数字+8位数字位数字l非零数字非零数字=1|2|3|4|5|6|7|8|9l数字零数字零0l3位数字位数字3数字数字3 /3至至3个数字个数字l8位数字位数字=非零数字非零数字+7位数字位数字l7位数字位数字=7数字数字7l数字数字0|1|2|3|4|5|6|7|8|9作业及解答(第3章)13:07:423-33-3 银行计算机储蓄系统的工作过程大致如下:银行计算机储蓄系统的工作过程大致如下:储户储户填写填写的的存款单存款单或或取款单取款单由由业务员业务员键入系统,如果是存款则系统键入系统,如果是存款则系统记录记录存款人存款人姓名、住址姓名、住址(或电话号码或电话号码)、身份证号
16、码、身份证号码、存款存款类型类型、存款日期、到期日期、利率及密码、存款日期、到期日期、利率及密码(可选可选)等信息,等信息,并印出并印出存单存单给储户;如果是给储户;如果是取款取款而且而且存款时留有密码存款时留有密码,则,则系统首先系统首先核对储户密码核对储户密码,若密码,若密码正确正确或存款时或存款时未留未留密码,密码,则系统则系统计算计算利息利息并并印出印出利息清单利息清单给储户。给储户。请用数据流图描绘本系统的功能,并用实体请用数据流图描绘本系统的功能,并用实体-联系图描绘联系图描绘系统中的数据对象。系统中的数据对象。作业及解答(第3章)13:07:42作业及解答(第3章)13:07:4
17、213:07:42作业及解答(第3章)13:07:42lER模型模型本问题中共有两类实体,分别是本问题中共有两类实体,分别是“储户储户”和和“储蓄所储蓄所”,在它们之间存在在它们之间存在“存取款存取款”关系。因为一位储户可以在多关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取存取款款”是多对多(是多对多(M:N)关系。)关系。储户的属性主要有储户的属性主要有姓名、住址、电话号码和身份证号码姓名、住址、电话号码和身份证号码,储蓄所的属性主要是储蓄所的属性主要是名称、地址和电话号码名称、地址和电话号码,而,而数额、类数额、类型
18、、到期日期、利率和密码型、到期日期、利率和密码则是则是关系类型存取款关系类型存取款的属性。的属性。作业及解答(第3章)13:07:42作业及解答(第3章)13:07:42l3-6 复印机的工作过程大致如下:未接到复印命令时处于复印机的工作过程大致如下:未接到复印命令时处于闲置闲置状态,一旦接到状态,一旦接到复印命令复印命令则进入则进入复印复印状态,状态,完成一个完成一个复印命令复印命令规定的工作后又回到闲置状态,等待下一个复印规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时命令;如果执行复印命令时发现没纸发现没纸,则进入,则进入缺纸缺纸状态,状态,发出警告,等待装纸,发出警告
19、,等待装纸,装满纸装满纸后进入闲置状态,准备接收后进入闲置状态,准备接收复印命令;如果复印时发生复印命令;如果复印时发生卡纸故障卡纸故障,则进入,则进入卡纸卡纸状态,状态,发出警告等待维修人员来排除故障,发出警告等待维修人员来排除故障,故障排除故障排除后回到闲置后回到闲置状态。状态。l请用状态转换图描绘复印机的行为。请用状态转换图描绘复印机的行为。作业及解答(第3章)13:07:42l从问题陈述可知,复印机的状态主要有从问题陈述可知,复印机的状态主要有“闲置闲置”、“复印复印”、“缺纸缺纸”和和“卡纸卡纸”。引起状态转换的事件主要是。引起状态转换的事件主要是“复印命令复印命令”、“完成复印命令
20、完成复印命令”、“发现缺纸发现缺纸”、“装满装满纸纸”、“发生卡纸故障发生卡纸故障”和和“排除了卡纸故障排除了卡纸故障”。作业及解答(第3章)13:07:424-3 4-3 一个浮点二进制数的构成是:一个可选的符号一个浮点二进制数的构成是:一个可选的符号(+(+或或-)-),后跟一个或多个二进制位,再跟上一个字符后跟一个或多个二进制位,再跟上一个字符E E,再加上另一,再加上另一个可选符号个可选符号(+(+或或-)-)及一个或多个二进制位。例如,下列的字及一个或多个二进制位。例如,下列的字符串都是浮点二进制数:符串都是浮点二进制数:110101E-101110101E-101-100111E1
21、1101-100111E11101+1E0+1E0更形式化地,浮点二进制数定义如下:更形式化地,浮点二进制数定义如下:floatingfloatingpoint binarypoint binary=signsignbitstringbitstringE Esignsignbitstringbitstringsignsign=+=+-bitstringbitstring=bitbitbitstringbitstringbitbit=0=01 1作业及解答(第4章)13:07:42其中,其中,符号符号=表示定义为;表示定义为;符号符号.表示可选项;表示可选项;符号符号a ab b表示表示a a或
22、或b b。假设有这样一个有穷状态机:以一串字符为输入,判断字假设有这样一个有穷状态机:以一串字符为输入,判断字符串中是否含有合法的浮点二进制数。试对这个有穷状态机符串中是否含有合法的浮点二进制数。试对这个有穷状态机进行规格说明。进行规格说明。作业及解答(第4章)13:07:42该有穷状态机的初态是该有穷状态机的初态是“等待字符串输人等待字符串输人”。在初态若接。在初态若接收到字符十、或字符一、或二进制位,则进人收到字符十、或字符一、或二进制位,则进人“输人尾数输人尾数”状态;在初态若接收到其他字符,则进人终态状态;在初态若接收到其他字符,则进人终态“非浮点非浮点二进制数二进制数”。在。在“输人
23、尾数输人尾数”状态若接收到二进制位,则状态若接收到二进制位,则保持该状态不变;若接收到字符保持该状态不变;若接收到字符 E,则进人,则进人“等待输人等待输人指数指数”状态;若接收到其他字符,则进人终态状态;若接收到其他字符,则进人终态“非浮点二非浮点二进制数进制数”。在。在“等待输人指数等待输人指数”状态若接收到字符、或状态若接收到字符、或字符一、或二进制位,则进人字符一、或二进制位,则进人“输人指数输人指数”状态;若接收状态;若接收到其他字符,则进人终态到其他字符,则进人终态“非浮点二进制数非浮点二进制数”。在。在“输人输人指数指数”状态若接收到二进制位,则保持该状态不变;若输状态若接收到二
24、进制位,则保持该状态不变;若输人其他字符,则进人终态人其他字符,则进人终态“非浮点二进制数非浮点二进制数”;若输人结;若输人结束,则进人终态束,则进人终态“浮点二进制数浮点二进制数”。作业及解答(第4章)13:07:42仔细研究图示的有穷状态机可以发现,它还有不够严格的仔细研究图示的有穷状态机可以发现,它还有不够严格的地方。有兴趣的同学请进一步改进它,画出更严格的、与地方。有兴趣的同学请进一步改进它,画出更严格的、与浮点二进制数定义完全一致的有穷状态机。浮点二进制数定义完全一致的有穷状态机。作业及解答(第4章)13:07:42补充补充1:请为某仓库的管理设计一个:请为某仓库的管理设计一个ER模
25、型。该仓库主要模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。,并且根据需要向供应商订购零件。作业及解答(第5章)13:07:42l本问题中共有三类实体,分别是本问题中共有三类实体,分别是“零件零件”、“工程项目工程项目”和和“供应商供应商”。l一种零件可供应多个工程项目,一个工程项目需要使用多一种零件可供应多个工程项目,一个工程项目需要使用多种零件,因此,零件与工程项目之间的联系种零件,因此,零件与工程项目之间的联系“供应供应”,是,是多对多(多对多(M N)联系;类似地,零件与供应商之间的联
26、)联系;类似地,零件与供应商之间的联系系“订购订购”,也是多对多(,也是多对多(M N)联系。)联系。l实体类型实体类型“零件零件”的主要属性是:零件编号,零件名称,的主要属性是:零件编号,零件名称,颜色,重量。实体类型颜色,重量。实体类型“工程项目工程项目”的属性主要是:项目的属性主要是:项目编号,项目名称,开工日期。实体类型编号,项目名称,开工日期。实体类型“供应商供应商”的属性的属性主要有:供应商编号,供应商名称,地址。联系类型主要有:供应商编号,供应商名称,地址。联系类型“供供应应”的属性是,向某工程项目供应的某种零件的数量。联的属性是,向某工程项目供应的某种零件的数量。联系类型系类型
27、“订购订购”的属性是,向某供应商订购的某种零件的的属性是,向某供应商订购的某种零件的数量。数量。作业及解答(第5章)13:07:4213:07:42作业及解答(第5章)补充补充2 2:某火车售票系统的数据流程图如下所示某火车售票系统的数据流程图如下所示录入员录入员 1接受查接受查询询查询查询信息信息查询查询信息信息 2分析查分析查询询 4按班次按班次查询查询 6查询显查询显示示 3按日期按日期查询查询 5按线路按线路查询查询旅客旅客班次班次日期日期线路线路查询结果查询结果查询查询结果结果查询结果查询结果查询查询结果结果13:07:42作业及解答(第5章)接受查询接受查询输入信息输入信息查询信息
28、查询信息列车查询主模块列车查询主模块查询显示查询显示分析查询分析查询按日期查询按日期查询按班次查询按班次查询按线路查询按线路查询查询查询信息信息查询信息查询信息查询结果查询结果查询结果查询结果日期日期班次班次线路线路13:07:42补充补充3、已知某定货系统的需求分析、已知某定货系统的需求分析DFD图如下,请按图如下,请按SD方法的设计步骤画出结构图。方法的设计步骤画出结构图。顾顾客客编辑编辑定货定货单单确定确定顾客顾客订货订货产生产生暂存暂存订货单订货单开发开发货单货单并改并改库存库存业务员业务员顾客顾客D1配件配件D2顾客文件顾客文件D3配件库存配件库存D4暂存订货单暂存订货单D4暂存订货
29、单暂存订货单D5销售历史销售历史D6应收款明细帐应收款明细帐发货单发货单可发可发货货不合格订货单不合格订货单订货单订货单合格合格订货订货单单不满不满足订足订货单货单作业及解答(第5章)13:07:4213:07:42补充补充4 4、已知某系统的需求分析给出的系统数据流程图如下,画、已知某系统的需求分析给出的系统数据流程图如下,画出结构图出结构图AC3C2C1GJKLFEBDabb1b2b3c1c2c3defghjklm作业及解答(第5章)13:07:4213:07:42P104:3 用面向数据流的方法设计下列系统的软件结构用面向数据流的方法设计下列系统的软件结构(1)储蓄系统)储蓄系统2-2(
30、2)机票预定系统)机票预定系统2-3l为了方便为了方便旅客旅客,某航空公司拟开发一个,某航空公司拟开发一个机票预定系统机票预定系统。旅旅行社行社把预定机票的旅客信息(把预定机票的旅客信息(姓名、性别、工作单位、身姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地份证号码、旅行时间、旅行目的地等)等)输入输入该系统,系统该系统,系统为旅客为旅客安排安排航班航班,旅客在飞机,旅客在飞机起飞前一天起飞前一天凭凭取票通知取票通知和和账账单单交款取票交款取票,系统,系统核对无误核对无误即即印出机票印出机票给给顾客顾客(2)患者监护系统)患者监护系统2-4作业及解答(第5章)13:07:4213:07
31、:42作业及解答(第5章)13:07:42不能是两个分开的子系统,是相同的前台单个处理不能是两个分开的子系统,是相同的前台单个处理13:07:42不能是两个分开的子系统,是相同的前台单个处理不能是两个分开的子系统,是相同的前台单个处理13:07:42作业及解答(第5章)13:07:42作业及解答(第5章)13:07:42作业及解答(第5章)13:07:42作业及解答(第5章)13:07:42可以是两个子系统,可以是两个子系统,预定和取票是不同的预定和取票是不同的处理方式(后台批量处理方式(后台批量和前台单个)和前台单个)13:07:4213:07:4213:07:4213:07:42lP104
32、:4l美国某大学有美国某大学有200名教师,校方与教师工会刚刚签订一项协议名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过。按照协议,所有年工资超过$26000(含(含$26000)的教师)的教师工资将保持不变,年工资少于工资将保持不变,年工资少于$26000的教师将增加工资,所的教师将增加工资,所增加工资数额按下述方法计算:给每位教师所赡养的人(包增加工资数额按下述方法计算:给每位教师所赡养的人(包括教师本人)每年补助括教师本人)每年补助$100,此外,教师有一年工龄每年再,此外,教师有一年工龄每年再多补助¥多补助¥50,但是,增加后的年工资总额不能多于,但是,增加后的年工资
33、总额不能多于$26000。l教师工资档案存储在行政办公室的磁带上,档案中有目前的教师工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个程序计年工资、赡养的人数、雇佣日期等信息。需要写一个程序计算并印出每名教师的原工资和调整后的新工资。算并印出每名教师的原工资和调整后的新工资。l要求:(要求:(1)画出此系统的数据流图;()画出此系统的数据流图;(2)写出需求说明;)写出需求说明;l(3)设计上述的工资调整程序)设计上述的工资调整程序(要求用要求用HIPO图描绘设计结果图描绘设计结果),设计时分别采用两种算法,并比较两种算法的优缺点:,设计时分别采用两
34、种算法,并比较两种算法的优缺点:(a)搜索工资档案数据,找出年工资少于)搜索工资档案数据,找出年工资少于$26000的人,的人,计算新工资,校核是否超过计算新工资,校核是否超过$26000,存储新工资,印出新,存储新工资,印出新旧工资对照表;旧工资对照表;(b)把工资档案数据按工资从最低到最高的次序排序,)把工资档案数据按工资从最低到最高的次序排序,当工资数额超过当工资数额超过$26000时即停止排序,计算新工资,校核时即停止排序,计算新工资,校核是否超过限额,存储新工资,印出结果。是否超过限额,存储新工资,印出结果。l(4)你所画出的数据流图适应用那种算法?)你所画出的数据流图适应用那种算法
35、?13:07:42作业及解答(第5章)13:07:42作业及解答(第5章)13:07:42作业及解答(第5章)13:07:42作业及解答(第5章)13:07:420杨辉三角形系数求解输入阶数输入阶数系数表系数表不合理阶数不合理阶数DFD01检验阶数2计算阶数3打印阶数系数表系数表系数系数不合理阶数不合理阶数合理合理阶数阶数输入阶输入阶数数DFD11.1输入阶数1.2检验阶数合理合理阶数阶数不合不合理阶理阶数数阶数阶数2.1计算1DFD2合合理理阶阶数数系数系数3.1打印1阶数阶数系数表系数表13.2打印2阶数阶数系数系数表表22.2计算2合理合理阶数阶数系数系数补充补充5:求解杨辉三角形系数:
36、求解杨辉三角形系数13:07:42求解杨辉三角形系数取合理阶数打印系数计算系数方法选用输入阶数检验阶数计算1计算2打印1打印2合理阶数合理阶数合理阶数合理阶数合理阶数合理阶数合理阶合理阶数数合理阶数合理阶数合理阶数合理阶数合理阶数合理阶数合理阶合理阶数数不合理阶数不合理阶数阶阶数数阶阶数数系系数数系系数数系系数数系系数数系数表系数表1系数表系数表2表示选用表示选用13:07:42P131:3 画出下列伪码程序的程序流程图和盒图画出下列伪码程序的程序流程图和盒图STARTIF p THEN WHILE q DO f END DOELSE BLOCK g n END BLOCKEND IFSTOP
37、作业及解答(第6章)13:07:42作业及解答(第6章)13:07:42P131:4 下图给出的程序流程图代表一个下图给出的程序流程图代表一个非结构化的程序,请问:非结构化的程序,请问:(1)为什么说它是非结构化的?)为什么说它是非结构化的?(2)设计一个等价的结构化程序。)设计一个等价的结构化程序。(3)在()在(2)题的设计中你使用附加的标)题的设计中你使用附加的标志变量志变量flag吗?若没用,请再设计一个吗?若没用,请再设计一个使用使用flag的程序;若用了,再设计一个的程序;若用了,再设计一个不用不用flag的程序的程序作业及解答(第6章)13:07:42(1)通常所说的结构化程序,
38、是按通常所说的结构化程序,是按照狭义的结构程序的定义衡量照狭义的结构程序的定义衡量,符合定义规定的程序。,符合定义规定的程序。图示图示的程序的循环控制结构有的程序的循环控制结构有两个两个出口出口,显然不符合狭义的结构,显然不符合狭义的结构程序的定义,因此程序的定义,因此是非结构化是非结构化的程序。的程序。作业及解答(第6章)13:07:42(2)使用附加的标志变量使用附加的标志变量flag,至少有两种方法可以把该,至少有两种方法可以把该程序改造为等价的结构化程序,图示盒图描绘了等价程序改造为等价的结构化程序,图示盒图描绘了等价的结构化程序。的结构化程序。作业及解答(第6章)13:07:42(3
39、)不使用不使用flag把该程序改造为等价的结构化程序的方法把该程序改造为等价的结构化程序的方法如图所示。如图所示。作业及解答(第6章)13:07:42C EXAMPLELOOP:DO WHILE X0 A=B+1 IF A10 THEN X=A ELSE Y=Z END IFIF Y0 THEN PRINT G ELSE PRINT KEND IFSTOP作业及解答(第6章)13:07:42V(G)结点结点E弧数弧数n1 =17-11+1=7 =判断判断结点结点 1 =6 17 封闭的区域数封闭的区域数13:07:42lP131:7l令令P代表交易的总金额,代表交易的总金额,Q代表每股的售价,
40、代表每股的售价,n代表交易代表交易的股数。的股数。l(1)表示手续费计算方法的判定表如图所示。表示手续费计算方法的判定表如图所示。l判定表的每一列是一条计算规则。例如,第判定表的每一列是一条计算规则。例如,第1列列(规则规则1)规规定,当交易总金额定,当交易总金额P少于少于1000元,且每股售价元,且每股售价Q低于低于14元元,且交易的股数,且交易的股数n是是100的倍数时,给经纪人的手续费为的倍数时,给经纪人的手续费为l(l+0.05)0.084Pl第第16列列(规则规则16)表明,当交易总金额表明,当交易总金额P超过超过10000元,且元,且每股售价每股售价Q在在14元到元到25元之间,且
41、交易的股数元之间,且交易的股数n不是不是100的倍数时,手续费为的倍数时,手续费为l(1+0.06)(0.04P+134)l(2)表示手续费计算方法的判定树如图所示。表示手续费计算方法的判定树如图所示。作业及解答(第6章)13:07:42作业及解答(第7章)13:07:42作业及解答(第7章)13:07:42补充补充1 1、某高校研究生招生系统的初选方法如、某高校研究生招生系统的初选方法如下:总分下:总分300300(含)以上进入候选学生库,否(含)以上进入候选学生库,否则退档;数学分数不低于则退档;数学分数不低于7070分,则进入三级分,则进入三级备选库,否则进入四级备选库;在三级备选备选库
42、,否则进入四级备选库;在三级备选库的基础上,如果专业课分数高于库的基础上,如果专业课分数高于100100分,则分,则进入一级备选库,否则进入二级备选库,请进入一级备选库,否则进入二级备选库,请画出对应的判定树。画出对应的判定树。作业及解答(第6章)13:07:42作业及解答(第6章)13:07:42补充补充2 2、某校的课酬计算方案如下:、某校的课酬计算方案如下:(l)(l)基本基本课酬为每节课课酬为每节课1010元;元;(2)(2)如果班级人数超过如果班级人数超过4040人,课酬增加:基本课酬人,课酬增加:基本课酬0.10.1;(3)(3)如如果班级人数超过果班级人数超过6060人,课酬增加
43、:基本课人,课酬增加:基本课酬酬0.20.2;(4)(4)如果教师是副教授,课酬增如果教师是副教授,课酬增加:基本课酬加:基本课酬0.10.1;(5)(5)如果教师是教授如果教师是教授,课酬增加:基本课酬,课酬增加:基本课酬0.20.2;(6)(6)讲师,讲师,课酬不增加;课酬不增加;(7)(7)助教,课酬减少:基本课助教,课酬减少:基本课酬酬0.10.1。请用判定表表达上述计算方案。请用判定表表达上述计算方案。作业及解答(第6章)13:07:42123456789101112人数人数40TTTT40人数人数60TT TT人数人数60TTTT助教助教TTT讲师讲师TTT副教授副教授TTT教授教
44、授TTT课酬:课酬:9元元/节节课酬:课酬:10元元/节节课酬:课酬:11元元/节节课酬:课酬:12元元/节节课酬:课酬:13元元/节节课酬:课酬:14元元/节节13:07:42l补充作业:补充作业:设计一个软件开发规范,假象一种开发环设计一个软件开发规范,假象一种开发环境(硬件、系统软件、支持软件、数据库、开发语言境(硬件、系统软件、支持软件、数据库、开发语言等)。规范内容尽量考虑多方面问题:如等)。规范内容尽量考虑多方面问题:如SQLSQL语言规语言规范、交互界面、编码风格、命名、设计文档、单元测范、交互界面、编码风格、命名、设计文档、单元测试等试等作业及解答(第7章)13:07:42lP
45、174:5某图书馆有一个使用某图书馆有一个使用CET终端的信息检索系终端的信息检索系统,该系统有下列统,该系统有下列4个基本检索命令:个基本检索命令:.(1)设计测试数据以全面系统的正常操作)设计测试数据以全面系统的正常操作(2)设计测试数据以测试系统的非正常操作)设计测试数据以测试系统的非正常操作作业及解答(第7章)13:07:42STARTINPUT(A,B,C)/判定表达式判定表达式1IF A5 THEN X=10 ELSE X=1END IF/判定表达式判定表达式2IF B10 THEN Y=20ELSE Y=2END IF作业(第7章)/判定表达式判定表达式3IF C15 THEN
46、Z=30ELSE Z=3END IFPRINT(X,Y,Z)STOPP174:4(3)、设计下列伪码程序的语句覆盖和路径覆盖测试、设计下列伪码程序的语句覆盖和路径覆盖测试用例:用例:13:07:42作业(第7章)序序号号判定判定输入输入预期的输预期的输出出123ABCXYZ1FF F1111232TTT20 40 60 10 20 30语句覆盖的测试用例语句覆盖的测试用例 13:07:42作业(第7章)序号序号判定判定输入输入预期的输出预期的输出123ABCXYZ1FF F1111232FF T116012303FTF140112034FTT14060120305TF F201110236TF
47、T20160102307TTF20401102038TTT204060102030路径覆盖的测试用例路径覆盖的测试用例 13:07:42l1某些软件工程师不同意某些软件工程师不同意“目前国外许多软件开发组织把目前国外许多软件开发组织把60%以上的人力用于维护已有的软件以上的人力用于维护已有的软件”的说法,他们争论的说法,他们争论说:说:“我并没有花费我的我并没有花费我的60%的时间去改正我所开发的程的时间去改正我所开发的程序中的错误序中的错误”。l请问,你对上述争论有何看法?请问,你对上述争论有何看法?l2为什么大型软件的维护成本高达开发成本的为什么大型软件的维护成本高达开发成本的4倍左右?倍
48、左右?l3假设你的任务是对一个已有的软件做重大修改,而且只假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:允许你从下述文档中选取两份:(a)程序的规格说明;程序的规格说明;(b)程程序的详细设计结果(自然语言描述加上某种设计工具表示序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解源程序清单(其中有适当数量的注解)。l你将选取哪两份文档?为什么这样选取?你将选取哪两份文档?为什么这样选取?作业及解答(第8章)13:07:42l4当一个十几年前开发出的程序还在为其用户完成关键当一个十几年前开发出的程序还在为其用户完成关键的业务
49、工作时,是否有必要对它进行再工程?如果对它的业务工作时,是否有必要对它进行再工程?如果对它进行再工程,经济上是否划算?进行再工程,经济上是否划算?l5代码重构与正向工程有何相同之处?有何不同之处?代码重构与正向工程有何相同之处?有何不同之处?作业及解答(第8章)13:07:42p221:101用面向对象范型开发软件时与用结构化范型开发软件时用面向对象范型开发软件时与用结构化范型开发软件时相比较,软件的生命周期有何不同?这种差异带来了什相比较,软件的生命周期有何不同?这种差异带来了什么后果?么后果?2为什么在开发大型软件时,采用面向对象范型比采用结为什么在开发大型软件时,采用面向对象范型比采用结
50、构化范型较易取得成功?构化范型较易取得成功?3为什么说夏利牌汽车是小汽车类的特化,而发动机不是为什么说夏利牌汽车是小汽车类的特化,而发动机不是小汽车类的特化?小汽车类的特化?4对象和属性之间有何区别?对象和属性之间有何区别?5什么是对象?它与传统的数据有何异同?什么是对象?它与传统的数据有何异同?6什么是模型?开发软件时为什么要建立模型?什么是模型?开发软件时为什么要建立模型?作业及解答(第9章)13:07:427试用面向对象方法分析设计下述程序:试用面向对象方法分析设计下述程序:在显示器屏幕上圆心坐标为在显示器屏幕上圆心坐标为(100,100)的位置画一个半径为的位置画一个半径为40的圆,在