Industrialisatie van Software Ontwikkeling
-
Upload
modeling-value-group -
Category
Technology
-
view
681 -
download
0
Transcript of Industrialisatie van Software Ontwikkeling
De Industrialisatie van Software Ontwikkeling
Wim Bast Model Driven Experience 5 juni 2008
Voordelen van Industrialisatie
• kosten efficiënt• door een herhaalbaar productie
proces• dat geautomatiseerd en snel is• met een voorspelbare uitkomst• van hoge Kwaliteit
Weerstand• Verlies van banen?
Stand van Zaken Ambachtelijke Software Ontwikkeling
• Software ontwikkelingsprojecten leveren:– vaak niet binnen de geraamde kosten– zelden binnen de geplande tijd– niet altijd een bevredigend resultaat
• Versnelling van wijzigingen in functionele en technische eisen
• Te kort aan gekwalificeerde software ontwikkelaars (meer vraag dan aanbod)
Weerstand• Veel te Complex?
Software = Domein * IT
• Software ontwikkelen is het toepassen van (technische) IT patronen op (functionele) domein aspecten.
• Voor één applicatie worden vele technieken en patronen gebruikt.
• Voor alle functionele aspecten worden al deze patronen herhaaldelijk toegepast.
Fysieke / Software producten • Één autofabriek voor honderdduizenden
exemplaren van één model– Zeer hoge investeringen in één fabriek– Weinig variabiliteit (kleur, bekleding, motor)– In één productie run van ontwerp naar complete
auto• Één software fabriek voor veranderende
functionele en technische eisen– Geformaliseerde functionele specificatie taal: DSL
(functionele variabiliteit)– Flexibele productieregels : transformatie definities
(technische variabiliteit)– Incrementeel en Iteratief productie proces
Weerstand• Saai werk?
De MDE Software Fabriek
Cool werk!• Veel minder herhaling• Directer resultaat• Onderhoud van de software fabriek is …
MDE Standaards en Tools• Standaards
– OMG (UML, MOF, MTL, QVT, Etc..)– JSR (JMI)
• Opensource– Eclipse (EMF, GMF, M2M, M2T, Etc..)– NetBeans MDR– Open Architecture Ware (OAW)– Obeo Acceleo– Etc..
• Commercieel– MetaCase MetaEdit+– Microsoft Software Factories / DSL Tools– Intentional Software– JetBrains's Meta Programming System– Etc..
MDE Succes Factoren(uit ervaring)
• Scheiding van de functionele en technische aandachtsgebieden
• Een slim gekozen functionele variabiliteit voor een specifiek domein
• Flexibele software generatoren d.m.v. eenvoudig te onderhouden productie regels
• Het automatiseren van een bestaand productie proces voor een bewezen software architectuur
• De ondersteuning van incrementele en iteratieve software productie
• Software fabriek onderhoudbaar door de software producent zelf
Conclusie• We staan aan het begin van de
Industrialisatie van de Softwareproductie• We kennen de belangrijkste
succesfactoren• Wees niet bang …