软件工程与UML建模

软件工程与UML建模
软件工程与UML建模

软件工程与UML建模复习题A

一、单选题

1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物

A).相关系统B).Use Case C).Class D).Actor

2.软件工程是以为核心

A).过程B).面向对象C).软件开发D).质量

3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于

A).功能性需求B).客观需求C).主观需求D).非功能性需求

4.“系统每天晚上自动生成进货报表”,Actor是:

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.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)

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)

10.以下各种图不是UML使用的图是

A).用例图B).类图C).数据流程图D).顺序图

11.模块尺寸太大时,应

A).分解以提高内聚B).分解以提高耦合C).合并以提高内聚D).分解以降低内聚

12.以下类的命名中,最合理的是

A).BusVehicle B).Routes C).passenger D).Stop

13.在软件过程中,下列活动属于辅助活动的是

A).设计B).集成C).退役D).风险管理

14.下面用例模型体现了用例间的关系

A).泛化、包含和扩展B).包含和扩展C).分解、包括和扩充D).分解、包含和扩展

15.下图体现了面向对象中类的

A).复杂性B).可传递性C).自反关联D).继承关系

二、简答题

1.软件有哪些特征?为什么会出现软件危机?

2.请解释耦合和内聚的概念。

三、假设你是一个项目经理,将要率领一个软件开发小组开发一个东北大学的学生学籍和成绩管理系统。这是一个在网络上运行的系统,学生处负责对学生信息的管理,学校的多个部门都可以查询到学生的信息,学生可以查询自己的成绩状况。

1. 分析并描述这个系统的Use Case,包括用例模型和其中某一个用例的文档。

一:单选题DDDCC, BBBDC AADAC

二、简答题

1.软件有哪些特征?为什么会出现软件危机?

软件开发存在以下特性:

1)软件具有难以描述性。

2)软件开发缺乏可见性。

3)软件开发具有复杂性。

4)软件开发具有变化性。

5)软件开发具有风险.

6)软件开发具有强合作性。

软件开发的这些特性使得人们深陷在软件的危机当中。所谓软件危机,是指在软件开发和维护过程中所存在的长周期、高成本、低质量等问题。

2.请解释耦合和内聚的概念。

内聚是一个模块内部各部件之间联系紧密程度的度量。分治将任务分解为若干个小的任务,内聚则强调分解时将相关的内容放到一起。内聚用于确定系统中的每个模块是否是一个合理的程序单元,即是否是一个合理的模块。一个模块内的各个部件联系越紧越好,说明它们应该一起构成这个模块。

耦合是模块间相互联系强弱的度量,用于帮助设计者保证设计出的系统是由一系列松散耦合的模块组成。模块之间耦合的强弱取决于模块间传递数据的方式、接口复杂情况以及传递数据的类型。

三、假设你是一个项目经理,将要率领一个软件开发小组开发一个东北大学的学生学籍和成绩管理系统。这是一个在网络上运行的系统,学生处负责对学生信息的管理,学校的多个部门都可以查询到学生的信息,学生可以查询自己的成绩状况。

1. 分析并描述这个系统的Use Case,包括用例模型和其中某一个用例的文档。

可从Actor和用例之间的关系等方面进行评分。用例之间应该有3种关系。

用例文档应包括用例描述、前置条件、后置条件、基本步骤和异常步骤等。

3.请解释模块的概念。

模块是具体的部件,是定义在程序设计语言级别上的构件,例如Java语言中的包、类和方法,C语言中的文件和函数,都是模块,只是粒度不同而已。模块具有有界性、可插拔性和可互换性,即:

①对一个模块作某些改变,其变化影响不应该超出该模块的边界;

②从系统中删除该模块,将仅仅影响它执行的功能;

③用一个具有相同接口和功能的新模块代替就旧模块,将不改变原系统的功能,而可能影响的仅仅是系统的性能,如执行速度。

相关主题
相关文档
最新文档