標題: 一個基於功能相似性的軟體規格再利用技術
A SPECIFICATION REUSE TECHNIQUE BASED ON FUNCTIONAL SIMILARITY
作者: 周世杰
Chou, Shih-Chien
陳振炎, 鍾乾癸
Jen-Yen Chen, Chyan-Goei Chung
資訊科學與工程研究所
關鍵字: 軟體再利用;軟體規格;物件導向需求分析;規格語言;規格庫;software reuse;specification;object-oriented analysis;specification language;repository
公開日期: 1995
摘要: 軟體再利用能大量提昇軟體之產量與品質,在理想的情況下,軟體規格、 軟體設計、與軟體程式都可再利用,再利用軟體規格、軟體設計、與軟體 程式的技術可以組裝成一套完整的軟體發展技術,在此技術之支援下,軟 體之產量與品質可以更大量提昇。一般而言,愈高層次的再利用可得愈多 的好處,因此,軟體規格再利用比軟體設計與軟體程式之再利用更具解決 軟體危機之潛力。我們設計了一套組合式的軟體規格再利用技術,本技術 主要再利用功能相類似的規格,其原因為類似功能之規格可以滿足類似之 需求。為了幫助修改與組合規格,本技術再利用的對象為物件導向規格。 本技術依據軟體系統之主要功能擷取可在利用規格,由於主要功能可在需 求分析之早期取得,因此,本技術可做到早期再利用,使得需求分析的時 間能更加縮短。此外,本技術提供一套可執行之規格語言以助了解規格之 行為,此規格行為之了解可幫助濾掉所擷取規格中之不適於再利用者。目 前,我們的研究主要著重於軟體規格再利用中之某些重要課題,並完成了 下述工作:(1)一套物件導向需求分析模式以表示規格、(2)一套物 件導向需求分析方法以產生物件導向規格、(3)一套可執行之規格語言 以助了解規格之行為、(4)一套分類規格的方法、(5)一套擷取規格 的方法、及(6) 一套規格庫以儲存規格。本論文詳細描述上述我們所 完成之工作,這些工作之主要特點為:(1)該物件導向需求分析模式除 了描述物件類別外,也描述功能。由於類似功能之規格可再利用,該物件 導向需求分析模式可幫助判斷規格是否可再利用。(2)該物件導向需求 分析方法係基於功能與資料之同時分解,並提供指引由上述分解結果中尋 找物件類別、物件類別之屬性、及物件類別之動作。由於上述分解結果是 具體的東西,本方法所提供之指引應是頗容易使用。(3)該可執行之規 格語言使規格可執行,由執行之結果可以很容易地觀察規格之行為,此規 格行為之了解可幫助濾掉所擷取規格中之不適於再利用者,並進而幫助選 取可再利用之規格。(4)該分類及擷取規格的方法係依據規格之功能去 分類及擷取,此作法乃因為功能類似之規格可再利用。此外,本方法係基 於語意網路之技術,由於語意網路能表現規格中最多之訊息,本分類及擷 取規格的方法能取出適用之規格。(5)該規格庫分開存放現存規格之子 規格及物件類別,使得它們可被獨立取用,此作法使得任何大小之子規格 ,甚至物件類別皆可再利用。 Software reuse can dramatically improve software productivity and quality. Ideally, specifications, designs, and program code can be reused. Techniques for reusing specifications, reusing designs, and reusing program code can be integrated to support a reuse-based software development paradigm, which is expected to tremendously improve software productivity and quality. Normally, higher level of reuse can gain more profits. Accordingly, specification reuse offers more potential for solving software crisis than design reuse or program code reuse does.We have designed a compositional specification reuse technique. It is based on functional similarity. That is, it reuses specifications with functions similar to those of an intended system. The rationale is that similar functions can fulfill similar requirements. This technique reuses OO specifications, because they are easy to modify and compose. In retrieval, this technique retrieves existing specifications according to primary system functions, which can be identified early in requirement analysis. This technique is thus expected to encourage early reuse and hence saves much requirement analysis time. Moreover, it provides an executable specification language for specification behavior understanding, which in turn facilitates filtering out specifications that are improper for reuse.In the current stage, our research focuses on some critical topics of specification reuse. By now, we have finished the following works: (1) an OOA model for representing specifications, (2) an OOA method for creating specifications from scratch, (3) an executable specification language for specification behavior understanding, (4) a technique for classifying specifications, (5) a technique for retrieving specifications, and (6) a repository for storing specifications. This dissertation presents the works we have finished. Major features for these works are described as follows:(1) The OOA model explicitly specifies functions, in addition to classes. Since specifications with functions similar to those of an intended system are reusable, explicitly specifying functions in OO specifications facilitates justifying whether the specifications are reusable.(2) The OOA method is based on parallel decomposition of function and data. Guidelines are provided to identify classes, class attributes, and class operations from function and data decomposition results. Since the decomposition results are concreteand easily accessible, the provided guidelines seem easy to follow.(3) The executable specification language make specifications executable. With this language, specifications behaviors can be easily observed by executing specifications. Understanding specification behaviors facilitates filtering out specifications that are improper for reuse. This in turn facilitates selecting appropriate specifications for reuse.(4) The specification classification and retrieval technique classifies and retrieves specifications according to functions, because specifications with similar functions are reusable. This technique is based on semantic networks, which represent semantic meanings to a certain degree of details. Accordingly, in specification retrieval, this technique is expected to retrieve specifications that are proper for reuse.(5) The repository separately stores subspecifications and classes of existing specifications so that they can be retrieved independently for reuse. This in turn encourages reusing any size of subspecifications and even classes.
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT840392085
http://hdl.handle.net/11536/60433
Appears in Collections:Thesis