梳理你的思路(从OOP到架构设计)_UML应用:业务内涵的分析抽象&表达01

目录

[1、 系统分析(System Analysis)](#1、 系统分析(System Analysis))

系統分析的涵意

[业务(领域)知识 = 业务内涵](#业务(领域)知识 = 业务内涵)

业务(领域)概念

[2、举例(一) :东方传说](#2、举例(一) :东方传说)

UML与建模工具


1、 系统分析(System Analysis)

系統分析的涵意

许多人在学习系统分析(System Analysis)时,常迷失于其字面上的意义,以为分析的对象是「系统」,这是一种常见的迷思!其实,分**析的对象是系统所处的「业务领域知识」 (Domain Knowledge)才是正确的。**就如同计算机专家James Martin所说:

「 OOA不是要去分析实际的系统;而是用来分析人们对系统的专业认知和做法---- 从收集到

的领域概念来分析出业务内涵。 」

(Object-oriented analysis is not an approach that models reality. Instead, it models the way

people understand and process reality -- through the concepts they acquire.)

业务(领域)知识 = 业务内涵

所以系统分析的主要对象并非「系统」本身,而是分析专家们如何以其专业知识来叙述系统,亦即,专家心中的「 业务(领域)知识」才是系统分析的主要对象。所以焦点是业务知识(Domain Knowledge) , 而不是系统。

业务(领域)概念

  • 知识的组成要素是「概念」 (Concepts)。
  • 领域知识(Domain Knowledge)的组成要素是领域概念(Domain Concepts)。
  • 概念有它的属性(Attribute),概念之间有其关系(Relationship)。
  • **系统分析(或OOA)**就是要分析领域知识里的概念,并以UML的类别(Class)等示来表示之。
  • 概念(Concept)是抽象的,代表一群实体,是沟通的重要媒介。例如:「请买杯咖
  • 啡」,咖啡是个概念具有这种概念的人,都会了解这句话的意思。他会凭其经验而想到真实咖啡。
  • 概念代表一个群体---- 「类别」 (Class),人们藉由天赋的能力运用经验去想到其所代表的实际东西---- 「对象」 (Object)。
  • 例如您听到「买一只吉他」,这「吉他」概念让您想到经验中的吉他,而去乐器行买一只「真实的吉他」回家
  • 找出领域知识里的概念,就是找出软件系统的对象和类别。
  • 例如麦当劳企业有汉堡、薯条、玩具、特餐、点餐、订购玩具、顾客、员工、玩具商、分店等等的概念,将对应到软件系统的类别,所以在麦当劳的软件系统里就会有汉堡、薯条、玩具、特餐、点餐、订购玩具、顾客、员工、玩具商、分店等等的类别。
  • 「概念是人人互相分享的。概念提供了能让人人互相了解的共通词汇。」

(Concepts are shared by others.Concepts provide the commonvocabulary for

communication.)

  • 例如「收据」是个重要的商业概念。在商店里,「收据」代表能归还所购货品的权利,也是人们皆知道的,人们也知道实际收据的模样。这样的概念,自然成为人们沟通的主要字汇。

2、举例(一) :东方传说

UML与建模工具

  • 『 后羿从西王母处请来不死之药,嫦娥偷吃了这颗灵药,成仙了,身不由主飘飘然地飞往月宫之中,在那荒芜的月宫之中度着无边的寂寞岁月。 』
  • 虽然嫦娥可能是传说虚构的,并非事实(Reality),但是确确实实是我们心中的清晰概念,传说中的主角,所以是个重要的类别,表示如下:
  • 跟「嫦娥」具有密切关联的概念是:月亮和仙丹,常表达如下:
  • 不仅上述的名词概念而已,其攸关的动作也常是重要概念。动词常常代表一项事件(Event)的发生,而人们常从人、事、时、地、物等去描述一个事件的发生情境。
  • 譬如,吃仙丹就有动作(吃)的对象---仙丹,动作的主角---嫦娥,当然还有地点、时间,甚至仙丹来源等等。
相关推荐
晓风残月淡2 天前
UML和模式应用:类图建模详解
uml
仪***沿3 天前
Matlab/Simulink 下多风电场协调虚拟惯性与调频控制探索
uml
韩明君4 天前
UML在AI中的识别
ai·uml
Warren2Lynch4 天前
解锁 UML 潜力:Visual Paradigm AI 如何革新用例、活动图和顺序图的设计
人工智能·uml
AM越.8 天前
Java设计模式超详解--单例设计模式(含uml图)
java·设计模式·uml
AM越.9 天前
Java设计模式超详解--责任链设计模式(含uml图)
java·设计模式·uml
AM越.10 天前
Java设计模式超详解——抽象工厂设计模式(含UML图)
java·设计模式·uml
垦***耪12 天前
Labview软件工程师核心模块:智能数据管理与客户管理解决方案,序列号激活与三层加密验证,实...
uml
未可知77717 天前
软件设计师(下午题2)、UML与设计模式
算法·设计模式·职场和发展·uml
my烂笔头18 天前
vscode\cursor集成plantuml方法
ide·vscode·编辑器·uml