2022年软件工程第一二三章习题参考答案.docx

上传人:H****o 文档编号:58288909 上传时间:2022-11-07 格式:DOCX 页数:14 大小:617.11KB
返回 下载 相关 举报
2022年软件工程第一二三章习题参考答案.docx_第1页
第1页 / 共14页
2022年软件工程第一二三章习题参考答案.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年软件工程第一二三章习题参考答案.docx》由会员分享,可在线阅读,更多相关《2022年软件工程第一二三章习题参考答案.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选学习资料 - - - - - - - - - 第一章 软件工程概述软件是运算机程序及其有关的数据和文档的结合;软件危机是指在运算机软件开发和保护时所遇到的一系列问题;软件危机主要包含两方面的问题:一是如何开发软件以满意对软件日益增长的需求;二是如何 保护数量不断增长的已有软件;软件工程是软件开发、运行、保护和引退的系统方法;软件工程是指导运算机软件开发和保护的工程学科;软件工程采纳工程的概念、原理、技术和 方法来开发与保护软件;软件工程的目标是实现软件的优质高产;软件工程学的主要内容是软件开发技术和软件工程治理;软件开发方法学是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活

2、动、产品、验收的步骤和完成准就;常用的软件开发方法有结构化方法、面对数据结构方法和面对对象 方法等;习题参考答案:1什么是软件危机?为什么会显现软件危机?答:软件危机是指在运算机的开发和保护过程中所遇到的一系列严峻问题;这些问题决不仅仅是不 能正常运行的软件才具有的,实际上,几乎全部软件都不同程度地存在这些问题;显现软件危机的缘由:一方面与软件本身的特点有关,另一方面也和软件开发与保护的方法不 正确有关;软件不同于硬件,它是运算机系统中规律件而不是物理部件;治理和掌握软件开发过程 相当困难;软件是规模巨大,而且程序复杂性将随着程序规模的增加而呈指数上升;目前相当多的 软件专业人员对软件开发和保

3、护仍有不少糊涂观念,在实践过程中或多或少地采纳了错误的方法和 技术,这是使软件问题进展成软件危机的主要缘由;总结如下:1 取得正确的用户需求和正确地描述需求很困难 2 开发人员对需求的正确懂得也有困难 3 常常在没有正确懂得之前就仓促开头编程 4 软件项目缺乏有效的组织、治理和内部沟通 5 缺乏软件开发方法、模型和工具的支持 6 软件保护的困难性2假设你是一家软件公司的总工程师,当你把图1.1 给手下的软件工程师们观看,告知他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现 实的,并举例说: “ 假如一个故障是编码错误造成的,那么,一个人怎么能在设

4、计阶段清除它呢?”你怎么反对他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的很多成分已经完成,引入一个变动要对全部已完成 的配置成分都做相应的修改,不仅工作量大,而且规律上也更复杂,因此付出的代价剧增;在软件 已经完成时再引入变动,当然付出的代价更高;一个故障是代码错误造成的,有时这种错误是不行 防止的,但要修改的成本是很小的,由于这不是整体构架的错误;3什么是软件工程?它有哪些本质特性?怎样用软件工程排除(至少是缓解)软件危机?答:软件工程是指导运算机软件开发和保护的一门工程学科;采纳工程的概念、原理、技术和

5、方法 来开发和保护软件,把经过时间考查而证明正确的治理技术和当前能够得到的最好的技术方法结合 起来,以经济地开发出高质量的软件并有效地保护它;名师归纳总结 - - - - - - -第 1 页,共 8 页精选学习资料 - - - - - - - - - 软件工程本质特性:1)软件工程关注于大型程序的构造;2)软件工程的中心课题是掌握复杂性; 3)软件常常变化;4)开发软件的效率特别重要;5)和谐地合作是开发软件的关键;6)软件必需有效地支持它的用户;7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人制造产品;排除软件危机的途径:为了排除软件危机,第一应当对运算机软件有一个正确

6、的熟识;必需充分熟识到软件开发不是某种个体劳动的神奇技巧,而应当是一种组织良好、治理严密、各类人员协同协作、共同完成的工程项目;应当推广使用在实践中总结出来的开发软件的胜利的技术和方法,并且讨论探究更好更有效的技术和方法,尽快排除在运算机系统早期进展阶段形成的一些错误概念和做法;应当开发和使用更好的软件工具;为明白决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施;6美国某科幻电影中有一个描写运算机软件错误的故事,很富于戏剧性;故事情节如下:由运算机 HAL 掌握的宇宙飞船在飞往木星的旅途中,飞机指挥员鲍曼和HAL 之间有一段对话;鲍曼命令道: “ HAL ,请对备用舱进行故障

7、预报测试;” 10 秒钟后 HAL 报告:“ 一切正常; ”但是,地面上的飞行指挥中心在重复做了故障猜测报告后,却得出了相反的结论:“ 鲍曼,我是飞行指挥中心,你的运算机在预报故障时可能犯了错误,我们的两台 HAL 运算机都得出了和你的运算机相反的结论; ”鲍曼用手指敲着掌握台说:“ HAL ,是不是有什么东西干扰了你,以致出了这个差错?”“ 听着,鲍曼,我知道你很想帮忙我,但是我的信息处理是正常的;不信就查看我的记录吧,你会看到它是完全正确的;”“ 我看过你的服务记录,但是 谁都可能犯错误啊;”“ 我并不顽固己见,但是,我是不行能犯错误的 ;”“ 喂,我是飞行指挥中心,我们已经完全分析了你所

8、遇到的麻烦,我们的两台运算机得出了完 全一样的结论;问题出在故障预报系统中,我们确信是程序设计有错误;你必需断开你的运算机并 改为地面掌握模式,我们才能改正这个错误;”当鲍曼断开运算机时,HAL 立刻又把自己接了上去;最终,鲍曼只好拆下运算机的储备器,才 得以掌握他的宇宙飞船;请问:( 1)为什么鲍曼拆下储备器就能摆脱运算机的干扰而独自掌握宇宙飞船?我们现在遇到的软件 问题有这么严峻吗?( 2)假如不依靠飞行指挥中心,鲍曼怎样才知道HAL 的故障预报有问题?( 3)应当怎样设计运算机系统,才能防止显现故事中描述的这类问题?答:(1)运算机通过运行程序来掌握宇宙飞船,而程序指令存放在储备器中;拆

9、下储备器之后,计 算机因取不来指令而无法运行程序,因此也就无法掌握宇宙飞船了;我们现在遇到的软件问题没有这么严峻,仍没有显现运算机不听从人的命令的情形;( 2)除非鲍曼能亲自分析有故障的部件,或者在运算机上仍安装有另外一套故障检测系统,否 就不依靠飞行指挥中心他很难知道 HAL 的故障预报有问题;( 3)应当把 HAL 设计成具有如干个储存的问题,供周期性测试之用;通过把应有的测试结果和 HAL 实际测试结果加以比较的方法,有可能发觉HAL 的故障预报问题;此外, 不论怎样详细设计HAL 系统, 都应当设置一种人工操作模式,并把人工操作模式设置为最高等级的掌握模式,在任何情形下运算机掌握都不能

10、取消人工操作命令;名师归纳总结 - - - - - - -第 2 页,共 8 页精选学习资料 - - - - - - - - - 其次章 软件过程软件过程定义了运用方法的次序、应当交付的文档、开发软件的治理措施、各阶段任务完成的 标志;软件过程必需科学、合理,才能获得高质量的软件产品;软件产品从问题定义开头,经过开发、使用和保护,直到最终被剔除的整个过程称为软件生命 周期;依据软件生产工程化的需要,生存周期的划分有所不同,从而形成了不同的软件生命周期模型(SW life cycle model ),或称软件开发模型;软件开发模型有以下几种;. 瀑布模型:规范的、文档驱动的方法;开发阶段按次序进

11、行,适用于需求分析较明确、开发 技术较成熟的情形;. 快速原型模型:构建原型系统让用户试用并收集用户看法,猎取用户真实需求;. 增量模型:优点是能在早期向用户提交部分产品和易于保护,缺点是软件的体系结构必需是 开放的;. 喷泉模型:适用于面对对象方法;. 螺旋模型:适用于大规模内部开发项目,有利于分析风险和排除风险;. 统一过程: 适用于面对对象方法,使用统一建模语言UML ,实行用例驱动和架构优先的策略,采纳迭代增量的建造方法;进行软件开发时可把各种模型的特点结合起来,充分利用优点,削减缺点;习题参考答案:1什么是软件过程?它与软件工程方法学有何关系?软件过程是为了开发出高质量的软件产品所需

12、完成的一系列任务的框架,它规定了完成各项任 务的工作步骤;软件过程定义了运用技术方法的次序、应当交付的文档资料、为保证软件质量和和谐软件变化 必需实行的治理措施,以及标志完成了相应开发活动的里程碑;软件过程是软件工程方法学的 3 个重要组成部分之一;该软件的功能是把读入的浮点数开平方,所得到的结果应当精确到小 2假设要求你开发一个软件,数点后 4 位;一旦实现并测试完之后,该产品将被抛弃;你准备选用哪些软件生命周期模型?请说 明你作出挑选的理由;答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需 求也无须用原型来验证设计方案;此外,一旦实现并测试完之后,该产

13、品将被抛弃,因此也无须使用有助于提高软件可保护性的增量模型或螺旋模型来开发该软件;使用大多数人所熟识的瀑布模型就可以了;所以, 为了开发这个简洁的软件,1)需求明确; 2)功能单一,规模小;3)潜在功能变化少;3假设你要为一家生产和销售长筒靴的公司开发一个软件,使用此软件来监控该公司的存货,并跟 踪从购买橡胶开头,到生产长筒靴、发货给各个连锁店,直至卖给顾客的全部过程;以保证生产、销售过程的各个环节供需平稳,既不会有停工待料现象,也不会有供不应求现象;你在为这个项目挑选生命周期模型时使用什么准就 . 答:快速原型模型;1) 软件系统的使用人员纷杂,需求确定困难;2) 软件应用环节多,功能变化多

14、,初期需求变化多,在修改原型的过程中明确功能;名师归纳总结 - - - - - - -第 3 页,共 8 页精选学习资料 - - - - - - - - - 4列出在开发上述软件产品过程中可能遇到的风险;你准备怎样排除这些风险?答: 1)需求不明确,在明确需求的过程中延误交工期限;排除:利用快速原型法,选好快速开发工具,对用户的需求变更做出快速反应,及早确定最终 需求;2)需求越提越多,无法依据方案准时定下需求;排除:帮忙用户对需求进行分析,确定下来近期完成的主要功能;其它附加功能和次要功能可 在升级版本中表达;确保项目的顺当开展;3)开发人员不熟识业务;排除:在和用户确定需求的过程中,准时向

15、用户请教业务相关的学问,同时也可以请用户针对 与业务流程或专业术语进行特地的培训;5你为靴类连锁店开发的存货监控软件很受用户欢迎,现在软件开发公司打算把它重新写成一个通用软件包,以卖给各种生产并通过自己的连锁店销售产品的公司;因此,这个新的软件产品必需是 可移植的,并且应当能够很简洁地适应新的运行环境(硬件或操作系统),以满意不同用户的需求;你在为此题中的软件挑选生命周期模型时,使用的准就与在第 3 题中使用的准就有哪些不同 . 答:螺旋模型;什么准就?构件模型;1)通用模型,并满意不同用户的需求;利用增量模型,确定出通用的部分,同时针对于不同用 户开发不同的构件,最终进行组合;2)可移植;

16、适应新的运行环境;利用增量模型的开放式体系结构,合理组合配置软件系统构件;补假设你被任命为一家软件公司的项目负责人,你的工作是治理该公司已被广泛应用的字处理软 件的新版本开发;由于市场竞争猛烈,公司规定了严格的完成期限并且已对外公布;你准备采纳哪 种软件生命周期模型?为什么?答:对这个项目的一个重要要求是,严格依据已对外公布了的日期完成产品开发工作,因此,挑选 生命周期模型时应当着重考虑哪些模型有助于加快产品开发的进度;使用增量模型开发软件时可以 并行完成开发工作,因此能够加快开发进度;这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出 3 点结 论:第一,旧版本相当

17、于一个原型,通过收集用户对旧版本的反映,较简洁确定对新版本的需求,没必要再特地建立一个原型系统来分析用户的需求;其次,该公司的软件工程师对字处理软件很熟 悉,有开发字处理软件的丰富体会,具有采纳增量模型开发新版字处理软件所需要的技术水平;第 三,该软件受到广大用户的宠爱,今后很可能仍要开发更新的版本,因此,应当把该软件的体系结 构设计成开放式的,以利于今后的改进和扩充;综上所述,采纳增量模型来完成这个项目比较恰当;名师归纳总结 - - - - - - -第 4 页,共 8 页精选学习资料 - - - - - - - - - 第三章 结构化分析习题参考答案:1银行运算机储蓄系统的工作过程大致如下

18、:储户填写的存款单或取款单由业务员键入系统,假如是存款就系统记录存款人姓名、住址(或电话号码) 、身份证号码、 存款类型、 存款日期、 到期日期、利率及密码(可选)等信息,并印出存款存单给储户;,假如是取款而且取款时留有密码,就系统首先核对储户密码,如密码正确或存款时未留密码,就系统运算利息并印出利息清单给储户;请用数据流图描述本系统的功能,并用实体 答:顶级数据流图:-联系图描述系统中的数据对象;储户存款单储 蓄存款存单储户取款单系统利息清单第一级数据流图:储户存款单1 存存款存单储户款处理取款单2 取利息清单款处理其次级数据流图:1.1 1.2 更新存 款 信更新数据息+利息2.1 本问题

19、中共有两类实体,分别是“ 储户” 和“ 储蓄所”2.2 利息2.3 ,在它们之间存在“ 存取款” 关系;由于一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“ 存取款” 是多对多(M :N)关系;储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、住址和电名师归纳总结 - - - - - - -第 5 页,共 8 页精选学习资料 - - - - - - - - - 话号码,而数额、类型、到期日期、利率和密码等就是联系类型存取款的属性;存款日期取款日期2为便利旅客,某航空公司拟开发一个机票预订系统;旅行社把预订机票的旅客信息 姓名、性别、工作单位、身份证号码、旅

20、行时间、旅行目的地等输入进该系统,系统为旅客支配航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅 客;请用 ER 图描画本系统中的数据对象并用数据流图描画本系统的功能;3目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观看危重病人的病情变化,仍会延误抢救时机;某医院准备开发一个以运算机为中心的患者监护系统,请分层次地画 出描述本系统功能的数据流图;医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图 等),定时记录病人情形以形成患者日志,当某个病人的生理信号超出医生规定的安全范畴时向值班 护士

21、发出警告信号,此外,护士在需要时仍可以要求系统输出某个指定病人的病情报告;答:从问题陈述可知,本系统数据源点是“ 病人” 和“ 护士”,他们分别供应生理信号和要求病情报 告的信息;进一步分析问题陈述,从系统应当“ 定时记录病人情形以形成患者日志” 这项要求可以 想到,仍应当有一个供应日期和时间信息的“ 时钟” 作为数据源点;名师归纳总结 - - - - - - -第 6 页,共 8 页精选学习资料 - - - - - - - - - 从问题陈述简洁看出,本系统的数据终点是接收警告信息和病情报告的护士;系统对病人生理信号的处理功能主要是“ 接收信号”、“ 分析信号” 和“ 产生警告信息”;此外,

22、系统仍应当具有“ 定时取样生理信号”、“ 更新日志” 和“ 产生病情报告” 的功能;为了分析病人生理信号是否超出了医生规定的安全范畴,应当储备“ 患者安全范畴” 信息;此外,定时记录病人生理信号所形成的“ 患者日志”,明显也是一个数据储备;顶层数据流图D2 生理信息细化数据流图5办公室复印机的工作过程大致如下:未接收到复印命令时处于闲置状态,一旦接到复印命令就进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;假如执行复印命令时发觉缺纸,就进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,预备接收复印命令;假如复印时发生卡纸故障,就进入卡纸状态,发出警告等待修理

23、人员来排除故障,故障排除后回到闲置状态;答:从问题陈述可知,复印件的状态主要有“ 闲置”、“ 复印” 、“ 缺纸” 和“ 卡纸”;引起状态转换的大事主要是“ 复印命令”、“ 完成复印命令”、“ 发觉缺纸”、“ 装满纸” 、“ 发生卡纸故障” 和“ 排除了卡纸故障” ;下图所示状态转换图描画了复印机的行为;名师归纳总结 - - - - - - -第 7 页,共 8 页精选学习资料 - - - - - - - - - 6某高校可用的电话号码有以下几类:校内电话号码由4 位数字组成,第1 位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨 0,假如是本地电话再接着拨 8 位电话号码

24、(第 1 位不是 0),假如是外地电话就先拨 3 位区码,再拨 8 位电话号码(第 1 位不是 0);请用 2.8 节叙述的符号,定义上述的电话号码;答:电话号码 = 校内电话号码 校外电话号码 校内电话号码 =非零数字 +3 位数字 校外电话号码 =本市号码 外地号码 本市号码 =数字零 +8 位数字 外地号码 =数字零 +3 位数字 +8 位数字 非零数字 =1 2 3 4 5 6 7 8 9 数字零 =0 3 位数字 =3 数字 3 8 位数字 =非零数字 +7 位数字 7 位数字 =7 数字 7 数字 =0 1 2 3 4 5 6 7 8 9 名师归纳总结 - - - - - - -第 8 页,共 8 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁