软件工程课后参考答案_第1页
软件工程课后参考答案_第2页
软件工程课后参考答案_第3页
软件工程课后参考答案_第4页
软件工程课后参考答案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章课后参考答案

1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?

“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系

列“严峻问题”。这些问题决不仅仅是不能正常运行的软件才具有的,事

实上,几乎“全部软件”都不同程度地存在这些问题。

“软件危机”包含两方面的问题:

(1)如何开发软件,以满足对软件日益增长的需求;

(2)如何维护数量不断膨胀的已有软件。

它们有以下表现:

(1)对软件开发成本和进度的估计常常很不精确;

(2)用户对“已完成的”软件系统不满足的现象常常发生;

(3)软件产品的质量往往靠不住;

(4)软件常常是不行维护的;

(5)软件通常没有适当的文档资料;

(6)软件成本在计算机系统总成本中所占的比例逐年上升;

(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深化的趋

势。

出现软件危机的缘由

(1)开发人员及客户相识之间的冲突

(2)开发人员实力及开发目标之间的冲突

(3)预估及实际工作量之间的冲突

(4)客户相识的提高及软件维护之间的冲突

(5)遗产系统及实施软件之间的冲突

2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程

师们观看,告知他们刚好发觉并改正错误的重要性时,有人不同意这个观点,

认为要求在错误进入软件之前就清晰它们是不现实的,并举例说:“假如一

个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应

当怎么反对他?

答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早

期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软

件配置的很多成分已经完成,引入一个变动要对全部已完成的配置成

分都做相应的修改,不仅工作量大,而且逻辑上也更困难,因此付出

的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更

高。一个故障是代码错误造成的,有时这种错误是不行避开的,但要

修改的成本是很小的,因为这不是

整体构架的错误。

3.什么是软件工程?它有哪些本质特征?怎么用软件工程消退软件危

机?

软件工程是指导知道计算机软件开发和维护的一门工程学科。采纳工程的

概念、原理、技术和方法来开发及维护软件,把经过时间考验而证明正确

的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高

质量的软件并有效地维护它,这就是软件工程。

本质特征:

(1)软件工程关注于大型软件的构造

(2)软件工程的中心课题是限制困难性

(3)软件常常变更

(4)开发软件的效率特别重要

(5)和谐地合作是开发软件的关键

(6)软件必需有效支持它的用户

(7)在软件工程领域通常由一种文化背景的人替代具有另一种文化背景

的人创建产品

消退软件危机的原理:

(1)用分阶段的生命周期支配严格管理

(2)坚持进行阶段评审

(3)实行严格的产品限制

(4)采纳现代程序设计技术

(5)结果应能清晰地审查

(6)开发小组的人员应当少而精

(7)承认不断改进软件工程实践的必要性

5.依据历史数据可以做出如下的假设:

对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:

4()8()e0.28(1960)

存储器的价格按下面公式描述的趋势逐年下降:Pl=o.3X0.725(美分/

位)

假如计算机字长为16位,则存储器价格下降的趋势为:P2=0.048X

0.72岫(美元/字)

在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。

基于上述假设可以比较计算机硬件和软件成本的变更趋势。要求计算:

1)在1985年对计算机存储容量的需求估计是多少?假如字长为16位,这

个存储器的价格是多少?

(2)假设在1985年一名程序员每天可开发出10条指令,程序员的平均工

资是每月4000美元。假如一条指令为一个字长,计算使存储器装满程序

所需用的成本。

(3)假设在1995年存储器字长为32位,一名程序员每天可开发出30条

指令,程序员的月平均工资为6000美元,重复(1)、(2)题。

•(1)在1985年对计算机存储容量的需赤,估计是

=4()80e028a98—960)。=4080/。=4,474,263(/:)

•如果字长为16位,则这不存福器的荡格是

P=0.048x0.7219881974x4474263=5,789(美)七)

•(2)如果一条指令的长度为一个字,则使存储器装满程序共

需4474263条指令。

•在1985年一名程序员每天可开发出10条指令,如果每月

有20个工作日,则每人每月可开发出10x20条指令。

•为了开发出4474263条指令以装满存储器,需要的工作量

是:4474263

22,371(人月)

200

・程序员的月平均工资是4000美元,开发出4474263条指

令的成本是22371x4000=89,484,000(美元)

•(3)在1995年对存储容量的需求估计为:

八/=408(晓28(199"1960)=73,577,679(字)=4080e98

•如果字长为32位,则这个存储器的价格是:

>=0.003x32x0.721995-1974x73577679=7,127(美元)

•如果一条指令为一个字长,则为使存储器装满程序共需

73,577,679条指令。

•在1995年一名程序员每天可开发出30条指令,每月可开

发出600条指令,为了开发出可装满整个存储器的程序,

需要的工作量为73577679,

--------«122,629(人lh”)

600

6什么是软件过程?它及软件工程方法学有何关系?

软件过程是为了开发出高质量的软件产品所需完成的一系列任务的

框架,它规定了完成各项任务的工作步骤。

软件过程定义了运用技术方法的依次、应当交付的文档资料、为保

证软件质量和协调软件变更必需实行的管理措施,以及标记完成了相应开

发活动的里程碑。

软件过程是软件工程方法学的3个重要组成部分之一。

7.什么是软件生命周期模型?试比较瀑布模型、快速模型、增量模型和螺

旋模型的优缺点,说明每种模型的适用范围。

通俗的说,简洁地描述软件过程的模型叫做软件生命周期模型,生

命周期模型规定了把生命周期花费成哪些阶段及各个阶段执行的依次。

模型名称比较特点适用范围

方法学角度应用角度

面对结面型对象外部项内部产

构目品

瀑布模型基础模型、广是是

泛运用、标准

模式

快速模型基本需求、原是是

形系统、可行

演练

增量模型需求分解、增是是

量构件、并行

设计面对对

螺旋模型原形系统、风是是

险分析、大规

模附带风险

分析的快速

原形模型

8.为什么说喷泉模型较好地体现了面对对象软件开发过程无缝和迭代的

特性?

由于在整个开发过程中都运用统一的软件概念“对象”,全部其他

概念(例如功能、关系、事务等)都是围绕对象组成的,目的是保证分析

工作中得到的信息不会丢失或变更,因此,对生命周期各个阶段的区分自

然也就不重要了,不明显了。分析阶段的得到的对象模型也适用于设计阶

段和实现阶段。由于各阶段都运用统一的概念和表示符号,因此,整个开

发过程都是吻合一样的,或者说是“无缝”连接的,这自然也就很简单实

现各个开发步骤的多次反复迭代,达到相识的逐步深化。所以说喷泉模型

较好的体现了面对对象软件开发过程无缝和迭代的特性。

其次章课后习题参考答案

1、在软件开发的早期阶段为什么要进行可行性探讨?应从哪些方面探讨

目标系统的可行性?

(1)开发一个软件时,须要推断原定的系统模型和目标是否现实,系统

完成后所能带来的效益是否大到值得投资开发这个系统的程度,假如做不

到这些,那么花费在这些工程上的任何时间、人力、软硬件资源和经费,

都是无谓的奢侈。可行性探讨的实质是要进行一次大大压缩简化了的系统

分析和设计过程,就是在较高层次上以较抽象的方式进行的系统分析和设

计的过程。可行性探讨的目的就是用最小的代价在尽可能短的时间内确定

问题是否能够解决。

(2)一般说来,至少应当从以下三个方面探讨每种解法的可行性:

a.技术可行性。对要开发项目的功能、性能和限制条件进行分析,确

定在现有的资源条件下,技术风险有多大,项目是否能实现,这些即为技

术可行性探讨的内容。这里的资源包括已有的或可以搞到的硬件、软件资

源,现有技术人员的技术水平和已有的工作基础。

b.经济可行性。进行开发成本的估算以及了解取得效益的评估,确定要开

发的项目是否值得投资开发,这些即为经济可行性探讨的内容对于大多数

系统,一般衡量经济上是否合算,应考虑一个底线”,经济可行性探讨范

围较广,包括成本一效益分析,长期公司经营策略,开发所需的成本和

资源,潜在的市场前景。

C.操作可行性。有时还要探讨社会可行性问题,探讨要开发的项目是否存

在任何侵扰、阻碍等责任问题。社会可行性所涉及的范围也比较广,它包

括合同、责任、侵权和其他一些技术人员常常不了解的陷阱等。必要时还

应当从法律、社会效益等更广泛的方面探讨每种解法的可行性。

2、为便利储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取

款单由业务员键入系统,假如是存款,系统记录存款人姓名、住址、存款

类型、存款日期、利率等信息,并印出存款单给储户;假如是取款,系统

计算利息并打印出利息清单给储户。

写出问题定义病画出此系统的数据流图和系统流程图。

问题定义:银行业务员每天手工处理储户存取款业务,工作量较大,须要

业务员多。

数据流图如下:

3、某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息

(姓名、性别…等)输入进该系统,系统为旅客支配航班,印出取票通知

和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对

无误即印出机票给旅客。

写出问题定义病画出此系统的数据流图。

问题定义:某航空公司,售票工作人员每天手工处理旅客预订票、支配航

班、取票和收款业务,工作量较大,须要工作人员多。

数据流图如下:

4、住院病人主要由护士护理,这样做不仅须要大量护士,而且由于不能

随时视察危重病人的病情变更,还会延误抢救时机。某医院准备开发一个

以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据

流图。

医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉

搏、体温、血压、心电图等),定时记录病人状况以形成患者日志,当某

个病人的生理信号超出医生规定的平安范围时向值班护士发出警告信息,

此外,护士在须要时还可以要求系统印出某个指定病人的病情报告。

符号说明如下:

•F1-要求报告F2-生理信号F3-日期、时间

•F4-警告信息F5-平安范围F6一日志

•P1-接收信号P2-分析信号P3-产生警告

•P4-定时取样生理信号P5-更新日志P6-产生病情报告

•D1-患者日志D2-患者平安范围D3-生理信息

•E1-护士E2-病人E3-时钟

5、北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组

成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校

外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若

是外地电话则拨3位区码再拨8位电话号码(第1位不是0)o

请用定义数据字典的方法,定义上述的电话号码。

电话号码式校内电话号码I校外电话号码]

校内电话号码=非零数字+3位数字后面接着定义

校外电话号码=[本市号码I外地号码]

本市号码=数字零+8位数字

外地号码=数字零+3位数字+8位数字

非零数字=[1|2|3|4|5|6|7|8|9]

数字零=0

3位数字=3{数字}33至3个数字

8位数字=非零数字+7位数字

7位数字=7{数字}7

数字=[0|1|2|3⑷5|6|7|8|9]

第三章课后参考答案

3、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款

单由业务员键入系统,假如是存款则系统记录存款人姓名、住址(或电话

号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)

等信息,并印出存单给储户;假如是取款而且存款时留有密码,则系统首

先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出

利息清单给储户。

请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对

象。

本系统的顶层数据流图如下:

F5存款信息F5存款信息

D1存款信息

本系统的数据流图如下:

留意:不能是两个分开的子系统,是相同的前台单个处理

实体-联系图如下:

-本问题中共有两类实体,分别是“储户”和“储蓄所”,在

它们之间存在“存取款”关系。因为一位储户可以在多家储

蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是

多对多()关系。

-储户的属性主要有姓名、住址、电话号码和身份证号码,储

蓄所的属性主要是名称、地址和电话号码,而数额、类型、

到期日期、利率和密码则是关系类型存取款的属性。

4、分析习题2第3题所述的机票预订系统,试用实体-联系图描述本系统

中的数据对象。

实体-联系图如下:

-本问题中主要有四类实体,分别是“顾客”、“旅行社”、

“飞机航班信息”和“飞机票”,

-在它们之间存在的关系有:

“顾客”和、“旅行社”有“代理”关系;因为一位顾客可以

让多家旅行社代理,一家旅行社拥有多位顾客,所以“代理”是

多对多()关系。

“顾客”和飞机票”有“拥有”关系,是一对一(1:1)关系。

“飞机航班信息”和“飞机票”有“包括”关系,是是一对多一

(1)关系。

-顾客的属性主要有姓名、性别、工作单位、身份证号码、旅

行时间、旅行目的地、联系电话。

-旅行社的属性主要是旅行社名称、地址和电话号码。

-飞机航班信息的属性主要是航班号、飞行时间、飞行路途、

票价、实时折扣信息。

-飞机票的属性主要是航班号、座位号、座位信息、机票类型。

5、分析习题2第4题所述的患者监护系统,试用实体-联系图描述本

系统中的数据对象,画出本系统的顶层图。

本系统的顶层图如下:

输入处理输出

6、复印机的工作过程大致如下:未接到复印吩咐时处于闲置状态,一

旦接到复印吩咐则进入复印状态,完成一个复印吩咐规定的工作后又

回到闲置状态,等待下一个复印吩咐;假如执行复印吩咐时发觉没纸,

则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准

备接收复印吩咐;假如复印时发生卡纸故障,则进入卡纸状态,发出

警告等待修理人员来解除故障,故障解除后回到闲置状态。

请用状态转换图描绘复印机的行为。

从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”

和“卡纸”。引起状态转换的事务主要是“复印吩咐”、“完成复印

吩咐”、“发觉缺纸”、“装满纸”、“发生卡纸故障”和“解除了

卡纸故障”。

第五章课后参考答案

3、设计下列系统的软件结构

(1)储蓄系统2-2

(2)机票预定系统2-3

(3)患者监护系统2-4

参考答案:运用结构图表示

1、

1、储蓄系统

2、机票预定系统

机票预定系

机票发放子

机票预定子

系统

系统

取票凭证处

预定信息处打印及发放

理交款

理机票

打印取票单

安排航班据

录入预定信

设置航班

息录入取票凭核对取票凭

证证

3、患者监护系统

患者监护系

患者生理信监护信息输

监护处理

人号获取出

制定生理信定时取样

接收信号更新日志

号安全范围生理信号分析信号报警病情报告

□zO

取得时间

4、美国某高校有200名老师,校方及老师工会刚刚签订一项协议。

依据协议,全部年工资超过$26000(含$26000)的老师工资将保持

不变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论