110 likes | 254 Views
J- oy. J- oy & Software Development. Development approaches. Traditional development problems: Design many use cases following the same pattern, Code many use cases following the same pattern, Keep model up-to-date (design models are usually outdated)
E N D
J-oy J-oy & Software Development
Developmentapproaches • Traditional development problems: • Design many use cases following the same pattern, • Code many use cases following the same pattern, • Keep model up-to-date (design models are usually outdated) • Traditional Model Driven Software Development problems: • Generated code needs to be tailored. Once it happens changes in earlier work products must be manually applied to generated code or a new set of automatically generated pieces of code is created and changes must be manually reapplied to it.
ModelDrivenGenerationApproach Database UML Editor DatabaseModel Entities Model Generated files Files XMI XMI XMI XMI J-oy J-oy J-oy J-oy Templates Template Template
Chainlanguages Database DomainSpecificLanguage TechnologySpecific UML Editor DatabaseModel Entities Model Generated files Files XMI XMI XMI XMI J-oy J-oy J-oy J-oy Templates Template Template
ProcessdesignbestpracticesReduce thenumber of steps in thegenerationchain Database Thenumber of steps in thegeneration-chainmustbeminimized in orderto reduce theamount of conflictsresolutionsteps UML Editor DatabaseModel Entities Model Generated files Files XMI XMI XMI XMI J-oy J-oy J-oy J-oy Templates Template Template
ProcessdesignbestpracticesHowtoavoidtouchinggenerated files Database UML extension strategies • Stereotypes • TaggedValues UML Editor DatabaseModel Entities Model Generated files Files XMI XMI XMI XMI J-oy J-oy J-oy J-oy Templates Template Template
ProcessdesignbestpracticesHowtoavoidtouchinggenerated files Database UML Editor DatabaseModel Entities Model Generated files Files XMI XMI XMI XMI J-oy Customizetemplate Customizetemplate J-oy J-oy J-oy Templates Template Template
ProcessdesignbestpracticesHowtoavoidtouchinggenerated files Database UML Editor DatabaseModel Entities Model Generated files Technologyspecificstrategiesforsperatinggenerated files fromcontentthatneedstobemanuallymodified Files • Invokehelperclasses´ nethodsfromgeneratedcode. • Invokehelper scripts (i.e.Groovy) fromgeneratedcode. • Invokehelperjavascriptfunctionsfromgeneratedcode. • Use inheritanceforcustomization and factoryclassesforinstantiatingextensionclassestransparently. • Identifyareas in whichcustomcode can beinsertedorgeneratedcode can beeditedbyusingmarks and an a toolforautomaticallymerging files. • CodeinjectionbyusingAspectOrientedProgramming. • etc. XMI XMI XMI XMI J-oy J-oy J-oy J-oy Templates Template Template
Models are nowuseful Database Modelswillremainupdated as long as they are useful UML Editor DatabaseModel Entities Model Generated files Files XMI XMI XMI XMI J-oy J-oy J-oy J-oy Templates Template Template
Use yourimagination Generated files can beanything. Database • Application files • Mavenpoms • JSF navigation • CRUDs: JSF, JSP, classes • Menus • UML Design • etc. UML Editor DatabaseModel Entities Model Generated files Files XMI XMI XMI XMI J-oy J-oy J-oy J-oy Templates Template Template
Futherquestions • Ifyouwanttocontribute, haveanyquestionorsuggestion, pleasecontactus at: • info.joy.team@gmail.com