40
1 LSI ES:E Departament de Llenguatges i Sistemes Informàtics Laboratori 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 Blanco Sergio Pérez Tobalina

Introduccion Al Modelado Visual RUP

Embed Size (px)

Citation preview

Page 1: Introduccion Al Modelado Visual RUP

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

Page 2: Introduccion Al Modelado Visual RUP

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

Page 3: Introduccion Al Modelado Visual RUP

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

Page 4: Introduccion Al Modelado Visual RUP

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

Page 5: Introduccion Al Modelado Visual RUP

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)

Page 6: Introduccion Al Modelado Visual RUP

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

Page 7: Introduccion Al Modelado Visual RUP

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

Page 8: Introduccion Al Modelado Visual RUP

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

Page 9: Introduccion Al Modelado Visual RUP

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

Page 10: Introduccion Al Modelado Visual RUP

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

Page 11: Introduccion Al Modelado Visual RUP

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

Page 12: Introduccion Al Modelado Visual RUP

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

Page 13: Introduccion Al Modelado Visual RUP

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

Page 14: Introduccion Al Modelado Visual RUP

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

Page 15: Introduccion Al Modelado Visual RUP

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

Page 16: Introduccion Al Modelado Visual RUP

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

Page 17: Introduccion Al Modelado Visual RUP

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

Page 18: Introduccion Al Modelado Visual RUP

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

Page 19: Introduccion Al Modelado Visual RUP

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

Page 20: Introduccion Al Modelado Visual RUP

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

Page 21: Introduccion Al Modelado Visual RUP

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

Page 22: Introduccion Al Modelado Visual RUP

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

Page 23: Introduccion Al Modelado Visual RUP

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

Page 24: Introduccion Al Modelado Visual RUP

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

Page 25: Introduccion Al Modelado Visual RUP

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

Page 26: Introduccion Al Modelado Visual RUP

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

•...

Page 27: Introduccion Al Modelado Visual RUP

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

Page 28: Introduccion Al Modelado Visual RUP

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

Page 29: Introduccion Al Modelado Visual RUP

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

Page 30: Introduccion Al Modelado Visual RUP

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

Page 31: Introduccion Al Modelado Visual RUP

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

Page 32: Introduccion Al Modelado Visual RUP

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

Page 33: Introduccion Al Modelado Visual RUP

33

LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E

Metodolgia ES:E – UP Coverage

ES:E

Page 34: Introduccion Al Modelado Visual RUP

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

Page 35: Introduccion Al Modelado Visual RUP

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

Page 36: Introduccion Al Modelado Visual RUP

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.

Page 37: Introduccion Al Modelado Visual RUP

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

Page 38: Introduccion Al Modelado Visual RUP

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

Page 39: Introduccion Al Modelado Visual RUP

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

Page 40: Introduccion Al Modelado Visual RUP

40

LESE-1 Introducción al Modelado Visual LSI Laboratori ES:E

FIN