Software Development - L05
Software Development - L05
2023
1
System Modeling
Class Diagram
2
System Modeling
Class Diagram
gives an overview of a software system by displaying classes,
attributes, operations, and their relationships. This Diagram includes
the class name, attributes, and operation in separate designated
compartments.
gives a high-level view of an application
helps construct the code for the software application
development.
3
Class Diagram
What is Class?
4
Class Diagram
Classes
5
Class Diagram
Class Name
6
Class Diagram
Class attributes
An attribute is named property of a class which describes the object being modeled.
The attributes are generally written along with the visibility factor.
Visibility describes the accessibility of an attribute of a class.
Public, private, protected and package are the four visibilities which are denoted by
+, -, #, or ~ signs respectively.
Abstract attributes are indicated by italic.
Static attributes are indicated by underline.
Attribute format: visibility_symbol name : type [multiplicity ordering] = default_value
{constraint}
7
Class Diagram
Class attributes Cont..
8
Class Diagram
Class operations
10
Class Diagram
Benefits of Class Diagram
11
Class Diagram
Association relationships
12
Class Diagram
Association relationships
13
Class Diagram
Association relationships
14
Class Diagram
Association relationships
15
Class Diagram
Uml classes and association
16
Class Diagram
Multiplicity
17
Class Diagram
Classes and associations in the MHC-PMS
18
Class Diagram
The Consultation class
19
Class Diagram
Associations relationships (Aggregation)
20
Class Diagram
Associations relationships (Aggregation)
21
Class Diagram
Associations relationships (Aggregation)
22
Class Diagram
Generalization
23
Class Diagram
Generalization
24
Class Diagram
Generalization Hierarchy
25
Class Diagram
Generalization Hierarchy with added detail
26
Class Diagram
Example of identifying class Multiplicities, attributes and
operation
27
Behavioral models
Generalization Hierarchy with added detail
28
Activity diagram
29
Activity diagram
Activities involved in ATM transaction
30
Activity diagram
Decision – Merge node
31
Activity diagram
Synchronization
32
Activity diagram
Swimlanes
33
Behavioral models
State machine models
34
State machine models
State machine models
35
State machine models
State machine models
36
State machine models
Weather station state diagram
37
Architectural model
38
Architectural model
Architectural patterns
39
Architectural model
Model- View- Controller
40
Architectural model
Model- View- Controller
41
Architectural model
Layered Architectural
42
Architectural model
Architectural of the LIBSYS system
43
Architectural model
Repository Architectural
44
Architectural model
Repository Architectural
45
Architectural model
Client-Server Architectural
46
Pipe and filter Architectural
State machine models
47
Pipe and filter Architectural
48
Pipe and filter Architectural
Compiler Architectural
49
References
Textbooks
• Cha, S., Taylor, R. N., & Kang, K. (Eds.).
(2019). Handbook of software engineering. Springer
International Publishing.
• Hodges, J. L. Software Engineering from Scratch.
• Loubser, N. (2021). Software Engineering for
Absolute Beginners. Apress.
50