UML与OOAD初学有感
来源:互联网 发布:淘宝如何编辑宝贝属性 编辑:程序博客网 时间:2024/05/25 19:59
今年参加软件设计师考试的复习中算是初次接触UML吧。后面在C#的开发中也遇到关于UML设计的的问题,那时觉的UML这么多图,一定很复杂,所有想到马上就要学习设计模式了,最好还是先了解一下UML。
从图书馆借了一本最薄的关于UML设计的书吧。《UML和OOAD快速入门》邱郁惠编著 机械工业出版社出版
UML2有14种图,该书讲究快速入门,涉及三种图:类图,用例图和序列图。通过对从分析师和设计师的角度分别结合事务模式快速绘制出类图,用例描述:针对用例图的每个用例,以文字描述用例的执行流程和BCE模式帮助绘制出序列图。全书以“酒店联合订房系统”为主要范例。
事务模式:事物模式强调以“事务”为中心,串起跟事物相关的事务明细,涉及,地点,物品。应用事物模式不仅可以帮助设计师快速作出类图雏形,更重要的是,可以协助分析师使用比较系统性的方法去理解领域概念。
类图:用来表示系统内部的静态结构。类的图标为矩形,顶格放置类名称,中格放置属性,低格放置操作。类图中常见的关系分为:关联关系,组合关系(整体-部分在领域概念上必须是不可分割或者难以分割的)。依赖关系(是一种暂时的,动态的关系)。泛化关系(是一种分类关系,区分一般性的和特定性的,通常通过继承来实现).
用例图:分析师学到了使用类图来表达系统内部的静态结构,在用例图来表达系统对外提供的服务。用例图的基本元素:用例与参与者,启动者与支持者。
用例描述:使用文字描述用例的流程细节,这样的文字说明,称为用例描述。
用例图和序列图都表示动态行为,只是前者表示系统外部对象(参与者)与系统这两大对象之间的互动,而后者则重在表示系统内部一群小对象之间的互动。序列图关联了类图与用例图两方面,表示了系统在与参与者互动执行某一个用例期间,系列内部的一群小对象的协作情况。序列图是一张栅栏状的图形,展现出一群对象的一小段存活活动期。
BCE模式,将对象分为三类:边界类(boundary class),控制类(control class)和实体类(entity class)应用BCE模式要注意下列四项规则:
1.针对每一个用例,可以对应生成一个控制类
2.参与者对象只能跟边界对象互动
3.实体对象不能发送消息给边界对象和控制对象
4.比较特别的是,如果只是单纯对数据表进行增加,删除,修改,查询的话,可以不设置控制对象,让边界对象直接发送消息给实体对象,以提高整个序列图的执行速度。
5.每一个用例至少会有一张描述主要流程的序列图。
在分析阶段生成的用例,在设计阶段,设计师总要对每个用例涉及的BCE类,进行加工:
1.把中文的类名称,属性名称,操作名称都变成英文
2.针对每一个用例,建立BCE类图,并且加上BCE类之间的依赖关系
3.针对前面提到的泛化关系,依赖关系,保护等级可见性,抽象类,类层次属性与操作,公有类和枚举类型,都要找一找以修正一下实体类图
4.针对更新后的实体类图,加上适当的主键和外键。
设计阶段必须为用例描述加工添加更多程序员所需要的细节信息,重点加工:
1.用例之间的关系
2.边界对象的沟通接口
3.加入伪界面
4.更新BCE类
序列图中在设计阶段重点进行加工的地方:
1.消息参数,
2.交互(sd)与引用(ref)
3.交互操作符
4.操作内部交互
最后介绍二种伪界面绘制软件:
1.MockupScreens(http;//www.mockupscreens.com)
2.Balsamiq Mockups(http://www.balsamiq.com)
- UML与OOAD初学有感
- OOAD与UML
- OOAD与UML
- OOAD与UML笔记
- OOAD与UML笔记
- OOAD与UML笔记
- OOAD与UML
- OOAD与UML笔记
- UML与ooad
- OOAD与UML简述
- OOAD与UML笔记
- OOAD与UML笔记
- OOD与UML:OOAD详解
- OOAD初学
- 视频专辑:OOAD与UML教学视频
- “UML与OOAD”免费讲座(张江)
- OOAD&UML学习笔记
- OOAD & UML note
- inf文件安装Minifilter驱动
- Android进程与线程基本知识
- Android实现数据存储技术
- CentOS系统时间与现在时间相差8小时解决方法
- oracle内存管理
- UML与OOAD初学有感
- ACTIVE控件Safe问题
- 源文件与模块生成时的文件不同。仍要让调试器使用它吗?
- static详解
- linux用tar解压文件无法 open: 没有该文件或目录
- sql数据类型转换(cast() and convent())函数)
- java读取文件及文件流
- C语言实现dos2unix函数,Windows的回车换行转换成Unix回车换行
- java libs for apns:apple push notification service