200 likes | 332 Views
Eindproject informatica. Software Engineering. Software engineering. Managen van grotere softwareprojecten Onstaan uit noodzaak : betrouwbare software Grote projecten gestructureerd aanpakken Heel precies specificeren : Wat gaat er precies gemaakt worden ( eisen )
E N D
Eindproject informatica Software Engineering
Software engineering • Managen van groteresoftwareprojecten • Onstaanuitnoodzaak: betrouwbare software • Grote projectengestructureerdaanpakken • Heel preciesspecificeren: • Watgaaterpreciesgemaaktworden (eisen) • Wiegaatwatpreciesdoen (taakverdeling en planning) • Wat is erpreciesgedaan (documentatie en verantwoording)
EindprojectInformatica • Ontwikkelen van eengrootinformaticaproduct in teamverband • Doorlopen van eenvolledigeontwerpcyclusvolgens het waterval model • Eindproductbelangrijk, maar projectmanagementzekerook. • Weging: • Product: +- 60% • Proces en documentatie: +- 40% • Vergelijkbaar: profielwerkstuk
Keuze • Voor het project kun je kiezenuit: • Gamedesign met Gamemaker of Greenfoot • Dynamische website met Php/MySQL of Joomla • From NAND to Tetris • Eventueeleigenidee (in overleg met Wtuiteraard) • ±16 weken -> ± 42 lessen • Lessen + thuiswerk = 70 SLU per persoon • SE valentie 6 (= 3x eennormale PO)
Game Maker • Programmeeromgevingspeciaalvoor (2D) games • Eenvoudigommeetebeginnen, maar complexemogelijkheden. Volledigeprogrammeertaal • Verwachtwordtdat je mogelijkheden van de programmeertaalbenut (1e klasserskunnenookgamemaker…)
Greenfoot • Bekend van PO, dussnelmeetestarten • Grafischwatbeperkt, maar inhoudelijkgrotecomplexiteitmogelijk (je hebt “heel Java” tot je beschikking) • Programmeerwerkgoedteverdelenvanwegelosse “classes” • Uiteraardmeerdiepgangverwachtdanbij PO
Website met Joomla • Kant en klaar CMS (content management systeem) • Zeeruitgebreidconfigureerbaar en veleextensiesbeschikbaar • Gebruiktvoor 1000-en complexe websites op het internet. (Bedrijfswebsites, blogs, etc). • Joomlawerkt al “out of the box”, dusverwachtwordtdat je eeneigen template bouwt en zelffunctionaliteittoevoegt • Zoekeenechteklant!
Php/Mysql • Dynamische website gekoppeldaanSQL database • Volledig“met de hand” tebouwen. • Zelfphptaalleren (lijkt op Java) • Denkaanbijv. Browsergame.
From nand to tetris • Zelfstudiecursus Computer Science • Niveau: 1e jaaruniversiteit (Harvard) • Bouween (virtuele) computer vanaf de grondaf op en programmeereentetris game ervoor • Logischepoorten -> Hardware -> Machinetaal -> Hogereprogrammeertaal -> Operating system -> Software • Uitdagingvoor de echteInformatica held
Eigen idee • Eigen ideeënvoor de invullingzijnwelkom • Informaticagerelateerd • Qua diepgang en omvangvergelijkbaar met anderekeuzes. • Zelfdeontwerpcyclus • Zelfstandigheidvereist:Wtheeftnietoveralverstand van… • Raspberry Pi? Android?
Groepjes • Groepjes van 3 (eventueel4) • Verschillenderollen (vaakmeerdererollen per persoon of meerderepersonen per rol): • Projectleider (verplicht!) • Programmeur • Grafischontwerper • Gamedesigner (game) • Leveldesigner (game) • Databaseontwerper (php) • Tester • ...
Watervalmodel • Verschillendefasen. • Elkefaseleverteenmijlpaalproduct • Fasenlopen in elkaar over Analyse Functioneelontwerp Technischontwerp Implementatie Testen Documentatie/oplevering
Analyse • Vaststelleneisen (indien van toepassing in overleg met opdrachtgever) • Makenprojectplan (startdocument) • Taakverdeling • Tijdsplanning • Beknoptebeschrijving van de projectinhoud
Functioneel ontwerp Wat gaan we maken? (eisen) Requirements document 1. Inleiding 2. Globale beschrijving 2.1 Wat voor een soort game wordt het 2.2 Een globaal overzicht van de opbouw van de game. 2.3 Profielschets gebruikers 3. Functionele eisen 3.1 Gebruikersinterface 3.2 De game 3.2.1 start spel 3.2.2 level 1 3.2.3 minigame 3.2.4 ………. 3.3 Installatieprocedure 4. Niet-functionele eisen 5. Project eisen
Technisch ontwerpHoe gaan we het precies maken? • Beschrijft o.a. het volgende: • De structuur van de programmacode. • Objecten • Scripts • Pagina’s (php) • Databaseontwerp (php) • Te maken afbeeldingen, achtergronden en animaties. • Te gebruiken geluidsfragmenten en fonts. • …
Implementatie • Schrijven van de code • Nauwkeurigvolgen van functioneel en met name het technischontwerp
Testen • Testcasesuitvoerena.d.h.v. ontwerp • Maakuitgebreidelijsttestcases • Verkeerdeinvoer • Uit het schermlopen • Paginabekijkenzonderingelogdtezijn. • … • Verhelpzoveelmogelijk bugs en foutenn.a.v.. Het testrapport • Onverholpen bugs en verschillen met origineleontwerptoelichten
Documentatie • Projectverslag • Alle mijlpaaldocumenten • Projectverloop • Logboek! (om onenigheid binnen groep te voorkomen) • Handleiding (in geval van klant)
Deadlines • 1. Startdocument: 18 december • 2. Functioneel ontwerp: 17 januari • 3. Technisch ontwerp: 31 januari • 4. Implementatie: 16 april (onder licht voorbehoud) • 5. Testrapport: 16 april (onder licht voorbehoud) • 6. Einddocumentatie: 16 april (onder licht voorbehoud)
Start project • Groepjesmaken • Projecttype en onderwerpkiezen • Experimenteren met gekozenonderwerp • Opstellenstartdocument