说明:

《火球——UML大战需求分析》是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张。欢迎你按文章的序号顺序阅读,谢谢!本书已经在各大网上书城及书店销售,欢迎你的关注。

------------------------------------------------------------------------------------------------------------------------------

第1章 大话UML

摘要:你只需要阅读完本章,就能从宏观上掌握UML的知识,在你的脑袋中形成一张UML的蓝图。你能全面了解UML的基本知识,UML的各种图的用途和概况,你能和实际工作遇到的问题联系起来,帮助你进一步规划下一步的学习。

1.5 小结和练习

小结

本章的主要目标是让你不需要阅读全书的情况下,就可以了解到UML的全貌,大概知道UML各种图的用途,同时给你说明学习UML的难点,为最终活用UML做好准备。

下面我们一起来复习一下本章的主要内容:

  • UML是Unified Modeling Language的简称,是软件开发界的一套标准,UML不仅可用于软件设计,也可以用于软件需求分析。但UML并不是强制标准,我们应该善用包括UML在内的各种标准来提高我们的水平。
  • UML可分为两类:结构型、行为型,结构性的UML有:类图、对象图、构件图、部署图、包图,行为型的图有活动图、状态机图、顺序图、通信图、用例图、时间图。
  • 类图是业务概念模型分析的有利武器,也是面向对象分析能力的强有力训练工具。
  • 对象图在需求分析工作中并不常用。
  • 构件图、部署图是分析IT基础架构、软件架构等方面需求的有利分析工具,但需要你具备IT基础架构、软件设计方面的知识和经验。
  • 包图可用来组织类图,在需求分析工作中应用的机会不是很大。
  • 活动图、状态机图、顺序图是分析业务流程的强力武器。活动图的表达思路与流程图很类似,很容易掌握,而且大部分情况下都可以使用活动图来分析业务流程;某流程如果是围绕某个物品进行,该物品在流程中转换多种状态,那么使用状态机图来分析是首选;用顺序图来分析的好处是能清晰表达整个过程所参与的角色,角色与角色之间的关系,各角色是如何被卷入这个过程当中的。
  • 通信图可以看作是顺序图的另外一种表达形式,顺序图更强调先后顺序,通信图更强调相互之间的关系。而从我的工作经验看,顺序图更加实用一点。
  • 有人会将用例图称作“公仔图”,用例图表达的是什么角色通过软件系统能做什么事情,我们可以使用用例图系统地表达软件系统的绝大部分需求。
  • 时间图是表示某东西的状态随时间变化而变化的一种图,我在实际工作中很少有机会能用到这种图。
  • 学UML之难,不在于学习语法,避免陷入UML的认识误区,多练习、多实践,培养良好的“think in UML”思想,锻炼面向对象分析的能力,成为活用UML的需求分析高手不远矣!

练习


1. 请你根据自己的实际情况,填写“你的UML斤两”调查表,此表能帮助你认识自己的UML水平。
选择最接近你情况的选项填写下表:
A. 还没有听说过该UML图,就算听说过也不了解具体情况。
B. 了解该UML图,但还没有在实际工作中应用过。
C. 在实际工作中能看懂这种UML图。
D. 在实际工作中能画出该UML图。
E. 对该UML图非常熟悉,能在工作中熟练运用。
F. 对该UML图非常熟悉,能在工作中熟练运用,而且能指导别人在实际工作中活用此UML图。

表 1.2 你的UML斤两调查表

2. 根据上题的调查情况,请你为自己设定UML的学习目标。

3. 书面表达能力是很重要的一种能力,良好的书面表达能力能让你更好地学习和应用UML,此题目训练和测试你的书面表达能力。下面题目请至少选择一题完成:
a) 选择你最熟悉的一个项目,简明扼要地描述出该系统能做什么事情。
b) 总结你最近一个月的主要工作,简明扼要地表达出来。
c) 总结你最近一个月的学习情况,简明扼要地表达出来。
将你的总结给至少一位不了解你总结内容的朋友看,你不要加任何解释,看看你的朋友能不能读懂你写的内容。根据你朋友的反馈,思考如何改进你的书面表达能力。

请看下一章……

作者:张传波

创新工场创业课堂讲师

华为某团队高级顾问

《火球——UML大战需求分析》作者

www.umlonline.org 创办人

《火球——UML大战需求分析》(第1章 大话UML)——1.5 小结和练习的更多相关文章

  1. 《火球——UML大战需求分析》(第1章 大话UML)——1.2 结构型的UML(Structure Diagram)

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  2. 《火球——UML大战需求分析》(第1章 大话UML)——1.4 如何学好UML?

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  3. 《火球——UML大战需求分析》(第1章 大话UML)——1.3 行为型的UML(Behavior Diagram)

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  4. 《火球——UML大战需求分析》(第3章 分析业务模型-类图)——3.8 小结与练习

    摘要:类图(Class Diagram)可能是用得最多的一种UML图.类图的基本语法并不复杂,你可能最多学习两三天就可以掌握,然而要真正做到活用类图则可能需要几年的功力.类图是锻炼面向对象分析(OOA ...

  5. 《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.1 需求分析面面观

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  6. 《火球——UML大战需求分析》(0.1)——开篇废话

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  7. 《火球——UML大战需求分析》(0.2)——目录

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  8. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  9. 火球-UML大战需求分析(体验版3.0.2).pdf

    火球-UML大战需求分析(体验版3.0.2).pdf http://files.cnblogs.com/files/happlyonline/%E7%81%AB%E7%90%83-UML%E5%A4% ...

随机推荐

  1. Zookper

    http://blog.csdn.net/yangbutao/article/details/11669609 http://www.oschina.net/code/snippet_255033_2 ...

  2. C++ ofstream和ifstream详细用法

    转载地址:http://soft.chinabyte.com/database/460/11433960.shtml ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就 ...

  3. android handler工作原理

    android handler工作原理 作用 便于在子线程中更新主UI线程中的控件 这里涉及到了UI主线程和子线程 UI主线程 它很特别.通常我们会认为UI主线程将页面绘制完成,就结束了.但是它没有. ...

  4. python 安装ssh和Scrapy

    在Python中没有专用的SSH模块,这需要手动的安装模块才行.Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,paramiko模块又依赖于pycrypto ...

  5. Linux下which、whereis、locate、find 区别

    我们经常在linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面的一些命令来搜索.which      查看可执行文件的位置 whereis    查看文件的位置 locate     配合 ...

  6. [转] iOS应用架构谈 网络层设计方案

    原文地址:http://casatwy.com/iosying-yong-jia-gou-tan-wang-luo-ceng-she-ji-fang-an.html iOS应用架构谈 开篇 iOS应用 ...

  7. Python之路 Day12

    day12主要内容:html基础.CSS基础 HTML HTML概述: HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标 ...

  8. Main方法的执行过程(转)

    要运行一个 main 方法 , 首先要知道 main 方法所在的 Class, 在命令行中指定这个 Class 名 Class Lava{ Private int speed = 4; Void fl ...

  9. lucene 索引查看工具

    luke 是 lucene 索引查看工具,基于 swing 开发的,是 lucene.solr.nutch 开发过程中不可或缺的工具.在测试搜索过程,进程出现搜不到东西或者搜到的东西不是想要的结果时, ...

  10. CMake初步(2)

    转自:<你所不知的OSG>第一章:CMake初步(2) http://bbs.osgchina.org/forum.php?mod=viewthread&tid=1229& ...