Systeemontwikkelingsmethoden 2023-2024 (eindtentamen)
Deze slides zijn gebaseerd op colleges van de universiteit van Utrecht inku.
The Unified Modelling Language (8-1-2023)
Analysis
• Aims to come up with an abstract model of the problem domain
• To ease the transition from requirements and use cases to a technical specification
• A good model simplifies reality, but represents all relevant data
Why model software?
•Software is too complex to oversee all the details at once: we need abstractions!
• Windows 10 has about 50 million lines of code
• The Linux kernel has about 28 million lines of code
•Code is written for a machine to execute - not necessarily for a human to understand
Unified Modelling Language
• The UML is a single language with 14(!) different notations:
• use case diagrams
• activity diagrams
• class diagrams
• sequence diagrams
• and several others
• It is the de facto standard way for designers, developers, business analysts, and any other
technical stakeholders to communicate
Before describing the process of analysis further, we need to describe the UML notation in more
detail
UML: activity diagrams
Useful to describe existing business processes. This can help to validate that you and your customer
agree on how the current business works.
Nice complement to use cases
Example activity diagram
1
,UML: activity diagrams
UML: activity diagrams
•Particularly useful during the Business Modeling phase of the UP
•where you establish how the current business processes work
UML: class diagrams
• One of the most common diagrams in the UML
• They consist of:
• boxes to represent classes (together with their attributes and methods)
• various arrows to describe the relation between classes
• These diagrams are drawn at a varying level of detail, depending on the situation
• Conceptual or specification perspectives
Use modifiers to indicate the visibility of methods and attributes:
• + indicates a method or attribute is public, visible by any other class
• - indicates a method or attribute is private, only visible within the class
• # indicates a method or attribute is protected
2
,Mechanism to enforce encapsulation
Different levels of detail
Choose the right level of detail, for the right situation:
• Early sketches: just use class name
• Full design: complete overview of attributes and methods
Goal: communicate unambiguously with developers
Write the class name in italic to define that class as abstract
Specific relations between objects
Inheritance
Read as:
•B is a subclass of A
•B is derived from A
•A is the superclass of B
•B inherits from A
• "subclass" == "subtype"
Examples
3
, Problem -> a class should only have 1 superclass
Aggregation and association
Read:
•A has a B
•B is a part of A
Aggregation or attribute?
Typically you should use:
•attributes to describe primitive types
•aggregation to describe the relation with other classes
Aggregation example
Note that:
•The Aircraft class is kept abstract;
•Jets and Helicopters are subclasses of Aircraft. A picture is worth a thousand words
4
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, creditcard of Stuvia-tegoed 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 bregjem1. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €6,98. Je zit daarna nergens aan vast.