UNIDAD 5: MODELO DE IMPLEMENTACIÓN
5.1 DIAGRAMA DE COMPONENTES
|
Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado.
Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes.
Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas,módulos, ejecutables, o paquetes. Los diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema.
Es un acercamiento basado en la re utilización para definir, implementar,
y componer, componentes débilmente acoplados en sistemas. Un componente
de software individual es un paquete de software, un servicio web, o
un módulo que encapsula un conjunto de funciones
relacionadas (o de datos). Debido a este principio, con frecuencia se dice que
los componentes son modulares y cohesivos. Estas interfaces puede ser vista como
una firma del componente - el cliente no necesita saber sobre los
funcionamientos internos del componente (su Implementación para hacer uso de
ella. Este principio resulta en componentes referidos como encapsulados Tiene
como objetivo convertir el diseño de datos, Interfaces y arquitectura en
una representación Intermedia que se pueda transformar fácilmente en
código fuente. El nivel de abstracción debe ser muy próximo al Código.
v
- Programación estructurada
- Notaciones de diseño
- Notaciones gráficas
- Notaciones tabulares
- Lenguaje de diseño de programas
- Referencias bibliográficas
Programación
estructurada es una de las técnica de diseño procedimental más Importantes. Se
trata de un conjunto de construcciones con las que Se puede restringir el
diseño procedimental de un Software a un número de operaciones predecibles.
Tipos de construcciones estructuradas: secuenciales, Condicionales y
repetitivas.
5.2. DIAGRAMA DE DESPLIEGUE.
El Diagrama de Despliegue es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar el hardware utilizado en las implementaciónes de sistemas y las relaciones entre sus componentes.
Los elementos usados por este tipo de diagrama son nodos (representados como un prisma), componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) y asociaciones.
El Diagrama
de Despliegue es un tipo de diagrama del Lenguaje Unificado de
Modelado que se utiliza para modelar el hardware utilizado en las
implementaciones de sistemas y las relaciones entre sus componentes.
Los
elementos usados por este tipo de diagrama son nodos (representados como un
prisma), componentes (representados como una caja rectangular con dos
protuberancias del lado izquierdo) y asociaciones.
En el UML
2.0 los componentes ya no están dentro de nodos. En cambio, puede haber
artefactos u otros nodos dentro de un nodo. Este tipo de diagrama debemos
también añadir que no van a existir actores para relacionarse con los nodos (no
es un diagrama de casos de uso) si no que las relaciones que pueda haber
siempre serán entre los nodos y por ejemplo con una base de datos.
USOS
Algunos
de los usos que se les da a los diagramas de despliegue son para modelar:
ª Sistemas
empotrados: Un sistema empotrado es una colección de hardware con una
gran cantidad de software que interactúa con el mundo físico.
ª Sistemas
cliente-servidor: Los sistemas cliente-servidor son un extremo del
espectro de los sistemas distribuidos y requieren tomar decisiones sobre la
conectividad de red de los clientes a los servidores y sobre la distribución
física de los componentes software del sistema a través de nodos.
ª Sistemas
completamente distribuidos: En el otro extremo encontramos aquellos
sistemas que son ampliamente o totalmente distribuidos y que normalmente
incluyen varios niveles de servidores. Tales sistemas contienen a menudo varias
versiones de componentes software, alguno de los cuales pueden incluso migrar
de un nodo a otro. El diseño de tales sistemas requiere tomar decisiones que
permitan un cambio continuo de la topología del sistema.
5.3. MODELOS DE PRUEBA
La fase de pruebas del sistema tiene como objetivo verificar el sistema software para comprobar si este cumple sus requisitos. Dentro de esta fase pueden desarrollarse varios tipos distintos de pruebas en función de los objetivos de las mismas. Algunos tipos son pruebas funcionales, pruebas de usabilidad, pruebas de rendimiento, pruebas de seguridad, etc. Este trabajo se centra en pruebas funcionales de aplicaciones con interfaces gráficas. Estas pruebas verifican que el sistema software ofrece a los actores humanos la funcionalidad recogida en su especificación.
Este
trabajo describe los modelos necesarios para generar de manera sistemática un
conjunto de pruebas que permitan verificar la implementación de los requisitos
funcionales de un sistema software.
Una de
las técnicas más empleadas para la especificación funcional de sistemas
software son los casos de uso. Las principales ventajas de los casos de uso son
que ocultan los detalles internos del sistema, son rápidos de construir,
fáciles de modificar y entender por los clientes y futuros usuarios del
sistema y pueden aplicarse a distintos tipos de sistemas y
Actualmente, existe un amplio número de propuestas que describen cómo generar
pruebas del sistema a partir de los casos de uso.
Aunque
la generación de pruebas se adapta a la filosofía propuesta por MDA, tal y como
mostraremos a continuación, ninguna de estas propuestas define su proceso en
base a las técnicas de MDA. Por este motivo, una de las principales carencias
es la falta de modelos que recojan la información necesaria en el proceso de
generación de pruebas.
Modelos de requisitos
Los únicos modelos de requisitos necesarios son
los casos de uso y los requisitos de almacenamiento, aunque otros modelos, como
por ejemplo modelos de interfaces o modelos de
navegación pueden enriquecer el proceso de prueba. Actualmente
existen varias propuestas de modelos de requisitos.
Modelo de comportamiento
Un gran número de técnicas de requisitos están
basadas en casos de uso definidos en prosa. Uno de ellos es el modelo WebRE
utilizado en el punto anterior. Pero no es sencillo manipular programáticamente
casos de uso escritos en prosa. Por este motivo, el primer paso de nuestro
proceso sistemático de generación de pruebas consiste en expresar dicha prosa
mediante un modelo formal manipulable de manera automática.
Modelo de datos de prueba
Los casos de uso contienen elementos variables
cuyos valores o comportamiento difiere de una ejecución de un caso de uso a
otra. Algunos ejemplos son la información suministrada por un actor, una opción
seleccionada por un actor, o la información mostrada por el sistema como
resultado del caso de uso.
Modelo de interfaz abstracta
Los modelos anteriores nos indican lo que una
prueba debe hacer (ejecutar un escenario posible de un caso de uso), qué
información hay que suministrarle y qué información nos va a devolver. Sin
embargo estos modelos aún son demasiado abstractos y no se pueden convertir en
modelos dependientes de la plataforma ni en pruebas ejecutables de manera
directa. Por este motivo, a partir de los modelos anteriores, se obtienen los
modelos de interfaz abstracta y de interacción.
Modelo de interacción
Una vez que se conocen las interfaces con las que
las pruebas interactuarán, expresadas mediante el modelo de interfaz abstracta,
se refina el modelo de comportamiento para indicar cómo realizar cada uno de
los pasos del caso de uso sobre dicha interfaz.
f
No hay comentarios:
Publicar un comentario