Modelo 4+1 vista
-
Upload
franky-morales -
Category
Documents
-
view
7.539 -
download
0
Transcript of Modelo 4+1 vista
Instituto Tecnológico Superior
De Los Reyes
Desarrollo de Proyectos de Sw
Alumno:
Francisco Javier Morales Cabello
Facilitador:
ISC Claudia María Bernal Rodríguez
Grupo: 82S
Los Reyes, Mich. 14/02/2011
ÍNIDICE
Contenid
o
INTRODUCCIóN............................................................................................3
La vista lógica................................................................................................5
La Vista de Procesos.....................................................................................6
Vista de Desarrollo........................................................................................8
Vista FÍsica....................................................................................................9
Escenarios ó Casos de Uso........................................................................10
CONCLUSIÓN.............................................................................................13
REFERENCIAS BIBLIOGRÁFIAS...............................................................14
INTRODUCCIÓN
La arquitectura software trata el diseño e implementación de la estructura
de alto nivel del software. Es el resultado de ensamblar un cierto número de
elementos arquitectónicos para satisfacer la funcionalidad y ejecución de los
requisitos del sistema; así como los requisitos no funcionales del mismo: fiabilidad,
escalabilidad, portabilidad, disponibilidad, etc. Esto implica tener o hacer un gran
esfuerzo para comprender planos y aspectos de los diseñadores de lo quieren dar
a entender en sus diagramas y peor aún que si alguien ajeno a la elaboración del
proyecto lo trata de comprender.
El modelo de 4+1 vistas fue desarrollado para remediar este problema. El
modelo 4+1 describe la arquitectura del software usando cinco vistas
concurrentes.
• La vista lógica.
• La vista de procesos.
• La vista física.
• La vista de desarrollo.
Por tal motivo los diseñadores de software pueden organizar la descripción
de sus decisiones de arquitectura en estas cuatro vistas, y luego ilustrarlas con un
conjunto reducido de casos de uso o escenarios, los cuales constituyen la quinta
vista. La arquitectura evoluciona parcialmente a partir de estos escenarios y pues
veremos esto más a detalle a continuación.
EL MODELO DE “4+1” VISTAS DE LA ARQUITECTURA DEL
SOFTWARE
Una de las herramientas para representar modelos de arquitectura
anteriores al UML es la denominada 4+1 vistas propuesta por Kruchten. Surge
esta necesidad cuando un desarrollador inicia el modelado de un problema;
lógicamente en este proceso se hace énfasis en proporcionar la mayor
información del mismo a través de los diagramas que se utilicen para su
descripción, esto trae consigo que puedan suceder conflictos en la representación
de la arquitectura del sistema. Esta arquitectura de software propuesta por
Kruchten es una forma de resolver esta problemática. El modelo describe la
arquitectura de software del sistema a través de 5 vistas concurrentes.
Kruchten las agrupa estas 5 vistas por su naturaleza en 3 apartados; el
conceptual donde sitúa a la vista lógica y la de procesos, el físico que lo
componen las vistas de componentes y la distribuida y por último la funcional la
que se refiere a la vista de casos de uso.
LA VISTA LÓGICA
Es aquella que trata de clases y subsistemas, tiene las siguientes
particularidades: soporta los requerimientos funcionales (estos son asignados por
el usuario final), identifica mecanismos y diseña elementos comunes a través del
sistema; utiliza los diagramas de clases y la notación de Booch.; además de
utilizar el estilo arquitectónico orientado a objetos.
Notación. La notación para la vista lógica se deriva de la notación de
Booch. Esta se simplifica considerablemente de tal modo de tener en cuenta
solamente los items relevantes para la arquitectura. En particular, los numerosos
adornos disponibles son bastante inútiles a este nivel de diseñó. Usamos Rational
Rose para apoyar el diseñó lógico de la arquitectura.
LA VISTA DE PROCESOS
La arquitectura de procesos toma en cuenta algunos requisitos no
funcionales tales como la performance y la disponibilidad. Se enfoca en asuntos
de concurrencia y distribución, integridad del sistema, de tolerancia a fallas. La
vista de procesos también especifica en cual hilo de control se ejecuta
efectivamente una operación de una clase identificada en la vista lógica.
La arquitectura de procesos se describe en varios niveles de abstracción,
donde cada nivel se refiere a distintos intereses. El nivel más alto la arquitectura
de procesos puede verse como un conjunto de redes lógicas de programas
comunicantes (llamados “procesos”) ejecutándose en forma independiente, y
distribuidos a lo largo de un conjunto de recursos de hardware conectados
mediante un bus, una LAN o WAN. Múltiples redes lógicas pueden usarse para
apoyar la separación de la operación del sistema en línea del sistema fuera de
´enea, así como también para apoyar la coexistencia de versiones de software de
simulación o de prueba.
Un proceso es una agrupación de tareas que forman una unidad
ejecutable. Los procesos representan el nivel al que la arquitectura de procesos
puede ser controlada tácticamente (i.e., comenzar, recuperar, reconfigurar, y
detener). Además, los procesos pueden replicarse para aumentar la distribución
de la carga de procesamiento, o para mejorar la disponibilidad.
Partición. El software se particiona en un conjunto de tareas
independientes: hilo de control separado que puede planificarse para su ejecución
independiente en un nodo de procesamiento.
Podemos entonces distinguir:
• Tareas mayores son elementos arquitectónicos que pueden ser
manejados en forma univoca. Se comunican a través de un conjunto bien definido
de mecanismos de comunicación inter-tarea: servicios de comunicación
sincrónicos y asincrónicos basados en mensajes, llamados a procedimientos
remotos, difusión de eventos, etc. Las tareas mayores no debieran hacer
suposiciones acerca de su localización con otras tareas dentro de un mismo
proceso o un mismo nodo de procesamiento.
• Tareas menores son tareas adicionales introducidas localmente por
motivos de implementación tales como actividades cíclicas, almacenamiento en un
buffer, time-out, etc.). Pueden implementarse en Ada por ejemplo, o como hilos de
control liviano (threads). Pueden comunicarse mediante rendezvous o memoria
compartida.
El flujo de mensajes y la carga de procesos pueden estimarse en base al
diagrama de procesos. También es posible implementar una vista de procesos
“vacía”, con cargas dummy para los procesos y medir entonces su performance en
el sistema objetivo.
Notación. La notación que usamos para la vista de procesos se expande
de la notación originalmente propuesta por Booch para las tareas de Ada y se
centra solamente en los elementos arquitectónicamente relevantes
VISTA DE DESARROLLO
La vista de desarrollo se centra en la organización real de los módulos de
software en el ambiente de desarrollo del software. El software se empaqueta en
partes pequeñas –bibliotecas de programas o subsistemas– que pueden ser
desarrollados por uno o un grupo pequeño de desarrolladores. Los subsistemas se
organizan en una jerarquía de capas, cada una de las cuales brinda una interfaz
estrecha y bien definida hacia las capas superiores.
La vista de desarrolla tiene en cuenta los requisitos internos relativos a la
facilidad de desarrollo, administración del software, reutilización y elementos
comunes, y restricciones impuestas por las herramientas o el lenguaje de
programación que se use. La vista de desarrollo apoya la asignación de requisitos
y trabajo al equipo de desarrollo, y apoya la evaluación de costos, la planificación,
el monitoreo de progreso del proyecto, y también como base para analizar reusó,
portabilidad y seguridad. Es la base para establecer una línea de productos.
La vista de desarrollo de un sistema se representa en diagramas de
módulos o subsistemas que muestran las relaciones exporta e importa. La
arquitectura de desarrollo completa solo puede describirse completamente cuando
todos los elementos del software han sido identificados. Sin embargo, es posible
listar las reglas que rigen la arquitectura de desarrollo – partición, agrupamiento,
visibilidad– antes de conocer todos los elementos.
Notación. Usamos una variante de la notación de Booch limitándonos a
aquellos items relevantes para la arquitectura.
VISTA FÍSICA
Mapeando el software al hardware
La arquitectura física toma en cuenta primeramente los requisitos
no funcionales del sistema tales como la disponibilidad, confiabilidad
(tolerancia a fallas), performance (throughput), y escalabilidad. El
software ejecuta sobre una red de computadores o nodos de
procesamiento (o tan solo nodos). Los variados elementos identificados –
redes, procesos, tareas y objetos– requieren ser mapeados sobre los
variados nodos. Esperamos que diferentes configuraciones puedan
usarse: algunas para desarrollo y pruebas, otras para emplazar el
sistema en varios sitios para distintos usuarios. Por lo tanto, el mapeo
del software en los nodos requiere ser altamente flexible y tener un
impacto mínimo sobre el código fuente en sí.
Notación para la arquitectura física. Los diagramas físicos
pueden tornarse muy confusos en grandes sistemas, y por lo tanto
toman diversas formas, con o sin el mapeo de la vista de procesos.
ESCENARIOS O CASOS DE USO
Todas las partes juntas
En la quinta y última vista del Modelo _4+1_, se presentan los
escenarios en los cuales un Caso de Uso dispara una secuencia de
acciones que devienen en la interacción entre las vistas tratadas
anteriormente.
El usuario, como actor primario, dispara la actividad <_<Apostar>_> que
desencadena la secuencia de operaciones necesarias para completar este C.U.
Se puede comprender fácilmente de qué manera interactúan las diferentes vistas:
1. En un único Proceso (aplicación web) usuario interactúa con el nodo
Cliente mediante teclado y monitor
2. El cliente se comunica con el nodo Web Server
3. Web server contiene una Vista Lógica englobada en diferentes
Componentes que manipula los datos, validando y consultando mediante la
interfaz correspondiente, los datos del nodo Base De Datos
De esta forma notamos cómo los elementos de las cuatro vistas trabajan
conjuntamente en forma natural mediante el uso de un conjunto pequeño de
escenarios relevantes _instancias de casos de uso más generales_. Se presentan
dos ejemplos más de casos de usos:
CONCLUSIÓN
Pues como vimos la forma más segura y confiable de desarrollar un
proyecto se software es sin duda el modelo de vistas 4+1, ya que nos permite
detectar errores a tiempo, tanto como no realizar trabajo innecesario y siguiendo
solo su metodología.
Y cabe mencionar que no todas las arquitecturas de software requieren
todas las vistas del modelo 4+1, algunas vistas pueden ser omitidas, pero todos
los escenarios se pueden encontrar en ellas.
La finalidad es de unificar los criterios de modelado, la necesidad de facilitar
la comunicación entre los diseñadores y establecer estándares variados, lo más
claro posibles que permitan una mayor comprensión del sistema que se esté
modelando.
REFERENCIAS BIBLIOGRÁFIAS
M.Shaw, D. y. (1993). Una introduccion a la Ingenieria de Software. World
Scientific Publishing Co. , 10.
u-cursos. (s.f.). Recuperado el 14 de Febrero de 2011, de https://www.u-
cursos.cl/ingenieria/2010/1/CC61H/1/material.../273290
teraloc. (s.f.). Recuperado el 14 de Febrero de 2011, de
www.teraloc.com/aptiweb/.../FORMATO_APTI_ ArquitecturaSoftware . doc
bunastareas. (s.f.). Recuperado el 14 de Febrero de 2011, de
www.buenastareas.com/.../ Modelo -De- 4 - 1 - Vistas /200237.html