说明:

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

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

开篇废话

摘要:本篇“废话”其实就是本书的序。我买书很少看序,直接翻到目录,而有时候偏偏遇上一些书写了一堆前言、卷首语、作者序、译者序、推荐序等,至少要浪费掉我几十秒时间来找目录。己所不欲勿施于人,欢迎你无视本序直接看目录,当然如果你有时间也不妨看看本序说了什么“废话”。温馨提醒一下,本序有点长噢!

我为什么要写此书?

10年前第一次接触UML,终于知道这是“神马”东西了!UML,Unified Modeling Language(统一建模语言)的简称呗!当时我那十分之一桶水都不到的UML知识,除了可以在一些不明UML真相的人面前吹吹水外,并不能当饭吃,更加不能在实际工作中发挥什么作用。我急需阅读一些UML书籍来填满我那十分之一桶水,问题是找不到实践性强的UML书籍!

实用的UML书是找不到了,但我的UML入门导师出现了!他是一位活生生的人,是我当时的直接领导。他上任后立马在实际项目中应用UML,直接使用UML与客户沟通,通过实际的工作让我体会到UML的强大威力,掌握了UML的实用技巧。10年来在实际工作中实践UML以及分享实践知识,让我形成了一套实践性强的UML知识体系。
我对UML的强大作用是非常认可的,但近年来我也遇到过一些对UML嗤之以鼻的技术高手,甚至在我主讲的UML课程中也有一些学员对UML提出了质疑。这些对UML不满的朋友,都曾经领教过某些使用了UML的文档,那些文档不知所云,而文档作者的解释显得理论有余实践不足,让他们产生不用UML反而更好的想法。

关于UML,业界存在这样的问题:
1. 缺少实践性的书籍,以及在一些理论化UML书籍培养出的一些UML理论家,让很多追求实效的朋友对UML产生了误解,甚至产生了“UML无用论”。
2. 一些学习UML的朋友,只掌握了UML的“形”,而不掌握UML的“神”。UML的“神”是指UML所体现的一种工作思路和工作方法,而UML神髓只能通过实践来体验和获得。
3. 公司中只有自己一人用UML,无法与别人交流,大家不用只有自己用,自然无法在工作中用起来,也无法发挥UML的作用。

直到现在,追求实战性的UML书籍仍然不多。不是所有朋友都能像我这样幸运,能在工作中有一位UML的实践高手来指导我的工作,让我通过实际的工作来掌握UML。我实践UML已有10年,关于UML大部分的知识来自我的实践,希望阅读本书的读者,能感觉到好象身边有一位实践导师在指导一样,希望通过本书能引领UML的实践之风, “活用UML”才是关键!

UML可应用于软件需求方面的工作,也可应用于软件设计方面的工作,本书介绍的是UML在软件需求方面的最佳实践。而软件需求方面的工作,可以分为需求分析与需求管理两方面。简单地说,需求分析是指如何全面、准确地获取需求;需求管理是指需求的商务处理(如:需求范围控制、需求签署、需求变更处理等)以及如何需求驱动地工作的问题。

需求分析工作普遍存在的主要问题有:
1. 客户需要的是一把梯子,系统分析员了解到的是一张凳子,开发人员做出来的是一张桌子,测试人员以为是一张椅子…… 各种角色所理解的需求是不一致的。
2. 客户今天想要一个苹果,明天改变主意要一条香蕉,但后天突然又说还是苹果好,到最后他想要一个西瓜!客户的需求变来变去,无法准确把握客户的需求。

需求管理工作普遍存在的主要问题有:
1. 客户越要越多,持续增加项目的工作量,导致软件公司面临亏本的危险。
2. 客户不愿意签署需求,喜欢让你先做出来看看,然后慢慢提意见。
3. 客户的需求变来变去,不但不签署变更协议,而且还要求你免费满足这些要求。

从我的经验看来,如何快速全面准确地把握客户的真正需求,是解决以上问题的根本途径,需求分析是首要的,需求管理是辅助的,两者占成功的比例大致是7:3。

本书的重点介绍的内容有:
1. UML如何帮助我们提升需求分析能力。
2. 需求分析的最佳实践,这里既有UML的内容也有非UML的内容。
3. 需求管理的最佳实践,这里主要是非UML的内容。

UML只是一种我们可以利用的工具,解决问题才是我们的终极目标。知识以用为本,本书融合了UML、非UML、需求分析及需求管理等方面的知识,希望能帮助你解决上述提到的UML业界问题、需求分析及需求管理的问题。

谁适合看本书?

对UML感兴趣、或者是想提升软件需求分析及需求管理水平的人士,均适合阅读本书。无论读者是Java技术流派、.net技术流派还是其他技术流派,只要工作中涉及到需求分析或者对UML感兴趣的,均适合阅读本书。

如果你是以下情况之一(当然不限于以下所列),你适合阅读本书:

1. 需求分析师(系统分析师):系统、全面、准确、深入地把握软件需求,是该类读者主要工作职责。本书介绍了活用UML挖掘需求的各种最佳实践,能帮助该类读者提升职业水平。

2. 项目经理:在中国的软件项目经理,经常要兼顾高难度的需求分析和烦人的需求管理工作,本书介绍了活用UML进行需求分析以及需求管理的最佳实践,有利于提升该类读者在这方面的工作水平,让项目经理更加轻松地面对这方面的工作。

3. 产品经理:提炼产品需求,提升产品竞争力是产品经理的主要职责,而UML可帮助产品经理提升需求分析及挖掘的能力。

4. 软件设计师及程序员:虽然不直接参与需求工作,但需要“需求驱动”地工作,把握真正的需求才能做出有灵魂的软件。本书介绍的UML及需求分析知识,有助于该类读者更好地理解和思考需求,做出更好的软件。

5. 测试工程师:测试工程师是往往是软件开发工作中的“弱势群体”,往往听命于程序员“你这样测就可以了,这个你不用管”!测试工程师经常得到的是“二手需求”(即由开发人员告知的需求,而不是自己亲自去向客户获取的需求),难以系统、全面、准确地理解和把握需求,而本书介绍的知识将帮助测试工程解决这个困境。

6. 实施工程师:实施工程师似乎干的都是“体力活”,但如果没有深厚的业务知识是难以和客户沟通和推动系统上线的。本书介绍的UML及需求分析知识,将有助于该类读者成为业务专家,提升自身价值。

7. 在校计算机相关专业大学生:学校中学到的知识可能过于理论化,希望尽快接触实际项目,体验真实的需求分析工作,可能是每位大学生的愿望!本书会让该类读者体验“残酷”的软件需求分析工作,学习各种实用的UML及需求分析、需求管理知识,为将来工作做好准备。

本书各章的“设计思想”

本书的学习目标如下:
1. 掌握UML的基本语法。
2. 掌握面向对象的分析方法。
3. 掌握应用UML进行需求分析的最佳实践。
4. 掌握软件需求管理的最佳实践。

本书的内容组织及表达经过精细设计,本书没有基础篇、进阶篇之类的划分,也不采用先理论后实例的组织方式,而是大案例贯穿整书,而小案例一个接一个,直接用案例来讲解UML基本及进阶语法、UML最佳实践、需求分析及需求管理的最佳实践等。
本书讲究实效,希望读者每阅读一页都能立马有收获,能马上在工作中应用所学,而不需要看了几十页甚至半本书才搞清楚来龙去脉。

下面简述各章的“设计思想”:

第 1 章大话UML:期望读者可以在很短时间内,快速了解各种UML是怎样一回事,什么情况下可以使用什么图等。读者不需要看完全书,只需要看完第一章,就能对UML有全面而清晰的认识,找准学习方向。

第 2 章耗尽脑汁的需求分析工作:本章揭示了需求分析的核心问题和基本道理,并介绍UML能在需求工作中发挥怎样的作用。

第 3 章到第 9 章:详细介绍了类图、对象图、活动图、状态机图、顺序图、用例图、部署图、构件图、包图,每一章主要讲述一种UML图,部分章节会介绍两种或以上的UML图。
知识以用为本,各章以问题为引子,通过案例、练习、思考和分析等,由浅入深地逐步介绍各种实用知识。各章内容大致是这样设计的:前三分一内容抛出问题及利用显浅的例子,让读者轻松快速地掌握相关的基本语法和知识;中间三分一内容会进一步抛出更复杂的例子,结合案例介绍进阶知识;后面三分一内容将问题深化,列出综合性更强或更加复杂的案例,提出更多来自现实工作的思考和解决方案。
各章的内容并不是完全独立的,越到后面的章节,越会介绍更多的UML图的综合应用,后续章节是基于前面章节的知识滚动向前的。

第 10 章UML共冶一炉——考勤系统的需求分析:本章是全书最长的一章,完整地回答了如何从零开始完成需求分析工作的问题。本章将前面学过的知识拧在一起,并且补充了大量的实用知识。

第 11 章需求分析的团队作战:团队作战对于需求分析工作是相当重要的,除此以外本章介绍了一些需求管理的实用技巧。

第 12 章说不尽的UML——UML补遗:一共有13种UML图,前面章节已经介绍了较为常用的10种,而本章介绍不太常用的三种UML图,并对全书进行了总结。

本书还附带一张光盘,光盘中有两个课程视频及相应的教材:
1. 活用类图,拥抱需求:本视频内容与本书第3章内容一致,但书中的内容更加具体和深入。
2. 做一回软件设计高手:这是一个活用UML进行软件设计的课程。
以上两个课程均由我讲授。

本书的前身是我的课程“活用UML——需求分析高手”,这是一个两天的课程,课程的全部和部分内容,我已经分享过多次。课程的上课时间有限,本书的内容将会比该课程更多更深入。
和讲师面对面交流是理想的学习方式,我期望读者通过阅读本书能达到甚至超过参加现场培训的效果。书比现场培训有两大优点:一是学习的速度你可以随意控制;二是你可以随时复习已学过的内容。但书的一大缺点就是:作者不能随时回答读者的问题!不过你可以到www.umlonline.org网站学习和提出问题,可以和作者以及其他朋友交流。

最后我要感谢我的UML启蒙老师,是他在实际工作中言传身地教会了我UML,让我受益匪浅,直到今天我还会经常想起他指导我时的情景!
希望本书能成为大家学习的良师益友,祝你学习愉快!

请看下一节……

作者:张传波

创新工场创业课堂讲师

华为某团队高级顾问

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

www.umlonline.org 创办人

《火球——UML大战需求分析》(0.1)——开篇废话的更多相关文章

  1. 火球-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% ...

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

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

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

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

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

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

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

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

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

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

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

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

  8. 《火球——UML大战需求分析》(第1章 大话UML)——1.5 小结和练习

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

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

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

随机推荐

  1. 超简单TAB切换

    <div class="tab-fbox2"> <ul class="title-list2 clearfix"> <li cla ...

  2. 关于js作用域

    我们知道在编程语言中,作用域的作用就是控制变量.参数的可见范围和生命周期. 同时内部函数也可访问外部的函数和变量. js中提供了函数作用域的功效,比如在函数中定义的变量外部是无法访问到的: funct ...

  3. vb 添加状态栏

    1.新建一工程2.添加"部件" ms windows common controls 6.03.将StatusBar控件加至窗体中4.右键点击该控件,选"属性" ...

  4. 几个DOM属性

    1,childNodes,包含这个元素全部子元素的数组: 2,nodeType, 元素节点的nodeType属性值是1:  属性节点............................2:  文本 ...

  5. ODI性能问题

        在这里分析下最近分析和解决ODI性能问题的点滴,用作参考.在介入该问题前,已经具备的基础知识包括了ODI基础,SOA理论和实施,特别是04年封闭四天的informatic ETL培训和实操.几 ...

  6. Oracle EBS-SQL (SYS-10):锁定表查询.sql

    /*死锁查询-1*/ SELECT o.object_name, l.session_id,l.process, l.locked_mode FROM v$locked_object l , dba_ ...

  7. __I、__O 、__IO volatile是什么?怎么用? .

    这是ST库里面的宏定义,定义如下: #define __I volatile const /*!< defines 'read only' permissions */ #define __O ...

  8. mysql错误-更改mysql.sock位置

    于Mysql在有时会出现mysql.sock定位误差,会造成不连接数据库. mac由当时的误差: 第一个变化my.cnf 位置/etc/my.cnf下一个,如果没有,那么.跟/usr/locate/m ...

  9. URL中增加BASE64加密的字符串引起的问题(java.net.MalformedURLException:Illegal character in URL)

    序 昨天在做一个 Demo 的时候,因为是调用第三方的接口,採用的是 HTTP 的通信协议,依照文档上的说明,须要把參数进行加密后增加到 URL 中.可是,就是这个看似普普通通的操作,却让我着实费了非 ...

  10. SQL Server索引进阶:第十五级,索引的最佳实践

    在本文中我们将推荐14条贯穿本系列的规则,这些规则帮助你为数据库创建最好的索引结构. 格式来自于<Framework Design Guidelines>.每条推荐用四个词来总结:Do做, ...