Zusammenfassung der Ressource
Desarrollo de Software
- 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