《UML大战需求分析》-读后感二
活动图将流成分解为一个一个的活动,通过活动的先后顺序来展示流程,而状态机图是从某个事物的状态是如何转变的角度来展示流程,首先确定事物,然后找出状态,状态之间的箭头叫转换,箭头上的文字说明了是什么事情导致状态发生的变化,每一句说明文字都带有主语流程涉及两种以上的角色时应该说明什么角色什么事情导致状态发生变化,不想明或者不好说明转换的具体原因只想表达状态A可以转换为状态状态B,那么可以只画箭头,不加说明。达到该状态后流程直接进入结束状态。
用例的主执行者在收集工作刚开始时和系统将要发布之前的一段时间内是重要的,二在这两个时间段之间他们是不重要的“....詹妮站在银行的ATM机前,天色很晚。她已经输入她的PIN,正在寻找确认按钮.....”,主执行者是詹妮,目标是在天色黑的情况下很快找到ATM机的确认按钮。
执行者的范围可以从系统的项目相关人员,用例的主执行者,被设计系统本身,用例的辅助执行者,内部执行者,在例子中公司没有注意系统的项目相关人员,导致系统没有提供完全的服务修改请求蜂拥而至。朱执行者是直接触发用例的执行者组织人或者是和该组织有关系的人,通过这些来描述用户主要场景,与我自己认知不同的是我认为用例必须用用例图来表示,不过语言文本的表示也是挺清晰的,一个编写良好的用例应该具有可读性,无论是业务人员还是软硬件开发人员还是设计人员都可以通过用例来描述需求,关接下来范围是指真正被讨论的系统是什么,主执行者谁有药实现的需求,层次指目标的高低,主成功场景一切都成功的情况下,在第一个一个人准备通过万维网购买股票的情况中这个用例应该是一次处理就能完成的目标处于用户级的目标而第二个则不能从一次中完成,需要多不的处理显然处于概要的目标,两个用例的共同之处有最小保证和成功场景和扩展场景扩展是执行过程中可能遇到的意外情况于用例黑盒子就是不用太关心具体的细节,说的挺对不同的方法适用于不同环境,软件的规模不同对用例的正规程度的要求也是不同的,正规的就按用例模式一项项添加场景,定义,而非完整的是只就场景进行描述,从用例中可以看出部分或者说是主要的需求,用例的目的原来是针对用户,让用户提前知道新系统是什么样的对于可行的需求大纲包括目的和范围、使用的术语、用例等等
之所以需求如此难是因为客户一方希望少出钱功能尽可能多,而软件公司的想法是多拿钱少干活,客户的想法是不断变化的,但这种变化总体是想最后目标迈进的,刻舟求剑的故事说明了对不断变化的客户想法让他们签字确认是无意义的,客户不断的提出问题时一种双赢的效果,说明客户在一直应用此软件,从而软件公司也能得到自己想要的经济等方面的‘赢’。客户肯定是对自己的领域了解的所以开始时他们的需求认知高于软件开发人员不过只有后来开发人员的需求认知高于客户才能真正把软件做好。需求分析的核心是解决软件有没有用的问题而软件设计的核心是解决软件开发成本的问题,越是底层的用户越容易提出需求规格的问题,越是高层越是容易提出需求方面的问题,需求与UML的结合,可以利用结构型的UML图对客户业务进行结构建模,对业务概念等静态结构进行系统化的梳理和提炼,就是对业务概念的梳理和提炼叫做结构建模,业务流程叫做行为建模。
关于面向对象和面向过程,开始的编程就是一行行孤独的代码,后来对于处理复杂的问题只是一行行代码显得杂乱,后来出现了方法,对一些行为的封装,通过调用方法来实现操作目的,后来结构化大型的软件已经不能仅仅通过函数调用来满足,面向对象的C++应运而生。
《UML大战需求分析》-读后感二的更多相关文章
- UML大战需求分析——阅读笔记03
读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...
- 《火球——UML大战需求分析》(第1章 大话UML)——1.4 如何学好UML?
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...
- 《火球——UML大战需求分析》(0.1)——开篇废话
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...
- 《火球——UML大战需求分析》(0.2)——目录
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...
- UML大战需求分析--阅读笔记01
本次阅读的书籍是<UML大战需求分析>,看了前两章的内容:1 大话UML,2绞尽脑汁的需求分析.这两章内容关联不大,分开描述. 第一章:大话UML 本章主要概述UML是什么,有什么内容.U ...
- UML大战需求分析——阅读笔记04
读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...
- 阅读笔记 1 火球 UML大战需求分析
伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本 <火球 UML大战需求分析>,首先 ...
- 《uml大战需求分析》阅读笔记05
<uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...
- <<UML大战需求分析>>阅读笔记(2)
<<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...
- uml大战需求分析阅读笔记01
<<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...
随机推荐
- 【敏捷实用工具】JIRA介绍以及使用方法
敏捷开发并不是由敏捷工具来推动的.但是没有敏捷工具的支持,就很难进行各种软件工程的相关事件,工具的作用是约束和流程,正确使用敏捷工具可以事半功倍,实践敏捷.近几年来敏捷开发催生大量敏捷工具的产生,在敏 ...
- 断言NSAssert的使用
1. NSAssert 断言(NSAssert)是一个宏,在开发过程中使用NSAssert可以及时发现程序中的问题. NSAssert声明如下: #define NSAssert(condition, ...
- Angular4 自制打地鼠游戏
前端工程师新手一枚,之前一直做些小设计,以及静态页面的编写工作.刚刚接触 Angular 没有多久,四个月前对于 Javascript也只是会写 alert 之流,现在进步算是很大,下面是自制的打地鼠 ...
- GATK--数据预处理,质控,检测变异
版权声明:本文源自 解螺旋的矿工, 由 XP 整理发表,共 13781 字. 转载请注明:从零开始完整学习全基因组测序(WGS)数据分析:第4节 构建WGS主流程 | Public Library o ...
- 在myeclipse等IDE中添加本地的dtd与schema约束文件
*针对没有网络无法正确引入dtd而使用不了提示的问题 (配置完后重启IDE) window->perferences- > 搜索xml c 找到xml catalog 右边点击 a ...
- Python ZipFile模块详解(转)
Python zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个cl ...
- 19-[模块]-xml
1.xml协议 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融 ...
- 第一章:什么是Linux
Linux可以分为四部分: Linux 内核:系统内存管理,软件程序管理,硬件设备管理和文件系统管理 GNU 工具:除了内核控制硬件系统,操作系统还需要一些工具执行标准功能,比如控制文件和程序.包括核 ...
- jquery validate 使用示例
var el = { $jsFrom: $('.js-form'), }; // 检测用户名是否存在 jQuery.validator.addMethod("isexist", f ...
- 【windows server 2008R2】windows server 2008R2自动重启
客户反映2018.3.20早上8点多数据库重启. 我找了半天原因,看了一下告警日志没发现什么问题.后来我再跟他确认,他说他练上去的时候正在准备桌面.这感觉像是服务器重启导致数据库重启. 于是我远程上去 ...