The Importance of Modeling



Download 2.03 Mb.
View original pdf
Date17.01.2020
Size2.03 Mb.
#54313
UML-Overview

UML Overview
U
nified
M
odeling
L
anguage
http://www.uml.org/

2
The Importance of Modeling

What is a model A model is a simplification of reality

Modeling is a proven and well-accepted engineering technique

architectural model of house and buildings

mathematical models for the relationship between kinetic energy and potential energy
E = T + V

Why modeling language?

Models(i.e. specifications) describe structures and behaviors of a system they intend to model.

Typical properties of good models
Correct
Every statement is one that the software shall meet
Unambiguous
It has only one interpretation
Complete
It includes all the requirements
Consistent
no subset has conflict

The fundamental property

Unambiguity is the fundamental property of models
UNAMBIGUOUS
Correct
Complete
Consistent

A solution

Visual notation like UML can be a solution!

-
희망온도범위
온도센서
-
현재온도
냉난방제어기
0..*

온도센서
-
현재온도
냉난방제어기
-
희망온도범위
2..*
0..*

The Unified Modeling Language

The UML is a visual modeling language used to describe the model of software system
Abstraction
• Structure What are software’s features Behavior What constitutes the software and how do they interact?
Model in UML
System

Structural Modeling an Example

UML Class diagram

-
희망온도범위
+ 현재온도조회() int+ 희망온도조회() :[최저,최고]
-
현재온도계산(List) :int
사무실
강의실
연구실
온도센서
-
온도 float+ 온도조회() :float
냉난방제어장치
+ 난방가동() void+ 난방중지() void+ 냉방가동() void+ 냉방중지() :void
냉난방제어기
+ 가동시작() :void
2..*
0..*

Behavioral Modeling an Example

UML Sequence diagram
:Timer
:냉난방제어기
:방 0..*
:온도센서 2..*
:냉난방제어장치
loop
opt
[현재온도 < 희망최저온도]
loop
가동시작()
현재온도조회() int) :float
현재온도계산(List)
:int
희망온도조회() :[최저,최고]
난방가동()

10
History of UML

“Method Wars of object-oriented paradigm in 1990s

OOAD, OMT, OOSE, Fusion, OOA/OOD

Each of the methods had its own notation, process, and tools

UML = OMT by Rumbaugh + OOAD by Booch + OOSE by Jacobson + ...

UML: Unified Language

UML History Details

13
Use of UML

UML is used to describe software-intensive system in terms of object-oriented paradigm
Types of
Systems
Common characteristics
Information systems

store, retrieve, transform, and present information to user
Technical systems

handle and control technical equipment such as telecommunications, military systems, or industrial process

often real-time system
Embedded systems

execute on simple hardware embedded in some other equipment such as mobile phone, car, household appliance

developed through low-level programming and require real-time support
Distributed systems

distributed on a number of machines

often built on object mechanism such as CORBA, DCOM,
Java Beans/RMI

UML x Diagram Taxonomy
14
Diagram
Structure
Diagram
Behavior
Diagram
Interaction
Diagram
Use Case
Diagram
Activity
Diagram
Composite Structure Diagram
Class
Diagram
Component
Diagram
Deployment
Diagram
Sequence
Diagram
Interaction
Overview
Diagram
Object
Diagram
State Machine
Diagram
Package
Diagram
Communication
Diagram
Timing
Diagram

Development Process
Analysis
Class
Subsystem/
Component
class...
class...
class...
Design
Class
Source
Code
Test
Cases
?
Expressed in Terms Of
Structured By
Implemented
By
Realized By
Verified
By
Architectural
Design
Detailed
Design
Implemen- tation
Testing
class....
?
Requirement
Requirement
Analysis
Usecase
Spec.
Supplementary
Spec.

Use case diagram

Class Diagram
(realization)
Interface
(dependency)
(generalization)
(composition)
(association)
(role)
(multiplicity)

Package diagram
namespace P class C { … } class C { … } ;
} ;
namespace P class C { … } ;
} ;
namespace P {
namespace P class C { … }
} ;

Package diagram

Component Diagram

Composite Structure Diagram
(port)
(part)
(connector)
(port)

Activity Diagram
(join)
(fork)
(decision)
(merge)
Object node

State Diagram
do
activity
Entry
action
Exit
action
(composite
state)
transition
(substate)

Sequence diagram

Describe a behavior in the order of time

Deployment diagram
http://www-01.ibm.com/software/awdtools/modeler/swmodeler/index.html
Rational Software Architect

Rhapsody
http://www-01.ibm.com/software/rational/products/rhapsody/swarchitect/

Tau
http://www-01.ibm.com/software/awdtools/tau/

Visual Paradigm for UML
http://www.visual-paradigm.com/product/vpuml/

Enterprise Architect

http://www.sparxsystems.com/products/ea/

MagicDraw
 https://www.magicdraw.com/

UML Diagramming

Document Generation

Document Generation

Document Template Designer

e.g.) basic template

Document Template Designer

Forward Engineering

generate source code in CC, System C, Java, …

Reverse Engineering

Audit

Traceability
Use case
Analysis
Class
Component
Design class
Source
Code
Analysis
Class
Analysis
Class
Analysis
Class
Use case
Use case
Design class
Component
Design class
Design class
Component
Design class
Design class
Source
Code
Source
Code
Analysis
Class
Component
Design class
Design class
Source
Code
CR

Traceability
Use case
System Test
Case
CR
TC TC TC TC n
Scenario Scenario Scenario k
TC 4

Traceability

Traceability

UML Maturity Model Index
Level
Benefit
Focus
Technologies
Result
5
Optimizing
100%
Agile and Engineering Best
Practices
Model-based testing, nanocycle execution, test driven development, continuous integration
Productivity and Quality
4
Executing
70%
Model-based verification
Model execution, code generation, model- based debugging
3
Behavioral
Modeling
30%
State and algorithmic modeling
State, sequence and activity diagrams
2
Structural
Modeling
15%
Class and block modeling of structure
Class and block diagrams
1
Visualization
5%
Visualizing code structures
Reverse engineering
0
Code Based
Development
0%
Manual, time intensive heroic development
Bruce Douglass, “Bruce's Top Ten Modeling Hints #9: All models are abstractions but some are useful”

Questions
Any Questions?

Download 2.03 Mb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page