H5 - Ontwerpfase deel 2 Flashcards
Uitleggen hoe een geval van generalisatie/specialisatie in een relationele database gerealiseerd kan worden en wat de voordelen/nadelen zijn van elke keuzeopties. Dit kunnen aantonen met een voorbeeld.
- Attributen van specialisatieklasse en generalisatieklasse plaatsen in één tabel
o Attributen van subtypes zijn optioneel
Voordeel: query’s kunnen snel uitgevoerd worden
Nadeel: de database zal veel null-waarden zal bevatten
- Meerdere tabellen creëren: 1 voor generalisatieklasse en 1 per subtype
o De primaire sleutel fungeert tegelijk als primaire sleutel van het subtype én als verwijssleutel naar het supertype.
Voordeel: aantal null-waarden veel kleiner
Nadeel: query’s waarbij ook de attributen van het subtype betrokken zijn, zijn minder efficiënt.
- We creëren gewoon per subtype één tabel, en geen tabel voor de generalisatieklasse.
o Dit is zelden de beste oplossing.
Ontwerpen van mens-machine-interactie
Beknopt uitleggen welke subtaken bij deze taak uitgevoerd worden.
Analyse van de gebruiker en de randvoorwaarden waarbinnen de applicatie zal gebruikt worden.
- Omgevingsfactoren, besturingssysteem
Bepalen van de doelstelling van de applicatie en het belang van de gebruiker
- Gebeurt normaal tijdens de analysefase
Domeinmodel raadplegen
- Voor ieder applicatieonderdeel bepalen welke objecten zullen gemanipuleerd worden en welke handelingen erop moeten uitgevoerd worden
Navigatiemodel opstellen
- Bepalen van de opeenvolging van de verschillende rapporten en schermen en de relaties tussen de verschillende schermen
Detailontwerp van elk afzonderlijkonderdeel
Navigatiemodel en detailontwerp opstellen verloopt parallel
Beslissingen in detailontwerp beïnvloeden de navigatie en omgekeerd
Detailontwerp
Het begrip “navigeerbaarheid” tussen klassen uitleggen en voorbeelden geven.
Dit betekent dat een object van één klasse weet heeft van het bestaan van een object van een andere klasse.
- Associaties binnen klassen. (Dit kan in twee richtingen)
- Vb. Uitlening associëren aan Lid in java:
o In uitlening een verwijzing naar het lid voorzien
private Lid lener;
o In lid verwijzingen naar uitleningen voorzien (een lijst van uitleningen)
private Uitleningen uitleningen;
o Of in beide richtingen (afgeraden, te sterke koppeling tussen klassen.)
Beknopt uitleggen waarvoor sequentie- en collaboratiediagrammen gebruikt worden. Het is niet nodig die modellen zelf te kunnen tekenen.
Door het gebruik van sequentie en collaboratiediagrammen kunnen wij:
- Modelleren hoe elke use-case wordt uitgevoerd, welke objecten bij de uitvoering betrokken zijn en welke berichten zij naar elkaar sturen.
- > Wij kunnen als het ware scenario’s gaan beschrijven.
Uitleggen waarvoor een componentdiagram gebruikt wordt en een voorbeeld geven.
Om de gedetailleerde systeemstructuur te tonen, meer bepaald de componenten en hun onderlinge afhankelijkheden.
Maatregelen voor security en privacy
Uitleggen waarom een goed ontwerp van security- en privacy procedures van belang is.
Er zijn wettelijke verplichtingen in verband met beveiliging en privacy.
Een informatiesysteem moet aan zekere voorwaarden van betrouwbaarheid en beschikbaarheid voldoen.
Enkele voorbeelden geven van elementen die hierbij ontworpen of beschreven worden.
Privacy
Toepassen van GDPR
- Privacy by design: Bij het ontwerpen van het systeem ervoor zorgen dat het systeem de gegevens voldoende beschermt
- Privacy by default: Je mag de gegevens niet hebben zolang je daarvoor geen toestemming hebt gekregen.
- Encryptie van gegevens
- Rekening houden met de rechten van de betrokkenen
Security
- Toegang beveiligen tot de apparatuur, programmatuur en de opgeslagen gegevens.
- Foutdetectie
- Back-up & recovery
Ontwerpen van manuele procedures
Beknopt uitleggen wat hiermee bedoeld wordt en waarom dit van belang is. Enkele voorbeelden geven.
Een stap voor stap uitgeschreven instructie die beschrijft hoe een persoon die betrokken is bij het informatiesysteem in een bepaalde situatie moet handelen.
Belangrijk omdat het een eenduidige richtlijn is die aangeeft hoe men moet handelen en omdat het een goede hulp is bij het opleiden van personeel.
Voorbeelden van manuele procedures:
Data-entry: Waar komen de gegevens vandaan, hoe moeten ze worden uitgevoerd, hoe moet er gereageerd worden bij foute invoer, …
Gebruik van schermen en menu’s
Correctiehandelingen bij defecten of fouten
Handleiding, on-line help en opleiding
Beknopt uitleggen wat hiermee bedoeld wordt en waarom dit van belang is.
In de ontwerpfase wordt er ook nagedacht hoe de handleiding en online help zullen ontwikkeld worden.
Mogelijke vragen die worden gesteld zijn:
Wat is het doelpubliek?
Wat is het budget?
Wat zijn de technische hulpmiddelen?
Handleidingen en online help:
Belangrijk want bij applicaties waar het ontwikkelingsteam niet permanent aanwezig is, zullen handleidingen en online help de enige middelen zijn waar de eindgebruikers op terug kunnen vallen.
Opleidingen:
Belangrijk want de opleidingen moeten goed gepland worden zodat de gebruikers van start kunnen gaan bij lancering van de software, anders zou de software voor een lange tijd ongebruikt blijven.
Technische infrastructuur
Beknopt uitleggen wat hiermee bedoeld wordt en waarom dit van belang is.
Tot de technische infrastructuur behoren:
- De programmeertaal en programmeeromgeving
- Netwerkarchitectuur
- DBMS
- Distributie van de verschillende componenten over verschillende netwerknodes.
Belang:
o In een gedistribueerde omgeving is het belangrijk om te beschrijven waar (op welke node in het netwerk) bepaalde subsystemen, modules, klassen, databases, enz. fysiek aanwezig zullen zijn.
Uitleggen waarvoor een opstellingsdiagram dient en een voorbeeld geven.
Opstellingsdiagrammen dienen ervoor om de fysieke architectuur weer te geven in termen van hardwarecomponenten en de communicatieverbindingen tussen die componenten.
Opstellen programmeer- en testplan
Beknopt uitleggen wat dit inhoudt.
Op basis van de technische programmabeschrijvingen kan de planning van het programmeren en het testen verder worden gedetailleerd.
- Het projectteam stelt een tijdsplan op met een programmatieplan en testplan.
- Programmatieplan:
o Per programmaonderdeel wordt er bepaald wie het onderdeel zal ontwikkelen en hoeveel tijd het vraagt. - Bij het testplan horen de:
o De computeruitrustingen waarop zal getest worden
o Wie de test uitvoert en hoelang
o De criteria hoe de testresultaten moeten worden beoordeeld
o Testfiles - Er moeten ook duidelijke prioriteiten bepaald worden
Testen van het ontwerp
Beknopt uitleggen hoe ontwerp getest kan worden.
Ontwerpfouten kunnen worden ontdekt door ontwerpinspecties en- walkthroughs uit te voeren.
Inspecties:
o Alle scenario’s van de use-cases worden in detail doorlopen om na te gaan of alle gevallen, en vooral uitzonderingsgevallen, voorzien zijn.
Er moet rekening gehouden worden met randvoorwaarden zoals tijdbeperkingen, kwantitatieve limieten, enzovoort
Testen van het ontwerp
Rol van prototyping hierin correct uitleggen.
Bij twijfel over de haalbaarheid van een bepaald ontwerp kunnen we een prototype ontwikkelen en aan de hand daarvan nagaan of het ontwerp technisch haalbaar is of voldoende performant is.