Está en la página 1de 48

REQUISITOS

TÓPICOS DE DESARROLLO DE SOFTWARE


ORIENTADO A OBJETOS
Agenda
• Aspectos generales.
• Requisitos.
• Desarrollar Visión.
• Desarrollar Plan de gestión de requisitos.
• Encontrar actores y casos de uso.
• Detallar casos de uso.
• Detallar requisitos de software.
• Priorizar casos de uso.
• Capturar vocabulario común.
Requisito del sistema

Una condición o capacidad que debe


cumplir un sistema, ya sea derivada
directamente de las necesidades del usuario
o estipulada en un contrato, especificación,
estándar u otro documento formal.

Rational Unified Process


Glossary: Requirement
Los requisitos no son obvios
Los requisitos no son obvios
Los seis sabios ciegos y el elefante
Los requisitos no son obvios
Evitar la ambigüedad
La parte más difícil en la
construcción de sistemas software
es decidir precisamente qué
construir. Ninguna otra parte del
trabajo conceptual es tan ardua
como establecer los requerimientos
técnicos detallados, incluyendo
todas las interfaces con humanos,
máquinas y otros sistemas software.
Ninguna otra parte del trabajo puede
perjudicar tanto el resultado final si
se realiza de forma errónea. Ninguna
otra parte es tan difícil de rectificar
posteriormente.

Frederick P. Brooks, Jr., The Mythical Man-


Month, Addison-Wesley, 1995
Aspectos generales

• Los requisitos dirigen todas las actividades del


desarrollo
Aspectos generales

• Los requisitos deben validarse temprano.


Aspectos generales

• Los requisitos no son fáciles de obtener


– Problema abstracto y complejo
– Punto de vista del negocio vs. informático
– No todas las personas se comunican
adecuadamente
– Cambio constante
– Diferentes intereses, a veces en conflicto
Tipos de Requisitos

• Requisitos Funcionales (RF)


• Definición de los servicios que el sistema
debe proporcionar, cómo debe reaccionar
ante una entrada en particular y como
debe comportarse ante situaciones
particulares.
Tipos de Requisitos

• Requisitos No Funcionales (RNF)


• Restricciones que afectan a los servicios o
funciones del sistema, tales como
restricciones de tiempo, sobre el proceso
de desarrollo, estándares, etc.
Tipos de Requisitos
Tipos de Requisitos
Tipos de Requisitos
Tipos de Requisitos
Aspectos generales

• Más sobre los requisitos


– Requieren ser gestionados por equipos
multifuncionales
– No siempre se pueden expresar fácil y
claramente con palabras
– Tienen atributos, por ejemplo: prioridad,
dificultad, riesgo
– Están relacionados entre sí
– Cambian
Gestión de Requisitos

Es un enfoque sistemático para:


• Recolectar, organizar y documentar requisitos, y
• Establecer y mantener un acuerdo entre el cliente
y el equipo de proyecto sobre los requisitos
cambiantes del sistema.

Rational Unified Process


Concept: Requirements Management
Requisitos

• Gestión efectiva de requisitos es:


– Analizar el problema y comprender las
necesidades de los interesados, para que los
requisitos reflejen fielmente las necesidades del
cliente.
– Describir y organizar los requisitos para que sean
claros y de alta calidad.
– Gestionar el alcance del sistema tomando
buenas decisiones acerca de la funcionalidad
más importante.
Gestión de Requisitos
• Gestión efectiva de requisitos es:
– Dar a los requisitos la estructura y el nivel de
detalle apropiados.
– Gestionar el cambio en los requisitos.
– Asegurar que
• Resolvemos el problema correcto.
• Construimos el sistema correcto.
– Siguiendo un enfoque sistemático para
• Recolectar, Organizar, Documentar, Gestionar
requisitos cambiantes de aplicación de software.
Requisitos

• Flujo de
Trabajo
Requisitos

• Actividades principales
– Desarrollar Visión.
– Desarrollar Plan de gestión de requisitos.
– Encontrar actores y casos de uso.
– Priorizar casos de uso.
– Detallar casos de uso.
– Detallar requisitos de software.
– Capturar vocabulario común
Requisitos

• Artefactos principales:
– Visión.
– Modelo de casos de uso.
• Diagrama de casos de uso.
• Definición de actores.
• Descripción de casos de uso.
– Especificaciones suplementarias.
– Glosario.
– Plan de gestión de requisitos.
Requisitos

• Actividades principales
– Desarrollar Visión.
– Desarrollar Plan de gestión de requisitos.
– Encontrar actores y casos de uso.
– Priorizar casos de uso.
– Detallar casos de uso.
– Detallar requisitos de software.
– Capturar vocabulario común
Desarrollar visión

• Características
– Panorama general de la solución.
• Perspectiva de los grupos de interés.
• Captura la esencia de la solución que se proyecta.
• Necesidades y características principales, de alto nivel.
• Acuerdo básico para requisitos técnicos detallados.
– Comunica el QUÉ y POR QUÉ fundamentales
del proyecto.
Desarrollar visión

• Características
– Estrechamente vinculada con caso de
negocio.
– Sirve como patrón para validar decisiones
posteriores.
– Para ser útil, debe ser aceptada y compartida
por todos los grupos de interés.
Desarrollar visión

• Objetivos
– Lograr acuerdo acerca de los problemas que
requieren resolverse.
– Identificar los grupos de interés del proyecto y
sus necesidades.
– Establecer las fronteras de la solución.
– Describir las características fundamentales de la
solución.
– Identificar restricciones a las que debe someterse
la solución.
Desarrollar visión

• Acerca de los problemas


– Un problema es la diferencia entre lo
percibido y lo deseado.
– Diferenciar causas raíz de efectos, síntomas
o manifestaciones externas de un problema.
Desarrollar visión

• Enunciado del problema – formato


El problema de … resumir el problema

afecta a … grupos de interés afectados por


el problema
cuyo impacto es … describir el impacto del
problema
una solución exitosa … enumerar los beneficios
principales de una solución
exitosa (en condicional)
Desarrollar visión
• Enunciado del problema – ejemplo
El problema de … Falta de información oportuna y de calidad para la
toma de decisiones en el MINSA y sus dependencias
sobre los daños de VIH y TBC
afecta a … el MINSA, sus dependencias y la salud pública
cuyo impacto es … no poder realizar acciones costo-efectivas en
beneficio de la población afectada por estos
daños
una solución exitosa … permitiría monitorear y gestionar de manera
articulada, eficiente y eficaz las actividades
alrededor de los daños de VIH y TBC, y
permitiría en el futuro incorporar actividades
alrededor de otros daños, facilitando la
información y comunicación necesarias para
una oportuna toma de decisiones,
manteniendo siempre los principios de
confidencialidad
Desarrollar visión

• Grupo de interés (stakeholder)


– Un individuo que es (o potencialmente
será) afectado materialmente por el
resultado del proyecto

Rational Unified Process


Role: Stakeholder
Desarrollar visión

• Mapa de grupos de interés

Tomado de: Mastering the Requirements Process, Suzanne y James Robertson


Desarrollar visión
• Contexto de la solución – ejemplo

Tomado de: Mastering the Requirements Process, Suzanne y James Robertson


Desarrollar visión

• Necesidad (need)
– Reflejo de algún problema (u oportunidad) de
negocio, cuya atención justifica el desarrollo
y/o implantación de un nuevo software.
– Planteada por uno o más grupos de interés.
– Es conveniente asociarle atributos como:
• Prioridad.
• Dificultad o esfuerzo relativo.
• Riesgo.
Desarrollar visión

• Característica (feature)
– Servicio observable externamente que ofrece el
sistema, para cubrir directamente una necesidad
de los grupos de interés.
– Describe la funcionalidad de manera práctica y
conveniente, sin enredarse con los detalles.
– Sirve como base para establecer en detalle los
requisitos de software.
– En un proyecto no deberían ser más de 99, de
preferencia menos de 50.
Desarrollar visión

• Requisito de software
– Especificación observable externamente de
un comportamiento del sistema; por ejemplo,
entradas al sistema, salidas del sistema,
funciones del sistema, atributos del sistema o
atributos del entorno del sistema

Rational Unified Process


Glossary: Software Requirement
Desarrollar la Visión
• Necesidades, características y requisitos

Problema Dominio del


Problema
Necesi
dades
Desarrollar la Visión
• Necesidades, características y requisitos

Problema Dominio del


Problema
Necesi
dades

Dominio de
Características la Solución

El
Producto a
Requerimientos ser
de Software Construido

Scripts de
Pruebas Diseño Docs
usuario
Desarrollar visión
• Restricción (constraint)
– Un límite al grado de libertad que se tiene para
brindar una solución.
– Ejemplos de categorías:
• Económicas.
• Políticas.
• Tecnológicas (plataforma, sistemas existentes).
• Ambientales.
• Normativas.
• Relativas a recursos y tiempo.
Desarrollar visión
• Visión
– Contenido
• Introducción (propósito, contenido y organización del
documento)
• Enunciado del problema
• Grupos de interés
– Nombre
– Breve descripción
– Intereses
– Representante (persona física)
– ¿Es usuario?
Desarrollar visión

• Visión
– Contenido
• Entorno de usuario
– Características relevantes de los usuarios
– Tamaño y tasa de crecimiento de la población
– Conocimiento del negocio y de informática
– Edad, género y nivel de instrucción
– Idioma, actitudes y otros aspectos culturales
– Discapacidades
– Otros
Desarrollar visión

• Visión
– Contenido
• Restricciones relevantes
– Dispositivos especiales
– Acceso a Internet
– Espacio físico
– Condiciones ambientales (ruido, temperatura,
humedad, oscuridad, otros)
– Otros
Desarrollar visión

• Visión
– Contenido
• Necesidades y características
– Necesidad
– Prioridad
– Características asociadas
– Grupo de interés
• Visión general de la solución
– Contexto
– Esquema general de la solución
• Supuestos, hechos relevantes y restricciones
Técnicas para obtener requisitos
Actividad

Busque en internet que técnicas existe


para la obtención de requisitos y
describa cada uno de ellos.

También podría gustarte