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》阅读笔记(三)的更多相关文章

  1. 论文阅读笔记三:R2CNN:Rotational Region CNN for Orientation Robust Scene Text Detection(CVPR2017)

    进行文本的检测的学习,开始使用的是ctpn网络,由于ctpn只能检测水平的文字,而对场景图片中倾斜的文本无法进行很好的检测,故将网络换为RRCNN(全称如题).小白一枚,这里就将RRCNN的论文拿来拜 ...

  2. SOA 面向服务架构 阅读笔记(三)

    7 SOA的主要组件 7.1企业服务总线ESB ESB负责SOA组件之间的互相通信;SOA注册中心的资源库包含表示SOA组件的位置的重要的引用信息: 业务流程编排管理器提供人与人,人与流程,以及流程的 ...

  3. HTTP权威指南阅读笔记三:HTTP报文

    报文的组成部分 报文由三部分组成:对报文进行描述的起始行(start line).包含属性的首部(header),以及可选的.包含数据的主体(body)部分. 请求报文格式 <method> ...

  4. Code Complete阅读笔记(三)

    2015-05-26   628   Code-Tuning Techniques    ——Even though a particular technique generally represen ...

  5. Nginx阅读笔记(三)之proxy_pass用法

    在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走,如果没有/,则会把匹配的路径部分也给代理走. 假设访问 ...

  6. 鸟哥的LINUX私房菜基础篇第三版 阅读笔记 三 Linux磁盘与文件系统管理

    一.认识EXT2文件系统:     a.硬盘的组成:转动小马达+存储的磁盘+读写的机械臂     b.磁盘的一些概念              扇区为最小的物理储存单位,每个扇区为512B       ...

  7. 论文阅读笔记三十七:Grid R-CNN(CVPR2018)

    论文源址:https://arxiv.org/abs/1811.12030 开源代码:未公开 摘要 本文提出了目标检测网络Grid R-CNN,其基于网格定位机制实现准确的目标检测.传统方法主要基于回 ...

  8. 论文阅读笔记三十六:Mask R-CNN(CVPR2017)

    论文源址:https://arxiv.org/pdf/1703.06870.pdf 开源代码:https://github.com/matterport/Mask_RCNN 摘要 Mask R-CNN ...

  9. 论文阅读笔记三十二:YOLOv3: An Incremental Improvement

    论文源址:https://pjreddie.com/media/files/papers/YOLOv3.pdf 代码:https://github.com/qqwweee/keras-yolo3 摘要 ...

  10. 论文阅读笔记三十一:YOLO 9000: Better,Faster,Stronger(CVPR2016)

    论文源址:https://arxiv.org/abs/1612.08242 代码:https://github.com/longcw/yolo2-pytorch 摘要 本文提出YOLO9000可以检测 ...

随机推荐

  1. 【Ansible 文档】【译文】模式

    Patterns 模式 Ansible中的模式是指我们如何决定那些机器执行管理操作.这里意味着与那些主机通信,但是对于playbook,它是指哪些主机应用特定的配置或执行特定程序. 我们将重温一下In ...

  2. ES6标准简介之Babel转码器解说

    ES6是ECMAScript 6的简称,是JavaScript语言的下一代标准,现在基于jquery库的前端开发js所使用的标准是ES5(ECMAScript 5).ES6已于2015年6月正式发布. ...

  3. php header函数导出excel表格

    推荐一个除了用PHPExcel导出表格之外的另外一种比较简单不需要引入类文件的表格导入方法——header()导出excel表格. 导出表格的步骤封装成了方法,以便于重复使用,代码如下: /** * ...

  4. centos6.4安装 zabbix agent

    1.防火墙设置 允许zabbix-agent的10050端口通过  iptables -A INPUT -p tcp --dport 10050 -j ACCEPT  2.安装zabbix agent ...

  5. DB2编目配置及管理

    打开命令:db2cmd 我一般打开的方式如下:                       (在db2)                                                 ...

  6. day 11 前方高能-迭代器

    第一类对象 -----函数名  == 变量名 函数对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 可以作为返回值返回 def wrapper():     def inner():      ...

  7. 大数据入门第二十三天——SparkSQL(二)结合hive

    一.SparkSQL结合hive 1.首先通过官网查看与hive匹配的版本 这里可以看到是1.2.1 2.与hive结合 spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然 ...

  8. 【第四课】Linux的基础命令使用

    目录 一.passwd重置密码 二.单用户模式 三.救援模式 四.设置SElinux 五.Linux的常用基础命令详解 5.1.mkdir命令 5.2.ls命令 5.3.cd命令 5.4.chmod命 ...

  9. 如何完全卸载VS2010(亲自体验过) (转)

    1.首先用360卸载,当卸载完成后,提示有残余的话,就强力清除 2,接着,下载IobitUninstaller工具 3.按照下面进行卸载 1.Microsoft .NET Framework 4 框架 ...

  10. maven 相关问题

    maven 这里要更新完 不一定非要clean install  那个出问题了再弄,一般刷新一下maven仓库就行了,最好还是用自己配置的maven,不容易出问题