You can taste our power. R U Ready?

Therion - Lemuria

Neta escuchen esta rola, Vale la pena!!

martes, 16 de octubre de 2007

Análisis y Modelado de Software: Roles

Validación y Verificación

Definición de la Validación y la Verificación

La validación es el proceso de evaluación del software al final de su proceso de desarrollo para asegurarse que está libre de fallas y cumple con sus requisitos.
La verificación se refiere al proceso de determinar si el producto en una determinada fase del proceso de desarrollo cumple con los requisitos establecidos en la fase anterior.

Objetivos

El objetivo principal del proceso de V&V es el de analizar y testear el software en forma completa durante el desarrollo para determinar que el software ejecute sus funcionalidad correctamente.
Asegurarse que no ejecute funciones no definidas, y proveer información sobre su calidad y confiabilidad.
Evaluar cuan bien el software está cumpliendo con sus requisitos técnicos y sus objetivos de seguridad y confiabilidad relativos al sistema.
Las tareas de la V&V de software son analizar, revisar, demostrar y testear todas las salidas del desarrollo de software.

Identificación de Objetivos

Correctitud: En que grado el producto está libre de fallas.
Consistencia: En que grado el producto es consistente consigo mismo y con otros productos.
Necesidad: En que grado lo que hay en el producto es necesario.
Suficiencia: En que grado el producto es completo.
Rendimiento: En que grado el producto satisface los requisitos de rendimiento.

Limitaciones

Fundamentos teóricos.
No resulta práctico probar todos los datos.
No resulta práctico probar todos los caminos posibles en el software.
No es posible realizar una prueba de correctitud absoluta.

Relación con otros roles

Analista: El ingeniero de V&V tiene la responsabilidad de verificar que el analista especifica correctamente los requisitos de usuario y de software.
Diseñador: El ingeniero de V&V debe evaluar el nivel de concordancia entre los requisitos de usuario y el modelo diseñado del sistema, buscando errores de interpretación en los requisitos, y características faltantes o mal concebidas.
Programador: El ingeniero de V&V debe verificar la correctitud del proceso de traducción de diseño de software a su implementación en código.
Téster: Se requiere coordinación con este rol en la ejecución de los casos de tests, de acuerdo con las necesidades del cliente.
Ingeniero de manutención: El ingeniero de V&V requiere realizar chequeos periódicos para asegurarse que la integridad del sistema se mantiene, que los cambios que afectan su operación han sido documentados, y los operadores han recibido entrenamiento en procedimientos nuevos o que han cambiado.

Actividades Y Metas

Administración de V&V de software: El proceso requiere ser administrado y realizado en forma completa durante todo el proceso de desarrollo de software.
Planificación: Planificar y mantener el proceso de V&V.
Coordinación: Coordinar e interpretar rendimiento y calidad del esfuerzo del proceso de V&V.
Reportar: Reportar discrepancias a la brevedad posible al usuario o al grupo de desarrollo.
Monitoreo: Identificar tempranamente caminos de problemas, focalizando las tareas de V&V en ellos.
Evaluación de resultados: Proveer una evaluación técnica del rendimiento del software y sus atributos de calidad en cada revisión de software.
Evaluación del impacto del cambio: Determinar el impacto completo de los cambios de software propuestos.
Monitoreo del progreso técnico de V&V y calidad de resultados: Durante cada actividad de V&V, se debe revisar las tareas planificadas de V&V, incluyendo nuevas para mantenerse focalizado en las funciones críticas de rendimiento y calidad del software.
Examinar documentación temprana del proyecto: Muchas veces los llamados documentos conceptuales, para verificar que el sistema que se construirá no es sólo posible, pero que además utiliza las reglas, convenciones, algoritmos y prácticas apropiadas al dominio de aplicación del sistema.
V&V de los requisitos de usuario: Realizado para asegurarse que los requisitos de usuario especificados son correctos, completos, consistentes, fieles, legibles y es posible testearlos, y que además, satisfacerán los requisitos de software.
V&V de los requisitos de software: Realizado para asegurarse que los requisitos de software especificados son correctos, completos, consistentes, fieles, legibles, es posible mapearlos desde los requisitos de usuario y es posible testearlos, y que además, satisfacerán los requisitos de diseño.
V&V del diseño de software: Provee seguridad de que los requisitos de software no son mal interpretados o implementados en forma incompleta.
V&V del código: Asegurarse que se utilicen los estándares en uso, que usualmente consideran programación estructurada, reuso de código, adopción de estándares y estilos de programación, etc.
Administración de tests: Una actividad importante en la actividad de V&V es la de asegurarse que se consideren y planifiquen todos los testeos requeridos para el sistema.
V&V de la transferencia: Asegurarse que se consideren todos los detalles de la instalación y puesta en marcha del sistema, así como la migración y/o poblamiento de sus datos y posibles problemas de eficiencia que empiezan a aparecer.
V&V de la operación y manutención Cuando se realiza un cambio en el software, en necesario repetir todas las actividades de V&V pertinentes para asegurarse que nada queda fuera.

Manutención

Definición de Manutención

La manutención es la última fase del proceso de desarrollo de software. Sin embargo, la manutención toma una parte importante del presupuesto destinado al desarrollo. Por otro lado, a medida que se desarrollan más programas, la cantidad de esfuerzo y recursos dedicados a la manutención crecerá.

Objetivos

Modificar el software para adaptar nuevas funciones o modificar algunas funciones existentes.
Modernizar el software por medio de cambios al sistema.
Asegurarse de que el equipo de desarrollo esté informado de los errores encontrados en el sistema.

Actividades y Metas

Manutención correctiva: Diagnóstico y corrección de errores encontrados durante el uso del programa.
Manutención adaptiva: Adaptar el sistema a los cambios que pueden producirse en el hardware, sistema operativo, periféricos y herramientas de trabajo.
Manutención perfectiva: Satisfacer la demanda de recomendaciones por parte de los usuarios del sistema.

Relación con otros roles

Administrador de proyecto: Debe supervisar y controlar los cambios requeridos, utilizando los estándares del proyecto.
Analista: Debido a que probablemente será necesario adaptar o perfeccionar el sistema durante el tiempo, los analistas requerirán determinar nuevos requisitos.
Diseñador: Es necesario involucrar al diseñador para rediseñar las partes del sistema que requieren ser corregidas, agregadas o perfeccionadas.
Programador: La naturaleza de las actividades requeridas para cubrir la fase de manutención está estrechamente ligada con el rol de programador.
Téster: Debe testear las partes que han sido modificadas para chequear si están adecuadas para ser liberadas como parte del sistema.
Asegurador de calidad: Es responsable de asegurar que el resultado del producto es de la calidad definida por el estándar en uso.
Validación y verificación: Es responsable de revisar que el cliente quede completamente satisfecho con el producto entregado.

Herramientas de apoyo

El ingeniero de manutención debe utilizar para realizar su labor, una herramienta que le permita capturar requisitos de manutención, y además controlar la organización de la manutención dentro del proyecto.

Perfil

El perfil del ingeniero de manutención, como es el caso de otras formas de administración, requiere de la creación y preservación de una atmósfera adecuada que permita llevar a cabo las actividades de la mejor forma posible.

Plan de Trabajo

Planificación y coordinación de la organización de manutención durante el proyecto.
Definición de procedimientos de evaluación e información.
Desarrollo de herramientas para administrar los requisitos de manutención.
Definición de una secuencia estándar de eventos para cada requisito de manutención.
Definición de un sistema de registro e información de las actividades de manutención y organización de la manutención.


Documentación

Definición de la Documentación

La documentación se clasifica en dos:
Documentación de procesos. Los documentos pertenecientes a esta categoría registran la información del proceso de desarrollo y manutención del sistema. El objetivo de esta documentación es hacer “visible” el proceso de desarrollo,
manteniendo información sobre planificación, reportes, estándares, etc.
Documentación de producto. Estos documentos describen el desarrollo del
producto desde los puntos de vista técnico (documentación de sistema) y
usuario del sistema (documentación de usuario), siendo el usuario un usuario
final o un usuario administrador del sistema.

Objetivos

Permitir el almacenamiento y recuperación de la documentación de los procesos y productos más recientes durante el desarrollo, manteniendo así la información al día.
Mantener la consistencia en la apariencia y estructura de los documentos.
Asegurarse que los cambios que necesitan hacerse en el sistema serán reflejados en la documentación correspondiente.
Elaborar, almacenar y permitir la recuperación de las actas y registros
generados durante las reuniones de revisión.
Construir el manual de usuarios del sistema, MUS, que contempla los aspectos de uso del sistema.

Actividades y Metas

Diseñar y construir un repositorio de información compartido, donde se almacenará la documentación.
Tener accesible y organizada la última versión de todos los documentos generados durante el proceso de desarrollo, en un repositorio común.
Especificar el formato que será usado para elaborar la documentación.
Asegurarse que los documentos mantienen el estándar de documentación definido para el proyecto antes de incluirlos en el repositorio.
Toda la información almacenada en el repositorio tendrá el formato definido, y se ajustará al estándar de documentación en uso.
Durante las reuniones de revisiones, el documentador elaborará las actas de la reunión.
Estos documentos serán usados luego por el ingeniero de validación y verificación.
Es necesario mantener la historia del proyecto en el repositorio. Al término del proyecto, el repositorio contendrá toda la información histórica del proyecto.

Relación con otros roles

Administrador de proyecto: La información del repositorio ayuda al administrador a realizar los planes, agenda y presupuestos del proceso de desarrollo de software.
Administrador de configuración: El administrador de configuración y documentador comparten documentación a través del repositorio. Cuando se autoriza un cambio de un documento, debe ser reflejado en el sistema de
Administración de documentos. El propósito de esto es evitar inconsistencias y permitir al equipo de desarrollo el acceso a la versión más reciente de cada documento.
Validación y verificación: El documentador mantiene una relación con el ingeniero de V&V a través del registro elaborado durante las reuniones de revisión.
Asegurador de calidad: A los aseguradores de calidad se les ha confiado que garanticen la calidad del producto a ser desarrollado.
Ingeniero de manutención: La documentación generada durante el desarrollo del producto es usado durante la fase de operación y manutención del sistema.

Herramientas de apoyo

Editor de texto, que permite elaborar documentos fácilmente y almacenarlos en
diferentes formatos, incluyendo HTML. Debe incluir una herramienta para el
chequeo ortográfico y de gramática.
Navegador Web y editor HTML, que permita editar y publicar documentos
HTML, proveyendo diversas funciones.

Perfil

El documentador debe ser una persona ordenada, con capacidades de mantener una
gran cantidad de información en forma ordenada y accesible. Todo el contenido de los
documentos debe ser organizado en forma clara. Esta claridad debe ser consecuencia
del formato en que se presenta la información. El documentador debe poseer
capacidades para no sólo apoyar su trabajo con tecnología, sino que además, deberá
diseñar y construir el repositorio para la documentación del proyecto. Esto incluye, al
menos, la definición del modelo de datos, definición de las interfaces, definición de los
perfiles de acceso de los usuarios, y la definición del protocolo social de uso de los
documentos.

Plan de Trabajo

Definir su formato.
Diseño y elaboración del repositorio central usado para almacenar información:
Análisis de las características deseadas del repositorio.
Estudio de las herramientas que serán usadas para elaborar el repositorio.
Elaborar el diseño lógico de la base de datos.
Construir el repositorio.
Incluir un puntero entre la base de datos y el sitio Web del proyecto, en caso que sean diferentes.
Elaboración de las actas de reunión y documentos de acuerdo:
Almacenamiento de los documentos generados:

No hay comentarios: