【问题1】
图3-2是该系统类图的一部分,依据上述说明中给出的术语,给出类Lock的主要属性。
参考答案:锁的编号、安全级别、锁的当前状态
解析:
[分析]:
本题是一道使用面向对象方法进行系统开发的题目,主要考查利用UML的类图和序列图进行面向对象的分析。
类图是面向对象系统的建模中最常见的图。类图显示了一组类、接口、协作以及它们之间的关系。类图用于对系统静态设计视图建模。在图形上,类图是顶点和弧的集合。在类图中通常包含:类、接口、协作、依赖、泛化和关联关系。类图还可以含有包或者子系统,二者都用于把模型元素聚集成更大的组块。
当对系统的静态设计视图建模时,通常以下述3种方式之一使用类图。
①对系统的词汇建模。对系统的词汇建模涉及做出这样的决定:哪些抽象是考虑中的系统的一部分,哪些抽象处于系统边界之外。用类图详细描述这些抽象和它们的职责。
②对简单的协作建模。协作是一些共同工作的类、接口和其他元素的群体,该群体提供的一些合作行为强于所有这些元素的行为之和。
⑧对逻辑数据库模式建模。将模式看作为数据库的概念设计的蓝图。在很多领域中,要在关系数据库或面向对象数据库中存储永久信息。可以用类图对这些数据库的模式建模。
序列图是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。序列图有两个特征:
▲ 序列图有对象生命线。对象生命线是一条垂直的虚线,表示一个对象在一段时间内存在。在交互图中出现的大多数对象存在于整个交互过程中,所以这些对象全都排列在图的顶部,其生命线从图的顶部画到图的底部。但对象也可以在交互过程中创建,它们的生命线从接收到构造型为create的消息时开始。对象也可以在交互过程中撤销,它们的生命线在接收到构造型为destroy。y的消息时结束(并且给出一个大x的标记表明生命的结束)。
▲ 序列图有控制焦点。控制焦点是一个瘦高的矩形,表示一个对象执行一个动作所经历的时间段,既可以是直接执行,也可以是通过下级过程执行。矩形的顶部表示动作的开始,底部表示动作的结束(可以由一个返回消息来标记)。还可以通过将另一个控制焦点放在它的父控制焦点的右边来显示(由循环、自身操作调用或从另一个对象的回调所引起的)控制焦点的嵌套(其嵌套深度可以任意)。如果想特别精确地表示控制焦点在哪里,也可以在对象的方法被实际执行(并且控制还没传给另一个对象)期间,将那段矩形区域阴影化。
问题1:图3-2给出了一个不完整的类图,已经完成了面向对象分析中的认定类,下一步的工作是定义类的内部信息,本题主要考查如何从问题域中抽象出类的属性。由于已经确定了类,寻找类的属性就相对容易了。
类Lock是本系统中的一个关键类,与它的属性相关的描述有:“系统中的每个电控锁都有一个惟一的编号”、“锁的状态有两种”、“在主机上可以设置每把锁的安全级别”。
“锁的编号”、“锁的状态”以及“锁的安全级别”都是用来说明Lock的属性及特性的,也是类Lock的关键属性。