Apuntes u3 Is

11
INSTITUTO TECNOLÓGICO SUPERIOR DE SAN ANDRÉS TUXTLA MATERIA: INGENIERIA DE SOFTWARE CATEDRÁTICO: MONTSERRAT MASDEFIOL SUÁREZ UNIDAD 3: APUNTES ARQUITECTURA DE SOFTWARE ALUMNO: FELIPE XOLOT PIO CARRERA: INGENIERÍA EN SISTEMAS COMPUTACIONALES GRUPO: 604 “A”

description

ingenieria de software

Transcript of Apuntes u3 Is

INSTITUTO TECNOLGICO SUPERIOR DE SAN ANDRS TUXTLAMATERIA:INGENIERIA DE SOFTWARECATEDRTICO:MONTSERRAT MASDEFIOL SUREZUNIDAD 3:APUNTESARQUITECTURA DE SOFTWAREALUMNO:FELIPE XOLOT PIOCARRERA:INGENIERA EN SISTEMAS COMPUTACIONALESGRUPO:604 A

UNIDAD 3 ARQUITECTURA DE SOFTWAREObjetivoIdentificar y establecer los lineamientos formales para el desarrollo de aplicaciones robustas, tomando decisiones tcnicas relacionadas con la arquitectura de la aplicacin como gua para el diseo de la mismaTemas3.1 Descomposicin Modular3.2 Patrones De Diseo3.3 Arquitectura De Dominio Especfico3.4 Diseo De Software De Arquitectura Multiprocesador3.5 Diseo De Software De Arquitectura Cliente-Servidor3.6 Diseo De Software De Arquitectura Distribuida3.7 Diseo De Software De Arquitectura De Tiempo Real.

Arquitectura del software El proceso de diseo para la identificacin de los subsistemas que componen un sistema y el marco para el subsistema de control y comunicacin es el diseo arquitectnico. El resultado de este proceso de diseo es una descripcin de la arquitectura del software.

Diseo arquitectnico Una fase temprana del proceso de diseo del sistema. Representa el vnculo entre los procesos de especificacin y diseo. Suelen llevarse a cabo en paralelo con las actividades de algunas especificaciones Se trata de identificar a los principales componentes del sistema y sus comunicaciones.

Ventajas de la arquitectura explicita Comunicacin con los stakeholders La arquitectura puede ser utilizada como un foco de discusin del sistema por los stakeholders. Significa que el anlisis de si en el sistema puede hacer frente a sus requerimientos no funcionales es posible Reutilizacin a gran escala La arquitectura puede ser reutilizable a travs de una variedad de sistemas.

Qu es el diseo arquitectnico? Diseo arquitectnico es un proceso creativo Intente establecer una organizacin del sistema que satisfaga los RF y RNF. El proceso es diferente dependiendo del tipo de sistema que se est desarrollando Sin embargo, es comn una serie de decisiones, en todos los procesos de diseo.

Decisiones de diseo arquitectnico Existe una arquitectura de aplicaciones genricas que se puede utilizar Cmo se distribuir el sistema? Qu estilos arquitectnicos son apropiados? Qu enfoques se utilizara para la estructura del sistema? Cmo el sistema se descompone en mdulos?

3.1 Descomposicin ModularProceso de diseo arquitectnicoActividades comunes a todos los procesos de diseo arquitectnico:1. Estructuracin del sistema Se estructura en varios subsistemas2. Modelado de control Son las relaciones3. Descomposicin modular

DefinicinMdulo: unidad de cdigo que implementa un conjunto de responsabilidades. Ejemplos: clase, coleccin de clases, capa Propiedades Relaciones: parte_de, hereda_de.

Tipos de descomposicin modular Descomposicin modular con abstracciones Diseo modular efectivo

1. Identificar los mdulos2. Describir cada mdulo

Diseo modular efectivoPara poder evaluar la efectividad de una representacin de diseo, es preciso establecer lo que se denomina en ingeniera de softwareEl diseo debe ser modular, esto es, el software debe estar particionado lgicamente en elementos que ejecuten funciones y subfunciones especificas

Criterios para definir el modulo Capacidad de descomposicin modularSi un mtodo de diseo permite ensamblar los componentes de diseo existentes en un sistema nuevo Capacidad de empleo de componentes modulares Capacidad de compresin modular Continuidad modularSi pequeos cambios en los requisitos del sistema provocan cambios en los mdulos. Proteccin modular

Diseo de sistemas confiablesSe dice que un sistema tiene confiabilidad sino produce fallas costosas al utilizarse de forma razonableHay 2 niveles de confiabilidadEl primero es el que el sistema cumpla con los requerimientosUn error aparece cuando el sistema no produce los resultados esperadosUna falla es la aparicin de un error en el software, con un cierto grado de seriedad

Causa de los erroresNo obtener los requerimientos correctosNo entender correctamente los requerimientosNo traducir los requerimientos de una forma clara y entendible, de manera que los programadores lo implanten correctamente.

Diseo de sistemas fciles de mantenerLa vida promedio de un sistema va de 1 a 6 aos

ModularidadBeneficios de la modularidadProgramas ms simples, ya que puede ser comprendido verificando, programando, depurando.Programas que pueden evaluarse por partes, por lo cual todo test se hace mas fcil.Programas ms fciles de alterar.El programa puede ser comprendido por partesDisminuye errores de programacin.Tarea: ingeniera de software de Pressman

Qu es un patrn de diseo?Un patrn es una semilla de conocimiento, la cual tiene nombre y transporta la esencia de una solucin probada a un problema recurrente dentro de cierto contexto en medio de intereses en competencia.Dicho de otro modo, un patrn de diseo describe una estructura de diseo que resuelve un problema de diseo particular dentro de un contexto especfico y en medio de fuerzas que pueden tener un impacto en la manera que se aplica y utiliza el patrn.

Cul es la finalidad del patrn de diseo?La finalidad de cada patrn de diseo es proporcionar una descripcin que le permita al diseador determinar: Si el patrn es aplicable al trabajo actual Si el patrn se puede reutilizar Si el patrn puede servir como gua para desarrollar un patrn similar, pero diferente en cuanto a la funcionalidad o estructura.

Cmo est compuesta una plantilla de patrn de diseo?Est compuesta por los siguientes puntos: Nombre del patrn Tambin-conocido-como: lista los sinnimos para el patrn Motivacin: proporciona ejemplo del problema Aplicabilidad: anota situaciones especficas de diseo en las cuales es aplicable el patrn. Estructura: describe las clases que se requieren para implementar el patrn Participantes: describe las responsabilidades de las clases que se requieren para implementar el patrn Colaboraciones: describe cmo colaboran los participantes para llevar a cabo sus responsabilidades Consecuencias: describe las fuerzas de diseo que afectan al patrn y los intercambios potenciales que deben considerarse cuando se implementa el patrn Patrones relacionados: patrones de diseo relacionados mediante referencias cruzadas

Que describen las fuerzas de diseo?Describen requisitos no funcionales (por ejemplo, facilidad de mantenimiento, portabilidad) asociados con el software en el que se aplicar el patrn. Adems definen las limitaciones que restringen la manera en que se implementar el diseo. Describen el ambiente y las condiciones que deben existir para que el patrn del diseo sea aplicable.

Qu son las caractersticas de un patrn de diseo?Las caractersticas del patrn (clases, responsabilidades y colaboraciones) indican los atributos ajustables del diseo para permitir que el patrn se ajuste a una variedad de problemas.

Define los tipos de patrones de diseo: Patrones arquitectnicos: Definen la estructura general del software, indican las relaciones entre los subsistemas y los componentes del software y definen las reglas para especificar las relaciones entre los elementos (clases, paquetes, componentes, subsistemas) de la arquitectura. Patrones de diseo: Estos patrones se aplican a un elemento especifico del diseo como un agregado de componentes para resolver algn problema de diseo, relaciones entre los componentes o los mecanismos para efectuar la comunicacin de componente a componente. Idiomas: A veces llamados patrones de cdigo, estos patrones especficos de lenguaje por lo general implementan un elemento algortmico o un componente, un protocolo de interfaz especfico o un mecanismo de comunicacin entre los componentes.

Qu es un marco de trabajo?Es un esqueleto con una coleccin de puntos de conexin (ganchos y ranuras) que le permiten adaptarse a un dominio de un problema en especfico. En un contexto orientado al objeto, un marco de trabajo es una coleccin de clases que cooperan.

2.3 Arquitectura de dominio especificoModelos arquitectnicos pueden ser especficos para alguna aplicaciones de domino dos tipos de dominio especifico de modeloModelos genricos: que son abstracciones de una serie de sistemas reales y que encierran.Modelos de referencia: Se derivan de un estudio de la solicitud de dominio en lugar de los sistemas existentes.Pueden utilizarse como base para la aplicacin del sistema o para comparar o para comparar diferentes.

MODELO DE REFERENCIAUn modelo de referencia es una descomposicin de un problema en un cierto nmero de partes que cooperativamente resuelven el mismo.

Diseo de Arquitectura de SoftwareEl diseo de la arquitectura del software es el equivalente del plano de una casa. Este ilustra la distribucin general de las habitaciones, su tamao, forma y relaciones entre ellas, as como las presentes.

El diseo de la arquitectura incluye:Estructura: descripcin de subsistemas como composicin de componentes.Comportamiento: descripcin de la comunicacin entre componentes.Cualquier otra informacin que el arquitecto considere relevante Protocolo de comunicacin, sincronizacin y accesos de datos. Distribucin fsica. Puntos de variabilidad y extensin Aspectos de seguridad

Documento a entregar Presentacin ndice Introduccin Contenido Nombre del proyecto Definicin del problema Objetivos: General y Especficos del proyecto. Documento de Requerimientos: funcionales y no funcionales Estilo arquitectnico: Justificar. Diseo de la arquitectura. Interfaces Conclusin Referencias