软件工程部分习题答案

上传人:cjc****537 文档编号:44550694 上传时间:2018-06-14 格式:PDF 页数:16 大小:3.34MB
返回 下载 相关 举报
软件工程部分习题答案_第1页
第1页 / 共16页
软件工程部分习题答案_第2页
第2页 / 共16页
软件工程部分习题答案_第3页
第3页 / 共16页
软件工程部分习题答案_第4页
第4页 / 共16页
软件工程部分习题答案_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件工程部分习题答案》由会员分享,可在线阅读,更多相关《软件工程部分习题答案(16页珍藏版)》请在金锄头文库上搜索。

1、第一章第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它 包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有 软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。 常常出现实际成本比估算成本高出一个数量 级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一 些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的

2、软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来 许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当: 忽视需求分析; 认为软件开发等于程序编写; 轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益

3、增长的软件需求,人们显得力不从心。 二、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机?二、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993 年 IEEE 的定义:软件工程是: 把系统的、规范的、可度量的途径应用于软件开 发、运行和维护过程,也就是把工程应用于软件; 研究中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题, 控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的 更

4、好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作) 消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严 密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 三、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。三、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。七

5、、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优七、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优 缺点,说明每种模型的使用范围。缺点,说明每种模型的使用范围。 软件生命周期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任 务的结构框架。 瀑布模型优点: 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板 下有一个共同的指导。虽然有不少缺陷但比在软件开发中随意的状态要好得多。 缺点: (1) 实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的, 这很容易由微小的变

6、化而造成大的混乱。 (2) 经常情况下客户难以表达真正的需求,而这种模型却要求如此,这种模型是不欢迎具有二 义性问题存在的。 (3) 客户要等到开发周期的晚期才能看到程序运行的测试版本,而在这时发现大的错误时, 可 能引起客户的惊慌,而后果也可能是灾难性的。 (4) 会经常在过程的开始和结束时碰到等待其他成员完成其所依赖的任务才能进行下去, 有可 能花在等待的时间比开发的时间要长。称之为“堵塞状态”。 它是软件工程中应用最广泛的过程模型,在软件工程中占有肯定和重要的位置。 快速原型模型 在进行了基本需求分析之后,快速开发出产品的原型,然后基于这个原型,同客户沟通、 交流,更好地了解客户需求,不

7、断修改这个原型,到了双方认可的程度,再做详细地分析、 设计和编程,最终开发出令客户满意的产品。 优点:使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。缺点:产品的先天性不足,因为开发者常常需要做实现上的折中,可能采用不合适的操作系 统或程序设计语言,以使原型能够尽快工作。 增量模型 优点: (1) 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现 下一个增量。 (2) 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径, 这 样就可以先发布部分功能给客户,对客户起到镇静剂的作用。 缺点: (1) 至始至终开发者和客户纠缠在一

8、起,直到完全版本出来。 (2) 适合于软件需求不明确、设计方案有一定风险的软件项目。 该模型具有一定的市场。 螺旋模型 优点:对于大型系统及软件的开发,这种模型是一个很好的方法。开发者和客户能够较好地 对待和理解每一个演化级别上的风险。 缺点:(1) 需要相当的风险分析评估的专门技术,且成功依赖于这种技术。 (2) 很明显一个大的没有被发现的风险问题,将会导致问题的发生,可能导致演化 的方法失去控制。 (3) 这种模型相对比较新,应用不广泛,其功效需要进一步的验证。 该模型适合于大型软件的开发第二章第二章 4 4 4 4目前住院病人主要由护士护理目前住院病人主要由护士护理,这样做不仅需要大量护

9、士这样做不仅需要大量护士,而且由于不能随时观察危重病而且由于不能随时观察危重病 人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统, 请写出问题定义,并且分析开发这个系统的可行性。请写出问题定义,并且分析开发这个系统的可行性。 医院对患者监护系统的基本要求是随时接收每个病人的生理信号医院对患者监护系统的基本要求是随时接收每个病人的生理信号( ( ( (脉搏、体温、血压、心脉搏、体温、血压、心 电图等电图等) ) ) ),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安

10、全范,定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范 围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病 情报告。情报告。 问题定义: 从问题陈述可知,本系统的数据源点是“病人”和“护士” ,他们分别提供生理信号和要 求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志” 这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。 系统对病人生理信号

11、的处理功能主要是“接收信号” 、 “分析信号”和“产生警告信息” 。 此外,系统还应该具有“定时取样生理信号” 、 “更新日志”和“产生病情报告“的功能。 为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信 息。此外,定时记录病人生理信号所形成的“患者日志” ,显然也是一个数据存储。可行性叙述略。5 5 5 5北京某高校可用的电话号码有以下几类北京某高校可用的电话号码有以下几类:校内电话号码由校内电话号码由 4 4 4 4 位数字组成位数字组成,第第 1 1 1 1 位数字不位数字不是是 0 0 0 0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨;校外电话

12、又分为本市电话和外地电话两类,拨校外电话需先拨 0 0 0 0,若是本市电话则再接着,若是本市电话则再接着 拨拨 8 8 8 8位数字位数字( ( ( (第第 1 1 1 1位不是位不是 0)0)0)0),若是外地电话则拨,若是外地电话则拨 3 3 3 3位区码,再拨位区码,再拨 8 8 8 8位电话号码位电话号码( ( ( (第第 1 1 1 1位不是位不是 0)0)0)0)。 请用请用 2.5.22.5.22.5.22.5.2小节讲述的定义数据的方法,定义上述的电话号码。小节讲述的定义数据的方法,定义上述的电话号码。电话号码 = 校内电话号码 | 校外电话号码校内电话号码 = 非零数字 +

13、 3 位数字 校外电话号码 = 本市号码 | 外地号码本市号码 = 数字零 + 8 位数字 外地号码 = 数字零 + 3 位数字 + 8 位数字非零数字 = 1|2|3|4|5|6|7|8|9 数字零 = 03 位数字 = 3数字38 位数字 = 非零数字 + 7 位数字 7 位数字 = 7数字7数字 = 0|l|2|3|4|5|6|7|8|9第三章第三章 1 1 1 1、 为什么要进行需求分析?通常对软件系统有哪些需求?为什么要进行需求分析?通常对软件系统有哪些需求? 通过需求分析,明确用户对目标软件系统在功能、性能、行为、设计约束等方面的期望, 回答软件系统“必须做什么” 。通常对软件系统

14、的需求是以下几方面的综合: (1) 功能需求;(2) 性能需求;(3) 可靠性和可用性需求;(4) 出错处理需求;(5) 接口需 求;(6) 约束;(7) 逆向需求;(8) 将来可能提出的要求。2 2 2 2、怎样与用户有效的沟通以获取用户的真实需求?、怎样与用户有效的沟通以获取用户的真实需求? (1) 初步需求获取,通过访谈与会议、问卷调查、观察用户工作流程等方法;(2) 面向数据流,自顶向下求精(3) 简易的应用规格说明(4) 快速建立软件原型6 6 6 6、复印机的工作过程大致如下复印机的工作过程大致如下:未接到复印命令时处于闲置状态未接到复印命令时处于闲置状态,一旦接到复印命令则进入一

15、旦接到复印命令则进入 复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执 行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态, 准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员 来排除故障,故障排除后回到闲置状态。来排除故障,故障排除后回到闲置状态。 请用状态转换图描绘

16、复印机的行为。请用状态转换图描绘复印机的行为。 从问题陈述可知,复印机的状态主要有“闲置” 、 “复印” 、 “缺纸”和“卡纸” 。引起状态 转换的事件主要是“复印命令” 、 “完成复印命令” 、 “发现缺纸” 、 “装满纸” 、 “发生卡纸故障” 和“排除了卡纸故障” 。状态转换图如下:1、为每种类型的模块耦合举一个具体的例子。 (1) 非直接耦合例如,两个模块没有直接关系(模块 1 和模块 2),模块独立性最强。(2) 数据耦合例如,下左图数据耦合特征耦合 (3) 特征耦合例如,上右图 “住户情况”是一个数据结构,图中模块都与此数据结构有关。 “计算水费”和“计算电 费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是标记偶合。 (4) 控制耦合-模块 A 通过传送开关、标志、名字等控制信息,明显地控制选择模块 B 的功 能,例如下图(5) 外部耦合例如,下左图,模块 A、B 均需使用共享打印机外部耦合公共环境耦合 (6) 公共环境耦合例如,上右图,模块 A、B、C 共享全局变量数组 (7) 内容耦合例如

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号