伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑。对于我选的这本   《火球 UML大战需求分析》,首先,为什么选择这本书呢,其实,最开始我选择的是《实用软件需求分析》,可是后来大概看了《火球 UML大战需求分析》这本书前序之后啊,发现了,书中的作者一开始和我们有着一样的困扰,就象我们大学刚学到UML之后,学完一考试,考试前一复习,考完之后,就随手扔到了一边去。因为对于我们没有经历过正规的软件开发流程的大学生来说,UML对我们来说,作用并不大,甚至,我觉得,这个东西一点意义都没有。因为每次去做一个软件的时候,不用到UML也会轻易地做出来这个软件。当我看了作者的引言,作者一开始和我也差不多,对于UML知道一点点的知识,对于他的运用和作用也不是那么清楚,甚至工作两年以后才开始真正的去强化他,理解他。所以,这本书,可以加强你对UML与需求分析之间的认识,让你的需求分析可以通过UML变得更加的强。

  首先,作者是如何通过一个对UML一知半解的菜鸟,最终变成一个将UML完美结合到需求分析的大神呢?

毫无疑问,实践当然是最重要的,作者在碰到了自己的一个堪称UML达人的领导之后,领导带着他直接将UML运用到了实际的案例中,并在与客户通过UML交流的如鱼得水,这使得他对UML有了向往,于是跟着领导不断地实践,最终完成了这本书的创作。

  大致的看了一下目录,简要的把他分为三个阶段,第一个阶段是UML,第二阶段为UML+需求分析,最后一阶段需求分析。从一开始的对UML基础知识的学习,到中期的两种技术的结合,在到最后应用到实践中。通过UML加强对软件需求分析过程中的协作交流。

  知识预习

  1.    UML分为   结构型的图和行为型的图。所谓的结构,就是阐述了某些物体之间的某种关系,某种联系, 可以将它理解为静态的;而行为图,与之相反,可以理解成动态的,他阐述的是流程,过程。

    结构型的图有:类图,对象图,构件图,部署图,包图

    行为行的图有:活动,状态机图,顺序图,通信图,用例图,时序图

首先为大家逐个介绍一下以上多中途的大致的功能和用途

    类图    如图所示,类图在以后的学习,以后的需求分析中必须要拿来分析业务的概念,所以必须很好的掌握它的用途

      对象图      对象图其实就是上面的类实例化之后生成的对象,一般是用在软件开发中,而对于需求分析来说,一般不会使用,所以,可以简单地了解

      构件图     构件图就是组件图,就像汽车的组装一样,由很多不同的组件拼装成一个汽车,而在我们的软件中,也是由多个的部分来构成我们的软件

,简单地来说,构件图就是用来描述软件的内部的物理组成。而构件图在我们的软件需求阶段,为我们分析我们的软件基础的构架提供了很大的帮助,所以用处很大,必须掌握。

      部署图    部署图用来分析本系统的部署,本系统和其他的系统之间的关系。对我们分析软件的进本框架也有着很大的帮助,和上面的构件图一起来完成我们的基本框架和软甲架构的需求,对于客户的局域网,数据库,或者其他的平台软件等做一个合理的IT基础环境的规划。

    

      包图    包图,类图,对象图。  就像JAVA里面的项目一样,  类实例化之后成为对象,当类数目过于多,过于庞杂,就用包来“打包”。所以包图就是描述包和包之间的关系的。一般很少会用的到,可以做了解

  

      上面介绍到几个就是我们平时常用的几种结构图,也可以把它理解成静态的。下面来介绍行为图。

      

      活动图,状态机图,顺序图。这三个图都是用来描述流程的,但是是从不同的角度来进行分析,大部分情况下,要用到这三个中的至少两个来分析我们的业务流程

      活动图

    

        活动图用圆边框来表示各种活动,用箭头来表示活动的先后顺序,很类似我们初中所学的流程图。

      状态机图   它主要是从物品状态的变化的角度来描述活动的,如图,请假条的状态有待定,批准,拒绝。

        顺序图

      如图所示,一个点菜的顺序图,小人代表了角色,角色之间的箭头代表了他是如何交互的,而箭头的上下的顺序,表示了它的先后顺序。所以,顺序图可以展示出角色是怎样参与到这些活动来中的,角色与角色之间的交互。

        

      通信图

      一般在我们的需求分析中,用到通信图的时候不多,因为他没有顺序图表达的清晰易懂,所以多做了解。通信图侧重于相互之间的关系,而不是顺序。

        

        用例图

        这个很关键 ,它是用来描述什么样的角色通过我们的系统可以干什么样的事情,这个对于我们的需求分析来说十分的重要  ,必须要学会使用

        

        时序图

        作为最后一个要说的行为图,时序图来说,他也是基本使用不到的,但可以多做了解,他表示的是状态的变化随时间的关系,比如灯什么时间段开着,真么时间段关着。

        

以上就是我的第一次的阅读心得和对知识点的整理,希望可以活用UML来增强我们的软件需求分析

阅读笔记 1 火球 UML大战需求分析的更多相关文章

  1. 读书笔记---《火球:UML大战需求分析》

    书评 作为一本UML和需求分析的入门书来说还算可以,写的比较接地气,如果是做过很多项目的读者,很容易找到共鸣点. 美中不足:部分概念可能有错误,其中对于Component和Artifact的解释明显和 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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. Integer.toBinaryString()的源代码解析

    private static String toUnsignedString(int i, int shift) { char[] buf = new char[32];//i是要整形,这里得把它化成 ...

  2. Quartz 入门详解

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个, ...

  3. [转]word2vec使用指导

    word2vec是一个将单词转换成向量形式的工具.可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度. 一.理论概述 (主要来源于http://lic ...

  4. 查看 Apache并发请求数及其TCP连接状态

    查看 Apache并发请求数及其TCP连接状态 (2011-06-27 15:08:36) 服务器上的一些统计数据: 1)统计80端口连接数 netstat -nat|grep -i "80 ...

  5. C++之路进阶——HDU1880(魔咒词典)

    ---恢复内容开始--- New~ 欢迎参加2016多校联合训练的同学们~ 魔咒词典 Time Limit: 8000/5000 MS (Java/Others)    Memory Limit: 3 ...

  6. 导出Excel And 导出word

      <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx. ...

  7. 用于基于 RPM 的 Linux 平台的 Java

    成为超级用户,方法是运行 su 并输入超级用户口令. 卸载任何之前安装的 Java 程序包. rpm -e package_name 切换到所需的安装目录.键入:cd directory_path_n ...

  8. iOS开发:http中的get和post请求

    什么是 HTTP ? 超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信. HTTP 的工作方式是客户端与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用 ...

  9. Android 开发基础及环境配置

    2011年买了第一部安卓操作系统的手机,当时势头正盛的HTC不可思议(incredible),当时的想法就是想学习下智能手机开发,但是由于各种原因,客观上是公司的项目太忙了,忙于项目管理.团队建设.客 ...

  10. apache2.4 windows764 python cgi

    修改conf下的httpd.conf; 1:Listen和ServerName修改为相同的端口号,如8066 2:ScriptAlias就让他留在原位置,"${SRVROOT}/cgi-bi ...