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
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller emmabogaerts1. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.78. You're not tied to anything after your purchase.