UT03. Fases del proceso de desarrollo

Anuncio
Unidades temáticas de Ingeniería del Software
Fases del proceso de desarrollo
4ª edición (2008)
Facultad de Informática
organización del desarrollo
El ciclo de vida del software abarca el proceso de desarrollo, el cual
está constituido por un conjunto de actividades que se estructuran en
fases.
El ciclo de vida clásico se considera el paradigma más representativo
de la ingeniería del software.
Las fases y actividades del ciclo de vida clásico se pueden considerar
representativas del desarrollo de productos software.
...si despojamos a cualquiera de los demás
paradigmas de las técnicas que utilizan y de los
enfoques que adoptan se observa que la estructura
básica de desarrollo es la misma.
Fases del desarrollo
2
contenidos
Definición de requisitos del usuario
Definición de requisitos del software
Diseño arquitectónico
Diseño detallado y producción
Transferencia
Referencias bibliográficas
Fases del desarrollo
3
definición de requisitos del usuario
Se trata de la fase de definición del problema y es un proceso iterativo
donde el usuario es el máximo responsable.
Objetivo: obtener una definición de lo que el usuario espera del
sistema computacional.
Entradas: resultados de entrevistas, encuestas, estudios y ejercicios
de prototipado.
Salidas: documento de requerimientos de usuario (DRU), donde se
describen todos los requerimientos con claridad y consistencia.
Fases del desarrollo
4
definición de requisitos del usuario (cont.)
Actividades
Capturar los requerimientos del usuario.
• Reconocer las necesidades y problemas del usuario.
Determinar el entorno operacional (se trata del mundo real en el que
operará el software)
• Describir la interacción del usuario con las entidades externas.
Especificar los requerimientos del usuario.
• Describir los requerimientos en términos de sus atributos.
• Organizar los requerimientos en base a la categoría a la que
pertenezcan.
Revisar y comprobar las salidas de la fase.
Fases del desarrollo
5
definición de requisitos del usuario (cont.)
Categorías de requerimientos de usuario
• Capacidades para resolver un problema o alcanzar un objetivo. Qué
funciones y qué operaciones necesita el usuario.
• Restricciones sobre cómo resolver el problema o alcanzar un objetivo.
Cómo se debe construir el software y cómo debe operar
(comunicaciones externas, interfaces hardware y software, interacción
hombre-máquina y atributos de calidad).
Atributos de los requerimientos de usuario
Identificador, Necesidad, Prioridad, Estabilidad, Fuente, Claridad y
Verificabilidad.
Fases del desarrollo
6
definición de requisitos del software
Se trata de la fase de análisis del problema, donde se debe adoptar un
método de análisis y en la que el desarrollador es el máximo
responsable.
Objetivo: obtener una definición del software que se va a construir.
Entradas: documento de requerimientos del usuario (DRU).
Salidas: documento de requerimientos del software (DRS), donde se
representa la visión que el desarrollador tiene del software y la
descripción del ámbito del software.
Fases del desarrollo
7
definición de requisitos del software (cont.)
Actividades
Construir el modelo lógico del software.
• Definir el ámbito del software (lo que abarca).
• Determinar el entorno operacional del software (interface usuariosoftware).
• Representar el modelo lógico del software.
Especificar los requerimientos del software.
• Describir los requerimientos en términos de sus atributos asegurando
la completitud y consistencia, y evitando la duplicidad de los mismos.
• Organizar los requerimientos en base a la categoría a la que
pertenezcan.
Revisar y comprobar las salidas de la fase.
El modelo lógico debe...
omitir cualquier información de implementación
Fases del desarrollo
8
definición de requisitos del software (cont.)
Categorías de requerimientos de software
• Funcionales: especifican qué tiene que hacer el software.
• De rendimiento: especifican valores numéricos para ciertas variables
como frecuencia, capacidad y velocidad de cada función.
• De interface: especifican el hardware, software o la base de datos.
• Operacionales: especifican cómo funcionará el sistema y cómo se
comunicará con los operadores del sistema (mensajes de error,
sistemas de ayuda).
• De recursos: especifican los límites superiores de recursos (potencia
de procesamiento, memoria principal, espacio de disco).
• De verificación: especifican las restricciones sobre cómo debe ser
verificado el software (simulaciones, emulaciones...).
Fases del desarrollo
9
definición de requisitos del software (cont.)
Categorías de requerimientos de software
• De validación: especifican las restricciones sobre cómo debe ser
validado el software.
• De documentación: especifican requerimientos para la especificación
del proyecto.
• De garantía: especifican requerimientos para asegurar el sistema
frente a amenazas relativas a la confidencialidad, integridad y
disponibilidad.
• De portabilidad: especifican lo fácil que es modificar el software para
que se ejecute en otros sistemas y bajo otros sistemas operativos.
• De calidad: especifican atributos del software que aseguran que éste
se ajusta a los objetivos.
• De fiabilidad: especifican el intervalo aceptable entre fallos.
Fases del desarrollo
10
definición de requisitos del software (cont.)
Categorías de requerimientos de software
• De mantenimiento: especifican lo fácil que es reparar fallos y adaptar
el software a nuevos requerimientos.
• De seguridad: especifican los requisitos para reducir la posibilidad de
daños que puede provocar un fallo del software.
Atributos de los requerimientos de software
Identificador, Necesidad, Prioridad, Estabilidad, Fuente, Claridad y
Verificabilidad.
Fases del desarrollo
11
diseño arquitectónico
Se trata de la fase de solución, en la que se debe adoptar un método
de diseño y donde el ingeniero de software es el máximo responsable.
Objetivo: definir la estructura del sistema software.
Entradas: documento de requerimientos del software (DRS).
Salidas: documento de diseño arquitectónico (DDA) donde se resume
la solución adoptada, se definen los componentes del software y sus
interfaces y se describen las interfaces externas.
Fases del desarrollo
12
diseño arquitectónico (cont.)
Actividades
Construir el modelo físico del software.
• Dividir el software en componentes.
• Implementar los requerimientos no funcionales.
• Considerar criterios de calidad del diseño y alternativas de diseño.
Especificar el diseño arquitectónico.
• Describir los elementos del diseño arquitectónico (definición funcional
de los componentes, de las estructuras de datos, de los flujos de
control y del uso de recursos).
Seleccionar un lenguaje de programación.
• Compatibilidad con el método de diseño.
• Considerar requerimientos no funcionales y la tecnología necesaria.
Revisar y comprobar las salidas de la fase.
Fases del desarrollo
13
diseño detallado y producción
Se trata de la fase de implementación, en la que es necesario tener en
cuenta la adecuación y disponibilidad de recursos para el desarrollo
de software y donde el ingeniero del software es el máximo
responsable.
Objetivo: obtener un sistema software probado.
Entradas: documento de diseño arquitectónico (DDA).
Salidas: código, documento de diseño detallado (DDD) y manual del
usuario (manuales de referencia y tutoriales).
Fases del desarrollo
14
diseño detallado y producción (cont.)
Actividades
Diseño detallado.
• Refinar el diseño arquitectónico hasta obtener detalles de
implementación que puedan expresarse en términos del lenguaje de
programación.
Producción.
• Codificar. Traducir el diseño al lenguaje de programación
seleccionado.
• Integrar. Construir el sistema software ensamblando componentes.
• Probar. Pruebas de unidad, de integración y del sistema.
Revisar y comprobar las salidas de la fase.
Fases del desarrollo
15
transferencia
Se trata de la fase de entrega donde el desarrollador es el máximo
responsable.
Objetivo: obtener la aceptación provisional del producto software.
Entradas: código, documento de diseño detallado (DDD) y manual del
usuario (manuales de referencia y tutoriales).
Salidas: declaración de aceptación provisional, sistema software
aceptado provisionalmente, documento de transferencia del software
(DTS).
Fases del desarrollo
16
transferencia
Actividades
Instalación.
• Implantar un sistema ejecutable configurándolo para que sea operativo
en el entorno del usuario.
Pruebas de aceptación.
• Realizar pruebas de aceptación para validar el software, demostrando
sus capacidades en el entorno operacional.
• Obtener la aceptación provisional del usuario, para lo cual se requiere
un período de operación.
Fases del desarrollo
17
marco de trabajo genérico
Se puede aplicar a la mayoría de los proyectos de software
(Pressman, 2005).
Se compone de cinco actividades que permanecen iguales en el
desarrollo de cualquier tipo de producto software.
•
•
•
•
•
Comunicación: Inicio del proyecto y recopilación de requisitos.
Planificación: Estimación, itinerario y seguimiento de los trabajos.
Modelado: Creación de modelos de análisis y de diseño.
Construcción: Generación de código y prueba.
Despliegue: Entrega soporte, evaluación final y retroalimentación.
Cada actividad se compone de acciones y cada acción de un conjunto
de tareas de trabajo.
Una acción se puede adaptar a las necesidades específicas de un
proyecto de software y a las características del equipo de trabajo.
Fases del desarrollo
18
referencias bibliográficas
Mazza, C. Software engineering standars. Prentice-Hall, 1994.
Pressman, R.S. Ingeniería del software. Un enfoque práctico.
McGraw-Hill, 2006
Fases del desarrollo
19
Descargar