MODELO DE DISEÑO EN LA METODOLOGIA RUP

  • Upload
    ejjsm

  • View
    223

  • Download
    0

Embed Size (px)

DESCRIPTION

Acercar el modelo de análisis al modelo de implementación “Los milagros más comunes de la ingeniería del software son las transiciones desde el análisis hasta el diseño y desde el diseño al código” (Richard Due). Identificar requisitos no funcionales y restricciones en relación a: lenguajes de programación, reutilización de componentes, sistemas operativos, tecnologías de: distribución, concurrencia, bases de datos, interfaces de usuario, gestión de transacciones, etc. Descomponer el modelo de análisis en subsistemas quepuedan desarrollarse en paralelo. Definir la interfaz decada subsistema. Derivar una representación arquitectónica del sistema

Citation preview

  • INGENIERIA DE SOFTWARE

    Ing. Francisco Rodrguez NovoaUNT INGENIERIA INDUSTRIAL

  • Ing. Francisco Rodrguez Tema 8Modelo de Diseo

  • *Rational Unified Process (RUP)

  • AGENDA

    Anlisis Anlisis Orientado a ObjetosArtefactos de AnlisisTrabajadoresActividades del Anlisis Orientado a Objetos

  • VISION GENERAL

  • VISION GENERAL

    Acercar el modelo de anlisis al modelo de implementacin Los milagros ms comunes de la ingeniera del software son las transiciones desde el anlisis hasta el diseo y desde el diseo al cdigo (Richard Due). Identificar requisitos no funcionales y restricciones en relacin a: lenguajes de programacin, reutilizacin de componentes, sistemas operativos, tecnologas de: distribucin, concurrencia, bases de datos, interfaces de usuario, gestin de transacciones, etc. Descomponer el modelo de anlisis en subsistemas quepuedan desarrollarse en paralelo. Definir la interfaz decada subsistema. Derivar una representacin arquitectnica del sistema

  • VISION GENERAL

    Modelo de anlisis

    Modelo conceptual Pueden obtenerse varios diseos Menos formal Menos caro de desarrollar Puede eliminarse

    Modelo de diseo

    Modelo fsico Especfico a una implementacin Ms formal Ms caro (5 veces ms) Debe mantenerse todo el ciclo de vida

  • Diseo Diagramas UML

  • Artefactos. Modelo de DiseoCasos de uso en el dominio de la solucinCmo soportar requisitos funcionales/no funcionales y otras restricciones en el entorno de implementacinEntrada fundamental para actividades de implementacin

  • Artefactos. Clases de diseoUna clase de diseo es una abstraccin de una clase de implementacinLas operaciones, atributos, tipos, visibilidad (public, protected, private ...), etc se pueden especifican con la sintaxis del lenguaje elegidoLas relaciones entre clases de diseo se traducen de manera directa al lenguaje:generalizacin: herenciaasociaciones, agregaciones: atributosSe pueden postergar algunos requisitos a implementacin (por ejemplo: manera de nombrar los atributos, operaciones, ...)Realizan interfaces

  • Artefactos. Clases de diseo

  • Artefactos. Realizacin en diseo de los casos de usoEs una colaboracin que describe cmo se realiza en diseo un caso de uso en trminos de clases de diseo y sus interacciones

  • Artefactos. Realizacin en diseo de los casos de usoLa realizacin en diseo de un caso de uso, incluye:diagramas de clases: clases participantesdiagramas de interaccin: escenarios del caso de usodescripcin textual del flujo de eventosRequisitos de implementacinOpcionalmente, subsistemas e interfaces

  • Artefactos. Realizacin en diseo de los casos de usoDiagramas de claseUna clase de diseo puede participar en varios casos de usoAlgunas responsabilidades, atributos y asociaciones suelen ser especficos de un slo caso de uso.Diagramas de interaccinLa secuencia de acciones en un caso de uso comienza cuando un actor enva un mensaje a un objeto de diseo.Utilizar mejor diagramas de secuencia que de colaboracin. Nos interesa la secuencia cronolgica de las interacciones.Se pueden incluir subsistemas y las interfaces que proporcionan

  • Artefactos. Realizacin en diseo de los casos de usoFlujo de eventosPara clarificar los d. de secuencia: descripcin textualUna descripcin no tiene que ser local a un diagrama.Puede englobar a varios e indicar cmo se relacionan.Requisitos de implementacinRequisitos a gestionar en implementacinQuizs durante esta fase de diseo se obtengan algunos nuevosRepresentarlos con restricciones {...} asignadas a las clases de diseo, operaciones, atributos, asociaciones, etc.

  • Artefactos. Subsistemas de diseoPara organizar los artefactos de diseo: clases de diseo, realizacin de casos de uso, interfaces y otros subsistemas.Fuertemente cohesionados y dbilmente acoplados.

  • Artefactos. InterfazLos interfaces se utilizan para especificar las operaciones de las clases y los subsistemas de diseoLas clases de diseo soportan las operaciones de su interfaz mediante mtodos.Los subsistemas de diseo soportan las operaciones de su interfaz mediante las clases de diseo (o subsistemas) que contiene.

  • Ejemplo Cajero BancarioPara ilustrar las actividades, utilizaremos el ejemplo del cajero automtico

  • Actividades. Diseo de los casos de usoIdentificar las clases de diseo y/o subsistemas necesarios para la realizacin del caso de uso.Distribuir el comportamiento del caso de uso entre las clases y/o subsistemas de diseo

  • Actividades. Diseo casos de usoIdentificar las clases de diseoDerivar las clases de diseo de las correspondientes clases de anlisis que participan en el caso de uso.Estudiar los requisitos especiales del caso de uso: realizarlos con los mecanismos genricos de diseo o con clases de diseo.Asignar responsabilidades a las clases identificadas.Realizar un diagrama de clases que muestre las clases de diseo que intervienen en la realizacin del caso de uso y las relaciones entre ellas

  • Diseo del caso de uso: Validar usuario

  • Actividades. Diseo casos de usoDescribir interacciones entre objetos de diseoUtilizar diagramas de secuenciaobjetos, instancias de actores, enlacesCrear un diagrama de secuenciaComenzar estudiando la realizacin en anlisis del c.u.Sobre los diagramas de secuencia:el caso de uso comienza cuando una instancia de un actor enva un mensaje a un objeto interfaz.cada clase de diseo identificada debera tener al menos un objeto participando en el diagrama de secuencia.En esta fase gestionar excepciones y errores (entradas incorrectas, situaciones anormales, etc.)

  • Diseo del caso de uso: Validar usuario

  • Diseo del caso de uso: Sacar dineroSuponemos que el usuario ya ha sido identificado (se ha ejecutado el caso de uso anterior).Ahora selecciona la opcin sacar dinero.

  • Refinando el caso de uso: Sacar dinero

  • Diseo del caso de uso: Sacar dinero

  • Diseo de las clasesIdentificar las responsabilidades de las clases de diseo (papeles en los casos de uso)Identificar:OperacionesAtributosrelaciones en las que participaestados (diagramas de estados)mtodos que soportan sus operacionesRequisitos nuevos

  • Diseo de las clasesIdentificar operacionesEn el lenguaje de implementacinMirar responsabilidades que tiene en los casos de usoIdentificar atributosDescribirlos en el lenguaje de programacinConsiderar los atributos de las clases de anlisis de las que se derivan

  • Diseo de las clasesIdentificar asociaciones y agregacionesLas interacciones en los diagramas de secuencia precisan de asociaciones entre las clases que interactan.Minimizar el nmero de relaciones entre clases (disminuir el acoplamiento).Refinar multiplicidad, papeles, etc.Refinar la navegabilidad (direccin) de las asociaciones en base a los diagramas de secuencia.Identificar generalizaciones-especializaciones

  • Diseo de las clasesDescribir mtodosAlgoritmos para implementar alguna operacin (lenguaje natural).Esqueletos de mtodos generado por la herramienta.En general, esto se suele hacer en implementacin.Describir estadosAlgunos objetos reaccionan en funcin de su estado actual. Utilizar diagramas de transicin de estados

  • Modelo de clases de diseo

  • FIN

    ***