標題: 一個並行軟體物件導向分析方法
An Object-Oriented Analysis Method for Concurrent Software Systems
作者: 徐志豪
Hsu, Chi-Hao
鍾乾癸
Chyan-Goei Chung
資訊科學與工程研究所
關鍵字: 並行軟體;物件導向;需求分析;功能分解;角色模型;Concurrent Software;Object-Oriented;Requirement Analysis;Functional Decomposition;Role Model
公開日期: 1997
摘要: 並行軟體乃由一群主動執行單元(例如:處理程序、引線、Java應用 程式或物件需求仲介者上的事務物件等)所組成,這些執行單元分散於一 並行基礎架構上並行執行。並行軟體所需考量的因素遠較循序軟體為多( 例如:平行性、分散性、通訊等因素),尤其在多使用者的情況下,不同 使用者往往擁有不同的服務需求,使得其發展遠較循序軟體更為複雜。一 般軟體分析設計方法(包括目前被公認為發展軟體最有效的物件導向分析 設計方法)大多著重於循序軟體的發展,對並行軟體的發展並未提供良好 的支援。本文旨在提出一套適用的並行軟體需求分析方法。 軟體需求 分析在於捕捉使用者需求,並以明確的方式描述系統需求規格。並行軟體 雖然往往分散於多個電腦系統,但對使用者而言,並行軟體與循序軟體並 無差別,其需求仍可表示為一組功能式的服務需求;但對並行軟體系統而 言,一服務需求往往需經由多個執行單元的合作而完成。因此,本文以「 功能分解式物件導向分析方法」為基礎,加入角色的概念以輔助並行軟體 之需求分析,進而提出「並行軟體之功能分解物件導向分析方法」。我們 以角色為系統的基本並行執行單元,不同的使用者先以不同的環境角色對 之,並對該環境角色提出一組服務需求,接著再以功能分解及向上組合的 方法分析這些服務需求而得到完成這些服務需求的軟體架構,同時在分析 的過程中針對各服務需求所需的合作關係,訂定新的系統角色及角色間的 互動。最終在分析完成時,系統由一群角色所組成,角色內部則由一群物 件所組成,角色外部則提供一組服務以供其它角色使用。 「並行軟體 之功能分解物件導向分析方法」所得的產物包含角色模型、功能模型、類 別模型、角色部署模型、動態模型、物件模型等六個模型以及並行軟體需 求規格。角色模型用以表示系統所包含的角色及角色間之合作關係;功能 模型用以表示系統所包含的功能階層與候選物件;類別模型用以描述系統 所包含的類別及類別間之關係;角色部署模型用以呈現並行軟體系統的基 本部署;動態模型以狀態轉換圖描述各類別的行為;物件模型則藉由角色 交互圖與物件交互圖描述系統之整體性行為;需求規格則用改良之「一個 物件導向快速雛型語言」來描述。 本方法並已成功地應用於「會議安 排輔助系統」之需求分析,足驗證本方法之可行性及模型與規格語言的充 足性。 Concurrent software is composed of several active execution units, such as processes, threads, Java applications and applets, or CORBA business objects. These units are distributed and concurrently executed over a concurrent execution infra- structure. For concurrent software development, there are several critical issues emerged but not addressed sequential software, such as parallelism, distributed, communication, etc. Besides, concurrent software often provides services to multi- users, and different users require different services. Hence the development of concurrent software is more complicated than that of sequential software. Conventional software analysis and design methods, including object-oriented analysis and design methods which is convinced as the most efficient methods for software development, mostly emphasize the development of sequential software. They do not offer appropriate support to the development of concurrent software. The goal of the thesis is to propose a proper requirement analysis method of concurrent software. The aim of the software requirement analysis is to acquire the users' requirements and then describe the requirement specification unambiguously. Although concurrent software is distributed on several computer systems, from the user's point, no perceptible difference between concurrent and sequential software, and their requirements can be expressed as a set of functional service requirement. However, to the concurrent software system, each service is usually achieved through the collaboration of several execution units. Therefore, this thesis proposes "Functional Decomposition Object Oriented Analysis for Concurrent Software" that is based on "Functional Decomposition Object Oriented Analysis", with the extension of the role concept to assist the requirement analysis of concurrent software. We define a role as a basic execution unit of the concurrent software system. The users with the same (similar) requirement are given an environmental role to propose their requirement in terms of a set of service requirements. These service requirements are then analyzed with the techniques of functional decomposition and bottom-up composition to construct the software architecture. The system roles and the interactions between different system roles should be defined to delineate the collaboration required in the service requirements. When the analysis is finished, the whole system is composed of a group of roles, each of which is composed of a group of objects and provides a series of services for other roles. The products from the "Functional Decomposition Object Oriented Analysis for Concurrent Software" are role model, function model, class model, role deployment model, dynamic model, object model, and the requirement specification. The role model is used to express the roles included in the system and the collaboration among them. The function model is used to illustrate the function hierarchy and candidate objects. The class model describes the classes included in the system and the relationship among them. The role deployment model presents the basic deployment of the roles in the concurrent software. The dynamic model indicates the behavior of each class in terms of a state transition diagram. The object model shows the global behavior of the system by role interaction diagrams and object interaction diagrams. The requirement specification is written in the improved "An Object Oriented Rapid Prototyping Language". We have applied our method to the requirement analysis of "Meeting Arrangement Supporting System" successfully, and hereby verify the feasibility of the analysis steps and the expressiveness of the models and specification language.
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT860392079
http://hdl.handle.net/11536/62815
顯示於類別:畢業論文