Software engineering
samenvatting P1
Inhoud
Wat is software engineering...................................................................................................................2
SLDC........................................................................................................................................................3
UML........................................................................................................................................................4
Software Development Processes..........................................................................................................6
Analyse data vs functioneel....................................................................................................................7
Domeinmodel.........................................................................................................................................9
Steps to create Class Diagram..............................................................................................................12
Alternative method: Zoek concepten dmv transacties.........................................................................14
Gegevensanalyse voorbeeld.................................................................................................................15
Conceptueel denken: klassen en associaties, features van een klasse.................................................16
Features van een klasse........................................................................................................................16
Objectdiagrammen...............................................................................................................................19
Multipliciteit en commerciële regels....................................................................................................21
Klassendiagrammen – verfijningen: Generalisatie................................................................................25
Klassediagrammen – verfijning: UML notatie.......................................................................................29
Klassediagrammen – verfijningen: Geschiedenis modelleren..............................................................30
Klassediagrammen – verfijningen: Associatieve klassen......................................................................32
Klassediagrammen – verfijningen: Aggregatie en compositie..............................................................35
Klassediagrammen – verfijningen: Statische attributen.......................................................................35
Class Diagram naar JavaCode...............................................................................................................37
Pagina 1 van 39
,Wat is software engineering
= abstract en conceptueel leren denken
o Je moet uit ruwe (abstracte) info concepten halen
o Abstract
“Houdt géén verband met de zichtbare werkelijkheid”
<-> concreet (concreet = mijn computer <-> abstract = het concept computer
(kan muis hebben, toetsenbord, …)
Bv. Liefde, succes democratie
o Conceptueel
“van, gerelateerd aan of bestaande uit concepten”
o Concept
= ”Een abstract of generiek idee dat veralgemeend werd uit specifieke
dingen
Bv. Concept tafel
4 poten
Tafelblad
Kleur
…
=> je kan andere tafels hieruit bedenken
Software -> structureren (orde aanbrengen)
Software engineering
o Analyse & design
o Analyse & ontwerp
Analyse
o Bepalen WAT een informatiesysteem moet kunnen (de vereisten zoeken)
Informatiesysteem = programma(‘s)
o Vereisten vastleggen in modellen
Bv. Een architect die een huis ontwerpt (wat willen de eigenaars, welke
vereisten moeten in dit huis,...)
Ontwerp
o Bepalen HOE een informatiesysteem in elkaar zit (het systeem gaan ontwerpen via
die vereisten)
o Ontwerp vastleggen in modellen
Architect: “Hoe gaan we dit huis opbouwen, met de vereisten in
achterhoofd" (dikte van muren, welke kamer waar, …)
Conceptueel denken = TOP-DOWN vs. Lineair denken = BOTTOM-UP
- Gaat voornamelijk via je - Gaat vooral via de linker hersenhelft
rechterhersenhelft.
- Wordt vaak beelddenken* genoemd. - Een lineair-causale manier van denken:
oorzaak-gevolg. Wat is de oorzaak van
het probleem? Goed in snelle probleem
oplossing.
- Goed in het leggen van verbanden, - Denken van klein naar groot, beginnen
creatief denken, het verzinnen van met de details en komen vervolgens
nieuwe dingen en het bedenken van vanzelf bij de oplossing.
oplossingen.
Pagina 2 van 39
, - Denken van groot naar klein. Zo hebben - Meeste mensen zijn lineaire denkers
ze eerst een oplossing voor een
probleem en gaan daarna pas naar de
details ervan kijken.
- Een andere manier van denken dan die - Eerder de norm in onze maatschappij
waarop de meerderheid van de mensen en schoolsysteem.
denkt.
o * bv. Studenten + Antwerpenaren => Antwerpse studenten
o Conceptueel denkers <-> lineair denkers
Moeilijk om met elkaar samen te werken, begrijpen elkaar meestal niet
Volgen allebei hun eigen logica
SLDC
System Development Life Cycle
o = Hoe een systeem ontwerpen (maken / programmeren)
o 1) Plannen & selecteren (nadenken over iets (wat je moet) (te) realiseren)
o 2) Analyseren
o 3) Ontwerpen
o 4) Implementatie en de operatie (hoe het werkt)
o Taken
Info verzamelen
Organiseren en interpreteren
Visualiseren
Modelleren (met UML)
Communiceren
…
o Fasering & aanpak
= gestructureerd -> methodologieën (= de studie van de wetenschappelijke
methoden, de procedures en werkwijzen) / tools
Pagina 3 van 39
, Kenmerken
Componenten = subsystemen
o Onderling gerelateerd? -> afhankelijk van elkaar
o Niet gerelateerd? -> Twee verschillende infosystemen
Begrenzing = blackbox (omvat alle componenten)
o Bij een blackbox weet je niet hoe dat het binnenin werkt
Doel = bestaansgrond van het systeem, waar dient het systeem voor
o Dit is er bij elk systeem!
Omgeving = buiten de begrenzing, heeft toch nog invloed
Interfaces = raakvlakken tussen systeem en omgeving (hier kan een
gebruiker het systeem aanspreken)
Invoer = voedsel van buitenaf
Uitvoer = wat het systeem teruggeeft aan de omgeving
Beperking = van binnenuit -capaciteit, snelheid, …- of van de
omgeving)
DOMEIN = begrenzing + omgeving
o Waarom software visueel modelleren?
Model = helpt bij het systeem te visualiseren
-> verzameling van diagrammen
Specificeert structuur
Brengt het gedrag in kaart
Van het systeem
Geeft een template
Documenteert de genomen beslissingen
o Hierdoor kunnen mensen het later ook nog bekijken en
snappen wat we hebben gevonden
Voor een VOLLEDIG model
Niets ontbreekt
Geen duplicaten (dingen mogen niet herhaalt worden in het model)
Elementen hebben
o Een naam
o Eenzelfde definitie, moeten hetzelfde gedefinieerd worden
zoals in elk diagram waarin ze voorkomen
Relationships
o moeten hetzelfde gedefinieerd worden zoals in elk diagram
waarin ze voorkomen
UML
= Unified Modeling Language (≠ Methode, ≠ Methodologie)
o Iedereen begrijpt en spreekt de (codeer)taal
= Modelleertaal die een standaard is voor Object Oriented Analysis & Design (OOA&D)
o Notatie: Symbolen
o Regels
Syntax: voorstellingswijze van symbolen
Semantiek: betekenis van symbolen
Pragmatiek: intenties van de symbolen
Wat je wil doen met de symbolen
Pagina 4 van 39
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
√ Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, Bancontact of creditcard voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper emmabogaerts1. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €5,39. Je zit daarna nergens aan vast.