没有合适的资源?快使用搜索试试~ 我知道了~
(精品)软件工程导论第版的关于课后习题答案.doc
需积分: 5 0 下载量 195 浏览量
2022-10-23
23:40:16
上传
评论
收藏 1.85MB DOC 举报
温馨提示
试读
13页
(精品)软件工程导论第版的关于课后习题答案.doc
资源详情
资源评论
资源推荐
1
《软件工程导论》课后习题答案
第一章 软件工程概论
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.在软件工程领
域通常由一种文化背景的人替代具有另一种文化背景的人创造产品
2
消除软件危机的原理:
1 用分阶段的生命周期计划严格管理 2 坚持进行阶段评审 3 实行严格的产品控制 4 采用现代程序设
计技术 5 结果应能清楚地审查 6 开发小组的人员应该少而精 7 承认不断改进软件工程实践的必要
性
1-5、根据历史数据可以做出如下的假设 :
对 计 算 机 存 储 容 量 的 需 求 大 致 按 下 面 公 式 描 述 的 趋 势 逐 年 增 加 :
M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×
0.72Y-1974(美分/位)如果计算机字长为 16 位,则存储器价格下降的趋势为:
P2=0.048×0.72Y-1974(美元/字)
在上列公式中 Y 代表年份,M 是存储容量(字数),P1 和 P2 代表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:
(1) 在 1985 年对计算机存储容量的需求估计是多少?如果字长为 16 位,这个存储器
的价格是多少?
(2) 假设在 1985 年一名程序员每天可开发出 10 条指令,程序员的平均工资是每月
4000 美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
(3) 假设在 1995 年存储器字长为 32 位,一名程序员每天可开发出 30 条指令,程序
员的月平均工资为 6000 美元,重复(1)、(2)题。
1-6 什么是软件过程?它与软件工程方法学有何关系?
3
软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项
任务的工作步骤。
软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变
化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。
软件过程是软件工程方法学的 3 个重要组成部分之一。
7.什么是软件生命周期模型?试比较瀑布模型、快速模型、增量模型和螺旋模型的优缺点,
说明每种模型的适用范围。通俗的说,简洁地描述软件过程的模型叫做软件生命周期模型,
生命周期模型规定了把生命周期花费成哪些阶段及各个阶段执行的顺序。
适用范围
方法学角度
应用角度
模型名称
比较特点
面向结构
面型对象
外部项目
内部产品
瀑布模型
基础模型、广泛
使用、标准模式
是
是
快速模型
基本需求、原形
系统、可行演练
是
是
增量模型
需求分解、增量
构件、并行设计
面向对象
是
是
螺旋模型
原形系统、风险
分析、大规模 附
带风险分析的快
速原形模型
是
是
第二章 可行性研究 习题答案
2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能
随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机
为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。
医院对患者 8 监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体
温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号
超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以
要求系统印出某个指定病人的病情报告。
E1
护士
E3
时钟
E2
病人
F1要求报告
F2生理信号
F3日前、时间
E1
护士
F4警告信息
D2患者安全范围
D1患者日志
F5安全范围
F6日志
P1
接收信号
P4
定时取样
生理信号
P5
更新日志
P3
产生警告信息
P2
分析信号
P6
产生病情报告
F2生理信号
危及病人信息
定时的生理信号
F2生理信号
F6日志
剩余12页未读,继续阅读
智慧安全方案
- 粉丝: 3645
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0