Systeemanalyse examenvragen
2020
De cursusdienst van de faculteit Bedrijfswetenschappen
en Economie aan de Universiteit Antwerpen.
Op het Weduc forum vind je een groot aanbod van samenvattingen,
examenvragen, voorbeeldexamens en veel meer, bijgehouden door je
medestudenten.
Theorie
1. Is een use case een methodologie, techniek, tool of model? Waarom?
Een use case is een tool die ons helpt in het modelleren.
Methodologie manier van organiseren van software-projecten met mensen uitgesloten Model iets waar meerder dingen schematisch met elkaar in verband worden gebracht uitgesloten
Techniek een manier om iets uit te voeren, een doel te bereiken uitgesloten Use case is wel het resultaat van het gebruiken van een techniek.
2. Welke vorm van een use case (tekstvorm of modelvorm) zou je best gebruiken bij een analyseproject? Waarom?
Tekstvorm, liefst de meest uitgebreide vorm. Adhv de modelvorm kan je geen activiteiten afleiden, deze staan beschreven bij de flow of activities in de UC full description.
3. In OO gebruikt men zelfstandige naamwoorden en werkwoorden om zaken uit de realiteit weer te geven. Is dit bij een use case controller ook zo? Waarom (niet)?
Neen, een use case controller is een klasse met een abstracte functie die niet gelinkt kan worden aan iets uit de realiteit. De use case controller is het communicatie-kanaal tussen de UI-laag en de Domein-laag, in deze twee lagen bevinden zich veel klasse die objecten uit de realiteit weer geven (zeker in de domein-laag), maar de use case controller daartussen bevind zich op een veel abstracter niveau.
4. Waarom moet men in stap 2 van ER een m:n relatie vervangen/vermijden?
Extra document ERD-modelling: anders kan men geen correcte 5NV tabellen bekomen. Bij het opstellen vd pseudo-tabellen neemt men ook telkens de geassocieerde entiteiten op,
waarmee een multipliciteit van maximaal 1 geldt.
5. Nadelen van prototyping bij projectmanagement
H2: De nadelen van prototyping worden behandeld in H2. Hierbij wordt er telkens veel tijd en
budget gestoken (zeker bij throw-away prototyping) voor een prototype te presenteren dat men daarna gaat weggooien. Nadeel evolutionaire prototyping: prototype evolueert tot uiteindelijke IS, complexiteit van aanpasbaarheid neemt telkens toe risico dat je toch helemaal opnieuw moet beginnen.
UP wordt gezien als een tussenvorm van het WVM (predictieve aanpak) en de adaptieve aanpak. Desondanks wordt er geargumenteerd dat management cyclus van UP zo goed als gelijkend is met de WVM. Maar bij UP is er een overlap vd activiteiten, nl. implementatie bij inception/planningsfase, en requirement research bij de contruction fase, waar volgens het WVM maar enkel implementatie mag gebeuren.
7. Leg het nut uit van precondities en postcondities en geef een eigen vb
H5 Fully developped use case description: Pre- en postcondities worden gebruikt bij het
opstellen van een fully developped use case description. Preconditions geven de vereiste toestanden weer waarin het systeem zich moet bevinden voor de use case aanvangt. (Bv use case: PlaceOrder, heeft als precondition: customer must exist, anders kan met de bestelling niet correct linken). Postcondition zijn toestanden nadat de use case heeft aangevangen (bv: shipment booked).
8. Wat is een CRUD-matrix, geef een 3x3 voorbeeld en leg bij 2 cellen uit waarom het anders geïnterpreteerd kan worden.
CRUD wordt behandel in hoofstukken 5,6 en 7. Een vb ve CRUD-matrix is echter bij H6 p 233
(pdf 267). Bij de CRUD-matrix gaat het vaak voorkomen dat de resulterende use cases heel
nauw liggen, en best samengenomen kunnen worden.
9. Leg uit: Analysepatroon. Hoe ontstaan, wat het is en waarvoor het gebruikt wordt tijdens analyse + verband met vereisten definiëren.
Analyse patronen gebruiken is één vd vele technieken voor het verzamelen van informatie en definiëren v vereisten. Echter zijn ze nooit doorgebroken, en even populair geworden als de ontwerppatronen.
10. Bespreek de principes die voorkomen in het Agile Manifesto.
De bedrijfskundige en technische mensen echt nauwer samenwerken om software met competitief voordeel te ontwikkelen vs. WVM zegt dat alles verloopt via een project planner en analyst die de bedrijfskundige mensen interviewt.
WVM beschouwt programmeurs al een homogene groep bv 20 programmeurs doen 2 maal het werk van 10 programmeurs vs. Agile zegt vertouwen hebben in (schaarse) groep programmeurs...
FTF conversation (agile) over project documents (WVM)
WVM geeft geen software in eerste fase agile zegt software primeert vanaf het begin
Self-organising de software programmeurs gaan zelf de requirements
onderzoeken en onderzoeken waar zij complexiteit zouden ondervinden vs WVM zegt business people & technische people gescheiden.
11. Wat zijn analysepatronen? In welke maten verschillen ze van interviews met eindgebruikers?
Bij het toepassen ve analyse patroon bij het opstellen van de vereisten ga je een op voorhand bepaalde opeenvolging van stappen (nl. patroon) volgen bij het bepalen van events en opstellen van use cases. Een analyse patroon zal voorkomen binnen een industrie waar al veel software projecten zijn verwezenlijkt, en waar er over de brug tussen IT en business-technische kant al veel info is vergaard. Interviews daartegenover hebben als doel om de business-technische kant volledig te gaan onderzoeken als software analyst. Je bekomt ook zo je eigen unieke events en use cases volgend uit de interviews.
12. Voor het vinden van use cases kan men beroep doen op events. Hierna kan men dan de
entiteiten bepalen van het ERD. Men zou de entiteiten ook kunnen bepalen op basis van use case die volgen uit de CRUD-Analyse. Geeft dit meer, minder of evenveel entiteiten? Welke verkies je?
Entiteiten worden niet beïnvloed door het gebruik van de event-decomposition techniek of CRUD-techniek. Men dient steeds te streven naar de 5e NV en met de techniek van de UA
komt men zo steeds op hetzelfde terecht. Er zijn wel verschillen wat betreft aantal UC/Events.
13. Leg volgende begrippen uit en maak de connectie met koppeling, illustreer tevens met een voorbeeld. : Portection from variations + Indirectie
Protection from variations: Bij de ontwerp stap staat een 3-lagen architrectuur centraal. Waar de UI-laag, Business/Domein-laag en Database-laag strikt van elkaar gescheiden staan. De UI-laag is onderheving aan verandering (bv. een webpagina die om het jaar opnieuw wordt ontworpen). Door het toevoegen van controller klassen staan de UI-laag en domein-laag gescheiden, en is de domein-laag beschermd tegen de aanpassingen in de UI-laag. Dit toont ook het indirectie principe aan: de UI-laag communiceert niet rechtstreeks met de domein-laag.
Oefeningen
Gestructureerd:
Opgave: Databanksysteem bouwen waarbij ongevallen geregistreerd worden. Een bedrijf bestaat uit verschillende afdelingen waarvan naam en id worden bijgehouden. Er zijn uiteraard ook
werknemers, de worden gekenmerkt door: voornaam, achternaam, geboortedatum, werknemer nummer en statuut. Wanneer een ongeval gebeurt wordt telkens een ID bijgehouden en uiteraard ook de datum. Men wil tevens weten in welke afdeling het gebeurde, welke werknemers betrokken raakten, wat hun verwondingen waren en hoeveel dagen arbeidsongeschiktheid optrad. Er is ook een ideeënbusje waarin ideeën kunnen worden gestopt waarvan datum, onderwerp en beschrijving worden bijgehouden. Uiteraard ook welke werknemer het heeft ingediend.
1. Maak ERD + pseudo-tabellen + 5e NV Tabellen
2. Je krijgt 3 events uit toegepast uit deze opgave stel een event table op 3. Stel nu voor elk van de 3 de DFD fragments op
Object Georiënteerd:
Je krijgt reeds een volledige uitwerking en dient enkel nog 2 sequence diagrams op te stellen: eentje met controller en eentje met UI, controller en DA.