目录
[1、 系统分析(System Analysis)](#1、 系统分析(System Analysis))
[业务(领域)知识 = 业务内涵](#业务(领域)知识 = 业务内涵)
[2、举例(一) :东方传说](#2、举例(一) :东方传说)
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)的发生,而人们常从人、事、时、地、物等去描述一个事件的发生情境。
- 譬如,吃仙丹就有动作(吃)的对象---仙丹,动作的主角---嫦娥,当然还有地点、时间,甚至仙丹来源等等。