AWS Community Day CPH - Three problems of Terraform
Uml
1. Unified Modeling Language
(UML)
CSCI 6050 Software Engineering
January 19, 2005
Trentin Bishop
Micah Lewis
Amit Mathew
Rufin Tshinanga
Stephen Upchurch
2. Why do we need models?
To create a simplified representation
of a real software system
3. What is UML?
A popular, standardized modeling
language for object-oriented software
The Object Management Group (OMG) is
the group that dictates the UML standard
Created by Grady Booch, James
Rumbaugh, and Ivar Jacobson
7. Use case diagrams
Describes the functional behavior of the system
from the user’s point of view
Used during the requirements elicitation stage to
represent external behavior
Actor: User, external system, or a physical
environment
Use case: a class of functionality provided by
the system as an event flow
Has entry and exit conditions, flow of events, and
participating actors
12. UML Class Diagram
Depict the classes within the model
Illustrates the class attributes (member
variables), operations (member functions),
and relationships with other classes
13. UML Class Diagram Symbols
CLASS Class Name
Composition relationship
Class 1 is composed of a Class 2
Class 1 Class 2
Inheritance relationship
Class 2 and Class 3 derive from Class 1
#
Number of links each class object
may contain
Class 1
Class 2 Class 3
Class 1 Class 2 Aggregation
A collection of other classes
14. UML Class Diagram Example
SimpleWatch
PushButton Display Battery Time
1
1111
1 22
SimpleWatch class contains
2 PushButtons
1 Display
2 Batteries
1 Time
15. UML Class Diagram Example
http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/class.htm
16. UML Class Diagram Example
The class Order is associated with the class Customer
The multiplicity denotes the number of objects
For example, Order object can be associated only one customer
but a customer can be associated to many orders
18. UML Statechart Diagram
A statechart diagram shows the behavior
of classes in response to external stimuli
This diagram models the dynamic flow of
control from state to state within a system.
19. Basic Statechart Diagram Symbols and
Notations
States represent situations
during the life of an object
A solid arrow represents the
path between different
states of an object
A filled circle followed by an
arrow represents the
object's initial state.
An arrow pointing to a filled
circle nested inside another
circle represents the object's
final state.
20.
21. Description of state chart diagram
State:
Display alarm time
Display clock time
No sound
Sound on
Buzzing
Playing radio
Transition:
On
Off
Hold alarm
Alarm switch off
Change Hrs/Min
Radio
Activity:
Do/wait for clock time to alarm time
23. Sequence Diagrams
Describe the dynamic behavior between
actors and the system and between
objects of the system
Used during requirements analysis
To refine use case descriptions
To find additional objects
Used during system design
To refine subsystem interfaces
24. Sequence diagram notation
Classes are represented by columns
Messages are represented by arrows
Activations represented by narrow
rectangles
Lifelines are represented by dashed lines
26. Example cont.
-The left-most column represents the timeline of the WatchUser who initiates the use
case.
-The other columns represent the timeline of the objects that participate in this use case.
References: Page 33 Object-Oriented Software Engineering Bernd Bruegge, Allen H. Dutoit
28. Activity Diagrams
Used to represent the behavior of a system in terms of
activities and their precedence constraints
Compared to flowchart diagrams because …
They can be used to represent control flow (order in which
operations occur)
They can be used to represent data flow (objects exchanged
among operations)
The completion of an activity triggers an outgoing transition
which may initiate another activity
31. Example Explained
The 1st
activity initiated is Open Activity. After all the
operations in this activity have been executed, the
activities Allocate Resources, Coordinate Resources &
Document Incident are initiated. (Note: There is a
complex transition between Open Activity and the next
three activities).
These three activities may occur in sequence or
concurrently.
Even if the three activities don’t occur concurrently,
Archive Incident is not initiated until all three have been
completed.
32. References
B. Bruegge, A. Dutoit. Object-Oriented
Software Engineering: Using UML,
Patterns and Java, Second Edition. 2003.