《UML大战需求分析》阅读随笔(三)

一:

需求中提到的各种业务概念、人物等,经过抽象后都可以视之为类。

平时遇到的人、物,我们将遇到的都是具体的人、物,也就如程序中的对象,是一个实实在在的东西。

当我们分析需求的时候,设计模型的时候,我们就需要将之抽象,也就是最关键的一步——提炼

提炼出这个东西,我们所需要的部分。

比如,在教室,主要存在两类人,学生和教师。

当我们做的项目为:人员管理系统

在如上的环境中,我们需要的是学生和教师的姓名和年龄、学号(工号)等这些利于了解基本信息的数据。那么,我们进行模型设计的时候,类图就应该主要包含这些东西。

当我们做的项目为:培训管理系统

我们需要的是学生的知识水平和接受能力,老师的知识水平、表达能力和讲课经验。这些才利于培训的分配和安排,那么设计的类图就应该包含这些东西

上面两个简单例子,就是区分在需求分析的时候,我们考虑的对象,在我们所做的项目下,我们需要从中真正需要的是什么,也是使用我们的软件的客户,真正看到的、使用到的是什么,要让其存在意义。

二:

类之间也存在关系

一切从直线开始,表示它们之间存在某种关联关系

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

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

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

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

三:

利用类图来描述一些架构,如公司的组织架构。

比如某公司由一个一个的部门组成,类图表达其组织结构可能如下:

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

这就更加形象了,有助于我们在项目进行中,分类和分层,更加清晰地看见其内部结构,成果思路也更有层次。

时间: 2024-11-07 21:54:48

《UML大战需求分析》阅读随笔(三)的相关文章

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

读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个开发人员,不仅要懂得如何从用户那里获取有用的信息,还要懂得怎么清晰地描述自己的想法,给客户呈现出一个结构完整.功能全面的系统原型.那么,这些必备的画图技巧,就会帮上很大的忙. 用例图是用处非常广泛,使用频率最高的UML图,它用来描述什么角色通过某某系统能做什么事情,关注的是系统的外在表现.系统与人之间的交互.

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

读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图主要用于建立对象类或对象的动态行为模型,描述系统中某一个对象所经历的各个状态.引起状态或活动转移的事件,以及因状态或活动转移而伴随的动作.但在以前的学习过程中,我们并没有学到过"伪状态",后经查阅知:伪状态是指在一个状态机中具有状态的形式,同时具有特殊行为的顶点.它是一个瞬时状态,用于构造

UML大战需求分析--阅读笔记3

这次阅读的是第四章,流程分析利器之 – 活动图.对需求有两种分析的方式:结构建模与行为建模.活动图是行为建模中经常使用的一种图.由流程图发展而来. 活动图中有一些名词:开始状态.结束状态.活动.判断.监护.合并.泳道/分区.分叉.汇合.对象.对象流.控制流.连接件.动作等.开始状态与结束状态表示一个活动的开始和结束,开始状态用实心圆圈表示,结束状态用空心圆圈加上圆心点组合表示.活动和动作都是用圆角矩形表示,并且活动和动作都表示流程中的一个步骤,但是,活动表示的步骤可大可小,而动作表示的步骤不可分

《UML大战需求分析阅读笔记》05

我阅读了一个例子,一个软件公司采用.NET技术体系研发了一套电力系统,该系统使用的是SQL SERVER数据库.但安装系统时,客户发现该系统使用的数据库是SQL SERVER时,要求必须使用Oracle,如此一来,软件公司只能修改系统,这样的软件改动工作量是很大的.所以一定会需要软件技术框架,如果忽视了在软件技术框架.软件架构上的要求的话,会给软件后期工作带来想不到的麻烦.很多项目往往在初期就会对技术框架有一定的限制,常见的情况有:1.新项目需要在原系统的基础上开发:2.新项目需要与某些存在的系

《uml大战需求分析》阅读笔记一

首次接触UML是去年的时候,当时是刘立嘉老师为我们讲授的,因为之前并没有接触到具体的项目,所以对UML这门课不是很重视,我想大多数人应该和我一样对UML没有给予足够的重视,这学期我们开设了软件需求分析这门课,又使我重新接触了UML,我选择阅读<UML大战需求分析>这本书来增强我对UML的理解. 根据作者所说他开始和我一样认为UML图并不能简化项目,反而成为了一个负担,但是在作者开始工作了以后渐渐了解UML对于项目的重要性,他可以明确的表达一个软件的功能,边界,交互过程.虽然没有学过UML的人并

2016年秋季-《UML大战需求分析》-阅读笔记2

<火球--UML大战需求分析>的第二章的语言很有趣,而且在开始介绍的地方有一个我们非常熟悉的一个关于"软件需求与分析"的案例,在从上大学的第一门课"信息科学技术导论"上,王老师给我们看过一张非常有趣的组图,讲的就是:客户需要的是一把梯子,系统分析员了解到的是一张凳子,开发人员做出来的是一张桌子,测试人员以为是一张椅子!需求分析是高难度和折腾人的工作,以一个示例全过程的了解需要的挑战.在通过这几天的阅读后我认为:软件需求分析存在的主要困难是由于角色的不同引

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

在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析>这本书,希望可以详尽的掌握UML语言. 首先我阅读了第一章,学习了什么时候使用什么图,并从整体的角度对各类图进行了认识.UML是一种语言,UML语言用于软件需求中更能直观的进行交流,易于理解.UML大体可以分为两类图:结构型的和行为型的.结构型的图描述的是某种结构在某段时间内具有固有的结构,是静态的:而行

02《火球——UML大战需求分析》阅读笔记之二

02<火球----UML大战需求分析>阅读笔记 在上一次的阅读笔记中,:我阅读的是开始部分和第一章,总结了其实UML不仅对于软件设计有很大的用处,对于软件的需求的分析也处于很高的地位.现在,读了第二章,真正的明白了UML对于需求分析的真正用处. 其实客户与我们所处的关系和医生与病人之间的关系,认识永远存在着偏差,就像对于用户和软件公司,对于需求的分析永远的存在着偏差.因为对于客户而言,每天的需求总是多变的,并且词不达意--à分析员的错误理解--à程序员的错误编码----à返回客户,客户的不满意

04《火星——UML大战需求分析》阅读笔记之四

在上一章我看了UML大战需求分析分析中的类图,在上课中老师也提到了类图对于需求分析的重要性.其中在软件需求分析中重要的有:类图(结构建模是最常用的UML图).时序图.用例图.现在看着这一章虽然没有那么的重要,但是在软件需求分析中也有很重要的地位: 在书中提到活动图可能用来表达流程的最常用的一种UML图,是行为建模的重要工具之一.在这就会出现一个问题:如果我们想要做一个项目,我们就要问自己几个问题:1.没有应用系统的时候,系统是怎样运行的(事物内容和事物之间的关系/流程相关的问题)2.应用了系统后

读《UML大战需求分析》有感一

读<UML大战需求分析>之开篇“废话”,我深切的感受到UML资深使用者的严谨性以及全面性. 首先,第一部分——“我为什么要写这本书”——这就是软件需求分析中的目标.谦虚的语言引人入胜,告诉我们“活用UML”才是关键,通过实战才能真正掌握UML的“神”——UML所体现的一种工作思路和方法.目标: (1)了解UML如何帮助我们提升需求分析能力: (2)需求分析的实践: (3)需求管理的实践. 其次,第二部分——“谁适合看这本书”——这就是利益相关者.严谨的说辞,让我们不偏安一隅,我是正在学习的大学