- 129
- 0
- 约 5页
- 2016-11-26 发布于浙江
- 举报
软件工程与UM建模
软件工程与UML建模复习题
一:单选题(请将答案填入下表)ABCCD,BBBDC,AADAC
1.在软件过程中,下列活动不属于辅助活动的是
A).设计
2. 以下程序体现的是 耦合
public PrintReport(String command) {
B).控制耦合
3.以下各种图不是UML使用的图是
C).数据流程图
4.右边这个图是
A).用例图的分层表示 B).模块层次图
C).数据流程图的分层表示 D).系统的控制层次图
5.甘特图是一种
D).进度计划表达方式
6.以下用例命名中,最合理的是
B).查询宠物
7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。这两个用例之间是什么关系?
B).没有关系
8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指
B).扇入
9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)C(p2) 则
D).E(p1+p2)E(p1)+E(p2)
10.以下各种图是UML使用的图是
C).数据流程图
11.模块尺寸太大时,应
A).分解以提高内聚
12.以下类的命名中,最合理的是
A). BusVehicle
13.在软件过程中,下列活动属于辅助活动的是
D).风险管理
14.下面用例模型体现了用例间的 关系
A).泛化、包含和扩展
15.下图体现了面向对象中类的
C).自反关联
、选择题 ABCCD,BBBDC,AADAC
二、简答题
请解释软件工程的含义。
软件工程是以质量为核心,为了经济地开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的和可控制的工程原则、方法,涉及到软件过程、项目管理、开发方法、开发工具,甚至企业文化等各个方面。
软件有哪些特征?为什么会出现软件危机?
软件开发存在以下特性:
1)软件具有难以描述性。
2)软件开发缺乏可见性。
3)软件开发具有复杂性。
4)软件开发具有变化性。5)软件开发具有风险.
6)软件开发具有强合作性。
软件开发的这些特性使得人们深陷在软件的危机当中。所谓软件危机,是指在软件开发和维护过程中所存在的长周期、高成本、低质量等问题。
3.请解释模块的概念。
模块是具体的部件,是定义在程序设计语言级别上的构件,例如Java语言中的包、类和方法,C语言中的文件和函数,都是模块,只是粒度不同而已。模块具有有界性、可插拔性和可互换性,即:①对一个模块作某些改变,其变化影响不应该超出该模块的边界;②从系统中删除该模块,将仅仅影响它执行的功能;③用一个具有相同接口和功能的新模块代替就旧模块,将不改变原系统的功能,而可能影响的仅仅是系统的性能,如执行速度。
4.请解释耦合和内聚的概念。
内聚是一个模块内部各部件之间联系紧密程度的度量。分治将任务分解为若干个小的任务,内聚则强调分解时将相关的内容放到一起。内聚用于确定系统中的每个模块是否是一个合理的程序单元,即是否是一个合理的模块。一个模块内的各个部件联系越紧越好,说明它们应该一起构成这个模块。
耦合是模块间相互联系强弱的度量,用于帮助设计者保证设计出的系统是由一系列松散耦合的模块组成。模块之间耦合的强弱取决于模块间传递数据的方式、接口复杂情况以及传递数据的类型。
三、假设你是一个项目经理,将要率领一个软件开发小组开发一个东北大学的学生学籍和成绩管理系统。这是一个在网络上运行的系统,学生处负责对学生信息的管理,学校的多个部门都可以查询到学生的信息,学生可以查询自己的成绩状况。
1. 您的开发团队需要哪些角色,请说明。
开发单位角色(管理角色)
企业级管理者
事业部经理
软件部长
项目经理
Team负责人
开发单位角色(项目主要技术角色 )
系统分析师
需求阐释者
需求复审师
主构架师
系统构架师
构件设计师
数据库设计师
界面设计师
设计复审师
实施工程师
程序员
代码复审员
集成员
测试工程师
测试员
部署工程师
部署员
包装员
文档编写员
开发单位角色(项目辅助角色)
首席技术官
技术总监
主复用师
复用工程师
过程总监
过程管理师
SQA总监
SQA工程师
领域专家
技术专家
风险管理师
变更控制授权人
配置管理师
人力资源总监
人力资源管
原创力文档

文档评论(0)