Sei sulla pagina 1di 14

Diseo y Arquitectura de Software

Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de


software Como parte de la evaluacin de esta unidad, es necesario realizar un reporte donde se explique y distinga los diferentes patrones de arquitectura de software, los lenguajes descriptores de arquitectura y su aplicacin a cada modelo, 1. as Lacomo libertad: facultad inherente a todo ser humano de manera que investigues patrones y lenguajes que no se hayan incluido en el desarrollo de esta primer unidad. 1. Identifica y describe los diferentes lenguajes descriptores de arquitectura y agrega la utilidad que tiene.

Unidad

LENGUAJE

Acme - Armani

C2(C2 SADL, C2SADEL, xArch,xADL)


NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

CARACTERSTICAS Y DESCRIPCIN Capaz de soportar el mapeo de especificaciones. Intercambio entre arquitectura e integracin de ADLs. Soporta la definicin de cuatro tipos de arquitectura la estructura (organizacin de un sistema en sus partes constituyentes); las propiedades de inters (informacin que permite razonar sobre el comportamiento local o global, tanto funcional como no funcional). Componentes representan elementos computacionales y almacenamientos de un sistema. Semntica Muchos lenguajes de tipo ADL no modelan la semntica de los componentes ms all de sus interfaces. Estilos Acme posee manejo intensivo de familias o estilos. Acme soporta una variedad de frontends de carcter grfico de los cuales he experimentado con tres. Es un lenguaje puramente declarativo que describe la estructura del sistema las restricciones a respetar, pero no hace referencia alguna a la generacin del sistema o a la verificacin de sus propiedades no funcionales o de consistencia. En una arquitectura de estilo C2, los 1

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software conectores transmiten mensajes entre componentes, los cuales mantienen el estado, ejecutan operaciones e intercambian mensajes con otros acomponentes todo ser humano a travs de dos interfaces. Sitio de referencia El sitio de ISR en la Universidad de California Implementacin de referencia SADL se utiliz eficazmente para un sistema de control operacional de plantas de energa en Japn, implementado en Fortran 77. Suficientemente legible como para que aqu prescindamos de comentarios, se trata un stream como un stack. La arquitectura de un compilador. Se argumenta en efecto que CHAM proporciona una base til para la descripcin de una arquitectura debido a su capacidad de componer especificaciones para las partes y describir explcitamente las reglas de composicin. CHAM es un modelo de mquina abstracta independiente de plataforma y del lenguaje o paradigma de programacin que se vaya a utilizar en el sistema que se modela. Darwin soporta la descripcin de arquitecturas que se reconfiguran dinmicamente a travs de dos construcciones. Darwin no proporciona una base adecuada para el anlisis de la conducta de una arquitectura, debido a que el modelo no dispone de ningn medio para describir las propiedades de un Componente o de sus servicios ms que como comentario. Darwin est orientado ms que nada al diseo de arquitecturas dinmicas y cambiantes. Consisten en una coleccin de servicios que pueden ser provistos o requeridos.

Unidad 1. La libertad: facultad inherente

CHAM

Darwin

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Semntica Darwin proporciona una semntica para sus procesos estructurales mediante el clculo. Darwin proporciona notacin grfica. aSoporte todo ser humano de lenguajes. Animacin de arquitectura - Jacal no cuenta con una notacin particular para expresar estilos, aunque por tratarse de un lenguaje de propsito general. Interfaces Cada componente cuenta con puertos ports) que constituyen su interfaz y a los que pueden adosarse conectores. Jacal no genera cdigo de ningn lenguaje de programacin. Disponibilidad de plataforma La herramienta que actualmente est disponible para editar y animar arquitecturas en Jacal es una aplicacin Win32, que no requiere instalacin, basta con copiar el archivo ejecutable para comenzar a usarla. Es oficialmente un lenguaje de interconexin de mdulos (MIL), basado en expresiones de mdulo propias de la programacin parame trizada. Utilizar descriptivamente. Para especificar y analizar un diseo determinado. (Que describen mdulos y relaciones entre ellos, y que pueden incluir cdigo u otros objetos de software). Utiliza el lenguaje Ada para la implementacin y Anna para la especificacin. LILEANNA soporta diferentes estilos de comunicacin. LILEANNA (que habla de teoras, axiomas, grafos, vistas, stacks, aserciones, estructuras verticales y horizontales, packages y mquinas virtuales en un sentido idiosincrtico a ese paradigma). LILEANNA son poderosos, pero no

Unidad 1. La libertad: facultad inherente

Jacal

LILEANNA

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software estn en lnea con el estilo de arquitectura orientada a servicios o con modelos igualmente robustos, como los de C2 y Wright. aAs todo ser humano como LILEANNA es un ADL ligado a desarrollos que guardan relacin especfica con helicpteros. Est basado en la estructura textual de MetaH. Disponibilidad de Plataforma MetaH est exclusivamente ligado a desarrollos hechos en Ada en el dominio de referencia. Soportan tipos particulares de conectores. Proporciona herramientas para desarrollar configuraciones ejecutables de caja negra y posee un nmero fijo de tipos de interaccin. Generar cdigo ejecutable a partir de una descripcin, a partir de componentes primitivos adecuados. Interfaces En UniCon los puntos de interfaces de los componentes se llaman players. UniCon slo soporta cierta clase de informacin semntica en listas de propiedades. UniCon soporta notacin grfica. Archivos que contienen cdigo fuente. Carece de la capacidad de definir nuevos tipos, soportado slo una amplia variedad de tipos predefinidos. La distribucin de UniCon no se encuentra actualmente activa.

Unidad 1. La libertad: facultad inherente

MetaH/AADL

UniCon

2. Identifica y describe los patrones de arquitectura y agrega la utilidad que tienen.


Patrones de arquitectura de software

Tipo de Patrn

Comentario

problemas

Relacionados Problemas Patrones de a la arquitectnico Arquitectura interaccin de s


NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Fase de desarrollo Patrones de Diseo inicial llamadas entre objetos (similar Soluciones

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software a los patrones de diseo), decisiones y criterios 1. La libertad: facultad inherente a todo ser humano arquitectnicos, empaquetado de funcionalidad Conceptos de Claridad de Comportamient Diseo ciencia de diseo o de factora, detallado computacin multiplicacin Clase en general, de clases, Responsabilida Patrones de independiente adaptabilidad d Contrato Diseo de aplicacin a (CRC) requerimiento s cambiantes, etc. Usualmente Modelado del Modelado de Anlisis especficos de dominio dominio, aplicacin o completitud, conocimiento industria integracin y sobre lo que equilibrio de habr de Patrones de objetos incluirse (p. ej. Anlisis mltiples, Logging & planeamiento reinicio) para capacidades adicionales comunes Desarrollo o Productividad, Armado de Planeamiento procesos de comunicacin equipo, ciclo de Patrones de administracin efectiva y vida del Proceso o de proyectos, eficiente software, de o tcnicas, o asignacin de Organizaci estructuras de roles, n organizacin prescripciones de comunicacin Estndares de Operaciones Siumamente Implementacin codificacin y comunes bien especficos de , proyecto conocidas en un lenguaje, Mantenimiento, Idiomas un nuevo plataforma o despliegue ambiente, o a ambiente travs de un grupo.
NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Unidad

objetos dentro o entre niveles arquitectnico s

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Legibilidad, predictibilidad

Unidad 1. La3. libertad: facultad a todo ser humano Elabora ejemplos deinherente uso de la combinacin de lenguajes y patrones y
describe cada ejemplo (mnimo 2). En un contexto informtico un patrn de diseo es similar a conceptos como biblioteca de clases, frameworks, tcnicas y/ herramientas de refactorizacin o programacin extrema. La clasificacin de los patrones de diseo en este contexto atiende a dos caractersticas como son: Atendiendo a su propsito o Creacionales: Resuelven problemas relativos a la creacin de objetos o Estructurales: Resuelven problemas relativos a la composicin de objetos o de Comportamiento: Resuelven problemas relativos a la interaccin entre objetos. Atendiendo a su mbito o Clases: Relaciones estticas entre clases o Objetos: Relaciones dinmicas entre objetos Un ejemplo de lo que podra constituir un patrn de diseo aplicado a un contexto informtico podra ser el siguiente: Clases: relaciones estticas entre clases. Objetos: relaciones dinmicas entre objetos. Nombre: Retroalimentacin visual de navegacin directa. Problema: El usuario tiene dificultades para acceder directamente a las ventanas del sistema informtico y desconoce cul de entre ellas es la ventana actual de trabajo. Principio de usabilidad: Guiar al usuario y dar el control de la interaccin al usuario. Contexto: Dada una gran cantidades de informacin facilitar al usuario los medios para navegar directamente entre las ventanas del sistema informtico. Fuerza: El sistema debe siempre mostrar la lista de ventanas navegables.

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Solucin: Permitir al usuario a seleccionar directamente las ventana de la interfaz y mostrar continuamente la ventana activa y desactivas. Consecuencias: El acceso a directo las ventanas del sistema no libertad: facultad inherente todoaser humano solo beneficia la manipulacin directa de ellas sino tambin la manipulacin de los objetos que retienen ya que cada ventana es definida en trminos de sus objetos de interaccin (e. g. iconos, tems de men, radio botones) los cuales permiten la adquisicin y la restitucin de informacin que requiere el usuario.

Unidad 1. La

Ejemplo 1 Una tienda de conveniencia necesita automatizar sus procesos de compra, venta y seguimiento de clientes. Lo desea hacer a travs de venta en lnea para sus clientes y que sus proveedores puedan acceder a un sitio privado y vean automticamente las existencias del producto que surten, al mismo tiempo los usuarios podrn comentar sobre su experiencia de compra en lnea o en el sitio; estos comentarios los podrn hacer a travs de un equipo de cmputo convencional o mediante un dispositivo mvil que ser capaz de conectarse al sitio de la tienda. El gerente de la tienda necesita que se obtengan tendencias de ventas y que se haga una posible sugerencia a los compradores sobre la base a sus compras anteriores, y sobre todo considerando su perfil (se entiende que el sistema deber generar ese perfil en el que se incluya la edad, el sexo, la ubicacin, los amigos, las fotografas, su grado escolar y comentarios hechos). Deber ser fcil de usar para todos los usuarios y deber manejar diferentes tipos de roles (administrador del sitio, gerente general, gerente de tienda, vendedor, proveedor, usuario normal) y cada uno tendr acceso a diferentes privilegios asignados por el administrador del sitio Se propone un patrn simple que es una tienda de convivencia y no se pretende tener una arquitectura muy compleja que no requiera de algn mantenimiento de la misma y tambin que no sea muy costosa. Tambin se requiere de una programacin por capas para poder delimitar cada componente que compone a cada aplicacin. La programacin por capas es la arquitectura cliente-servidor ya que permite contar con tipos de clientes (web o dispositivos mviles) Cada capa tiene una funcin:
NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Capa de presentacin.- Se desarrollan las interfaces del usuario. Capa de negocio.- Son los requerimientos solicitados.

Unidad 1. Capa La libertad: inherente alatodo ser humano de datos.- facultad Acceso a los recursos de informacin que se requiere con una
base de datos, los datos pueden ser lectura, modificaciones, escritura. Las bases de datos de cada capa contienen diferentes detalles: Capa de presentacin: Una pantalla de los productos que se compraran. Productos de venta de productos Seguimiento de productos Pedidos Proveedores Sugerencias Registro de clientes. Registro de usuarios, clientes, proveedores. Ayuda En la capa de negocios. Buscar un producto. Carrito de compras. En la capa de datos. Clientes Proveedores Empleados Productos Pedidos Inventario Comentarios Ejemplo 2: Una tienda de convivencia necesita tambin sus procesos de compra, venta y seguimiento de clientes. Lo cual necesita tambin el gerente de la tienda necesita que se obtenga tendencias de ventas y que se haga una posible sugerencia a los compradores sobre la base a sus compras anteriores y sobre todo considerando su perfil y que sea fcil para todos los usuarios en todos los departamentos de la tienda y cliente. Requerimientos de software Venta en lnea para sus clientes Datos del cliente y servidor
NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Compra, venta y seguimiento de clientes Sus proveedores puedan acceder a un sitio privado Ver automticamente las existencias del producto Sugerencias de la compra 1. Cada La libertad: facultad inherente a todo ser humano del sitio una tendr acceso a diferentes privilegios por el administrador Propuesta de arquitectura N-capas con orientacin al dominio Capa de presentacin Cliente Aplicacin en diferentes dispositivos electrnicos Capa de servicios distribuidos Cliente usuario Cuenta con el negocio Capa de aplicacin El cliente realiza revisin de producto Datos del usuario Sugerencias Capa del modelo Vendedor Proveedor Administrador Capa de la infraestructura de acceso Gerente General Obtencin de informacin Conclusiones: Los ADLs cuentan con cuatro criterios que los definen como una entidad: componentes, conectores, configuraciones y restricciones. Lenguaje que pertenezca a la familia de ADLs debe soportar por lo menos los siguientes elementos: Componentes Conexiones Composicin jerrquica Paradigmas de computacin Paradigma de comunicacin Modelos formales subyacentes Soporte de herramientas para modelado, anlisis, validacin y verificacin Composicin automtica de cdigo aplicativo Abstraccin de componentes Relatividad Capacidad para modelar componentes Tipos y verificacin de tipos
NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Unidad

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Componentes, conectores, Configuraciones o Sistemas, Propiedades, Restricciones, Estilos, Evolucin, Propiedades no funcionales.

Unidad 1. Los La patrones libertad: facultad inherente a todo ser humano arquitectnicos sirven tambin para describir las restricciones que
tienen los mdulos que comprendern al sistema. Debe considerarse a la AS como una conjuncin de todos los elementos hasta ahora descritos (ADLs, patrones arquitectnicos, vistas) La metodologa RUP (Rational Unified Process) distingue varios pasos (fases) que se deben completar para poder decir que se realiz la administracin del desarrollo de un proyecto de software: Ventas Planeacin Anlisis Diseo Construccin Pruebas Implementacin 4. Investiga la aplicacin de lenguajes y patrones que no se hayan presentado en el desarrollo de la unidad.

Patrones de diseo Proxies de todo Factoras Adaptadores Composicin Broker Nombre e intencin del patrn Referencia al patrn Incrementa el vocabulario de diseo Problema y contexto Cundo aplicar el patrn Solucin Estructura: elementos que conforman el diseo, sus relaciones, responsabilidades y colaboraciones es una descripcin abstracta de cmo una disposicin de elementos (clases y objetos) solucionan el problema Se ilustra con un ejemplo de cdigo

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

10

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Consecuencias (positivas y negativas) Necesidades (tiempo, memoria), aspectos de implementacin y lenguaje de programacin, flexibilidad, extensibilidad, portabilidad Patrones facultad relacionados Lalibertad: inherente a todo ser humano Categoras de patrones de diseo Patrones de creacin Tratan de la inicializacin y configuracin de clases y objetos Patrones estructurales Tratan de desacoplar interfaz e implementacin de clases y objetos: o Cmo se componen clases y objetos? Patrones de comportamiento Tratan de las interacciones dinmicas entre sociedades de clases y objetos: o Cmo interaccionan y se distribuyen responsabilidades los objetos? Cmo seleccionar un patrn de diseo Considerar cmo los patrones de diseo solucionan problemas de diseo Buscar las intenciones de cada patrn Estudiar cmo se interrelacionan los patrones Estudiar patrones de propsito similar Examinar la causa de un rediseo Considerar qu debera ser variable en un diseo Cmo usar un patrn de diseo 1. Leer el patrn una vez para tener una visin general 2. Volver y estudiar la estructura, los participantes y las colaboraciones 3. Ver un ejemplo concreto codificado del patrn 4. Elegir nombres para los participantes del patrn que sean significativos en el contexto de la aplicacin 5. Definir las clases 6. Definir nombres especficos de la aplicacin para las operaciones en el patrn 7. Implementar las operaciones que realizarn las responsabilidades y colaboraciones del patrn Patrones de creacin En Java para crear un objeto se utiliza el operador new unObjeto = new ClaseObjetos (); Una clase Factora puede ocuparse de los detalles de qu clase de implementacin utilizar para crear un objeto de un tipo determinado

Unidad 1.

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

11

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software

Unidad 1. La libertad: facultad inherente a todo ser humano

Permiten que el sistema sea independiente de cmo se crean, componen o representan sus objetos Sistemas ms dependientes de la composicin de objetos que de la herencia de clases Se trata de que el comportamiento se defina ms por la composicin de un conjunto pequeo de comportamientos fundamentales que por la definicin mediante herencia de todos los comportamientos posibles Por tanto, la creacin de objetos es algo ms que instanciar una clase Temas recurrentes en los patrones de creacin: Encapsulan el conocimiento sobre las clases concretas que se van a utilizar Ocultan la manera de crear objetos de estas clases y cmo se juntan o La visin global de los objetos del sistema son sus interfaces (que pueden definirse como clases abstractas o interfaces) o Se da independencia de o qu se crea o quin lo crea o cmo se crea o cundo se crea Tipos de patrones de creacin De clase: usa herencia para variar la clase del objeto creado o Factora abstracta o Factora para construir familias de objetos o Builder o Factora para construir objetos complejos de forma incremental De objeto: delega la creacin en otro objeto o Mtodo Factora Interfaz que permite que sean las subclases las que determinen qu clase instanciar o Prototype 12

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software Factora para clonar nuevos ejemplares copiando de un prototipo o Singleton o Object Pool facultad inherente todo ser que humano Factoraa que asegura slo hay un miembro (singleton) o un conjunto determinado (object pool) de una clase, y proporciona un punto global de acceso a l

Unidad 1. La libertad:

Patrones elementales (idioms) Modularidad Interfaces mnimas Encapsulacin Objetos Acciones y Eventos Concurrencia Lo fundamental son las relaciones de uso entre objetos Se trata de conseguir que cambios en los requisitos de la aplicacin no ocasionen cambios en las relaciones entre los objetos Las relaciones de uso estn determinadas por las interfaces que soportan los objetos Tipos de patrones estructurales De clase: usa herencia para componer interfaces o implementaciones o Herencia mltiple: una clase que hereda de otras combina sus propiedades o Class Adapter De objeto: composicin de objetos en tiempo de ejecucin o Object Adapter o Bridge o Composite o Decorator o Facade o Flyweight o Proxy

Bibliografa: http://www.fdi.ucm.es/profesor/jpavon/poo/2.14PDOO.pdf http://www.fdi.ucm.es/profesor/jpavon/poo/2.14PDOO.pdf http://www.um.es/ead/red/M10/caceres.pdf

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

13

Diseo y Arquitectura de Software


Unidad 1 Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software 5. En un archivo de texto, redacta un reporte con los elementos solicitados en los puntos 1, 2, 3 y 4. 6. Guarda la actividad con el nombre DRS_U1_EA_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, Y por la inicial de tu La libertad: facultad inherente a todo ser la humano primer apellido y la Z por la inicial de tu segundo apellido. 7. Enva el archivo a tu Facilitador(a) a travs de la seccin Evidencia de aprendizaje. 8. Consulta la escala de evaluacin para conocer los parmetros de la actividad.

Unidad 1.

NOMBRE: Roberto lvarez Granados MATRCULA: AL12501836 CARRERA: Ingeniera en Desarrollo de Software

14

Potrebbero piacerti anche