02《UML大战需求分析》阅读笔记之二
UML虽然是一种新的工具,但同时也代表了一种新的先进的思考方法,所以学习UML的关键不在于学习语法,而是要改变思维习惯。所以我觉得我还需要系统地培养几方面的能力,如书面表达能力,归纳总结能力,“面向对象”的思维能力和抽象能力。
我们现在也正在学习需求分析这门课,需求分析是我们做软件的第一步,可见其重要性。客户基本不懂计算机,但是我们却需要了解到客户的真正的需求,这是难点所在。而UML通过建模活动可以帮助我们更好地认识客户的业务和做好业务流程再造的工作。要想UML在需求分析中真正发挥作用,我还需要了解更多UML图的使用,活用UML进行结构建模和行为建模。
类图,我们都比较熟悉,也是用得最多的一种UML图。虽然我们画图的时候,觉得类图很简单,但是实际上要做到活用类图还需要很久的时间。说通俗的话,类图是帮助我们理清人、物品、事情并理清关系的用途。我们在需求分析中用到的各种业务概念、人物,抽象之后可以看作类。而构建类图,我们首先要找到类,类的属性,然后找出类之间的关系。即类图的类名、属性、操作三部分。虽然类图的基本语法很简单,但是识别类,表示类之间的关系就没那么简单了,也是我们使用类图的关键。类之间的关系主要有三大部分,直线关系、包含关系、继承关系。直线关系中我们通过一对一关系、一对多关系等分辨;包含关系中通过强烈程度来分辨;比如,如果部门没有了,员工也可以继续存在,所以是弱包含,反而如果员工也没有了,则是强包含。继承关系中有泛化关系和依赖关系,比如由A导出B,我们可称为泛化,A需要B协助来完成,但是依赖程度不一定就是依赖关系;我认为这也是类图中很重要的一部分。虽然学习了很多类和类之间的关系,但是我在这本书中真正认识到的两种类之间的关系其实是递归关系和三角关系。比如,对于文件夹和文件的关系,文件里面可以有文件夹,文件夹里面也可以有文件,是一种无穷无尽的递归状态,但是将包含关系指向文件夹本身时,这个问题就得到了完美解决。三角关系,比如公司、雇员和劳动合同,这里教给了我们一个画图的解决方法就是如果觉得两个类之间有关系的话,先画直线,如果觉得有关系却不会画,那我们可以首先找到他们的关联类,构成三角关系。要做真正的系统,我们可能要使用上百个上千个类图,所以一定要规划好类图。
我们可以通过画类图来训练我们的面向对象分析的逻辑思维,思想。我想用好类图,让它在需求分析中发挥作用,只是练习次数的问题。
02《UML大战需求分析》阅读笔记之二的更多相关文章
- <<UML大战需求分析>>阅读笔记(2)
<<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...
- uml大战需求分析阅读笔记01
<<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...
- UML大战需求分析--阅读笔记01
本次阅读的书籍是<UML大战需求分析>,看了前两章的内容:1 大话UML,2绞尽脑汁的需求分析.这两章内容关联不大,分开描述. 第一章:大话UML 本章主要概述UML是什么,有什么内容.U ...
- UML大战需求分析——阅读笔记04
读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...
- UML大战需求分析——阅读笔记03
读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...
- UML大战需求分析阅读笔记2
全面深入理解客户的业务,才能帮助我们准确的把握客户的需要.而在理解客户业务的同时,我们往往需要做业务流程再造(BPR:Business Process Reengineering)的工作.BPR简单说 ...
- UML大战需求分析阅读笔记1
UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言.你可能会问:这明明是一种图形,为什么说是语言呢?伟大的汉字还不是 ...
- UML大战需求分析--阅读笔记02
这次阅读了第三章--类图.本章主要讲解了类图的基本使用规则和一些使用的例子.类图是UML中非常重要的一部分,作用很大. 类图之间有五种关系:关联关系,聚合关系,组合关系,泛化关系,依赖关系.关联关系有 ...
- UML大战需求分析——阅读笔记02
类图是理解面向对象思想的强有力工具,也是业务概念模型分析中最常用的一种UML图.对开发人员来说,并不是对每一个业务流程都很熟练,在客户那里传达过来的需求资料中,有很多术语会把思绪搞晕,他们之间错综复杂 ...
- UML大战需求分析——阅读笔记06
状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图主要用于建立对象类或对象的动态行为模型,描述系 ...
随机推荐
- C# 获得指定路径扩展名 , 去除扩展名
//指定扩展名的文件 private void button1_Click(object sender, EventArgs e) { textBox1.Text = ""; st ...
- pc页面滚动的时候,背景图不动只是页面滚动
代码如下,直接拷贝出去就能看效果: 用到的方法 background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动. <!DOCTYPE html> <h ...
- 安装`lrzsz`包及其报错解决办法
rz命令的安装包名是lrzsz. 安装lrzsz包时报错Failed to mount cd:///?devices=/dev/sr1,/dev/sr0 on /var/adm/mount/AP_0x ...
- 漫谈 Google 的 Native Client 技术(一)---- 历史动力篇(Web 本地计算发展史)
转自:http://hzx5.blog.163.com/blog/static/40744388201172522313463/ 漫谈 Google 的 Native Client 技术(一)---- ...
- Linux初级命令总结
第1节 查看当前系统版本及内核 cat /etc/redhat-release (查看系统版本) CentOS Linux release 7.4.1708 (Core) uname -r (查看系统 ...
- Mysql学习总结(36)——Mysql查询优化
从事前端开发的都知道,页面显示的数据一定要及时的呈现,否则会影响用户体现.那么导致页面加载数据慢或者显示滞后的原因又是什么呢? 拿自己之前做项目经历给大家讲讲吧,之前做后台,当时的项目实时性都非常高, ...
- nyoj 120 建边构强连通
#include<stdio.h> #include<string.h> #include<queue> using namespace std; #define ...
- [SharePoint][SharePoint Designer 入门经典]Chapter11 工作流基础
1.SPS中可以创建的工作流的种类 2.SPD工作流基础 3.创建列表\库工作流 4.创建可重用的工作流 5.利用基于站点的工作流 6.SPD 工作流的限制和注意事项
- NEFU 118
其实一道公式题: n!中素数i的幂为: [n/i]+[n/i^2]+[n/i^3]+[n/i^4]+...... #include <iostream> #include <cstd ...
- NOIP2012 同余方程 题解
描写叙述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入仅仅有一行,包括两个正整数a, b,用一个空格隔开. 输出格式 输出仅仅有一行,包括一个正整数x0.即最小 ...