Mapa mental sobre el proceso para el desarrollo de un proyecto software mediante el Lenguaje de Modelado Unificado (UML) con Programación Orientada a Objetos (OOP).
NOTA: Recomiendo leerlo manualmente debido a que en algunos nodos el orden en que se ejecuta no es el correcto.
Se logra a través de la ejecución de varios modelos que
tienen como base el modelo de casos de uso
Modelo de
Requisitos
tiene como objetivo
delimitar el sistema y
capturar la funcionalidad
desde la perspectiva del
usuario
se basa en la metodología
Objectory (Jacobson et al 1992)
se fundamenta en el
modelo de casos de uso
forma parte del Proceso
Unificado Racional (RUP)
Consta de tres modelos principales
Modelo de
Presentación
específica cómo interactúa el sistema
con actores externos al ejecutar los
casos de uso
Interfaces Gráficas y
funcionalidades
Modelo de
Información
específica aspectos estructurales de la
aplicación en términos de objetos,
además guarda información temporal en
la aplicación
Bases de Datos,
parámetros de
funciones del sistema
Modelo de
Comportamiento
específica la
funcionalidad que
ofrece el sistema desde
el punto de vista del
usuario
Conceptos clave
Actores
Distintos papeles que los
usuarios desempeñan en el
sistema
Casos de Uso
Lo que pueden hacer los
actores con respecto al
sistema
es el primero en desarrollarse y
junto al modelo de casos de uso son
la base de los demás modelos
El analista debe interactuar constantemente con el cliente para completar
la información faltante, y así resolver ambigüedades e inconsistencias
Sirve de base para el
desarrollo de las
instrucciones
operacionales y los
manuales
Modelo de
Análisis
tiene como
objetivo
generar una arquitectura de
objetos que sirva como base
para el diseño del sistema
es una representación conceptual
correspondiente al problema y modelo de
requisitos, en término de clase de objetos
las clases ayudan a lograr la
arquitectura deseada
Arquitecturas de Clases
Existen diversos tipos
para cada aplicación
Modelo Vista
Controlador (MVC)
una de las arquitecturas más utilizadas en los
sistemas de información
se basa en tres dimensiones principales
Modelo: correspondiente a
la información
Vista: correspondiente a la
presentación/interacción con el usuario
Control: correspondiente al
comportamiento
Dimensión
organización de
los objetos de
acuerdo a su
funcionalidad
Modelo de Diseño
refinamiento y
formalización adicional
del modelo de análisis
se validan los resultados
de los modelos anteriores
para facilitar la
escritura del
código fuente
especificaciones detalladas de
los objetos, sus operaciones y
atributos
ambiente de implementación
se consideran
varios aspectos
requisitos
de
rendimiento
tiempo
real
lenguaje de
programación
bases de
datos
no controla la
estructura del sistema
Modelo de Implementación
toma el resultado del modelo de
diseño para generar el código
final
se adapta el diseño al lenguaje de
programación/base de datos
poca automatización en la transición final a código fuente
se tiene en cuenta especificaciones del modelo
anterior y propiedades del lenguaje/base de datos
se usan guias de programación
para definir varios aspectos
formatos para asignación de
nombres de variables
estilo de
programación
métodos de documentación
documentación en
línea
diagramas de clases
representan de forma visual las
clases con sus atributos y métodos
se aplica en lenguajes
de programación
orientados a objetos
Java, C,
C++, C#...
Modelo de Pruebas
debe ser planificado con anticipación y de manera
integral junto al desarrollo del sistema
evita pérdida de tiempo y sobrecostos
las pruebas deben hacerse de manera
simultanea con el desarrollo del sistema
pruebas finales
deben buscar la
certificación final de la
calidad del producto
evitar defectos es más
importante que removerlos
no deben tener como
objetivo la búsqueda
de errores
pruebas
pruebas de verificación
se verifica si el resultado
corresponde a la
especificación del sistema
pruebas de
validación
se revisa si el resultado coincide
con el que el cliente quería
se basa en el modelo
de casos de uso
técnicas
de
pruebas
prueba de regresión
verifica el sistema después de haber introducido cambios
prueba de operación
verifica la operación del sistema en condiciones normales por un largo periodo
prueba de escala completa
se prueba el sistema en sus límites extremos para determinar su nivel de tolerancia y posibles fallas
prueba de rendimiento/capacidad
mide la capacidad de procesamiento del sistema bajo diferentes cargas
prueba de sobrecarga
verifica el comportamiento del sistema cuando se le aplica una sobrecarga
prueba negativa
mide el estrés del sistema en situaciones inesperadas
prueba basada en
requisitos/casos de uso
verifica que el sistema final cumpla con las especificaciones originales
prueba ergonómica
prueba las interfaces hombre-máquina en el caso de que existan
prueba de documentación
de usuario
prueba la documentación de usuario y su manual, así como la de mantenimiento y servicio
prueba de aceptación/validación
el sistema se prueba en su ambiente real por un periodo extenso
niveles de pruebas
prueba de unidad
solo una unidad es probada
(clase, paquete de servicio,
subsistema)
prueba de integración
se verifica que las unidades trabajen juntas
correctamente, mediante casos de uso de
pruebas (clases, paquetes de servicio,
subsistemas, sistema completo)
prueba de sistema
verifica el sistema completo, se
toma el punto de vista del
usuario final
bugs
falla
ocurre cuando un programa no se comporta
de manera adecuada; no hay falla sin falta
falta
ocurre en el código, y esta puede
generar una falla
error
es una acción humana que ocasiona que el software
contenga una falta y posiblemente falle
el éxito de la prueba se da cuando se
encuentran faltas, en caso contrario
es probable que no se ha desarrollado
un buen sistema
Rastreabilidad de
los modelos
Permite evaluar el impacto de cambios
durante el desarrollo del software
Lenguaje de Modelado
Unificado (UML)
es un lenguaje gráfico para visualizar, especificar,
construir y documentar un sistema