1重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42山东科技大学计算机科学与工程学院王磊软件工程部分作业解答2重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42作业一基本概念(第1-2章)作业二需求分析(第3章)作业三系统设计(第5章)作业四详细设计(第6章)作业五系统实现(第7章)作业六系统维护(第8章)作业七面向对象方法学引论(第9章)作业八面向对象分析(第10章)作业九面向对象设计(第11章)作业十面向对象实现(第12章)作业十一软件项目管理(第13章)作业及解答3重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42作业及解答(第1-2章)1-5根据历史数据可以做出如下的假设:对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960)存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位)如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字)在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:4重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42(1)在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?(2)假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。(3)假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。作业及解答(第1-2章)5重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42(1)在1985年对计算机存储容量的需求,估计是如果字长为16位,则这个存储器的价格是(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20条指令。为了开发出4474263条指令以装满存储器,需要的工作量是:)19601985(28.04080eM74080e)(263,474,4字447426372.0048.019741985P)(7895美元,)(371222004474263人月,作业及解答(第1-2章)6重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42程序员的月平均工资是4000美元,开发出4474263条指令的成本是(3)在1995年对存储容量的需求估计为:如果字长为32位,则这个存储器的价格是:如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。在1995年一名程序员每天可开发出30条指令,每月可开发出600条指令,为了开发出可装满整个存储器的程序,需要的工作量为)(00048489400022371美元,,)19601995(28.04080eM8.94080e)(679,577,73字7357767972.032003.019741995P)(127,7美元)(62912260073577679人月,作业及解答(第1-2章)7重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42开发上述程序的成本为:1-6什么是软件过程?它与软件工程方法学有何关系?软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成部分之一。)(790,776,7356000122629美元作业及解答(第1-2章)8重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:422-4目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。医院对患者8监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。作业及解答(第3章)9重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42作业及解答(第3章)E1护士E3时钟E2病人P0患者监护系统F1要求报告F2生理信号F3日前、时间E1护士F4警告信息、病情报告D2患者安全范围D1患者日志F5安全范围F6日志10重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。作业及解答(第3章)11重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42E1护士E3时钟E2病人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志12重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42E1护士E3时钟E2病人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志D3生理信息F2生理信号定时的生理信号13重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42E1护士E3时钟E2病人F1要求报告F2生理信号F3日前、时间E1护士F4警告信息D2患者安全范围D1患者日志F5安全范围F6日志P1接收信号P4定时取样生理信号P5更新日志P3产生警告信息P2分析信号P6产生病情报告F2生理信号危及病人信息定时的生理信号F2生理信号F6日志D3生理信息F2生理信号定时的生理信号P7制定安全范围14重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:422-5北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用定义数据字典的方法,定义上述的电话号码。作业及解答(第3章)15重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42数据结构的描述符号含义举例=被定义为+与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章)16重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+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章)17重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:423-3银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。作业及解答(第3章)18重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42作业及解答(第3章)E1储户P0储蓄系统E1储户F1存款单F2取款单F3存单F4利息清单D1存款信息F5存款信息F5存款信息19重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42E1储户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利息20重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42E1储户F2取款单D1存款信息P3.1输入取款信息F7密码P3.2密码校验F5存款信息F7密码无效取款信息作业及解答(第3章)21重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42ER模型本问题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N)关系。储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。作业及解答(第3章)22重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:42作业及解答(第3章)23重庆工学院计算机科学与工程学院李梁(liliang@cqit.edu.cn)13:07:423-6复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障