desarrollo de software definición general del proceso

Anuncio
DESARROLLO DE SOFTWARE
DEFINICIÓN GENERAL DEL PROCESO
GABY LORENA GUERRERO
LEYDI ROCIO ERAZO
PABLO FELIPE MIRANDA
WALTER ALEXIS ANTE
UNIVERSIDAD DEL CAUCA
FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
PROGRAMA INGENIERÍA DE SISTEMAS
INGENIERÍA DE SOFTWARE III
POPAYAN – CAUCA
2011
DESARROLLO DE SOFTWARE
DEFINICIÓN GENERAL DEL PROCESO
Proceso OPE.1 Desarrollo de Software
Categoría Operación (OPE)
Propósito El propósito de Desarrollo de Software es la realización sistemática de
las actividades de planeación, diseño, codificación, pruebas, lanzamiento de
productos de software nuevos cumpliendo con los requisitos especificados y con
las normativas de seguridad de información.
Descripción El proceso de Desarrollo de Software apoyado sobre la metodología
del desarrollo ágil adaptando la programación Extrema (XP) la cual se compone
de uno o más ciclos de desarrollo. Cada ciclo está compuesto de las siguientes
fases:

Planeación:
Conjunto de actividades cuya finalidad es obtener la Documentación de la
Especificación de las historias de usuario y Definir las responsabilidades del
equipo de desarrollo para las pruebas de recepción del Sistema.
Para conseguir un entendimiento común entre el cliente y el proyecto. Se
compone por uno o más ciclos de desarrollo.
Revisión del Plan de Desarrollo por los miembros del Equipo de Trabajo
para lograr un entendimiento común del proyecto y el poder elaborar el plan
de iteración, para obtener el compromiso de su realización.
Cabe destacar las siguientes tareas:
 Especificación de Historias de usuario.
 Hacer el Plan de Iteraciones.

Diseño:
Esta fase involucra un conjunto de actividades en las cuales se analizan los
requisitos especificados para producir una descripción de la estructura de
los componentes de software, la cual servirá de base para la codificación.
Como resultado se obtiene el Documento de Especificación del Sistema.
Cabe destacar las siguientes tareas:
 Diseño simple cartas CRC.
 Plan Especificación del Sistema.
 Prototipo Interface Usuario.

Codificación
Conjunto de actividades para producir Componente(s) de software que
correspondan al Análisis y Diseño. Como resultado se obtienen el (los)
Componente(s) de software codificados.
Cabe destacar las siguientes tareas:
 Programación en parejas
 Integración Continua Componentes

Pruebas
Conjunto de actividades para probar el software, basadas en el Plan de
Pruebas de Sistema, con la finalidad de obtener el Software que satisfaga
los requisitos especificados. Como resultado se obtiene el producto de
Software probado y documentado
Cabe destacar las siguientes tareas:
 Documento de Pruebas del Sistema

Lanzamiento
Es cuando el cliente no tiene más historias para ser incluidas en el sistema.
Esto requiere que se satisfagan las necesidades del cliente y el Documento
de Especificación del Sistema. Se genera el Acta de entrega y no se
realizan más cambios en la arquitectura. La muerte del proyecto también
ocurre cuando el sistema no genera los beneficios esperados por el cliente
o cuando no hay presupuesto para mantenerlo con lo cual se genera el
documento de inconvenientes del sistema.
Cabe destacar las siguientes tareas:
 Acta de Entrega
Objetivos
 El equipo de trabajo entiende las necesidades del cliente y este está de
acuerdo con la solución proyectada por el equipo de trabajo pactado en el
Documento de Especificación del Sistema.
 Llevar a cabo las actividades de las fases de un ciclo mediante el
cumplimiento del plan de iteración.
 Garantizar que al final del análisis del sistema todas las historias de usuario
estén trazadas o asociadas a una especificación funcional.
 Lograr que los productos de salida sean consistentes con los productos de
entrada en cada ciclo definido en el plan de iteración mediante las
actividades de prueba unitarias del sistema.
 Garantizar la culminación del proceso de desarrollo.
Indicadores
 El cliente ha entendido, participado y aprobado la solución propuesta por el
equipo de trabajo.
 Las actividades planificadas en cada fase de un ciclo de XP (Extreme
programming) se realizan conforme a lo establecido en el Plan de iteración.
 Al final de las actividades de Análisis y de Diseño se comprueba que las
historias de usuario han sido implementadas.
 En cada fase de un ciclo se efectúan todas las actividades de verificación,
de igual manera se tienen en cuenta las correcciones correspondientes
para el siguiente ciclo del plan de iteración.
 El proyecto termina con la generación del acta de entrega y el cliente está
satisfecho con el producto entregado, de lo contrario se genera el
documento de inconvenientes del sistema indicando el motivo por el cual se
dio muerte al proyecto.
Responsabilidad y autoridad
Responsable:
• Responsable de Desarrollo de Software
Autoridad:
• Responsable de Administración del Proyecto Específico
ENTRADAS
Nombre
Plan de Desarrollo
• Descripción del Producto
• Entregables
• Equipo de Trabajo
• Calendario
SALIDA
Nombre
Descripción
Especificación
de Historias
de Usuario
Se compone de una
introducción
y
una
descripción
de
requisitos.
Introducción:
Descripción general del
software y su uso en el
ámbito de negocio del
cliente
Descripción de
requisitos:
* Funcionales:
Necesidades
establecidas que debe
satisfacer el software
cuando es usado en
condiciones específicas.
Las
funcionalidades
deben ser adecuadas,
exactas y seguras.
* Interfaz con usuario:
Definición de aquellas
características de la
interfaz de usuario que
permiten que el software
sea fácil de entender,
aprender, que genere
satisfacción y con el
cual el usuario pueda
desempeñar su tarea
eficientemente.
FUENTE
Administración de un Proyecto
Específico
Destino
Plantilla
Soporte
Forma de
aprobación
Incluyendo
la
descripción del prototipo
de la interfaz.
* Interfaces externas:
Definición
de
las
interfaces
con
otro
software
o
con
hardware.
* Mantenimiento:
Descripción
de
los
elementos
que
facilitarán
la
comprensión
y
la
realización
de
las
modificaciones futuras
del software.
* Restricciones de
diseño y construcción:
Necesidades impuestas
por el cliente.
Plan
Especificación
del Sistema
* Legales y
reglamentarios:
Necesidades impuestas
por leyes, reglamentos,
entre otros.
Este
documento
contiene la descripción
textual y grafica de la
estructura
de
los
componentes
de
software. El cual consta
de las siguientes partes:
Arquitectónica:
Contiene la estructura
interna del sistema, es
decir la descomposición
del
sistema
en
subsistemas. Así como
la identificación de los
componentes
que
integran los subsistemas
y las relaciones de
Administra
ción de un
Proyecto
Específico
No tiene
Plantilla
Configuración
de Software
interacción entre ellos.
Conjunto consistente de
productos de software,
que incluye:
• Especificación de
Historias de Usuario
• Especificación Cartas
CRC
• Especificación del
Sistema
• Plan de iteración
• Prototipo de la Interfaz
de Usuario
• Integración de
Componentes SW
Plan de
Documento en el que se
Iteración
especifican las
iteraciones necesarias
para construir el
producto software
Prototipo de
Primera aproximación a
Interfaz de
la interfaz de la
Usuario
herramienta que va a
usar el usuario.
Acta de
Es cuando el cliente no
entrega
tiene más historias para
ser incluidas en el
sistema. Esto requiere
que se satisfagan las
necesidades del cliente
y no se realicen más
cambios en la
arquitectura.
Documento de Se genera cuando el
inconveniente sistema no genera los
s del sistema. beneficios
esperados
por el cliente o cuando
no hay presupuesto
para mantenerlo.
Cartas CRC
Mecanismo
efectivo
para pensar en el
software en un contexto
orientado a objetos.
Identifican y organizan
las clases orientadas al
Codificación
en Parejas
Integración
Continua
Plan de
Pruebas del
Sistema
Reporte de
Pruebas del
Sistema
Plan de
Pruebas de
Seguridad
objeto
que
son
relevantes
para
el
incremento del software
actual.
Se recomienda que dos
personas trabajen juntas
en una estación de
trabajo de computadora
para crear el código de
una
historia.
Esto
proporciona
un
mecanismo
para
la
resolución de problemas
en tiempo real y un
aseguramiento de la
calidad en las mismas
condiciones.
Ayuda
a
evitar
problemas
de
compatibilidad
e
interface y proporciona
un ambiente de “prueba
de humo” que ayuda a
descubrir los errores del
principio.
Documento en el cual se
identifican las pruebas
requeridas
para
el
cumplimiento de los
requisitos especificados
para
el
producto
software.
Registro
de
participantes,
fecha,
duración y defectos
encontrados
en
la
integración y aceptación
del software.
Administra No tiene
ción de un plantilla
Proyecto
Específico
Vr2
Administra
ción de un
Proyecto
Específico
Registro de pruebas que
se
aplicarán
para
verificar la interacción
entre los componentes.
Documento
que Administra No tiene
contiene la descripción ción de un plantilla
del plan de pruebas de proyecto
Ver3
seguridad.
Documentar
los
resultados esperados
Reporte
del Registro del tratamiento
tratamiento
que se realizará para
realizado a las garantizar la seguridad
Pruebas de
del software.
Seguridad
Específico
Administra No tiene
ción de un plantilla
Proyecto
Específico
Ninguna
ROLES INVOLUCRADOS Y COMPETENCIAS
Abreviatura
RAPE
RD
AN
DU
PR
ET
RPU
RS
ES
Rol
Responsable
de
Administración
Proyecto Específico
Competencias
la Capacidad
de
liderazgo
con
del experiencia en la toma de decisiones,
planificación estratégica, manejo de
personal y desarrollo de software
Responsable de Desarrollo Conocimiento y experiencia en el
de Software
desarrollo de software.
Analista
Conocimiento y experiencia en la
obtención, especificación y análisis de
los requisitos
Diseñador de la Interfaz de Conocimiento en diseño de interfaces
Usuario
de usuario y criterios ergonómicos
Programador
Conocimiento y/o experiencia en la
programación, integración y pruebas
unitarias
Equipo de Trabajo
Conocimiento
y experiencia
de
acuerdo a su rol
Responsable de Pruebas
Conocimiento y experiencia en la
planificación y realización de pruebas
de integración y de sistema.
Responsable de Seguridad Responsable
de
establecer
los
requisitos de seguridad de información
estándar y el nivel alcanzado por el
software desarrollado.
Equipo de
Responsable de instalar, probar e
Seguridad
identificar el nivel de seguridad
alcanzado.
ACTIVIDADES
Se asocian a los objetivos y describen las tareas y roles responsable.
Rol
Descripción
A1. Planeación
Plan de Desarrollo
Entradas
RAPE
A1.1. Definir y asignar roles a cada uno de los integrantes del
RD
equipo de trabajo.
A1.2. Distribuir tareas a los miembros del equipo de trabajo según su
rol, de acuerdo al Plan de Desarrollo actual.
A1.3. Revisar con los miembros del equipo de trabajo el Plan de
ET
Desarrollo actual para lograr un entendimiento común y obtener su
RAPE
RD
compromiso con el proyecto.
A1.4. Documentar o modificar la Especificación de Historias de
Usuario:
• Identificar y consultar fuentes de información (clientes, usuarios,
sistemas previos, documentos, etc.) para obtener nuevos requisitos.
• Analizar los requisitos identificados para delimitar el alcance y su
factibilidad, considerando las restricciones del ambiente del negocio
del cliente o del proyecto.
RAPE
A1.5 Priorizar las historias de usuario y estimar recursos.
RD
A1.6 Calcular la cantidad de Iteraciones y planificar las iteraciones
del producto a entregar
A1.7 Considerar la velocidad del proyecto y prioridades del cliente
A1.8 Selección y uso de tecnología y herramientas.
RPU
A1.9 Elaborar o modificar Plan de Pruebas de Sistema.
AN
A1.10 Corregir los defectos encontrados en el Plan de Pruebas de
Sistema con base en el Reporte de Pruebas del Sistema y obtener la
aprobación de las correcciones.
ES
A1.11 Elaborar o modificar el Plan de Pruebas de Seguridad.
RS
A1.12 Corregir los defectos encontrados en el Plan de Pruebas de
AN
Seguridad con base en el Reporte de Pruebas de Seguridad y
obtener la aprobación de las correcciones.
Salidas
Documento especificación Historias de Usuario
Plan de Iteraciones
Rol
Descripción
A2. Diseño
Entradas
Plan de Desarrollo
Historias de Usuario
Plan de iteraciones
AN
A2.1 Especificación de la arquitectura del sistema :
DU
A2.1.1 Elaborar las Cartas CRC.
RD
A2.1.2 Elaborar diagrama de clases.
A2.1. 3 Elaborar diagrama de bases de datos (MER).
A2.2. Elaborar el prototipo de la interfaz con el usuario.
A2.3. Efectuar pruebas de usabilidad del prototipo de interfaz de
usuario sin usuarios:
• Aplicar criterios ergonómicos como: retroalimentación inmediata,
acciones mínimas, control de usuario, flexibilidad, protección contra
errores, consistencia, corrección de errores.
• Corregir el prototipo incorporando resultados de la prueba
A2.4. Efectuar pruebas de usabilidad del prototipo de interfaz de
usuario con usuarios:
• Selección de usuarios para la prueba
• Diseño del cuestionario de perfil de usuario
• Planteamiento de la hipótesis de usabilidad (script de prueba e
instrumento)
• Monitorear la prueba
• Registrar la prueba
• Hacer el cuestionario de usabilidad
• Registrar los resultados de la prueba
• Corregir el prototipo incorporando resultados de la prueba
DU
A2.5. Modificación del prototipo de interfaz de usuario y su
incorporación al Plan de Especificación del Sistema
AN
A2.6. Elaborar el plan de Especificación del sistema:
DU
 Integrar la especificación de la arquitectura del sistema
RD
RPU
A2.7. Diseñar los casos de prueba
Documento de especificación de cartas CRC
Salidas
Plan de Especificación del Sistema
Rol
Descripción
A3. Codificación
Plan de Desarrollo
Entradas
ET
A3.1 Organización de Actividades del Equipo de Desarrollo.
A3.2 Escoger compañero de trabajo para la programación en pareja
y asignar Historias de Usuario a la pareja.
A3.3 Desarrollo de productos simples, funcionales y estandarizados.
A3.3.1 Elaborar las pruebas unitarias para los módulos que lo
ameriten.
A3.4 Prever reajuste en desarrollo de los productos
PR
A3.5 Crear el código de una historia de usuario siguiendo estándares
de codificación.
A3.6 Integración de la programación realizada en parejas al sistema.
Historia de Usuario Funcional
Salidas
Rol
Descripción
A4. Pruebas
Plan de Desarrollo
Entradas
RD
A4.1. Distribuir tareas a los miembros del equipo de trabajo según su
rol, de acuerdo al Plan de Desarrollo actual
RPU
ES
PR
RPU
RE
Salidas
A4.2. Diseñar los Casos de Prueba del Sistema, en base al Plan de
Pruebas del Sistema y el Plan de Pruebas de Seguridad
• Diseñar los casos de prueba del sistema
A4.3. Realizar las Pruebas del Sistema:
• Ejecutar los Casos de Prueba del Sistema siguiendo el Plan de
pruebas del Sistema y documentar los resultados en el Reporte de
Pruebas del Sistema.
• Validar y corregir los defectos encontrados
A4.4. Realizar las Pruebas del Seguridad:
• Ejecutar los Casos de Prueba del Sistema siguiendo el Plan de
Pruebas de Seguridad y documentar los resultados en el Reporte de
Pruebas del Seguridad.
• Reportar los defectos encontrados en el Sistema.
• Validar y corregir los defectos encontrados
Acta de Entrega
Reporte de Pruebas del Sistema
Reporte de Pruebas de Seguridad
Rol
Descripción
A5. Lanzamiento
Plan de Desarrollo
Entradas
Historia de Usuario Funcional
RAPE
A4.1Realizar las Pruebas de Aceptación del Sistema
ET
• Ejecutar las Historias de Usuario, en el entorno definido por el
cliente siguiendo el Plan de Desarrollo del Sistema, documentando
los resultados en el Plan de Iteración, reportando los defectos
encontrados en el Sistema.
Validar y Corregir los defectos encontrados. Verificar que las
correcciones se realizaron y los defectos pueden ser cerrados.
• Aceptar el sistema
RAPE
A4.2 Diligenciar el acta de entrega:
 Firmar por parte del cliente la satisfacción del software
realizado
 Establecer que se cumplieron los alcances establecidos en el
plan de desarrollo
 Indicar el cumplimiento de los objetivos establecidos y
especificados en el Documento de Especificación del Sistema
A4.3 En caso de Muerte del Proyecto Elaborar el documento de
inconvenientes del sistema:
 Especificar detalladamente los problemas que conllevaron a la
culminación inesperada del proyecto.
Acta de Entrega
Salidas
Guías de ajuste
Descripción de posibles modificaciones al proceso que no deben afectar los
objetivos del mismo.
Este proceso está desarrollándose.
Fig. 1.0 Definición de proceso de Desarrollo de SW
Planeación
Diseño
Lanzamiento
Codificación
Descargar