Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
ANALISIS (UML) • Conseguir 1 comprensión + precisa de los requisitos y 1 descripción de los mismos q sea fácil de mantener y q ayude a estructurar el sist.entero, incluyendo su arquitectura. • Analizar los requisitos usando el leng.de los desarrolladores y producir 1vista interna del sist. Es 1modelo conceptual, refina y estructura los requisitos, Facilita su comprensión, modificación y mantenimiento. Objetivos En esta disciplina se analizan los requisitos q se describieron en la captura de requisitos, refinándolos y estructurándolos. Importancia del Modelo de Análisis • Ofrece 1especificación + precisa de los requisitos q la q tenemos como resultado de la captura de requisitos, incluyendo al modelo de CU. • Se describe utilizando el leng.de los desarrolladores, y se puede x lo tanto introducir un mayor formalismo y ser utilizado p/razonar sobre los funcionamientos internos del sist. • Estructura los requisitos de 1modo q facilite comprensión/preparación/modificación/mantenimiento. • Puede considerarse como 1ra.aproximación al modelo de diseño (aunque es 1modelo por sí mismo), y es x lo tanto 1entrada fundamental cuando se da forma al sist.en el diseño y en la implementación. Florencia Resaltado Florencia Resaltado DIFERENCIA ENTRE REQUISITOS Y ANÁLISIS DEL PROCESO UNIFICADO Lenguaje del cliente Vista externa del sistema Estructurado x CU Se usa como contrato entre el cliente y los desarrolladores sobre lo q debería o no hacer el Sist Puede contener inconsistencias, redundancias, etc. entre los requisitos Captura la funcionalidad del Sist Define CU Modelo de CU Modelo de Análisis Lenguaje del desarrollador Vista interna del sistema Estructurado x Clases de Análisis Se usa p/comprender como debería darse forma al sist. (diseñado e implementado) No debe contener inconsistencias, redundancias, etc. entre los requisitos Señala cómo incorporar esa funcionalidad en el sistema Define realizaciones de CU, y c/u de ellas representa el análisis de un CU Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado ANALISIS (UML) - ETAPAS 2 Análisis 2.1 Analizar los CU 2.1.1 Identificar clases: Entidad, Interfaz y Control 2.1.2 Describir interacciones: Diagr.de Colaboraciones 2.2 Analizar c/Clase de Análisis 2.2.1 Identificar responsabilidades 2.2.2 Identificar atributos 2.2.3 Identificar relaciones: asociaciones, agregaciones y generalizaciones Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado 2.1 ANALIZAR LOS CU 2.1.1 IDENTIFICAR CLASES • Modelan la información de larga vida (persistente) • Pueden ser pasivas o activas • Encapsulan información y operaciones asociadas, x ej: repositorios de informac. • Se pueden derivar de 1 clase de entidad del negocio ó de 1clase de dominio Identificar Clases Entidad • Modelan la interacción entre el sist.y los actores • Representan la interfaz del sist.(ventanas, formularios, interfaces de comunicaciones, interfaces de impresoras, sensores, terminales, ...) • Con poco detalle • Describen la inform. presentada al actor y las peticiones q hace el actor al sist. Identificar Clases Interfaz • Representan la coordinación entre objetos • Encapsulan el flujo de control de un determinado CU • Representan la lógica del negocio - cálculos • Ni interacciones con el US. ni problemas de almacenar información (persistencia) • Tiempo de vida: corto Identificar Clases Control Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado 2.1.2 DIAGRAMA DE COLABORACIONES Muestra interacciones organizadas alrededor de roles de las clases entidad, interfaz y control, etiqueta con nros.de secuencia tanto la secuencia de msjes. como los hilos concurrentes, mostrando cómo las instancias específicas de las clases trabajando juntas p/conseguir un objetivo común. Ej.de Diagr.de Colaboración Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado 2.2 ANALIZAR CADA CLASE DE ANÁLISIS 2.2.1 IDENTIFICAR RESPONSABILIDADES Se describe brevemente las responsabilidades de las Clases Control. Tiene como objetivos: • En c/realización de CU, se debe ver q rol/papel juega la clase de análisis • Combinar roles/papeles y describirlos juntos Se describen atributos de las clases Entidad, Interfaz y Control. Consideraciones: • Se debe identificar el Nombre de los atrib. • Los tipos de atrib.son conceptuales, no hay q restringidos x el entorno de implementación • En las Clases Entidad se deben identificar los atrib.derivados del dominio • En las Clases Interfaz q interactúan con actores humanos se deben reconocer los atrib.q representan campos de texto, etiquetas, etc • En las Clases Interfaz que interactúan con subsist.externos se identifican los atrib.q representan prop.de la interfaz de comunicación • En las Clases ctrl.se distinguen los q representan estados de la sesión actual: valores calculados en el CU 2.2.2 IDENTIFICAR ATRIBUTOS Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado 2.2ANALIZAR CADA CLASE DE ANÁLISIS 2.2.2 IDENTIFICAR RELACIONES: ASOCIACIONES, AGREGACIONES Y GENERALIZACIONES Identifica las relac. entre las clases encontradas, pueden ser Asociación, Agregación o Generalización. Aspectos a considerar: • Describen Asociaciones o enlaces • Disminuye el acoplamiento o el nro.de relaciones entre clases: las (inter)relaciones existen en respuesta a las demandas de las realizaciones de CU • No optimizan los caminos de acceso • Define multiplicidad y nombres de los roles • Plantea agregación y composición es decir 1objeto q contiene físicamente a otros (x ej.1 coche q contiene conductor+pasajeros), 1 objeto compuesto de otros (x ej.1 coche que consta de motor + ruedas) y 1obj.q es 1colección conceptual de objetos (x ej.1familia q consta de padre+madre+hijos) • Identifica generalizaciones - especializaciones entre clases Florencia Resaltado 2.2ANALIZAR CADA CLASE DE ANÁLISIS 2.2.2 IDENTIFICAR RELACIONES: ASOCIACIONES, AGREGACIONES Y GENERALIZACIONES Permite asociar objetos q colaboran entre sí. Es 1conexión semántica entre clases, 1conj.de enlaces entre instancias de clases. X ej. 1país q tiene 1ciudad como capital o 1alumno q estudia 1 o+asignaturas Asociación Indica que 1objeto es 1parte de otro objeto (el agregado). El objeto agregado no tiene sentido sin q existan los objetos “parte” (o componentes) correspondientes. X ej. un cuadro q se divide en marco, cristal, lámina; o una ventana de entorno gráfico que tiene: título, menú principal, contenido. Hay 2 tipos de agregación: Débil cuando las partes pueden existir fuera del agregado o Fuerte (composición) cuando las partes sólo existen dentro del agregado. Para modelar objetos complejos, no bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos 2 posibilidades: Agregación Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado 2.2ANALIZAR CADA CLASE DE ANÁLISIS 2.2.2 IDENTIFICAR RELACIONES: ASOCIACIONES, AGREGACIONES Y GENERALIZACIONES • Por Valor (rombo relleno): es 1tipo de relación estática, en donde el tiempo de vida del objeto incluido está condicionado x el tiempo de vida del que lo incluye. Este tipo de relación es comúnmente llamada Composición (el Objeto base se construye a partir del objeto incluido, es decir, es "parte/todo").• Por Referencia (rombo transparente): es 1 tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comúnmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento). Agregación (cont) Ej. en donde un Almacén posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias). Cuando se destruye el Objeto Almacén también son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados. Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado 2.2ANALIZAR CADA CLASE DE ANÁLISIS 2.2.2 IDENTIFICAR RELACIONES: ASOCIACIONES, AGREGACIONES Y GENERALIZACIONES Generalización (/Especialización) Indica una relación entre una clase y una o más versiones especializadas de la misma clase, en donde las subclases heredan atributos y operaciones. No relaciona objetos. Además pueden definir nuevos atributos y operaciones, pudiendo existir varios niveles de generalización o jerarquía de herencia. Ejemplo de Generalización Florencia Resaltado Florencia Resaltado • El Proceso Unificado de Desarrollo de Software. De Gustavo Torossi. • El Proceso Unificado de Desarrollo de Software. 2000. De Ivar Jacobson, Grady Booch y James Rumbaugh. Capítulo 8. Pág.: 165:204 • Métrica 3. Técnicas y Prácticas. Ministerio de Administraciones Públicas. De Alarcos. Página 51-52 BIBLIOGRAFÍA RECOMENDADA
Compartir