think in UML(二)

基础篇——在学习中思考!

在大概了解了UML之后就该系统的学习UML的主要建模元素了,一个个实例帮助我们更好的理解这些元素的重要性并运用相关知识解决实际问题。

在UML里有一个概念叫版型,有些书里也称为类型、构造型。版型只是UML的一种扩展手段,本身并不涉及太多的思想和方法,而是在建模的不同阶段,为了区分视图之间的不同观点,会采用不同的图示来表示。

以人为本是当代的流行词汇,UML建模也是以人为本的。参与者在建模过程中是处于核心地位的,actor是在系统之外与子同交互的某人或某事。系统之外的定义说明在参与者和系统之间有一个明确的边界,赞誉这只可能存在于边界之外,边界之内的人和事物都不是参与者。在查找参与者的过程中,可以询问以下问题以帮助确定参与者:

(1)谁是负责提供、使用或删除信息?

(2)谁将使用此功能?

(3)谁对某个特定的功能感兴趣?

(4)在组织的什么地方使用系统?

(5)谁负责支持和维护系统?

(6)系统有哪些外部资源?

(7)其他还有那些系统需要与该系统交互?

查找参与者时请注意,参与者一定是直接并且主动的向系统发出动作并获得反馈的,否则就不是参与者。此时可以理解刚开始举的例子“小王到银行去开户,向大厅经历询问了办理手续,填写了表单,交给柜台职员,拿到了银行存折。”在这个场景中,小王是参与者,而经理和柜台职员及其他事物都在系统边界以内,属于业务工人。

用例在UML建模中是最最重要的一个元素,用例是一种把现实世界的需求捕获下来的方法,一个用例就是与参与者交互的,并且给参与者提供可观测的有意义的结界的一系列活动的集合。一个完整的用例定义由参与者、前置条件、场景、后置条件构成。是相对独立的,用例的执行结果对参与者来说是可观测的和有意义的,这件事必须由一个参与者发起的。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。用例必然是以动宾短语形式出现的。一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。

边界在UML图符里的定义只是一个简单的矩形框,矩形的四个边决定了边界的内外。自顶向下的方式:通过逐步缩小边界进而影响到我们可以观察到的事物,也就决定了我们的抽象层次,似的我们的分析粒度可以有条不紊的逐步细化。当然我们也可以采取自底向上的方式,先把边界设定到较小的范围,比如从发动机开始讲起,扩大到传动系统,在扩大到整车性能。灵活使用边界。

业务实体描述了我们使用什么来达到业务目标以及通过什么来记录这个业务目标。方法是访问一个业务实体的句柄,它规定了外部可以怎样使用它。首先建立业务用例场景;然后从业务用例场景中逐个分析动词后面的名词,他们就是业务实体的备选对象;最后分析这些业务实体之间的关系。

对于软件来说,最主要的一个风险就是需求变更或者需求理解错误。一个有效的应对方法是尽早验证,并控制风险的影响规模。这就是说,假如需求变更风险无法避免,就让变更发生在项目的早期并且与之相关的部分还没还有大规模开发之前。尽早给客户提供一个可运行的系统,让他们看到并使用系统后说出不合适的地方。通过迭代方式,技术风险和人力资源风险也能够降低。

边界要划分清楚,不然系统就会无限制的扩张,以至于到最后加入太多复杂的功能,先列清边界外与他交互的人和物,定义组建要用在其需要的地方,组建是可复用的单元,哪怕只有一个,;理论上来说都可以在其支持架构内独立部署,并且可以被多个其他程序使用。编写程序时也是,将一个功能单独拉出来写成传入参数的函数封装,以便于出错时可以无不连累,单独拿出来函数还可以用于其他软件开发。

时间: 2024-10-12 20:29:51

think in UML(二)的相关文章

UML model refactoring: a systematic literature review

一.基本信息 标题:UML model refactoring: a systematic literature review 时间:2015 出版源:Empirical Software Engineering 领域分类:模型重构:模型转换:系统文献综述:UML 二.研究背景 问题定义:UML模型重构 难点:模型的转换与术语的重构: 相关工作:模型重构:审核流程 三.创新方法 1.提供了模型重构的背景,描述了用于审查的方法. 2.收集并分析了选定的研究,讨论了结果,并回答了系统评价中提出的研究

JAVA宇宙无敌复习资料

一.java基础: 1.java简介 (1)java历史 (2)重要概念 javaSE(标准版) javaEE(企业版) javaME(微型版) JDK(java开发工具包)JRE(java运行环境)IDE(集成开发环境) - JavaSE(javaPlatform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.java se 包含了支持 Java Web 服务开发的类,并为 Java P

简单工厂VS工厂方法

前言: GOF经典的23种设计模式在IT界现已被广为流传.由于比较长时间没有用了,个人对于不同模式与模式之间的区别也渐渐模糊,故开始重温设计模式的思想.也希望更给对设计模式感兴趣的朋友些许的启发. ---------------------------------- 需求情境: 设计一款具有基本计算功能的计算器. ----------------------------------- 初次看到这个需求,假如你从没有接触过设计模式,那么你应该很快可以把基本的逻辑语句用10行以内的代码搞定. 但是,

HTML中特殊字符和与之对应的ASCII代码

ASCII代码是说明了在html中每个特殊字符的属性以及字符的简要说明.在使用html时,如何把ASCII代码添加到网页中.例如版权符号'©'在html中可以通过 "©"来显示. 应用场景:当使用键盘无法打出来的时候.因为我测试在html代码中使用&和&是等价的. 符号 HTML 代码 数值 描述 < < < 小于号 > > > 大于号 & & & 表示“and”的符号 " " "

大话设计模式C++实现-第25章-中介者模式

一.UML 二.概念 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 三.说明 角色: (1)Colleague:抽象同事类. (2)ConcreteClleague:具体同事类,每个具体同事只知道自己的行为,而不了解其他同事类的情况,但它们却都认识中介者对象. (3)Mediator:抽象中介者,定义了同事对象到中介者对象的接口. (4)ConcreteMediator:具体中介者对

设计模式:观察者模式--Observer

一.什么是观察者模式 1.生活中的观察者模式 1.警察抓小偷 在现实生活中,警察抓小偷是一个典型的观察者模式「这以一个惯犯在街道逛街然后被抓为例子」,这里小偷就是被观察者,各个干警就是观察者,干警时时观察着小偷,当小偷正在偷东西「就给干警发送出一条信号,实际上小偷不可能告诉干警我有偷东西」,干警收到信号,出击抓小偷.这就是一个观察者模式 2.装模作样写作业 小时候家里家活比较多,爸妈让我去干活的时候,我偶尔会说我要学习「其实不想去干活,当然只是偶尔,我还是常常干家务的」,然后爸妈就去地里了,我一

UML基本构造块之十种图(二)

原文地址:http://www.aichengxu.com/view/1040714 这几天一直在学习UML的十种图,之前是对UML十种图的主要概念进行理解,现在对其及其之间的关系进行理解 学习. 一.用例图(Use Case Diagram): 最开始学习的第一个图是用例图,用例图主要用于为系统的功能需求建模,它主要描述系统功能,也就是从外部 用户的角度观察,系统应该完成哪些功能,有利于开发人员以一种可视化的方式理解系统的功能需求,可以说用例图 是对系统功能的一个宏观描述.在学习用例图的过程中

UML学习(二)-----类图

UML学习(二)-----类图 http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html http://www.cnblogs.com/yangfengming/archive/2008/08/14/1267495.html http://www.cnblogs.com/huangxincheng/archive/2012/10/17/2728736.html http://www.cnblogs.com/playing/

(UML总结二)九种图

上次总结到了UML中的关系,明白了关系,下面让我们总结一下UML中的九种图.图往往比文字要直观,所以我们在开发软件的时候,文档中必不可少要有图,所以这九种图是我们必须要掌握的. 下面我将这九种图分了一下: 我们还可以将这九种图分为静态图和动态图: 一.基本概念: 1.  用例图(Use casediagram) 由参与者.用例以及它们之间的关系构成的用于描述系统功能的视图.用例图主要是用来说明用户的需求,开发的软件应该有怎样的功能,实现什么价值.从用例图中我们可以看出来是谁用软件和软件的功能.

对软件开发中uml建模的理解和图形整理(二)

今天接着昨天的内容,继续来了解uml的静态建模和动态建模,希望大家通过这两天的了解能加深对uml建模的理解并在以后的项目开发中加以应用. 核心UML图分类:  ---> "独孤九剑" 静态建模:[用例图].[类图].对象图.组件图.部署图. 动态建模:[时序图](sequence diagrams).状态图.活动图.协作图. 核心UML图的定义及使用: 一. 用例图:主要用来展示系统的核心功能及其交互的用户或系统. 举例说明:相信上一篇已经写的很清楚了,这里简单贴一张图. ===