2010软件工程B卷答案

  • 格式:doc
  • 大小:85.50 KB
  • 文档页数:6

广州大学2010~2011 学年第一学期考试(答卷)
课程软件工程考试形式(闭卷,考试)
学院系专业班级学号姓名
一、单选题(本大题共10小题,每小题1分,共10分):
1.软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。

A.螺旋模型B.增量模型
C.功能模型D.瀑布模型
2.检查软件产品是否符合需求定义的过程称为(D)。

A.集成测试B.确认测试
C.验证测试D.验收测试
3.黑盒测试是从(C )观点出发的测试,白盒测试是从(A )观点出发的测试。

A.开发人员B.管理人员
C.用户
4.可行性研究要进行一次(D)需求分析。

A.深入的B.详尽的
C.彻底的D.简化的、压缩了的
5.回归测试是( A )中最常用的方法。

A.校正性维护B.适应性维护
C.完善性维护D.预防性维护
6.与选择编程语言无关的因素是( C ) 。

A.软件开发的方法B.软件执行的环境
C.程序设计风格 D. 软件开发人员的知识
7.面向对象程序设计将数据与( A )放在一起,作为一个相互依存、不可分割的整体来处理。

A.对数据的操作B.信息
C.数据隐藏D.数据抽象
8.软件生存周期的( D )工作和软件可维护性有密切的关系。

A.编码阶段B.设计阶段
C.测试阶段 D. 每个阶段
9.好的软件结构应该是( C ) 。

A.高耦合,高内聚B.高耦合,低内聚
C.低耦合,高内聚 D. 低耦合,低内聚
10.需求分析的最终结果是产生( C ) 。

A.项目开发计划B.可行性分析报告
C.需求规格说明书 D. 设计说明书
二、填空题(本大题共34空,每空1分,共34分)
1、.需求分析阶段阶段决定了系统做什么,软件设计阶段阶段决定系统如何具体实现的方案,编码阶段是系统实现的过程,软件测试阶段阶段是对实现的系统是否正确的检验,软件维护阶段阶段是找出开发阶段遗留下来的错误,而且随着用户要求的增加,环境的变化,对系统进行改造。

2、用况图和参与者及自身之间的关系有:泛化关系、包含关系、扩展关系。

3、集成测试的方法主要有渐增式测试和非渐增式测试两种。

4、在软件项目管理中,控制包括进度控制、资源控制、成本控制、质量控制、计划控制(五个之中选4个)。

5、测试阶段是在代码编写完成以后,先作单元测试,然后是集成测试、系统测
试和验收测试。

6、内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即
一个模块内部各个元素彼此结合的紧密程度的度量。

7、软件维护的内容有:纠正性维护、适应性维护、完善性维护和预防性维护。

8、一般而言,在面向对象建模过程中,人们最常用的是建立系统的用例图、类图和顺序图。

9、“四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法”
10、“五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面
向功能测试、面向过程管理”。

三、判断题(本大题共7小题,每题3分,共21分)
某软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。

请判断
哪些措施是正确的,哪能些是不正确的,并简单说明理由。

(1)在分析用户需求时同时考虑维护问题。

(2)测试完程序后,删去程序中的注解以缩短源程序长度。

(3)在软件开发过程中昼保证各阶段文档的正确性。

(4)编码时多用全局变量。

(5)选用时间效率和空间效率尽可能高的算法。

(6)尽可能利用硬件特点以提高程序效率。

(7)尽可能使用高级语言编写程序。

答:(1)正确。

在分析用户需要的同时考虑维护问题,列出将来可能变更或增加的
需求,就可以在设计时为将来可能做的修改预先做一些准备,使得在用户确实提出这些
维护要求时,实现起来比较容易一些。

(2)不正确。

程序中的注解是提高程序可理解性的关键的内部文档,删去文档的注
解必然会降低程序的可读性和可理解性,从而降低软件的可维护性。

(3)正确。

完整准确的文档对提高软件的可理解性有重要贡献,保证文档的正确性
是提高软件可维护性的关键。

(4)不正确。

程序中使用的全局变量多,不仅违背局部化原理而且会使得具有公共
环境耦合的模块数量增多,从而降低程序的可理解性、可修改性和可测试性,因此,这
样的软件可维护性较差。

(5)不正确。

一般说来,效率高的算法的可理解性较差,选用效率尽可能高的算法
将降低软件的可维护性。

事实上,程序的效率能够满足用户的需求就可以了,没有必要盲目地追求尽可能高的效率。

(6)不正确。

程序对硬件特点依赖越多,运行程序的硬件变更时适应性维护的工件量也就越大。

(7)正确。

用高级评议编程时,用户可以给程序变量和程序模块赋予含义鲜明的名字,通过名字能够比较容易地把程序对象和它们所代表的实体联系起来。

此外,高级评议使用的概念和符号更符合人的习惯。

上述事实都使得用高级评议编写的程序更容易将遇良才,因此也就更容易维护。

四、简答题(本大题共3小题,每小题5分,共15分):
1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系?
因为软件开发模型是软件工程研究的四大内容之一,它虽然不是软件工程研究的重点,但是在宏观上特别重要。

软件公司的项目组在开发一个大项目或产品时,首先在技术上必须选择一个开发模型,使开发模型非常适合这个项目或产品的生存周期;随后通过对生存周期的裁减,来给出适合与本项目或产品的软件生存周期定义。

软件的开发模型与软件生存周期有关:不同的开发模型,可能对应着不同的生存周期。

生存周期不同,该软件的开发阶段划分、评审次数、基线标准都有所不同,甚至维护方法都有所区别。

2.请说明“三个模型”的定义,以及三者之间的关系。

功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。

业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。

数据模型是描述系统工作前的数据来自何处,工作中的数据存什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义。

功能模型和业务模型是在需求分析时建模,是两个基本点。

数据模型是一个中心,在设计时建模。

功能模型和业务模型给数据模型提供数据与维护数据,数据模型支持功能模型和业务模型的正常运行。

3.需求分析的目的是什么?需求分析的难点在哪?
答:软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。

在软件工程项目中首先要获取用户的需求,通过对软件需求的提取、分析、文档化及验证,为进一步的设计和实现提供依据。

需求分析的难点是:在系统的功能、性能和接口方面,开发者与客户达
成完全一致的需求,让客户最终签字确认,并保证在项目验收前,需求相对稳
定不变。

万一需求有一点变化,双方必须履行“需求变更管理程序”,而变更
管理程序在签订合同时已经做了规定。

要知道,合同是具有法律效力的。

五、问答题:(20分)
网上求职招聘系统中的求职者模块包含以下功能
修改密码
更新个人资料
搜索招聘信息
发布求职意向
下载简历模版
投递简历
查看个人信箱
1.对系统的求职者模块进行用况建模(10分)
2.设计求职者实体类和求职信息实体类(标注它们之间的关系)。

(10分)。