uml顺序图例子-BBS
- 格式:doc
- 大小:60.50 KB
- 文档页数:6
1.1跟我学UML静态建模——应用Rational Rose工具设计实现BBS论坛系统的详细设计阶段相关模块的类图示例
1、新增各个类
再创建出其它的页面所对应的类
2、在每个类中添加属性和方法(操作)(1)属性
输入属性的名称
设置该属性的数据类型
也可以为其它的数据类型,如int
(2)方法
输入方法的名称
再进一步地设置该方法的其它的内容
选择方法的返回类型
也可以为方法添加形参定义
也可以进行异常的定义
最后为下面的状态
3、设计出类图
输入类图的名称
再从各个包中拖动对应的类到类图中
4、最后设置各个类之间的关系
也可以设置某个类的显示方式
从而使的类图比较简单。
这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用UML进行比如类图设计时能够更加清晰明了;以下就分别介绍这几种关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;实现指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性;依赖可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用;关联他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;聚合聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;组合组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;对于继承、实现这两种关系没多少疑问,他们体现的是一种类与类、或者类与接口间的纵向关系;其他的四者关系则体现的是类与类、或者类与接口间的引用、横向关系,是比较难区分的,有很多事物间的关系要想准备定位是很难的,前面也提到,这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;但总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖;在.NET 应用程序设计中如何选择Class, Abstract Class and Interface关键字:Type–类型Class -类Abstract -抽象的Interface -接口Member -成员Method -方法Property -属性预备知识:在阅读本文时,您应当了解.NET编程的基本知识并且已经掌握Class, Abstract Class 和 Interface全部知识。
BBS管理系统一、需求分析1.1系统开发的目的:进入二十一世纪,在互联网高速发展的今天。
已经成为人们快速获取、发布和传递信息的一个重要传播方式。
在人们政治、经济、生活等各个方面都发挥着重要的作用。
这次我所设计的UML建模课程正是互联网与社会生活之间的紧密关系的体现。
现在人们已经离不开了网络,网络已经成为人与人之间交流的一种形式,它能够把事情的复杂化转为简单化。
现在的计算机技术迅速向着网络化的、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。
另一种,就是称为浏览器——服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于英特网,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。
BBS论坛系统已经是互联网站一种极为常见的互动交流服务。
在BBS论坛中可以向网友提供各种各样的分类专题和讨论区服务,已经注册的用户可以在此发表自己的某些观感、交流某些技术、经验乃至人生的感悟与忧欢,亦可以做为网友们之间的交流渠道。
在网站中亦可在此对网友们提出的问题做出评论或者发发表自己新的帖子。
通过BBS论坛的方式,可以增强个人与个人,团体与团体,个人与团体之间的紧密交流联系,在英特网上实现信息的传递,提高办事效率。
因此论坛建设在英特网应用上的地位显而易见,它已成为现代人沟通和获取信息的重要组成部分,从而倍受人们的重视。
该系统以英特网为平台,前台可使任何人注册、登陆在论坛上进行发贴及讨论,版主或者前台管理者也可以进行一部分管理。
UML建模风格之顺序图和合作图、活动图一样,UML顺序图( Rumbaugh、Jacobson、和booch, 1999)是一种动态建模方法。
UML顺序图一般用于:1.确认和丰富一个使用情境的逻辑。
一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。
一个使用情境的逻辑可能是一个用例的一部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的逻辑描述,或是动作的基本过程的一部分再加上一个或多个的备用情境的逻辑描述。
或是包含在几个用例中的流程,例如一个学生注册入学之后,立即就要在三个班级注册。
2.研究你的设计,因为它们为你提供了一种方式,你可以使用这种方式来可视化的调用类定义的操作。
3.检测面向对象的设计中的瓶颈。
通过观察什么消息被发送给一个对象,以及通过概略的观察运行被调用的方法需要花费多长时间,你很快就能了解那里的设计需要变化,以达到在系统内部平衡负荷的目的。
实际上某些CASE工具甚至能够让你模拟软件这些特征。
4.使你能够感觉到你的应用程序的那个类将会变得复杂的,这是个信号,意味着你需要为那些类画状态图了。
指南∶通用准则尽力保持消息的顺序从左到右排列将分类器分层用和你的用例图一致的名称命名角色用和你的类图一致的名称命名类一个角色的名称可以和类的名称相同包含一个逻辑的叙述性描述在图的最左边放置初始的角色在图的最左边放置人和组织角色在图的最右边放置系统角色只在合适的时候才建模对象的Destruction分类器的原则当你在消息上引用对象时要命名他们当存在部分相同的类型时需要命名对象一致地应用文本版型少量地应用可视化的版型集中在关键的交互消息的原则把消息名放在箭头旁边直接创建对象为软件消息使用操作符号为涉及人和组织角色的消息使用叙述性文字推荐使用参数名称,而不是参数类型为参数占位符注明类型类的消息实现为静态操作为用例调用使用<<include>>版型返回值的原则当返回值非常明显时就不要对返回值建模只有当你需要在别处引用返回值时才对返回值建模在箭头旁边调整返回值返回值建模为方法调用的一部分为返回值占位符注明类型明确的为简单值标明实际值一、通用准则1.尽力保持消息的顺序是从左到右排列的一个顺序图的消息流开始于左上方,消息乙的位置比消息甲低,这意味着消息乙的顺序比消息乙要迟。
UML 交互图(顺序图、通信图、鲁棒图、定时图)2010-12-23 作者:佚名来源:网络交互与交互图交互的概念一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为消息UML中的4种交互图顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹通信图:UML 2.0中的通信图实际上就是UML 1中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序交互概述图:是交互图和活动图的混合物如何阅读交互图阅读顺序图顺序图的主要元素对象与角色:最顶上一排矩形框。
在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。
作为具体的事物,一个对象代表现实世界中的某个东西。
例如,aOrder 作为类Order的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事件,则aOrder可以代表类Order的任何一个实例。
生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。
当传送一个消息时,它所引起的动作是用一个通过对计算过程的抽象而得到的可执行语句(就是方法头)。
消息分为五种:调用、返回、发送、创建和销毁调用:表示调用某个对象一个操作顺序编号(第几步的编号):整个消息的传递过程就形成了一个完整的序列,因此通过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。
除了顺序编号之外,还可以采用嵌套方案:读图小结第1步在dispatchForm(分发窗体)中,对于某个已支付的Order进行分发时,就会调用该订单(一个Order类的实例对象aOrder)的dispatch()方法。
1.1 dispatch()方法将逐个调用[for each orderitem] 该Order对应的所有OrderItem对象的getPeddleryId()方法获取供应商ID 1.2(PeddleryId),1.1.1 而OrderItem对象则是通过其所对应的Product对象来的getPeddleryId()方法来获取供应商ID 。
UML类图-示例UML类图图示样例大鸟:“首先你看那个…动物‟矩形框,它就代表一个类(Class)。
类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。
第二层是类的特性,通常就是字段和属性。
第三层是类的操作,通常是方法或行为。
注意前面的符号,…+‟表示public,…-‟表示private,…#‟表示protected。
”大鸟:“然后注意左下角的…飞翔‟,它表示一个接口图,与类图的区别主要是顶端有<<interface>>显示。
第一行是接口名称,第二行是接口方法。
接口还有另一种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了…讲人话‟的接口。
”大鸟:“接下来就可讲类与类,类与接口之间的关系了。
你可首先注意动物、鸟、鸭、唐老鸭之间关系符号。
”小菜:“明白了,它们都是继承的关系,继承关系用空心三角形+实线来表示。
”大鸟:“我举的几种鸟中,大雁是最能飞的,我让它实现了飞翔接口。
实现接口用空心三角形+虚线来表示。
”大鸟:“你看企鹅和气候两个类,企鹅是很特别的鸟,会游不会飞。
更重要的是,它与气候有很大的关联。
我们不去讨论为什么北极没有企鹅,为什么它们要每年长途跋涉。
总之,企鹅需要…知道‟气候的变化,需要…了解‟气候规律。
当一个类…知道‟另一个类时,可以用关联(association)。
关联关系用实线箭头来表示。
”大鸟:“我们再来看大雁与雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。
所以它们之间就满足聚合(Aggregation)关系。
聚合表示一种弱的…拥有‟关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分[DPE](DPE表示此句摘自《设计模式》(第2版),详细摘要说明见附录二)。
聚合关系用空心的菱形+实线箭头来表示。
”大鸟:“合成(Composition,也有翻译成…组合‟的)是一种强的…拥有‟关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样[DPE]。