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

此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用,突然发现uml特别有用处,而且作用特别的大,它可以在写代码之前,可以对代码有一个很好的框架分析。

对于第三章的内容来说,作者通过分析业务的模式,来了解uml图,面向对象比面向过程更高级,无需注重结构化编程和编程基本功。面向对象编程就是把代码放进一个个类中而已。将业务概念直接转变为类,赋予合适的属性和操作,就可以解决问题。需求阶段的建模与设计阶段的建模有很大的区别。需求建模是对业务和需求的提炼,优秀的需求建模是设计建模的良好开始,但是一个优秀的设计模式还需要考虑更多的设计上的事情,并不是将业务模型直接转化为设计模型就可以解决问题的。通过学习类的作用,什么是类,什么是类图,以及如何来识别一个类,类主要包括直线关系,也就是关联关系,包含关系,继承关系,以及作者说的所谓的依赖关系,类是某一样东西的抽象,但是对象是一个具体的东西,需求分析时,我们接触的是一个个具体的东西,比如说见到一个个具体的人,接触到一份份具体的业务数据等,这些具的东西其实就是对象。而我们分析需求不能就事论事,我们需要将这些对象提炼为类,这样的分析才更具有代表性。软件系统并不是用来解决具体某次事件中的一些问题,而是希望能够解决某一类问题。

类图是进行结构建模的重要工具,可对需求分别进行结构建模和行为建模,帮助我们更加透彻的理解客户业务,整合出符合系统目标的需求规格。对活动图的分析业务的流程中,活动图可以发现一些问题,通过这些问题你可能会牵扯出一大堆的业务逻辑,引发更深入的思考。在对活动图进行规划时,要开始画一些流程,明确该流程要达到怎样的业务目的,该流程有什么样的角色参与,哪些是主要的角色,排除异常,画出正常情况下的流程,这就是流程的主干,通常是线性的流程,线性流程是指一条线从头走到尾的流程。中间没有分支,明确流程主干中的活动涉及的角色,逐步增加分支流程,关键的分支流程都应该分析出来,但是要注意并不需要画出所有的异常情况,必要时通过注解或者一些文字说明,要控制活动的粒度,画出反映当前情况的流程,再画出优化后的流程,对比前后的差异,整理出业务需要调整的地方,客户管理需要改善的地方,尽快与客户确认。整体上规划好所有流程并优化好每一个流程是难度很高的工作,需求分析工作其实也是业务流程整合与优化的咨询工作,我们要为客户提供用价值的需求方案。

<<UML大战需求分析>>阅读笔记(2)的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    在需求分析的阶段,非功能需求也是十分重要的一个阶段.部署图和构件图就能很好的描述非功能需求. 部署图从硬件的角度.物理层次上进行系统的整体规划,包括当前的IT架构以及改造后的IT构架,包括:Node: ...

随机推荐

  1. VB调用存储过程 - CreateParameter 方法

    这次又转为VB6了.......  (┬_┬) ---------------------------------------------------------------------------- ...

  2. js 和 jq 控制 checkbox

    判断checkbox是否选中  1. $("#id").attr("checked") 在jquery 1.6前(含1.6),返回值是boolean类型的tru ...

  3. Java学习基础1

    Java 平台: Java API JVM  特点:可跨平台  Java 运行机制:           编译                         运行 Java文件-------> ...

  4. Linux驱动学习之常用的模块操作命令

    1.常用的模块操作命令 (1)lsmod(list module,将模块列表显示),功能是打印出当前内核中已经安装的模块列表 (2)insmod(install module,安装模块),功能是向当前 ...

  5. excel 把字符和数字分开

    主要是 len,lenb,left,right 函数 http://jingyan.baidu.com/article/95c9d20dac8540ec4f75616d.html

  6. 阿里云SLB后Nginx、Tomcat获取真实IP

    一.SLB后Nginx如何获取真实IP 前提:nginx作为slb获取真实ip是使用 http_realip_module,默认一键安装包安装的nginx没有安装这个模块需要重新重新编译nginx并加 ...

  7. Linux内核开机保留大块内存的方法

    http://www.linuxidc.com/Linux/2014-03/97952.htm

  8. oracle 空间大小查询

    一.表空间大小 select b.file_name 物理文件名, b.tablespace_name 表空间, b.bytes / 1024 / 1024 大小M, (b.bytes - sum(n ...

  9. Android菜鸟成长记8 -- 布局实践(微信界面的编写)

    前面我们简单的介绍了一下android的五大布局,那么现在我们来实践一下,写一个简单的微信界面 首先,我们新建一个weixin.xml的linnerlayout布局 我们日常使用的微信,从简单的方面来 ...

  10. AJAX - onreadystatechange

    [AJAX - onreadystatechange] 参考:http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_onreadystatechang ...