Software Development - L04
Software Development - L04
Software Development - L04
2023
1
System Modeling
2
What is UML?
3
UML Advantages
4
System Perspectives
5
System Perspectives
6
System Perspectives
7
System Perspectives
8
System Perspectives
9
UML-2 Diagrams
• Use case diagrams represent the functions of a system from
the user’s point of view
• Class diagrams represent the static structure in terms of
classes and relationships
• Object diagrams represent objects and their relationships, and
correspond to simplified collaboration diagrams that do not
represent message broadcasts
• Sequence diagrams are temporal representation of objects
and their interactions
• Collaboration diagrams are spatial representation of objects,
links, and interactions
10
UML Diagrams
• State chart diagrams represent the behavior of a class in
terms of states
• Activity diagrams are to represent the parallel behavior of
an operation as a set of actions
• Component diagrams represent the logical components of
an application
• Deployment diagrams represent the deployment of
components on particular pieces of hardware
11
System Perspectives
12
Context Models
14
Interaction models
15
USE CASE Diagram
• A use case diagram establishes the capability of the system as a
whole from the user’s point of view
16
USE CASE Diagrams – Use Case
Cash Withdrawal
17
USE CASE Diagrams – Use Case
• Determining use cases:
– What functions will the actor want from the system?
– Does the system store information?
– What actors will create, read, update, or delete that
information?
– Does the system need to notify an actor about changes in
its internal state?
• Associations between actors and use cases are indicated in use
case diagrams by solid lines. An association exists whenever an
actor is involved with an interaction described by a use case.
• System boundary boxes (optional), represented by a rectangle
around the use cases to indicates the scope of your system.
Anything within the box represents functionality that is in scope
and anything outside the box is not.
18
USE CASE Diagrams – Example
System (subject) name
Use Cases
Use case name
Actor name
Association
Actors Actors
System boundary
Association
19
USE CASE Diagram
20
USE CASE Diagrams – Use Case Relationships
22
USE CASE Diagrams – Use Case Relationships
<<include>>
– It is a generalization relationship denoting the inclusion of all
the behavior described by another use case in the base use
case.
– It can also be considered as an invocation of a use case by
another one. You use include dependencies whenever one
use case needs the behavior of another.
<<Inheritance>>
– Use cases can be inherited from other use cases, offering a
third opportunity to indicate potential reuse. The inheriting
use case would completely replace one or more of the
courses of action of the inherited use case whenever
needed.
23
USE CASE Diagrams – Use Case Relationships
<<extend>> relationship
Inheritance relationship
<<include>> relationship
24
USE CASE Diagrams – Example
25
USE CASE Diagrams – Example
26
USE CASE Description
27
USE CASE Description
28
USE CASE Description: include
29
USE CASE Description: include
30
USE CASE Description: Inheritance
31
USE CASE Description: Inheritance
32
USE CASE Description: Inheritance
33
USE CASE Description: extend
34
USE CASE Description: extend
35
USE CASE Description: extend
36
Sequence diagram
37
Sequence diagram
38
Sequence diagram
39
Sequence diagram
40
Sequence diagram
41
Sequence diagram
42
Sequence diagram
43
Sequence diagram
44
Sequence diagram
45
Sequence diagram
46
Sequence diagram
47
Sequence diagram
48
49
Sequence diagram
50
Sequence diagram
51
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.
52