De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 Software Engineering EINDPROJECT INFORMATICA. SOFTWARE ENGINEERING 2 Managen van grotere softwareprojecten Onstaan uit noodzaak: betrouwbare software.

Verwante presentaties


Presentatie over: "1 Software Engineering EINDPROJECT INFORMATICA. SOFTWARE ENGINEERING 2 Managen van grotere softwareprojecten Onstaan uit noodzaak: betrouwbare software."— Transcript van de presentatie:

1 1 Software Engineering EINDPROJECT INFORMATICA

2 SOFTWARE ENGINEERING 2 Managen van grotere softwareprojecten Onstaan uit noodzaak: betrouwbare software Grote projecten gestructureerd aanpakken Heel precies specificeren: Wat gaat er precies gemaakt worden (eisen) Wie gaat wat precies doen (taakverdeling en planning) Wat is er precies gedaan (documentatie en verantwoording)

3 EINDPROJECT INFORMATICA 3 Ontwikkelen van een groot informaticaproduct in teamverband Doorlopen van een volledige ontwerpcyclus volgens het waterval model Eindproduct belangrijk, maar projectmanagement en proces zeker ook. Weging: Product: +- 60% Proces en documentatie: +- 40% Vergelijkbaar: profielwerkstuk

4 GROEPJES 4 Groepjes van 3 (eventueel 4) Verschillende rollen (vaak meerdere rollen per persoon of meerdere personen per rol): Projectleider (verplicht!) Programmeur Grafisch ontwerper Gamedesigner (game) Leveldesigner (game) Databaseontwerper (php) Tester...

5 WATERVALMODEL 5 Verschillende fasen. Elke fase levert een mijlpaalproduct Fasen lopen in elkaar over Functioneel ontwerp Technisch ontwerp Implementatie Testen Documentatie/oplevering Analyse

6 ANALYSE 6 Vaststellen eisen (indien van toepassing: in overleg met opdrachtgever) Maken projectplan (startdocument) Taakverdeling Tijdsplanning Beknopte beschrijving van de projectinhoud

7 FUNCTIONEEL ONTWERP 7 Beschrijft WAT je gaat maken: Welke functionaliteit heeft het product? Wat zijn de concrete eisen aan deze functionaliteit? Dit is een vervolg op je startdocument, met een stuk meer diepgang: Specificeer precies alle onderdelen van je project Gebruik zo concreet mogelijke beschrijvingen en getallen Dit document moet de kwaliteit van het eindproduct meetbaar maken

8 TECHNISCH ONTWERP 8 Beschrijft HOE je het gaat 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. …

9 IMPLEMENTATIE 9 Schrijven van code en ontwerp grafische elementen Nauwkeurig volgen van functioneel en met name het technisch ontwerp

10 TESTEN 10 Testcases uitvoeren a.d.h.v. ontwerp Maak uitgebreide lijst testcases Verkeerde invoer Uit het scherm lopen Pagina bekijken zonder ingelogd te zijn. … Verhelp zo veel mogelijk bugs en fouten n.a.v.. Het testrapport Onverholpen bugs en verschillen met originele ontwerp toelichten

11 DOCUMENTATIE 11 Projectverslag Alle mijlpaaldocumenten Projectverloop Logboek! Tijdverantwoording naar Wt Oplossing evt. onenigheid in groepjes Handleiding (in geval van klant)

12 DEADLINES 1. Startdocument: 10 januari 2. Functioneel ontwerp: 31 januari 3. Technisch ontwerp: 21 februari 4. Implementatie: 10 april 5. Testrapport: 15 april 6. Einddocumentatie: 15 april 12

13 TECHNISCHE BEPERKINGEN Voordat we de mogelijkheden bespreken: eerst even dit: De benodigde tools en hard- en software zijn erg afhankelijk van je onderwerpkeuze. Houd dat in je achterhoofd! Er kan van aardig wat op de school PC’s, maar zeker niet alles: 3D engines?  Eigen hardware aanleveren/meenemen Speciale tools nodig?  portable versies of eigen hardware Wt heeft wat random hardware beschikbaar in overleg 13

14 KEUZE 14 Voor het project kun je o.a. kiezen uit: Simulatie of Gamedesign Dynamische website met Php/MySQL/Javascript/etc. Bouwen van een nuttige Android of iOS app Electrotechniek: Arduino of Raspberry Pi From NAND to Tetris (Fundamentele informatica) Eventueel eigen idee (in overleg met Wt uiteraard) ± 14 weken -> ± 40 lessen Lessen + thuiswerk = 70 SLU per persoon SE valentie 6 (= 3x een normale PO)

15 GAMEDESIGN / SIMULATIE 15 Bouw een game of liever nog een interessante simulatie Kies een geschikte programmeertaal/omgeving: (Greenfoot, Python, UDK/Unity (3D), …) Denk eens aan: Evolutieprogrammeren (zie bijvoorbeeld: Boxcar2D)Boxcar2D Simulatie (met Netlogo kun je toffe dingen doen)Netlogo Schrijf een AI of andere MOD voor een bestaande game...

16 PHP / MYSQL ( / JAVASCRIPT / JQUERY / … ) 16 Dynamische website gekoppeld aan SQL database Volledig “met de hand” te bouwen. Zelf php taal leren (lijkt op Java) Denk aan bijv: Forum Rating/reviewsite Browsergame …

17 APP ONTWIKKELING Ontwerpen van een nuttige Android of iOS app iOS (Objective C) vereist Apple hard- en software: zelf regelen! Android (Java) vereist pc met adminrechten: zelf regelen Testdevices: zelf regelen Denk aan: Game of grafische simulatie (libgdx is tof voor android)libgdx Handige app voor gebruik in school (open dag bijvoorbeeld)... 17

18 ELECTROTECHNIEK: ARDUINO OF RASPBERRY PI Combinatie van “programmeren en solderen” Arduino’s en Raspberry Pi’s + basis componenten beschikbaar Denk aan: Robotica (bouw je eigen drone?) Domotica (automatiseer je huis / kamer) Random coole projecten... Random coole projecten 18

19 FROM NAND TO TETRIS 19 Zelfstudiecursus Computer Science Niveau: 1e jaar universiteit (Harvard) Bouw een (virtuele) computer vanaf de grond af op en programmeer een tetris game ervoor Logische poorten -> Hardware -> Machinetaal -> Hogere programmeertaal -> Operating system -> Software Uitdaging voor de echte Informatica held

20 EIGEN IDEE Eigen ideeën voor de invulling zijn welkom Informatica gerelateerd Qua diepgang en omvang vergelijkbaar met andere keuzes. Zelfde ontwerpcyclus Zelfstandigheid vereist: Wt heeft niet overal verstand van… 20

21 START PROJECT 21 Deze week: Brainstorm en oriëntatie Direct na de vakantie: Definitieve groepjes maken Projecttype en onderwerp kiezen Experimenteren met gekozen onderwerp Opstellen startdocument


Download ppt "1 Software Engineering EINDPROJECT INFORMATICA. SOFTWARE ENGINEERING 2 Managen van grotere softwareprojecten Onstaan uit noodzaak: betrouwbare software."

Verwante presentaties


Ads door Google