梳理你的思路(从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)的发生,而人们常从人、事、时、地、物等去描述一个事件的发生情境。
  • 譬如,吃仙丹就有动作(吃)的对象---仙丹,动作的主角---嫦娥,当然还有地点、时间,甚至仙丹来源等等。
相关推荐
qq_529835351 天前
1 分钟掌握 PlantUML,快速绘制 UML 类图!
uml
北京理工大学软件工程2 天前
软件工程-UML
软件工程·uml
编程在手天下我有3 天前
一文读懂 UML:基础概念与体系框架
uml
光头颜3 天前
UML之扩展用例
uml·ooad·分析与设计
编程在手天下我有3 天前
UML 关系探秘:理论与实践双维度剖析
uml
吴八月7 天前
UML用例图-UML Use Case Diagram
uml
敏编程15 天前
Draw.io:你可能不知道的「白嫖级」图表绘制神器
uml·draw.io
kse_music16 天前
UML(统一建模语言)中总共有哪些图
uml·统一建模语言
敲代码的小霖18 天前
UML-MCP-Server -cursor适用
uml·cursor·mcp