Samenvatting Modeleren en Systeemontwikkeling
Inhoud
Samenvatting lesstof:............................................................................................................................2
Tentamen oefenvragen:......................................................................................................................32
,Samenvatting lesstof:
Week 1:
Waterfall model: je hebt 5 opeenvolgende fases:
- Requirements(behoefte): breng je in kaart.
- Design: je ontwerpt een systeem
- Coding: je gaat programmeren
- Verification: testen door te kijken of je het
juiste systeem hebt gebouwd voor je
gebruikers.
- Maintanance: onderhoud
Kritiek: opdrachtgever kan van gedachten veranderen, budget, je komt achter problemen aan het
ontwerp wat te duur of complex blijkt te zijn. Al bouwende krijg je pas een goed beeld wat je met je
systeem wilt.
Up (Unified process) benadrukt iterative software development. Develop software in time-based
mini-projects is called iterations. Elke iteration has clearly defined milestones, including a tested,
integrated, executable system. Systeem groeit over de tijd mee, iteratie bij iteratie. Resultaat van
een iteratie is niet alleen een experimentele prototype, maar een onderdeel van het uiteindelijke
systeem. Elke iteratie pakt nieuwe requirements aan. An iteration may occasionally revisit existing
software and improve it. Door gebruik te maken van iteraties, leidt dit tot veel feedback, kansen om
aanpassingen te maken.
UP (unified process) heeft 4 fases:
- Inception: Breng requirements in kaart, wat moet het systeem doen, businessmodel maken.
Mogelijk laten maken van tests en reviews. Hou altijd rekening met veranderingen.
Overeenstemming krijgen met stakeholders over het project.
Het moet een aantal dingen opleveren:
o Vision document: globale omschrijving van hele project
o Use-cases: hoe gaan eindgebruikers het systeem gebruiken
o Project glossary: a collection of vocabularies or phrases (the terms) captured from
various models, reports and any other artifacts in the software project.
o Business case: hoe verdienen we er geld mee
o Risk assessment: wat kan er fout gaan en wat zijn de risico’s?
o Project plan: welke fases en iteraties zijn er en wanneer gaan we wat bereiken
o Opleveren van 1 of meer experimentele prototypes.
- Elaboration: Je zit nog steeds in proces van ontwerp en inventarisatie. Er komen alleen meer
details in beeld. Planning wordt verfijnd, risk analyse is er en architectuur van systeem moet
in beeld komen. Deze fasen moet ook een prototype opleveren. Zekerheid krijgen over de
vraag of je in staat bent om dit project succesvol af te ronden.
Er moet in kaart worden gebracht wat de belangrijkste wensen zijn ten aanzien van de
functionaliteit van het systeem, de use-case models, maar ook secundaire eisen moeten in
kaart worden gebracht, voorbeeld: systeem moet gegevens van 10.000 studenten kunnen
omvatten en binnen 2 sec dit moeten geven. Het opgeleverde prototype moet opgebouwd
, zijn volgens de lijnen van de architectuur, risks moeten helder zijn, belangrijkste business
case moeten ondersteund worden. De totale projectplanning is in veel meer detail ingevuld
en interaties liggen vast. A stable vision of the software system and its architecture.
Minimized the risks that could cause the project to fail if you choose to continue. Better
estimates for project costs and planning.
- Construction: The main goal of the construction phase is to develop and test a baseline
product upon completion, there should be a clear description of the product status, together
with user manuals. The tool should be ready to be deployed – even if not all features are
fully implemented.
- Transition: Een eerste versie van het systeem is klaar en kan gebeta-test worden. Gebruikers
en key-users moeten getraind worden. Systeem moet parallel draaien met bestaande
systemen. Vaak komt er veel tuning, bug-fixing, processing enhancements and
implementeren van onafgeronde features terug. Doel is users gebruik te maken van je
product, overeenstemming met alle stakeholders dat de baseline product afgerond is,
iteratively verbeteren van de baseline product totdat alles af is.
Side notes:
Inception gaat niet over het bepalen hoeveel weken een feature nodig heeft om gemaakt en
geïmplementeerd te worden. Of het kiezen welke kleur de GUI krijgt.
Onderdeel van elaboration met kleine uitleg van termen:
Use-case: omschrijft hoe gebruikers het systeem gaan gebruiken/besturen. To establish the
functional and non-functional requirements of a system. Supplementary requirements capture the
non-functional requirements. Software architecture: indicates the organization and structure of the
major elements of the system, including behaviour, responsibilities of the systems and subsystems,
and their collaborations. It also includes a motivation why the system is designed the way it is.
, Dus doelen in 1 zin:
- Inception: High level overview how people will end up using the system, few carefull thought
out of use cases.
- Elaboration: Stable version van software van systeem, architectuur, use-cases,
minimalizeren van risico’s, betere schatting van kosten en planning.
- Construction: Develop and test a baseline product, bijhouden van product status.
- Transition: Enabling users to use your product, achieving consensus with all stakeholders
that the baseline product is complete and iteratively refining the baseline until the final
product is implemented.
UP identifies six distinct kinds of ‘engineering activity’:
1. Business modelling: aims to document existing business processes to establish a common
understanding between various stakeholders about how the organization works.
2. Requirements engineering: aims to describe what the system should do, allowing customers
and developers to agree on that description.
3. Analysis & Design: aims to describe how the system should be implemented, in accordance
with the requirements it should satisfy