Professional Documents
Culture Documents
Importance of modeling
Principles of modeling
Object oriented modeling
Conceptual model of the UML
Architecture
Software Development Life Cycle.
Classroom Code
b8qlo3b
Object Oriented Analysis and Design
Modeling
What is Model
A model is a simplification of reality
Reason
We build models so that we can better understand the system we are
developing
Four Aims
Visualize a system as it is or as want it to be.
Permit to specify the structure or behavior of a system.
Template that guides us in constructing a system.
Document the decisions we have made.
Principles of Modeling
First
The choice of what models to create has a profound influence on how a
problem is attacked and how a solution is shaped.
Second
Every model may be expressed at different levels of precision
Third
The best models are connected to reality.
Fourth
No single model is enough. Every nontrivial system is best approached through a
small set of nearly independent models.
2 Modeling Approach
Algorithm Approach
Traditional view of software development.
Main software is the procedure or function.
Decomposition of larger algorithms into smaller ones.
Object Orient Approach
Modern view of software development
Main software systems is the object or class.
An object is a thing, drawn from the vocabulary of the problem space or the
solution space
A class is a description of a set of common objects.
UML is a Language
Visualizing
Provides a vocabulary and the rules for the
purpose of communication.
Vocabulary and rules focus on the Specifying
conceptual and physical representation of
a system.
Standard language for software blueprints
Construction
Documentation
Conceptual Model of UML
These things are the basic object-oriented building blocks of the UML. You use
them to write well-formed models.
Things-Structure Things
1. Class
2. Interface
Collection of operations that specify a service
of a class or component.
Represent the complete behavior of a class or
component or only a part of that behavior.
Things-Structure Things
3. Collaboration
Interaction
Society of roles and other elements that
work together
A given class might participate in
several collaborations.
Things-Structure Things
4. Use Case
Description of set of sequence of
actions that a system performs that
yields an observable result of value to
a actor.
Things-Structure Thing
5. Active class
is a class whose objects own one or
more processes or threads
3 elements
Heavy Line
Components
Nodes
Physical Representation
Things-Structure Thing
6. Component
is a physical and replaceable
part of a system that conforms to
and provides the realization of a
set of interfaces.
Things-Structure Thing
7. Node
Physical element that exists at run time
and represents a computational
resource
Memory and often processing
capability.
Migrate from node to node.
Thing- Behavioral Things
State Machine
specifies the sequences of states an object or an
interaction goes through during its lifetime in response to
events, together with its responses to those events.
The behavior of an individual class or a collaboration of
classes may be specified with a state machine.
involves number of other
elements, including states, transitions (the flow from state to
state), events (things that trigger a transition), and activities
(the response to a transition).
State Machine
Things- Grouping Things
Building
Block- Dependency
Types of Association
Relationship Relationship Generalization
Realization
Relationship – Types
Dependency
Semantic relationship between two things in which a change to one thing may
affect the semantics of the other thing.
Association
Structural relationship that describes a set of links, a link being a connection
among objects.
Aggregation is a special kind of association, representing a structural relationship
between a whole and its part.
Generalization
The way in which the child shares the structure and the behavior of the parent.
Realization
Semantic relationship between classifiers, wherein one classifier
specifies a contract that another classifier guarantees to carry out.
Realization relationships in two places:
between interfaces and the classes or components that realize
them
between use cases and the collaborations that realize them.
One TO many
Many to many
Many to one
one to one
Diagram is the graphical presentation of a set of
elements, most often rendered as a connected
graph of
vertices (things) and arcs (relationships).
the UML includes nine diagrams:
Specifications
Semantic backplane that contains all the parts/information of all the models of a system
Each Part related to each other
The UML's diagrams are representation of that backplane
Each diagram revealing a specific interesting aspect of the system.
Adornments
Most elements in the UML have a unique and direct graphical notation that provides a
visual representation of the most important aspects of the element.
For example, the notation for a class is intentionally designed to be easy to draw,
because classes are the most common element found in modeling object-
oriented systems. The class notation also exposes the most important aspects of a
class, namely its name, attributes, and operations.
Every element in the UML's notation starts with a basic symbol, to which can be added a
variety of adornments specific to that symbol.
In modeling object-oriented systems gets
divided in at a couple of ways.
Architecture
interfaces by which the system is composed
Their behavior, as specified in the collaborations among
those elements
The composition of these structural and behavioral
elements into progressively larger subsystems
The architectural style that guides this organization: the
static and dynamic elements and their interfaces, their
collaborations, and their composition
Concerned with structure and behavior,
Also with usage, functionality, performance, resilience,
reuse, comprehensibility, economic and technology
constraints and trade-offs, and aesthetic concerns.
Modeling a System's Architecture
Views Encompasses Static View Dynamic Functionality
View
Design The classes, interfaces, and Class diagrams the services that the
collaborations that form the and Object system should provide
vocabulary of the problem and diagrams to its end users
its solution. Interaction
Implementati The components and files that Component diagrams, The configuration
on are used to assemble and diagrams State chart management of the
release the physical system diagrams, system's releases
and Activity
Deployment the nodes that form the Deployment diagrams The distribution,
system's hardware topology on diagrams delivery, and installation
which the system executes of the parts that make
up the physical system
Use Case Describe the behavior of the use case Shape the system's
system as seen by its end users, diagrams architecture
analysts, and testers
Process the threads and processes that Same as the other view but The performance,
form the system’s concurrency with active classes that scalability, and
and synchronization represent these threads and throughput of the
mechanisms processes system