《UML大战需求分析》阅读随笔(三)
一:
需求中提到的各种业务概念、人物等,经过抽象后都可以视之为类。
平时遇到的人、物,我们将遇到的都是具体的人、物,也就如程序中的对象,是一个实实在在的东西。
当我们分析需求的时候,设计模型的时候,我们就需要将之抽象,也就是最关键的一步——提炼。
提炼出这个东西,我们所需要的部分。
比如,在教室,主要存在两类人,学生和教师。
当我们做的项目为:人员管理系统
在如上的环境中,我们需要的是学生和教师的姓名和年龄、学号(工号)等这些利于了解基本信息的数据。那么,我们进行模型设计的时候,类图就应该主要包含这些东西。
当我们做的项目为:培训管理系统
我们需要的是学生的知识水平和接受能力,老师的知识水平、表达能力和讲课经验。这些才利于培训的分配和安排,那么设计的类图就应该包含这些东西
上面两个简单例子,就是区分在需求分析的时候,我们考虑的对象,在我们所做的项目下,我们需要从中真正需要的是什么,也是使用我们的软件的客户,真正看到的、使用到的是什么,要让其存在意义。
二:
类之间也存在关系
一切从直线开始,表示它们之间存在某种关联关系

“导航”关系,例如通过请假单可以找到请假者

“包含”关系,空心菱形是“弱”包含,实则为聚合,实心菱形是“强”包含,实则为组合,两者的区别主要是强烈程度不同。

“继承关系”,学生、讲师都“继承”了员工,它们具备员工的属性,也有自己的特有的属性。实则为 泛化

“依赖”关系,但依赖程度是相对而言的,不一定是A没有B就不能“生存”了,对于某个事情,A需要B来协助才能完成,这也为一种依赖。好比烟鬼和香烟


三:
利用类图来描述一些架构,如公司的组织架构。
比如某公司由一个一个的部门组成,类图表达其组织结构可能如下:

但这样没有显示出类图的优势,没有发挥抽象和提炼的优势。进一步改进如下:

这就更加形象了,有助于我们在项目进行中,分类和分层,更加清晰地看见其内部结构,成果思路也更有层次。
《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大战需求分析阅读笔记1
UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言.你可能会问:这明明是一种图形,为什么说是语言呢?伟大的汉字还不是 ...
- UML大战需求分析阅读笔记2
全面深入理解客户的业务,才能帮助我们准确的把握客户的需要.而在理解客户业务的同时,我们往往需要做业务流程再造(BPR:Business Process Reengineering)的工作.BPR简单说 ...
- UML大战需求分析--阅读笔记02
这次阅读了第三章--类图.本章主要讲解了类图的基本使用规则和一些使用的例子.类图是UML中非常重要的一部分,作用很大. 类图之间有五种关系:关联关系,聚合关系,组合关系,泛化关系,依赖关系.关联关系有 ...
- UML大战需求分析——阅读笔记02
类图是理解面向对象思想的强有力工具,也是业务概念模型分析中最常用的一种UML图.对开发人员来说,并不是对每一个业务流程都很熟练,在客户那里传达过来的需求资料中,有很多术语会把思绪搞晕,他们之间错综复杂 ...
- 《UML大战需求分析阅读笔记》05
在需求分析的阶段,非功能需求也是十分重要的一个阶段.部署图和构件图就能很好的描述非功能需求. 部署图从硬件的角度.物理层次上进行系统的整体规划,包括当前的IT架构以及改造后的IT构架,包括:Node: ...
随机推荐
- 【IOS】模仿"抽屉新热榜"动态启动页YFSplashScreen
IOS最好要设置系统默认启动页面,不然进入应用就会突然闪现黑色画面 下图是我们要实现的效果: 总体思路:设置一个系统默认启动页面,在进入didFinishLaunchingWithOptions时, ...
- sql 脚本编写之路 常用语句(一)
1.用一个表中的某一列更新另外一个表的某些列: for ACCESS 数据库: update a, b set a.name=b.name1 where a.id=b.id for SQL Serve ...
- select中文字垂直居中解决办法
我们知道select标签在各个浏览器中的属性和各浏览器的支持各有些不同,从而造成select选择框在各浏览器的显示有不同,下面我们通过对主要 外形CSS属性的支持,打造全兼容select. 我对sel ...
- 在Web工程中引入Jquery插件报错解决方案
在学习Jquery插件的时候,遇到一个问题就是新建web工程后在WebRoot下引入Jquery插件的时候报错,不知道为什么好纠结,但是项目能正常运行,后来找到解决方案,在这里给大家分享一下. 解决方 ...
- C# DBHelper 第二版
1. [代码][C#]代码 跳至 [1] [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
- Spring Boot 乐观锁加锁失败 - 使用AOP恢复错误
之前写了一些辅助工作相关的Spring Boot怎么使用AOP.这里继续正题,怎么减少Spring Boot 乐观锁加锁报错的情况(基本可以解决). 1. 包依赖 spring-boot-starte ...
- 完整mybatis应用
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-/ ...
- Debian8.3安装flash插件,备用~~~
debian的浏览器iceweasel默认没有安装flash播放器,flash player这坨shit,容易使浏览器崩溃,但看在线视频又不得不用这货. 有两种安装方法: 一.安装压缩包 1.先去官网 ...
- gnu coreutils-8.25 for win32 static - Beta
gnu.win32-coreutils-8.25.7z 2.7 Mb bc-1.06.tar.gz coreutils-8.25.tar.xz diffutils-3.5.tar.xz gawk-4. ...
- Uiautomator--断言的使用
一.断言函数的使用 1.用例结构: 自动化用例结构,一般可以分成一个用例集,然后用例集下面会有非常多的用例组成,我们可以从多个用例中抽出一些用例组成测试套件. 2.用例的标准结构: setUp:初始化 ...