1 、活动图中的动作节点什么条件下可以执行,有哪些种类的动作节点?
( 1) 当动作结点所有的对象流和控制流的前提条件都满足时,才创建动作的一次执行。
( 2) 根据动作执行所涉及的功能不同,可以划分为不同类别的动作,包括基本功能、
行为调用、通信动作和对象处理等不同类型的动作节点
2、 什么是活动分区(泳道),一般什么情况下对活动进行分区?
(1) 活动分区用于识别具有相同特性的一组动作,这些动作被放入相同的区间。
(2) 可以使用不同的分区规则进行分区,并没有严格的规范。
(3) 在业务模型或需求中,往往按照组织机构的单位或系统角色进行分区,一个单位
或角色负责分区中所有节点的行为。而在设计模型中,可以按照不同的类(或构件)进行分
区,一个类(或构件)负责执行该分区中所有节点的行为
\15. 业务模式建模当前业务现状,而系统模型则描述系统中业务实现模式。业务模型还可以为系统模型
提供输入。
3、什么是用例的前置条件和后置条件,它们有什么作用,定义时需要注意什么?
前置条件是指用例在执行之前必须满足的条件,它约束用例开始执行前系统的状态。作
为用例的入口限制, 前置条件阻止参与者触发该用例直到满足所有条件。
后置条件是指用例执行完成之后系统的状态。当用例存在多个事件流时,可能会对应多
个不同的后置条件。利用后置条件,有助于确保涉众理解执行用例后的结果。
在定义前置条件和后置条件时需要注意,只有在用例的使用者将这些条件视为附加价值
的时候才使用,而且它们均要求是系统可以感知的(或者说检测到的);此外,前置条件还
要求是在用例执行前就可以感知的
4、 什么是涉众,涉众和参与者有何区别和联系?
用例的涉众是指受用例所代表的业务影响的(或者说与当前用例有利益关系的)系统内
外部人员或组织。由普通的人或部门来承担的参与者一般都是涉众。外部系统、时间等不是
涉众,因为它们不是人或者组织,没有利益影响;不过当有外系统参与者时,那些外系统的
用户往往会作为当前用例的涉众存在
从涉众的角度来看,用例实际上是涉众之间所达成的契约, 并以参与者为达成特定目标
和系统交互的方式演绎。把用例比作一台戏,参与者和系统就是这台戏的演员,而涉众则是
观众,戏的好坏由观众来评价
5、 什么是系统参与者,识别参与者的主要要点包括哪些?
系统参与者代表了以某种方式与系统交互的人或事。更直观的说, 参与者是指在系统之
外,透过系统边界与系统进行有意义交互的任何事物。识别参与者的主要要点包括:
(1) 系统外:参与者不是系统的组成部分,处于系统的外部;
(2) 系统边界:参与者透过边界直接与系统交互,参与者的确定代表系统边界的确定;
(3) 系统角色:参与者是一个参与系统交互的角色,与使用系统的人和职务没有关系;
(4)与系统交互:参与者与系统交互的过程是系统所需要处理的,即系统职责;
(5) 任何事物:参与者通常是一个使用系统的人,但有时候也可以是一个外系统或外
部因素、时间等外部事物。
6、分析模型主要包括什么内容?
分析模型是对分析所形成目标制品的总称;具体来说,分析模型包含两个层次的两类模
型。两个层次是指架构分析和用例分析。两类模型是指静态模型和动态模型。
7、简述面向对象的三大机制:封装性、继承性以及多态性。
1)封装性。所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些
数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息的隐
蔽;
2)继承性。如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继
承了前一个类的全部特征,
而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。前一个类成为父类,新产生的
类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构;
3)多态性。在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。多态即程序中同名的不
同方法共存的情况,常见的两种多态方式为:①子类对父类方法的覆盖;②利用重载在同一个类中定义
多个同名的不同方法。
8、简述面向对象发展的动因:
为了超越程序复杂性障碍,克服软件危机,人们提出了面向对象软件开发方法。面向对象开发方法一改
过去传统的以功能分析为基础的面向过程的结构化分析与设计方法。面向对象开发方法模拟人们理解和
处理客观世界的方式来分析问题,把系统视为一系列对象的结合,其面向对象设计又将分析的结果映射
到某一种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程
者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空
间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象
方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的
柔性制造,更好地克服软件危机。因此,它成为成熟的广为采用的软件开发方法。
3、分析顺序图和协作图之间的差别和优缺点:
顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的
消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协
作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间
组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图
在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
9、 什么是 B-C-E 三层架构?
B-C-E 三层架构是对 MVC 架构的另一种表述,将系统划分为三层,分别处理 3 类业务
逻辑。其中 B 表示边界层,负责处理系统与参与者的交互; C 为控制层,处理系统的控制
逻辑; E 为实体层,负责管理系统使用的信息
10、什么是多重性,如何理解类间的多重性定义?
多重性表示一个类的对象可能链接到所关联的类的多个对象上,这种“多少”即为关联
角色的多重性,它表示一个整数的范围,通过多重性表达式来指名一组相关对象的可能个数。
需要从关联的另一端来理解多重性的定义,即表明另一端的一个对象可以与本方的多少
个对象相链接
11、什么是聚合关系,聚合关系与关联关系、泛化关系有何不同?
聚合关系是一种特殊的关联关系,除了拥有关联关系所有的基本特征之外,两个关联的
类还分别代表“整体”和“部分”,意味着整体包含部分。
与普通的关联关系相比,关联两端的类要多一层整体和部分的含义,而普通的关联关系
并没有这层含义。
与泛化关系相比,关联是一种包含或拥有的关系,即整体包含或拥有部分;而泛化则是
“是一种”的一般和特殊的关系,子类是一种特殊的父类
12、 什么是操作和属性的可见性,有哪几种可见性?
可见性是指操作或属性可以被外界访问的程度。 UML 规范定义了四种可见性:公有、
私有、保护和包可见性
13、什么是类的操作,什么是类的方法,它们有何区别和联系?
操作是类的行为特征,它描述了该类对于特定请求做出应答的规范。
方法是操作的具体实现算法,它描述操作如何实现的流程。
操作描述了类对外提供的接口,是类的外在行为。通过定义操作明确了参数和返回值等
接口细节;而方法则是关注操作内部实现算法的设计
14、什么是类间的依赖关系,哪些情况下定义为依赖关系?
依赖是一种使用关系,表示一个类对象使用另外一个类对象的信息和服务,被使用对象
的变化可能会影响到使用对象。
定义为依赖关系的几种情况:参数引用,局部声明引用和全局引用
15、什么是用例实现?它和用例之间有何区别和联系?
用例实现是分析(设计) 模型1中一个系统用例的表达式,它通过对象交互的方式描述了构造用例实现
是分析最核心的工作分析(设计)模型中指定的用例是如何实现的。
通过用例实现将用例模型中的用例和分析(设计)模型中的类以及交互紧密联系起来,一个用例实现描
述了一个用例需要哪些类来实现,两者之间存在实现关系:即“‘用例实现’实现‘用例’ ”获得实现用例行为
所必须的分析类利用这些分析类来描述其实现逻辑
16、包之间的依赖关系是意味着什么,除了普通的依赖,还可以定义哪些关系?
包之间的依赖关系包含两层含义:其一是被依赖包的改变将影响到依赖包;其二则是依
赖包不能够独立的复用,因为它依赖于被依赖包。
除了普通的依赖关系,可以通过构造型进一步扩展不同的依赖关系,如合并、导入和访问