《大象Think in UML》阅读笔记(三)
Think in UML 阅读笔记(三)
把从现实世界中记录下来的原始需求信息,再换成一种可以知道开发的表达方式。UML通过被称为之概念化的过程来建立适合计算机理解和实现的模型,这个模型被称为分析模型,它介于原始需求和计算机实现之间,是一种过渡模型。绘制分析模型最主要的元模型有:边界类(boundary)、实体类(entity)、控制类(control)。UML采用控制类来表达原始需求中的动态信息,即业务或用例场景中的步骤和活动。除了控制类外,其他类之间都不能直接相互访问,他们需要通过控制类来代理访问要求。这样做的目的是把动作和物体分开。通过一个儿时的小游戏来说明:只要有人、事、物和规则(定语),就能构成一个有意义的结果。
边界类代表了原始需求中的“事”,实体类代表了现实世界的“物”,控制类则体现了现实世界的“规则”,加上由参与者转化而来的系统的“用户”,这样一来,人、事、物、规则都有了。
在设计模式中,概念模型中的边界类可以被转化成操作界面或者系统接口;控制类可以被转化成计算程序或控制程序;实体类可以转化为数据库表、XMML文档或者其他带有持久化特征的类;这些转化可以遵循的规则有:软件架构和框架、编程语言、规范或中间件。
现实世界==》对象世界,Modeling 模型
业务模型==》概念模型,Conceptual 概念
概念模型==》设计模型,Design 设计
整个过程都涉及到了用例驱动;
对于UML统一建模语言,我们在大二的时候已经学习过,对于他的过程和基本概念有了一个基本的了解,而且也已经有过建模的项目,所以对此比较了解;像参与者、用例、边界、包等,像类之间的关系有:关联关系、依赖关系、扩展关系、包含关系、实现关系、泛华关系、聚合关系、组合关系等等;UML中的图有:用例图、类图、包图、活动图、状态图、协作图等;
对于如何确定自己想要做的方法就是软件过程,软件过程明确了软件的生命周期,明确了软件生命周期过程中的成果物和可交付物,同时也就明确了需要什么样的模型,软件过程明确了在软件项目的哪个阶段使用哪些模型;UML使用最多的几个工作流程:
(1)业务建模工作流程
(2)系统建模工作流程
(3)分析设计工作流程
(4)实施建模工作流程;
业务模型(位于统一过程中先启阶段)工作流程:在起步阶段时,评估业务状态,然后业务建模,说明当前业务,确定业务流程,改进业务流程,设计业务流程实现。改进角色和职责,流程自动化研究,开发领域模型,业务模式是以软件模型方式描述企业管理和业务所涉及的对象和要素、以及他们的属性、行为和彼此关系,业务模型强调以体系的方式来理解、设计和架构企业信息系统;
系统模型(需求过程)工作流程:在新系统或现有系统后分析问题理解涉众的需要,对于一些错误的问题,提出可选的解决方案,选出最佳解决方案,如果无法完成所有的工作,我们就需要改下系统的定义,知道需求定义完成;
需求属性是用来管理和追踪每个需求在项目进行过程中的变化情况;Rational专门有一个Rational Request Pro工具来管理需求属性;软件需求规约就是需求规格说明书,它需要将用例模型(包括用例规约、用例试图等)和补充规约、系统界面原型等集中起来;
分析设计模型工作流程:定义备选架构->分析行为->设计实时构件(设计构件),分析行为即分析用例场景,它是使用分析类或者设计类,并结合架构来实现用例场景的过程,对于这个过程,不要过多的关注细节,这样必将导致工作量的急速增加,同时也会产生巨大的信息量,降低人脑处理他们的能力。因为我们需要研究的是系统的行为以及对架构来说比较重要的那些对象,而不要详细到方法和属性。分析设计的目标在于将需求转化为未来系统的设计,逐步开发强壮的系统构架,使设计适合于实施环境,为提高性能而进行设计;
实施建模的目的是建立组件及其所在的实施子系统的集合,实施模型将开发工作分为许多工作包,因而可以协作生产这些工作包,然后组装他们以形成最终系统;
《大象Think in UML》阅读笔记(三)的更多相关文章
- 论文阅读笔记三:R2CNN:Rotational Region CNN for Orientation Robust Scene Text Detection(CVPR2017)
进行文本的检测的学习,开始使用的是ctpn网络,由于ctpn只能检测水平的文字,而对场景图片中倾斜的文本无法进行很好的检测,故将网络换为RRCNN(全称如题).小白一枚,这里就将RRCNN的论文拿来拜 ...
- SOA 面向服务架构 阅读笔记(三)
7 SOA的主要组件 7.1企业服务总线ESB ESB负责SOA组件之间的互相通信;SOA注册中心的资源库包含表示SOA组件的位置的重要的引用信息: 业务流程编排管理器提供人与人,人与流程,以及流程的 ...
- HTTP权威指南阅读笔记三:HTTP报文
报文的组成部分 报文由三部分组成:对报文进行描述的起始行(start line).包含属性的首部(header),以及可选的.包含数据的主体(body)部分. 请求报文格式 <method> ...
- Code Complete阅读笔记(三)
2015-05-26 628 Code-Tuning Techniques ——Even though a particular technique generally represen ...
- Nginx阅读笔记(三)之proxy_pass用法
在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走,如果没有/,则会把匹配的路径部分也给代理走. 假设访问 ...
- 鸟哥的LINUX私房菜基础篇第三版 阅读笔记 三 Linux磁盘与文件系统管理
一.认识EXT2文件系统: a.硬盘的组成:转动小马达+存储的磁盘+读写的机械臂 b.磁盘的一些概念 扇区为最小的物理储存单位,每个扇区为512B ...
- 论文阅读笔记三十七:Grid R-CNN(CVPR2018)
论文源址:https://arxiv.org/abs/1811.12030 开源代码:未公开 摘要 本文提出了目标检测网络Grid R-CNN,其基于网格定位机制实现准确的目标检测.传统方法主要基于回 ...
- 论文阅读笔记三十六:Mask R-CNN(CVPR2017)
论文源址:https://arxiv.org/pdf/1703.06870.pdf 开源代码:https://github.com/matterport/Mask_RCNN 摘要 Mask R-CNN ...
- 论文阅读笔记三十二:YOLOv3: An Incremental Improvement
论文源址:https://pjreddie.com/media/files/papers/YOLOv3.pdf 代码:https://github.com/qqwweee/keras-yolo3 摘要 ...
- 论文阅读笔记三十一:YOLO 9000: Better,Faster,Stronger(CVPR2016)
论文源址:https://arxiv.org/abs/1612.08242 代码:https://github.com/longcw/yolo2-pytorch 摘要 本文提出YOLO9000可以检测 ...
随机推荐
- leetcode 1. Two Sum [java]
注意点: HashMap<Integer, Integer> return new int[]{}; 3 2 4 target:6 return null; public int[] tw ...
- 8.2Solr API使用(Facet查询)
转载请出自出处:http://eksliang.iteye.com/blog/2165882 一)概述 Facet是solr的高级搜索功能之一,可以给用户提供更友好的搜索体验.在搜索关键字的同时,能够 ...
- (转)Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding
基于python3.6.1版本,在一个.py文件中,加入这3行:import requests, re, sysreload(sys)sys.setdefaultencoding("utf- ...
- 20165302Exp0 Kali安装 Week1
一,下载 下载网址https://www.kali.org/downloads/ 二,安装(安装过程中有一部分没有截图,因此没有贴上) 创建虚拟机 选择Linux,版本Ubuntu 一直下一步,最后点 ...
- Matlab警告消息消除
在运行matlab程序时候,有些matlab子函数在高版本将会被舍弃,在使用的时候,matlab编译器就会报出警告信息. The COMBNTNS function will be removed i ...
- Android Frame动画demo
Android动画介绍:Android为我们提供了两种动画实现,Frame和Tween. 两者之间的区别: 1.Frame动画:就像放电影一样,是通过预先做好的图片进行连续播放从而形成动画效果 2.T ...
- 蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)
Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...
- 学习C#(一)
赶紧好好学学自己的C#,,要不然要给做的东西说拜拜了,,,时间紧迫,,,真担心会食言..................... 在C#中以为只要类有构造方法,,,,原来结构也有 using Syste ...
- abp 如何设置和访问嵌入资源(视图、css、js等)
1.设置文件为嵌入资源 2.在含有嵌入资源的程序集下的模版类下,配置暴露嵌入的资源. Configuration.EmbeddedResources.Sources.Add( new Embedded ...
- 欢迎到我的新Blog!
https://winniechen.cn 里面的页面还不是很好看...争取改一下! 里面的题解大部分也会在这里更新! 谢谢各位捧场!