Guía de estudio segundo parcial

¿Qué artefactos se pueden iniciar en la fase de elaboración?


Modelo del dominio: Visualización de los conceptos del dominio;
similar al modelo de información estática de las entidades del
dominio.
Modelo de diseño: Conjunto de diagramas que describen el diseño
lógico: diagramas de clase, de interacción de objetos, paquetes, etc.
Documento de la Arquitectura Software: Un documento que resume
los aspectos arquitectónicos y su resolución en el diseño. Un sumario
de las ideas de diseño más importantes y su motivación.
Modelo de Datos: Esquemas de la base de datos y sus estrategias de
mapeo entre representaciones objetuales y no objetuales (Ej. mapeo
O/R)
UC Storyboards, UI Prototypes: Una descripción de la UI, rutas de
navegación, modelos de usabilidad, etc.

Modelo Dominio
Un Modelo de Dominio ilustra los conceptos importantes en el
dominio del problema. Es una representación de cosas del mundo
real, no componentes software.Es un conjunto de Diagramas
estructurales desde la perspectiva conceptual.
¿Cómo crear un modelo de dominio?
1. Encuentra las clases conceptuales.
2. Dibújelas como clases de un Diagrama de clases UML.
3. Agrega asociaciones y atributos.

Estrategias para Identificar Clases Conceptuales
 Reutiliza o modifica modelos existentes. Es la estrategia primera, más
fácil y mejor.
 Use una Lista de categorias conceptuales.
 Use Identificación de frases sustantivas.

Asociación
Una asociación es una relación entre conceptos que indica alguna conexión
de interés entre los mismos.
Criterios para seleccionar Asociaciones útiles

preferiblemente:  Datos primitivos: Boolean.  Navegabilidad. property- .  Nombre las asociaciones VerbPhrase-TypeName basado en la sintaxis: TypeName-  La dirección de lectura por default es izquierda. Incluye aquéllos para los cuales los requisitos actuales sugieren o implican la necesidad de recordar información. Roles  El extremo final de una asociación es llamado Rol.  Asociaciones derivadas de la Lista de Asociaciones Comúnes.  Evita asociaciones redundantes y derivadas. CP. arribaabajo Atributos Un atributo es un valor de datos lógico de un objeto. número de teléfono. UPC. Incluya las asociaciones siguientes en el Modelo del Dominio:  Asociaciones para las cuales el “conocimiento de la relación” se requiere preservar durante algún tiempo (Asociaciones “need-to-remember”). Date. Multiplicidad  La Multiplicidad define cuantas instancias de un tipo A pueden ser asociadas con una instancia de tipo B en un momento particular en el tiempo.derecha.  Sintaxis completa de un atributo en UML:  visibility string } name:type multiplicity=default{  Los atributos deberían ser. Number. Los roles pueden tener los siguientes adornos:  Nombre.  Multiplicidad. String  Simple: color.

su orden. Línea guía: dibuja un SSD para el happy path del CU y/o para los escenarios alternativos frecuentes o importantes. y posibles eventos inter-sistemas. Arquitectura lógica La Arquitectura lógica es la organización a gran-escala de las clases software en paquetes (o namespaces). para un escenario particuar de un CU. subsistemas y capas. El Sistema puede representarse mediante una clase conceptual con sus operaciones. Se pueden definir contratos para las operaciones del Sistema (su interface pública). una vez que es ejecutada una operación del sistema. Contratos Los Contratos son documentos que describen el comportamiento del sistema. los eventos que actores externos generan.Diagrama de Secuencia del Sistema (SSD) Un Diagrama de Secuencia es un dibujo que muestra. Los contratos describen el comportamiento detallado del sistema en términos de cambios de estado de los objetos del Modelo del Dominio. que representan su interface pública. La Arquitectura Lógica se recomienda esté basada en algún arquitectónico:  Capas  Repositorio estilo .

paquetes. Las capas suelen ser organizadas en capas de “alto” nivel (capa UI) que llaman a los servicios de capas de “bajo” nivel (normalmente no a la inversa). En una Arquitectura relajada de capas. Las capas típicas en un sistema OO incluyen:    User Interface. paquetes o subsistemas que tienen un conjunto cohesivo de responsabilidades con relación a un aspecto del sistema. ¿Qué es una capa? Una capa (layer) es un agrupamiento de grano-grueso de clases. Un paquete UML ofrece una forma de agrupar elementos (puede agrupar lo que sea: clases.) Es común mostrar dependencias o acoplamientos entre paquetes de tal forma que los desarrolladores pueden ver el acoplamiento a gran escala del sistema. una capa solamente llama a servicios de la capa directa inferior (suele tenerse en protocolos de red. Una capa puede modelarse como un paquete UML. Estos servicios suelen ser independientes de la aplicación y reutilizables a través de varios sistemas. etc. . no en sistemas de información). UC. En una Arquitectura estricta de capas. Las asociaciones de dependencia UML se utiliza para ello. Aplicando UML:Diagramas de Paquetes Los Diagramas de Paquetes suelen utilizarse para ilustrar la Arquitectura Lógica de un sistema (capas. subsistemas. Technical Services: objetos de propósito general y subsistemas que proveen servicios de soporte técnico (tal como la interfaz a una base de datos). Application Logic and Domain Objects: objetos software que representan objetos del dominio (tal como el objeto Sale) que satisfacen los requisitos de la aplicación (tal como calcular el total de una venta). etc. Cliente-Servidor  Pipe & Filter. las capas de alto nivel llaman a varias capas de nivel inferior (más común en sistemas de información).). etc. paquetes.

El nombre cualificado del elemento contenido incluye sus paquetes. IDproyecto. Las capas de una arquitectura se representan mediante divisiones verticales. normalmente existirán objetos en la capa UI que capturan estas solicitudes de operaciones de sistema. FechaInicio. pero ahora se utiliza más para referirse a un nodo de procesamiento físico (o un cluster de nodos). ¿Cuál es la conexión entre SSD. mientras que las particiones representan una división horizontal de subsistemas de una capa. Sin embargo. Los objetos UI entonces delegan la solicitud de la capa UI a la capa de dominio para su manejo. recibir eventos UI y delegar solicitudes para lógica de aplicación a objetos no-UI (como los objetos de dominio). 2. capas. Operaciones de Sistema y Capas? Los eventos de sistema se corresponden con operaciones de sistema. Definición: Tiers. Nombre. Plaza y Ciudad .. Principio de Separación Model-View: 1. No conectes o acoples objetos no-UI directamente a objetos UI. FechaCompromiso. Los objetos UI deberían solamente inicializar elementos UI. Tipo. pero ocultan los objetos UI específicos. Ej. No pongas lógica de aplicación en los métodos de los objetos UI.Client tier (la computadora cliente).Un paquete UML representa un namespace. particiones La noción original de tier en arquitectura fue capa lógica. Los SSDs ilustran las operaciones de sistema.