Sunteți pe pagina 1din 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

Metodologa para Desarrollo de software

122378300.doc

Pgina 1 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

Historia de Revisiones
Fecha Mayo-2007 Versin Descripcin Versin Inicial Autor Edgar Anello

122378300.doc

Pgina 2 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

ndice
1.PROCESO DE DESARROLLO DE SOFTWARE
1.1.INTRODUCCIN 1.1.1. Propsito 1.1.2. Alcance 1.1.3. Definiciones, siglas y abreviaturas 6 1.1.4. Referencias 1.2.POSICIONES 1.2.1. Informe del Problema (u Oportunidad) 1.2.2. Resumen PDS 1.3.VISTA GENERAL DE LA METODOLOGA 1.3.1. Perspectiva 1.3.2. Fases del Ciclo de Vida: 9 1.3.3. Resumen de Objetivos 1.4.CARACTERSTICAS DE LA METODOLOGA 1.4.1. Fase de Inicio 1.4.2. Fase de Elaboracin 1.4.3. Fase de Construccin 1.4.4. Fase de Transicin 1.5.ENTREGABLES DEL PROYECTO 1.6.RANGOS DE CALIDAD 1.7.REQUERIMIENTOS DE OTROS PRODUCTOS 1.8.ESTNDARES APLICABLES 1.9.REQUERIMIENTOS DE DOCUMENTACIN 1.9.1. Capacitacin de Usuario

4
4 4 4 4 6 7 7 8 9 9 9 10 12 12 13 14 14 16 19 19 19 19 19

2.METODOLOGA PROPUESTA PARA EL ASEGURAMIENTO DE CALIDAD


2.1.APLICACIN DEL MODELO 2.2. DETALLE DEL MODELO 2.3.DESCRIPCIN DE CADA FASE 2.3.1. Inicio 2.3.2. Elaboracin 2.3.3. Construccin 2.3.4. Transicin 2.4.ACTIVIDADES E INVOLUCRADOS

20
20 20 21 21 23 27 29 29

3.ANEXOS
3.1.PERFILES 3.2.CMM CAPABILITY MATURITY MODEL 3.3.UML 3.4. PRUEBAS.

30
30 33 33 35

122378300.doc

Pgina 3 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1. PROCESO DE DESARROLLO DE SOFTWARE


1.1. INTRODUCCIN

El presente documento permite visualizar las acciones a tomar tendientes a facilitar los objetivos de calidad en el ciclo de vida de ingeniera de software; anticipar defectos, unificar aspectos conceptuales y de cualquier otro tipo. Para esto se deben acompaar a las necesidades de desarrollo de una manera controlada, con una metodologa que integre las fases que constituyen el ciclo de vida de los desarrollos que: Provea guas para ordenar las actividades. Proporcione directivas de tareas para el equipo e integrantes individuales. Especifique los entregables que sern desarrollados. Ofrezca un criterio de monitoreo y mtricas para el proyecto. Esta metodologa aqu expuesta se aplica al proceso del ciclo de vida del desarrollo de software. Proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de la Gerencia de Sistemas de Informacin. Define para cada disciplina el flujo de trabajo, las personas que intervienen, las actividades que realizan y los entregables que se necesitan o producen. En s, es un proceso controlado de iteraciones con fuerte focalizacin hacia la arquitectura de sistemas que considera al Negocio como el objetivo propiamente dicho. Es as que se diferencia de las metodologas rgidas que detentan obstinacin por exigir una estipulacin previa y completa de los requerimientos, un modelo inapropiado de correcciones, su progresivo distanciamiento de la visin del cliente y su demora para liberar piezas ejecutables de forma extrema; la metodologa aqu expuesta pone de manifiesto las mejores prcticas del planeamiento, con un espritu normativo adaptado a las particularidades de la organizacin. La metodologa se caracteriza por basarse en un proceso de iteraciones cortas e incrementales.

1.1.1.

Propsito
Ayudar a los equipos de desarrollo a crear software mediante la aplicacin de un conjunto de principios y tcnicas.

1.1.2.

Alcance
Este documento es una introduccin a la definicin de un proceso de desarrollo de software aplicable a la Gerencia de Sistemas de Informacin.. Esta dirigido a los niveles de decisin de dicha gerencia con el fin de someterlo a discusin.

1.1.3.

Definiciones, siglas y abreviaturas


Nota: la lista de trminos incluidas en esta tabla aparecern a lo largo del texto subrayadas; en versin electrnica esto indicar que existe un vnculo a la misma, en la

122378300.doc

Pgina 4 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

versin papel el lector sabr que podr encontrar en este apartado una breve definicin de los trminos. Trmino Arquitectura Arquitectura Robusta Casos de Uso Ciclo de Vida CMM Componentes Control de Cambios Criterios de xito Dominio Entregable GSI Hito Implantacin Lenguaje de Modelado Lnea de Base Modelado Objeto PDS Proceso de Negocio Prototipos Proyecto Receptor Usuario
122378300.doc

Descripcin El concepto de mximo nivel en su ambiente Aquella arquitectura cuya estructura y atributos han demostrado ser satisfactorias en cuanto a rendimiento y calidad segn los mas altos estndares del mercado. Una descripcin del comportamiento del sistema, en trminos de secuencias de acciones. Un caso de uso debe rendir un resultado observable de valor. Una sucesin de estados por los que atraviesa un objeto, los eventos que determinan los cambios entre dichos estados, y los procedimientos, normas y modelos que debe aplicarse. (Capacidad de Madurez del Modelo) Capability Maturity Model Una parte sustantiva, casi independiente, y reemplazable de un sistema que cumplimenta una funcin clara en el contexto de una arquitectura bien definida. Mecanismo por el cual se asegura que cada requerimiento de cambio es adecuadamente considerado, autorizado y coordinado. Criterios bajo los cuales la comunidad usuaria entiende que el sistema cumple los requerimientos satisfactoriamente. Un rea de conocimiento o actividad caracterizada por una familia de valores relacionados Incluyen modelos, archivos fuente, documentos, y los ficheros ejecutables binarios. Gerencia de Sistema de Informacin El punto en el cual una iteracin termina formalmente Una disciplina en el proceso de ingeniera de software cuyo objetivo es asegurar una transicin exitosa del sistema desarrollado hacia los usuarios, se incluyen entregables tales como material de entrenamiento y procedimientos de instalacin Lenguaje para visualizar, especificar, construir, y documentar los entregables de un sistema de software. Base temporal acordada sobre la cual se analizan futuras evoluciones en el desarrollo y que puede ser cambiada solo a travs de un procedimiento formal. Representacin de la realidad Una entidad con un lmite y una identidad bien definidos que encapsula el estado y el comportamiento. El estado es representado por cualidades y las relaciones, comportamiento son representadas por operaciones, mtodos, y mquinas del estado Proceso de Desarrollo de Software Conjunto de actividades que unidas (a travs de un objetivo comn) consumen recursos, obteniendo como resultado un producto o servicio. Es una versin del producto que no esta sujeta al control de cambio y de configuracin. Planificacin, organizacin y administracin de tareas y recursos para llevar a cabo un objetivo definido en un tiempo determinado. Personas (s) comprometida (s) con el proyecto. Comunidad de Usuarios de BPBA (Beneficiarios del Desarrollo)
Pgina 5 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1.1.4.

Referencias
El PDS cumple con las recomendaciones del CMM. (Ver anexo 3.2)

122378300.doc

Pgina 6 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1.2. POSICIONES
1.2.1.

Informe del Problema (u Oportunidad)


El problema Necesidades insatisfechas. Requerimientos inestables. Mdulos que no sen integran. Dificultad de mantenimiento Descubrimiento tardo de fallas Calidad exigua. Rendimiento no satisfactorio. Colisiones en el desarrollo. Afectacin Cul es el impacto Gerencia de Sistemas de Informacin Usuarios. Requerimientos insuficientes Comunicacin ambigua Arquitectura inestable Complejidad excesiva Inconsistencias no detectadas Pruebas insuficientes Evaluacin subjetiva Desarrollo en cascada Cambios no controlados Una solucin exitosa Un proceso de desarrollo integrado.

122378300.doc

Pgina 7 de 37

Proceso de Desarrollo de Software 1.2.2.

(c) Lic. Edgar Anello

Resumen PDS
A Quien va dirigido Nombre Para Directamente a la GSI Indirectamente a los usuarios Proceso de Desarrollo de Software Evitar que en la GSI convivan procesos diferentes y lenguajes de modelados inconsistentes y contrapuestos. Evitar procesos mal definidos, y que los miembros del los equipos apliquen sus propias metodologas. Que los procesos estn debidamente relacionados con herramientas que permitan automatizarlos. Beneficio del PDS Todos los miembros del equipo comparten: Base de conocimientos Procesos Concepto generales de desarrollo de software Lenguaje de modelado

122378300.doc

Pgina 8 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1.3. VISTA GENERAL DE LA METODOLOGA


1.3.1.

Perspectiva
La metodologa describe como utilizar de forma efectiva, y adaptada a la organizacin, prcticas probados en el desarrollo de software, conocidas como mejores prcticas: Desarrollo iterativo del software Administracin de requerimientos Uso de arquitecturas basadas en componentes Modelado visual del software Verificacin de la calidad del software Control de cambios Aprobacin por parte del Usuario.

1.3.2.

Fases del Ciclo de Vida:

Inicio

Elaboracin

Construccin

Transicin

Este modelo secuencial, permite que las reas comerciales involucradas en algn proyecto visualicen en que fase se encuentra el desarrollo. Cada fase termina en un hito en ese momento se realiza un corte en el desarrollo. Cada hito marca un estado del desarrollo, caracterizado por un conjunto de modelos y documentos (entregables). Los hitos sirven a mltiples propsitos: A los lderes y gerentes de proyecto que tienen que tomar ciertas decisiones crticas
antes de continuar con la prxima fase.

Permiten monitorear en 4 puntos claves los progresos del trabajo. Posibilitan trazar el tiempo y el esfuerzo de cada fase, recopilando un conjunto de datos,
que sern utilizados para estimar tiempos y recursos, refinando las proyecciones.

122378300.doc

Pgina 9 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1.3.3.

Resumen de Objetivos
Debido al aumento de sofisticacin y complejidad de los sistemas empresariales, no es recomendable hacer de manera secuencial la definicin completa del problema, disear la solucin completa, construir el software y probarlo. El descubrimiento de defectos en fases posteriores al diseo da como resultado un aumento en los costos y/o cancelacin del proyecto. (El tiempo y los recursos invertidos en la implantacin de un proyecto fallido son irrecuperables)

Objetivo
Obtener una definicin completa del problema, el diseo total de la solucin, la construccin del software y la prueba integral del mismo.

Caractersticas de la solucin Desarrollo Iterativo. Permite un entendimiento incremental del problema, a travs de refinamientos sucesivos. Habilita una retroalimentacin del usuario. Metas especficas permiten que el equipo de desarrollo mantenga su atencin en producir resultados. El progreso es medido conforme avanzan las implantaciones.

Organizar y documentar la funcionalidad y restricciones requeridas. Llevar un registro de cambios y decisiones.

Administracin de requerimientos. Los requerimientos del negocio, son capturados y comunicados a travs de casos de uso y/o especificaciones funcionales. Los casos de uso constituyen un elemento importante en el planeamiento

Arquitectura _ robusta, y adaptable, que promueva la reutilizacin del software Resolver los problemas de comunicacin entre los integrantes del equipo de desarrollo, independizar las aplicaciones de las personas.

Arquitectura basada en componentes. Lenguaje de Modelado Visual. Captura la estructura y el comportamiento del sistema. Mantiene la consistencia entre diseo y programacin Promueve la comunicacin eliminando la ambigedad

Resolver los problemas, asegurando la calidad del software desarrollado

Verificar la Calidad del Software. Crear pruebas para todos los escenarios a fin de asegurar que todos los requerimientos estn debidamente probados. Verificar la calidad basada en la confiabilidad, funcionalidad y desempeo del sistema. Probar cada iteracin Controlar, llevar un registro y monitorear
Pgina 10 de 37

Control de Cambios del Software.


122378300.doc

Proceso de Desarrollo de Software Caractersticas de la solucin cambios (que iterativo). permitan un

(c) Lic. Edgar Anello

Objetivo

desarrollo

Establecer espacios de trabajo seguro para cada desarrollador. (control de versiones).

122378300.doc

Pgina 11 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1.4. CARACTERSTICAS DE LA METODOLOGA


Descripcin de las fases 1.4.1.

Fase de Inicio

Se establece la oportunidad y alcance del proyecto. Se identifican todas las entidades externas con las que se trata (actores) y se define la iteracin a un alto nivel de abstraccin: Identificar todos los casos de uso Describir algunos en detalle. La oportunidad del negocio incluye: Criterios de xito Identificacin de riesgos Estimacin de recursos necesarios Plan de las fases incluyendo Hitos Entregables: Un documento Visin general:
Requerimiento generales del proyecto Caractersticas principales

Modelo Inicial de casos de uso (10% a 20% listos) Glosario Caso de Uso del Negocio
Contexto Criterios de xito Pronstico Financiero

Identificacin inicial de riesgos Plan de Proyecto Uno o mas prototipos Aprobacin por parte del Usuario.

Objetivos

Inicio

Elaboracin

Construccin

Transicin

Hitos Las partes interesadas deben acordar el alcance y la estimacin de tiempo y costo.
122378300.doc Pgina 12 de 37

Proceso de Desarrollo de Software Comprensin de los requerimientos plasmados en casos de uso. 1.4.2.

(c) Lic. Edgar Anello

Fase de Elaboracin
Objetivos: Analizar el dominio del problema Establecer una arquitectura de Base slida Desarrollar un plan de proyecto Eliminar los elementos de mayor riesgo para el desarrollo exitoso del proyecto. En esta etapa se deber obtener una Visin de un kilmetro de amplitud y un centmetro de profundidad porque las decisiones de arquitectura requieren una visin global del sistema. Entregables: Es la parte mas crtica de proceso al final de esta fase toda la arquitectura dura esta hecha, se puede decidir si vale la pena seguir adelante. A partir de aqu la arquitectura, los requerimientos y los planes de desarrollo son estables. Ya hay menos riesgos y se puede planificar el resto del proyecto con menor incertidumbre. Se construye una arquitectura ejecutable que contemple: Los casos de uso crticos Los riesgos Identificados. Modelos de Casos de Uso (80% completo) con descripciones detalladas. Otros requerimientos no funcionales o no asociados a casos de Uso. Descripcin de la arquitectura del software. Un prototipo ejecutable de la arquitectura Lista revisada de riesgos . Plan de desarrollo para el resto del proyecto. Un Manual de Usuario Preliminar Aprobacin por parte del usuario.

Arquitectura

Inicio

Elaboracin

Construccin

Transicin

122378300.doc

Pgina 13 de 37

Proceso de Desarrollo de Software Condiciones de xito de la elaboracin: Es estable la visin del producto? Es estable la arquitectura?

(c) Lic. Edgar Anello

Las pruebas de ejecucin demuestran que los riesgos han sido abordados y resueltos? Estn de acuerdo con el plan todas las personas involucradas?

1.4.3.

Fase de Construccin
Objetivos Todas las componentes restantes se desarrollan e incorporan al producto. Todo es probado en profundidad El nfasis est en la produccin eficiente y no ya en la creacin intelectual. Puede hacerse construccin en paralelo, pero esto exige una planificacin detallada y
una arquitectura estable.

Entregables La versin de software integrado y corriendo en la plataforma adecuada. Manuales de Usuario Una descripcin de la versin actual.

Capacidad Operacional

Inicio

Elaboracin

Construccin

Transicin

Hito Se obtiene una versin inicial que debe decidirse si puede ponerse en produccin sin mayores riesgos. Condiciones de xito La versin es madura y estable para instalarla en el ambiente del cliente? Estn los interesados listos para recibirla?

1.4.4.

Fase de Transicin
El objetivo es traspasar el Software desarrollado a la comunidad de usuarios. Una vez instalado surgirn nuevos elementos que implicaran nuevos desarrollos (ciclos)
Incluye:

Prueba para validar el producto con las expectativas del cliente. Ejecucin paralela con sistemas antiguos.
122378300.doc Pgina 14 de 37

Proceso de Desarrollo de Software Conversin de Datos Entrenamiento de Usuarios Distribucin de la versin. Condiciones de xito: Obtener aprobacin de parte de los usuarios.

(c) Lic. Edgar Anello

Concordancia en los logros de la versin de parte de las personas involucradas Lograr el consenso cuanto antes para liberar esta versin.

Versin

Inicio

Elaboracin

Construccin

Transicin

122378300.doc

Pgina 15 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1.5. ENTREGABLES DEL PROYECTO


A continuacin se describen los entregables que sern generados y utilizados. Los mismos se aplicarn conforme a la envergadura del proyecto. Es preciso destacar que de acuerdo a la filosofa de todo proceso iterativo e incremental, todos los entregables son objeto de modificaciones a lo largo del proceso de desarrollo, con lo cual, slo al trmino del proceso podramos tener una versin definitiva y completa de cada uno de ellos. Sin embargo, el resultado de cada iteracin y los hitos del proyecto estn enfocados a conseguir un cierto grado de avance y estabilidad de los entregables. 1) Plan de Desarrollo del Software Este documento es especfico para cada proyecto y se indicar en l, los entregables y personal involucrado en el mismo 2) Modelo de Casos de Uso del Negocio Es un modelo de las funciones de negocio vistas desde la perspectiva de los actores externos (solicitantes finales, otros sistemas etc.). Permite situar al sistema en el contexto organizacional haciendo nfasis en los objetivos en este mbito. Este modelo se representa con un Diagrama de Casos de Uso usando estereotipos especficos para este modelo. 3) Modelo de Objetos del Negocio Es un modelo que describe la realizacin de cada caso de uso del negocio, estableciendo los actores internos, la informacin que en trminos generales manipulan y los flujos de trabajo (workflows) asociados al caso de uso del negocio. Para la representacin de este modelo se utilizan Diagramas de Colaboracin (para mostrar actores externos, internos y las entidades (informacin) que manipulan, un Diagrama de Clases para mostrar grficamente las entidades del sistema y sus relaciones, y Diagramas de Actividad para mostrar los flujos de trabajo. 4) Glosario Es un documento que define los principales trminos usados en el proyecto. Permite establecer una terminologa consensuada. 5) Modelo de Casos de Uso El modelo de Casos de Uso presenta las funciones del sistema y los actores que hacen uso de ellas. Se representa mediante Diagramas de Casos de Uso. 6) Visin Este documento define la visin del producto desde la perspectiva del cliente, especificando las necesidades y caractersticas del producto. Constituye una base de acuerdo a los requisitos del sistema. 7) Especificaciones de Casos de Uso Para los casos de uso que lo requieran (cuya funcionalidad no sea evidente o que no baste con una simple descripcin narrativa) se realiza una descripcin detallada utilizando una plantilla de documento, donde se incluyen:
122378300.doc

precondiciones, post-condiciones, flujo de eventos, requisitos no-funcionales asociados.


Pgina 16 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

Tambin, para casos de uso cuyo flujo de eventos sea complejo podr adjuntarse una representacin grfica mediante un Diagrama de Actividad. 8) Especificaciones Adicionales Este documento capturar todos los requisitos que no han sido incluidos como parte de los casos de uso y se refieren requisitos no-funcionales globales. Dichos requisitos incluyen:

requisitos legales o normas, aplicacin de estndares, requisitos de calidad del producto, o o confiabilidad, desempeo, etc.

tales como:

u otros requisitos de ambiente, tales como: o o desempeo sistema operativo, requisitos de compatibilidad, etc. 9) Prototipos de Interfaces de Usuario Se trata de prototipos que permiten al usuario hacerse una idea ms o menos precisa de las interfaces que proveer el sistema y as, conseguir retroalimentacin de su parte respecto a los requisitos del sistema. Estos prototipos se realizarn como: dibujos a mano en papel, dibujos con alguna herramienta grfica o prototipos ejecutables interactivos, siguiendo ese orden de acuerdo al avance del proyecto. Slo los de este ltimo tipo sern entregados al final de la fase de Elaboracin, los otros sern desechados. Asimismo, este entregable, ser desechado en la fase de Construccin en la medida que el resultado de las iteraciones vaya arrojando el producto final. 10) Modelo de Anlisis y Diseo Este modelo establece la realizacin de los casos de uso en piezas de software y pasando desde una representacin en trminos de anlisis (sin incluir aspectos de implementacin) hacia una de diseo (incluyendo una orientacin hacia el entorno de implementacin), de acuerdo al avance del proyecto. 11) Modelo de Datos Previendo que la persistencia de la informacin del sistema ser soportada por una base de datos relacional, este modelo describe la representacin lgica de los datos persistentes, de acuerdo con el enfoque para modelado relacional de datos. Para expresar este modelo se utiliza un Diagrama de Clases (donde se aconseja utilizar una herramienta UML para Modelado de Datos, para conseguir la representacin de tablas, claves, etc. ver anexo 3.3.) 12) Modelo de Implantacin Este modelo es una coleccin de componentes y los subsistemas que los contienen. Estos componentes incluyen: ficheros ejecutables, ficheros de cdigo fuente, y todo otro tipo de ficheros necesarios para la implantacin y despliegue del sistema. (Este modelo es slo una versin preliminar al final de la fase de Elaboracin, posteriormente adquiere elevado refinamiento). 13) Modelo de Despliegue
122378300.doc Pgina 17 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

Este modelo muestra el despliegue, y la configuracin de tipos de nodos del sistema en los cuales se har el despliegue de los componentes. 14) Casos de Prueba Cada prueba es especificada mediante un documento que establece las condiciones de ejecucin, las entradas de la prueba, y los resultados esperados. Estos casos de prueba son aplicados como pruebas de regresin en cada iteracin. Cada caso de prueba llevar asociado un procedimiento de prueba con las instrucciones para realizar la prueba, y dependiendo del tipo de prueba dicho procedimiento podr ser automatizable. 15) Solicitud de Requerimiento Los cambios propuestos para los entregables se formalizan mediante este documento. Se hace un seguimiento de los defectos detectados, solicitud de mejoras o cambios en los requisitos del producto. As se provee un registro de decisiones de cambios, de su evaluacin e impacto, y se asegura que stos sean conocidos por el equipo de desarrollo. Los cambios se establecen respecto de la ltima lnea de base (el estado del conjunto de los entregables en un momento determinado del proyecto) establecida. En nuestro caso al final de cada iteracin se establecer una lnea de base. 16) Plan de Iteracin Es un conjunto de actividades y tareas ordenadas temporalmente, con recursos asignados, dependientes entre ellas. Se realiza para cada iteracin, y para todas las fases. 17) Evaluacin de Iteracin Este documento incluye la evaluacin de los resultados de cada iteracin, el grado en el cual se han conseguido los objetivos de la iteracin, las lecciones aprendidas y los cambios a ser realizados. 18) Lista de Riesgos Este documento incluye una lista de los riesgos conocidos y vigentes en el proyecto, ordenados, y con acciones especficas de contingencia o para su mitigacin. 19) Manual de Instalacin Este documento incluye las instrucciones para realizar la instalacin del producto. 20) Material de Apoyo al Usuario Final Corresponde a un conjunto de documentos y facilidades de uso del sistema, incluyendo:

Guas del Usuario, Guas de Operacin, Guas de Mantenimiento Sistema de Ayuda en Lnea

21) Producto Los ficheros del producto empaquetado y almacenado con los mecanismos apropiados para facilitar su instalacin. El producto, a partir de la primera iteracin de la fase de Construccin es desarrollado incremental e iterativamente, obtenindose una nueva versin al final de cada iteracin.

122378300.doc

Pgina 18 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

1.6. RANGOS DE CALIDAD


CMM, (Ver anexo 3.2 )

1.7. REQUERIMIENTOS DE OTROS PRODUCTOS


Herramientas que automaticen el proceso

1.8. ESTNDARES APLICABLES


Modelo CMM y UML (ver anexos 3.2 y 3.3)

1.9. REQUERIMIENTOS DE DOCUMENTACIN


1.9.1.

Capacitacin de Usuario
Que la organizacin pase a un nuevo proceso de desarrollo de software requiere de estrategias puntuales de capacitacin y actualizacin en tcnicas y herramientas. Adems de tutores, talleres y proyectos pilotos, se debe considerar utilizar la Intranet corporativa como repositorio donde se describan todos los entregables, las actividades, los roles, guas y plantillas como mecanismo para extender gradualmente la metodologa.

122378300.doc

Pgina 19 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

2. METODOLOGA PROPUESTA PARA EL ASEGURAMIENTO DE CALIDAD


Objetivo
La aplicacin de la metodologa sugerida permitir coordinar las acciones inherentes a la actividad del desarrollo de software dentro de la Gerencia de Sistemas de Informacin tendientes a facilitar los objetivos de calidad, anticipar defectos, unificar aspectos conceptuales y de cualquier otro tipo.

2.1. APLICACIN DEL MODELO


El modelo aqu presentado, es un modelo genrico cuya flexibilidad permite su adaptacin a cada proyecto en particular. De esta forma, se podrn seleccionar los segmentos del mismo que cubran las necesidades de cada proyecto, evitando la realizacin de actividades innecesarias.

2.2.

DETALLE DEL MODELO


La estructura de cada fase ser la siguiente: Objetivo: Descripcin del propsito de la fase, para usar como una regla para medir el
progreso de la misma.

Entrada: Documentos y/o informacin necesaria para completar la fase. Proceso: Descripcin de las tareas y acciones que debe ejecutar Salida: Productos que deben ser generados al final de la fase. Mtricas: Mediciones a realizar durante la ejecucin de la fase. Estas mtricas se
archivarn convenientemente de forma tal que permitan evaluar el avance y mejora de la calidad del proyecto en curso, como as tambin estimaciones para proyectos futuros.

Involucrados: Perfiles involucrados en la fase. Los nombres de los perfiles son genricos,
sean estos formales o informales.

122378300.doc

Pgina 20 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

2.3. DESCRIPCIN DE CADA FASE


2.3.1.

Inicio

Objetivo:
Tomar conocimiento del requerimiento efectuado, Verificar que se encuentre
debidamente cumplimentado, y Registrarlo para iniciar su Seguimiento.

Generar el Plan de Desarrollo de Software. Informacin de estado de avance. Estimacin del Proyecto y Mtodo utilizado para realizarla. Identificar Casos de Uso. Emitir un Documento Visin. Establecer los criterios de xito del proyecto. Emitir una Matriz de Riesgo.

Entradas:
Documento de Especificacin de Requerimientos del Usuario Estimacin del desarrollo (Envergadura) Conocimiento del proceso de desarrollo.

Proceso:
Seguimiento detallado de todas las modificaciones de estado que tenga el requerimiento Registrar Solicitud de Servicios. Notificacin alta solicitud de servicio Registrar el estado de la Solicitud de Servicios (asignada, reasignada, rechazada). Verificacin de la estimacin del desarrollo Validez de estimacin de costos Verificacin del estado del desarrollo. Generacin de Casos de Uso. Especificaciones adicionales. Confeccin del Plan de Iteraciones. Confeccin de Prototipos de Interfaces de Usuario. Documentos por confeccionar: Entrevista con Interesados Documento Visin
122378300.doc Pgina 21 de 37

Proceso de Desarrollo de Software Plan de Administracin de Requerimiento Documento de Arquitectura de Negocios Matriz de riesgo Glosario

(c) Lic. Edgar Anello

Involucrados:
Subgerente del rea Oficina de Gestin de Proyecto Usuario Solicitante Usuario Autorizante Lder de proyecto Analista Arquitecto Usuarios (directos e indirectos)

Salida:
Asignacin de Identificador de solicitud de servicio Informe de Estimacin del Proyecto Informe de Estado del Proyecto Casos de Uso Solicitud de Requerimiento Documento Visin Glosario Especificaciones adicionales Prototipos de Interfaces de Usuario Matriz de riesgo Plan de Desarrollo de Software

Mtricas

Efectividad de la Estimacin de la Duracin:

Duracin Actual del Proyecto Duracin Estimada del Proyecto

Efectividad de la Estimacin del Esfuerzo:

Esfuerzo Actual del Proyecto Esfuerzo Estimado del Proyecto

Estabilidad de los Requerimientos:

Cantidad de Requerimientos Iniciales Cantidad Total de Requerimientos

122378300.doc

Pgina 22 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello Cantidad de Nuevos Requerimientos Agregados Cantidad Total de Requerimientos

Completitud de los Requerimientos:

2.3.2.

Elaboracin

Objetivo
Describir la funcionalidad del producto que va a ser entregado. Definir el ambiente en el que va a operar. Definir la confiabilidad y el compromiso de mantenimiento. Identificar las necesidades de soporte u operacin, como hardware, software, etc. Definir para cada requerimiento, qu prueba se va a ejecutar para asegurar que se
cumpla con el mismo (anexo 3.4).

Establecer los factores que conducen a un Diseo correcto y preciso Conducir revisiones de Diseo. Conducir inspecciones de los entregables del Diseo. Elaborar la correspondiente documentacin de Diseo. Generar una versin del Modelo de Despliegue.

Entradas
Documento de Especificacin de Requerimientos, revisado Documentos de Especificacin Funcional. Comprensin del Diseo. Entregables derivados del Diseo: Especificaciones de entrada Especificaciones de procesamiento Especificaciones de archivos Especificaciones de salida Especificaciones de Control Diagramas de Flujo del Sistema Requerimientos de software y hardware. Especificacin de los procedimientos de operacin manual. Poltica de resguardo de la informacin. Documento de Diseo de Alto Nivel (Lgico) Documento de Diseo de Detalle (Fsico y lgico) Casos de Uso (pasibles de refinacin durante esta fase) Solicitud de Requerimiento

122378300.doc

Pgina 23 de 37

Proceso de Desarrollo de Software Documento Visin Glosario

(c) Lic. Edgar Anello

Especificaciones adicionales (pasibles de refinacin durante esta fase) Prototipos de Interfaces de Usuario (pasibles de refinacin durante esta fase) Plan de Iteraciones (pasible de refinacin durante esta fase) Matriz de riesgo (pasible de refinacin durante esta fase) Plan de Desarrollo de Software (pasible de refinacin durante esta fase)

Proceso:
Analizar la Especificacin Funcional
Se verificar que la Especificacin Funcional cumpla, con al menos, los siguientes lineamientos:

El formato de la representacin y contenido debera ser relevante para el problema. La informacin contenida en la especificacin debe ir de lo general a lo particular (estar
anidada).

Los formatos diferentes de diagramas por utilizar y otras formas de notacin, debern ser
restringidas al mnimo en nmero y consistentes en su uso.

La Especificacin Funcional, debe ser verificable (pasible de revisin). Se verificar que la Especificacin Funcional cumpla, con al menos, el siguiente contenido:

Resumen del Sistema Introduccin Descripcin del producto Entregables Usuarios Ambiente Servicios Fsico Seguridad Representacin del contenido de la informacin Descripcin de la Informacin Representacin del flujo de la informacin Flujo de datos Flujo de control Particin funcional Descripcin funcional

Descripcin funcional

122378300.doc

Pgina 24 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello Narrativa de proceso general Restricciones / Limitaciones Requerimientos de rendimiento Restricciones de diseo Diagramas de soporte Descripcin de control Especificacin de control Restricciones de para el Diseo

Descripcin de situacin

Estado del sistema Eventos y acciones Lmites y restricciones Clases de pruebas requeridas (se debera garantizar al menos pruebas unitarias y de regresin) Respuesta esperada del software Consideraciones especiales

Validacin y criterios

Cronograma Apndices Analizar factores del diseo En funcin del objetivo algunos principios por especificar para tener en cuenta son:

Controles de Integridad de Datos Reglas de Autorizacin Controles de Integridad de Archivos Normas de Auditoria Plan de Contingencia Mtodo para alcanzar el Nivel de Servicio requerido Procedimientos de Acceso Diseo acorde con los Requerimientos establecidos Facilidad de Uso Mantenibilidad del Diseo Portabilidad del Diseo Interfaces de Diseo Necesidades de Operacin

Producir documentos de diseo: Modelo de Diseo Documento de Arquitectura Modelo de Datos


122378300.doc Pgina 25 de 37

Proceso de Desarrollo de Software Manual de Instalacin Producir versin de Modelo de Despliegue: Modelo de Despliegue Producir Modelo de Pruebas (ver Anexo 3.3): Unitarias Regresin Compatibilidad Funcional Recuperacin Nivel de servicio Interfaces Integracin Operacin Lnea Batch Refinar aquellas salidas de la fase de Inicio que correspondan: Modelo de Casos de Uso Especificaciones adicionales (ver Cuadro 2.4)

(c) Lic. Edgar Anello

Salidas

Entradas a la Fase que hayan sido refinadas Diseo del Sistema (incluidos Modelo de Diseo, Documento de Arquitectura, Modelo de Datos, Manual de Instalacin) Modelo de Despliegue Modelo de Pruebas Plan de Iteraciones Manuales del Usuario (versin preliminar)

Involucrados
Lder de Proyecto Diseador Programador Analista Funcional
122378300.doc Pgina 26 de 37

Proceso de Desarrollo de Software Arquitecto Tester Usuarios (directos e indirectos)

(c) Lic. Edgar Anello

Mtricas

Versionado:

Priorizacin de requerimientos Cantidad Total de Requerimientos Establecidos

Estabilidad de la Funcionalidad:

Cantidad

de

Funciones

Modificadas

Cantidad Total de Funciones Establecidas

2.3.3.

Construccin

Objetivo
Tratar y reelaborar, cuando corresponda, las salidas, de la fase de Elaboracin. Todas las componentes de software se desarrollan e incorporan al producto El principal objetivo de esta fase es asegurar que las Especificaciones de Diseo hayan
sido correctamente aplicadas. Para ello:

Se verificar que se haya probado la ejecucin del software en un ambiente

separado (Prueba), siendo aproximadamente el mismo entorno operacional en que ser ejecutado luego (Produccin).

interna.

Las pruebas sern verificadas, una vez terminada su ejecucin y aprobacin

Entradas
Especificaciones de programas. Documentacin de programas. Listado de cdigo. Programas ejecutables. Diagramas de Flujo de los programas. Instrucciones para el operador Planes de Pruebas: De Regresin De Compatibilidad Funcional De Recuperacin De Nivel de servicio
122378300.doc Pgina 27 de 37

Proceso de Desarrollo de Software De Interfaces De Integracin De Operacin En Lnea Batch Datos de Prueba. Resultados de las Pruebas.

(c) Lic. Edgar Anello

Prototipos de Interfaces de Usuarios (pasibles de refinacin durante esta fase) Plan de Iteraciones (pasible de refinacin durante esta fase) Matriz de Riesgo (pasible de refinacin durante esta fase) Modelo de Diseo (pasible de refinacin durante esta fase) Modelo de Datos (pasible de refinacin durante esta fase) Manual de Instalacin (pasible de refinacin durante esta fase) Versin de Modelo de Despliegue Plan de Desarrollo de Software (pasible de refinacin durante esta fase)

Proceso

Refinar aquellas salidas de la fase de Inicio que correspondan: Prototipos de Interfaces de Usuario Plan de Iteraciones
(ver Cuadro 2.4)

Analizar, entre otros, los siguientes factores:

Control de integridad de informacin. Reglas de autorizacin. Control de integridad de archivos. Auditorias de rastreo. Plan de contingencia escrito. Nivel de Servicio deseado para el Sistema. Procedimientos de seguridad. Programa acorde al Diseo (Facilidad de uso). Mantenimiento del programa. Programa acorde al Diseo (Portabilidad).

122378300.doc

Pgina 28 de 37

Proceso de Desarrollo de Software Programa acorde al Diseo (Acoplamiento). Desarrollo de procedimientos operativos. Criterio de ejecucin del programa (Desempeo).

(c) Lic. Edgar Anello

Ejecutar los casos de prueba: Usar el sistema con los casos desarrollados en el punto
anterior.

Analizar los resultados. Mantener los casos de prueba. Desarrollar una nueva versin del Modelo de Despliegue: Modelo de Despliegue

Salidas
Entradas a la Fase que hayan sido refinadas Eliminacin de todos los errores de codificacin utilizando pruebas estticas. Listado de errores encontrados . La versin de software integrado, siendo ejecutado en la plataforma adecuada. Manuales de Usuario Una descripcin de la versin actual. Muestra de Planes de Prueba verificados. Muestra de transacciones de Prueba verificadas. Muestra de Resultados verificados de la ejecucin de dichas transacciones. Desvo de los resultados esperados, documentados.

Involucrados
Lder de Proyecto Programador Analista Funcional Arquitecto Tester

2.3.4.

Transicin
No aplica para la Subgerencia de Desarrollo

2.4. ACTIVIDADES E INVOLUCRADOS


Actividad 122378300.doc Involucrados Entregable Pgina 29 de 37

Proceso de Desarrollo de Software


Seguimiento Detallado de todas las modificaciones del estado que tenga el requerimiento Verificacin de la Estimacin del Desarrollo Verificacin del estado del Desarrollo Generacin de Casos de Uso Realizacin de Casos de Uso Especificaciones Adicionales Confeccin del Plan de Iteraciones Confeccin de prototipos de Interfaces de Usuarios Confeccin de Documentos Plan de Administracin de Requerimiento Documento de Arquitectura de Negocio Matriz de Riesgo Glosario Verificacin de las Especificaciones Funcionales Anlisis de Factores de Diseo Documentos del Diseo Modelo de Despliegue Modelo de Pruebas Bsqueda de errores en la codificacin Versionado del desarrollo Elaboracin de planes de pruebas Realizacin de planes de pruebas

(c) Lic. Edgar Anello

SAR-OGP AD OGP AF AF AF LP AT AF/US/AT/AP LP AT LP AF LP/AF AT/PRO AT/PRO IMPLA TEST AT/PRO PRO AT/AF TEST

Matriz de trazabilidad Informe de Estimacin del Proyecto Informe del Estado del Proyecto Casos de Uso Manual del Usuario Solicitud de Requerimiento Plan de Iteraciones Prototipos de Interfaz de Usuario Plan de Desarrollo de Software Matriz de Riesgo Glosario Especificacin funcional verificada Diseo de Sistema Diseo de Sistema Modelo de despliegue Modelo de Pruebas Eliminacin de errores en la codifica-cin / Listado de errores Versin del Software integrado ejecutado en la plataforma adecuada Muestra de planes de pruebas Muestra de transacciones de pruebas realizadas y desvos

Sigla SAR AD OGP US UA LP AF AT SIT AP PRO IMPLA TEST

Posicin Subgerente del rea Departamento de Anlisis y Diseo Oficina de Gestin de Proyectos Usuario Solicitante Usuario Autorizante Lder de Proyecto Analista Funcional Arquitecto Soporte de Infraestructura Tecnolgica Anlisis de Procesos Programador Implantacin Tester

3. ANEXOS
3.1. PERFILES
Lder de proyecto: Funcin: administrar la disponibilidad de recursos, coordinar usuarios, receptores de la solucin y desarrolladores, asegura la integridad y calidad de los entregables. Se encarga de confeccionar el Informe de la justificacin econmica del producto, el Plan del proyecto, plan de iteracin, plan
122378300.doc Pgina 30 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

de fases, el Informe de valoracin de riesgos. Asigna responsabilidades y actividades. Mantiene actualizado el estado del proyecto en los hitos definidos. Gestiona los recursos y habilidades para la realizacin del desarrollo. Soporte de desarrollo de aplicaciones: Funcin: proveer el ambiente y la infraestructura necesarios para desarrollar, construir y testear la aplicacin. Confecciona el informe de las necesidades de hardware y software (puesto de trabajo y servers, espacio de almacenamiento y sistema operativo, base de datos, conectividad, frameworks, etc.) Configurar el hardware y software (crear repositorios de datos, estructuras de directorio, etc.) necesarios para desarrollar, construir y testear la aplicacin. Analista de Procesos Funcin: Delinear los procesos de negocio relacionados con el desarrollo de nuevos requerimientos procurando que los mismos se encuentren alineados con el modelo de gestin adoptado por el Banco y respondan a las necesidades del negocio. Analista funcional Funcin: investigar y descubrir los requerimientos, modelar la funcionalidad y delimitar la aplicacin. Visin: sobre cual es el problema que se necesita resolver, quienes son los receptores de la solucin, cuales son los lmites y cuales son las caractersticas principales del sistema. Entre otras actividades relevantes, interviene en la confeccin de la solicitud de los interesados, identificando a los interesados en el proyectos, compilando las necesidades que el sistema debe cubrir y priorizas las mismas. Modela el prototipo utilizado para reducir el riesgo, mostrando a los usuarios y receptores de la solucin cual es la cara del sistema y como ser su comportamiento. Confecciona el glosario, define el vocabulario utilizado en la descripcin del sistema, define los casos de uso, describiendo el comportamiento funcional de cada escenario del sistema e identificando a los actores que desempean roles en los mismos. Interviene en la especificacin de requerimientos de software, describiendo todos los requerimientos para cada caracterstica del producto. Arquitecto: Funcin: es el responsable de las decisiones tcnicas incluye la identificacin y documentacin de la arquitectura de software. Interviene en el Documento de Arquitectura: definiendo la arquitectura apropiada, basado en los conceptos del dominio del sistema. Identifica y define patrones de arquitectura aplicables al modelo. Identifica y define patrones de mecanismo que forman parte de soluciones comunes a muchos sistemas. Identifica y define intercomunicacin entre proceso y subsistemas. Define el agrupamiento de la funcionalidad distribuido en capas de la solucin. Muestra la configuracin de los nodos en tiempo de ejecucin, la comunicacin entre los mismos y los componentes de cada uno de ellos.

122378300.doc

Pgina 31 de 37

Proceso de Desarrollo de Software Arquitecto Diseador:

(c) Lic. Edgar Anello

Funcin: es el responsable de disear el sistema teniendo en cuenta las restricciones de requerimiento, la arquitectura y el proceso de distribucin. Interviene en la realizacin de los casos de uso, describe el comportamiento del sistema, incorporando lo requerimientos no funcionales, los diseos de mecanismo, define las interfaces entre subsistemas, define la navegabilidad, y los elementos que componen la interfase, incorporando lo requerimientos de usabilidad definidos. Diseador de Base de Datos: Funcin: es el responsable de disear el almacenamiento de los datos persistentes del sistema. Genera el modelo de datos que incluye tablas, ndices primarios y alternativos, vistas, claves forneas, restricciones, disparadores, procedimientos almacenados, y otras especificaciones necesarias para guardar, recuperar y eliminar datos persistentes. Programador: Funcin: construir el cdigo que dar lugar al producto resultante en base al diseo tcnico realizado por el analista o analista programador, generando tambin el cdigo asociado a los procedimientos de migracin y carga inicial de datos. Igualmente se encarga de la realizacin de las pruebas unitarias y participa en las pruebas de conjunto de la aplicacin. Tester: Funcin: responsable de todas las pruebas del sistema y de registrar sus resultados. Confecciona el resumen del resultado de las pruebas conteniendo recomendaciones relativas a la calidad del producto. Especifica escenarios de casos de uso para definir datos y secuencias de funcionalidad que se desea probar. Para prueba de unidad define las entradas / salidas por clase, procedimiento, subrutina, o funcin.

122378300.doc

Pgina 32 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

3.2. CMM CAPABILITY

MATURITY MODEL

El CMM (Capability Maturity Model o Modelo de Madurez de Capacidades) es reconocido como el estndar de calidad por excelencia de la industria del software, cuyo mximo nivel es 5, describe los principios y prcticas que hacen a la maduracin de los procesos de software. El propsito de este estndar es ayudar a las organizaciones que trabajan con procesos de software a mejorar dichos procesos siguiendo un camino evolutivo que va desde procesos azarosos y/o caticos a procesos maduros y disciplinados. Para conseguirlo pone nfasis en conceptos como la gestin de calidad, la implementacin de procesos repetible, la recopilacin de datos estadsticos y el trabajo a nivel de proceso. CMM est organizado en cinco niveles de maduracin: 1) Inicial El proceso de software es azaroso y en ocasiones llega a ser catico. Hay pocos procesos definidos, y el xito depende del esfuerzo individual y heroico. 2) Repetitivo Se establecen procesos bsicos de gestin de proyectos para realizar un seguimiento del costo, del cronograma y de la funcionalidad. La disciplina de proceso necesaria est fijada para repetir xitos anteriores en proyectos con aplicaciones similares. 3) Definido El proceso de software para las actividades tanto de gestin como de ingeniera est documentado, estandarizado e integrado en un proceso de software estndar para la organizacin. Todos los proyectos utilizan una versin aprobada y ajustada del proceso de software estndar de la organizacin para desarrollar y mantener software. 4) Administrado Se obtienen medidas detalladas del proceso de software y de la calidad del producto. Tanto el proceso de software como los productos son comprendidos y controlados en forma cuantitativa. 5) Optimizado Se hace posible una continua mejora del proceso por medio de una retroalimentacin cuantitativa desde el mismo proceso y desde la consideracin de ideas y tecnologas innovadoras. A excepcin de Nivel 1, cada nivel de maduracin se descompone en varias reas de proceso clave; stas son las reas en las que la organizacin deber enfocar su atencin y esfuerzos para mejorar su proceso de software.

3.3. UML

122378300.doc

Pgina 33 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

Modelado con UML


Sae tt t St a D grae s e Diaram d iagrms D Cm s iaaas gs la e

U eC ss ss a e U eC e a U eC ss ss C e a e D iaa m d ia rr ss e g a D o ad s Ugaa s d C sgm e U o em D grm a a s s Diarr m e ia gass De u n ia iaa Sc ec S e aio cc n r S n r io e aa D grm s e Diara m d iag rms a Dla osc n C iab r i o gaa S e aaio c n rr S e io n D crm s e Diara m d iag rms g a DEaa o iasas s gt d

Sae t tt D gtms d iaSae r a a e DOr ms iab ss gat jeo Sae tt t St a D grae s e Diara m d iag rm a D gm st s iapasne C mo e o n

Md lo oe

D ga a d ia r ms e A t id d c iv a

C mo e t o pnn C ga n n m p Do rme s DD rasa ia gom t ga m ia r s

d e D t ib c n is r u i

Tipos de Diagramas

Diagrama de Casos de Uso Diagrama de Clase (incluyendo Diagrama de Objetos) Diagramas de Comportamiento Diagrama de Estados Diagrama de Actividad Diagramas de Interaccin Diagrama de Secuencia Diagrama de Colaboracin Diagramas de implementacin Diagrama de Componentes Diagrama de Despliegue

122378300.doc

Pgina 34 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

Relacin entre Diagramas

D iagram as de D ist ribu ci n Ca so s d e Uso Dia gra m a s de Sec u en cia Diag ram a s de Cla ses

Dia gra m as de Co m po n en t es

D iagra m a s de Co labo ra ci n

Dia gra m a s de Est ado s

C D I G O

Diag ram a s de Ac tivida d

3.4.

PRUEBAS.
Cada tipo de prueba deber ser llevado a cabo de acuerdo a las polticas, estndares y procedimientos establecidos en la metodologa corporativa. Deber especificarse el plan de prueba requerido para cada tipo de prueba, las tcnicas y herramientas de prueba recomendadas, as como el tipo de documentacin requerida a lo largo de la misma. Para lograr una prueba efectiva, se debe usar un plan de pruebas creado previamente. Esta etapa es la culminacin de un trabajo previo preparado para la fase de construccin. Si esto no ocurre, la prueba podra resultar poco efectiva y antieconmica. Durante esta fase, el equipo de Testeo, llevar a cabo tanto la verificacin de los planes de prueba, como la verificacin de la ejecucin de los mismos. Todo esto se realizar, tomando muestras representativas de los planes y sus respectivas ejecuciones. Prueba Manual, de Regresin y Funcional (Confiabilidad) La prueba manual asegura que las personas que interacten con el sistema van a poder realizar las operaciones propuestas; la prueba de regresin es la verificacin de que lo que se est instalando no afecta a lo que ya estaba instalado; y la prueba funcional apunta a que los requerimientos del sistema puedan ser ejecutados correctamente en diversas circunstancias. Prueba de Compatibilidad (Autorizacin) En esta prueba deben verificarse las reglas de autorizaciones (permisos) para ejecutar las distintas transacciones de la aplicacin.

122378300.doc

Pgina 35 de 37

Proceso de Desarrollo de Software Prueba Funcional (Integridad)

(c) Lic. Edgar Anello

Debe ser verificada durante la prueba, los controles sobre la integridad de los archivos de datos. Prueba Funcional (Exactitud) Esta prueba verifica el correcto cumplimiento de los requerimientos del usuario. Prueba Funcional (Pistas de Auditoria) La funcin de pistas de auditoria, debe ser probada para asegurarse que para cualquier transaccin, pueda realizrsele un seguimiento desde su inicio hasta su fin, para lograr una correcta reconstruccin de la misma cuando sea necesario. Prueba de Recuperacin (Continuidad) Si el procesamiento debe continuar aunque el sistema no est operativo, puede llegar a tener que provocarse fallas intencionales en el sistema, para poder realizarse la prueba de continuidad, la cual implica lo antedicho. Prueba de Nivel de servicio (stress). Es la prueba que asegura y cuantifica el nivel de servicio del sistema ante grandes volmenes de datos. Prueba de Compatibilidad (Seguridad) En esta prueba lo que se intenta es violar todos los aspectos de seguridad del sistema queriendo obtener como resultado que ninguno de estos falle. Prueba de Operacin (Facilidad de uso) El xito de esta etapa depender fuertemente de la habilidad de las personas que utilicen el sistema, adems es importante que esta prueba se haga en un ambiente lo ms parecido posible al de Produccin. Prueba de Desastre (Portabilidad) En esta prueba lo que se hace es provocar problemas en el ambiente real de la aplicacin ya que es la nica manera de ver realmente cmo se comporta el sistema ante situaciones inesperadas. Prueba Funcional y de Regresin (Acoplamiento) Esta fase de la prueba debe verificar la comunicacin con los sistemas relacionados. Donde, la prueba funcional verifica la interconexin de la nueva funcionalidad, y la prueba de regresin verifica la continuidad del funcionamiento del resto de los subsistemas asociados preexistentes. Prueba de Compatibilidad (Performance) Los criterios de performance son establecidos durante la fase de Requerimientos e intentan ser medidos en la fase de Verificacin. De no poder realizarse porque el ambiente necesario para llevarla a cabo sera muy costoso, se dejar para ser medido en Produccin. Prueba de Operaciones (Facilidad de operacin)
122378300.doc Pgina 36 de 37

Proceso de Desarrollo de Software

(c) Lic. Edgar Anello

Esta prueba generalmente es realizada por el equipo de Operaciones que tratar normalmente con el sistema y se intenta que el personal del grupo de proyecto no provea ningn tipo de instrucciones a los usuarios, para que pueda reproducirse el normal desarrollo de las transacciones, tal como sera en el ambiente de Produccin

122378300.doc

Pgina 37 de 37

S-ar putea să vă placă și