Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Supuestos
La mayor parte del camino se realizará entre la puerta de entrada y la cocina cuando se
descargan los comestibles desde el vehículo, y desde la cocina hacia el comedor cuando
se sirven los platos.
Otra ruta de camino que debe minimizarse es desde las habitaciones al baño.
Los ocupantes de la casa pasan la mayor parte del tiempo en la sala/comedor y en el
cuarto máster.
Gradas
Estudio Comedor
Cocina
Puerta de entrada
Hall
Cocina
Puerta de entrada
Hall
Habitación 2
Cocina
Hall
Comedor Habitación máster
Concepto arquitectura Concepto SWE
Componentes Habitaciones Subsistemas
Interfaces Puertas Servicios
Requerimientos no funcionales Área de estar Tiempo de respuesta
Requerimientos funcionales Casa residencial Casos de uso
Costo del retrabajo Mover paredes Cambiar interfaces de
subsistemas
El modelo de análisis produce:
Un conjunto de requerimientos no funcionales y restricciones (tiempos máximos de
respuesta, producción mínima, confiabilidad, plataforma de operación, etc.
Un modelo de casos de uso, que describe las funcionalidad del sistema desde el punto
de vista del actor.
Un modelo de objetos, que describe las entidades manipuladas por el sistema.
Un diagrama de secuencia por cada caso de uso, mostrando la secuencia de
interacciones entre objetos participantes en el caso de uso.
El modelo de análisis describe el sistema completamente desde el punto de vista
de los actores y sirve de base para la comunicación entre clientes y
desarrolladores
El modelo de análisis no contiene información acerca de la estructura interna del
sistema, su configuración de hardware, o cómo se realizará el sistema.
Objetivos
Atributos de calidad
de diseño
Subsistemas,
responsabilidades,
dependencias, hardware, Arquitectura
control de acceso, de software
almacenamiento y flujos
de control
Horizonte de la arquitectura
Empoderamiento del usuario
Madurez del mercado.
Diseño flexible
Tendencias futuras
Construir para cambiar en lugar de construir para durar.
Modelar para analizar y reducir riesgos
Utilice modelos y visualizaciones como herramientas de comunicación y
colaboración.
Identifique decisiones de ingeniería claves.
La arquitectura de software se
describe con frecuencia como
la organización o la estructura
de un sistema, donde el
sistema es una colección de
componentes que cumplen
una función o un conjunto de
funciones
Separación de áreas de interés
Principio de responsabilidad única
Principio del menor conocimiento
Eliminar la repetición
Minimizar el esfuerzo de diseño
Mantenga los patrones de diseño consistentes dentro de cada capa.
No duplique la funcionalidad dentro de la aplicación.
Prefiera la composición a la herencia
Defina un estilo de codificación y convenciones de nombres para el desarrollo.
Mantenga la calidad del sistema utilizando técnicas automatizadas de QA durante
el desarrollo.
Considere la operación de su aplicación.
Separe áreas de interés
Sea explícito sobre cuántas capas se comunican con otras.
Utilice abstracciones para implementar bajo acoplamiento entre capas.
No mezcle diferentes tipos de componentes en las misma capa lógica.
Mantenga la información consistente dentro de la capa o componente.
Mantenga los formatos de datos consistentes dentro de una capa o componente.
Un componente o u objeto no debe depender de detalles internos de otros
componentes.
No sobrecargue la funcionalidad de un componente.
Comprenda como los componentes se comunicarán entre si.
Mantenga el código transversal abstraído de la lógica de negocio de la aplicación
en la medida de lo posible
Defina un contrato(interfaz) claro para los componentes.
Defina el tipo de aplicación
Determine la estrategia de implantación.
Determine las tecnologías apropiadas.
Determine los atributos de calidad.
Determine aspectos transversales
Un estilo arquitectónico, a veces llamado patrón arquitectónico, es un conjunto de
principios, que a nivel general proporciona un marco abstracto para una familia de
sistemas.
Un estilo arquitectónico mejora la partición y promueve la reutilización del diseño
al proporcionar soluciones a problemas frecuentemente recurrentes.
Puede pensar en estilos de arquitectura y patrones como conjuntos de principios
que dan forma a una aplicación.
Los subsistemas acceden y modifican una sola estructura de datos denominada
repositorio central.
Los subsistemas son relativamente independientes e interactúan únicamente a
través del repositorio.
El flujo de control puede ser dictado tanto por el repositorio central, como por los
subsistemas.
Se usan típicamente para DBMSs, tale como roles de pagos, o sistemas bancarios.
La localización central de la información, hace más fácil el trabajo con la
concurrencia y la integridad entre sub sistemas.
Aplicaciones con procesamiento de datos complejo y sujeto a muchos cambios.
Una vez definido el repositorio, fácilmente se puede añadir nuevos servicios en
forma de subsistemas adicionales.
Desventajas
Una desventaja es que el repositorio puede fácilmente convertirse en un cuello de
botella.
El acoplamiento entre cada sub sistema y el repositorio es alto, esto hace difícil
que se hagan cambios en el repositorio sin afectar a todos los sub sistemas.
Los subsistemas se clasifican en tres tipos:
Modelos: Los subsistemas mantienen el conocimiento del dominio.
Vista: Los subsistemas muestran información al usuario.
Controlador: Gestionan la secuencia de interacciones con el usuario
Estrategia de almacenamiento:
Base de datos relacional, utilizando JDBC