这首太极建模诗(或叫十六字OO建模口诀)受到了Larman(《UML和模式应用》)、Cockburn(《编写有效用例》)、3 Amigos(《UML用户指南》)等世界级专家们睿智大作的启发,也凝结了我10多年来从事OO设计和编程的一点小小感悟。
我发现“外与内,高与低,静与动,粗与细”等基本二元辩证关系,不但适用于软件用例需求的建模,也适用于软件架构的OOAD/UML 建模。
当然,软件设计中的二元关系还远不止这些。充满了二元辩证、平衡之道的现代软件工程,竟然与两千年前中国古典哲学《阴阳太极》中的黑、白对立统一相暗合,这真的是历史的巧合,还是科学的必然?
由外而内
外与内,即软件系统本身与其外部环境的关系,大概是软件开发中最根本的一对关系。在软件开发之初需求调研时,我们通常视整个软件系统为一个黑盒子,我们划地为界,从系统外部来观察软件提供给其各个用户的功能,以及它与外部环境的各种动态关系(包括彼此之间的行为交互和信息数据的交换)。这种方法可以用UML用例图表示如下:
以银行证券帐户管理系统(类似于“银证通”)为例,图中用例“打印帐户报告!”的需求简述是:
主用角:用户
辅用角:外汇交易中心、证券交易所
范围:证券账户管理系统
层次:用户目标层
后置条件:系统打印客户帐号下已购买的所有币种的证券清单,包括每支证券的单价、份数、余额以及该客户账户下的资产总额(转换成用户指定的币种,缺省情况下为美元)。
前置条件:用户已登录,客户的账户、帐号已知。
触发事件:用户选择打印账户报告(证券余额清单)。
基本流:
1.用户根据系统提示选择结算币种(用于计算资产总额),缺省值为美元。
2.系统读取该客户帐号下的所有证券信息,打印每支证券的名称、份数、单价和总价(即证券余额,等于单价 * 份数),总价用原币种表示。
文章来源于领测软件测试网 https://www.ltesting.net/