Author
ngodiep
View
225
Download
3
Embed Size (px)
15 3 2009 9(pp.31~51)
15 3 2009 9 31
MDD
1960 . MDD(Model-Driven Development). MDD , , . MDE(Model-Driven Engineering), MDE , . , MDD , . , MDE , .
2009 06 29 2009 07 09 2009 07 15
1.
,
(Laudon and Laudon, 2006). ,
. ,
,
.
1960
(Boehm, 2003),
1960
(Selic, 2003),
(The Standish Group, 1995).
, ,
,
(Baskerville et al.,
1992; Fitzgerald, 1998).
,
,
32 15 3 2009 9
. CMMI1)
(Chrissis
et al., 2006).
,
,
(Iivari and Huisman, 2007).
MDE(Model-Driven Engineering)
, ,
.
, MDE
,
,
.
MDE .
MDE
, MDE
. MDE
(Bertrand, 2003) ,
MDE
MDE
, MDE
(,
1) CMMICapability Maturity Model Integration.
, 2004; , , 2008),
MDE
.
MDE
,
,
MDE
MDE
. , MDE
.
, 2
,
, MDE
. ,
MDE ,
. 3 MDE
, 4
MDE MDE
MDE
. 5 ,
6
.
2. MDE
2.1
,
1960
.
,
.
MDD
15 3 2009 9 33
RequirementsAnalysis
, ,
ArchitecturalDesign
DetailedDesign
,
Coding andTesting
Integration
QualificationTesting
ISO/IEC 12207-
Software Requirement
Analysis
Software Architectural
Design
Software Detailed Design
Software Coding & Testing
Iterative process
Textual &Schematic
Model
Textual &Schematic
Model
Textual &Schematic
Model
(Boehm, 2003),
ISO/IEC 12207
(ISO/IEC, 1995)
. ISO/IEC 12207
, ,
, 13
. 6
.
.
.
.
.
2.1.1
. CASE(Computer-Aided Software Engine-
ering)
,
. UML
,
,
(Brown et al., 2005).
.
2.1.1.1 - (Problem-implementa-tion gap)
.
, -
34 15 3 2009 9
(accidental) .
,
,
, -
(France and Rumpe, 2007).
2.1.1.2 () (semantics)
,
. ,
, UML
(seman-
tics)
(rigorousness)
. Baker et al.(2005)
,
.
2.1.1.3
,
.
.
. ,
.
, Atkinson
and Khne(2003)
,
, .
2.2 Model-Driven Engineering(MDE)
2.2.1 MDE
,
MDE
,
(France and Rumpe, 2007).
,
.
(Kent, 2002).
MDE
,
.
MDD
15 3 2009 9 35
Information Systems
Computation Independent Model
Platform Independent Model
Platform Specific Model
Refinement
Refinement by Mapping
Abstraction byRefactoring
MDA (OMG, 2001)
2.2.2 Model-Driven Architecture (MDA)
MDA 2001 OMG (Object Management Gro-
up) MDE
(France and Rumpe, 2007). OMG
,
(Kleppe et al., 2003).
2.2.2.1 MDA MDA
CIM(Computation Independent Model),
PIM(Platform Independent Model), PSM(Platform
Specific Model) (OMG, 2001; Frankel,
2003).
. CIM, PIM, PSM
(refinement) . , CIM
PIM, PIM
PSM.
PIM PSM (mapping)
. , PSM PIM
(abstraction) (refactoring)
. , CIM PIM CIM
PIM
. PIM PSM
, PIM
PSM ,
PIM PSM
.
2.2.2.2 (Model Transformation) MDA
.
. MDA
,
(Brown et al., 2005).
2.2.2.3 UML(Unified Modeling Language)MDA UML
(declarative)
(notation), (sema-
ntics), (constraints) . MDA
UML
(profiles)
.
(France
et al., 2006).
36 15 3 2009 9
Software Requirement
Analysis
Software Testing
Iterative process
Software Architectural
Design
Software Detailed Design
PIM to PSMTransformer
Source CodeGenerator
PSM
Code
Transformation-Rule Modif ication
Software Coding
PSM to PSMTransf ormer
PSM
PI
M
MDD
2.2.2.4 MOF(Meta Object Facility) MDA MOF
UML, SPEM2)
, , ,
(OMG, 2001; France et al., 2006).
,
UML
.
, MOF
,
(Frankel, 2003; Mellor
et al., 2004). XMI (XML Metadata
Interchange) MOF XML
, XML
,
.
2.2.3 MDD(Model-Driven Development)
MDD
MDA MDE ,
. MDA
PIM , ,
MOF
MDD . MDD
,
.
2) SPEM(Software Process Engineering Metamodel)
2.2.4 MDD
2.1
MDD .
Software Architectural
Design Software Detail Design, Software
Coding PIM to PSM, PSM to PSM
. PSM
(source code generator)
.
MDD
. Coding and Testing
, MDD
,
.
2.2.5 MDE
,
MDE
. MDE
,
MDE
MDE
. MDE
MDD
15 3 2009 9 37
, .
2.2.5.1 MDE
, MDE
, ,
.
,
. France and Rumpe(2007)
(formali-
zation) UML
. , Staron et al.(2004) MDE
.
, , , ,
,
,
, ,
(France and Rumpe, 2007).
MDE ,
(Baker et al., 2005).
2.2.5.2 MDE
.
MDE
, IT
(Mohagheghi and
Dehlen, 2008). MDD
(Fujita and Zualkernan, 2008), MDE
MDE
.
MDE
. ,
,
(Huisman and Iivari, 2006; Iivari and Huisman, 2007)
MDE
.
38 15 3 2009 9
. MDE
(
, , ) ,
.
.
MDE
(Baker et al., 2005), MDE
(Rios et al., 2006).
3. MDE
MDE
,
.
MDE
, , MDE
.
MDE
MDE
.
3.1
MDE
.
MDE
. Middle-
ware Company 2003 MDA
,
, MDE
35% (Middle-
ware Company, 2003). MDE
(Moha-
gheghi and Dehlen, 2008). MODELWARE 2006
.
MDE
,
MDE
. MDE
,
21~24%
.
, MDE
(MODELWARE, 2006).
Mohagheghi and Dehlen(2008) MDE
,
, , ,
.
,
, MDE (scalability)
MDE
MDD
15 3 2009 9 39
.
3.2
MDE
MDE
.
. Motorola
MDE (inspe-
ction) 100line 300line
1,000line 3
,
(Weigert and Weil,
2006). Boehm
1
40
1,000 (Boehm, 1981)
,
. Baker
et al.(2005) inspection 3
3070 .
, MDE
(MODELWARE, 2006;
Weigert and Weil, 2006).
,
,
,
.
(Mohagheghi and Dehlen, 2008).
3.3 MDE
. , CASE
, ,
,
. 2.2.4
MDD
,
.
,
(Yourdon, 1999).
Huisman and Iivari
(Huisman
and Iivari, 2006):
, MDE
.
40 15 3 2009 9
3.4 MDE
MDE
MDE
,
. ,
.
3.4.1
. Staron et
al.(2004) MDE
(definition) (use)
MDE
,
.
,
, MDE
.
, Staron et al.(2004)
,
.
3.4.2
,
.
, ,
MDE
.
Fitzgerald(1998)
,
.
(Iivari and Huisman, 2007).
.
4.
. 10
,
.
- J2EE
(CBD) .
MDD ,
MDD
15 3 2009 9 41
100k LOC(Lines of Code : )
9
66M/M(Man-month : 1 )(8)
41M/M(5)
/ 3.5
/ 2.5
3.0
J2EE, , X-Internet
/ UML 2.0(IBM RSA)
ISO/IEC 12207
Requirements Analysis
Architectural Design ,
Detailed Design, ,
Coding and Testing
Integration
Qualification Testing
ISO/IEC 12207
MDD
MDD .
.
, CBD
. CBD
. CBD
CBD
,
, ,
, .
CBD
.
CBD
.
LOC 3
,
.
MDD
.
4.1 MDD
CBD
, ISO/IEC 12207
.
MDD
.
.
CBD
MDD
. ,
42 15 3 2009 9
Iterative process
Source Code
Generator
Code
XML
MDD
MDD
. X-Internet
WYSWYG3)
. ,
DBMS
, UML 2.0 CASE
MDD . MDD
(formal method)
,
(semantics) PIM
. , Baker et al.(2005)
MDD MDD
PIM
.
.
MDD
.
EMF(Eclipse Modeling
3) WYSWYGWhat You See What You Get.
Framework) JET(Java Emitter Template)
. JET , JSP
(Popma, 2003).
XML
. XML
,
,
.
,
.
,
.
4.2
MDD
.
4.2.1
MDD
.
,
,
(LOC)
(QSM, 2005) , 46
.
60%
. , 9.7
21%
MDD
15 3 2009 9 43
MDD
. 21%
.
LOC
LOC ,
. LOC MDD
.
,
,
.
, ,
,
.
( 34)
. 40%
, 2.4M/M(
24%) .
4.2.2
, ,
,
. ,
, ,
.
.
COCOMO
(effort) (1)
(Royce, 1998).
Effort = 3.2 EAF (Size)p (1)
, Effort (M/M), EAF 15
(factor), Size (LOC)
. P
44 15 3 2009 9
(executability)
Selic, 2003; Staron, 2006
(scalability)
Selic, 2003; Baker et al., 2005
Staron et al., 2004;Baker et al., 2005
Staron et al., 2004
Baker et al., 2005
Selic, 2003; Baker et al., 2005
Selic, 2003; Staron et al., 2004;Baker et al., 2005; Shirtz et al.,2007
MDE , ,
.
1.051.2
P . (1)
, ()
.
(Royce, 1998).
,
(inspection)
.
. ,
,
,
.
5. MDE
MDE
.
5.1 MDE
5.1.1 MDE
MDE
. MDE
.
MDE
.
.
. MDE
,
. , MDE
MDE .
MDE
.
MDE
MDE
MDD
15 3 2009 9 45
Baker et al., 2005;Staron, 2006
Baker et al., 2005; Staron,2006; Shirtz et al., 2007
Baker et al., 2005;Staron, 2006
Staron et al., 2004
Baker et al., 2005
MDD Baker et al., 2005; Staron,2006; Shirtz et al., 2007
MDE
Baker et al., 2005Iivari and Huisman, 2007
Baker et al., 2005;Shirtz et al., 2007
Baker et al., 2005; Staron,2006; Shirtz et al., 2007
Baker et al., 2005; Staron,2006; Shirtz et al., 2007
Shirtz et al., 2007
MDE
.
5.1.2 MDE
MDD ,
MDE .
MDE
, MDE
.
MDE ,
,
. ,
,
.
,
.
. , MDD
,
.
5.1.3
MDE ,
.
MDE
.
,
.
MDE
. Iivari and
Huisman(2007)
MDE . MDD
, .
.
,
.
,
(aligned)
,
.
46 15 3 2009 9
MDE ,
. ,
.
.
,
.
5.2
MDE ,
MDA ,
(semantics)
. ,
.
MDD
MDD
.
MDA .
1MDE
.
2MDE ,
(proprietary)
, MDE
.
MDD
. ,
,
,
. , MDE
.
3MDE,
MDE
.
,
JIT(Just-In-
Time) MDD
. ,
,
,
. ,
.
4MDE
.
5 MDE MDE
.
5.2.1
Iivari and Huisman(2007)
,
.
MDD
15 3 2009 9 47
,
,
,
,
. Iivari and Huisman(2007)
,
,
.
6MDD
.
6.
MDE
MDE , MDE
. MDD
/ PIM PSM
,
MDE
MDE , .
,
. , MDE
.
MDE
. ,
,
. ,
MDE
, CASE
.
,
,
. , MDE
MDE
. ,
MDE
.
()
.
MDE
,
MDE
.
, , MDA
,
2004 , (2004), 463465.
48 15 3 2009 9
, , MDA
, , 15 2
(2008), 187196.
Atkinson, C. and T. Khne, Model-Driven Develo-
pmentA Metamodeling Foundation, IEEE
Software, Vol.20, No.5(2003), 3641.
Baker, P., S. Loh, and F. Weil, Model-Driven
Engineering in a Large Industrial Context -
Motorola Case Study, Lecture Notes inComputer Science, Vol.37, No.13(2005), 476491.
Baskerville, R., J. Travis, and D. Truex, Systems
without Method: The Impact of New Techno-
logies on Information Systems Development
Projects, IFIP WG8.2 Working Conferenceon the Impact ofComputer Supported Techno-logies in Information Systems Development,
Vol.A-8(1992), 241269.
Bertrand, D., Model-Driven Architecture CaseStudy, CGI Group, 2003.
Boehm, B., A View of 20th and 21st Century Soft-
ware Engineering, Proceedings of ICSE06,(2003), 1229.
Boehm, B., Software engineering economics, Pren-tice Hall, 1981.
Brown, A. W., J. Conallen, and D. Tropeano, Intro-
ductionModels, Modeling, and Model-
Driven Architecture (MDA), Model-DrivenSoftware Development, Springer(2005), 116.
Chrissis, M. B., M. Konrad and S. Shrum, CMMI :Guidelines for P rocess Integration andProduct Improvement, Addison-Wesley, 2006.
Fitzgerald, B., An Empirical Investigation into
the Adoption of Systems Development Metho-
dologies, Information and Management,
Vol.34, No.6(1998), 317328.
France, R. and B. Rumpe, Model-driven Develo-
pment of Complex SoftwareA Research
Roadmap, International Conference on Soft-ware Engineering, 2007 Future of SoftwareEngineering, IEEE Computer Society(2007),3754.
France, R. B., S. Ghosh, and T. Dinh-Trong,
Model-Driven Development Using UML 2.0 :
Promises and Pitfalls, IEEE Computer, Vol.39,No.2(2006), 5966.
Frankel, D. S., Model Driven Architecture-Applying MDA to Enterprise Computing,Wiley, 2003.
Fujita, H. and I. Zualkernan, Evaluating Software
Development Methodologies Based on their
Practices and Promises, New Trends in
Software Methodologies, Tools and Techni-ques(2008), 14.
Huisman, M. and J. Iivari, Deployment of systems
development methodologiesPerceptual con-
gruence between IS managers and systems
developers, Information and management,
Vol.43, No.1(2006), 2949.
Iivari, J. and M. Huisman, The Relationship Bet-
ween Organizational Culture And The Deplo-
yment of Systems Development Methodolo-
gies, MIS Quarterly, Vol.31, No.1(2007), 3558.
ISO/IEC, ISO/ IEC 122071995, Standard for
Information Technology-Software life cy-cle processes, 1995.
Kent, S., Model Driven Engineering, Lecture
Notes in Computer Science, 2335(2002), 286298.
Kleppe, A., J. Warmer, and W. Bast, MDA Expla-
inedThe Practice and Promise of the ModelDriven Architecture, Addison Wesley, 2003.
Laudon, K. and J. Laudon, Management InformationSystems: Managing the Digital Firm, PearsonPrentice Hall, New Jersey, 2006.
Mellor, S. J., K. Scott, A. Uhl, and D. Weise, MDA
MDD
15 3 2009 9 49
Distilled: Principles ofModel-Driven Archi-tecture, Addison Wesley, 2004.
Middleware Company, Model Driven Develo-
pment for J2EE Utilizing a Model Driven
Architecture (MDA)-ApproachA Produc-
tivity Analysis, TMC Research Report, 2003.
MODELWARE, Industrial ROI, Assessment,and Feedback-Master Document. Revision,Vol.2, No.2, 2006.
Mohagheghi, P. and V. Dehlen, Where Is the
Proof?-A Review of Experiences from Appl-
ying MDE in Industry, Lecture Notes inComputer Science, 5095(2008), 432444.
OMG, Model Driven Architecture (MDA), 2001.
Popma, R., JET Tutorial Part 1 (Introduction toJET) from http://www.eclipse.org/articles/Article-JET/jet_tutorial1.html, 2003.
QSM, QSM F unction P oint P rogrammingLanguages Table, from http://www.qsm.com/FPGearing.html, 2005.
Rios, E., T. Bozheva, A. Bediaga, and N. Guilloreau,
MDD Maturity ModelA Roadmap for Intro-
ducing Model-Driven Development, LectureNotes in Computer Science, 4066(2006), 7889.
Royce, W., Software Project Management-AUnified Framework, Addison-Wesley, 1998.
Selic, B., The Pragmatics of Model-Driven Deve-
lopment, IEEE Software, Vol.20, No.5(2003),1925.
Shirtz, D., M. Kazakov, and Y. Shaham-Gafni,
Adopting Model Driven Development in a
Large Financial Organization, Lecture Notes
in Computer Science, 4530(2007), 172183.
Staron, M., Adopting Model Driven Software
Development in Industry-A Case Study at
Two Companies, Lecture Notes in Computer
Science, 4199(2006), 57-72.
Staron, M., L. Kuzniarz and L. Wallin, Case study
on a process of industrial MDA realization:
determinants of effectiveness, Nordic Journal
of Computing, Vol.11, No.3(2004), 254278.
The Standish Group, CHAOSTHE STANDISH
GROUP REPORT, 1995.
Weigert, T. and F. Weil, Practical experiences in
using model-driven engineering to develop
trustworthy computing systems, IEEE
International Conference on Sensor Networks,
Ubiquitous, and Trustworthy Computing, 2006.
Yourdon, E., Death March: The complete soft-
ware developers guide to surviving mis-
sion impossible projects, Prentice Hall PTR
Upper Saddle River, New Jersey, 1999.
50 15 3 2009 9
Abstract
Effectiveness of Model-Driven Development Process : Case Study
4)
Sungwook MoonSaneung Hong
Research on how to develop information systems efficiently and effectively since early 1960s has resulted in many techniques, methods and methodologies. Only a few of them, however, have been successfully practiced in the field. Model-Driven Development(MDD) is an innovative approach emphasizing the central role of model for development activities, attracting many practitioners attention as well as researchers. As MDD matures, many researchers have been trying to establish the evidence of its effectiveness. But many of them only suggest lessons learned or report limited evidence of effectiveness based on isolated case studies. This paper reports the state of the art of Model-Driven Engineering(MDE) and its major issues. We reviewed a number of papers and collected the conceptual definitions of MDE effectiveness from the technological and organizational perspectives. A case study in which MDD technology was adopted has been performed in order to measure the effectiveness of MDD quantitatively and qualitatively. This paper also analyzes and summarizes key considerations and lessons learned for IT organizations to adopt MDE successfully from the case study.
Key WordsMDE, MDA, MDD, Software Development Process Effectiveness, Case Study
* School of Business Administration, University of Seoul
MDD
15 3 2009 9 51
1996 1998 . MIS . (CBD) . (CBD), (MDD) .
University of Texas at Austin . , .
. Decision Support Systems , , .