410 likes | 772 Views
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. Objetivos. Proporcionar una perspectiva general de UML, Ingeniería del Software y ES:E
E N D
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
Objetivos LESE-1 Introducción al Modelado Visual • 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
Contenido LESE-1 Introducción al Modelado Visual • Modelado Visual de un Sistema Software • Herramientas CASE • UML • Vistas y Diagramas UML • El Proceso Unificado (UP) • Contexto ES:E
Contenido LESE-1 Introducción al Modelado Visual • Modelado Visual de un Sistema Software • Herramientas CASE • UML • Vistas y Diagramas UML • El Proceso Unificado (UP) • ES:E
Modelo LESE-1 Introducción al Modelado Visual • 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
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 DocumentList Repository DocumentList FileMgr Document add( ) name : int delete( ) fetchDoc( ) docid : int sortByName( ) numField : int get( ) read() fill the open( ) FileManager code.. close( ) read( ) FileList sortFileList( ) fList create( ) fillDocument( ) add( ) delete( ) 1 1 rep Document File Repository (from Persistence) GrpFile read( ) name : char * = 0 read( ) readDoc( ) open( ) readFile( ) create( ) fillFile( ) GraphicFile File FileList mainWnd fileMgr : document : gFile repository FileMgr Document user 1: Doc view request ( ) ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( ) ¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. 7: readFile ( ) 8: fillFile ( ) È¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( ) °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡ º¸¿©ÁØ´Ù. Modelado en Ingeniería LESE-1 Introducción al Modelado Visual Diagramas Diagramas • Herramientas Modelado (ej) • Rational Rose • Herramientas Modelado (ej) • Autocad
Modelado Visual LESE-1 Introducción al 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
Contenido LESE-1 Introducción al Modelado Visual • Modelado Visual de un Sistema Software • Herramientas CASE • UML • Vistas y Diagramas UML • El Proceso Unificado (UP) • Contexto ES:E
UML LESE-1 Introducción al Modelado Visual • 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
Nota: Paradigma Orientado a Objeto LESE-1 Introducción al Modelado Visual • Desarrollo de un sistema software mediante la construcción de unidades reusables siguiendo los principios de : • Abstracción • Encapsulación • Herencia • Polimorfismo
Nota: Paradigma Basado en Componentes LESE-1 Introducción al Modelado Visual • Desarrollo de un sistema software mediante en el ensamblado de unidades reusables siguiendo los principios de: • Componentes • Interfaces • Infraestructura
UML. Definición Formal LESE-1 Introducción al Modelado Visual • 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
Modelos UML LESE-1 Introducción al Modelado Visual • Modelos UML describen características: • Estáticas o de Estructura • Dinámicas o de Comportamiento
Estructura de UML LESE-1 Introducción al Modelado Visual • Estructura • (características estáticas) • Comportamiento • (características dinámicas) capturan Modelos organizado en visualizado en Vistas Arquitectonicas 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 • Vista del Modelo de Usuario • Vista del Modelo Estructural • Vista del Modelo de Comportamiento • Vista del Modelo de Implementación • Vista del Modelo Despliegue
Student Billing System Vista del Modelo de Usuario LESE-1 Introducción al Modelado Visual • Diagramas de Casos de Uso describen la funcionalidad del sistema • (requisitos automatización) Course Registration System Maintain a Course Professor Register to Course Manage Curriculum Registrar
Vista del Modelo de Usuario LESE-1 Introducción al Modelado Visual • Diagramas de Actividad: • Describen como se desarrolla un flujo de actividades entre elementos del sistema o del dominio.
ScheduleAlgorithm RegistrationForm RegistrationManager 0..* 1 addStudent(Course, Student) Course 1 name RegistrationUser 0..* numberCredits name Student open() addStudent(Student) major 3..10 1 4 1..* Professor CourseOffering tenureStatus location 1 0..4 open() addStudent(Student} Vista del Modelo Estructural (vista lógica) LESE-1 Introducción al Modelado Visual • Diagramas de Clases: describen la estructura del sistema
Vista del Modelo Estructural (vista lógica) LESE-1 Introducción al Modelado Visual • 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
registration registration : Student form manager ES:E :Course Offering FIB4: Course 1: fill in info 2: submit 3: add student to ESE:E 4: add student 5: are you open? 6: add student Vista del Modelo de Comportamiento LESE-1 Introducción al Modelado Visual • Diagramas de Secuencia: describen la interacción entre elementos del sistema en el tiempo
course form : 1: set course info CourseForm 2: process 3: add course : Registrar theManager : aCourse : CurriculumManager Course 4: new course Vista del Modelo de Comportamiento LESE-1 Introducción al Modelado Visual • Diagramas de Colaboración: describen la interacción entre elementos del sistema en el tiempo y en el espacio
Add student[ count < 10 ] Add Student / Set count = 0 Initialization Open do: Initialize course entry: Register student exit: Increment count Cancel Cancel [ count = 10 ] Canceled Closed do: Notify registered students Cancel do: Finalize course Vista del Modelo de Comportamiento LESE-1 Introducción al Modelado Visual • Diagramas de Estado : describen el estado, condiciones y respuesta de los elementos del sistema Course Class
Billing System User Course Vista del Modelo de Implementación LESE-1 Introducción al Modelado Visual • Diagrama de Componentes: describe la organización de los elementos físicos que implementan sistema Register.exe Billing.exe People.dll Course.dll
WebServer Database Register.exe Billing.exe Peoole.dll Main NT0034 UX0001 Course.dll Vista del Modelo de Entorno LESE-1 Introducción al Modelado Visual • Diagrama de Despliegue: describe la configuración del entorno de maquinas y redes sobre el que se distribuyen componentes y procesos del sistema ora8 SOAP RMI MQSeries
DocumentList Repository DocumentList FileMgr Document Use Case 1 add( ) name : int delete( ) fetchDoc( ) docid : int sortByName( ) numField : int Actor A Actor B get( ) read() fill the open( ) FileManager code.. close( ) read( ) FileList sortFileList( ) fList create( ) Use Case 2 fillDocument( ) add( ) mainWnd : MainWnd delete( ) 1 1 rep Use Case 3 Document File Repository (from Persistence) GrpFile read( ) name : char * = 0 read( ) readDoc( ) open( ) readFile( ) create( ) fillFile( ) gFile : GrpFile fileMgr : FileMgr GraphicFile File FileList 9: sortByName ( ) fileMgr : FileMgr mainWnd : MainWnd Windows95 Window95 Windows95 1: Doc view request ( ) 2: fetchDoc( ) ¹®¼°ü¸® Ŭ¶óÀ̾ðÆ®.EXE gFile : GrpFile ¹®¼°ü¸® ¾ÖÇø´ 4: create ( ) 8: fillFile ( ) Windows NT user : Clerk Solaris fileMgr : FileMgr ¹®¼°ü¸® ¿£Áø.EXE 3: create ( ) Alpha UNIX ÀÀ¿ë¼¹ö.EXE 6: fillDocument ( ) Windows NT IBM 7: readFile ( ) Mainframe 5: readDoc ( ) document : Document repository : Repository µ¥ÀÌŸº£À̽º¼¹ö document : Document repository : Repository mainWnd fileMgr : document : gFile repository FileMgr Document user 1: Doc view request ( ) ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( ) ¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. 7: readFile ( ) 8: fillFile ( ) È¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( ) °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡ º¸¿©ÁØ´Ù. Resúmen de Diagramas UML de un Sistema Software LESE-1 Introducción al Modelado Visual Diagramas Estáticos Diagramas de Componentes Diagramas de Clases Diagramas de Casos de Uso Diagramas de Despliegue Diagramas de Objetos Diagramas Dinámicos Diagramas de Actividad Diagramas de Secuencia Diagramas de Colaboracion Diagramas de Estados
Contenido LESE-1 Introducción al Modelado Visual • Modelado Visual de un Sistema Software • Herramientas CASE • UML • Vistas y Diagramas UML • El Proceso Unificado (UP) • Contexto de ES:E
Desarrollo de Software. Las 4 “P” LESE-1 Introducción al Modelado Visual • Unified Process (UP) • Rational Unified (Process) RUP • OPEN • OOSP • ... Procesos Plantilla Automatización Participantes Personas Proyecto 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 • .... Resultado Producto • Modelos • Codigo fuente • Ejecutables • Documentación
Proceso de ingeniería software LESE-1 Introducción al Modelado Visual • Es la definición de un conjunto de actividades que permiten transformar los requisitos de un cliente/usuario en un sistema software. Requisitos Sistema Software Proceso de Desarrollo Software
El Proceso Unificado de Desarrollo Software UP LESE-1 Introducción al Modelado Visual • Es un proceso de ingeniería del software que agrupa las 6 mejores prácticas de desarrollo software que existen en el mercado Tiempo Contenido
UP – 6 Best Practices LESE-1 Introducción al Modelado Visual • Desarrollar Iterativamente • Gestionar Requisitos • Usar Arquitecturas de Componentes • Modelar Visualmente (UML) • Continuamente Verificar Calidad del Software • Controlar Cambios en el Software
UP - Carácteristicas LESE-1 Introducción al Modelado Visual • 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
Modelos de un Sistema Software en UP LESE-1 Introducción al Modelado Visual realizado por automatizado por Bussiness Use Case Model Bussines Object Model Use Case Model especificado por realizado por Analysis Model implementado por Design Model distrbuido por Modelos en el Proceso Unificado de desarrollo software verificado por Implementation Model Deployment Model Test Model
Metodología ES:E LESE-1 Introducción al Modelado Visual • 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
Metodolgia ES:E – UP Coverage LESE-1 Introducción al Modelado Visual ES:E
ES:E Disciplinas-Modelos-Artefactos LESE-1 Introducción al Modelado Visual • 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
Metodología - ES:E (especificación) LESE-1 Introducción al Modelado Visual Dominio conceptos reglas dominio Restricciones OCL Glosario Modelo Conceptual Requisitos Automatización Modelo Comportamiento Secuencia Eventos (actores-sistema) Diagramas Estados (objetos dominio / Sistema) Descripciones c.u. Modelo Casos de Uso
Metodología - (Cursos Siguientes: Diseño) LESE-1 Introducción al Modelado Visual Glosario Modelo Conceptual (atributos-relaciones) Requisitos Automatización Diagramas Estados (objetos dominio Sistema) Descripciones c.u. Secuencia Eventos Casos de Uso Arquitectura Diseño Clases (atributos/operaciones-relaciones) Diseño Colaboraciones Clases para evento (secuencia de llamadas a métodos)
Práctica ES:E – Parte I – Modelo Conceptual LESE-1 Introducción al Modelado Visual Dominio conceptos reglas dominio Restricciones OCL Glosario Modelo Conceptual Requisitos Automatización Modelo Comportamiento Secuencia Eventos (actores-sistema) Diagramas Estados (objetos dominio / Sistema) Descripciones c.u. Modelo Casos de Uso
Practica ES:E – Parte II – Modelo de Casos de Uso y de Comportamiento LESE-1 Introducción al Modelado Visual Dominio conceptos reglas dominio Restricciones OCL Glosario Modelo Conceptual Requisitos Automatización Modelo Comportamiento Secuencia Eventos (actores-sistema) Diagramas Estados (objetos dominio / Sistema) Descripciones c.u. Modelo Casos de Uso
Referencias LESE-1 Introducción al Modelado Visual • “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