40875][东北大学]20年7月考试《软件工程与UML建模》考核作业(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东北大学继续教育学院
软件工程与UML建模试卷(作业考核线上1) A 卷
学习中心:奥鹏远程教育沈阳学习中心(直属)[32] 院校学号:C09024011930344 姓名何家强
(共 4 页)
一、单选题(30分,共15题,每题2分)
1. D 是在系统之外,透过系统边界与系统进行有意义交互的任何事物
A).相关系统B).Use Case C).Class D).Actor
2.软件工程是以 D 为核心
A).过程B).面向对象C).软件开发D).质量
3.“系统开发过程和可交付文档将遵照ZCo-SP0STAN-95中相关规定”,这属于 D
A).功能性需求B).客观需求C).主观需求D).非功能性需求
4.“系统每天晚上自动生成进货报表”,Actor是: C
A).系统B).其它系统C).时间D).报表审阅者
5.数据流程图是一个分层的概念模型,分三个层次: C ,分别描述系统的不同特征
A).总体图、二级图、三级图B).总体图、二级图、细节图
C).总体图、零级图、细节图D).总体图、次级图、细节图
6.以下用例命名中,最合理的是 D
A).进行宠物搜索B).查询宠物
C).宠物查询D).进行宠物查询
7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。这两个用例之间是什么关系? B
A).包含关系B).没有关系C).扩展关系D).泛化关系
8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指 B
A).深度B).扇入 C).扇出 D).耦合
9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)<C(p2) 则 D
A).E(p1)>E(p2) B).C(p1+p2)=C(p1)+C(p2)
C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)<E(p1)+E(p2)
10.以下各种图不是UML使用的图是 C
A).用例图B).类图C).数据流程图D).顺序图
11.模块尺寸太大时,应 A
A).分解以提高内聚B).分解以提高耦合
C).合并以提高内聚D).分解以降低内聚
12.以下类的命名中,最合理的是 A
A). BusVehicle B). Routes C). passenger D). Stop
13.在软件过程中,下列活动属于辅助活动的是 D
A).设计B).集成C).退役D).风险管理
14.下面用例模型体现了用例间的 A 关系
A).泛化、包含和扩展B).包含和扩展
C).分解、包括和扩充D).分解、包含和扩展
15.下图体现了面向对象中类的 C
A).复杂性B). 可传递性 C).自反关联D). 继承关系
二、简答题(40分,共4题,每题10分)
1.请解释软件工程的含义。
解:一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。
2.软件有哪些特征?为什么会出现软件危机?
解:
软件开发存在以下特性:
1)软件具有难以描述性。
2)软件开发缺乏可见性。
3)软件开发具有复杂性。
4)软件开发具有变化性。
5)软件开发具有风险.
6)软件开发具有强合作性。
软件开发的这些特性使得人们深陷在软件的危机当中。所谓软件危机,是指在软件开发和维护过程中所存在的长周期、高成本、低质量等问题。
3.请解释软件体系结构的概念。
解:
具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。相比较于“软件架构”,“软件体系结构”一词多用于学术研究领域使用,“软件架构”多用于工程实践领域,二者的外文名都是“software architecture”,在IEEE 中的定义均为:“一个系统的基础组织,包含各个构件、构件互相之间与环境的关系,还有指导其设计和演化的原则。”
4. 请解释耦合和内聚的概念。
解:
内聚是一个模块内部各部件之间联系紧密程度的度量。分治将任务分解为若干个小的任务,内聚则强调分解时将相关的内容放到一起。内聚用于确定系统中的每个模块是否是一个合理的程序单元,即是否是一个合理的模块。一个模块内的各个部件联系越紧越好,说明它们应该一起构成这个模块。
耦合是模块间相互联系强弱的度量,用于帮助设计者保证设计出的系统是由一系列松散耦合的模块组成。模块之间耦合的强弱取决于模块间传递数据的方式、接口复杂情况以及传递数据的类型。
三、假设你是一个项目经理,将要率领一个软件开发小组开发一个东北大学的学生选课系统。回答以下问题:
1. 请选择一个合适的软件开发过程模型,并请说明选择的理由(10分)。
解:
用例模型、用例文档
2. 分析并描述这个系统的Use Case,包括用例模型(10分)和其中某一个用例的文档(10分)(共20分)。
解:可从Actor和用例之间的关系等方面进行评分。用例之间应该有3种关系。
用例文档应包括用例描述、前置条件、后置条件、基本步骤和异常步骤等。