El documento describe tres modelos para el desarrollo de software para Internet: 1) el modelo de diseño, que incluye el diseño de objetos, sistemas y diagramas de secuencias, 2) el modelo de implementación, que genera el código a partir del diseño, y 3) el modelo de pruebas, cuyo objetivo es la certificación de calidad del producto terminado. Se provee un ejemplo de cómo aplicar estos modelos al desarrollar un sistema de reservaciones de vuelos.
1. Desarrollo de Software para
Internet
Elizabeth Toro
Jennifer González
Johana Duque
Daniel Barrera
2. En el desarrollo de software para
Internet se tienen en cuenta tres
modelos de desarrollo de software:
1. Modelo de Diseño.
2. Modelo de Implementación.
3. Modelo de Pruebas.
3. Modelo de Diseño
El resultado de modelo de diseño son
especificaciones muy detalladas de
todos los objetos, incluyendo sus
operaciones y atributos.
El modelo de diseño consiste
principalmente en Diseño de Objetos,
Diseño de Sistemas y Diagrama de
Secuencias del Diseño.
4. Diseño de Objetos(1)
Es un proceso para añadir detalles al análisis y
tomar decisiones junto con el diseño del
sistema.
Este diseño se encarga de determinar como
deben ser implementadas las clases, atributos
y otras asociaciones en una estructura de
datos específica.
Lo que se busca es una especificación
detallada del sistema que se va a desarrollar
antes de comenzar la implementación final.
5. Diseño de Objetos(2)
Para diseñar un objeto se sigue el
Diseño por Responsabilidades
(RDD-Responsibility-Driven Design)
Este diseño se basa en un modelo
cliente-servidor, donde las clases se
ven como clientes cuando generan
alguna petición hacia otra clase y
como servidores cuando reciben
peticiones de otra clase.
6. Diseño de Objetos(3)
La funcionalidad ofrecida por las clases
servidores se define en términos de sus
responsabilidades.
Los servicios y responsabilidades
corresponden a los métodos de las clases.
Es necesario determinar los algoritmos
para implementar las operaciones, así
como todos los aspectos de optimización.
7. Diseño de Sistemas(1)
Incluye aspectos como:
Selección del lenguaje de programación a
utilizarse, estructurados u orientados a objetos.
Incorporación de bibliotecas, como por ejemplo,
interfaces gráficas (GUI), bibliotecas numéricas y
de estructuras de datos.
Incorporación de una base de datos de tipo
relacionales.
Incorporación de archivo, en sus diferentes
formatos.
Consideraciones de procesamiento, como
concurrencia, paralelismo, distribución y tiempo
real.
8. Diseño de Sistemas(2)
En general existen diversos enfoques para
la incorporación del ambiente de
implementación a la arquitectura del
sistema:
Agregando clases abstractas o interfaces que
luego se especializarán según el ambiente de
implementación particular.
Instanciando objetos especializados que
administren los aspectos particulares del
ambiente de implementación.
Configurando múltiples versiones del sistema
correspondientes a diferentes plataformas. Éste
es el enfoque más flexible, aunque en general el
de mayor costo de desarrollo.
9. Diagrama de Secuencias del Diseño.
Una vez completado tanto el diseño de
objetos como el del sistema, es posible
describir los casos de uso del análisis con
base en los protocolos de clases definidos
antes. Para ello se describen los casos de
uso mediante diagramas de secuencias,
que se pueden referir directamente a las
clases, o incluso a partir de la interacción
entre subsistemas.
10. Modelo de Implementación(1)
Toma el resultado del modelo de diseños
para generar el código final.
Esta traducción debe ser relativamente
sencilla y directa, ya que las decisiones
mas importantes han sido tomadas durante
las etapas previas .
Se deben usar guías de programación
existentes en la organización, si no se
cuenta con ellas el equipo de software
deben crear sus propias guías para decidir
aspectos tales como: formatos para la
asignación de nombres a las variables,
estilo de programación, métodos de
documentación y documentación en línea.
11. Modelo de Implementación(2)
Una vez se a especificado la
programación se procede a generar
los diagramas de clase para el
sistema completo.
Estos diagramas sirven como parte
del apoyo visual al proceso de
programación.
12. Modelo de Pruebas
Debe ser planificado con
anticipación y de manera integral
junto tonel desarrollo del sistema.
Las pruebas finales deben tener
como objetivo la certificación final
de la calidad del producto y no la
búsqueda de errores.
14. Modelo de Diseño (Diseño de Objetos)
Organización de
clase comunes,
particulares a la
arquitectura
stand-alone y
cliente-servidor
en el sistema de
reservaciones
de vuelos.
15. Modelo de Diseño (Diseño de Sistemas)
Arquitectura cliente-servidor para el sistema
de reservaciones de vuelo
18. Como apoyo visual se elabora un
diagrama de clases para el sistema
completo.
Modelo de prueba
Se ensaya el sistema, este modelo
tiene como objetivo la certificación
de la calidad final del producto y no
la búsqueda de errores.
19. Conclusiones
El desarrollo de Software para Internet
esta compuesta por tres fases: Modelo de
diseño, Modelo de Implementación y
Modelo de Pruebas.
El Modelo de diseño se divide en: Diseño
de sistemas y Diseño de Objetos.
En el Modelo de Implementación
desarrolla el código basados en la
especificación del diseño.