看到这个标题,产品的朋友们大概率会一头雾水,为什么一个产品要学这么“奇怪”的东西?产品把产品本职工作做好就行了吧?
且听我快速道来~
在我之前的产品经历里,经常会遇到一个场景,在我拆解(或调研)某个业务系统时,无法梳理出一个系统层面清晰的脉络,思考出整个业务和系统架构的融合方式,即使后期我梳理清楚了,也是一个“大力出奇迹”的方式,一步一步硬推出来的。
2024年11月06日
看到这个标题,产品的朋友们大概率会一头雾水,为什么一个产品要学这么“奇怪”的东西?产品把产品本职工作做好就行了吧?
且听我快速道来~
在我之前的产品经历里,经常会遇到一个场景,在我拆解(或调研)某个业务系统时,无法梳理出一个系统层面清晰的脉络,思考出整个业务和系统架构的融合方式,即使后期我梳理清楚了,也是一个“大力出奇迹”的方式,一步一步硬推出来的。
2024年11月06日
严格说起来,UML并不是一个方法,而只是一种语言。UML定义了基本元素,定义了语法,单数如果要做一个软件项目,还需要有方法的指导。正如写文章有文法,有五言律,有七言律一样,UML也需要有方法的指导来完成一个软件项目。RUP无疑是目前与UML集成和应用最好、最完整的软件方法。
RUP - Rational Unified Process,统一过程。统一过程并非是因为UML才诞生的,也不是最近才出来的软件方法,而是有着很长时间的发展,有着很深的根源。统一过程归纳和整理了很多在实践中总结出来的软件工程的最佳实践,是一个采用了面向对象思想,使用UML作为软件爱你分析设计语言,并且结合了项目管理、质量保证等许多软件工程知识综合而成的一个非常完整和庞大的软件方法。统一过程经过了三十多年发展,和统一过程本身所推崇的迭代方法一样,统一过程这个产品本身也经过了很多次的迭代和演进,在最终推出了现在这个版本。下图展示了统一过程的演进过程。
2024年11月06日
自己刚刚参加工作时,刚进部门第一周leader让我熟悉一个模块的调用过程,那个模块包含几十个类、有上百个方法,类和类之间关系错综复杂,各种方法调来调去,我就画了一整张纸,密密麻麻,睡醒觉第二天就已经看不懂了, 简直裂开 ,这种感觉记忆犹新,当时 leader说”工具不对“,然后从那个时候才开始接触UML。
2024年11月06日
UML 由3个要素构成: UML 的基本构造块(事物、关系)、图(支配基本构造块如何放置在一起的规则)和运用于整个语言的公用机制。
1. 事物。 UML 中有4种事物:结构事物、行为事物、分组事物和注释事物。
1.1 结构事物。结构事物是UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素。结构事物包括类 (Class)、 接口 (Interface)、 协 作 (Collaboration)、 用 例 (UseCase)、 主动类 (Active Class)、 构件 (Component)、 制 品 (Artifact) 和结点 (Node)。
2024年11月06日
最近有同学在面试时出现了类的UML图,但是却回答不上来,这里我来总结一下!
关系图主要有:
泛化(Generalization)
实现(Realization)
关联(Association)
聚合(Aggregation)
组合(Composition)
2024年11月06日
结合部署图,我们一般可以更直接地了解系统的整体架构,它描述了系统硬件的物理拓扑结构及在此结构上执行的软件。那么,怎么绘制好部署图?这篇文章里,作者便对部署图的定义、目的与绘制要点等方面内容做了总结,一起来看看吧。
2024年11月06日
新霸哥发现UML在面向对象的设计中的需求,相关行为、一些体系结构的实现提供了一套综合完整的表示法,但是由于使用的人比较少,初学者不容易快速入门,所以就导致了UML不是那么的受欢迎。
UML在开发中有什么样的意义?
架构师可以用UML非常清晰直观告诉开发人员,一套架构整体规划是什么样的,各自之间有什么样的关系,各自职责是什么。开发人员要用UML可以很好的告诉自己以及伙伴,自己的需要做什么任务,准备如何去做,需要什么帮助的资料。这些问题都可以通过UML非常清晰完整的表达出来,比起几十张的文档要简单实用;这些还可以作为追溯的一种方式,可以让项目或者功能有据可查,能够保留历史,方便查看。
2024年11月06日
UML类图是一种用于构造可视化面向对象系统的图形符号。统一建模语言中的类图(UML)是一种静态的结构图,通过显示系统中的以下特性来描述系统的结构:类,类的属性,类的方法,类与类的关系。那什么是类呢?类是对象的蓝图,对象和类是相辅相成的,而且面向对象设计的意义不在于对象,而在于类,因为我们使用类来创建对象。所以一个类描述了一个对象将会是什么,但它不是对象本身。例如:狗的属性有状态,颜色,名字,品种以及行为摇摆尾巴,吠叫,吃等。而狗是对象,你可以用一个动物类去定义狗这个对象。从中我们可以理解对象就是类的实例。
2024年11月06日
UML其实是一种简单、统一、表达软件中动态和静态信息的标准化建模语言,既能帮助设计者降低改进的成本,又能缩短设计时间。
目前UML在软件工程方面有所应用,它是一种进行面向对象程序设计的工具,用来把现实中的问题抽象成面向对象的解决方案,以便进一步的编码。简单来说它就是由一堆图组成的,包括:用例图、类图、对象图、状态转换图、活动图、时序图、部署图等等,并且这些类型会经常用到。
值得注意的是,一份UML设计不是一定包含所有的UML图,这些图存在的意义,是使软件分析和设计人员在过程中对目标问题有更深刻的理解和认识,是要使工程所涉及的所有人员(包括用户中的不同人)都能参与到工程的设计中来,UML为非专业编程人士理解软件的功能和构造,提供了一种直白、简单、通俗的方法。 也就是设计人员设计好了之后,拿这些图给客户看,他们能很容易的看懂,然后再给你反馈。
2024年11月06日
用例图(Use Case Diagram)是需求分析的产物,主要是用来描述用户是如何使用一个系统的,是用户所能观察和使用到的系统功能的模型图。
用例图
用例图主要用途:
用例图的主要目的是帮助软件开发设计者以一种可视化的方式理解系统的功能需求。用例视图可以清晰的显示出谁是相关的用户、用户希望系统能够提供什么样的服务,以及用户需要为系统提供的服务等等,也能够让软件开发人员更好地实现这些元素。