In Endeavour projecten wordt veel gebruik gemaakt van generieke componenten. Desondanks is er toch nog veel ‘generieke’ code dat voor ieder project geschreven moet worden terwijl dit ook te genereren is. Denk hierbij aan stored procedures voor de standaard CRUD functionaliteit en klassen in de data laag van een applicatie.
Als de ontwikkelaar de gegenereerde code opnieuw kan laten genereren (bv. na een aanpassing in het database schema) zonder dat zijn eigen toevoegingen verloren gaan kan dit een behoorlijke tijdsbesparing opleveren. Eventueel zou het genereren onderdeel kunnen worden van de daily-build van de Endeavour ontwikkelstraat zodat de ontwikkelaars altijd met de laatste versies van de gegenereerde onderdelen werken.
Opdracht
Onderzoek welke onderdelen binnen een Endeavour project geschikt zijn om gegenereerd te worden.
Bouw vervolgens één of meerdere domain specific language(s) in Visual Studio waarmee meta modellen geconfigureerd kan worden. Vanuit deze modellen moet vervolgens op basis van sjablonen project onderdelen (zoals bv. stored procedures en klassen) gegenereerd worden.
De applicatie moet aan de volgende eisen voldoen:
Meta model(len) moeten in Visual Studio designers (m.b.v. domain specific languages) ontworpen worden.
De gegenereerde code moet onafhankelijk zijn van de door de ontwikkelaar geschreven code.
Generatie moet plaatsvinden met behulp van sjablonen, zodat deze aangepast kunnen worden binnen projecten.
Inzetbaarheid
De applicatie blijft eigendom van Info Support. De generator is in te zetten bij klanten.
Methoden & Technieken
Planning: RUP
Ontwerp: UML
Bouw Tool: Microsoft Visual Studio 2005
Bouw taal: C#, XML, XSLT
Applicatie omgeving: .NET
Applicatie technieken ADO.NET, DSL
Benodigde kennis & interesse
Interesse in: code standaarden
Kennis van: XML, .NET, SQL
Fasen
Vooronderzoek
Onderzoek
PVA (plan van aanpak)
Definitie van eisen
FO (functioneel ontwerp)
TO (technisch ontwerp)
Bouwen
Testen
Opleveren
Onderzoek verslag
Meer weten?
Indien je geïnteresseerd bent in deze afstudeeropdracht, klik dan hier om direct te solliciteren.
Heb je vragen of wil je een afspraak maken? Neem dan contact op met één van ons: