Return to search

應用剖面樣板於模型驅動開發之研究 / A Study on Realizing Model-Driven Development using Aspect Templates

近年來,模型驅動的軟體開發方式已在軟體開發社群引起廣泛的討論與研究。知名的物件管理組織並提出模型驅動架構來推廣這種新的軟體開發方式。一般使用模型驅動架構觀念的開發方法多著重在模型交換、模型變更及產生程式碼的精準度,但對於應用樣板程式在產生程式的使用上卻很少有特別的規範,故本研究選擇樣板程式的應用進行探討。在模型建構方面,我們依循一般將業務性及非業務性的模型分開設計及管理的方式,以方便系統開發人員在設計模型時,可以專注於業務性的功能設計,非業務性的功能便可依系統的需求選擇特定的組合;但在程式碼產生部分,本研究則應用剖面導向程式設計中的織入方式來產生程式碼。我們以Orr, Doug所製作的原型程式為基礎,建立一個應用剖面樣板於模型驅動開發的流程,並且以一個應用實例及使用工具來闡明整體導入的過程及運用價值。經由這樣的實例,可以讓系統開發者感受應用剖面樣板於模型驅動開發所帶來的方便及效率的提昇。 / Recently, model-driven software development has attracted great attention from the software development community. The Object Management Group (OMG) has also proposed the so-called Model-Driven Architecture (MDA) to promote it. As far as we know, most system development approaches using the MDA concept emphasize on model exchange, model change and degree of preciseness on code generation and do not discuss much about the usage of templates for code generation. Therefore, this research proposes to study the code generation part of MDA using templates. Like other MDA-based approaches, our development process also design and manage functional models and non-functional models separately, allowing system developers to focus on functional models design and to easily choose existing functions for non-functional models by requirements. What makes our approach different is we add an attachment model which facilitates the code generation steps by using the weaving mechanism found in aspect-oriented programming (AOP). In this study, we elaborate the attachment model proposed by Orr, Doug and propose an example of model-driven development process using it for code generation. Moreover, we utilize the prototype of Orr, Doug’s to create a complete example which re-engineers an existing application by replacing its system platform and extending its business functions using this process.

Identiferoai:union.ndltd.org:CHENGCHI/G0093971015
Creators楊世睿, Yang, Sir-Jur
Publisher國立政治大學
Source SetsNational Chengchi University Libraries
Language中文
Detected LanguageEnglish
Typetext
RightsCopyright © nccu library on behalf of the copyright holders

Page generated in 0.0017 seconds