广州大学2019软件工程B卷答案

发布 2024-01-15 02:40:15 阅读 9425

一、单选题(本大题共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分)

集美大学软件工程2019 B卷

11 是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,它是经过评审的软件配置项和交付物的集合。二 选择题 共15分,每小题1分 1 一个模块直接控制 调用 的下层模块的数目称为模块的。a 扇入数 b 扇出数 c 宽度 d 作用域。2 成功的测试是指。a 运行测试实例后未发现错误 b 发现程...

集美大学软件工程2019b卷

集美大学试卷纸。2008 2009学年第一学期。考生信息栏学院专业班级姓名学号。10 软件过程的公共框架定义了若干框架活动,每一个活动由一组软件工程动作组成,每一。个动作可指定相关的任务集,其中包括 工作任务 质量保证点和。11 是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,它是经过评审...

软件工程2019样卷A

浙江工业大学之江学院 2008 2009学年。第一学期 软件工程 期终试卷。考试类型 闭卷 班级姓名学号。注意 请将第二题和第三题的答案填在 中,谢谢!一 名词解释 每题3分,共15分 1 case 2 sa3 桩。4 信息隐藏原则。5 面向对象软件工程。二 选择题 每题1分,共25分 请从供选择的...