Einführung
Point of the course: Giving an idea of how to model properly, not actually teaching you how to do everything.
Software: Is the program/code and everything surrounding it, aka internal strukture of the machine, other softwares that it communicates with, and hardware.
UML: Modelling language for software, see blueprints.
Modelling: Simplification and abstraction of a program code.
Design pattern: generalized ideas and solutions to specific types of problems.
Software engineering: Producing and maintaining software.
Developing software: Waterfall model vs Iterative and Incremental Developement.
Notes
DURING THE EXAM: You will be asked to translate UML to Java Code. Do not write out the complete code, just write a skeleton to show you understand what the diagram is about.
See Skript 2.2.7 for an example of this.
Aggregation/Komposition
Aggregation | Komposition |
Muss etwas haben | Muss etwas haben |
Kann ausgetauscht werden | Kann ausgetauscht werden |
??? | container wird Zerstört ⇒ teile werden zerstört
(Hut für garbage collection) |
Diagramme
Klassendiagramm
Objektdiagramm
Sequenzdiagramm
Kommunikationsdiagramm
Aktivitätsdiagramm
Zustandsdiagramm
Object oriented analysis (Design Model)
Use Case Analysis
Aktoren finden
Use Cases finden
Use Case Diagramm zeichnen
Use Cases beschreiben
Static Model Creation
Identify classes
Nomen finden
Mist löschen
Fehlendes hinzufügen
Identify associations
Assoziationen finden
Mist löschen (z.B. Redundanzen)
Fehlendes hinzufügen
Miltiplizitäten und Rollen hinzufügen
Identify attributes
Identify inheritance
Restructure the model
Modelling of Interactions
Creation of State and Activity Diagrams
Primary scenario.Klassen lebenslinie → State machine (do/…Acritity()
(active state), stable state))
secondary scenarios einbauen
Aktivitätsdiagramme für jede do-activity zeichnen
Restructure the model
Software Engineering
Object Design (from design model)
Add operation
From sequenz diagram
From state diagram
transitionen
do-Activities
Constructors
Setters/Getters
Add directions
Access rights (Attribute private!)
Mehrfach vererbung auflösen
Klassen (libs) wiederverwenden
Implemnetierung von state diagrams (erweitern der object desgign)
System design
-