Anda di halaman 1dari 20

UML = Unified Modeling

Language
1.
2.
3.
4.

Goals and Scope


Outline of UML and Unified Process
Specification Requirements
Use-Case Models
a. Use-Case Diagram
b. Activity Diagram
5. Design Models
a. Interaction Diagrams
i. Sequence Diagram
ii. Communication Diagram
iii. Timing Diagram
iv. Interaction Overview Diagram
b. Class Diagrams
c. State Machine Diagram
Tiberiu Leia : Software Engineering Analysis&Design

6. Implementation Models
a. Component Diagram
b. Composite Structure Diagram
7. Deployment Models
a. Deployment Diagram

Tiberiu Leia : Software Engineering Analysis&Design

1. Goals and Scope


Object-oriented analysis and design methods share the following
basic steps although the details and the ordering of the steps can vary:
1. find the ways that the system interacts with its environment;
2. identify objects, their attribute and method (operation) names;
3. establish the relationships between objects;
4. establish the interface(s) of each object and exception handling;
5. implement the objects;
6. test the objects;
7. assemble the system
8. test the systems and
9. maintenance.

Tiberiu Leia : Software Engineering Analysis&Design

Analysis is the decomposition of problems into their component parts.


In computing analysis is the process of specification of system structure
and function independently of the means of implementation or physical
decomposition into modules or components.
Analysis was done top-down using:
structured analysis, or an equivalent method based on functional
decomposition, combined with separate data analysis. Often the high
level, strategic, business goal-driven analysis is separated from the
systems analysis. Here we are concerned with both. This is possible
because object-oriented analysis permits the system to be described in
the same terms as the real world; the system abstractions correspond
more or less exactly to the business abstractions.
Object-oriented analysis contains also an element of synthesis.

Tiberiu Leia : Software Engineering Analysis&Design

Responsibility-driven versus data-driven approaches


1) Data-driven design
a method based on structured techniques
a method rooted in entity-relationship modeling
a method in which most of the classes represented static data stores
while one class accessed these and encapsulated the control rules for
most of the application
The usual effects are that:
behavior is concentrated in controller objects that resemble main
routines;
this makes systems much harder to maintain due to the amount of
knowledge that these controllers store about other objects;
other objects have few operations and are often equivalent to normalized
database tables
2) Responsibility Driven Design techniques
are based on methods that distributes the behavior on some classes
Tiberiu Leia : Software Engineering Analysis&Design

Recommendation
Project the real world into the computer as you recognize and understand it.
Maintain the virtual world constantly corresponding to mismatches
between the real world and the virtual world and evolution of the real
world.

Tiberiu Leia : Software Engineering Analysis&Design

Modeling
Model = a simplification of reality Why should the reality be simplified?
Model (Source: Wikipedia)
A model is a pattern, plan, representation, or description designed to
show the structure or workings of an object, system, or concept.
An abstract model (or conceptual model) is a theoretical construct that
represents something, with a set of variables and a set of logical and
quantitative relationships between them. Models in this sense are
constructed to enable reasoning within an idealized logical framework
about these processes and are an important component of scientific
theories. Idealized here means that the model may make explicit
assumptions that are known to be false (or incomplete) in some detail. Such
assumptions may be justified on the grounds that they simplify the model
while, at the same time, allowing the production of acceptably accurate
solutions, as is illustrated below.
Tiberiu Leia : Software Engineering Analysis&Design

A causal model is an abstract model that uses cause and effect logic to
describe the behaviour of a system.
A mathematical model is an abstract model that uses mathematical
language to describe the behaviour of a system. Mathematical models are
used particularly in the natural sciences and engineering disciplines (such
as physics, biology, and electrical engineering) but also in the social
sciences (such as economics, sociology and political science); physicists,
engineers, computer scientists, and economists use mathematical models
most extensively.

Tiberiu Leia : Software Engineering Analysis&Design

A computer simulation or a computer model is a computer program


that attempts to simulate an abstract model of a particular system.
Computer simulations have become a useful part of mathematical
modelling of many natural systems in physics (Computational Physics),
chemistry and biology, human systems in economics, psychology, and
social science and in the process of engineering new technology, to gain
insight into the operation of those systems. Traditionally, the formal
modeling of systems has been via a mathematical model, which attempts to
find analytical solutions to problems which enables the prediction of the
behaviour of the system from a set of parameters and initial conditions.
Computer simulations build on, and are a useful adjunct to purely
mathematical models in science, technology and entertainment
.

Tiberiu Leia : Software Engineering Analysis&Design

Model-Driven Engineering (MDE) refers to the systematic use of models


as primary engineering artifacts throughout the engineering lifecycle.
MDE can be applied to software, system, and data engineering. Models are
considered as first class entities.
The best known MDE initiative is the Object Management Group (OMG)
called Model-Driven Architecture (MDA), which is a registered trademark
of OMG.
Another related acronym is Model-Driven Development (MDD) which is an
OMG trademark.

Tiberiu Leia : Software Engineering Analysis&Design

10

Why do we model?
To manage complexity
To detect errors and omissions early in the lifecycle
To communicate with stakeholders
To understand requirements
To drive implementation
To understand the impact of change
To ensure that resources are deployed efficiently
What do we model?
what we know about system
what we required from the system
the design
how to build the system
how to manage the project
how to maintain the system etc.
Tiberiu Leia : Software Engineering Analysis&Design

11

Reality
Watch
Understand
Reason
Express

Model 1

Model 2

Model n

Are there more models of the same reality?


Tiberiu Leia : Software Engineering Analysis&Design

12

Rational of visual modeling:


help to visualize a system that has to be built or understand
permit to specify
o the structure
o the behavior
guide the construction
Model Driven Architecture:
use models in software development
separate the specification of the operation
specify the system independently of the platform
specify the platform
transform the system specification into one for a particular platform

Tiberiu Leia : Software Engineering Analysis&Design

13

2.Outline of UML and Unified Process


1.
2.
3.
4.

Goals and Scope


Outline of UML and Unified Process
Specification Requirements
Use-Case Models
a. Use-Case Diagram
b. Activity Diagram
5. Design Models
a. Interaction Diagrams
i. Sequence Diagram
ii. Communication Diagram
iii. Timing Diagram
iv. Interaction Overview Diagram
b. Class Diagrams
c. State Machines
6. Implementation Diagrams
a. Component Diagram
b. Composite Structure Diagram
7. Deployment Diagrams
Tiberiu Leia : Software Engineering Analysis&Design

14

Unified Modeling Language


(

definition )

In the field of software engineering, the Unified Modeling Language


(UML) is a standardized specification language for object modeling.
UML is a general-purpose modeling language that includes a graphical
notation used to create an abstract model of a system, referred to as a
UML model.
UML is not restricted to modeling software.
UML is also used for business process modeling, systems engineering
modeling, and representing organizational structures. The Systems
Modeling Language (SysML) is a Domain-Specific Modeling language
for systems engineering that is defined as a UML 2.0 profile.
Tiberiu Leia : Software Engineering Analysis&Design

15

UML contains the diagrams:


Use-case Diagrams - for defining functional requirements
Communication Diagrams - for finding analysis classes
Class Diagrams - for designing the static structure
Sequence Diagrams - for defining objects interaction
State Machine Diagrams - for defining the behavior of each object
Deployment Diagrams - for allocating objects to machines
Component Diagrams - for packaging
Composite Structure Diagrams for the internal structure of a
classifier and its interaction points to other parts of the system
Behavior Diagrams:
Interaction Diagrams:
State Machine Diagram
Sequence Diagram
Activity Diagram
Communication Diagram
Timing Diagram
Sequence Diagram
Interaction Overview Diagram
Communication Diagram
Tiberiu Leia : Software Engineering Analysis&Design

16

Relationships between views and diagrams in UML


Use-Case View
Use-Case Diagram,
Activity Diagram

Concurrency View
State Machine Diagram
Sequence Diagram
Communication Diagram
Activity Diagram
Component Diagram
Deployment Diagram
Composite Structure Diagram
Tiberiu Leia : Software Engineering Analysis&Design

Logical View
Class Diagram
State Machine Diagram
Sequence Diagram
Communication Diagram
Activity Diagram

Component View
Component Diagram
Composite Structure Diagram
Deployment View
Deployment Diagram

17

Relations between UML models and diagrams


1. Use-Case Model
Use-Case Diagram
Activity Diagram
2. Design Model
2.1. Interaction Diagrams
Sequence Diagram
Communication Diagram
Timing Diagram
Interaction Overview Diagram
2.2. Class Diagram
2.3. State Machine Diagram

Tiberiu Leia : Software Engineering Analysis&Design

3. Implementation Model
Component Diagram
Composite Structure Diagram

4. Deployment Model
Deployment Diagram
5. Test Model
Test Case
6. Maintenance Model

18

The construction of an application follows the models.


It ends with the code, test and continues with the maintenance.

Tiberiu Leia : Software Engineering Analysis&Design

19

*
***
*END*
***
*

Tiberiu Leia : Software Engineering Analysis&Design

20

Anda mungkin juga menyukai