Praktische Opdracht Datebase

advertisement
Praktische Opdracht Datebase
Inleiding
In deze afsluitende projectopdracht heb je de kennis en vaardigheden die je de
afgelopen anderhalf jaar bij het vak informatica hebt verworven nodig. Denk hierbij
aan:
 Samenwerken
 Plannen
 Verzamelen van informatie
 Bedenken van oplossingen
 Vastleggen van het werkproces, door middel van het bijhouden van logboeken
 Informatiemodellering
 Ontwerpen van een database
 Maken van queries in SQL
 Ontwerpen van interfaces
 Maken van programmastructuurdiagrammen
 Programmeren in Visual Basic
 Maken van HTML pagina’s met PHP
Jullie opdracht:
 Maak producten die voldoen aan alle wensen van de opdrachtgever en je
werkgever. Zie de casusbeschrijving.
 Documenteer het gehele proces van ontwikkeling van de software.
Algemeen
 Bij een groep van 3,4 of 5 personen bedraagt de studielast zo’n 30 a 40 uren
per persoon.
 Het project is gepland over meerdere weken.
 Het systeem wordt ontwikkeld in Access, Visual Basic en HTML/PHP.
Werkverdeling:
Dit project voeren jullie uit in groepjes van 3 ,4 of 5 personen. Stel een projectleider
aan die de voortgang van het project aanstuurt. Deze projectleider is ook de
contactpersoon naar jullie docent en naar de opdrachtgever. De rol van
opdrachtgever wordt gespeeld door je docent.
In te leveren producten:
Product
Lijst met naam van de groep en deelnemers
Plan van aanpak
Software requirements document + opzet uitwerking
Technisch ontwerp van of webdesign of stand alone programma
HTML
Alle eindproducten zoals
Database.
Een stand alone programma.
Toelichting van de code in het programma.
Handleiding.
Uitgevoerde test.
Logboek.
Projectweek
1
2
3
4
laatste
Zoals altijd levert te laat ingeleverd werk korting op je cijfer op!
Logboeken
Een belangrijk deel van jullie opdracht is dat het gehele ontwikkelproces goed wordt
gedocumenteerd. Daarvoor gebruiken we een groepslogboek en individuele
logboeken die jullie tijdens je werkzaamheden bijhouden. De individuele logboeken
worden aan het eind van het project aan het groepslogboek toegevoegd. In het
groepslogboek staan in ieder geval de volgende zaken:
1. Cursusjaar
2. Naam van de klas
3. Namen van alle deelnemers.
4. Naam van de schrijver van het groepslogboek.
5. Naam van de casus
6. Groepsprocesevaluatie
7. Omschrijving van de tegengekomen problemen
8. Omschrijving van de gevonden oplossingen.
Ter afsluiting van dit project houden jullie een presentatie (in de klas en met beamer).
Je laat dan de werking van jullie software zien.en geeft een beschrijving van het
ontwikkelproces.
Stappenplan:1
Vooronderzoek
1. Lees de gehele opdracht van dit project door.
2. Bespreek met de leden van jullie groep de gehele opdracht. Bekijk vooral ook
de lijst van in te leveren producten.
3. Maak een voorlopige werkverdeling.
Definitiestudie
1. Bestudeer de casusbeschrijving. Zie casusbeschrijving.
2. Maak een software requirements document. Dit is een lijst van de
doelstellingen van de te ontwikkelen software. Dit wordt gemaakt in overleg
met de opdrachtgever van het project. In dit project speelt je docent de rol van
directeur of directrice van het relatiebemiddelingsbureau. Let op! Het software
requirements document vormt het contract van jullie opdracht en MOET door
zowel het softwarebedrijf als het relatiebemiddelingsbureau worden
ondertekend voor dat het ontwikkelproces verder kan gaan. Dit document is
ook de basis van de acceptatietest die uiteindelijk bepaalt of de software goed
is. Wijzigingen in het software requirements document tijdens de ontwikkeling
van de software kunnen alleen goedvinden na overleg met en schriftelijke
goedkeuring door de opdrachtgever. Uitleg over een SRD (software
requirements document, en een voorbeeld vindt je aan het eind van deze
opdracht.
Technisch ontwerp
In deze fase wordt vastgelegd wat er in de volgende fase precies door de
programmeurs moet worden gebouwd. Maak de volgende producten:
1. Ontwerp van de database.
Maak eerst een Entiteiten Structuur Diagram. Bepaal vervolgens welke
tabellen jullie nodig hebben. Bepaal welke velden de tabellen bevatten.
Bepaal de sleutelvelden. Bepaal de verbinding(en) tussen de tabellen. Maak
een strokendiagram.
2. Ontwerp van de schermen van de interfaces. Ten minste één van de
schermen wordt gebruikt om de database met de gegevens van de klanten te
muteren. Je maakt of een stand alone programma of een webdesign.
3. Maak in elk geval een website waar je of het standaloneprogramma kunt
downloaden of via webdesign rechtstreeks zaken kunt aanpassen.
4. Voer een test uit om na te gaan of een en ander werkt.
5. Maak een keuze voor de representatie. D.w.z. de uiterlijke kenmerken van het
systeem, zoals lay-out, lettertype, eventueel gebruik van geluid en
afbeeldingen, enz. Kortom alles wat voor de gebruiker zichtbaar wordt.
6. Ontwerp van de queries.
Er moeten bij het systeem een aantal queries geleverd worden, zodat er met
behulp van deze “basis”-queries snel goede zoekopdrachten gemaakt kunnen
worden. Bepaal wat de resultaten van de queries moeten zijn. Vermeld ook
welke tabellen je bij de verschillende queries gebruikt en hoe je wilt gaan
selecteren.
1
Raadpleeg bij twijfel je docent. Voor technieken: www.evertkok.nl/informatica
7. Ontwerp van een gebruikershandleiding. Welke onderwerpen moeten er in
staan?
Programmeren en toekennen van taken.
In deze fase worden de ontwerpen uit de vorige fase geïmplementeerd.
1. Maak opnieuw een taakverdeling. Leg schriftelijk vast wie wat doet en vooral
ook wanneer de onderdelen klaar moeten zijn.
2. Implementeer de verschillende onderdelen en test ze.
Testen
1. Black box test
Alle deelprogramma’s worden nu in samenhang getest. Om dit goed te kunnen doen
zul je een testdatabase moeten aanmaken. Deze bevat de gegevens van tenminste
50 fictieve klanten. Maak een testrapport waarin duidelijk wordt beschreven wat er
getest is en wat er wel en wat er (nog) niet goed werkt.
2. Handleidingtest
Laat jullie handleiding testen door iemand die onbekend is met jullie software. Maak
een testrapport waarin staat wat er nog verbeterd moet worden aan de
gebruikershandleiding.
3. Acceptatietest
Nadat jullie het programma zo hebben aangepast dat de software goed werkt, stel je
het geheel ter beschikking van de klant, die een zogenaamde acceptatietest uitvoert.
4. Verbeteringen
Nadat alle testen zijn afgerond moeten de noodzakelijke verbeteringen worden
aangebracht. Tenslotte moeten de black box test en de acceptatietest nogmaals
worden gedaan. Deze tweede acceptatietest neem 3 werkdagen in beslag. Pas
als alles goed is bevonden kun je verder met de volgende fase.
Conversie (en invoering)
Het programma wordt klaar gemaakt voor aflevering aan de klant.
1. Eventuele programmacode moet worden omgezet in een executable bestand.
2. Alle benodigde bestanden moet op schijf worden verzameld.
3. Zo mogelijk moet er een set-up bestand gemaakt worden.
4. Tenslotte moet er een papieren of digitale handleiding worden toegevoegd.
Toelichting
Bronmateriaal:
Edu Aktief Informatica, Visual Basic met databases.
Mogelijke tools:
Een tekstverwerker ( b.v. Microsoft Word 2007 of ouder)
Microsoft Access 2003 of 2007
Microsoft Visual Basic.Net of 2003 of 2008 express
HTML editor (b.v. Internet Evolutions)http://www.internetevolutions.nl/
Het product moet kunnen werken op de computers in C12 met de daarop
geïnstalleerde software!
Software Requirements Document
Een document waarin de afspraken omtrent het functioneren van het te ontwikkelen
systeem in overleg met de opdrachtgever/klant wordt vastgelegd. Deze eisen vallen
uiteen in twee groepen:
Functionele eisen (deze omschrijven het pakket):
 Beschrijf de minimumeisen waaraan het ontwikkelde pakket moet voldoen
 De functionele eisen moeten zo duidelijk zijn dat ze slechts op één manier uit
te leggen zijn. Zo kan er later ook geen misverstand zijn met de opdrachtgever
over wat de software nu precies moet kunnen.
 Elke uitbreiding van het eisenpakket door de opdrachtgever leidt tot meerwerk
en zal dus moeten worden betaald. Stel dit duidelijk.
Niet-functionele eisen (deze omschrijven de omgeving waarin het pakket gaat
functioneren):
 Beschrijf de eisen waaraan het systeem waarop het pakket gaat draaien moet
voldoen. Leg op zijn minst vast op welk besturingssysteem de software draait,
welke andere software aanwezig moet zijn.
 Bepaal of er ook papieren handleidingen gemaakt moeten worden.
 Beschrijf de minimumeisen aan de kwaliteit van de gebruiker(s).
 Geef een omschrijving van de minimumcapaciteit van het product. Beschrijf
hoeveel records de database moet kunnen bevatten. Beschrijf eventueel hoe
snel de software moet zijn.
 Leg eventueel eisen wat betreft de interfaces vast.
 Deze eisen worden vaak in overleg met de opdrachtgever/klant vast gesteld.
 Niet-functionele eisen volgen vaak niet meteen uit de omschrijving van de
opdracht. Je moet wellicht nadere uitleg vragen van de opdrachtgever.
Het totale Software Requirements Document dient als basis voor het maken van de
contractafspraken en dient ook als basis voor het uitvoeren van de acceptatietest bij
oplevering van het product. Het is een bindend document voor beide partijen.
Voorbeeld “Hardware” Requirements Document voor het product waakhond:
Functionele eisen:
Het product maakt middels afgesproken geluid duidelijk dat er sprake is
van betreden van het te bewaken terrein door onbekenden.
Het product onderneemt pogingen om onbekenden te stoppen in hun
bewegingen of te verjagen van het terrein.
Het product is binnen redelijke grenzen in staat om onderscheid te maken
tussen bekend en onbekend en kiest in twijfelgevallen voor onbekend.
Het product blijft te allen tijde niet levensbedreigend voor ieder bezoek.
Niet functionele eisen:
Het product dient afdoende te worden voorzien van voedingsstoffen.
Het product dient voldoende te worden onderhouden op het terrein van
lichaamsbeweging.
-
Het product dient afdoende en regelmatig in contact te worden gebracht
met personen die de kwalificatie bekend dienen te krijgen.
Het product dient voldoende te worden onderhouden op het gebied van
training, gehoorzaamheid en reactiepatronen.
Het product heeft op de momenten dat het in bedrijf is ongelimiteerde
toegang tot het te bewaken terrein.
Het product is niet af te leiden van de taak door middel van snoep, seks of
drugs.
Je ziet dat je je met de niet-functionele eisen voor een deel indekt tegen het mogelijk
onvoldoende functioneren van je systeem, veroorzaakt door onvolkomenheden in de
omgeving waarin je product moet functioneren. Voor een deel beschrijven deze niet
functionele eisen verantwoordelijkheden van de opdrachtgever/klant!
Casusbeschrijving
Casus: Boten
Jullie groepje werkt bij een softwarebedrijf dat van een boothandel “De Stevige
Schuit” de opdracht heeft gekregen hun werkzaamheden te automatiseren.
Deze boothandel “De stevige schuit” heeft als kernbezigheid het verkopen van boten
aan klanten of het verhuren van boten. Klanten kunnen van te voren aangeven of ze
een boot willen huren via een website.
In een verkennend gesprek tussen een contactpersoon van jullie softwarebedrijf en
“De Stevige Schuit” is de volgende informatie over de werkwijze van het bureau naar
boven gekomen:
Boothandel “De stevige schuit” wil een klantenbestand opbouwen van alle klanten.
Klanten kunnen via een website aangeven of ze boten huren of kopen, ze hebben
dan de keuze uit acht verschillende soorten.
Zeilboot
Plezierjacht
Roeiboot
Motorboot
Rubberboot
Kano
Woonboot
Op deze website vullen klanten in wat ze willen bestellen,een afleveradres of ze van
een boot willen huren of kopen. In het laatste geval krijgen ze 10% korting als ze
tenminste een vasteklantenkaart hebben.
Een nieuwe klant kan een vasteklantenkaart krijgen door zich aan te melden op de
website.
Er werken 2 medewerkers die elk doorkrijgen op een scherm en zien wat er gehuurd
of gekocht wordt. Verder werken er in het magazijn 2 medewerkers die de boten
klaar maken voor verkoop of verhuur.
Jullie softwarebedrijf wil in de toekomst vaker dit soort programma’s gaan
ontwikkelen en jullie moeten het hele proces van ontwikkelen van de software goed
documenteren zodat er naderhand een soort draaiboek gemaakt kan worden dat in
de toekomst voor soortgelijke projecten gebruikt kan worden.
Let op!
Maak een technisch ontwerp.
Maak of een stand alone programma of een webdesign.
Maak een database.
Maak een handleiding voor “De Stevige Schuit”.
Houd een logboek bij.
Maak in elk geval een website waarin informatie over vishandel “De Stevige Schuit”
Het product moet kunnen werken op de computers van lokaal C12 met de daarop
geïnstalleerde software!
Beoordelingsmodel Eindpo
De beoordeling vindt plaats volgens onderstaande tabel. In principe is het eindcijfer
voor alle groepsleden het zelfde. Indien de docent daartoe aanleiding ziet kan
hiervan worden afgeweken.












Logboek
Software requirements document
Of PSD of Strokendiagram
Database
Ontwerp van de queries
Ontwerp van de interfaces
Black box testrapport
Handleiding
Toelichting in code
Visual Basic i.c.m. de database
(Of PHP ODBC i.c.m. de database)
HTML/PHP gedeelte werkt naar behoren
Totaal aantal punten:
Groepseindcijfer:
Namen
5
5
5
10
10
5
5
10
15
15
15
100
aantal punten/10
Individuele eindcijfers
Download