UML期末复习题 下载本文

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

==========================================================

4.

OOA主要遵循哪些原则?

答:

(1)构造和分解相结合的原则。 (2)抽象化和具体化相结合的原则。 (3)封装的原则。 (4)相关的原则。

(5)行为约束的原则。 5.

简要介绍一下OOD体系结构的各个部分及其内容。

答:

(1)设计问题论域部分:设计构造为底层应用建立模型的类和对象,细化分析结果。 (2)设计人机交互部分:设计有关类接口视图的用户模型的类和对象,设计用户界面。 (3)设计任务管理部分:确定系统资源的分配,设计用于系统中类行为控制的对象或类。 (4)设计数据管理部分:确定持久对象的存储,将对象转换成数据库记录或表格。 6.

作为一个优良的OOD,应该具备哪些基本条件? (1)类和类的继承必须具有高度凝集性。

(2)类与类之间的耦合应该很松散,子类与父类除外。 (3)某个类的数据实现细节对于别的类来说应该是隐藏的。 (4)设计应该具有最优的可重用性。

(5)尽量使类、对象和方法的定义具有简单性。

(6)对所设计的类和类族,应注意保持其协议或接口的稳定性。 (7)类的层次结构设计规模要适度,不应太深或太浅。 (8)系统整体规模要最小化。 7.

写出OOP的一般步骤。 答:

(1)构造一个解题模型。 (2)标识对象。

(3)标识对象间的关系。 (4)建立对象的型构。 (5)实现各对象。 8.

什么是UML?使用UML进行建模有哪些目的?

UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。 使用UML进行建模的目的有: (1)使用模型可以更好地理解问题。 (2)加强人员之间的沟通。 (3)更早地发现错误或疏漏的地方。 (4)获取设计结果。

(5)为最后的代码生成提供依据。 9.

UML软件开发过程的基本特征有哪些? (1)用例驱动的系统。 (2)以体系结构为中心。

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

========================================================================== 答: 答: 答:

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

==========================================================

(3)螺旋上升式的开发过程。

(4)以质量控制和风险管理为目标。

10. UML有哪些目标? 答:

(1)易用,表达能力强,能进行可视化建模。 (2)与具体的实现无关。 (3)与具体的过程无关。

(4)简单且可扩展,具有扩展和专有化机制,无需对核心概念进行修改。 (5)为面向对象的设计与开发中涌现出的高级概念提供支持,强调重用。 (6)与最好的软件工程实践经验集成。 (7)可升级,具有广阔的适用性和可用性。 (8)有利于面向对象工具的市场增长。

11. 请根据UML的图在不同架构视图中的应用将把它们分类。 答:

(1)用户模型视图:用例图。

(2)结构模型视图:类图、对象图。

(3)行为模型视图:时序图、协作图、状态图、活动图。 (4)实现模型视图:构件图。 (5)环境模型视图:部署图。

12. 需求分析的目的是什么?需求分析中的典型活动有哪些? 答:

需求分析的目的是获取需求,得到描述系统所需的用例、业务流程或清晰的正文。 需求分析中的典型活动有: (1)获取领域知识。 (2)定义系统功能。 (3)寻找合适的类。 (4)建立类的静态模型。 (5)描述对象的动态行为。 (6)验证。

(7)给出基本的用户界面原型。

13. 用例建模的主要目标有哪些? 答:

(1)将需求规约变为可视化模型,并得到客户确认。

(2)给出清晰、一致的关于系统“做什么”的描述,确定系统的功能要求。 (3)提供从功能需求到系统分析、设计、实现各阶段的度量标准。 (4)为最终系统测试提供给制,据此验证系统是否达到功能要求。 (5)为项目目标进度管理和风险管理提供依据。

14. 用例建模的步骤包括哪些工作? 答:

(1)确定系统的范围、边界、用例、执行者。 (2)描述用例。

(3)用例分类、确定用例之间的关联。

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

==========================================================================

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

==========================================================

(4)建立用例图。

(5)定义用例图的层次结构。 (6)审核用例模型。

15. 消息传递和函数调用有哪些区别?

答:

(1)消息传递必须指明接收方,函数调用由参数决定。

(2)消息传递的接收方是实体,可以保持状态,函数调用无此要求。 (3)消息传递属于异步调用,并发性好,函数调用则属于串行。

16. MVC有哪些优点?

答:

(1)各施其职,互不干涉。 (2)有利于开发中的分工。 (3)有利于组件的重用。

17. 什么是顺序图?顺序图有哪些用途? 答:

顺序图是一种详细表示对象之间及对象与参与者之间动态联系的图形文档。 顺序图的用途有:

(1)帮助分析员对照检查每个用况中描述的用户需求是否已落实到对象上,提醒分析员去补充遗漏的对象类或服务。 (2)帮助分析员发现主动对象。

(3)通过对一个特定的对象群体的动态方面建模,深刻理解对象间的交互。 (4)表示用例的行为顺序,描述对象之间以及对象与Actor之间的消息发送关系。 (5)发现类并依据其职责构建类的属性和方法。

18. 顺序图的建立有哪些步骤? 答:

(1)确定交互过程的上下文。

(2)识别参与交互过程的对象并设置生命线。

(3)从引发该交互过程的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息。 (4)若需要表示消息的嵌套或消息发生时的时间点,则采用控制焦点。 (5)若需说明时间约束,则在消息旁加上约束说明。 (6)如果需要,可为每个消息附上前置条件和后置条件。

19. 如何在顺序图中表示消息的条件发送? 答:

(1)在消息上加警戒条件。 (2)在消息名字前加条件子句。 (3)使用文字说明。 (4)分成多个顺序图。

20. 请写出顺序图中对象排列的原则。 答:

(1)对象横向排列在顺序图的顶部。 (2)最重要的对象放在最左边。

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

==========================================================================

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

==========================================================

(3)交互密切的对象尽可能相邻。

(4)交互中创建的对象,应垂直地放置在其创建的时间点上。 (5)每个对象有一个下垂的生命线。

21. 写出协作图的建立顺序。

答:

(1)设置交互的语境。

(2)通过识别对象在交互中扮演的角色,把它们作为图的顶点放在协作图中,将较重要的对象放在图的中央,再放置邻近的对象。

(3)如果对象的类之间有关联,可能就要在对象间建立链,以说明这些对象有联系。 (4)从引起这个交互的消息开始,将随后的每个消息附到适当的链上,并设置顺序号。 (5)如果需要对时间或空间进行说明,则用适当的时间或空间约束修饰每个消息。

22. 试比较协作图和时序图。 答:

(1)二者同属交互图,都用于描述系统中对象之间的动态关系。 (2)两者在语义上是等价的,但两者并不能完全相互代替。 (3)两者可相互转换,但两者强调重点不同。

(4)协作图强调的是参与交互的对象的组织,时序图则强调的是消息的时序。

23. 活动图有哪些用途?

答:

(1)描述一个操作执行过程中所完成的工作。 (2)描述对象内部的工作。

(3)显示如何执行一组相关的动作以及这些动作如何影响它们周围的对象。 (4)显示用例的实例是如何执行动作以及如何改变对象状态。 (5)说明一次活动中的角色、工作流、组织和对象是如何工作的。

24. 试比较状态图和活动图。

答:

(1)二者都是对系统的动态行为建模,都可以描述一个系统或对象在生存期间的状态或行为。 (2)二者都可以描述一个系统或对象在多进程操作中的同步与异步操作的并发行为。 (3)二者在UML中的描述图符基本一样。

(4)二者都可以用分支图符描述一个系统或对象的行为控制流。

(5)二者触发一个系统或对象的状态(或活动)发生迁移的机制不同。 (6)二者描述多个对象共同完成一个操作的机制不同。

25. 建造对象动态结构模型的步骤包括哪些工作? 答:

(1)建造对象状态模型。

(2)建造对象之间交互行为模型。

(3)复审对象动态结构模型,以验证其准确性、一致性。 (4)编制相应的文档资料。

26. 试比较共享聚集和组合聚集。 答:

(1)二者都表示“整体-部分”的组成关系。

(2)共享聚集表示较弱的拥有关系,组合聚集表示较强的拥有关系。

(3)在UML中共享聚集用空心菱形表示,组合聚集用实心黑色菱形表示。 (4)共享聚集的多重性是*,组合聚集的“整体”端的重数必须是1。 (5)二者都具有传递性。

--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------

==========================================================================