Haitham Hamza
 and Mohamed E.

翻譯:鄧文彥

A Pattern Language for Building Stable Analysis Patterns
建立穩定分析樣式的樣式語言


下一頁


概要

軟體分析樣式在縮短軟體產品開發時程及減低成本這二件事上,扮演很重要的角色。但是,目前分析樣式的潛力尚未完全瞭解。其中一個常見的原因是,今日的分析樣式缺乏穩定性。在許多的例子中,為某個特定問題塑模的分析樣式,無法應用於不同背景卻同性質的問題上,以致於軟體開發人員只能辛苦地從頭分析所遇到的問題。這樣的結果降低了分析樣式的再用性。這份報告的內容是有關建立一個穩定分析樣式所需之樣式語言,這個語言的目的是希望可以提出一個方式,達成建構穩定的分析樣式。

壹、簡介

分析樣式是將問題核心知識塑模成一群概念模型(conceptual models)。所以,我們預期針對一個特定問題的塑模樣式,應該可以成功及簡單地應用於本質同樣的問題上,而不管問題所存在的背景為何。然而實際上卻不總是如此。事實上,目前有許多設計樣式,是大家熟知且跨越許多領域的問題來塑模。然而,使用這些樣式於不同背景的相同問題塑模時,如果這是可能的,也沒有辦法如預期的那樣容易。這種現情況的結果就是,軟體開發人員只能辛苦地從頭分析所遇到的問題。

心中常存在想要建立穩的分析樣式的想法,會有助於產出有效及可再用的樣式,這些樣式可應用於不同背景的同性質問題上。

在〔1,2〕中介紹之軟體穩定性概念(Software stability concepts),展現了軟體再用及生命週期改善上的巨大承諾。軟體穩定模型〔Software stability models〕應用了『商業常例(Enduring Business Themes) (EBTs)』及『商業物件(Business Objects) (BOs)』。在分析樣式的觀念中應用穩定模型概念這方面,我們建議『穩定分析樣式(Stability Analysis Patterns)』的概念。這個分析樣式背後的想法是-就考慮中的問題,以其 EBTs 及 BOs 的觀點分析,將目標訂在提升穩定性及廣泛的再使用。在這份報告中提及的樣式語言,會說明建立穩定分析樣式所需的主要步驟。

論文後續的部分以下列的方式編排章節:第二節提供了建議的樣式語言概覽,並顯式不同樣式間的互動。每個樣式的詳細說明在第三節,最後的結論在第四節。

貳、樣式語言概覽

建議的樣式語言共有八種樣式。這些樣式陳述了建立穩定分析樣式所需的步驟。這八個樣式被分類成三個主要的層級,每個層級都有他所屬的主要目的。圖一顯示了樣式語言的三個層級與每一層級相對應的樣式。每個樣式都用二個數字編號,第一個數字表示樣式所在的層級,第二個數字表示樣式的編號。

第一個層級是『概念樣式(Concept Patterns)』。在這個層級中的樣式提供了,用來了解其他樣式語言所需的主要概念。在『概念樣式』的層級中包涵了二個樣式:第一個、有效可用的分析模型〔1.1〕(Efficient usable Analysis Models);它描述了建立有效及可用分析模型所需的基本需求特性。第二個、軟體穩定模型〔1.2〕(Software Stability Model);它提供了作為達成穩定之解決方案的軟體穩定模型的基本概念。

第二個層級是『問題分析樣式(Problem Analysis Pattern)』層級,在這個層級中的樣式陳述了如可分析需要被塑模的問題。問題的分析可以經由 4 個主要的步驟完成,每個步驟分別以一個樣式來描述。第一個、識別問題〔2.3〕(Identify The Problem),第二個、識別商業常例〔2.4〕(Identify Enduring Business Themes),第三個、識別商業物件〔2.5〕(Identify Business Objects),第四個、將這些成員置於合適的抽象層級〔2.6〕(Proper Abstraction Level)。

第三個層級是『建構程序樣式(Building-Process Patterns)』層級;在前一個層級分析完問題之後,我們需要知道如何建立穩定分析樣式〔3.7〕(Build Stable Analysis Patterns),以及如何使用穩定分析樣式〔3.8〕(Use Stable analysis Patterns)。

表一概要地整理出樣式語言以做為簡便的參考,而樣式語言的關係在圖二說明。

圖一、樣式語言的描述

表一、樣式語言摘要

樣式 問題 解決方案
有效可用的分析模型(Efficient usable Analysis Models) 是什麼主要的基本特性影響了分析模型的可用性及有效性?  [1.1]
軟體穩定模型(Software Stability Model) 如何達成軟體的穩定性?  [1.2]
識別問題(Identify The Problem) 如何對分析樣式要塑模的特定問題聚焦?  [2.3]
商業常例 (Identify Enduring Business Themes) 如何識別問題之商業常例?  [2.4]
識別企商 業物件(Identify Business Objects) 如何識別問題的商業物件?  [2.5]
合適的抽象層級(Proper Abstraction Level) 如何達成合適的企業抽象層級?  [2.6]
建立穩定分析樣式(Build Stable Analysis Patterns) 如何組合問題模型元件來建立穩定分析樣式?如何定義己識別之 EBTs 及 BOs 之間的關係?  [3.7]
使用穩定分析樣式(Use Stable analysis Patterns) 如何應用預定的穩定分析樣式為特定背景之問題塑模?  [3.8]

圖二、樣式語言流程圖

 


下一頁