图书馆管理系统静态视图4.1概述静态视图(StaticDiagram):是建立其他视图的基础,用于对应用领域中的概念以及系统实现有关的内部概念建模,它将行为实体描述成离散的模型元素,但不描述与时间有关的系统行为。静态视图包括:类图、对象图与包图4.2类与关系类Ex_2——42_01属性与操作的显示与隐藏4.2类与关系名称(Name):–名称必有,其是一个文本串,可分为简单名称和路径名称–单独的名称即不包含冒号的字符串叫做简单名(SingleName)–用类所在的包的名称作为前缀的类名叫做路径名(PathName)Ex_2——42_014.2类与关系属性(Attribute):类的属性是类的一个组成部分,它描述了类在软件系统中代表的事物所具备的特性。–类可有任意数目的属性也可无属性–名称以小写字母开头–语法:〔可见性〕属性名〔:类型〕〔=初始值〕〔{属性字符串}〕4.2类与关系操作(Operation):类的操作是对类的对象所能做的事务的抽象。它相当于一个服务的实现。该服务可以由类的任何对象请求以影响其行为。–一个类可有任意数量或无操作–必有一个名字,名称以小写字母开头可有参数表,也可有返回值–语法:〔可见性〕操作表〔(参数表)〕〔:返回类型〕〔{属性字符串}〕4.2类与关系1.依赖:是两个元素之间的关系,对一个元素(提供者)的改变可能影响或提供消息给其他元素(客户)。即:客户以某种方式依赖于提供者。指向被依赖的对象1.使用依赖(Usage)2.抽象依赖(Abstraction)3.授权依赖(Permission)4.绑定依赖(Binding)4.2类与关系使用依赖:–Use:它声明使用一个模型元素需要用到已存在的另一个模型元素(包括调用、实例化、参数、发送)–Call:是操作间的依赖,它声明了一个类调用其他类的操作方法。–Parameter:是操作与和类之间的依赖,它描述的是一个操作和它的参数之间的关系(用少)–Send:描述的信号发送者和信号接收者之间的关系,它规定客户把信号发送到非指定的目标–Instantiate:是指一个类的方法创建了一另一个类的实例声明,它规定客户创建目标元素的实例4.2类与关系抽象依赖:表示客户和提供者之间的关系,它依赖于在不同抽象层次上的事物。–Trace:声明不同模型中的元素之间存在的一些连接。如提供者是分析视图,客户则可是更详细的设计视图–Refine:声明具有不同主义层次上的元素之间的映射。Trace用于不同层次,而Refine用于相同模型的元素之间的依赖,如分析阶段遇到一个类Student,在设计时这个类细化成更具体的类Student–Derive:声明一个类可从另个类导出。当想表示一个事物能从另一个事物派生而来时就使用这个依赖构造型。4.2类与关系授权依赖:表达一个事物访问另一个事物的能力。提供者可规定客户的权限,这是提供者控制和限制对其内容访问的方法。–Access:是包间的依赖。它描述一个包访问另一个包的内容–Import:相似于Access,它允许一个包访问另一个包的内容并为被访问包的组成部分增加别名。4.2类与关系授权依赖–Friend:允许一个元素访问另一个元素,不管被访问的元素是否可见,这大大地便利了客户类访问提供者的私有成员。–Bind:规定了客户用给定的实际参数实例化提供者模板4.2类与关系泛化(Generation):是一般事物(超类或父类)和该事物的较为特殊的种类(子类)之间的关系,子类继承父类的属性与操作。它描述了类之间的:isakindof的关系(ForExample)4.2类与关系关联:是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。–名称:用于描述该关系的性质。应是动词短语,表示源对象正在目标对象上执行动作。–角色:当一个类处于关联的某一端时,该类就在这个关系中扮演一个特定的角色,即一个类对另一个类所表现的职责。–多重性:4.2类与关系关联–聚合关系(AggregationRelationship):是整体与部分之间的关系,它描述了(hasa)的关系(Example)–组成(CompositionRelationship):组成是强形式的关联(Example)–导航性(Navigation):表示可从源类的任何对象到目标类的一个或多个对象的遍历。即给定源类的一个对象,可以达到目标类的所有对象。单向导航(UnidirectionalAssociation)和双向关联(BidirectionalAssociation)4.2类与关系实现:是规格说明和其实现间的关系。它表示不继承结构而只继承行为。一般用实现关系用来规定接口和实现接口的类或组件之间的关系。接口是能够让用户重用系统一组操作集的UML组件。一个接口可以被多个类或组件实现,一个类或组件也可有多个接口。在两种情况下使用实现关系:–在接口与实现该接口的类间–在用例以及实现该用例的协作间(Example)4.3类图ClassDiagram是描述类、接口、协作以及它们之间关系的图。类图包括的内容:类、接口、协作、依赖、泛化、实现和关联关系。(Example_ClassDiagram_43)4.3类图类图的用途:–对系统词汇建模–对简单协作建模–对逻辑数据库模式建模4.3类图类图建模技术–对简单协作建模:识别要模拟的机制对每种机制,识别参与协作的类、接口和其他协作并识别它们之间的关系通过协作的脚本,发现建模的模型是否不被遗漏和有语义错误,并更正错误得出相应类的对象,并确定具体的属性和操作(P50)4.3类图类图建模技术–对数据库模式建模遵循的策略在系统中确定的类,它的状态必须超过其应用系统生命周期创建包含这些类的类图,并把它们标记成永久的(Persistent)展开这些类的结构信息,即详细的描述属性的细节,并注重关联和构造类的基数观察系统中的公共模式(循环关联、一对一关联),它们往往使物理数据库设计复杂化,如果有必要,需要创建简化逻辑结构的中间抽象考虑这些类的行为,扩充那些对于数据存储和数据完整性很重要的操作若可能,用工具把逻辑设计换成物理设计4.4对象图对象图(ObjectDiagram)表示某一时刻一组对象以及它们之间关系的图。对象图可被看作是类图在系统某一时刻的实例。4.5包图包图:是包与包之间的联系构成–用途:分组、构成名字空间–名字:同类(Single&PathName)–包拥有的元素:类、接口、组件、节点、协作、用例和图,还可包含其它包包的依赖(Example43)4.5包图包图–包图的可见性:PublicProtectedPrivate图书馆管理系统实例步骤:–研究分析问题领域,确定系统的需求–发现对象和对象类,明确类属性和操作–发现类之间的静态联系–设计类与联系–绘制对象类图并编制相应的说明图书馆管理系统实例对象的生成:–读者基本属性名字邮编地址城市省份借书预留书籍图书馆管理系统实例对象的生成–书籍类的基本属性书名作者序列号类型例:P(62)(ExampleEx_44)