总结之UML新闻发布系统版.docx
- 文档编号:11450664
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:15
- 大小:211.88KB
总结之UML新闻发布系统版.docx
《总结之UML新闻发布系统版.docx》由会员分享,可在线阅读,更多相关《总结之UML新闻发布系统版.docx(15页珍藏版)》请在冰豆网上搜索。
总结之UML新闻发布系统版
总结之UML(新闻发布系统版)
总结之UML(新闻发布系统版)
题记:
关于UML的总结,我曾想过到底是采用什么样的方式来总结呢?
如果全部采用个人的回忆来描写,虽然内容全部是自己的,但是在知识巩固上,可能就没有多大的收获。
我们的学习总结就好比收割玉米一样,虽然你貌似把所有的玉米都收获了,但是地里不免还有些剩下的。
我们要做的不仅仅是把那些收获了的玉米运回家,也要把那些没有收获到的东西运回家,这就涉及到了二次总结的问题。
如果我们完完全全把知识照着书中的知识罗列一遍,虽然加深了自己对知识的印象,但是是否能真正的把知识消化吸收掉呢?
这又是个问题,因此总结也就是个度的问题。
一方面,我们参考资料,另一方面,我们也要将自己的思想融汇其中。
这才是真正的总结。
第一章UML简介
UML(UnifiedModelingLanguage)可视化建模语言,首先需要声明的是它是一个标准,也是一种语言,它是从开发者角度用结构图描述系统功能。
第二章UML开发工具
2.1RationalRose
RationalRose是当今企业开发常用的主要工具之一,主要用于绘制系统结构图,其作用是从开发者的角度用图形化的方式表述系统的功能。
2.2EnterpriseArchitecture
EnterpriseArchitecture是最近推出的一款建模工具,虽然目前在企业中使用者较少,但是其优雅的界面和众多的功能,以及在Vista等操作系统的兼容性较好等特点,还是吸引了众多的用户。
接下来,我要安装EA,体验一下EA的功能。
第三章UML中的几种关系
3.1关联(Association)
表示方法:
一条实线
元素:
名称角色多重性(1…*)
3.2依赖(dependency)
表示方法:
有方向的虚线,由客户指向提供者
关联有四种类型:
使用依赖(Usage),抽象依赖(Abstraction),授权依赖(Permission),绑定依赖(Binding),在这四种依赖关系中,我们主要使用的就是Usage依赖,别的很少使用,关于这几种依赖之间的区别,我就不详述了,没有多大的意义。
3.3聚合
表示方法:
空心菱形头的实线
描述:
has-a关系
3.4组合
表示方法:
实心菱形头的实现
描述:
整体有管理部分的特殊职责,二者具有共同的生命周期。
3.5泛化
表示方法:
子类指向父类的空心三角形,是一种继承关系。
描述:
isakindof的关系
3.6实现
表示方法:
虚线空心三角形
第四章UML中的几种图
4.1UseCase图
对用例图进行系统建模时,通常有两种方案:
根据语境建模和根据需求建模,下面我们的新闻发布系统的用例图就是从需求的角度进行建模的,而图书管理系统的用例图则是从语境方面进行建模的。
根据语境建模
4.2Class图
类图:
描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态关系。
元素:
类、接口、协作、五种关系。
类图有三个主要作用,分别是对系统词汇进行建模,表示方式就是对单个类建模,对简单的协作进行建模,就是分析讨论各个类之间的关系,还有一点就是对逻辑数据库进行建模。
下面我就分别举一个针对协作建模和针对逻辑数据库进行建模的例子。
4.2.1针对协作进行建模
4.2.2针对逻辑数据库进行建模
4.3Object图
对象图是描绘参与一个交互的各对象在交互过程中的某一时刻的状态。
我们都知道类的实例化就是对象,所以我们同样可以对于一个具体的组件图和配置图可以看成是特殊的对象图。
关于组件图和配置图我们在后面有详细的介绍。
对象图元素:
节点和连线。
所谓节点就是某个对象,连线则是对象间的关系。
我们对对象图的建模可以分为两个两个步骤:
一是确定交互的各对象的类,二是确定类间的关系。
4.4Sequence图
时序图:
描述对象之间传递消息的时间顺序,表示用例中的行为顺序。
组成元素:
对象(object)生命线(lifeline)激活(actication)
消息(message)
4.4.1浏览者添加评论时序图
4.4.2后台管理员添加新闻
4.5Collaboration图
协作图:
强调参加交互的各对象结构的消息
元素:
对象(object)链(link)消息(message)
特点:
书上说协作图不同于时序图的特点是增加了路径和顺序号,但是我不认为这是协作图的特点,从上图中我们仍然可以看出路径和顺序号,只不过顺序图可标注可不标注罢了。
4.5.1浏览者添加新闻评论
4.5.2后台管理员修改新闻
4.6StateTransaction图
状态图:
状态图描述对象状态的变化,它是通过类对象的生命周期来建立模型和描述对象随时间变化的行为。
元素:
状态(State)转换(Change)
状态可以分为以下几个元素:
名字(name),入口/出口动作,内部转换,延迟事件,子状态(顺序子状态、并发子状态)
在这里,我简要说一下延迟事件吧,如果对于一个大型的系统,有着很多的需要处理数据时,我们就要考虑延迟事件,对于一个小型系统来说,延迟事件可能就没有多大的作用了。
转换:
可以分为源状态、目标状态、触发事件、监护条件(官方定义为有一个大括号的bool值,代表了true和false,当为true时,执行条件)和动作(很多情况下,由于动作的时间很短,可以忽略掉)
4.6.1后台管理员删除新闻
4.7Activity图
活动图:
参与行为的类的活动或动作,活动图的本质就是流程图。
元素:
动作状态、活动状态、动作流、分支、分叉和汇合、泳道(将一组状态分组)、对象流
4.7.1浏览者查看相关新闻并给予评论
4.7.2后台管理员管理新闻
4.7.3活动图与状态图的区别
活动图:
强调从活动到活动的控制流。
状态图:
强调对象的潜在状态和这些状态之间的转换。
4.8Component图
组件图是面向对象系统的物理方面建模,它描述的是软件组件以及组件之间的关系,组件本身是代码的物理模块,组件图则显示了代码的结构。
元素:
组件(component)接口(interface)关系(dependency)
组件可以分为三类:
配置组件(Deployment),包括dll,executable,ActiveX等。
工作产品组件(workProduct),数据文件和源代码。
执行组件(Execution).exe文件。
接口可以分为导出(export)接口和导入(import)接口
4.9Deployment图
配置图是面向对象系统的物理方面建模之一,另一种就是上面的组件图。
配置图主要显示的是运行软件系统的物理硬件,以及如何将软件部署到硬件上。
元素:
节点、组件、关系
关于节点的知识,米老师没有给我们讲,只能自学了。
官方定义为运行时的物理对象的类,它一般用于对执行处理或计算的资源建模。
节点由两部分组成:
能力和位置。
在建模过程中,节点分为处理处理器和设备。
如果这么描述,我想每个人都能理解什么是节点了。
我的理解是计算机的每个部分都可以理解成节点。
这里所说的组件,就是指那些物理组件了。
4.10包图
包图的主要作用:
维护和控制系统的总体结构,包的名字分为简单名和路径名(pathname),在图形上,包就是带有标签的文件夹。
包在软件模型中是不可能独立存在的,包于包之间应该体现的是高内聚和低耦合。
对于不同包间要想相互访问就必须引入(import)。
此外,包还可以扩展分为虚包(facade):
只拥有对其它包内元素的引用,本身不包含任何定义的模型元素,我感觉到自己还没有用到过这类虚包。
框架(framework)由样式组成的包。
桩(stub),描述一个作为另一个包的公共内容代理的包。
子系统(subSystem)和系统(system)。
第五章正向工程与逆向工程
正向工程是由模型生成代码,逆向工程是由代码生成模型。
对我们这些初学者来说,模型和代码都应该自己手动完成,正向工程是检验我们代码的正确性的工具,而逆向工程则是我们检验模型图的工具。
我们应该会使用工具而不应该过分依赖工具。
很期望Rose能升级在正向工程和逆向工程方面有更大的进展。
第六章UML与统一开发过程
因为这一章,在以前的学习中没有怎么注意过,所以关于这一章的知识在这篇文章中要详述。
6.1软件开发过程
说到这里,我不由不详细说明一下,因为在昨天的辩论会上,大家对于这个开发过程见解不同,这里还是要说明一下的好。
官方定义:
实施于软件开发和维护中的阶段、方法、技术、实践及相关产物的集合。
好的软件开发过程可以提高软件开发效率:
一、指导。
二、标准化。
三、引进好的开发技术。
目前比较流行的软甲开发过程:
(1)RUP(RationalUnifiedProcess)
(2)OpenProcess(3)Object-OrientedSoftwareProcess(4)ExtremeProgramming(5)Catalysis(6)DynamicSystemDevelopmentMethod
对于这六个软件开发过程,我们通常使用的就是RUP,而稍后我们也将详细介绍这个软件开发过程,对于其它的软件开发过程,我只是知道有个XP开发过程,至于别的,我就不太懂了。
其实,各个公司也都不是严格按照RUP开发过程来进行的,正所谓规则是死的,人是活的,只不过我们的开发过程都是以RUP为基础的。
6.2RUP
统一软件开发过程,是一个面向对象且基于网络的程序开发方法论。
它用下面的图形来表示,横轴表示生命周期,纵轴表示内容。
RUP的提出是相对于传统的瀑布模型提出的,在这里它泛指除了瀑布模型意外的其它迭代开发模型。
RUP模型的十大要素:
1,开发前景2,达成计划3,标识和减小风险4,分配和跟踪任务5,检查商业理由6,设计组件构架7,对产品进行增量式的构建和测试8,验证和评价结束9,管理和控制变化10,提供用户支持。
6.3统一开发过程核心工作流
6.3.1需求捕获工作流
主要任务:
确定参与者和用例、区分用例的优先级、详细描述一个用例、构造用户界面原型以及构造用例模型。
6.3.2分析工作流
主要任务:
架构分析、分析用例、分析类、分析包
6.3.3设计工作流
主要任务:
架构设计、设计一个用例、涉及一个类和设计一个子系统
6.3.4实现工作六
主要任务:
架构实现、系统集成、实现一个子系统、实现一个类和执行单元测试。
从上面的RUP工作流中的“一个”我们可以看出这是一个迭代的系统,而其所有工作流的任务其实就是瀑布模型中各个阶段所要完成的任务。
小结:
在UML中,我认为实践的作用要远远大于理论,我们需要做的就是能够熟练的为系统构建各种模型图,这些不是东西不是学来的,而是在实际应用中逐渐掌握起来的。
关于这些图的分类,一种是静态图,另一种是动态图。
什么图中有什么,我就不赘述了。
注:
如果对UML建模学习不好的同学,可以参考人民邮电出版社出版的UML基础与Rose建模案例。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 总结 UML 新闻 发布 系统