P. 1
Requerimiento

Requerimiento

|Views: 1.332|Likes:
Publicado porGelmer_Restrep_4268
material apoyo resolver dudas temas
material apoyo resolver dudas temas

More info:

Published by: Gelmer_Restrep_4268 on Jun 01, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/09/2013

pdf

text

original

Agenda

Requerimientos dentro del Desarrollo de Software: Ingeniería y Administración

Definir el concepto de requerimiento. Explicación de los diferentes niveles de detalle de requerimientos que se necesiten. Introducción a la Noción de Ingeniería de Requerimientos. Explicar porque los Requerimientos se involucran durante el tiempo de vida de un sistema. Las habilidades de la Ingeniería de requerimientos.

En La Actualidad
La dependencia de la economía global en el software ha generado una carrera en el mejoramiento de las técnicas de desarrollo de software. Entonces…¿Por qué se sigue presentando fracaso en los proyectos de hoy en día? Los proyectos están plagados de:
Retrasos Problemas de Calidad Sobrecostos CAMBIO!!!!

¿Cuál Es El Problema?
Los requerimientos son la causa más común por la que fallan los proyectos de software [Reporte 94-00 de Standish Group’s CHAOS] El cambio, la incomprensión e inexactitud en los requerimientos son las causas más comunes por las que falla un proyecto. La incapacidad de manejar el cambio Afán por comenzar el “trabajo en serio!!”

¿Cuál Es La Solución?
¿Cómo registrar lo que un nuevo producto de software requiere? No es fácil manejar su ciclo de vida ya que es intangible… “Los requerimientos son una especificaión de lo que debe ser implementado. Estos son descripciones de cómo el sistema se debe comportar, de las propiedades y atributos del mismo. Deben ser una restricción del 1 proceso de desarrollo del sistema”

¿Qué Es Un Requerimiento?
Según el Glosario Estándar de la Terminología de la Ingeniería de Software de la IEEE(1997), un requerimiento es:
(1) Una condición o capacidad que un usuario necesita para resolver un problema o alcanzar un objetivo.

1

(2) Una capacidad o condición que debe poseer el sistema o los componentes del sistema para satisfacer un contrato, estándar, especificación, u otro documento formalmente impuesto.
Sommerville and Sawyer 1997

(3) Una representación documentada de una condición o capacidad documentada como las descritas en (1) y (2).

¿Qué Es Un Requerimiento?
Otras Definiciones… “Un requerimiento puede ser algo que el producto debe hacer o una cualidad que el producto debe tener. Un requerimiento existe ya sea porque el tipo de producto demanda ciertas funciones o cualidades o porque el cliente quiere que ese requerimiento sea parte del producto final”. “Requerimiento es una especificación de que debería ser implementado. Son descripciones de cómo el sistema debería comportarse, o de las propiedades o atributos de un sistema. También pueden ser una limitación en el proceso de desarrollo del sistema.”

Niveles De Descripción De Los Requerimientos
Requerimientos de Negocio: Representan a gran nivel los objetivos de la organización y/o las solicitudes del cliente con respecto al sistema o producto.
Requerimientos de Usuarios: Describen las tareas de los usuarios que deben poder ser realizadas con el producto.

Requerimientos del Sistema: Definen la funcionalidad del software que los desarrolladores deben construir dentro del producto para permitir al usuario realizar sus tareas y satisfacer los Requerimientos del Negocio.

Tipos De Requerimientos de Sistema

Tipos De Requerimientos de Sistema
Restricciones: Reflejan características del dominio del sistema o del proceso mismo de desarrollo (Normalmente restricciones del dominio, funcionales como no funcionales). Ej:
Proceso de pruebas Interface Lugar donde se debe realizar la implementación

Software Requerimientos Funcionales: Define que hace el sistema (describen entradas y salidas), es decir, las funciones del sistema. Requerimientos No Funcionales: Definen los atributos que le indican al sistema como realizar su trabajo (eficiencia, hardware, software, interfaces, usabilidad, etc.). Es como, cuando y cuanto del que. Hardware Restricciones: tipo de máquina, Desempeño, tiempo, carga, etc.

Otros Tipos de Requerimientos
Necesidades del Cliente y Expectativas:
Del Negocio (Stakeholder’s) Del Usuario (user’s)

Otros Tipos de Requerimientos (cont.)
Una vez Verificados y Validados:
Verificados (en diseño)
Validados (en implementación) Cualificados (constraints) De Diseño etcétera

Una vez analizados:
Del Sistema Funcionales

No funcionales De Diseño

IMPORTANTE: Todos los requerimientos deben estar asociados a un subsistema de la aplicación

Características De Un Buen Requerimientos
Un Buen Requerimiento

Características De Una Buena Especificación De Requerimientos

debe ser:
Completo Correcto Feasible Necesario Priorizable No Ambiguo Verificable Necesario Conciso Consistente (No en conflicto con otros)

Un Buen Especificación de Requerimientos de ser:
Completa Consistente Modificable.

No Repetido
Puede Seguirse (Traceability)

Trazable - Fácil de Seguir

Escrito en forma de “Debe” Identificador único

Localizado (en un componente o elemento del sistema)
Independiente del Diseño

¿Cómo Llevar A Cabo Una Buena Documentación De Los Requerimientos?
Problemas más Frecuentes: Difíciles de Recolectar

Ingeniería De Requerimientos
Ciencia y disciplina que se preocupa por encontrar, establecer y documentar los requerimientos de Software. En el SWEBOK (Software Engineering Body of Knowledge) la Ingeniería de Requerimientos se define en un modelo de cuatro fases. Además, hay una fase que se realiza transversal a través de todo el proceso que es la Administración de Los Requerimientos.

Imposibilidad de Rastrear el cambio Difíciles de Escribir Demasiada forma, poco contenido Falta de organización Hay ramas de la Ingeniería de Software cuyo objetivo es el llevar un proceso que permita encontrar y manejar esas necesidades que definen un sistema.

Ingeniería De Requerimientos
Objetivo: Definir el propósito de un sistema propuesto y esbozar su comportamiento externo. Aplicabilidad: Etapa inicial Durante el ciclo de vida (refinamiento) Mantenimiento Reingeniería – Ingeniería en Reversa

Actividades De La Ingeniería De Requerimientos
Identificación de Stakeholders
Recolección y Descubrimiento de los requerimientos: Explorar, adquirir y concretar. Identificación y clarificación de los requerimientos en sentencias simples

Analizar y Modelar requerimientos: Representar el mundo real como descripción abstracta de los requerimientos.

Actividades De La Ingeniería De Requerimientos
Especificación de los requerimientos: Descripción precisa para todos los Stakeholders y formalización.
Priorización Derivación de requerimientos (requerimientos de diseño o requerimientos para el usuario final) Partición (hardware, software, proceso, etc.) Localización por subsistemas
Recolección

Proceso De La Ingeniería De Requerimientos

Análisis y Negociaciones

Documentación

Validación

Pruebas y Verificación Administración de los requerimientos: Planeamiento, seguimiento, evaluación del impacto de cambios. Validación de los requerimientos: Corrección y viabilidad.

Necesidades de Usuario Dominio de la Información Información Existente Regulaciones Restricciones Estándares

Documento de Requerimientos

Requerimientos que se Pactaron

Documento del Sistema

Estructura De La Ingeniería De Requerimientos
Ingeniería de Requerimientos

Administración De Requerimientos
Es una ciencia derivada de la ingeniería de requerimientos que busca encontrar formas sistemáticas de descubrir, organizar y documentar los requerimientos.

Desarrollo

Administración

En este proceso se busca establecer y mantener el acuerdo entre los involucrados en el sistema.
Rastrear cambios Mantener acuerdos

Incluye la Planeación del proceso
Recolección Análisis Especificación Verificación

El Plan de Requerimientos
Propósito Resumen del Proyecto/Contrato Trasfondo:
Origen del proyecto Stakeholders

El Plan de Requerimientos (cont.)
Definiciones Mecanismos, métodos, técnicas, herramientas a usar Identificación de Best-practices Referencias

Evolución de los requerimientos
Mecanismo Roles y responsabilidades

Las Actividades - Técnicas
Recolección de Requerimientos: Entrevistas Casos de Uso y/o Escenarios Observación y Análisis Social Lluvia de Ideas Prototipos Análisis de Requerimientos: Sesiones JAD Priorización de Requerimientos Modelos Análisis de Riesgos y Costos

Las Actividades - Técnicas
Especificación de Requerimientos: Especificación Asistida Manejo de Plantillas Especificación Formal Meta Lenguajes Validación de Requerimientos: Validación de Modelos Pruebas de Aceptación Prototipos Inspección de la Especificación

Actividades Del Ciclo De Vida De Los Requerimientos
Idea Análisis del Problema Delineación de Restricciones Refinamiento de Restricciones Entendimiento de Problema Expansión de la Información

Problemas Más Frecuentes
La definición del alcance del sistema El entendimiento común de los requerimientos entre las diferentes comunidades participantes en el desarrollo del sistema Tratar con la naturaleza volátil de los requerimientos Arrastrar requerimientos Documentos de requerimientos: con pérdidas, información presentada con ambigüedades o mal interpretadas, representación pobre o inadecuada Oraciones inestables de los requerimientos Información obsoleta

Entendimiento relativamente completo de los requerimientos

Descripción del Producto

Verificación de la Consistencia Conciliación

Un SRS completo y consistente

Problemas Más Frecuentes
Consecuencias: Requerimientos pobres Cancelación del desarrollo del sistema Desarrollo de un sistema que será insatisfactorio o inaceptable, con altos costos de mantenimiento o con una gran frecuencia de cambios. Costos.

Habilidades De La Ingeniería De Requerimientos
Debe poseer las siguientes habilidades:
Comunicación (lectura – escritura) Conocimiento del Negocio Conocimiento Técnico (procesos, desarrollo, administración, etc.)

Habilidades De La Ingeniería De Requerimientos
Analizar el Problema:
Entender los problemas del negocio Identificar usuarios finales Proponer ideas macroscópicas

Habilidades De La Ingeniería De Requerimientos (cont.)
Definir el Sistema:
Tomar Las necesidades y traducirlas a lo que el sistema debe hacer Qué constituye un requerimiento Formato de documentación Formalidad del lenguaje Prioridades y estimaciones Riesgos técnicos Alcance

Entender las Necesidades del Usuario:
Determinar las fuentes Extraer la información (cómo acceder a la misma)
Entrevistas Lluvia de Ideas Prototipos Cuestionarios

Administrar el Alcance del Sistema.
Administrar el alcance del Proyecto
Tiempo Personal Dinero

Asignar Prioridad

Habilidades De La Ingeniería De Requerimientos (cont.)
Atributos de los Requerimientos
Prioridad Esfuerzo Riesgo

Conceptos Importantes De Los Requerimientos
Para aplicar estas habilidades hay que tener en cuenta los siguientes conceptos
Tipos de requerimientos Equipos Polifuncionales Trazabilidad
Atributos Multi -dimensionales Cambio histórico

Refinar la Definición del Sistema:
Descripciones más detalladas Verificar que el sistema cumpla con las necesidades de los usuarios.

Administrar el cambio de los requerimientos:
Línea Base Rastreo histórico Determinar dependencias Rastreables Mantenimiento de versiones

Tipos De Requerimientos
Tipo de Requerimiento: Una clase específica de Requerimientos.
TR Reglas del Negocio, la Visión

Equipos Interdisciplinarios

Diseñadores e Implementadores

Aseguramiento de la Calidad

TR1

TR2

Necesidades de usuario, requerimientos del Producto, Características

Analistas

Requerimientos

Técnicos

TR1.1

TR1.2

TR1.3

Casos de Uso, Procedimientos

Jefe del Producto

Director del Proyecto

Trazabilidad
Las Características de un Requerimiento están acompañadas de otras.
Req. A Requerimientos del Producto

Atributos Multidimensionales

TR

Atributos

No tan Detallados

Requerimientos Detallados Req. B

R1

R2

R3

Diseño

Pruebas

Documentación de usuarios

Procesos finales Atributos

Detallados hasta donde se necesite

Historial De Cambios Gravar las versiones
Capturar las razones del cambio Reducir el Riesgo ¿Por qué cambió? ¿Qué cambió? Cuando Bajo que autorización

Calidad De Los Requerimientos

Para mejorar la proyectos hay que:

calidad

de

los

Estandarizar Medir Hacer uso de herramientas

Requerimientos Definición/Especificación
Definición de Requerimientos Una declaración en un Lenguaje Natural incluye los diagramas de los servicios del sistema y sus límites operacionales. Escrito para clientes. Especificación de Requerimientos Un documento estructurado con descripción o detalle de los servicios del sistema. Escrito como un contrato entre el cliente y el contratista. Especificación de Software Descripción detallada de software, la cual, puede servir como una base para diseño o implementación. Escrito para desarrolladores.

Lectores De Requerimientos
Definición de Requerimientos Gerencia de Cliente Usuarios Finales del Sistema Ingenieros de Clientes Gerencia de Contratistas Arquitectos del Sistema Usuarios Finales del Sistema Ingenieros de Cliente Arquitectos del Sistema Desarrolladores de Software (Quizá) Ingenieros de Clientes Arquitectos del Sistema Desarrolladores de Software

Requerimientos Especificación de

Especificación de Software

Definiciones Y Especificaciones
Definición de Requerimientos 1. El Software proporcionará significado de representación y acceso a

Productos
Documento de especificación de los requerimientos del software. Internamente consistente Consistente con documentos prácticas negocio Correcto y completo (necesidades usuario) Claro Base para diseño y pruebas Puede ser documento legal Planeación y gestión Base para manual de usuario

archivos externos creados por otras herramientas.
Especificación de Requerimientos
1.1 El usuario debe proporcionar facilidades para definir el tipo de archivos externos. 1.2 Cada tipo de archivo externo puede tener una herramienta asociada. La cual, será aplicada para el archivo. 1.3 Cada tipo de archivo externo será representado como un icono específico mostrado al usuario. 1.4 Las facilidades proporcionadas para la representación del icono en un tipo de archivo externo será definido por el usuario. 1.5 Cuando un usuario selecciona una representación de icono de un archivo externo, el efecto de la selección es aplicar las herramientas asociadas con el tipo de archivo externo al archivo representado por la selección del icono.

Referencias (algunas!)
Institute for Electronics and Electrical Engineers. Glosario Estándar de la Terminología de La Ingeniería de Software. 1997.

Rational Software. Applying Requirements Management With Use Cases. Rational Software Corporation, 2000. Sommerville Ian, Sawyer Peter. Requirements Engineering: A Good Practice Guide. John Wiley. 2000. Young, Ralph, The Requirements Engineering Handbook, Artech House, Inc., 2004.
Thayer, Richard, Dorfam, Merlin. Software Requirements Engineering. IEEE Computer Science Press. 2000.

Wiegers, Karl. Software Requirements. Microsoft Press. Segunda edición. 2003.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->