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

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

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

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

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

(2)谁将使用此功能?

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

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

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

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

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

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

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

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

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

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

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

think in UML(二)的更多相关文章

  1. 产品经理之UML表达业务逻辑

    文章大纲 一. 什么是UML二. UML基础介绍三.UML实例介绍四.参考文档   一. 什么是UML   UML(Unified Modeling Language,统一建模语言) 是一种在软件设计 ...

  2. UML model refactoring: a systematic literature review

    一.基本信息 标题:UML model refactoring: a systematic literature review 时间:2015 出版源:Empirical Software Engin ...

  3. 设计模式(含UML、设计原则、各种模式讲解链接)

    一.统一建模语言UML UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法 UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进 ...

  4. 简单工厂VS工厂方法

    前言: GOF经典的23种设计模式在IT界现已被广为流传.由于比较长时间没有用了,个人对于不同模式与模式之间的区别也渐渐模糊,故开始重温设计模式的思想.也希望更给对设计模式感兴趣的朋友些许的启发. - ...

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

    ASCII代码是说明了在html中每个特殊字符的属性以及字符的简要说明.在使用html时,如何把ASCII代码添加到网页中.例如版权符号'©'在html中可以通过 "©"来显示. ...

  6. UML_00_资源帖

    一.官方文档 https://www.uml-diagrams.org/ https://www.omg.org/spec/UML/ 二.精选资料 UML教程-w3cschool UML建模图实战笔记 ...

  7. <十二>面向对象分析之UML核心元素之节点和设备

    节点,设备

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

    UML学习(二)-----类图 http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html http://www.cnblogs ...

  9. UML图学习之二 类图

    类图(ClassDiagrams)是根据系统中的类以及各类之间的关系描述系统的静态视图.类图不仅显示系统内信息的结构,还描述系统内这些信息的行为.类图的一个重要目的是为其他图(如顺序图.交互图)定义一 ...

  10. 基于UML的中职班主任工作管理系统的分析与设计--文献随笔(二)

    一.基本信息 标题:基于UML的中职班主任工作管理系统的分析与设计 时间:2016 出版源:遵义航天工业学校 关键字:中职学校; 班主任工作管理; UML建模 二.研究背景 问题定义:班主任是一项特殊 ...

随机推荐

  1. libcurl.dll 7.60.0静态库包含openssl/zlib

    最近做个QT的小程序需要使用LIBCURL支持HTTPS,结果查资料发现官方默认的是不支持的,需要手动重新编译,编译的时候加入SSL支持. 看着就好麻烦的样子, 找了一圈,还真有现成的,但是现在写程序 ...

  2. [提权]域内提权神器 MS14-068 完整EXP

     可以让任何域内用户提升为域管理员     c:\python27\python.exe ms14-068.py -u k8test3@k8.local -p k8team!@# -s S-1-5-2 ...

  3. ModuleNotFoundError No module named urllib2

    ModuleNotFoundError No module named urllib2?那么在进行编辑的来进行代码上开发,那就会出现的来代码的上错误,也是版本的上差异导致的问题.   工具/原料   ...

  4. 【洛谷】【动态规划+单调队列】P1714 切蛋糕

    [题目描述:] 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值. 小Z作为寿星,自然希望吃到的第一块蛋糕的幸运值总和最大,但 ...

  5. FastJson遇见的问题或项目实战中优化的问题,看源码都可以解决

    1:感觉见鬼了一般存储JSONObject中的字段竟然不见了? JSONObject object=new JSONObject(); Map fields = new HashMap(); fiel ...

  6. lua-resty-gearman模块

    粘贴一段百度对gearman的解释: Gearman是一个用来把工作委派给其他机器.分布式的调用更适合做某项工作的机器.并发的做某项工作在多个调用间做负载均衡.或用来在调用其它语言的函数的系统. lu ...

  7. leetcode55—Jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  8. JAVA框架 Spring 依赖注入

    一:介绍 情景:我们在给程序分层的时候:web层.业务层.持久层,各个层之间会有依赖.比如说:业务层和持久层,业务层的代码在调用持久层的时候,传统方式:new 持久层类. 进而进行调用,这种方式会导致 ...

  9. Ubuntu软件的安装和使用

    windows 系统有很多的截图的软件 比如 QQ 浏览器什么的,但是ubuntu 还是很少的截图软件的接下来介绍一下ubuntu 的截图软件 1.键盘上的alt+printscreen 可以全屏幕的 ...

  10. 再谈STM32的CAN过滤器-bxCAN的过滤器的4种工作模式以及使用方法总结

    1. 前言 bxCAN是STM32系列最稳定的IP核之一,无论有哪个新型号出来,这个IP核基本未变,可见这个IP核的设计是相当成熟的.本文所讲述的内容属于这个IP核的一部分,掌握了本文所讲内容,就可以 ...