软件工程习题(附答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章概述
1.软件产品具有哪些特性?
答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性
软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的
a.软件产品是一种逻辑产品.
b.软件产品的生产主是研制,软件产品的成本主要体现在软件的...
c.开发的软件可维护性差.
d. 开发的软件可靠性差
⑴是一种逻辑产品,与物质产品有很大的区别.
⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品.
⑶软件产品不会用坏,不存在磨损,消耗.
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的
⑸开发软件的费用不断增加,致使生产成本相当昂贵.
(6)其质量往往靠不住,缺乏可见性
2.简述什么是软件工程?
答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件”
的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须
的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不
超过预算,并满足用户要求;
3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段?
答:定义时期:问题的定义(客户需求)、可行性研究(为什么做);
开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。
运行时期:软件维护。
4.依下列叙述确定软件生命周期模型。
M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已
经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认
为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐
明你的理由。
答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。
5.依下列叙述确定软件生命周期模型。
假设要求你开发一个软件,该软件的功能是
把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并
测试完之后,该产品将被抛弃。你打算使用哪种软件生命周期模型?请说明你
作出选择的理由。
答:对这个软件的需求很明确,实现开平方功能的算法也很熟悉,因此,既无需通过原型来分析需求也无需用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来年开发该软件。综上所述,为了开发这个简单的软件,使用大多数人熟悉的瀑布模型就可以了。
第二章可行性研究
1.可行性分析的任务是什么?
答:可行性分析的任务是对一下三方面的可行性进行研究。1.技术上可行性:研究现有技术、资源及限制能否支持和实现系统的功能、性能,主要是技术风险问题。2.经济上的可行性:进行成本估算及效益评估,确定项目是否值得开发。3.操作上的可行性:系统的操作方式在这个用户组织内是否行得通。4.社会上的可行性:主要指系统开发后能否运行,是否存在合同、责任、侵权、用户组合管理等方面的问题。从法律,社会效益研究可行性。
2.简述如何检查数据流图的正确性和提高它的易理解性?
答:可从以下几个角度来检查数据流图的正确性:数据守恒、文件的使用:父图和子图的平衡等;提高数据流图的易理解性可从以下几个方面进行:简化加工间的联系、注意分解的均匀、适当的命名等。
3.请依描述绘制DFD图。
画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取
款单,根据“账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储
户,否则,登录“储户存款数据库”,修改相应数据,并更新“账卡”,同时
发出付款通知,出纳向储户付款。
4.请依描述绘制
DFD图并写出数据词典中的数据流条目。(第二章可行性研究)
自学考试报名过程中有个“记录报名单”的处理。该处理主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、
填写、
输出
准考
证给
报名
者,同
时记
录到考生名册中(准考证号、姓名、课程)。
第五章总体设计
1.衡量模块独立性的两个标准是什么?它们各表示什么含义?
答:两个定性的度量标准:耦合与内聚性。耦合性:也称块间联系。指软件系统中各模块间相互联系紧密程度的一种度量。模块间联系越紧密,其耦合性就是越强,模块的独立性则越差。内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,模块内元素联系越紧密,内聚性越高。
2、问题描述如下:
我们已经开始进入“智能”产品时代。在这类产品中把软件做在只读存储器中,成为设备的一部分,从而使设备具有某些“智能”。因此,这类产品的设计都包含软件开发的任务。作为面向数据流的设计方法中变换分析的例子,考虑汽车数字仪表板的设计。
假设的仪表板将完成下述功能:
(1) 通过模数转换实现传感器和微处理机接口;
(2) 在发光二极管面板上显示数据:
1)指示每小时英里数(mph),
2)行驶的里程,
3)每加仑油行驶的英里数(mpg)等等;
4)指示加速或减速
5)超速警告:如果车速超过55英里/小时,则发出超速警告铃声。
1.画出精化的数据流图。
2.利用变换分析画出第一级分解的软件的层次图。
3. 用层次图表示软件的最终结构图。