introduccion al modelado visual rup
TRANSCRIPT
1
LSI ES:E
Departament de Llenguatges i Sistemes InformàticsLaboratori Enginyeria del Software : Especificació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 BlancoSergio Pérez Tobalina
2
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Contenido
Modelado Visual de un Sistema Software Herramientas CASE
UML Vistas y Diagramas UML
El Proceso Unificado (UP) Contexto ES:E
4
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Contenido
Modelado Visual de un Sistema Software Herramientas CASE
UML Vistas y Diagramas UML
El Proceso Unificado (UP) ES:E
5
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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)
6
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Modelado en Ingeniería
Arquitectura/Ingeniería de Estructuras
Vistas Edificio Vista 3D Alzado/Planta Perfil Estructura del edificio Instalación Eléctrica Instalación Aire Acc.
...
Ingeniería Software Modelos UML del Sistema
Software Modelo de Casos de uso Modelo Estructural Modelo de Comportamiento Modelo de Implementación Modelo de Despliegue
Herramientas Modelado (ej)Autocad
Herramientas Modelado (ej)Rational Rose
GrpFile
read( )open( )create( )fillFile( )
repRepository
name : char * = 0readDoc( )readFile( )
(from Persistence)
FileMgr
fetchDoc( )sortByName( )
DocumentList
add( )delete( )
Documentname : intdocid : intnumField : intget( )open( )close( )read( )sortFileList( )create( )fillDocument( )
fList
1
FileList
add( )delete( ) 1
File
read( )
read() fill the code..
Document
FileManager
GraphicFileFile
Repository DocumentList
FileList
usermainWndfileMgr :
FileMgrrepositorydocument :
DocumentgFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼ ¿¡ ́ ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
È ÀÏ°ü̧ ®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ ÀÌ̧ §º°·Î Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.
Diagramas Diagramas
7
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Contenido
Modelado Visual de un Sistema Software Herramientas CASE
UML Vistas y Diagramas UML
El Proceso Unificado (UP) Contexto ES:E
9
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Modelos UML
Modelos UML describen características: Estáticas o de Estructura Dinámicas o de Comportamiento
14
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Vista del Modelo de Usuario
Diagramas de Actividad: Describen como se desarrolla un flujo de
actividades entre elementos del sistema o del dominio.
Select Course s Check Availability
Inform NotAvailable
Mail Professor
Confirm Registration
Calculate Bill
Bill Student
Student System Billing System
CancelRegistration
Register to Course
Student
Billing System
StudentStudent
Billing SystemBilling System
17
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Vista del Modelo Estructural (vista lógica)
Diagramas de Clases: describen la estructura del sistema
10..*
0..*
1
1
1..*4
3..10
0..41
RegistrationForm
RegistrationManager
Course
Student
CourseOffering
Professor
addStudent(Course, Student)
name
numberCredits
open()
addStudent(Student)major
location
open()
addStudent(Student}
tenureStatus
ScheduleAlgorithm
name
RegistrationUser
18
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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:RegistrationUserAnn:Student
:RegistrationForm
FIB1:Course
Mark:Student
EDA :CourseOffering
19
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Vista del Modelo de Comportamiento
Diagramas de Secuencia: describen la interacción entre elementos del sistema en el tiempo
: Studentregistration
formregistration
managerFIB4: 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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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 info2: process
3: add course
4: new course
21
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Vista del Modelo de Comportamiento
Diagramas de Estado : describen el estado, condiciones y respuesta de los elementos del sistema
InitializationOpen
Closed
Canceled
entry: Register studentexit: 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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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.exeBilling.exe
Course
User
BillingSystem
23
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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.exeora8
MQSeries
Course.dll
RMI
Peoole.dll
SOAP
24
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Resúmen de Diagramas UML de un Sistema Software
Diagramas de Casos de Uso
Actor A
Use Case 1
Use Case 2
Actor B
Use Case 3
Diagramas de Clases
GrpFile
read( )open( )create( )fillFile( )
rep
Repository
name : char * = 0
readDoc( )readFile( )
(from Persistence)
FileMgr
fetchDoc( )sortByName( )
DocumentList
add( )delete( )
Document
name : intdocid : intnumField : int
get( )open( )close( )read( )sortFileList( )create( )fillDocument( )
fList
1
FileList
add( )delete( )
1
File
read( )
read() fill the code..
Window95
¹®¼ °ü¸® Ŭ¶óÀ̾ðÆ®.EXE
WindowsNT
¹®¼ °ü¸® ¿£Áø.EXE
WindowsNT
Windows95
Solaris
ÀÀ¿ë¼ ¹ö.EXE
AlphaUNIX
IBM Mainframe
µ¥ÀÌŸº£À̽º¼ ¹ö
Windows95
¹®¼ °ü¸® ¾ÖÇø´
Document
FileManager
GraphicFileFile
Repository DocumentList
FileList
Diagramas de Componentes
Diagramas de Despliegue
user : Clerk
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repositorydocument : Document
gFile : GrpFile
9: sortByName ( )
1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
Diagramas de Colaboracion
[operación insertada]
Validar y Completar Operación
Generar Avances para Extranjero
[error operación]
Notificar Error a FO
Identificar Motivo Rechazo
[operacion no contratada]
[operación contratada]
Enviar Confirmación
[ prima es en divisa ]
Determinar Acciones Correcion
Registrar Error
-Operador BO-K+ (interfaz)
-Operador BO
-KBO-Host: Liquidaciones (interfaz)
-KBO-Host:SWIFT (interfaz)
-KBO
-Operador BO-KBO (interfaz)
-Operador BO
Contabilizar Operación
Calcular Flujos de Caja
[ ok ]
-KBO
-KBO-Host:Contabilidad (interfaz)
Evalua Confirmación
[ confirmación rechazada ]
ContrapartidaBO
Diagramas de Actividad
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Diagramas de Estados
user
mainWnd fileMgr : FileMgr
repositorydocument : Document
gFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼ ¿¡ ́ ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
È ÀÏ°ü̧ ®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ ÀÌ̧ §º°·Î
Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.
Diagramas de Secuencia
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repositorydocument : Document
gFile : GrpFilefileMgr : FileMgr
Diagramas de Objetos
Diagramas Dinámicos
Diagramas Estáticos
25
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Contenido
Modelado Visual de un Sistema Software Herramientas CASE
UML Vistas y Diagramas UML
El Proceso Unificado (UP) Contexto de ES:E
26
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
Con
teni
do
Tiempo
29
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
33
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Metodolgia ES:E – UP Coverage
ES:E
34
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Metodología - ES:E (especificación)
Dominio
Glosario
Payment
ammount : Double
Customer
SalePays-for
ProductCatalog
ProductSpecificationdescribed-by
n
Register
1
1
1
1
Captured-on
Store
ncotains
Modelo Conceptual
Accounting System
HR System
Process Sale
Cash In
Payment Authorization Service
Cashier
Process Rental
Manage Users
System Administrator
Mangage Accounts
...
: CashierSystem
: Payment Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos(actores-sistema)Modelo Casos de Uso
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Diagramas Estados(objetos dominio /
Sistema)
RequisitosAutomatización
conceptosreglas dominio
Restricciones OCL
Descripciones c.u.
Modelo Comportamiento
36
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Metodología - (Cursos Siguientes: Diseño)
Glosario
Payment
ammount : Double
Customer
SalePays-for
ProductCatalog
ProductSpecificationdescribed-by
n
Register
1
1
1
1
Captured-on
Store
ncotains
Modelo Conceptual(atributos-relaciones)
Accounting System
HR System
Process Sale
Cash In
Payment Authorization Service
Cashier
Process Rental
Manage Users
System Administrator
Mangage Accounts
...
: CashierSystem
: Payment Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia EventosCasos de Uso
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Diagramas Estados(objetos dominio
Sistema)
RequisitosAutomatización
POSRegister
makePayment()createPayment()
POSSale
makePayment()
POSPayment
amount : Money
getTotal()
reg : POSRegister
p : POSPayment
sale : POSSale
: Cashier
1: makeNewSale() 2: create()
3: create(amount)
Diseño Clases(atributos/operaciones-relaciones)
ArquitecturaDiseño Colaboraciones Clases para evento
(secuencia de llamadas a métodos)
Descripciones c.u.
37
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Práctica ES:E – Parte I – Modelo Conceptual
Dominio
Glosario
Payment
ammount : Double
Customer
SalePays-for
ProductCatalog
ProductSpecificationdescribed-by
n
Register
1
1
1
1
Captured-on
Store
ncotains
Modelo Conceptual
Accounting System
HR System
Process Sale
Cash In
Payment Authorization Service
Cashier
Process Rental
Manage Users
System Administrator
Mangage Accounts
...
: CashierSystem
: Payment Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos(actores-sistema)Modelo Casos de Uso
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Diagramas Estados(objetos dominio /
Sistema)
RequisitosAutomatización
conceptosreglas dominio
Restricciones OCL
Descripciones c.u.
Modelo Comportamiento
38
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
Practica ES:E – Parte II – Modelo de Casos de Uso y de Comportamiento
Dominio
Glosario
Payment
ammount : Double
Customer
SalePays-for
ProductCatalog
ProductSpecificationdescribed-by
n
Register
1
1
1
1
Captured-on
Store
ncotains
Modelo Conceptual
Accounting System
HR System
Process Sale
Cash In
Payment Authorization Service
Cashier
Process Rental
Manage Users
System Administrator
Mangage Accounts
...
: CashierSystem
: Payment Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos(actores-sistema)Modelo Casos de Uso
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Diagramas Estados(objetos dominio /
Sistema)
RequisitosAutomatización
conceptosreglas dominio
Restricciones OCL
Descripciones c.u.
Modelo Comportamiento
39
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
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
40
LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E
FIN