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

在大二的时候就已经在课堂上对UML也就是统一建模语言有了初步的了解,但是却不怎么明白,虽然可以画图可以完成任务,但是有些糊里糊涂。所以特地把这门书作为精读书籍,想要更加深度地学习UML。很多内容只用语言是难以形容的,所以还需要通过图形来表达清楚,提高我们的软件开发水平。而统一建模语言(UML)就承担了这样的一个责任,作为一套来帮助做好软件开发的工作标准。

学习这本书的目标:(1)掌握UML的基本语法;(2)掌握面向对象的分析方法;(3)掌握应用UML进行需求分析的最佳实践;(4)掌握软件需求管理的最佳实践。希望我可以在这本书里学到更多关于UML的知识。

UML图分为结构型和行为型两种。结构型的图描述的是某种结构,而这种结构应该是静态的,比如需要哪些类、哪些构件、系统最后的部署等;而行为型的图描述的是某种行为,是动态的,比如考虑软件和用户交互,类、构件、模块之间如何联系等动态内容。

结构图中了解了几种比较熟悉的图。类图是分析业务概念的首选,也是使用率最高的UML图。对象图往往只在需要描述复杂算法时才会使用,在需求分析工作中基本上不需要使用对象图,而是选择类图来处理,可以更加简洁容易理解。构件图就是用来描述软件内部物理组成的一种图。就跟一辆汽车由轮子、发动机等物理部件组成是一样的道理。部署图,顾名思义就是用来描述系统如何部署、本系统与其他系统是什么关系的一种图。在软件系统需要基于当前的IT基础环境来规划时,我们需要使用部署图来做这个规划。包图主要是用于类图非常庞大、不利于阅读时,来组织业务概念,可以更加简便、简介。

行为型的图中,有几种已经学过的图,而且比较重要,我就使用了更多的时间去学习。活动图表达的是一个顺序流程,还可以表达分支结构,我们可以把活动图看作是另一种流程图,是表达流程的三种图之一。状态机图呢,是从某个物品的状态是如何变化的角度来展示流程,重点围绕某个物品进行。顺序图表达的就是整个流程的顺序,是由几个环节组成,并且每个环节都有不同的角色来负责,顺序图可以清晰地表达整个过程所参与的角色和角色与角色之间的关系以及角色的交互就是顺序图的好处。通信图也就是我们学过的协作图,和顺序图相似表达角色之间的关系和交互,但是协作图强调的是相互之间的关系,而顺序图更强调先后顺序,在这我学到的另一点就是顺序图实用性更好一些,比通信图表达更多,所以相比协作图可以多加使用顺序图。用例图表达的是角色可以做什么事情,可以表达出系统的大部分需求。

虽然通过学习对这几种图都有所接触并且可以画出相应的图,但是我却有所怀疑,觉得并没有起到沟通的作用。在学习了第一章以后,我发现这是对UML的认识误区,UML其实不难读懂,反而可以直观、形象、严谨地描述出业务概念,有很大的威力,我还没有见识到。希望这本书可以成为我在实际学习中应用UML的帮手。

时间: 2024-10-12 03:25:46

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

01软件构架实践阅读笔记之一

软件构架实践是我们下学期要学习的一本书,所以我想将这本书作为我阅读笔记的一本书. 在这本念书的第一章是总序,在其中提到: 1.所谓"正确的"就是在指功能.性能和成本几个方面都能满足用户要求且无缺陷: 2.所谓"无缺陷"就是在指编码后对软件系统进行彻底的穷举测试修复了所有的缺陷,保证所编写的代码本身不存在缺陷: 但是我们知道编写一个软件,并不可能很好的达到这种的效果,所以应该做到作者提到的"创造.应用.和推广"战略.但是我存在这样的问题: 1.创造

软件构架实践——阅读笔记05

寒假生活 读<软件构架实践>13-15章后感 万维网(world wide web简称web)之所以是成功的,源于在其构架结构中实现所期望的质量属性的方式,以及在面临动态的新需求时,重新确立这些结构的方式.web的成功意味着仅仅几年内,构架商业周期已进行了多次反复循环,每一次循环都产生了新的商机.新的需求和新的技术挑战.从1990年最早提出万维网以来,其目标.商业模型和构架都发生了很大的变化.没有人--包括客户.用户和设计师能够预见到万维网所经历的爆炸性的发展和演变. 本书第四部分内容介绍了用

软件构架实践——阅读笔记06

寒假生活 读<软件构架实践>16-19章后感 由于计算无处不在,因此使用外部开发的组件来实现某些系统目标的可能性大大提高,采用商业组件的原因包括: 1.快速地构建系统 2.专业知识的要求越来越高 3.节约开发成本 商业组件的应用改变了对系统构架的设计,除了最简单的组件外,所有组件都有一个很难违反的假定的构架模式.构架需要满足组件的假定模式,因此,在理解选择组件的假定模式前,很难选择构架. 可以维持系统中的质量属性,即使该系统主要是用其设计和交互机制不在设计师的掌控之下的商业组件构建的也是如此.

03软件构架实践阅读笔记之三

在上一次的阅读笔记当中,提到了很多关于软件构架的东西,例如:软件构架的周期性等,但是大部分的都是系统的说明,现在,下面看的都是详细的介绍. 在刚开始是构架的产生:在刚开始的第一句话就说:"构架也是若干商业和技术决策的结果",从这句话就可以看出构架对于软件技术的重要性,而正如我们所知道的不管什么事情都会受很多因素的干扰,同样的,架构会受系统涉众的影响,在上一学期,老师就提到了什么是涉众.但是每一种的涉众对于软件的要求就会不相同例如 客户涉众:要求成本低.及时交互.不要改动的太平凡等等:

软件构架实践阅读笔记5

把构架作为软件开发过程基础的任何组织都需要理解构架在其生命期中的位置.在生命期模型中,构架设计就是从初步的需求分析开始逐步进行迭代,所以在了解系统需求之前,不能开始设计构架,但是刚开始设计构架时并不需要收集太多需求."构架的驱动因素"包括功能.质量和商业需求,为了确定构架驱动因素,需要识别优先级最高的业务目标,用质量属性场景或用例来表述这些业务目标. 用于设计构架以满足质量需求和功能需求的方法即属性驱动的设计(ADD).ADD是一种定义软件构架的方法,该方法将分解过程建立在软件必须满足

06软件构架实践阅读笔记之六

今天阅读的是第五章实现质量属性,在书中,存在这样的一句话:如果不顾及所有的质量属性,每一个好的质量属性都是有害的.在我认为,这句话就是最好的说明. 在上一章中,聊到的是系统的质量属性.该刻画是通过场景的集合进行的.在这一章中讨论的电话实现质量属性.刚开始提到了战术,在我们的理解中,战术是兵家所用的,但是在这,战术就是影响质量属性响应控制的设计决策.但是我们将战术的集合称为"构架策略",就是应对问题决策的集合.为我们所知的是:系统设计是由决策的集合组成的, 1.战术可以求精其他的战术:

软件构架实践读书笔记2

A-7E架构包括三个结构:模块分解结构.使用结构.进程结构.       模块分解结构:对于A-7E这样的系统发生改动可能是由3个原因造成的:软件必须与之交互的硬件发生了变化:所要求的系统外部可见行为发生了变化:完全由该项目的软件设计人员做出的某个决定发生了变化.所以A-7E又可以分为硬件隐藏模块.行为隐藏模块.软件决策模块.       使用结构:使用结构对于软件交互的方式进行了描述,首先使用结构的思想是建立在使用关系基础上的(使用关系:如果过程A的运行必须以过程B的正确运行为前提,那么过程A

软件构架实践读书笔记四

实现质量属性.这一章主要是针对第4章所说明的质量属性,来提供相应的实践战术. 首先我们要了解一下什么是战术.他可以使一个设计具有可移植性,一个设计具有高性能,而另一个设计具有集成性.实现这些质量属性依赖于基本的设计决策.战术就是影响质量属性响应控制的设计决策. 第一个是可用性的战术,可用性的战术主要是用于阻止错误发展成为故障,至少能把错误的影响限制在一定范围内,从而使修复变为可能.它的战术主要包括 1错误检测,主要有三个战术:命令/响应 ,心跳,异常. 2 错误恢复 ,它主要是准备恢复和修复系统

软件构架实践读书笔记五

很多事情都依赖于构架,构架评估能够提供一个相对低成本的风险移植能力.评估产生一份描述所关心问题以及支持数据的报告.评估要想成功,就应该具有以下属性:表达清楚的构架目标和需求,可控制的范围,经济高效,关键人员的可用性,称职的评估小组,可管理的期望. 评估有技巧而言,ATAM和CBAM方法就是提问技巧的示例.这两种方法都使用场景来询问评审中的构架如何对各种情况做出响应的问题.ATAM是一种进行构架评估的结构化方法,通过该方法可以得出一个构架不满足其业务目标的风险列表.ATAM由评估小组.项目决策者.

《软件构架实践》阅读笔记1

<软件构架实践>阅读笔记01 今天我开始阅读<软件构架实践>这本书,这也是我们下学期的一门学位课,所以我不敢懈怠,从头开始读这本书.在我的原来的思想中,软件构架应该就是在编写软件之前,先要以画图或者文档的方式,对要编写的软件进行一个大体构架的描述,然后根据这个构架去编写软件,今天读这本书,让我对软件的构架有了新的认识. 记得老师曾经说过,我们这一个专业不缺人,缺的是人才.而只有对编程技术熟练到一定程度,才能去写构架,而且还不一定能做好,所以还是要好好学习这本书. 首先通过前面的导读