《UML实操实验室》 ——共同迈向“低成本制造好卖的产品”时代
Posted 京东成都研究院
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《UML实操实验室》 ——共同迈向“低成本制造好卖的产品”时代相关的知识,希望对你有一定的参考价值。
读者朋友们大家好,今天是2015年12月25日星期五,圣诞节,小编先祝大家圣诞快乐。让时光回退一点点,就在本月17日-19日,京东商城成都研究院发生了一件大事。公司斥巨资请来著名的UML【1】专家,UMLChina创始人——潘加宇【2】老师,为成都研究院的研发同事们进行了一场专业的建模知识培训。下面小编将带着大家一起回顾这精彩的三日时光。
传统的软件开发过程,大多靠工程师脑力建模,稍微用心一点的“高手”可能会画画草图,然后凭着口口相传,在团队中共享,或者在一代一代开发者身上传递。年深日久,后来的开发者已经完全无法想象系统最原始的模型,完全无法理解前几任开发者的思维方式。以至于系统代码风格迥异,代码冗余越来越严重,最终面临难以维护甚至无法维护的威胁。
UML的出现,扫平了这些障碍,让一切变得简单。
首先,按照“业务建模——需求——分析——设计”的核心建模工作流进行建模,UML涉及了软件开发的各个阶段,无论你是产品经理、项目经理、平面设计师、前端工程师、后端工程师,还是测试工程师乃至应用架构师。你都可以在UML中找到属于你的那一片天地。
其次,UML统一了软件开发的表示符号,只要你是接受过专业的UML培训的人,你都能看懂其中想要表达的思想,理解设计者的意图。而且你并不用担心自己画不出专业的图谱,正如潘老师说:“会编曲的人不多,但能看懂曲谱的人却不少”。
老实说,我初见这张图吓了一跳,莫非老师有什么魔法能让我们在短短三天内奇迹般地掌握十四种图的使用和制作能力?随着屏幕上间断出现的三个圈儿,刚刚吓跑的魂儿才渐渐回了位。潘老师告诉我们:“UML的元素虽然众多,但在日常开发中最常用最主要的莫过于用例图、类图和序列图三种。”因此,掌握这三类图的使用方法才是本次培训的重中之重。接下来的一段时间,潘老师结合真实项目给我们一步一步详细讲解并演示了各个环节细节。
一款好的软件,其最终目的无非是能给企业带来利益。只有销售(需求)提升了才有可能创造可观的利润,但是如果高销售伴随着高成本,那么就没有了利润可言。因此,我们需要科学的设计来降低成本——“利润 = 需求 – 设计”。只有分清需求和设计,才能防止利润缩水。
第一步,明确愿景,找准产品最有权力的涉众。在我看来,通常最有权力的涉众就是我们日常开发中常常提到的“需求方”,但是,众口难调,在我们的愿景中并不能涵盖所有的目标人群,我们要做的是从众多的目标人群中挖掘最具代表性,最具发言权的涉众——老大。涉众的排序是否正确,直接影响需求,找准老大很重要。
第二步,业务建模,选定组织,确定业务执行者和业务工人,理解并绘制业务序列图。业务建模的研究对象是组织,选定组织很关键。业务执行者存在于组织之外,是与组织直接交互的人群或另一个组织,而业务工人存在于组织内部。业务序列图用面向对象的思想描述业务流程,把业务流程看作是一系列业务对象之间为了完成业务用例而进行的协作。业务序列图把人当做系统,强迫思考背后目的。
第三步,理解需求,制作系统用例图,书写用例规约。需求的研究对象是系统,明确系统执行者是存在于被研究系统之外,并与该系统发生功能性交互的其他系统。明确系统内、外的边界在于责任,而不在于物理边界。遵循请求、验证、改变、回应四步曲,编写系统用例规约必须充分考虑受众利益,学会站在使用者的角度想问题。
第四步,分析。阅读用例规约,抽取对应于名词或事件的词汇并分类,抽象出合适的类和属性。确认类的属性是否直接描述类的特征并且对类的所有对象都有意义,分析类的泛化、关联和依赖关系,切忌为了泛化而泛化。当完成所有类的抽象之后,就应该依照类图分析各个类之间的关系,包括与自身的关系。然后在遵循“低耦合,高内聚”原则的前提下,根据业务序列图完成类的责任分配。
第五步,设计。建立数据层,精化业务层,完善表现层,完成类图与数据库结构映射。设计无需制图——编码即设计。开发人员容易局限在自己所处的领域,JAVA开发者通常认为“源代码”就是他们编写的自己或团队成员能看得懂的代码。然而,我们都误解了“源代码”的实际意义:源代码只是人脑需要编辑和阅读的介质,它可以是JAVA的形式存在,也可以是C++的形式存在,无所谓编程语言的限制。
潘老师的讲课风格幽默,措辞和案例很接地气,课堂气氛很是活跃。整个培训过程,潘老师采用有奖问答的教学方式,将发微信红包等方式融入课堂,大家更是热情高涨,其中也不乏有趣的故事。然而,深入掌握UML建模非朝夕之功,短短三日我们只能观其表,尚不能知其里,凿冰山之一角,得九牛之一毛。
最后,感谢潘老师带给大家的精彩培训,悉心讲解,感谢公司给予我们学习UML的机会,感谢京东技术学院对本次培训的大力支持。期待有朝一日我们再会,不再是你教我学,而是我们共同探讨UML给我们工作带来的便利,给企业带来的价值。
名词释义
【1】 :UML (Unified Modeling Language)又称统一建模语言或标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
【2】:潘加宇,硕士,UMLChina首席专家。1999年创建UMLChina,潜心研究需求和设计技能。2002年开始对外提供UML需求和设计的技术指导和培训服务。
以上是关于《UML实操实验室》 ——共同迈向“低成本制造好卖的产品”时代的主要内容,如果未能解决你的问题,请参考以下文章