《UML大战需求分析》阅读笔记01

在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用。为了进一步的理解UML的用法,我阅读了《UML大战需求分析》这本书,希望可以详尽的掌握UML语言。

首先我阅读了第一章,学习了什么时候使用什么图,并从整体的角度对各类图进行了认识。UML是一种语言,UML语言用于软件需求中更能直观的进行交流,易于理解。UML大体可以分为两类图:结构型的和行为型的。结构型的图描述的是某种结构在某段时间内具有固有的结构,是静态的;而行为型的图描述的是某种行为,是动态的。例如:在软件开发前期的需求分析阶段,各种业务的内容既是静态的使用结构图描述的,相反业务之间的流程、过程是动态的,这就需要行为图进行描述。

(1)结构型图

包括了类图,类图是分析业务概念的首选,是使用效率最高的一种图。它可以直观的显示类的属性和操作。对象图,在软件开发中会使用,对象是类的实例化,至于在需要描述复杂算法才使用,但它在需求分析工作中并不常用。构件图,描述软件内部物理组成的一种图,一般与结构部署图一起使用。部署图,顾名思义就是用来描述系统如何部署、本系统与其他系统是什么关系的一种图。在软件系统需要基于当前的IT基础环境来规划时,我们需要使用部署图来做这个规划。包图,主要用途是打包类图。包图是避免类图庞大,造成不利于阅读,将某些类放入“包”中的图,组织类图。

(2)行为型图

活动图、状态机图、顺序图从不同的角度描述流程。活动图,表达一个顺序流程,还可以表达分支结构。状态机图,是从某个物品的状态是如何变化的角度来展示流程。顺序图,能够清楚地表达整个过程所参与的角色和角色与角色之间的关系以及角色的交互。通信图,就是我们学过的协作图,和顺序图相似表达角色之间的关系和交互,但是协作图强调的是相互之间的关系,而顺序图更强调先后顺序。用例图,表达啥角色通过软件系统做什么,系统的表达系统的绝大部分要求。时序图,表达的是某东西的状态随时间的变化的图,一般不使用。相比于其他的行为图活动图最接近我们的思维习惯。

在以前学习UML语言这门课程中,我只是认为UML只是画画图,并没有实际的作用。通过第一章的阅读我学到熟练的掌握UML语言有机会成为软件需求高手。它在真正的软件开发过程中,UML能直观、形象、严谨的地描述出 业务概念、业物流程、客户的期望和需求。UML对提升软件需求分析能力有很大的帮助。

时间: 2024-08-02 11:03:26

《UML大战需求分析》阅读笔记01的相关文章

<精通JavaScript>---阅读笔记01

下面是阅读精通JavaScript书做的相关笔记. JS中的函数重载 函数重载必须依赖两件事情:判断传入参数数量的能力和判断传入参数类型的能力,在js中每个函数都带有一个仅在这个函数范围内作用的变量,称之为参数argument,它是一个包含所有传给函数参数的伪数组,所以并不是正的数组,但是我们不可以去修改它.其实这个就相当于一个池,将参数全部都保存在里面,之后在用的时候去取,只是这个池我们看不见.是语言自己去找. JS中2种常见的类型检查 :typeof()操作符 typeof n==”stri

ijkplayer阅读笔记01

ijkplayer阅读笔记01 1.这章解决ijkplayer播放库初始化部分,直接贴上流程伪代码如下: IjkMediaPlayer_native_setup { ijkmp_android_create(message_loop){ mp->ffplayer->vout = SDL_VoutAndroid_CreateForAndroidSurface();{ SDL_VoutAndroid_CreateForANativeWindow();{ vout->create_overla

掌握需求过程阅读笔记01

掌握需求过程 第一章什么是需求 阅读笔记 我们为什么要进行需求呢? 这样是为了使效率更高,并且减少错误步骤所不必付出的代价. 在我们构造产品之前就要知道客户的需求是什么,大多数的组织都是通过系统分析来进行的,但是需求过程与系统分析并不是一回事,虽然他们之间有联系,但并不完全相同.除了系统分析以外,需求也是很有必要的.他可以对你的分析师生涯有更进一步的促进.当我们接触到一个新的产品时,业务事件和使用情况逐渐清晰了起来,系统分析可以对产品进行更清楚的建模,并为需求过程提供有价值的反馈.对需求的了解增

【ShaderLab】Cookbook阅读笔记01

<Unity Shaders and Effects Cookbook>阅读笔记,找了很久ShaderLab的教程......结合官网教程学习ShaderLab. 用一个最简单的Shader展示一下shader代码的结构: 第一行代码Shader后跟的是shader的名字,在给Material添加Shader时根据shader名找到对应shader: 以上这个再简单不过的Shader由Properties部分和SubShader部分构成. 其中Properties定义了一系列Shader中用到

《需求工程--软件建模与分析》阅读笔记01

该书为<需求工程--软件建模与分析>第二版,骆斌主编,丁二玉编著,高等教育出版社. 该书分为了五部分,今天的阅读笔记来谈谈第一部分绪论. 这一部分主要讲了:1.需求工程导论  2.需求基础  3.需求工程过程 第一小部分需求工程导论讲了软件生产中的需求问题,即:需求问题是当前软件开发面临的主要问题(无论是实践者的亲身体会还是各种调查数据),需求因素对项目的成败具有至关重要的影响.该书中也指明了综合上看来,需求因素对成功项目的影响指数为53.9%,对问题项目的影响指数为55.6%,对失败项目的影

《架构之美》阅读笔记01

一.阅读内容 第一章架构概述 第二章两个系统的故事:现代软件神话 二.笔记总结 (1)什么是软件架构? 其实在好多学科中都用到了"架构"这个词,大都表达了对所创造作品的描述,或者是对创造过程的计划.但是在软件专业中还有更具体的表达.软件架构不是一个简单的实体,软件架构师需要用多分文档来对软件的行为和结构进行描述,以此来形成软件架构.<软件架构实践>一书对软件架构的规范化定义是这样的,一个程序或计算机系统的软件架构是系统的一种结构或一组结构,包含了软件元素.软件元素外部可见的

程序员修炼三部曲阅读笔记01

看了程序员的修炼三部曲,感触颇多. 这本书主要分为九章,第一章绪论的部分主要是讲述本身一些结构,以及本书对一般的人的作用.第二章将根据徳雷福斯模型(稍后介绍)将人分为新手到专家的五个阶段.你可以根据描述准确的定为自己所处的阶段.三四五章是将自我认识的部分,主要是正对大脑.第三章讲述的是认识你的大脑,会让你对大脑的工作模式有更好的认识,之后当然是实践的第四章-利用你的右脑.大脑也会范错误,需要我们调试,就是第五章的调试你的大脑.在对大脑有了深刻的认识之后当然是关注如何提高了.后面的几章就是关于提高

javascript学习笔记01

第一天 由于自己学习过于草率,导致重新再走一遍学习流程的恶果,前段时间将html css 等相关前端比较基础的东西学了一遍 走一遍之后就觉得html和css就像是英语中26个大小写字母一样 是每一个web开发程序员必须懂的东西  不管是现在学习的javascript还是以后要学习的php都要将所编写的代码嵌入到我们的html文本中的  是在他上面运作 起作用的  总的来说再次走了一遍 觉得html没有太强的逻辑性 多的就是多实践多积累 将元素和属性名记到指尖中去  关键是布局的兼容性问题是一个难

《构建之法》阅读笔记01

这一学期,开始了健民老师的软件工程概论课,早就听闻健民老师的软件工程概论课很牛,听了两节课下来,果然如此. 老师引用了<构建之法>书中的理念,认为软件不是靠着理论堆积而成,而是一个个实发的项目组成的,在课上,老师引用了书中的例子来形容学生和老师的关系. 1.餐馆服务员/食客 2.老板/雇员 3.保姆/幼儿:像保姆一样操办一切 4.哥们/哥们:一起混吧 5.路人甲/路人乙 6.狱警/犯人:想法点名/想法逃课 7.健身教练/健身学员:鼓励成长 当然,大家都更加喜欢7,希望能够获得更多的编程技能和知

《大型网站技术架构核心原理与案例分析》阅读笔记-01

通过阅读该书籍我们能够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问题及解决方案. 在第一章第一篇大型网站架构演化中了解到与传统企业应用系统相比,大型互联网应用系统具有高并发大流量.高可用性.海量数据.用户分布广泛,网络情况复杂.安全环境恶劣.需求快速变更,发布频繁.渐进式发展等特点:大型网站架构演化发展历程经历了初始阶段的网络架构它的应用程序.