2017年重庆大学软件学院877软件工程基础综合考研题库
● 摘要
一、填空题
1. 在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的_____进行设计。
【答案】数据结构
2. 规约语言的语义域指出语言如何表示_____。
【答案】系统需求
3. Petri 网的行为特性分析方法可分_____、_____、_____三类。
【答案】可覆盖性树;矩阵方程求解;分层或化简
4. 详细设计的目标不仅是逻辑上正确地实现_____,还应使设计出的处理过程_____。_____是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于_____、易于_____的程序。
【答案】每个模块的功能;清晰易读;结构化程序设计;理解;验证
5. 增量模型根据增量的方式和形式的不同,分为_____模型和_____模型。
【答案】渐増;原型
6. 可行性研究具体步骤的最后一步是_____。
【答案】编写可行性报告
7. 模块的_____指一个模块直接下属模块的个数,_____指一个模块直接上属模块的个数。
【答案】扇出;扇入
8. 详细设计的基本任务是为每个模块进行详细的_____; 为模块内的_____进行设计;对_____进行物理设计;其他设计;编写详细设计说明书和_____。
【答案】算法设计;数据结构;数据库;评审
9. 单元测试指对源程序中每一个_____进行测试,检查各个模块是否正确实现_____,从而发现模块在_____的错误。该阶段涉及_____的文档。
【答案】程序单元;规定的功能;编码中或算法中;编码和详细设计
10.属性的定义是_____,服务的定义_____。
【答案】描述对象静态特征的一个数据项;服务是描述对象动态特征(行为)的一个操作序列
二、简答题
11.什么是软件可维护性?可维护性度量的特性是什么?
【答案】(1)软件可维护性的定义
软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度;是软件开发阶段的关键目标。
(2)可维护性度量的特性
影响软件可维护性的因素较多,设计、编码及测试中的疏忽和低劣的软件配置、缺少文档等都对软件的可维护性产生不良的影响。软件可维护性可用可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率这七个质量特性来衡量。对于不同类型的维护,这七种特性的侧重点也不相同。这些质量特性通常体现在软件产品的许多方面。为使每一个相应的措施加以保证,即这些质量要求要渗透到各开发阶段的各个步骤中。因此,软件的可维护性是产品投入运行以前各阶段针对上述各质量特性要求进行开发的最终结果。
12.在哪些情况下适宜使用原型?哪些情况下不宜使用原型?
【答案】(1)适宜使用原型的情况
①开发周期很长的项目,通过原型开发来缩短开发周期。
②系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制。
③用户对系统的需求较为模糊,对某种要求缺乏信心。
④开发者对系统的某种设计方案的实现无信心或无十分的把握。
(2)不宜使用原型的情况
①缺乏开发工具,或对原型的可用工具不了解的时候。
②用户不愿意参与开发。
③用户的数据资源没有很好地组织和管理的时候,因为快速原型需要快速寻找和存取数据。 ④用户的软件资源没有被组织和管理起来的时候,因为MIS 中的模型、模块、使用设施和程序的难易程度对原型使用很关键。
13.可行性研究包括哪些步骤?
【答案】(1)系统定义
为了定义好一个系统,需要分析人员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析人员正在解决的问题确实是要解决的问题。
(2)研究正在运行的系统
①正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,要开发一个新的计算机系统来代替旧的系统。因此,现有的系统是信息的重要来源,要研究它的基本功能,存在什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时能否减少使用费用等。
②收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。
(3)导出新系统的逻辑模型
根据对现有系统的分析研究,逐渐明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具一数据流图和数据字典来描述数据在系统中的流动和处理情况。
(4)设计方案
分析人员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可行性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
(5)推荐可行的方案
根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行性的解决方案是什么,并且说明该方案可行的原因和理由。
(6)编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
14.试分析瀑布模型的优点和缺点。
【答案】瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终 得到软件产品。开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。
(1)优点
①可强迫开发人员采用规范的方法。
②严格地规定了每个阶段必须提交的文档。
③要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
④对文档的约束,使软件维护变得容易一些,且能降低软件预算。
(2)缺点
①开发过程一般不能逆转,否则代价太大。
②实际的项目开发很难严格按该模型进行。
③客户往往很难清楚地给出所有的需求。
④软件的实际情况必须到项目开发的后期客户才能看到。
15.画数据流图的步骤是什么?画数据流图应该注意什么事项?
【答案】(1)画数据流图的步骤
①首先画系统的输入输出,即先画顶层数据流图
顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些