Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
A Lightweight MDD
Process Applied in
Small Projects
Gabor Guta, PhD
info@axonmatics.com
Contents
Introduction to MDD1
The Process2
Conclusion3
info@axonmatics.com
Motivation
 Generative approaches become popular like
 model driven development (MDD),
 domain spec...
info@axonmatics.com
What is MDD?
 Generating software from a model
– Advantage: saving time/effort on implementing
repeti...
info@axonmatics.com
What is MDD? (cont'd)
info@axonmatics.com
What is MDD? (cont'd)
 The artifacts generating transformations are often
called templates
 Domain &...
info@axonmatics.com
Differences
 What is the domain model (real life /
implementation)?
 How can the domain meta-model b...
info@axonmatics.com
Further differences
 How does MDD affect the development process?
 Are we able to reverse the transf...
info@axonmatics.com
Important Issues of the Lightweight MDD
 Most of the risks should be mitigated
 No immature technolo...
info@axonmatics.com
Important Issues of the Lightweight MDD (cont'd)
 The domain-model should be kept as simple as
possib...
info@axonmatics.com
Our Minimalistic Approach
 Creating the simplest solution
 Using the simplest tool-set
 Explicitly ...
info@axonmatics.com
Project Experience
 An enterprise web application for a specific
domain developed
 Microsoft’s ASP.N...
info@axonmatics.com
The Process
 Roles
 Artifacts
 Activities
 Workflow
info@axonmatics.com
The Workflow (overview)
info@axonmatics.com
Teams
 The agile development team
 Members were: developers, a software architect
 Responsible for:...
info@axonmatics.com
Artifacts
 An MDD vision
 A code generation tool
 A domain test model
 An MDD environment (domain ...
info@axonmatics.com
Activities
 Domain model extraction
 In: requirements
 Out: initial domain model, MDD vision
 The ...
info@axonmatics.com
Activities (cont'd)
 Template development
 Refine: templates
 Steps:
 the required functionality i...
info@axonmatics.com
Activities (cont'd)
 Integration
 In: generated artifacts, hand-crafted software
 Out: released sof...
info@axonmatics.com
The Workflow (part 1)
info@axonmatics.com
The Workflow (part 2)
info@axonmatics.com
The Template Development Activity
 The most complex and critical activity of the
process
 It becomes...
info@axonmatics.com
The Template Development Activity (cont'd)
 A feature is implemented as an extension of the
generated...
info@axonmatics.com
Conclusion
 Our model driven development method has been
applied successfully
 Our "experiment" has ...
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
What to Upload to SlideShare
Next
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

A Lightweight MDD Process Applied in Small Projects

Download to read offline

Presentation about model driven development for small-mid sized companies

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

A Lightweight MDD Process Applied in Small Projects

  1. 1. A Lightweight MDD Process Applied in Small Projects Gabor Guta, PhD
  2. 2. info@axonmatics.com Contents Introduction to MDD1 The Process2 Conclusion3
  3. 3. info@axonmatics.com Motivation  Generative approaches become popular like  model driven development (MDD),  domain specific languages (DSL), etc.  Several success stories about applying these techniques in large  Process frameworks and methods for full scale application of them  Lot of software developed by small teams using Agile methods There is no or little help of its application in small!
  4. 4. info@axonmatics.com What is MDD?  Generating software from a model – Advantage: saving time/effort on implementing repetitive tasks by working on model level  The most well known approaches are the followings:  OMG's MDA  Microsoft's Software Factories
  5. 5. info@axonmatics.com What is MDD? (cont'd)
  6. 6. info@axonmatics.com What is MDD? (cont'd)  The artifacts generating transformations are often called templates  Domain & intermediate models can be described with meta-models
  7. 7. info@axonmatics.com Differences  What is the domain model (real life / implementation)?  How can the domain meta-model be represented?  What kind of notation do we use to communicate the domain model?  How are the transformations defined?  Do we allow to edit the intermediate models or the generated artifacts?
  8. 8. info@axonmatics.com Further differences  How does MDD affect the development process?  Are we able to reverse the transformation (propagate changes of the generated artifacts back to the original model)?  How can intermediate models be merged if the original generated model was modified and a different one was generated after the domain model was changed?  What are the quality implications of the MDD?  How does it modify the test and review procedures?  What kind of additional problem can be expected?
  9. 9. info@axonmatics.com Important Issues of the Lightweight MDD  Most of the risks should be mitigated  No immature technology allowed  Fall back to the traditional development method  The approach should not delay the schedule in general  It should have immediate business advantage  The approach should be cost sensitive  No high cost MDA tool set,  No extensive training
  10. 10. info@axonmatics.com Important Issues of the Lightweight MDD (cont'd)  The domain-model should be kept as simple as possible and the generated code should be human-readable and modifiable.  The results should be reusable in other projects.
  11. 11. info@axonmatics.com Our Minimalistic Approach  Creating the simplest solution  Using the simplest tool-set  Explicitly support the partial approach  We just model and generate parts where it pays off  Keeping track of which requirement applied in the model is relatively cheap
  12. 12. info@axonmatics.com Project Experience  An enterprise web application for a specific domain developed  Microsoft’s ASP.NET technology and an MS-SQL back-end were used (conforming to architectural guidelines of the multi-layer enterprise ASP.NET applications  Readable source code and complete developer documentation  The project team experienced with traditional iterative development method (containing elements from current Agile methodologies)
  13. 13. info@axonmatics.com The Process  Roles  Artifacts  Activities  Workflow
  14. 14. info@axonmatics.com The Workflow (overview)
  15. 15. info@axonmatics.com Teams  The agile development team  Members were: developers, a software architect  Responsible for: hand crafted software  The business analyst team  Members were: managers  Responsible for: requirements and the domain models  The model driven development team  Members were: an MDD expert, developers  Responsible for: MDD environment, the templates
  16. 16. info@axonmatics.com Artifacts  An MDD vision  A code generation tool  A domain test model  An MDD environment (domain metamodel, a domain test model, and a code generation tool).  Hand crafted software  Released software  A software requirement specification (or requirements)
  17. 17. info@axonmatics.com Activities  Domain model extraction  In: requirements  Out: initial domain model, MDD vision  The MDD environment setup  In: MDD vision, initial domain model  Out: code generation tool, initial version of the domain meta-model, domain test model  Domain modeling  Refine: domain model  The MDD environment development  Refine: MDD environment
  18. 18. info@axonmatics.com Activities (cont'd)  Template development  Refine: templates  Steps:  the required functionality is implemented in a software prototype;  the implementation is extracted and to edited into the templates;  finally, the they are tested with the help of the domain test model.  Code generation  In: templates and domain model  Out: generated artifacts
  19. 19. info@axonmatics.com Activities (cont'd)  Integration  In: generated artifacts, hand-crafted software  Out: released software  Development  Requirements Refinement  Architectural prototyping  Design  Development
  20. 20. info@axonmatics.com The Workflow (part 1)
  21. 21. info@axonmatics.com The Workflow (part 2)
  22. 22. info@axonmatics.com The Template Development Activity  The most complex and critical activity of the process  It becomes dominant activity of the MDD team after the MDD environment is stabilized  During an iteration several features are implemented iteratively in the frame of this activity
  23. 23. info@axonmatics.com The Template Development Activity (cont'd)  A feature is implemented as an extension of the generated artifacts (designed, coded and tested)  The implemented feature is extracted from the source code and inserted into the templates  The artifacts re-generated with the new templates  Tested with the test-cases of original implementation  The first iteration is sightly different, because no prior generated artifacts available at that time.
  24. 24. info@axonmatics.com Conclusion  Our model driven development method has been applied successfully  Our "experiment" has two results  our process can be used successfully in an averages small-mid sized project  project can be realized with standard data format (XML, JSON, or YAML) and template engines (XSLT, Jinja2, etc.), i.e. no need for special MDA/DSL tool chain  Our process can be also used as preparatory step before the introduction of a heavyweight process

Presentation about model driven development for small-mid sized companies

Views

Total views

281

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×