CSIT314 - Topic 3 - Advanced Unified Modelling Language
CSIT314 - Topic 3 - Advanced Unified Modelling Language
Software Development
Methodologies
Advanced Unified Modelling Language
Modelling Language
is written in describes
Modelling Bridge
System
language
UML
https://en.wikipedia.org/wiki/Unified_Modeling_Language
“4+1” View
• Various ‘stakeholders’
• Functional and non
functional requirements
• Conceptual and Physical
• 1 is for use case view, or
known as scenario (user
requirement)
https://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf (1995)
Diagrams and views
• Logical:
– Class, object, package, composite structure, state
• Process:
– Communication, activity, interaction overview
• Development:
– Component
• Physical:
– Deployment
Conceptual and physical
• Logical View and Process View
– conceptual level
– used from analysis to design
– the logical view is concerned with the functionality that the
system provides to end-users
– the process view deals with the dynamic aspects of the system,
how they communicate, and focuses on the runtime behavior of
the system
• Development and Physical View
– physical level (software and hardware)
– represent the application components as built and deployed
Use case view
Basic Flow:
The user opens the mobile banking application.
The user enters their username and password.
The application validates the user's credentials against the bank's authentication
server.
If the credentials are valid, the application grants access to the user's account.
The user is redirected to the main dashboard of the mobile banking application.
Alternative Flows:
If the user enters invalid credentials:
Then blabla.
If the user forgets their password:
Then blabla
Use case or story
• Includes Relationship
– compulsory of Use Cases
Use Case Relationship
• Extends Relationship
– optional of Use Cases
– alternative courses of
the same interaction
– only occur under certain
conditions
Logical view
• the organization of software components,
their relationships, and the flow of data Package
or control between them
• Main diagrams:
– class diagrams: model the system composite structure
– package diagrams: logically group
different class diagrams
– Optional diagrams : class
• Object: explain the class
relationship via instances
• State Machine:explain internal
states of a specific class object state machine
• Composite structure: model the
relationship between parts of a
class
UML class symbol Person (class name)
empty
• The most basic class symbol is a box with the class name
• Generalization/specialization
– subclasses describe properties that
are specializations of a superclass
– an "is-a" relationship
– all properties of superclass are
inherited by subclass (attributes,
operations and associations)
Association
• A dependency relationship
– if a package is changed, the dependent package
also could have to be modified
Package diagram benefit
Alexander Egyed. 2002. Automated abstraction of class diagrams. ACM Trans. Softw. Eng. Methodol. 11, 4 (October 2002), 449–491.
Package diagram benefit
• What is a state?
– It is a set of values (of attributes) that describe an object
at a specific point in an object’s life
• student’s program, student’s semester, etc. determine a state
of the Student object
– Some of the objects in the system are quite dynamic in that
they pass through a variety of states over their existence
• A student can change from “new” to “current” to “former
State Diagram: Event
• Source State
– object receives the event and then it may “fire”
• Event Trigger
– the event whose reception by the object makes it eligible to “fire”
• Guard Condition - An optional expression to see if it should “fire”.
– "when you go out in the morning (event), if the temperature is below
freezing (condition), then put on your gloves (actions)" and move to
next state.
• Action
– an executable atomic computation
• Target State
– the state that is active after the completion of the transition
• Guard Condition and Action are optional
Example