Este documento presenta una introducción al modelado visual, UML y la metodología Rational Rose en el desarrollo de software. Explica conceptos clave como modelado visual, UML, vistas y diagramas UML. También describe el contenido de la presentación, incluyendo herramientas CASE, modelado visual de sistemas de software, UML y vistas y diagramas UML. Finalmente, introduce brevemente el Proceso Unificado y el contexto de ES: E.
1. LSI ES:E
Departament de Llenguatges i Sistemes Informàtics
Laboratori Enginyeria del Software : EspecificacióLaboratori Enginyeria del Software : Especificació
1
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
2. LSI Laboratori ES:E
2
LESE-1 Introducción al Modelado Visual
Objetivos
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
3. LSI Laboratori ES:E
3
LESE-1 Introducción al Modelado Visual
Contenido
Modelado Visual de un Sistema
Software
Herramientas CASE
UML
Vistas y Diagramas UML
El Proceso Unificado (UP)
Contexto ES:E
4. LSI Laboratori ES:E
4
LESE-1 Introducción al Modelado Visual
Contenido
Modelado Visual de un Sistema
Software
Herramientas CASE
UML
Vistas y Diagramas UML
El Proceso Unificado (UP)
ES:E
5. LSI Laboratori ES:E
5
LESE-1 Introducción al Modelado Visual
Modelo
Es un esquema simplificado que
describe un sistema o realidad desde
un determinado punto de vista que
facilita su estudio y compresión
Sistema Software
(complejo) Los modelos de un sistema software se
expresan visualmente mediante el
lenguaje de modelado UML
?
? ? Modelo
(simplificado)
7. LSI Laboratori ES:E
7
LESE-1 Introducción al Modelado Visual
Modelado Visual
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
8. LSI Laboratori ES:E
8
LESE-1 Introducción al Modelado Visual
Contenido
Modelado Visual de un Sistema
Software
Herramientas CASE
UML
Vistas y Diagramas UML
El Proceso Unificado (UP)
Contexto ES:E
9. LSI Laboratori ES:E
9
LESE-1 Introducción al Modelado Visual
UML
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
10. LSI Laboratori ES:E
10
LESE-1 Introducción al Modelado Visual
Nota: Paradigma Orientado a Objeto
Desarrollo de un sistema software
mediante la construcción de unidades
reusables siguiendo los principios de :
Abstracción
Encapsulación
Herencia
Polimorfismo
11. LSI Laboratori ES:E
11
LESE-1 Introducción al Modelado Visual
Nota: Paradigma Basado en Componentes
Desarrollo de un sistema software
mediante en el ensamblado de
unidades reusables siguiendo los
principios de:
Componentes
Interfaces
Infraestructura
12. LSI Laboratori ES:E
12
LESE-1 Introducción al Modelado Visual
UML. Definición Formal
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
13. LSI Laboratori ES:E
13
LESE-1 Introducción al Modelado Visual
Modelos UML
Modelos UML describen características:
Estáticas o de Estructura
Dinámicas o de Comportamiento
14. LSI Laboratori ES:E
14
LESE-1 Introducción al Modelado Visual
Estructura de UML
Modelos
•Estructura
(características estáticas)
•Comportamiento
(características dinámicas)
capturan
Vistas Arquitectonicas
organizado en
Diagramas
visualizado en
•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 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
15. LSI Laboratori ES:E
15
LESE-1 Introducción al Modelado Visual
Vista del Modelo de Usuario
Diagramas de Casos de Uso describen la
funcionalidad del sistema
(requisitos automatización)
Registrar
Professor
Register to Course
Manage Curriculum
Maintain a Course
Student
Billing System
Course Registration System
16. LSI Laboratori ES:E
16
LESE-1 Introducción al Modelado Visual
Vista del Modelo de Usuario
Diagramas de Actividad:
Describen como se desarrolla un flujo de
actividades entre elementos del sistema o del
dominio.
Select Courses Check Availability
Inform Not
Available
Mail Professor
Confirm
Registration
Calculate
Bill
Bill Student
Student System Billing System
Cancel
Registration
Register to Course
Student
Billing System
StudentStudent
Billing SystemBilling System
17. LSI Laboratori ES:E
17
LESE-1 Introducción al Modelado Visual
Vista del Modelo Estructural (vista lógica)
Diagramas de Clases: describen la
estructura del sistema
1
0..*
0..*
1
1
1..*
4
3..10
0..4
1
RegistrationForm
RegistrationManager
Course
Student
CourseOffering
Professor
addStudent(Course, Student)
name
numberCredits
open()
addStudent(Student)
major
location
open()
addStudent(Student}
tenureStatus
ScheduleAlgorithm
name
RegistrationUser
18. LSI Laboratori ES:E
18
LESE-1 Introducción al Modelado Visual
Vista del Modelo Estructural (vista lógica)
Diagramas de Objetos: describen la
estructura del sistema en un momento
particular del tiempo
:RegistrationForm
:RegistrationManager
FIB4:Course
John:Student
ES:E :CourseOffering
Robert:Professor
John:RegistrationUser
Ann:Student
:RegistrationForm
FIB1:Course
Mark:Student
EDA :CourseOffering
19. LSI Laboratori ES:E
19
LESE-1 Introducción al Modelado Visual
Vista del Modelo de Comportamiento
Diagramas de Secuencia: describen la
interacción entre elementos del sistema en
el tiempo
: Student
registration
form
registration
manager
FIB4: Course
1: fill in info
2: submit
3: add student to ESE:E
4: add student
5: are you open?
6: add student
ES:E
:Course Offering
20. LSI Laboratori ES:E
20
LESE-1 Introducción al Modelado Visual
Vista del Modelo de Comportamiento
Diagramas de Colaboración: describen la
interacción entre elementos del sistema en
el tiempo y en el espacio
: Registrar
course form :
CourseForm
theManager :
CurriculumManager
aCourse :
Course
1: set course info
2: process
3: add course
4: new course
21. LSI Laboratori ES:E
21
LESE-1 Introducción al Modelado Visual
Vista del Modelo de Comportamiento
Diagramas de Estado : describen el
estado, condiciones y respuesta de los
elementos del sistema
Initialization
Open
Closed
Canceled
entry: Register student
exit: Increment count
do: Initialize course
do: Finalize course
do: Notify registered students
[ count = 10 ]
Add Student /
Set count = 0
Add student[ count < 10 ]
Cancel
Cancel
Cancel
Course Class
22. LSI Laboratori ES:E
22
LESE-1 Introducción al Modelado Visual
Vista del Modelo de Implementación
Diagrama de Componentes: describe la
organización de los elementos físicos que
implementan sistema
Course.dll
People.dll
Register.exe
Billing.exe
Course
User
Billing
System
23. LSI Laboratori ES:E
23
LESE-1 Introducción al Modelado Visual
Vista del Modelo de Entorno
Diagrama de Despliegue: describe la
configuración del entorno de maquinas y
redes sobre el que se distribuyen
componentes y procesos del sistema
WebServer Database
NT0034
UX0001
Main
Billing.exe
Register.exe
ora8
MQSeries
Course.dll
RMI
Peoole.dll
SOAP
25. LSI Laboratori ES:E
25
LESE-1 Introducción al Modelado Visual
Contenido
Modelado Visual de un Sistema
Software
Herramientas CASE
UML
Vistas y Diagramas UML
El Proceso Unificado (UP)
Contexto de ES:E
26. LSI Laboratori ES:E
26
LESE-1 Introducción al Modelado Visual
Desarrollo de Software. Las 4 “P”
Proyecto
Procesos
Producto
Personas Herramientas
Automatización
Resultado
Participantes
Plantilla
•Modelos
•Codigo fuente
•Ejecutables
•Documentación
•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
•....
•Unified Process (UP)
•Rational Unified (Process)
RUP
•OPEN
•OOSP
•...
27. LSI Laboratori ES:E
27
LESE-1 Introducción al Modelado Visual
Proceso de ingeniería software
Es la definición de un conjunto de
actividades que permiten transformar
los requisitos de un cliente/usuario en
un sistema software.
Proceso de
Desarrollo
Software
Requisitos Sistema Software
28. LSI Laboratori ES:E
28
LESE-1 Introducción al Modelado Visual
El Proceso Unificado de Desarrollo Software UP
Es un proceso de ingeniería del software que
agrupa las 6 mejores prácticas de desarrollo
software que existen en el mercado
Contenido
Tiempo
29. LSI Laboratori ES:E
29
LESE-1 Introducción al Modelado Visual
UP – 6 Best Practices
Desarrollar Iterativamente
Gestionar Requisitos
Usar Arquitecturas de Componentes
Modelar Visualmente (UML)
Continuamente Verificar Calidad del
Software
Controlar Cambios en el Software
30. LSI Laboratori ES:E
30
LESE-1 Introducción al Modelado Visual
UP - Carácteristicas
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
31. LSI Laboratori ES:E
31
LESE-1 Introducción al Modelado Visual
Use Case Model
Analysis Model
Design Model
Implementation Model
Deployment Model
Bussiness Use Case Model Bussines Object Model
Modelos de un Sistema Software en UP
Test Model
especificado por
realizado por
implementado por
distrbuido por
verificado por
automatizado por
realizado por
Modelos en el Proceso
Unificado de desarrollo
software
32. LSI Laboratori ES:E
32
LESE-1 Introducción al Modelado Visual
Metodología 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
34. LSI Laboratori ES:E
34
LESE-1 Introducción al Modelado Visual
ES:E Disciplinas-Modelos-Artefactos
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
35. LSI Laboratori ES:E
35
LESE-1 Introducción al Modelado Visual
Metodología - ES:E (especificación)
Dominio
Glosario Modelo Conceptual
Accounting
System
HR System
Process Sale
Cash In
Payment
Authorization Service
Cashier
Process Rental
Manage Users
System
Administrator
Mangage Accounts
...
: Cashier
System
: Payment
Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos
(actores-sistema)Modelo Casos de Uso
Openning
Writing
Reading
Closing
add file[ numberOffile==MAX ] /
flag OFF
add file
close file
close file
Diagramas Estados
(objetos dominio /
Sistema)
Requisitos
Automatización
conceptos
reglas dominio
Restricciones OCL
Descripciones c.u.
Modelo Comportamiento
36. LSI Laboratori ES:E
36
LESE-1 Introducción al Modelado Visual
Metodología - (Cursos Siguientes: Diseño)
Glosario Modelo Conceptual
(atributos-relaciones)
Accounting
System
HR System
Process Sale
Cash In
Payment
Authorization Service
Cashier
Process Rental
Manage Users
System
Administrator
Mangage Accounts
...
: Cashier
System
: Payment
Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos
Casos de Uso
Openning
Writing
Reading
Closing
add file[ numberOffile==MAX ] /
flag OFF
add file
close file
close file
Diagramas Estados
(objetos dominio
Sistema)
Requisitos
Automatización
reg :
POSRegister
p :
POSPayment
sale :
POSSale
: Cashier
1: makeNewSale() 2: create()
3: create(amount)
Diseño Clases
(atributos/operaciones-relaciones)
Arquitectura
Diseño Colaboraciones Clases para evento
(secuencia de llamadas a métodos)
Descripciones c.u.
37. LSI Laboratori ES:E
37
LESE-1 Introducción al Modelado Visual
Práctica ES:E – Parte I – Modelo Conceptual
Dominio
Glosario Modelo Conceptual
Accounting
System
HR System
Process Sale
Cash In
Payment
Authorization Service
Cashier
Process Rental
Manage Users
System
Administrator
Mangage Accounts
...
: Cashier
System
: Payment
Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos
(actores-sistema)Modelo Casos de Uso
Openning
Writing
Reading
Closing
add file[ numberOffile==MAX ] /
flag OFF
add file
close file
close file
Diagramas Estados
(objetos dominio /
Sistema)
Requisitos
Automatización
conceptos
reglas dominio
Restricciones OCL
Descripciones c.u.
Modelo Comportamiento
38. LSI Laboratori ES:E
38
LESE-1 Introducción al Modelado Visual
Practica ES:E – Parte II – Modelo de Casos de Uso y
de Comportamiento
Dominio
Glosario Modelo Conceptual
Accounting
System
HR System
Process Sale
Cash In
Payment
Authorization Service
Cashier
Process Rental
Manage Users
System
Administrator
Mangage Accounts
...
: Cashier
System
: Payment
Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos
(actores-sistema)Modelo Casos de Uso
Openning
Writing
Reading
Closing
add file[ numberOffile==MAX ] /
flag OFF
add file
close file
close file
Diagramas Estados
(objetos dominio /
Sistema)
Requisitos
Automatización
conceptos
reglas dominio
Restricciones OCL
Descripciones c.u.
Modelo Comportamiento
39. LSI Laboratori ES:E
39
LESE-1 Introducción al Modelado Visual
Referencias
“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