2017年兰州大学软件工程(同等学力加试)复试仿真模拟三套题
● 摘要
一、名词解释
1. 内聚
【答案】内聚是衡量模块独立性的一个标准,指模块功能强度的度量,即一个模块内部各个元素彼此结合的紧密 程度的度量。模块内元素联系越紧密,内聚越高;内聚越高,模块独立性越强。
二、简答题
2. 什么是软件生存周期模型?有哪些主要模型?
【答案】(1)软件生存周期模型的定义
软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
(2)软件生存周期模型的分类
主要的软件生存周期模型有瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型。
3. 什么是软件工程过程?它包含哪些过程?
【答案】(1)软件工程过程的定义
软件工程过程规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。 (2)软件工程过程包含的过程
①获取过程
定义需求方按合同获取一个系统、软件产品或服务的活动。
②供应过程
定义供方向需求方提供合同中的系统、软件产品或服务所需的活动。
③开发过程
定义开发者和机构为了定义和开发软件或提供服务所需的活动。此过程包括需求分析、设计、编码、集成、测试、软件安装和验收等活动。
④操作过程
定义操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。 ⑤维护过程
定义维护者和机构为了修改和管理软件,使它处于良好运行状态所需要的活动。
⑥管理过程
定义软件工程过程中各项管理活动,包括:项目开始和范围定义、项目管理计划、实施和控制、评审和评价、项目完成等。
⑦支持过程
支持过程对项目的生存周期过程给予支持。它有助于项目的成功并能提高项目的质量。
4. 需求分析方法应遵循的原则是什么?
【答案】(1)必须能够表达和理解问题的数据域及功能域
数据域包括数据流(即数据通过一个系统时的变化方式)、数据内容和数据结构,而功能域反映上述三方面的控制信息。
(2)可以把一个复杂问题按功能进行分解并可逐层细化
通常软件要处理的问题如果太大、太复杂就很难理解,划分成几部分,并确定各部分间的接口,就可完成整体功能。在需求分析过程中,软件领域中的数据、功能、行为都可以划分。
(3)建模
建立模型可以帮助分析人员更好地理解软件系统的信息、功能、行为,这些模型也是软件设计的基础。
5. 应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?
【答案】(1)在对照需求做有效性测试和软件配置审查时,是由软件开发者在开发环境下进
行的测试。而接下来做验收测试时则以用户为主。软件开发人员和
输出结果,一般使用生产中的实际数据进行测试。
(2)如果软件是为多个用户开发的,则需要进行a 测试和p 测试。a 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。软件在应该自然设置状态下使用。开发者坐在用户旁边,随时记录错误情况和使用中的问题,这是在受控制的环境下进行的测试。
(3)测试是由软件的多个用户在一个用户或多个用户的实际使用环境下进行的测试。这些用户是与公司签订了支持产品预发行合同的外部用户,他们要求使用产品,并愿意返回有关错误信息给开发者。与a 测试不同的是,开发者通常不在测试现场。因此,测试是在开发者无法控制的环境下进行的软件现场应用。
6. 测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?
【答案】(1)单元测试,是在类层面上的测试。由于继承和复合,类(或对象)在很多情况下已不再是单纯意义上的单个操作。因此,具体的测试将在多有与操作有关的每个子类语境中进行。
(2)集成测试,由于面向对象软件中类的成分直接和间接交互,使得传统测试放法已经失去意义。因此有两种策略可供选择,分别是基于线程的测试和基于使用的测试。
一一质量保证)人员也应参加。由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试的
(3)确认测试,关注与用户可见的动作和用户识别的系统输出,但基于场景的测试总是主宰面向对象系统的确认测试。
7. 什么是需求分析?需求分析阶段的基本任务是什么?
【答案】(1)需求分析的定义
需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求
陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
(2)需求分析的基本任务
需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作。
①问题识别
双方确定对问题的综合需求,这些需求如下:
a. 功能需求
所开发的软件必须具备什么样的功能,这是最重要的。
b. 性能需求
待开发的软件的技术性能指标。如存储容量、运行时间等限制。
c. 环境需求
软件运行时所需要的软、硬件(如机型、外设、操作系统、数据库管理系统等)的要求。 d. 用户界面需求
人机交互方式、输入输出数据格式等等。
另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求,这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。
②分析与综合,导出软件的逻辑模型
分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。
③编写文档
a. 编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。
b. 编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。
c. 编写确认测试计划,作为今后确认和验收的依据。
d. 修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。
三、综合应用题
相关内容
相关标签