unt ingenieria industrialel diagrama de despliegue muestra los diferentes nodos de la...
Post on 17-Jul-2020
1 Views
Preview:
TRANSCRIPT
INGENIERIA DE SOFTWARE
Ing. Francisco Rodríguez Novoa
UNT – INGENIERIA INDUSTRIAL
Ing. Francisco Rodríguez Novoa
Tema 8
Modelo de Implementación
Objetivos:
Definir la organización del código, en términos de
subsistemas de implementación organizadas en capas
Implementar el diseño en términos de elementos de
implementación (archivos Fuentes, archivos binarios,
ejecutables y otros)
Evaluar los componentes desarrollados como unidades
Integrar los resultados producidos por los equipos
implementadores en un solo sistema ejecutable
Arquitectura de los Sistemas Corporativos
3-capas
PRESENTACIÓN LÓGICA NEGOCIO INTEGRACIÓN
Interfaces de usuarios
Transactions procesing monitors
Bases de datos
Objetivos específicos:
En esta fase todos los componentes restantes se desarrollan e
incorporan al producto.
El énfasis está en la producción eficiente y no ya en la creación
intelectual.
Obtener versiones útiles (alfa, beta, y otras entregas de prueba).
Desarrollar de forma iterativa e incremental un producto completo queesté listo para su transición hacia la comunidad de usuarios. Estoimplica detallar los casos de uso restantes y otros requisitos así comocompletar el diseño, implementación y prueba del software de toda lafuncionabilidad requerida.
Decidir si el software, sitio y usuarios están listos para la instalaciónde la aplicación.
III. Fase de Construcción (Capacidad operativa inicial)
Desarrollo del sistema con calidad de producción, y puede entoncesprepararse para la entrega al equipo de transición. En esta fase, toda lafuncionalidad ha sido implementada, y completadas las pruebas para elestado alfa de la aplicación.
III. Fase de Construcción, Hito:
Concepción Elaboración Construcción Transición
CapacidadOperacional
Se obtiene un producto Beta que debe decidirse si puede ponerse en
ejecución sin mayores riesgos.
Condiciones de éxito:
¿El producto está maduro y estable para instalarlo en el ambiente
del cliente?
¿Están los interesados listos para recibirlo?
Modelo completo de diseño y casos de uso
Liberaciones de productos ejecutables de funcionalidad
incremental
Documentación de usuario
El producto de software integrado y corriendo en la plataforma
adecuada.
Una liberación “beta” del producto
III. Fase de Construcción, productos:
Testing
RequirementsAnalysis &
DesignImplementation
Flujo de trabajo: Implementación
Implementación, relación con otras disciplinas:
En el Modelo de Casos de Uso, se registra los
requerimientos que la implementación debe
satisfacer
Describe como se deben evaluar cada uno de los builds
(parte de un sistema que demuestre un subconjunto de
las capacidades proporcionadas para el producto final)
durante la integración del sistema.
Describe la manera en que se debe realizar las pruebas
para verificar que todos los requerimientos han sido
alcanzados, así como la manera de encontrar defectos
y registrarlos.
Implementación
Requerimientos:
El modelo de Diseño representa la base de la
implementación y es el recurso principal de la
disciplina de implementación.
Análisis y Diseño:
Pruebas:
Implementación, relación con otras disciplinas:
continua...
Describe la manera de usar el modelo de
implementación para producir y entregar el
código al usuario final.
Describe la mejor manera de planear un
proyecto. Los aspectos importantes de los
procesos de planeamiento son el plan iterativo,
la administración del cambio y el control de
defectos.
Implementación
Implantación:
Describe como desarrollar y mantener los
artefactos necesarios que serán utilizadas durante
la implementación, como: descripción de procesos,
patrones de diseño y patrones de programación.
Ambiente:
Administración de Proyectos:
Definir la organización del código,
en términos de la implementación
de los subsistemas organizados en
capas.
Implementar el diseño de
elementos en términos de los
elementos (archivos fuente,
binarios, ejecutables y otros).
Probar los componentes
desarrollados como unidades.
Integrar los resultados de los
implementadores individuales en un
sistema ejecutable.
Disciplina: Implementación, propósitos:
Flujo de trabajo: Estructurar el Modelo de Implementación
El propósito de este flujo es
establecer una estructura en
la cual radica la
implementación.
Asignar responsabilidades
para los Subsistemas de
implementación y sus
contenidos.Esta etapa se inicia en la fase de elaboración y transcurre a través
de las fases de Construcción y Transición a medida que sea
necesario.
Flujo de trabajo: Estructurar el Modelo de Implementación
Pasos:
Establecer la estructura del modelo de implementación
Ajustar los subsistemas de implementación
Definir los entregables de cada subsistema de implementación
Decidir la manera en que serán tratados los ejecutables (y
otros objetos derivados)
Decidir la manera en que se llevaran a cabo las pruebas
Actualizar las vistas de implementación
Evaluar el modelo de implementación
Flujo de trabajo: Estructurar el Modelo de Implementación
Artefactos de entrada:
Modelo de Despliegue
Modelo de Diseño
Modelo de Implementación
Normas específicas del proyecto
Especificaciones suplementarias
Artefactos de salida:
Modelo de Implementación
Subsistemas de Implementación
Documento de Arquitectura de Software
Flujo de trabajo: Planear la Integración
El propósito es Planear la
Integración del sistema para la
iteración actual.
El planear la integración se,
enfoca en que subsistemas
deben ser implementados, y el
orden en que los subsistemas
deberán ser integrados en la
iteración en actual o en curso.
La integración se realiza, habitualmente, por una sola persona (para
pequeños proyectos en donde la generación de un build es simple) o por
un equipo pequeño (para un proyecto grande en donde el proceso de
build es complejo).
Flujo de trabajo: Implementar ComponentesEl objetivo de esta etapa es
completar una parte de la
implementación para que pueda
darse paso a la integración; en esta
etapa suceden dos actividades:
Los implementadores escriben el
código fuente, adaptan código
fuente existente, compilan, ejecutan
pruebas y enlazan las unidades a
medida que implementan los
elementos del modelo de diseño. Si
se encuentran defectos en el
diseño, realizan el feedback
necesario para la modificación del
diseño.
Los implementadores también arreglan defectos de código y realizan
pruebas para verificar cambios. Luego, el código es revisado para evaluar
la calidad y compenetración con las especificaciones de programación.
Flujo de trabajo: Integrar cada subsistema
El propósito es integrar los cambios de
múltiples implementadores para crear
una versión nueva y consistente de un
subsistema de implementación.
La integración resulta en una serie de
builds en un espacio de trabajo del
subsistema integrado. Cada build es
luego evaluado por un testeador y/o un
implementador ejecutando un guión de
pruebas. Luego de estas pruebas, el
subsistema de implementación es
derivado hacia el espacio de trabajo de
la integración del sistema.
Flujo de trabajo: Integrar el sistema
El objetivo de este paso es de integrar los
subsistemas de implementación para
crear una nueva y consistente versión del
sistema completo.
El integrador integra el sistema de
acuerdo con el plan de integración,
agregando los subsistemas de
implementación terminados en el espacio
de trabajo de integración del sistema y
creando builds. Cada build es luego
evaluada en integración por un evaluador.
Luego del último incremento, el build
puede ser evaluado como un sistema
completo por un evaluador.
Actividades por Roles:
Arquitecto
de
Software
Implementador
Integrador Técnico
Revisor
Estructurar el
Modelo de
Implementación
Implementar las
pruebas de desarrollo
Ejecutar las pruebas
de desarrollo
Analizar el
comportamiento de la
ejecución
Implementar los
elementos de Diseño
Implementar los
elementos de PruebaDesarrollar artefactos
de implementación
Integración del
Plan de Sistema
Integración del
Plan del
Subsistema
Integrar
Subsistema
Integrar
Sistema Revisar
código
Es responsable de la arquitectura del software, que incluye las
decisiones técnicas dominantes que definen el diseño total y la
implementación para el proyecto
El papel del implementador, responsable de desarrollar y probar
los componentes, de acuerdo con las normas adoptadas del
proyecto, para la integración en los subsistemas más grandes.
Son responsables de planear y realizar la integración y de los
elementos de la aplicación para producir las nuevas integraciones.
Es responsable de contribuir con la regeneración del proceso de la
revisión. Este papel está envuelto en la categoría de revisión que se
trata de la revisión técnica de los artefactos del proyecto.
Roles:
Es responsable de la arquitectura del software, que incluye las
decisiones técnicas dominantes que definen el diseño total y la
implementación para el proyecto
Rol: Software Architect
Rol: Implementer.
Es responsable de desarrollar y de probar los componentes, de acuerdo
con los estándares adoptados para el proyecto, para la integración en
subsistemas más grandes. Cuando los componentes de la prueba, tales
como conductores o trozos, se deben de crear para apoyar la prueba, el
implementador es también responsable de desarrollar y de probar los
componentes de la prueba y los subsistemas correspondientes
Los ejecutores entregan sus elementos probados de la implementación
en un espacio de trabajo de la integración, mientras que los integradores
los combinan para producir una estructura. Un integrador es también
responsable de planear la integración, que ocurre en los niveles del
subsistema y de sistema, con cada uno teniendo un espacio de trabajo
separado de la integración.
Rol: Integrator.
El técnico revisor es responsable de contribuir con la regeneración del
proceso de la revisión. Este papel está implicado en la categoría de la
revisión que se ocupa de la revisión técnica de los artefactos del
proyecto. Es también responsable de proporcionar la regeneración
oportuna, apropiada en los artefactos del proyecto que son repasados.
Rol: Technical Reviewer.
Artefactos de Implementación
Los Roles involucardos producen artefactos:
Diagramas de Implementación
Cada componente de software entrega un conjunto de servicios a
través de interfaces proveídas y de manera declarativa se definen
los servicios requeridos por el componente software. Este
mecanismo permite, que un componente software de manera
aislada cuente con toda la especificación no solo interna sino
además de la especificación de los requerimientos para la
integración del componente de software con otros componentes
software.
El diagrama de componente muestra interfaces y dependencias
entre los componentes del software, los componentes de
código de fuente, código binario y ejecutables. Un módulo del
software puede representarse como un tipo de componente.
Diagrama de Componentes (Component Diagram)
Un componente es un módulo de
código, de modo que los
diagramas de componentes son
los análogos físicos a los
diagramas de clases.
Muestran la organización y
dependencias de un conjunto de
componentes. Cubren la vista de
implementación estática de un
sistema.
...continua, Diagrama de Componentes
...continua, Diagrama de Componentes
CargosDeTarjetasDeCrédito
VendedorDeEntradas
InterfazDeQuiosco InterfazDeVendedor
InterfazDeGestor
BDEntradas
actor
EntidadDeTarjetasDeCrédito
compraestado
Supervisor
VendedorCliente
Ventasdegrupo
VentasindividualesVentasdesuscripción
cargo
proveedor
cliente
componente
El diagrama de despliegue muestra los diferentes nodos de la
infraestructura de red que se colocan, a modo de artefactos, los
elementos componentes del software. Un artefacto puede ser
elemento físico simple (por ejemplo, un archivo de configuración del
despliegue).
Diagrama de Despliegue (Deployment Diagram)
Los diagramas de despliegue sirven para modelar la configuración
del hardware del sistema, mostrando qué nodos lo componen.
Diagrama de Despliegue (Deployment Diagram),
ejemplo:
...continua, Diagrama de Despliegue
InterfazDeCliente InterfazDeVendedor
CargosDeTarjetasDeCrédito
VendedorDeEntradas
InterfazDeGestor
BDEntradas
Cliente Vendedor
Quiosco TerminaDeVentas
ServidorDeEntradas
GestorEntidadDeTarjetasDeCrédito
nodo
1
*
1
multiplicidad
de nododependencia
componente
Nivel de Descripción:
Diagrama de Paquetes Global
Sistema para la gestión de artículos deportivos,
ejemplo:
Diagrama de Componentes Comunes
Control y
analisis
Acceso a base
de datos
Aplicación Almacen Deportes LSI03.exe
BD Oracle
Identificación.frm
Rutinas de
conexión(librerias)
Aplicación Ventas Deportes LSI03.exe
Identificación.frm
Sistema para la gestión de artículos deportivos
, ejemplo:continua...
Diagrama de Componentes.
Almacén:
Sistema para la gestión de artículos deportivos,
Ejemplo: continua...
Diagrama de componentes.
Ventas:
Sistema para la gestión de artículos deportivos,
Ejemplo: continua...
Diagrama de
despliegue:
Sistema para la gestión de artículos deportivos,
ejemplo: continua...
Diagrama de Despliegue, ejemplo:
En Resumen:
En cada iteración habrá que hacer lo siguiente:
1. Planificar que los subsistemas deben ser implementados y en
que orden deben ser integrados, formando el Plan de
Integración.
2. Cada implementador decide en que orden implementa los
elementos del subsistema.
3. Si encuentra errores de diseño, los notifica.
4. Se prueban los subsistemas individualmente.
5. Se integra el sistema siguiendo el plan.
En esta disciplina se implementan las clases y objetos en ficheros
fuente, binarios, ejecutables y otros. Además se deben hacer las
pruebas de unidad: cada implementador es responsable de probar
las unidades que produzca. El resultado final de esta disciplina es
un sistema ejecutable.
En Resumen, continua...
La estructura de todos los elementos implementados forma el
modelo de implementación. La integración debe ser incremental,
es decir, en cada momento sólo se añade un elemento. De este
modo es más fácil localizar fallos y los componentes se prueban
más a fondo.
En fases tempranas del proceso se pueden implementar prototipos
para reducir el riesgo. Su utilidad puede ir desde ver si el sistema
es viable desde el principio, probar tecnologías o diseñar la interfaz
de usuario. Los prototipos pueden ser exploratorios (desechables)
o evolutivos. Estos últimos llegan a transformarse en el sistema
final.
FIN
top related