UML英文全拼是unified modeling language 就是统一建模语言。
 UML就是一种软件开发中帮助我们设计的标准,虽然说是建模语言但是它是图形,图形能更清楚的表达我们对软件的想法。UML不仅可以服务于开发人员它也能很好的为做需求的人员服务,并且通过UML能更好的和客户沟通。
  UML图的分类有结构型的图(类图、对象图、构件图、部署图、包图),行为型的图(活动图、状态机图、顺序图、通信图、用例图、时序图),两者分类的根据是结构型的图是某种结构在某段时间内饰静态的、稳定的,而作为型的图是动态的。
  类图,由属性方法组成,标题是类名,而对象图同样由属性和方法构成不同的是它的标题是对象就是类的实例化后的对象,构件图,就是用来描述软件内部物理组成的一种图,比如一个权限构件由逻辑、数据操作、数据库提供数据构成,部署图,用来描述系统如何部署,本系统和其他系统是什么关系的一种图,节点表示物理设备,节点之间的线条表示节点间的物理连接关系,包图,就是为了避免类太多导致图太乱而将类图打包的一种结构型的图。
  活动图,表达一个顺序流程,以起床为例, 实心圆开始然后起床然后洗漱然后吃早餐然后出门上班最后市环形圆结束,状态机图,是从某个物品的状态如何变化的角度来展示流程以请假条为例
可以看到矩形框里对应的请假条的状态,而线条上的是到达这个状态的动作或者是条件动作,顺序图,一个事情分几个环节,由几个角色分工完成点菜为例
 
用例图,表达的是某种角色通过系统能够做什么
 
时序图,表示某种东西的状态随时间变化而变化的一种图
接下来是需求,之所以需求如此难是因为客户一方希望少出钱功能尽可能多,而软件公司的想法是多拿钱少干活,客户的想法是不断变化的,但这种变化总体是想最后目标迈进的,刻舟求剑的故事说明了对不断变化的客户想法让他们签字确认是无意义的,客户不断的提出问题时一种双赢的效果,说明客户在一直应用此软件,从而软件公司也能得到自己想要的经济等方面的‘赢’。客户肯定是对自己的领域了解的所以开始时他们的需求认知高于软件开发人员不过只有后来开发人员的需求认知高于客户才能真正把软件做好。需求分析的核心是解决软件有没有用的问题而软件设计的核心是解决软件开发成本的问题,越是底层的用户越容易提出需求规格的问题,越是高层越是容易提出需求方面的问题,需求与UML的结合,可以利用结构型的UML图对客户业务进行结构建模,对业务概念等静态结构进行系统化的梳理和提炼,就是对业务概念的梳理和提炼叫做结构建模,业务流程叫做行为建模。
关于面向对象和面向过程,开始的编程就是一行行孤独的代码,后来对于处理复杂的问题只是一行行代码显得杂乱,后来出现了方法,对一些行为的封装,通过调用方法来实现操作目的,后来结构化大型的软件已经不能仅仅通过函数调用来满足,面向对象的C++应运而生,C++以类的实例对象为操作对象类里面是一些相关的属性和方法,可以将现实中的一些实体比如人,学生直接写为一个类,类的属性和方法对应于人的属性和行为,类之间的关系,一种是直线型,含义是他们之间有关系但是不能确定是什么关系,由直线相连的两个实体有数量的对应关系。软件设计的角度来理解带箭头的线 由类A可以导航到B,因为A中的一个成员变量保存的是对B的引用也就是由类A可以找到类B,软件需求的角度分析 从请假单可以找到请假者。
包含关系
实心和空心的菱形均表示包含关系,菱形一边较粗所以表示大的包含者,没有菱形的表示被包含者,空心表示弱包含,部门没有了员工照样存在,实心菱形表示强包含部门没有了员工也就不存在了。
 继承关系
 依赖关系,依赖关系不一定是没有香烟烟鬼就不能生存了,也可以是对于某件事,依赖者需要被依赖者的协助来完成,文件夹与文件的关系用类图来表示一个是文件夹包含文件另一个文件夹同样包含文件夹就是自己就是自包含,关联关系同样支持此类定义,这就形成了递归。

《UML大战需求分析》-读后感一的更多相关文章

  1. UML大战需求分析--阅读笔记01

    本次阅读的书籍是<UML大战需求分析>,看了前两章的内容:1 大话UML,2绞尽脑汁的需求分析.这两章内容关联不大,分开描述. 第一章:大话UML 本章主要概述UML是什么,有什么内容.U ...

  2. UML大战需求分析——阅读笔记04

    读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...

  3. UML大战需求分析——阅读笔记03

    读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...

  4. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  5. 《uml大战需求分析》阅读笔记05

    <uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...

  6. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  7. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  8. 《UML大战需求分析》阅读笔记01

    在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析&g ...

  9. 火球-UML大战需求分析(体验版3.0.2).pdf

    火球-UML大战需求分析(体验版3.0.2).pdf http://files.cnblogs.com/files/happlyonline/%E7%81%AB%E7%90%83-UML%E5%A4% ...

  10. 《火球——UML大战需求分析》(第1章 大话UML)——1.2 结构型的UML(Structure Diagram)

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

随机推荐

  1. rdlc报表随笔心得 ,基本结构和一些表达式。

    Dataset Form RDLC 主要放数据集的文件夹 存放窗体的文件夹 存放各种报表的文件夹 第一部,创建报表结构 首先添加数据集项 添加完成之后我们会看到这个页面 之后我们在上面添加一些数据集 ...

  2. 关闭生产订单时报错“订单&的未处理将来更改记录组织删除标记/完成”,消息号CO688

    消息号 CO688 诊断 仍存在未来的更改记录,或从订单的确认过程的确认中要处理的错误记录.可能的确认过程是: 自动收货 反冲 实际成本的计算 数据传输至 HR 系统响应 未打算对订单设置删除标记/‘ ...

  3. Linux-2.6驱动程序分层分离概念

    下面以一个按键的实验作为驱动分离时间简单学习: #include <linux/module.h> #include <linux/version.h> #include &l ...

  4. 使用MATLAB工具deploytool打包不成功的解决办法

    下面解决方法是来自百度贴吧一抹伊静的解决办法,很好用,非常感谢,现记录下来以便后续查看: 这个问题是2014a 需要破解:下载一个破解文件,原因是matlab未完全破解,2014a的破解办法:http ...

  5. Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信

    因为单位网络管理的原因,不太方便使用 Virtualbox 的Bridge Adapter 模式,故此欲采用NAT模式,不对外不暴露虚拟机IP. 但是此时会有一个问题:采用NAT模式后,在通常情况下, ...

  6. 5322: [Jxoi2018]排序问题

    5322: [Jxoi2018]排序问题 链接 分析: 每次选一个出现次数最小的. 代码: #include<cstdio> #include<algorithm> #incl ...

  7. USACO Section1.2

    section1.1主要包括四道题和两个编程知识介绍.下面将对这6个部分内容进行学习. Your Ride Is Here 这道题没什么难度,读懂题目意思就行:把两个字符串按照题目要求转换成数字,然后 ...

  8. 牛客网NOIP赛前集训营-提高组(第六场)B-选择题[背包]

    题意 题目链接 分析 直接背包之后可以 \(O(n)\) 去除一个物品的影响. 注意特判 \([p==1]\) 的情况. 总时间复杂度为 \(O(n^2)\) . 代码 #include<bit ...

  9. Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  10. MySQL数据库查询某个库下有几张数据表

    如果统计某数据库中存在多少张数据表,使用如下SQL检索语句即可: SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES ...