Lecture 03: UML (Unified Modeling Language)
Things
define the static part of the model.
Behavioral Modeling Diagrams
describes the interaction in the system.
UML
developed by Booch, Rumbaugh, and Jacobson
Arrows
______ represent the direction flow of the flow chart.
UML
A graphical language for expressing object-oriented designs
standard symbol for a decision
A marker shaped like a diamond is the ______.
Simple Association
A simple association typically corresponds to an instance variable in Class A of the target class B type.
Generalization
A type of inheritance
Diagrams
All the elements, relationships are used to make a complete UML diagram and the diagram represents a system that can be understood in better and simple way
Actors
An ______ is a role that a human, device, or another system plays with respect to the system - actors do not need to be humans
Package
_______ is the only one grouping thing available for gathering structural and behavioral things.
Use case
_______ represents a set of actions performed by a system for a specific goal.
Packages
________ can be used to provide controlled access between classes in different packages.
Interface
_________ defines a set of operations which specify the responsibility of a class.
Component
_________ describes physical part of a system.
Use-case Diagram
models the interactions between the system, the user and possibly with other systems
black circle
A __ is the standard notation for an initial state before an activity takes place.
Node
A ____ can be defined as a physical element that exists at run time.
join
A ____ combines two concurrent activities back into a flow where only one activity is happening at a time.
fork
A ____ splits one activity flow into two concurrent activities.
package
A _______ can contain classes and other packages and diagrams.
package
A _______ is a container-like element for organizing other elements into groups
Class Diagram
A graphic presentation of the static view that shows a collection of declarative model elements, such as classes, types and their contents and relationships
Dependency
Changes to class B may affect class A
Association
Could be unidirectional or bi-directional
State machine
Events are external factors responsible for state change.
Generalization
This process will make that common code to general code. So that, this general code can be reused by any of its Subclass.
Simple Association
In an association Class A 'uses' objects of Class B
Realization
In realization, new class implements all unimplemented abstract methods and provide concrete implementation.
Composition
In this relationship, one object contain other object.
Goals of UML
Intended to be as simple as possible while still being capable of modeling the full range of practical systems that need to be built
black circle
It can either stand alone or you can use a note to further elucidate the starting point.
Architectural Modeling Diagram
It contains both structural and behavioral elements of the system.
State machine
It defines the sequence of states an object goes through in response to events.
Behavioral Modeling Diagrams
It represents the interaction among the structural diagrams.
Generalization
It's the process of moving common code from Subclasses to Superclass.
Generalization
This relation is an "is a" relationship
Composition
Much 'stronger' than aggregation. Class A and Class B have the same 'lifetime'.
Bidirectional Association
Navigability A to B and B to A
Simple Association
Navigability is from A to B: A Class A object can access the Class B object(s) with which it is associated. The reverse is not true - the Class B object doesn't know about the class A object
Goals of UML
Non- proprietary
Aggregation
Object of class B retain an existence independent of Class A.
Composition
Objects(s) of Class B are 'part of' a Class A object
Aggregation
Part can be shared by several wholes
Composition
Part is always a part of a single whole
Aggregation
Parts can live independently (i.e., whole cardinality can be 0..*)
Composition
Parts exist only as part of the whole.
Aggregation
Some designers believe there is no real distinction between aggregation and simple association
TRUE
TRUE or FALSE There are always at least two paths coming out of a decision and the condition text lets you know which options are mutually exclusive.
Realization
This is also "is a" relationship.
shape
The ___ used for notes.
activity symbols
The _____ are the basic building blocks of an activity diagram and usually have a short description of the activity they represent.
top section
The __________ is used to name the class.
Arrows
The arrow points in the direction of progressing activities.
UML symbol
The black circle that looks like a selected radio button is the _________ for the end state of an activity.
Architectural Modeling Diagram
They consist of Package diagrams.
Behavioral Modeling Diagrams
They consist of the activity diagrams
UML Structural Modeling Diagrams
They consist of the following: - Use Case diagram - Class diagram
Bidirectional Association
This association is complicated because each object must have a reference to the other object(s) and it is generally much less common than unidirectional ones
Use Cases: "Include" Relationship
This dependency is commonly used when a use case compulsorily needs the behavior of another
Dependency
Typical use of dependency lines would be where Class A has a method which is passed a parameter object of Class B, or uses a local variable of that class, or calls static methods in Class B.
Composition
When the wall is destroyed, they are destroyed
Aggregation
Whole is not solely responsible for the object
Composition
Whole is responsible and should create/destroy the objects
Interaction
_ is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task.
State machine
__ is useful when the state of an object in its life cycle is important.
Collaboration
___ defines interaction between elements.
Condition text
___ is placed next to a decision marker to let you know under what condition an activity flow should split off in that direction.
Bidirectional Association
____ is when Classes A and B have a two-way association
Class
_____ represents set of objects having similar responsibilities.
Actors
______ can get information from a use case, or participate in it
Actors
______ carry out use cases
Annotational
a mechanism to capture remarks, descriptions, and comments of UML model elements
Grouping
a mechanism to group elements of a UML model together
Realization
a relationship between an interface and a class.
Dependency
a relationship between two things in which change in one element also affects the other one
Use-case Diagram
a use case represents an external view of the system
Composition
also a "has a" relationship but the contained object can't exist without the container object
Aggregation
also known as "has a" relationship.
Actors
are connected to use cases by association only (models communication, which can be bidirectional)
Architectural Modeling Diagram
can be defined as the blue print of the entire system.
UML Structural Modeling Diagrams
captures the static features of a system
Use Cases: Generalization
child may add or override parent behavior
Use Cases: Generalization
child may be substituted where parent occurs
Use Cases: Generalization
child use case inherits behavior and meaning from parent use case
Behavioral
consists of the dynamic parts of UML models
Association
could be any type like one-to-one, one-to-many or many-to-many
Goals of UML
general-purpose modeling language that all modelers can use
Use-case Diagram
helpful for finding classes, creating class diagrams
primary use
modeling optional system behavior
Activity Diagram
refers to a standardized system of notation for a flowchart
Activity Diagram
represents the execution of a statement in a procedure or the performance of an activity in a workflow.
UML Structural Modeling Diagrams
represents the framework for the system and this framework is the place where all other components exist
Architectural Modeling Diagram
represents the overall framework of the system.
Association
represents the static relationship between two classes along with the multiplicity relationship between objects
Relationships
shows how elements are associated with each other and this association describes the functionality of an application. - There are four kinds of relationships available: Dependency, Association, Generalization, Realization
Behavioral Modeling Diagrams
shows the dynamic nature of the system.
Use Cases: "Extend" relationship
similar to generalization, but more restricted
Composition
special case of aggregation.
Aggregation
special type of association, in which one object contains other object, which is directional relationship.
UML
standardized by OMG (Object Management Group) which is an international, open membership, not-for-profit technology standards consortium.
Composition
the "strong" relationship which shows that one object is (and has to be) part of another seems appropriate.
Use Cases: "Extend" relationship
the extending use case may add behavior to the base use case, but: - the base use case must declare certain extension points - the extending use case may add additional behavior only at those extension points
Composition
these classes compose and are contained by ---<>(bold) this class
Aggregation
these classes compose without belonging to ---<> this class
Generalization
this class inherits from ---------> this class
Association
this class is associated with --------- this class
Dependency
this class is dependent upon - - - -> this class
Use-case Diagram
used for capturing requirements, the first step towards creating a design
Use Cases: "Include" Relationship
used when you want to "call", "invoke" or simply reuse a use case within another use case.
Use Cases: "Include" Relationship
when a use case A is a subset of use case B and Use case C, you can <<include>> use case A in B & C.