La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Software II Conferencia 8

Presentaciones similares


Presentación del tema: "Ingeniería de Software II Conferencia 8"— Transcripción de la presentación:

1 Ingeniería de Software II Conferencia 8
Introducción a la Arquitectura de Software

2 Objetivos Conozcan conceptos claves sobre la Arquitectura de Software
Conozcan patrón MVC y N-Capas Conozcan artefactos para documentar la Vista lógica. (Diseño de Alto nivel)

3 Bibliografía Rational Uninfied Process Concept Software Architecture.

4 ¿A qué se llama Arquitectura de Software?
Intercambiar con los estudiantes hasta ahora qué idea tienen de qué es la arquitectura de software.

5 Definición Software architecture is "the structure of the components of a program/system, their interrelationships, and principles and guidelines governing their design and evolution over time.” Garlan and Perry, guest editorial to the IEEE Transactions on Software Engineering, April 1995

6 Definición Software architecture encompasses the set of significant decisions about the organization of a software system: selection of the structural elements and their interfaces by which a system is composed behavior as specified in collaborations among those elements composition of these structural and behavioral elements into larger subsystem Grady Booch

7 Definición: Palabras Claves
Estructura Organización de las piezas fundamentales Reglas para la interacción entre las piezas Decisiones claves

8 Resumiendo, con palabras propias
¿Qué es la arquitectura?: Un subproducto, una parte del sistema software en cuestión Formado por un conjunto de decisiones claves acerca de su estructuración, piezas o componentes que lo conforman conjuntamente con las restricciones para las interacciones entre estos, que se plasman en el Documento de Arquitectura. Más las propias piezas o componentes en sí, que aparte de quedar identificadas en el documento de arquitectura se pueden tocar en el código resultante(Clases, Interfaces, Subsistemas), que son de conjunto los fundamentos o bases sobre las cuales se construye el sistema.

9 Pre-Requisito para la Construcción
Los Requisitos definen el problema a resolver

10 Pre-Requisito para la Construcción
La Arquitectura garantiza que la solución sea la apropiada

11 Opinión de Steve McConnell:

12 Atributos de Calidad Interna
Algunas de las características que definen la calidad de un software, en este caso la calidad interna. Sin una arquitectura bien pensada, resulta muy difícil alcanzar estas metas.

13 La arquitectura surge como una necesidad
Ante problemas cada vez más complejos Las estructuras de datos y los algoritmos dejaron de ser el problema Central a resolver en el diseño de software. …designing and specifying the overall system structure emerges as a new kind of problem. Structural issues include gross organization and global control structure; protocols for communication, synchronization, and data access; assignment of functionality to design elements; physical distribution; composition of design elements; scaling and performance; and selection among design alternatives. David Garlan and Mary Shaw. An Introduction to Software Architecture.

14 Patrones de Arquitectura
Category Pattern Structure Layers Pipes and Filters Blackboard Distributed Systems Broker Interactive Systems Model-View-Controller Presentation-Abstraction-Control Adaptable Systems Reflection Microkernel El concepto Patrón ya es familiar, trata acerca de una solución a un problema recurrente en un contexto determinado. Tal como ocurre a nivel del diseño detallado, En Materia de arquitectura, existen problemas recurrentes, que deben ser atendidos por esta. Estos problemas igualmente han sido estudiados y se han publicado soluciones típicas en forma de patrones. En RUP se hace referencia a una categorización de patrones de arquitectura tomada como ejemplo que agrupa a estos en cuanto al contexto de su uso: Patrones pensados para la estructuración, patrones empleados para sistemas de carácter distribuido, patrones pensados para sistemas interactivos, patrones pensados para sistemas con alta necesidad de adaptabilidad. Estos ejemplos sirven para ilustrar el avance en esta área del conocimiento, y sirven como palabras claves para el estudio futuro en caso de resultar necesario, pues resulta poco probable que en un mismo sistema se puedan emplear todos, sino que existen unos que son más frecuentes por su aplicación en el contexto de desarrollo de sistemas de gestión de información.


Descargar ppt "Ingeniería de Software II Conferencia 8"

Presentaciones similares


Anuncios Google