110 likes | 203 Views
Project number 511731. MODELling solution for softWARE systems. MDD for Business Application Maintenance C2M at ECMDA-FA, Bilbao, July 11, 2006 Ahto Truu, WM-data / Mila Keren, IBM. Agenda. Company Profile Legacy Process Proposed Changes MDD Process & Tool Chain Lessons Learnt.
E N D
Project number 511731 MODELling solution for softWARE systems MDD for Business Application Maintenance C2M at ECMDA-FA, Bilbao, July 11, 2006 Ahto Truu, WM-data / Mila Keren, IBM Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Agenda • Company Profile • Legacy Process • Proposed Changes • MDD Process & Tool Chain • Lessons Learnt Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Company Profile • Aprote • Software development house, 40 employees • Custom business software, mainly database-backed • 75% local market, 25% for export • WM-data • Offices in all Nordic countries, 9500 employees • Acquired Aprote in 2005 • Acquisition should not affect ongoing projects Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Legacy Process (1) • A German partner interfaced to the end users • Aprote designed the software and implemented it • Requirements managed as Word documents • Architecture managed as Word document • User interface design managed as annotations on top of screen shots of the existing application • Database design managed mostly as SQL DDL scripts • Source code hand-written using a generic Java IDE • Test cases managed using Excel tables • External bug reporting using an NNTP server • Internal bug reporting and tracking using a generic tool • All documents and code versioned using a generic tool Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Legacy Process (2) • Requirements in text documents • Incremental change sets in separate documents • Hard to have a clear overview, ensure consistency • No models • Manual coding • Lot of copy-paste • Recurring bugs • Manual testing • Both creation and execution • Scattered artifacts • No traceability support • Impact analysis hindered Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Proposed Changes & Expected Benefits • UML models: requirements + use cases, design • Easy cross-referencing requirements to use cases • One single source of information to ensure consistency • Model and code generation • Ensure consistent implementation of the design • Increase process efficiency and code qualityby generating repetitive parts of code • Model debugging and test generation • Verify end user workflows using model simulation • Generate test scenarios to ensure optimal coverage • Traceability support • Trace links for improved impact analysis Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
MDD Process • Interface to the German partner unchanged • MDD approach implemented internally • Requirements imported into a UML model • Analysis model (PIM) manually updated • Requirements connected to use cases • Use cases connected to business objects • Design model (PSM) generated from the PIM • Consistent design pattern application • Java code generated from the PSM • No copy-paste no more • SQL DDL generated from the PSM • Testing and bug reporting mostly as before Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Doc & Report imbustool Traceability Impact analysis Test scenarios Code Code Requirements Requirements Analysis Model Design Model Word coupling RSA Eclipse ModelBus Orchestration Model 2 model Documentation Simulation Test generation Code generation OCL checking? transformation generation IBM IBM MOFscript OCL ATL tool tool MOFscript perform perform use done with MDD Tool Chain Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Lessons Learnt (1) • Requirements • Central database • Traceability • Change management • Model to model • Consistent design pattern application • Change management (no “diff” and “merge”) • Model to text • Probably easiest immediate ROI • Testing • Test generation too hard for us Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
Lessons Learnt (2) • Overall • Flexibility of the tools • Full control of the output • Piecewise migration to MDD • Maturity of the tools • Availability • Documentation, training • Stability • Cost, ROI • ROI experiment not yet finished Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)
About ModelWare • www.modelware-ist.org Project co-funded by the European Commission under the "Information Society Technologies" Sixth Framework Programme (2002-2006)