建立稳定分析模式的模式语言03
2. 完整并尽可能准确:与简单性概念有关,该属性保证所有需要的信息都被表达。为了实现完整性,模型不应该忽略任何组件。模型必须能够表示其属性的基本概念。例如,试图建模整个租赁系统的所有属性将使我们忽略系统的一些部分。租赁汽车与保险有关,它与从图书馆借书是不同的情况。结果,想要为整个的租赁系统建立一个模式,除了失去简单性外,还会失去完整性和准确性。
3. 可测试:模型要能够被测试,它必须是特定和清楚的,即模型中所有的类和关系应该是经过验证的且是有效的。
4. 稳定性:稳定性影响模型的可重用性。稳定的模型易于适应和修改,而且不存在退化的风险。
5. 图示化:概念模型难以图示化。但是可视表示方法有助于对模型的正确理解。
6. 易于理解:由于其表达高度抽象,因此概念模型比较复杂。因此,需要对分析模式进行良好的描述,以便更好地理解系统。否则模式的使用既没有吸引力也没有效率。
7. 一般性:一般性是确保模型可重用的基础。缺乏一般性的模型没有什么用处。面对缺乏一般性的模式,分析师们更趋向于建立新的模型而不愿意为适应应用而花费时间和精力去改编一个难以驾驭的模式。一般性意味着针对特定问题进行建模产生的模式应该能够非常容易地用于处于不同环境中的同样问题中。模式一般性可以分为两大类:用于解决在不同环境中经常出现的问题的模式(领域无关模式);用于解决在特定环境中经常出现的问题的模式(特定领域模式)。对后者而言,即使该类模式仅仅使用在一定的环境中,仍然可以认为它具有一般性,但在该情况下,应当确保该模式不会出现在其它环境中。
8. 容易使用和重用:分析模式应该以清晰的方式表达以利于重用。认识到模式将应用于更大的模型这一点是非常重要的。非常容易地使用和设计能够重用的模式常常意味着该模式能够更加容易地被重用。
下一个模式
在分析和研究了影响分析模型的可用性和有效性的基本属性后,需要理解“软件稳定性模型”的基本概念。
模式1.2 “软件稳定性模型”
目的
描述软件稳定性模型的结构及其基本概念(持久的业务主题“EBT,业务对象BO,行业对象IO”)。由此表明这些因素之间的关系以及如何将它们协调起来建立稳定的模型。
上下文
稳定性对任何工程系统而言都是极为重要的特性。在软件过程领域,拥有稳定的分析模型、稳定的设计模型、稳定的软件架构、稳定的模式将减少开销并提高软件工程产品的质量。
问题
如何获得软件稳定性?
约束
对问题进行建模时很难将分析、设计、实现问题完全区分开。通常,分析师在头脑中分析问题(问题领域)及设计问题(求解空间)。由于对同样的问题会产生多个不同的解决方案,因此混淆问题建模和解决方案建模将影响该模型的可重用性。这样做的后果是,当希望对同样的问题采用其它的解决方案时,需要从头开始对问题进行建模。所以许多分析模型缺乏稳定性。
另外,在建立分析模型时需要获该问题的核心知识。
解决方案
在文献[1][2]中介绍的软件稳定性概念表明了其在软件重用和软件生命周期开发中的重要作用。图3给出了SSM(软件稳定性模型)的结构。在SSM中系统模型有三个层次:持久性业务主题(EBT)层、业务对象(BO)层、行业对象 (IO) 层。
系统中每个类按照其属性被分类到三个层次中。例如,表示系统持久性和基本概念的类分类为EBT。因为EBT表示系统的持久性概念,它们是非常稳定的,并成为SSM的核心。
确定且稳定可以进行内部的修改的类,分类为BO。例如,人类是BO。该类从外部来看是稳定的,他们可以在内部发生改变(人类可以结婚、或者生病)。EBT和BO构成了SSM的核心。
IO层包含不稳定的类,因此它们可以被修改、增加、甚至移出系统而不会影响系统的核心。