DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL

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 INGENIERIA ELECTRONICA Y TELECOMUNICACIONES
PROGRAMA INGENIERIA DE SISTEMAS
INGENIERIA 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
•
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
FUENTE
Administración de un Proyecto
Específico
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
Destino
Plantilla
Soporte
Forma de
aprobación
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.
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
Configuración
de Software
Plan de
Iteración
* 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
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
Documento en el que se
especifican las
iteraciones necesarias
para construir el
producto software
Administra
ción de un
Proyecto
Específico
No tiene
Plantilla
Prototipo de
Interfaz de
Usuario
Primera aproximación a
la interfaz de la
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
objeto
que
son
relevantes
para
el
incremento del software
actual.
Codificación
Se recomienda que dos
en Parejas
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.
Integración
Ayuda
a
evitar
Continua
problemas
de
compatibilidad
e
interface y proporciona
un ambiente de “prueba
de humo” que ayuda a
descubrir los errores del
principio.
ROLES INVOLUCRADOS Y COMPETENCIAS
Abreviatura
RAPE
Rol
Responsable
de
Administración
Proyecto Específico
RD
Responsable de Desarrollo
de Software
Analista
AN
la
del
DU
Diseñador de la Interfaz de
Usuario
PR
Programador
ET
Equipo de Trabajo
Competencias
Capacidad
de
liderazgo
con
experiencia en la toma de decisiones,
planificación estratégica, manejo de
personal y desarrollo de software
Conocimiento y experiencia en el
desarrollo de software.
Conocimiento y experiencia en la
obtención, especificación y análisis de
los requisitos
Conocimiento en diseño de interfaces
de usuario y criterios ergonómicos
Conocimiento y/o experiencia en la
programación, integración y pruebas
unitarias
Conocimiento y experiencia de
acuerdo a su rol
ACTIVIDADES
Se asocian a los objetivos y describen las tareas y roles responsable.
Rol
Descripción
A1. Planeación
Entradas Plan de Desarrollo
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
RD
Salidas
A1.5 Priorizar las historias de usuario y estimar recursos.
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.
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
AN
DU
RD
Salidas
A2.5. Modificación del prototipo de interfaz de usuario y su
incorporación al Plan de Especificación del Sistema
A2.6. Elaborar el plan de Especificación del sistema:
 Integrar la especificación de la arquitectura del sistema
Documento de especificación de cartas CRC
Plan de Especificación del Sistema
Rol
Descripción
A3. Codificación
Entradas Plan de Desarrollo
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. Lanzamiento
Entradas Plan de Desarrollo
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