《UML大战需求分析》阅读笔记01
在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用。为了进一步的理解UML的用法,我阅读了《UML大战需求分析》这本书,希望可以详尽的掌握UML语言。
首先我阅读了第一章,学习了什么时候使用什么图,并从整体的角度对各类图进行了认识。UML是一种语言,UML语言用于软件需求中更能直观的进行交流,易于理解。UML大体可以分为两类图:结构型的和行为型的。结构型的图描述的是某种结构在某段时间内具有固有的结构,是静态的;而行为型的图描述的是某种行为,是动态的。例如:在软件开发前期的需求分析阶段,各种业务的内容既是静态的使用结构图描述的,相反业务之间的流程、过程是动态的,这就需要行为图进行描述。
(1)结构型图
包括了类图,类图是分析业务概念的首选,是使用效率最高的一种图。它可以直观的显示类的属性和操作。对象图,在软件开发中会使用,对象是类的实例化,至于在需要描述复杂算法才使用,但它在需求分析工作中并不常用。构件图,描述软件内部物理组成的一种图,一般与结构部署图一起使用。部署图,顾名思义就是用来描述系统如何部署、本系统与其他系统是什么关系的一种图。在软件系统需要基于当前的IT基础环境来规划时,我们需要使用部署图来做这个规划。包图,主要用途是打包类图。包图是避免类图庞大,造成不利于阅读,将某些类放入“包”中的图,组织类图。
(2)行为型图
活动图、状态机图、顺序图从不同的角度描述流程。活动图,表达一个顺序流程,还可以表达分支结构。状态机图,是从某个物品的状态是如何变化的角度来展示流程。顺序图,能够清楚地表达整个过程所参与的角色和角色与角色之间的关系以及角色的交互。通信图,就是我们学过的协作图,和顺序图相似表达角色之间的关系和交互,但是协作图强调的是相互之间的关系,而顺序图更强调先后顺序。用例图,表达啥角色通过软件系统做什么,系统的表达系统的绝大部分要求。时序图,表达的是某东西的状态随时间的变化的图,一般不使用。相比于其他的行为图活动图最接近我们的思维习惯。
在以前学习UML语言这门课程中,我只是认为UML只是画画图,并没有实际的作用。通过第一章的阅读我学到熟练的掌握UML语言有机会成为软件需求高手。它在真正的软件开发过程中,UML能直观、形象、严谨的地描述出 业务概念、业物流程、客户的期望和需求。UML对提升软件需求分析能力有很大的帮助。
《UML大战需求分析》阅读笔记01的更多相关文章
- Java并发编程阅读笔记-Java监视器模式示例
1.前言 书中在解释Java监视器模式的时候使用了一个车辆追踪器例子,根据不同的使用场景给出了不同的实现和优化. 2.监视器模式示例 实现一个调度车辆的"车辆追踪器",每台车使用一 ...
- uml大战需求分析阅读笔记01
<<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...
- 《java与模式》阅读笔记01
这次我读了前两章的内容,就如书名所言,这本书主要将的就是java中的模式,在书中的序言就把所有的模式都介绍了一下,主要有, 1.创建模式:简单工厂模式,工厂方法模式,抽象工厂模式,建造模式 2.行为模 ...
- Spring源码阅读笔记01:源码阅读环境准备
1. 写在前面 对于做Java开发的同学来说,Spring就像是一条绕不过去的路,但是大多数也只是停留在对Spring的简单使用层面上,对于其背后的原理所知不多也不愿深究,关于这个问题,我在平时的生活 ...
- <精通JavaScript>---阅读笔记01
下面是阅读精通JavaScript书做的相关笔记. JS中的函数重载 函数重载必须依赖两件事情:判断传入参数数量的能力和判断传入参数类型的能力,在js中每个函数都带有一个仅在这个函数范围内作用的变量, ...
- Java与模式读书笔记
>设计目标:可扩展性,灵活性,可插入性. >设计原则 ● Open Closed Principle 开闭原则 对扩展开放,对修改关闭. 对面向对象的语言来说,不可以更改的是系统的抽象层, ...
- java web开发阅读笔记:第一章
学习该书前所用推荐书籍<名师讲坛—java开发实战经典> 一web开发前奏 1.1网页发展 首先搞懂. 1.HTTP:超级文本传输协议,是一种通讯协议. 通过这个网络协议WW浏览器与WWW ...
- 深入理解Java虚拟机一 阅读笔记
xl_echo编辑整理.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! --- > 以下内容摘抄自 ...
- 深入理解Java虚拟机二 阅读笔记
xl_echo编辑整理.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! --- > 以下内容摘抄自 ...
- UML大战需求分析--阅读笔记01
本次阅读的书籍是<UML大战需求分析>,看了前两章的内容:1 大话UML,2绞尽脑汁的需求分析.这两章内容关联不大,分开描述. 第一章:大话UML 本章主要概述UML是什么,有什么内容.U ...
随机推荐
- Codeforce 493c
H - Vasya and Basketball Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & ...
- js中typeof与instanceof区别
今天写JS代码,遇到动态生成多个名称相同的input复选按钮 需要判断其是否是数组,用到了if (typeof(document.MapCheckMgr.checkid)!="undefin ...
- Storm系统高可用性HA表现
关于Storm的高可用,有以下几个方面: (1)数据利用阶段可以通过ACK机制保证数据被处理: (2)在进程级别,worker失效,supervisor会自动重启worker线程; (3)在组件级别, ...
- CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据
1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Re ...
- bg,fg,ctrl+z组合
使用ctrl + Z 把一个进程挂起 [root@limt ~]# sh Testlsof.sh >111.log ^Z [1]+ Stopped sh Testlsof.sh > 111 ...
- js动态创建的元素绑定事件
新创建的元素用传统的办法无法绑定,需要用live方法. 例: $('.rule').live('mouseover', function () { $(this).addClass("can ...
- 无法将Win7安装到GPT分区下解决办法
当出现"您想将windows安装 在何处时",按shift+F10打开命令提示符,输入:diskpartlist disksel disk 0cleanconvert mbr完成转 ...
- Linux多线程实例练习 - pthread_cancel()
Linux多线程实例练习 - pthread_cancel 1.代码 xx_pthread_cancel.c #include <pthread.h> #include <stdio ...
- java 深入浅出工厂模式
一.引子 话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰.Bmw宝马.Audi奥迪,还雇了司机为他开车.不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“ ...
- BFS 巡逻机器人
巡逻机器人 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83498#problem/F 题目大意: 机器人在一个矩形区域巡逻, ...