广州大学2015软件工程试卷B及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
院、系领导
B 卷
审批并签名
`
广州大学2014—2015 学年第一学期考试卷课程软件工程导论考试形式(闭卷,考试)学院计算机科学与教育软件班级学号姓名
题次一二三四五六七八九十总分评卷人分数10 20 20 50
评分
一、单选题(每小题1分,共10分,答案写在下表中)
1 2 3 4 5 6 7 8 9 10
A B D C B A D A C C
1.在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()
A、探索型模型
B、演化型模型
C、实验型模型
D、提交型模型
2.需求分析最终结果是产生()
A、项目开发计划
B、需求规格说明书
C、设计说明书
D、可行性分析报告
3.可行性研究要进行一次()需求分析。
A、深入的
B、详尽的
C、彻底的
D、简化的、压缩了的
4.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( )。
A.总体B.细节C.抽象D.分解
5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作
( )。
A.软件投机 B.软件危机 C.软件工程 D. 软件现象
6.面向对象系统的多态是( ) 。
A.不同的对象收到相同的消息时产生不同的动作
B.不同的对象收到相同的消息时产生相同的动作
C.相同的对象收到相同的消息时产生不同的动作
D.相同的对象收到相同的消息时产生相同的动作
7、软件测试方法中的( )属于静态测试方法。
A、黑盒法
B、路径覆盖
C、错误推测
D、人工检测
8.面向对象程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作 B.信息
C.数据隐藏 D.数据抽象
9、软件可维护性的特性中相互矛盾的是()
A、可修改性和可理解性
B、可测试性和可理解性
C、效率和可修改性
D、可理解性和可读性
10、软件维护产生的副作用,是指()
A、开发时的错误
B、隐含的错误
C、因修改软件而造成的错误
D、运行时误操作
二、填空题(每空1分,共20分)
1、软件工程师更关注软件质量的内部属性,如模块化、一致性、简洁性、可测试性、自文档化等,支持和保证软件质量外部属性的实现。(顺序可互换)
2、常用的软件开发方法有结构化方法、面向对象方法和形式化开发方法。(顺序可互换)
3、将软件生存周期,即软件制品的进化状态划分为五个阶段:初始、细化、构造、移交、生产阶段。
4、软件需求的正确性包含真实性、一致性、精确性和无冗余4个质量指标。(顺序可互换)
5、除面向对象基本概念中的继承和聚合外,UML还可以表示类之间的关联、依赖和实现关系。(顺序可互换)
6、用于表示分析模型的UML图形机制主要是类图、活动图、交互图与状态图。(顺序可互换)
7、一般而言,需求优先级取决于三个因素的综合作用:需求项为利益相关方提供的价值、需求项的实现成本、实现过程中的风险。(顺序可互换)
8、设计元素主要指出现在设计模型中的模块,这些模块的表现形式包括子系统、构件和类。(顺序可互换)
9、软件分析和设计是软件实现的基础。(顺序可互换)
10、软件设计基本原则包括抽象与逐步求精、强内聚及松耦合、信息隐藏及关注点分离。(顺序可互换)
三、名词解释(每小题4分,共20分)
1、瀑布模型
瀑布模型将软件开发过程分解为可行性研究、软件需求、设计、编码、测试、运行与维护、退役几个阶段。它们既是软件开发过程的分解,也是软件生存周期的阶段划分。瀑布模型按照各阶段的目标和任务逐步进行开发,直至通过确认测试,向用户交付最终软件制品为止。
2、执行者
指外部用户或外部实体在系统的交互过程中扮演的角色,它与软件系统交换信息并使用软件系统的功能。
3、设计模式
以设计复用为目的,采用一种良好定义的、正规的、一致的方式记录的软件设计经验。
4、白盒测试
按照产品工作原理和过程,测试产品内部各个子系统或部件的功能、属性、动作是否正常,如果正常系统就能满足质量标准。
5、预防性维护
优化软件系统结构和可理解性,改善可维护性和可靠性。
四、问答题(共50分)
1、简述基于构件的过程模型优缺点。(6分)
基于构件的软件开发模型优点:减少了软件开发工作量,降低了软件开发成本和风险,缩短了软件交付时间。(2分)
缺点:(1)为使用构件可能要修改需求,提供的软件可能与用户期望的系统不同。(2分)
(2)用多个供应商提供的构件集成一个系统会给软件维护带来困难。(2分)
2、软件需求分为哪几种类型?各类型的具体含义是什么?(10分)
软件需求分为功能需求、质量需求和约束性需求。(1分)
功能需求:指利益相关方要求目标软件系统应该具有的功能,还包括软件系统在业务处理过程中完成这些功能时必须遵守的约定或限制。(3分)质量需求:利益相关方对目标软件系统的质量要求。(3分)
约束性需求:利益相关方对目标软件系统在项目预算、完成时间、技术选型、遵循的标准与规范等方面提出的要求,以及由预期的开发、运行环境的特征而导致的针对目标软件系统的约束。(3分)
3、用例驱动的需求分析过程包含哪些主要活动?(4分)
⑴需求优先级分析。(1分)
⑵用例分析。(1分)
⑶分析模型评审。(1分)
⑷为辅助需求分析而构建快速原型。(1分)
4、什么是模块之间的耦合度?表现形式有哪些,请逐一说明。(13分)
耦合度:是指软件结构中多个模块之间的关联程度。(1分)
⑴非直接耦合(Nodirect Coupling):两模块中任意一个都不依赖另一个而独立工作。(2分)
⑵数据耦合(Data Coupling)如果两模块通过参数交换信息,这些信息仅参与计算而不影响模块的功能或执行路径,则称这两个模块为数据耦合。(2分)
⑶控制耦合(Control Coupling):如果模块间交换的参数会因为取值的不同而导致模块功能或执行路径的变化,则称它们为控制耦合。(2分)
⑷外部耦合(External Coupling):当若干模块均与同一外部设备或外部环境相关联(例如,I/O处理使所有I/O模块与特定的设备、格式和通信协议相关联),这些模块之间便存在外部耦合。(2分)
⑸公共耦合(Common Coupling):当若干模块通过公共的数据环境相互作用时,它们之间即存在公共耦合。(2分)
⑹内容耦合(Content Coupling):两模块的业务逻辑处理线索相互交织,“你中有我,我中有你”,或它们交互关系的复杂度高于前面所有的耦合形式,则称它们为内容耦合。(2分)