08/09 学年第 1 学期末考试试题(A卷)
UML建模与分析
使用班级: 06060541、06060542、06060543
总分 得分
一、填空题:(每空1分,共10分)
1、 UML的3中扩展机制是版型、约束和 。 2、 在UML的状态图中,表示历史状态的符号是 。
3、 对象图的模型元素有对象和链。对象是类的实例;对象之间的链是类之间的 的实
例。 4、 用UML进行建模时会涉及9个图,Rose 2003只支持其中的8个,还有一个图如果要在Rose
2003中表示,则只能用别的图来代替。这个不能在Rose2003中直接表示的图是 图。
5、 RUP软件开发过程的特点是: 、以体系结构为中心、迭代和增量
开发。
6、 如图所示的类图:“/works for company”这个关联前有一斜杠,表示该关联是
。
Company11*Department1works for department*Person
7、 如果把一个类的类名写成斜体字,则表示这是 类,既不能由这个类直接产
生实例。
8、 RUP中把软件开发生命周期分为多个循环,每个循环由4个连续的阶段组成。这4个阶段
是初始阶段、细化阶段、 阶段和移交阶段。 9、 顺序图所表达的是基于 的动态交互。
10、组成是强类型的聚集,因为聚集中的每个部分体只能属于 整体。
1
/works for company*得分
二、判断题:(判断对错,并改正。每小题2分,共10分)
1、一个状态图最多只能有一个初态和一个终态。
2、两个参与者之间可以有包含关系、扩展关系或泛化关系,而包含关系和扩展关系是依赖关系的版型。
3、参与者位于所要建模的系统边界的外部。
4、在顺序图中无法表示要重复发送的消息,但在协作图中可以表示要重复发送的消息。
5、下图所示的是抽象工厂设计模式的一般结构。抽象工厂设计模式的一个特点是,如果要增加新的产品类型,如在已有的AbstractProductA和AbstractProductB外再增加新的AbstractProductC及相应的具体子类,则很容易通过新增加一个具体的工厂(Factory)类并继承AbstractFactory类就可以适应这个需求的变化,原来的一些类不需要做改动。
2
得分
三、选择题:(1-8为单项选择,每小题2分;9-16为多项选择,每小题3分。共40分) 注意:将答案填入下表,直接在题目上作答不得分。
1 9 2 10 3 11 4 12 5 13 6 14 7 15 8 16
1、一个设计得好的OO系统具有( )的特征。
A.低内聚、低耦合 B.高内聚、低耦合
C.高内聚、高耦合 D.低内聚、高耦合 2、在UML中,( )把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。 A.组合活动 B.同步条 C.活动 D.泳道
3、在较高的抽象层次上,传统的程序流程图与UML中活动图最根本的区别在于( )。 A.程序流程图明确地指明了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序。
B.活动图不提供循环控制结构,而程序流程图提供。
C.活动图不能表示并发活动,而程序流程图可以表示并发活动。 D.两者采用不同的图形符号系统。
4、Statopia是一家大型公司,由于公司业务的扩大,准备对公司已有的软件系统进行升级,因此委托ObjectR公司负责该项工作。Statopia公司所使用的系统是很久以前开发的,且不是用OO方法开发的,该系统非常复杂,而且系统使用多线程来处理公司中并发的业务请求。由于系统开发出来后经过多次修改,因此最初的系统开发文档已经过时。ObjectR公司的专家建议在对系统升级前和Statopia公司的高层管理人员开一次讨论会,以便能更好地了解目前所使用的软件系统。那么在这次讨论会中,下面几个图中哪个图是最有用的?
A.状态图 B.部署图 C.活动图 D.顺序图 5、“一个研究生在软件学院做助教(teaching assistant),同时还在校园餐厅打工做收银员(cashier)。也就是说,这个研究生有3种角色:学生、助教和收银员,但在同一时刻只能有一种角色。”根据上面的陈述,下面哪种设计是最合理的?
A.
Person
CashierStudent3 TeachingAssistantB.
Person0..1<
CashierPersonStudentTeachingAssistantD.
<
A.关联和聚集 B.关联和组合 C.脚本和用例 7、如图所示,类PaymentController必须实现哪些方法?
A.create,process,reserve,acknowledge,commit B.process,reserve,acknowledge,commit C.Payment,save
D.payment,create,save
4
D.包和子系统
: ParticipantaPaymentWindow : WindowaPaymentController : PaymentController : CreditProcessor1: enterCreditCardDetails()2: payment3: createaReservation : Reservation4: process()5: reserve()6: acknowledge7: confirm()8: save()9: commot()
8、如下选项所示,哪一种设计所包含的包之间的依赖关系是最不好的? A. B. C. D.
9、下面哪些陈述是正确的?
A.状态图可以用来描述涉及多个用例的对象的行为。 B.一些高级的状态图可以用来描述多个对象之间的关系。 C.活动图可以用来描述多个用例间多个对象之间的行为。 D.活动图可以用来描述企业中的工作流。 10、在构件图中可以包含下面哪些建模元素?
A.接口 B.包 C.约束 D.依赖 11、当开始编写代码时,交互图可以用来提供哪些信息?
A.消息发送的顺序。
5