Industrialisatie van Software Ontwikkeling

13
De Industrialisatie van Software Ontwikkeling Wim Bast Model Driven Experience 5 juni 2008

Transcript of Industrialisatie van Software Ontwikkeling

Page 1: Industrialisatie van Software Ontwikkeling

De Industrialisatie van Software Ontwikkeling

Wim Bast Model Driven Experience 5 juni 2008

Page 2: Industrialisatie van Software Ontwikkeling

Voordelen van Industrialisatie

• kosten efficiënt• door een herhaalbaar productie

proces• dat geautomatiseerd en snel is• met een voorspelbare uitkomst• van hoge Kwaliteit

Page 3: Industrialisatie van Software Ontwikkeling

Weerstand• Verlies van banen?

Page 4: Industrialisatie van Software Ontwikkeling

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)

Page 5: Industrialisatie van Software Ontwikkeling

Weerstand• Veel te Complex?

Page 6: Industrialisatie van Software Ontwikkeling

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.

Page 7: Industrialisatie van Software Ontwikkeling

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

Page 8: Industrialisatie van Software Ontwikkeling

Weerstand• Saai werk?

Page 9: Industrialisatie van Software Ontwikkeling

De MDE Software Fabriek

Page 10: Industrialisatie van Software Ontwikkeling

Cool werk!• Veel minder herhaling• Directer resultaat• Onderhoud van de software fabriek is …

Page 11: Industrialisatie van Software Ontwikkeling

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..

Page 12: Industrialisatie van Software Ontwikkeling

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

Page 13: Industrialisatie van Software Ontwikkeling

Conclusie• We staan aan het begin van de

Industrialisatie van de Softwareproductie• We kennen de belangrijkste

succesfactoren• Wees niet bang …