LSI ES:E
Departament de Llenguatges i Sistemes Informàtics
Laboratori Enginyeria del Software : Especificació
LESE-1 Introducción al Modelado Visual,
UML y Metodología
Rational Rose en el Desarrollo de
Software
Ruben González Blanco
Sergio Pérez Tobalina
1
Objetivos
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Proporcionar una perspectiva general
de UML, Ingeniería del Software y ES:E
Contextualizar el uso de herramientas
CASE (Rational Rose) en el desarrollo
de software
2
Contenido
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Modelado Visual de un Sistema
Software

Herramientas CASE
UML

Vistas y Diagramas UML
El Proceso Unificado (UP)

Contexto ES:E
3
Contenido
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Modelado Visual de un Sistema
Software

Herramientas CASE
UML

Vistas y Diagramas UML
El Proceso Unificado (UP)

ES:E
4
Modelo
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Es un esquema simplificado que
describe un sistema o realidad desde
un determinado punto de vista que
facilita su estudio y compresión
?
?
?
Modelo
(simplificado)
Sistema Software
(complejo)
Los modelos de un sistema software se
expresan visualmente mediante el
lenguaje de modelado UML
5
Modelado en Ingeniería
LESE-1 Introducción al Modelado Visual
Arquitectura/Ingeniería de
Estructuras

LSI Laboratori ES:E
Ingeniería Software
Modelos UML del Sistema
Software

Vistas Edificio
 Vista 3D
 Modelo de Casos de uso
 Alzado/Planta Perfil
 Modelo Estructural
 Estructura del edificio
 Modelo de Comportamiento
 Instalación Eléctrica
 Modelo de Implementación
 Instalación Aire Acc.
 Modelo de Despliegue
 ...
DocumentList
FileMgr
add( )
delete( )
fetchDoc(
) )
sortByName(
FileList
fList
add( )
delete( ) 1
Document
name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList(
)
create( )
fillDocument(
user
read() fill the
code..
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
mainWnd
fileMgrdocument
:
gFile
:repository
FileMgr
Document
Repository
1: Doc view request ( )
FileManager
3: create ( )
4: create ( )
Document
5: readDoc ( )
rep
File
Repository
(from Persistence) read( )
name : char * = 0
readDoc( )
readFile( )
ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â
¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
6: fillDocument ( )
7: readFile ( )
GrpFile
read( )
open( )
create( )
fillFile( )
8: fillFile ( )
È¸é °´Ã¼´Â ÀоîµéÀÎ
°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡
º¸¿©ÁØ´Ù.
GraphicFile
9: sortByName ( )
File
FileList
Diagramas
Diagramas

DocumentList
2: fetchDoc( )
)
Herramientas Modelado (ej)
Autocad

Herramientas Modelado (ej)
Rational Rose
6
Modelado Visual
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Modelos que presentan gráficamente
alguna vista del sistema.

Se crean mediante:
 Lápiz y Papel 
 Herramienta Software especifica 

(por ej: Rational Rose)
CASE : Computer Aided Software Engineering
7
Contenido
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Modelado Visual de un Sistema
Software

Herramientas CASE
UML

Vistas y Diagramas UML
El Proceso Unificado (UP)

Contexto ES:E
8
UML
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Es el lenguaje estándar de la industria
para el modelado visual de sistemas
orientados a objeto y/o basados en
componentes
UML no es:
• una metodología o proceso
• un lenguaje de programación
9
Nota: Paradigma Orientado a Objeto
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Desarrollo de un sistema software
mediante la construcción de unidades
reusables siguiendo los principios de :




Abstracción
Encapsulación
Herencia
Polimorfismo
10
Nota: Paradigma Basado en Componentes
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Desarrollo de un sistema software
mediante en el ensamblado de
unidades reusables siguiendo los
principios de:



Componentes
Interfaces
Infraestructura
11
UML. Definición Formal
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Es un lenguaje estándar para
visualizar,especificar, construir y
documentar los artefactos que se
generan en el proceso de desarrollo de
un sistema software
12
Modelos UML
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Modelos UML describen características:


Estáticas o de Estructura
Dinámicas o de Comportamiento
13
Estructura de UML
LESE-1 Introducción al Modelado Visual
Modelos
capturan
LSI Laboratori ES:E
•Estructura
(características estáticas)
•Comportamiento
(características dinámicas)
organizado en
visualizado en
Vistas Arquitectonicas
•Vista del Modelo de Usuario
•Vista del Modelo Estructural
•Vista del Modelo de Comportamiento
•Vista del Modelo de Implementación
•Vista del Modelo Despliegue
Diagramas
•Diagramas de Casos de Uso
•Diagramas de Clases
•Diagramas de Objetos
•Diagramas de Secuencia
•Diagramas de Colaboración
•Diagramas de Estado
•Diagramas de Actividad
•Diagramas de Componentes
•Diagramas de Despliegue
14
Vista del Modelo de Usuario
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagramas de Casos de Uso describen la
funcionalidad del sistema
 (requisitos automatización)
Course Registration System
Maintain a Course
Professor
Student
Register to Course
Manage Curriculum
Billing System
Registrar
15
Vista del Modelo de Usuario
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagramas de Actividad:
 Describen como se desarrolla un flujo de
actividades entre elementos del sistema o del
dominio.
Student
Register to Course
Student
System
Billing System
Billing System
Select Course s
Check Availability
Inform Not
Available
Confirm
Registration
Cancel
Registration
Mail Professor
Calculate
Bill
Bill Student
16
Vista del Modelo Estructural (vista lógica)
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagramas de Clases: describen la
estructura del sistema
ScheduleAlgorithm
RegistrationForm
RegistrationManager
0..*
1
addStudent(Course, Student)
Course
1
name
RegistrationUser
0..*
name
Student
numberCredits
open()
addStudent(Student)
major
3..10
1
4
1..*
Professor
CourseOffering
tenureStatus
location
1
0..4
open()
addStudent(Student}
17
Vista del Modelo Estructural (vista lógica)
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagramas de Objetos: describen la
estructura del sistema en un momento
particular del tiempo
FIB1:Course
:RegistrationForm
:RegistrationManager
:RegistrationForm
FIB4:Course
Ann:Student
John:RegistrationUser
EDA :CourseOffering
John:Student
ES:E :CourseOffering
Robert:Professor
Mark:Student
18
Vista del Modelo de Comportamiento
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagramas de Secuencia: describen la
interacción entre elementos del sistema en
el tiempo
: Student
registration
form
registration
manager
FIB4: Course
ES:E
:Course Offering
1: fill in info
2: submit
3: add student to ESE:E
4: add student
5: are you open?
6: add student
19
Vista del Modelo de Comportamiento
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagramas de Colaboración: describen la
interacción entre elementos del sistema en
el tiempo y en el espacio
1: set course info
2: process
course form :
CourseForm
3: add course
: Registrar
theManager :
CurriculumManager
aCourse :
Course
4: new course
20
Vista del Modelo de Comportamiento
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagramas de Estado : describen el
estado, condiciones y respuesta de los
elementos del sistema
Add student[ count < 10 ]
Initialization
Add Student /
Set count = 0
do: Initialize course
Open
entry: Register student
exit: Increment count
Cancel
Cancel
Course Class
[ count = 10 ]
Canceled
do: Notify registered students
Cancel
Closed
do: Finalize course
21
Vista del Modelo de Implementación
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Diagrama de Componentes: describe la
organización de los elementos físicos que
implementan sistema
Register.exe
Billing.exe
Billing
System
People.dll
User
Course.dll
Course
22
Vista del Modelo de Entorno
LESE-1 Introducción al Modelado Visual

LSI Laboratori ES:E
Diagrama de Despliegue: describe la
configuración del entorno de maquinas y
redes sobre el que se distribuyen
componentes y procesos del sistema
WebServer
ora8
Database
Register.exe
SOAP
RMI
MQSeries
NT0034
Main
Peoole.dll
Course.dll
UX0001
Billing.exe
23
Resúmen de Diagramas UML de un Sistema Software
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
DocumentList
Repository
Diagramas Estáticos
DocumentList
FileMgr
Document
add( )
delete( )
fetchDoc( )
sortByName( )
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )
fList
add( )
delete( )
FileManager
name : int
docid : int
numField : int
FileList
read() fill the
code..
Document
1
GraphicFile
File
rep
Use Case 1
(from Persistence)
name : char * = 0
Actor A
GrpFile
read( )
read( )
open( )
create( )
fillFile( )
readDoc( )
readFile( )
Actor B
FileList
File
Repository
Use Case 2
Diagramas de Clases
Diagramas de Componentes
Use Case 3
Diagramas de Casos de Uso
mainWnd : MainWnd
Windows95
Window95
Windows95
¹®¼°ü¸®
Ŭ¶óÀ̾ðÆ®.EXE
¹®¼°ü¸® ¾ÖÇø´
gFile : GrpFile
fileMgr : FileMgr
Windows
NT
Solaris
¹®¼°ü¸® ¿£Áø.EXE
fileMgr : FileMgr
Alpha
UNIX
ÀÀ¿ë¼¹ö.EXE
Windows
NT
IBM
Mainframe
document : Document
µ¥ÀÌŸº£À̽º¼¹ö
repository : Repository
BO
Contrapartida
[operación insertada]
Validar y Completar
Operación
-Operador BO
-K+ (interfaz)
-KBO
[ ok ]
Diagramas de Objetos
Calcular Flujos
de Caja
Contabilizar
Operación
Notificar Error a
FO
[error operación]
-KBO
-Host:Contabilidad (interfaz)
[ prima es en divisa ]
Diagramas de Despliegue
Generar Avances
para Extranjero
-Operador BO
-KBO
-Host: Liquidaciones (interfaz)
Enviar
Confirmación
Evalua
Confirmación
-KBO
-Host:SWIFT (interfaz)
-KBO
[ confirmación rechazada ]
Registrar Error
-Operador BO
-KBO (interfaz)
Diagramas Dinámicos
[operación contratada]
Identificar
Motivo Rechazo
-Operador BO
Determinar Acciones
Correcion
[operacion no contratada]
Diagramas de Actividad
mainWnd
9: sortByName ( )
user
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
mainWnd : MainWnd
add file
fileMgr :
FileMgr
document :
Document
gFile
repository
1: Doc view request ( )
2: fetchDoc( )
1: Doc view request ( )
3: create ( )
2: fetchDoc( )
gFile : GrpFile
4: create ( )
4: create ( )
8: fillFile ( )
5: readDoc ( )
Writing
add file [ numberOffile==MAX ] /
flag OFF
user : Clerk
fileMgr : FileMgr
Openning
ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â
¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
6: fillDocument ( )
3: create ( )
7: readFile ( )
6: fillDocument ( )
close file
8: fillFile ( )
7: readFile ( )
5: readDoc ( )
close file
Reading
Closing
Diagramas de Estados
document : Document
È¸é °´Ã¼´Â ÀоîµéÀÎ
°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡
º¸¿©ÁØ´Ù.
9: sortByName ( )
repository : Repository
Diagramas de Colaboracion
Diagramas de Secuencia
24
Contenido
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Modelado Visual de un Sistema
Software

Herramientas CASE
UML

Vistas y Diagramas UML
El Proceso Unificado (UP)

Contexto de ES:E
25
Desarrollo de Software. Las 4 “P”
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Procesos
•Unified Process (UP)
•Rational Unified (Process)
RUP
•OPEN
Plantilla
•OOSP
Automatización
•...
Personas
Participantes
Proyecto
Resultado
Producto
•Modelos
•Codigo fuente
•Ejecutables
•Documentación
Herramientas
•Modelado Visual UML
•Rational Rose, Visual UML, Objecteering
•Integrated Development Environment (IDE)
•Visual Studio .NET, NetBeans...
•Gestión de la Configuración
•CVS, ClearCase
•Gestión de Requisitos
•RequiistPro,..
•Automatización documentación
•SoDa
•....
26
Proceso de ingeniería software
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Es la definición de un conjunto de
actividades que permiten transformar
los requisitos de un cliente/usuario en
un sistema software.
Requisitos
Proceso de
Desarrollo
Software
Sistema Software
27
El Proceso Unificado de Desarrollo Software UP
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Contenido
Es un proceso de ingeniería del software que
agrupa las 6 mejores prácticas de desarrollo
software que existen en el mercado
Tiempo
28
UP – 6 Best Practices
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Desarrollar Iterativamente
Gestionar Requisitos
Usar Arquitecturas de Componentes
Modelar Visualmente (UML)
Continuamente Verificar Calidad del
Software
Controlar Cambios en el Software
29
UP - Carácteristicas
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Dirigido por Casos de Uso

Funcionalidad de valor para los usuarios
Centrado en la Arquitectura

Descripción de aspectos estáticos y dinámicos del
software que son mas significativos
Iterativo e Incremental

Divide el trabajo en mini-proyectos que
incrementalmente crean el producto software
30
Modelos de un Sistema Software en UP
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
realizado por
Bussiness Use Case Model
Bussines Object Model
automatizado por
Use Case Model
especificado por
realizado por
Analysis Model
implementado por
Design Model
Modelos en el Proceso
Unificado de desarrollo
software
distrbuido por
verificado por
Implementation Model
Deployment Model
Test Model
31
Metodología ES:E
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Sigue la variante UP de Craig Larman
para la Especificación y Análisis de un
Sistema Software
“Applying UML and Patterns. An Introduction to Object Oriented Analysis
and Design and the Unified Process”
Craig Larman. Ed Prentice Hall
ES:E se
centra en
Análísis
32
Metodolgia ES:E – UP Coverage
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
ES:E
33
ES:E Disciplinas-Modelos-Artefactos
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Bussiness Modeling
 Modelo Conceptual
 Diagramas UML de Clases
 Restricciones OCL
Requirements/Analysis
 Modelo de Casos de Uso
 Diagramas UML de Casos de Uso
 Especificación de Casos de Uso

Modelo de Comportamiento
 Diagramas UML de Secuencia
 Diagramas UML de Estados
34
Metodología - ES:E (especificación)
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Dominio
conceptos
reglas dominio
Restricciones OCL
Glosario
Process Sale
Modelo Conceptual
Payment
Authorization Service
System
Cashier
: Payment
Authorization Service
: Cashier
add file
makeNewSale()
Process Rental
enterItem(id,quantity)
Accounting
System
Writing
add file [ numberOffile==MAX ] /
flag OFF
Openning
endSale()
close file
Cash In
makePayment(amount)
close file
Reading
Closing
validatePayment()
HR System
ok
Manage Users
performed
Requisitos
Automatización
System
Administrator
Mangage Accounts
...
Descripciones c.u.
Modelo Casos de Uso
Modelo Comportamiento
Secuencia Eventos
Diagramas Estados
(actores-sistema)
(objetos dominio /
Sistema)
35
Metodología - (Cursos Siguientes: Diseño)
LESE-1 Introducción al Modelado Visual
Glosario
Process Sale
LSI Laboratori ES:E
Modelo Conceptual
(atributos-relaciones)
Payment
Authorization Service
System
Cashier
: Payment
Authorization Service
: Cashier
add file
makeNewSale()
Process Rental
enterItem(id,quantity)
Accounting
System
Writing
add file [ numberOffile==MAX ] /
flag OFF
Openning
endSale()
close file
Cash In
makePayment(amount)
close file
Reading
Closing
validatePayment()
HR System
ok
Manage Users
performed
System
Administrator
Requisitos
Automatización
Mangage Accounts
Diagramas Estados
Descripciones c.u.
...
Casos de Uso
Secuencia Eventos
(objetos dominio
Sistema)
2: create()
1: makeNewSale()
reg :
POSRegister
sale :
POSSale
: Cashier
3: create(amount)
p:
POSPayment
Arquitectura
Diseño Clases
(atributos/operaciones-relaciones)
Diseño Colaboraciones Clases para evento
(secuencia de llamadas a métodos)
36
Práctica ES:E – Parte I – Modelo Conceptual
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Dominio
conceptos
reglas dominio
Restricciones OCL
Glosario
Process Sale
Modelo Conceptual
Payment
Authorization Service
System
Cashier
: Payment
Authorization Service
: Cashier
add file
makeNewSale()
Process Rental
enterItem(id,quantity)
Accounting
System
Writing
add file [ numberOffile==MAX ] /
flag OFF
Openning
endSale()
close file
Cash In
makePayment(amount)
close file
Reading
Closing
validatePayment()
HR System
ok
Manage Users
performed
Requisitos
Automatización
System
Administrator
Mangage Accounts
...
Descripciones c.u.
Modelo Casos de Uso
Modelo Comportamiento
Secuencia Eventos
Diagramas Estados
(actores-sistema)
(objetos dominio /
Sistema)
37
Practica ES:E – Parte II – Modelo de Casos de Uso y
de Comportamiento
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
Dominio
conceptos
reglas dominio
Restricciones OCL
Glosario
Process Sale
Modelo Conceptual
Payment
Authorization Service
System
Cashier
: Payment
Authorization Service
: Cashier
add file
makeNewSale()
Process Rental
enterItem(id,quantity)
Accounting
System
Writing
add file [ numberOffile==MAX ] /
flag OFF
Openning
endSale()
close file
Cash In
makePayment(amount)
close file
Reading
Closing
validatePayment()
HR System
ok
Manage Users
performed
Requisitos
Automatización
System
Administrator
Mangage Accounts
...
Descripciones c.u.
Modelo Casos de Uso
Modelo Comportamiento
Secuencia Eventos
Diagramas Estados
(actores-sistema)
(objetos dominio /
Sistema)
38
Referencias
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
“Understading UML” Shinan Salhir, http://home.earthlink.net/~salhir
“TheObjectOriented Paradigm” Shinan Salhir, http://home.earthlink.net/~salhir
“Applying UML and Patterns. An Introduction to Object Oriented
Analysis and Design and the Unified Process” Craig Larman. Ed Prentice
Hall
“EL Proceso Unificado de Desarrollo Software”, I. Jacobson, Grady
Booch, J. Rumbaugh, Ed Addison Wesley
39
LESE-1 Introducción al Modelado Visual
LSI Laboratori ES:E
FIN
40
Descargar

Introducci al Modelado Visual con Rational Rose