UML虽然是一种新的工具,但同时也代表了一种新的先进的思考方法,所以学习UML的关键不在于学习语法,而是要改变思维习惯。所以我觉得我还需要系统地培养几方面的能力,如书面表达能力,归纳总结能力,“面向对象”的思维能力和抽象能力。

我们现在也正在学习需求分析这门课,需求分析是我们做软件的第一步,可见其重要性。客户基本不懂计算机,但是我们却需要了解到客户的真正的需求,这是难点所在。而UML通过建模活动可以帮助我们更好地认识客户的业务和做好业务流程再造的工作。要想UML在需求分析中真正发挥作用,我还需要了解更多UML图的使用,活用UML进行结构建模和行为建模。

类图,我们都比较熟悉,也是用得最多的一种UML图。虽然我们画图的时候,觉得类图很简单,但是实际上要做到活用类图还需要很久的时间。说通俗的话,类图是帮助我们理清人、物品、事情并理清关系的用途。我们在需求分析中用到的各种业务概念、人物,抽象之后可以看作类。而构建类图,我们首先要找到类,类的属性,然后找出类之间的关系。即类图的类名、属性、操作三部分。虽然类图的基本语法很简单,但是识别类,表示类之间的关系就没那么简单了,也是我们使用类图的关键。类之间的关系主要有三大部分,直线关系、包含关系、继承关系。直线关系中我们通过一对一关系、一对多关系等分辨;包含关系中通过强烈程度来分辨;比如,如果部门没有了,员工也可以继续存在,所以是弱包含,反而如果员工也没有了,则是强包含。继承关系中有泛化关系和依赖关系,比如由A导出B,我们可称为泛化,A需要B协助来完成,但是依赖程度不一定就是依赖关系;我认为这也是类图中很重要的一部分。虽然学习了很多类和类之间的关系,但是我在这本书中真正认识到的两种类之间的关系其实是递归关系和三角关系。比如,对于文件夹和文件的关系,文件里面可以有文件夹,文件夹里面也可以有文件,是一种无穷无尽的递归状态,但是将包含关系指向文件夹本身时,这个问题就得到了完美解决。三角关系,比如公司、雇员和劳动合同,这里教给了我们一个画图的解决方法就是如果觉得两个类之间有关系的话,先画直线,如果觉得有关系却不会画,那我们可以首先找到他们的关联类,构成三角关系。要做真正的系统,我们可能要使用上百个上千个类图,所以一定要规划好类图。

我们可以通过画类图来训练我们的面向对象分析的逻辑思维,思想。我想用好类图,让它在需求分析中发挥作用,只是练习次数的问题。

02《UML大战需求分析》阅读笔记之二的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

    全面深入理解客户的业务,才能帮助我们准确的把握客户的需要.而在理解客户业务的同时,我们往往需要做业务流程再造(BPR:Business Process Reengineering)的工作.BPR简单说 ...

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

    UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言.你可能会问:这明明是一种图形,为什么说是语言呢?伟大的汉字还不是 ...

  8. UML大战需求分析--阅读笔记02

    这次阅读了第三章--类图.本章主要讲解了类图的基本使用规则和一些使用的例子.类图是UML中非常重要的一部分,作用很大. 类图之间有五种关系:关联关系,聚合关系,组合关系,泛化关系,依赖关系.关联关系有 ...

  9. UML大战需求分析——阅读笔记02

    类图是理解面向对象思想的强有力工具,也是业务概念模型分析中最常用的一种UML图.对开发人员来说,并不是对每一个业务流程都很熟练,在客户那里传达过来的需求资料中,有很多术语会把思绪搞晕,他们之间错综复杂 ...

  10. UML大战需求分析——阅读笔记06

    状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图主要用于建立对象类或对象的动态行为模型,描述系 ...

随机推荐

  1. Linux VFS分析(二)

    inode的管理:Inode-cache hash表inode_hashtable索引节点缓存 dentry的管理: 我们知道,若干dentry描绘了一个树型的目录结构,这就是用户所看到的目录结构,每 ...

  2. SaltStact自动化运维工具01

     什么是saltstackSaltstack是基于python开发的一套C/S架构配置管理工具使用SSL证书签方的方式进行认证管理底层使用ZeroMQ消息队列pub/sub方式通信    – 号称世界 ...

  3. Elasticsearch学习(一)————简单命令

    Elasticsearch一.简介**Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索.结构化检索和分析,并能将这三者结合起来.Elasticsearch 基于 Lucene ...

  4. 路飞学城Python-Day171

    Evernote Export 线性结构: python的列表操作 列表是如何存储的:顺序存储的,是一块连续的内存,内存是一堆格子,列表是一串连续的编号 32位机器上一个整数占4个字节 数组和列表有2 ...

  5. CSS - Span 下的width设置不可用?

    解决:Span 下的width设置不可用? 内联元素-span有根据内容自动伸缩的能力,当需要对其宽度设定时,出现无效的情况. Demo:http://jsfiddle.net/JSDavi/ad62 ...

  6. UVA1585 - Score(紫书习题3.1)

    如何计算你们的得分呢?,如"OOXXOXXOOO". "O"表示问题的正确答案,"X"表示错误的答案.那么它得分是由它自己和它刚刚以前连续的 ...

  7. LiquidCrystal库函数

    主要资料来源: 极客工坊-知识库 (LiquidCrystal库地址:http://wiki.geek-workshop.com/doku.php?id=arduino:libraries:liqui ...

  8. 计算机网络系统--Microsoft Lync 与 腾讯通RTX 对比(转载)

    原文网址: http://it.vsharing.com/226.html ------------------------------- 上海大学统一通信平台现在尚未实施,一直在测试微软的Lync. ...

  9. [Azure][Windows Azure介绍]C1了解Windows Azure

    本章介绍了Windows Azure平台,并介绍了该平台提供的不同的服务和解决方案.本章主要针对还不熟悉什么Windows Azure是和它能做什么的读者.如果你已经熟悉了Windows Azure, ...

  10. [using_microsoft_infopath_2010]Chapter13 SharePoint视图和控制板

    本章概要: 1.规划站点的外观,使用View和web部件 2.为登录进来的用户展示相关的表单. 3.为管理员创建视图 4.从表单中收集到的数据中创建报表