Análisis de Requerimientos



Documentos relacionados
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Elementos requeridos para crearlos (ejemplo: el compilador)

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

COMITÉ TECNICO DE NORMALIZACION DE GESTION Y ASEGURAMIENTO DE LA CALIDAD

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

CMMI (Capability Maturity Model Integrated)

La Tecnología líder en Simulación

Ingeniería de Software. Pruebas

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Nombre del Documento: Manual de Gestión de la Calidad. Referencia a punto de la norma ISO 9001:2000: DIRECCIÓN GENERAL DE EVALUACIÓN

ENFOQUE ISO 9000:2000

configurándola para ser usada dentro del área de QA de una fábrica de software.

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Operación 8 Claves para la ISO

Metodología básica de gestión de proyectos. Octubre de 2003

Figure 7-1: Phase A: Architecture Vision

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

Gestión de la Configuración

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Unidad 1. Fundamentos en Gestión de Riesgos

INTRODUCCION AL DESARROLLO DE SISTEMAS DE INFORMACION

PS.Vending Almacén Pocket PC

Administración por Procesos contra Funciones

MANUAL DE CALIDAD ISO 9001:2008

CONSTRUCCIÓN DEL PROCESO PAGO DE FACTURAS. BizAgi Process Modeler

CAPITULO 3 DISEÑO. El diseño del software es el proceso que permite traducir los requisitos

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

GESTION OPERATIVA. Niveles de gestión

DISEÑO DE FUNCIONES (TRATAMIENTOS)

Normas chilenas de la serie ISO 9000

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Administración de proyectos. Organizar, planificar y programar los proyectos de software

E-learning: E-learning:

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

Manual del Usuario. Sistema de Help Desk

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Sistemas de Gestión de Calidad. Control documental

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Figure 9-1: Phase C: Information Systems Architectures

MANUAL NIVEL DE REVISIÓN 2 MANUAL DE PROCESOS

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

GESTIÓN DE PROYECTOS DE SOFTWARE

LISTA DE CHEQUEO NORMA NTC ISO 9001:2000 No. REQUISITOS EXISTE ESTADO OBSERVACIONES D: Documentado I: Implementado M: Mejorar SI NO D I M

Anexo I. Politicas Generales de Seguridad del proyecto CAT

PROCEDIMIENTO DE COMPRA DE MATERIAL Y SERVICIOS

Fundamentos del diseño 3ª edición (2002)

Project Ing. Christian Ovalle

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA

Operación Microsoft Access 97

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

GESTIÓN DE LA DOCUMENTACIÓN

Soporte Técnico de Software HP

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Capítulo 9. Archivos de sintaxis

Planificación, Gestión y Desarrollo de Proyectos

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler

Traducción del. Our ref:

Acciones Correctivas y Preventivas. Universidad Autónoma del Estado de México

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

LISTA DE CONTROL INTERNO INVENTARIO

Capítulo VI. Diagramas de Entidad Relación

Hoja Informativa ISO 9001 Comprendiendo los cambios

Términos definiciones

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

Capítulo 2. Metodologías de selección de personal

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

TALLER: CALIFICACIÓN DE EQUIPOS Y SISTEMAS

Tecnología de la Información y la Comunicación. Base de datos. Consultas

Técnica - Diagrama de Flujo de Datos (DFD)

Guía de pasos para la implementación de Sincronet.

Análisis del Sistema de Información

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

1.1 EL ESTUDIO TÉCNICO

ÁLAMO SOFTWARE PARA GESTIÓN INMOBILIARIA

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

PROCEDIMIENTO PLANEACION DE PROYECTOS PROCESO GESTION DE PROGRAMAS Y PROYECTOS

Patrones de software y refactorización de código

Mesa de Ayuda Interna

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

MANEJO DE QUEJAS Y RECLAMOS

Unidad I: Introducción a la gestión de proyectos

CARACTERÍSTICAS HERRAMIENTA E-BUSINESS E-SYNERGY (EXACTSOFTWARE)

SOLUCION DE MODELOS DE PROGRAMACION LINEAL EN UNA HOJA DE CALCULO. PROBLEMAS DE TRANSPORTE Y ASIGNACION.

DESCRIPCIÓN DEL PROCESO DE RIESGO OPERACIONAL

Bolsa POLÍTICA DE EJECUCIÓN DE ÓRDENES BANESTO BOLSA

NIC 37 PROVISIONES Y PASIVOS CONTINGENTES

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

LOGISTICA D E COMPRAS

TEMA 7: DIAGRAMAS EN UML

Test PMP - C12 _ Cuál de los siguientes es una ventaja de la centralización de las compras?

Multipedidos es un sistema de ventas on-line que permite gestionar pedidos por internet en tiempo real de manera económica, simple y eficaz.

Transcripción:

Análisis de Requerimientos Ing. Luis Zuloaga Rotta Situación de la Industria de Software Mas del 30% de todos los proyectos de software son cancelados antes de su finalización. Mas del 70% de los proyectos restantes fallan al entregar y evaluar las características esperadas. Un proyecto promedio ejecuta 189% sobre el presupuesto aprobado y extiende sus actividades sobre el 222%.» Fuente : The Standish Group - 1996

Porqué los Proyectos de Software son exitosos? Involucra a Usuarios 15.9% Soporte Administración 13.9% Clara definición de Requerimientos 13.0% Apropiado Planeamiento 9.6% Expectativas Realistas 8.2% Hitos no Extensos 7.7% Staff Competente de profesionales 7.2% Propietario 5.3%» Fuente: QualitySystems & Software - 1997 Porqué los Proyectos de Software fallan? Requerimientos Incompletos 13.1% Falta de Requerimientos 12.4% Falta de Recursos 10.6% Expectativas no Realistas 9.9% Cambio Requerimientos/Especificaciones 8.7% Falta de Planeamiento 8.1% No se especifico el tiempo adecuado 7.5%» Fuente : QualitySystems & Software - 1997

Qué es un Requerimiento? Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede ser definido como : Una capacidad del software necesaria por el usuario para resolver un problema o alcanzar un objetivo. Una capacidad del software que debe ser reunida o poseída por un sistema o componente del sistema para satisfacer un contrato, especificación, estándar, u otra documentación formal. Qué son Requerimientos? Los requerimientos de usuario representan el conjunto completo de resultados a ser obtenidos utilizando el sistema. Los requerimientos de sistemas deben mostrar todo lo que el sistema debe hacer mas todas las restricciones sobre la funcionalidad. Los requerimientos forman un modelo completo, representando el sistema total a algún nivel de abstracción.

Rol de Requerimientos Si un producto no es lo que el cliente o los usuarios quieren, entonces la calidad de la construcción es irrelevante. El rol clave de los requerimientos es mostrar a los desarrolladores y usuarios que se necesita de un sistema. Proveer los requerimientos forma parte de un lenguaje que todos comprenden, ya que todos están involucrados, incluyendo los clientes. El primer y básico rol de los requerimientos es por lo tanto la comunicación. Cómo identificamos los Requerimientos? Los Requerimientos toman vida desde que realizamos nuestro primer encuentro de interlocución con usuarios o clientes. Este puede desarrollarse utilizando cualquiera de una variedad de técnicas como entrevistas para intercambiar opiniones, brainstorming, prototipeo, cuestionarios, etc. Cuando los requerimientos se logran redactar a un significativo nivel de detalle, tendremos listo el documento denominado Especificación de Requerimientos.

Buena Especificación de Requerimientos Un resultado primario de esta administración es la Especificación de Requerimientos, la cual define y documenta en forma completa el comportamiento externo del sistema a ser construido. Caracterizándose por : Definidos sin ambiguedad Son completos Tienen consistencia Especifica el origen Evita detalles de diseño Están enumerados Beneficios de una Buena Administración de Requerimientos Mejor control de proyectos complejos. Mejora en la calidad del software y en la satisfacción del cliente. Reducción en los retrasos y en los costos del proyecto. Mejora en la comunicación del equipo. Facilita la conformidad con estándares y regulaciones.

Los Problemas de la Administración de Requerimientos No son siempre obvios y tienen muchas fuentes. No son siempre fáciles de expresar en palabras. Hay muchos tipos diferentes a distintos niveles de detalle. El número puede llegar a ser inmanejable. Están relacionados a otros en una variedad de formas. Hay muchos interesados y partes responsables. Cambian. Pueden ser sensibles al tiempo. El Alto Costo de Errores en los Requerimientos Hay fuertes evidencias que una efectiva administración de requerimientos conducen los ahorros del proyecto integral. Las tres razones primarias para esto son : Costos de reparar errores en los requerimientos superan en mas de 10 veces a otros errores. Errores de requerimientos comprenden encima del 40% de todos los errores de un proyecto de software. Pequeños reducciones en el número de errores de requerimientos rinden grandes dividendos al evitar costos de re-trabajo y días de retraso.

Procesos de Ingeniería Software Requerimientos de usuarios Nuevo o cambiado Procesos de Ingeniería de Software Sistema Nuevo o cambiado Un Proceso es el conjunto total de actividades de ingeniería necesarias para transformar dentro de software los requerimientos de usuarios Managing the Process, Humphrey, 1989 Requerimientos del Dominio Se derivan del dominio del sistema más que de las necesidades específicas de los usuarios. Pueden ser requerimientos funcionales nuevos, restringir los existentes o establecer cómo se deben ejecutar cálculos particulares. Los requerimientos del dominio son importantes debido a que a menudo reflejan los fundamentos del dominio de aplicación. Si estos requerimientos no se satisfacen, es imposible hacer que el sistema trabaje de forma satisfactoria.

Ej. Definición de Requerimientos de Usuario 1.El software debe proveer un medio para representar y acceder a archivos externos creados por otras herramientas. Ej. Especificación de Requerimientos del sistema 1.1 Al usuario se le proveerá con los recursos para definir el tipo de archivos externos. 1.2 Cada tipo de archivo externo tendrá una herramienta asociada que será aplicada al archivo. 1.3 Cada tipo de archivo externo se representará como un icono especifico sobre la pantalla del usuario. 1.4 Se proveerán recursos para que el usuario defina el icono que representa un tipo de archivo externo. 1.5 Cuando un usuario selecciona un icono que representa un archivo externo, el efecto de esa selección es aplicar la herramienta asociada con este tipo de archivo al archivo representado por el icono seleccionado.

Requerimientos Funcionales Describen la funcionalidad o los servicios que se espera proveerá el sistema. Estos dependen del tipo de software y del sistema que se desarrolle y de los posibles usuarios del software. Cuando se expresan como requerimientos del usuario, habitualmente se describen de forma general mientras que los requerimientos funcionales del sistema describen con detalle la función de éste, sus entradas y salidas, excepciones, etc. Ej. Sistema de Biblioteca 1. El usuario deberá tener la posibilidad de buscar referencias bibliográficas en el conjunto inicial de la base de datos o seleccionar un sub conjunto de ella. 2. El sistema deberá proveer visores adecuados para que el usuario lea documentos en el almacén de documentos. 3. A cada pedido se le deberá asignar un identificador único que el usuario podrá copiar al área de almacenamiento permanente de la cuenta.

Análisis de la especificación de Requerimientos El sistema de biblioteca puede almacenar documentos en diferentes formatos y la intención de este requerimiento es que los visores para todos estos formatos estén disponibles. Sin embargo, el requerimiento es ambiguo puesto que no clarifica que los visores para cada formato deban ser provistos. Un desarrollador bajo la presión del tiempo sencillamente podría proporcionar un visor de texto y afirmar que se ha cumplido el requerimiento. Requerimientos No Funcionales Son aquellos requerimientos que no se refieren directamente a las funciones específicas que entrega el sistema, sino a las propiedades emergentes de éste como la fiabilidad, la respuesta en el tiempo y la capacidad de almacenamiento. De forma alternativa, definen las restricciones del sistema, como la capacidad de los dispositivos de entrada/salida y la representación de datos que se utiliza en las interfaces del sistema. Sin embargo, estos requerimientos no siempre se refieren al sistema de software a desarrollar.

MÉTRICAS PARA ESPECIFICAR REQUERIMIENTOS NO FUNCIONALES PROPIEDAD Rapidez Tamaño Facilidad de uso Fiabilidad Robustez Portabilidad Transacciones procesadas por segundo Tiempo de respuesta al usuario y a eventos Tiempo de actualización de la pantalla KB s Tamaño de RAM Tiempo de capacitación Número de ventanas de ayuda Tiempo promedio entre fallas Probabilidad de no disponibilidad Tasa de ocurrencia de las fallas Disponibilidad Tiempo de reinicio después de fallas MEDIDA Porcentaje de eventos que provocan las fallas Probabilidad de corrupción de los datos después de las fallas Porcentaje de declaraciones dependientes del objetivo Número de sistemas objetivo

Identificación de Requerimientos y Reglas del Negocio Para identificar los requerimientos correctos del negocio primero debemos de comprender como funciona, es decir cuales son las reglas del negocio. Mientras más complejo es el sistema una mayor cantidad de vistas del mismo son necesarias para comprender su funcionamiento. Las distintas vistas del negocio pueden conseguirse a través de un mapeo de la situación actual (AS-IS) utilizando a un alto nivel: El Diagrama de descomposición funcional o mapeo de procesos. Las cadenas de responsabilidad para la atención de los requerimientos Los Diagramas de Actividad Los Diagramas de Colaboración Los Diagramas de Interacción de Roles Casos de Uso del Negocio Descomposición Funcional IDEF0

Cadena de Responsabilidades Es la cadena funcional que se establece para la atención de un requerimiento. Una cadena involucra las interacciones producto de los requerimientos de un actor externo al negocio (cliente o proveedor) con las responsabilidades de un trabajador de negocio. Actor Negocio Alguien o alguna cosa fuera del negocio que interactúa con el. Trabajador Negocio Role o conjunto de roles dentro del negocio. Interactúa con otros trabajadores de negocio y manipula las entidades. CADENA DE RESPONSABILIDADES Barra de bifurcación Unidad de Negocio Trabajador de Negocio Punto de Decisión Actor de Negocio Condición final Barra de sincronización Condición final La cadena eslabona a las unidades organizacionales de los trabajadores de negocio, que intervienen como consecuencia de las responsabilidades de cada uno y a través de la interacción entre ellos (cumpliendo un rol) y de estos con el actor de negocio externo (cliente o proveedor).

Diagrama de Interacción de Roles Un diagrama que muestra las actividades de cada actor interno o externo como consecuencia de su interacción para la atención de un requerimiento. Los roles de usuario son definidos en los rectángulos de la parte superior de cada línea de rol vertical. Modela la interacción entre diferentes actores, incluyendo al cliente, dentro de un proceso de negocios. Este ilustra el flujo de trabajo (líneas verticales gruesas) hechas por diferentes roles (líneas verticales delgadas) vía los eventos que causan la interacción (flechas horizontales).

Diagrama de Interacción de Roles Los puntos de inicio y termino son círculos, y las actividades son las líneas gruesas asignadas a cada rol de usuario. Las flechas definen las condiciones para la transición entre estas entidades. Actor Negocio Trabajador Negocio Trabajador Negocio Evento de inicio mensaje actividades reproceso mensaje decisión DIAGRAMA DE INTERACCIÓN DE ROLES

DIAGRAMA DE COLABORACIÓN Es un diagrama que permite representar la forma en la que colaboran los trabajadores de negocio para satisfacer un requerimiento de un actor de negocio, así como representar las entidades relacionadas. Documentan como interactúan los trabajadores de negocio y las entidades del negocio para ejecutar una función de negocio, mostrando los mensajes intercambiados entre ellos. Una entidad es alguna cosa manejada o utilizada por los trabajadores de negocio.

Diagrama de Colaboración FICHAS ÓPTICAS Entrega fichas ópticas Responsable Lectura Ordena relectura de errores Entrega resultados de lectura RESULTADOS LECTURA Entrega claves de respuesta CLAVES RESPUESTA Entrega de Resultados Comisión Admisión Ordena recalificación Responsable Procesamiento Presidente CA RESULTADOS CALIFICACIÓN Diagrama de Actividades Es un diagrama que presenta una vista alternativa a las actividades que realiza cada actor externo o interno para la atención de un requerimiento, y que puede utilizarse como complemento a la vista mostrada a través de una cadena de responsabilidades. En el diagrama se muestran un nodo de inicio, actividades, decisiones, barras de bifurcación y/o de sincronización, y un nodo final.

Generar Archivo de Ingresantes Responsable Lectura Inicio Comisión Admisión Responsable Procesamiento Lee las Hojas de Identificación Verifican Resultados de la Lectura No Son correctos? Si Lee hojas de respuesta Genera archivo de lectura Registra Claves y vacantes Procesa resultados Evaluan resultados Cubren Vacantes? Si No Genera Archivo de Ingresantes Diagrama de Actividades Fin Casos de Uso de Negocio Un caso de uso es la cadena de interacciones entre un actor de negocio (cliente, proveedor o trabajador) y el sistema (la empresa, una unidad organizacional o un proceso del negocio) con la finalidad de satisfacer un requerimiento o alcanzar un objetivo. Una secuencia de acciones que produce un resultado de valor para un particular actor de negocio.

Negocio vs. Sistema Actor Negocio Caso Uso de Negocio Trabajador Negocio Actor Caso Uso del Sistema Cada trabajador de negocio identificado en el modelo del negocio es un potencial actor del sistema. Cada actor del negocio también es un potencial actor del sistema, si este actor de negocio interactúa directamente con el sistema bajo desarrollo. Cada caso de uso de negocio es un candidato a caso de uso del sistema. Ejemplo de un Diagrama de Casos de Uso de Negocio CLIENTE Proceso de Cotización VENTAS <<include>> Proceso de Pedido FABRICACIÓN FACTURACIÓN DESPACHO INSTALACIÓN