分析业务模型类图新书《火球UML大战需求分析》试读第3章张传波(Fireball)

摘要:类图(ClassDiagram)可能是用得最多的一种UML图。类图的基本语法并不复杂,你可能最多学习两三天就可以掌握,然而要真正做到活用类图则可能需要几年的功力。类图是锻炼面向对象分析(OOA:Object-OrientedAnalysis)和面向对象设计(OOD:Object-OrientedDesign)思想的重要的工具,是业务结构建模的重要工具。本章将会有大量的实战练习,你的OOA思想将会接受极大的考验和提升。

本文全长1万6千多字,并且有几十张插图,本文来自新书《火球——UML大战需求分析》的第3章(本书已经发售)。

温馨提示:本文有点长,麻烦你收藏一下慢慢阅读,谢谢!

大纲:

3.1面向过程与面向对象3.2类图的基础知识3.3类之间的关系3.4演练类之间的关系3.5类的“递归”关系与“三角”关系3.6考试管理系统——类图综合训练3.7关于对象图3.8小结与练习

3.2类图的基础知识

图3.3学生与讲师2说明:上面的类图同时表达了类名和类的属性。属性没有标记public还是private,也没有被标记属性的类型。业务建模时类图的属性可以看成全部是公开的,也不必标记属性的类型。这个练习的场景是:你需要做一个培训管理系统,所以你识别出类以及他们的属性的时候,务必从这个角度出发。如果你得到的类是男人和女人,那就可能没有什么意义了。如果你识别出来的属性是身高、体重,这些属性无论是属于学生还是老师,对于培训管理系统来说,可能是没有什么价值的。思考你识别出来的类的属性,能帮助你判断这个类是否合适。每一个类应该具备能表征它核心特点的关键属性,而一般的无特别意义的属性,可不必标记进去。类图的基本语法是很简单的,但要体会什么是类,准确识别出类就不是那么简单了。实际工作中,我们需要将需求调研中了解到的所有业务对象、人物等列出来,画出他们的关系,反复推敲,逐步才能得到合适的业务模型。下面我们将开始学习类之间的关系。

3.3类之间的关系

3.4演练类之间的关系

3.5类的“递归”关系与“三角”关系

图1.34公司、雇员、劳动合同的关系2这个图可能最体现它们的“三角”关系了,关联类也可以表达成这样的方式。但我在实际工作还是以关联类的方式来表达,我觉得关联类的表达方式更加贴切和专业一点。在具体的需求分析工作时,如果你发现三个类形成了类似该图的“三角”关系,你可以思考其中一个类是不是可能是关联类,但要注意并不是凡是出现了“三角”关系就一定会有关联类。怎么样?本节的难度已经更上一城楼了!类图的最大魅力在于帮助你发掘和提炼业务模型,其他的非UML图可能是做不到的。当然真正要做好发掘和提炼,还是需要你的深厚功力了!下小节,你将要完成一个综合练习,应用你所学习到的全部类图知识。

3.6考试管理系统——类图综合训练

3.7关于对象图

3.8小结与练习

图3.41“三角”关系示例一个个的练习除了让你巩固学到的类图知识,更重要的是通过具体的实例让你体会用类图分析问题的思路和方法。类图分析需求的基本步骤:1)识别出类。2)识别出类的主要属性。3)描绘出类之间的关系。4)对各类进行分析、抽象、整理。类实例化后就是对象,表达这些对象及对象关系的图,就是对象图。需求分析中很少需要使用对象图。多思考、多练习、多讨论、多总结,不断锻炼和提升你的面向对象分析能力吧!练习1.一辆小车有4个轮子,请用类图表示出来。2.一辆货车也有4个轮子,但货车的前轮和后轮不太一样,用类图如何表示?3.请用类图表示项目组的人员组成。提示:请思考项目组包含怎样的角色?项目组架构是树形架构还是网络架构?4.你要设计一个论坛,请用类图表达出分区、版块、子版块、帖子等论坛常见元素的关系。5.请在你做过或者正在做的项目中挑选一个,用类图来分析该项目的需求或者部分需求。

THE END
1.工作分析基本对象是()。为整个工作分析提供指导、规划、设计工作分析的程序、步骤,充当工作分析的指导者和培训师角色的是()。 A.工作分析小组 B.工作分析对象 C.工作任职者 D.工作分析客体 点击查看答案进入题库练习 单项选择题 进行工作分析的必备条件,也是工作分析的基础和前提的是工作分析的工作分析的()。 A.客体 B.小组 C.主体 ...https://m.ppkao.com/mip/tiku/shiti/10835414.html
2.工作分析的内容工作分析的含义 工作分析是人力资源管理的基础,它贯穿于人力资源管理的全过程,工作分析的结果是产生工作说明书。工作分析的内容可以概括为“6W1H" 7个方面。 1.工作内容(What) 工作的具体内容是什么?主要包括:工作的职责、工作的结果、工作结果的标准等。 https://www.qinxue365.com/HRP/42482.html
3.浅谈产品思维什么是产品思维以及如何刻意训练产品思维?找准心仪对象的核心需求及辅助需求,是如何来提升自我的前提。 换句话说,要提升自我,我们就需要对自身先来个需求分析。 通常我们做产品的时候,我们会利用KANO模型(Kano model)来进行需求分析,能够有效帮助PM更加系统地梳理需求,做需求的分析和提炼,提高效率。 https://www.niaogebiji.com/article-28704-1.html
1.浅谈工作分析在人力资源管理实践中有哪些重要作用及如何有效执行...人力资源管理者除要根据工作分析方法本身的优缺点来选取外,还要根据工作分析的对象来选择方法,比如针对管理者的工作分析可采用管理职位描述问卷方法(MPDQ)。 综上所述,为使工作分析在人力资源管理实践中得到有效执行,我们需要将工作分析的理论与实践积极进行结合,并不断创新,特别需要注意和把握好以下几个方面具体实施:...https://www.jianshu.com/p/9893a0ae73d0
2.工作分析的对象就是()。81刷刷题APP(shuashuati.com)是专业的大学生刷题搜题拍题答疑工具,刷刷题提供工作分析的对象就是( )。81A.任职者B.工作分析者C.工作环境D.职位的答案解析,刷刷题为用户提供专业的考试题库练习。一分钟将考试题Word文档/Excel文档/PDF文档转化为在线题库,制作自己的电子错题https://www.shuashuati.com/ti/81400a77d0ee4c95bedfc42f67e7eb96.html?fm=bde034c183589068614c8e05881bac5fea
3.关于印发《2018年中国公民中医药降文化素养调查湛江市工作方案...(二)分析我市中医药健康文化素养影响因素,确定优先工作领域; (三)评价中医药健康文化素养促进工作效果; (四)提升中医药健康文化素养促进工作的能力和水平; (五)为制定中医药健康文化素养相关政策提供科学依据。 三、调查方法 (一)调查对象 15~69岁城乡常住居民。 https://www.zhanjiang.gov.cn/zdlyxxgk/shgy/jbylws/content/post_1373938.html
4.业务定制自定义对象管理CRM全面解析CRM系统场景分析 由于系统没有工单、费用这个功能模块,需要首先自定义名为“工单”“费用”的对象; 其次,工单对象是和客户/销售订单关联的,需要定义它们的关联关系; 另外,由于工单存在投诉或者咨询两种业务类型,因此可以定义两种不同的业务类型——客户投诉、客户咨询,并针对不同的业务类型设计不同的界面(字段)。 https://www.xiogu.com/manuals_73/184.html
5.个案工作各阶段的工作重点⑦联系方式,包括直接见面和不直接见面的联系方式。为了制订一个完备的服务计划,社会工作者需要做到5点: ①准确分析服务对象的需要和问题。 ②明确服务工作的目标、阶段和方法。 ③熟悉服务机构提供的具体服务。 ④清晰认识社会工作者具备的能力。 ⑤了解服务对象拥有的资源。 https://www.yjbys.com/edu/shehuigongzuo/334521.html
6.财务总监亲述:理解财务分析的关键点,对财务工作很有帮助如果报告中对此不做要求,责任落实可能就是一句空话。如果财务分析不能改进工作,不能成为管理的工具,分析报告将成为会计人自说自话,而丧失应有的价值。 2 财务分析报告的框架与思路 1、报告阅读的对象要明白并分析 报告阅读对象不同,报告的写作应因人而异。比如,提供给财务部领导可以专业化一些,而提供给其它部门领导...https://m.thepaper.cn/newsDetail_forward_20379510
7.帮扶工作计划(通用17篇)在实施教育均衡发展工程中,教师结对及帮扶工作为老师的成长搭起了互相学习、共同进步的平台。在他们的指导和关心下,我有幸承担帮扶姚成琳老师的工作,本着“认真、踏实、团结”的工作态度,为了扎实有效做好这项工作,我们拟制定如下工作方案。 (一)对象分析 ...https://www.cnfla.com/gongzuojihua/2853433.html
8.Java中GC的原理是什么Stop The World:GC过程中分析对象引用关系,为了保证分析结果的准确性,需要通过停顿所有Java执行线程,保证引用关系不再动态变化,该停顿事件称为Stop The World(STW) Safepoint:代码执行过程中的一些特殊位置,当线程执行到这些位置的时候,说明虚拟机当前的状态是安全的,如果有需要GC,线程可以在这个位置暂停。HotSpot采用主...https://www.chenxunyun.com/help/help_info_446.html
9.深入理解JVM内存篇jvm和内存的关系12.从逃逸分析角度分析对象内存分配 1.堆是分配对象存储的唯一选择嘛? 在java虚拟机中,对象在java堆中分配内存的,这是一个普遍的常识。但是有一个特殊的情况,那就是如果经过逃逸分析后发现,一个对象并没有逃逸出方法的话,那么就可能优化成栈上分配。这样就无需再堆上分配内存,也无须进行垃圾回收了。这是最常见...https://blog.csdn.net/weixin_45596022/article/details/110413194
10.网络中心当今社会,以互联网、大数据、云计算、物联网、人工智能、5G、VR/AR、区块链等信息技术为代表的科技革命对人类生活、工作、学习等各个方面产生了巨大的影响,在教育领域数字校园已成为办学的基本条件,特别是职业院校数字校园已成为支撑教育教学、沟通校企合作、促进师生发展的必需环境。 http://www.xtzy.com/wlzx/detail.jsp?public_id=153330
11.西师版四年级上数学教学工作计划(通用16篇)在这个学期的培优辅差活动中,培优对象能按照计划提高计算与分析的综合数学能力,成绩稳定在65分左右,并协助老师实施辅差工作,帮助后进生取得进步。辅差对象能按照老师的要求做好,逐步提高后进生的计算能力,帮助他们树立自信心,教会他们正确的学习方法,训练后进生的`口头表达能力,课堂上创造情境,坚持不懈地关爱后进生...https://www.oh100.com/kaoshi/jiaoxuejihua/618733.html
12.社工活动计划书范文(精选12篇)我们此次项目的工作对象是社区中的残疾居民。这些人员普遍表现为生理上存在残疾,缺乏自我照顾、正常生活的能力。针对这一现实情况分析制定工作方案时,社区照顾模式成了社区社会工作者介入社区工作的方法之一。 社区照顾是动员社区资源,运用非正规网络,联结正规服务所提供的服务支援和设施,让有需要的人士在家里或社区中的家...https://mip.wenshubang.com/jihuashu/642654.html
13.大型人群队列现场调查管理技术规范(T/CPMA0012019)队列研究的工作包括进行现场调查,建立研究队列的基础数据库和血液样本库,对研究对象进行长期追踪随访,最终形成科学分析报告。现场调查是大型人群队列建设和长期维持不可或缺的重要基础,不论是基线调查进行的现场调查,还是随访期间开展的重复性现场调查,对于十万人及以上规模的大型人群队列来说,都是一项极具挑战的工作。https://www.medsci.cn/article/show_article.do?id=54971e9964ea
14.JAVA中VMjava中vm是什么意思doscommand的技术博客3.为每个类创建Class对象。 链接 链接有三个步骤。 验证:验证字节码文件是否正确,是否被污染。 元数据验证,对字节码文件描述的信息进行语义分析,以保证其描述的信息符合java语言规范的要求。 例如这个类是否有父类,是否继承不允许被继承的类(final修饰的类)等。 https://blog.51cto.com/u_12935/7306886