Está en la página 1de 23

Levantamiento de requisites

de software
Actividad TI037 - Análisis y Diseño Integral de Sistemas y Requerimientos
MDEISW - Máster en Dirección Estratégica en Ingeniería de Software
Rosa Angela Parra Pachón
Objetivo
 Dar solución al caso práctico propuesto en la actividad TI037 - Análisis y
Diseño Integral de Sistemas y Requerimientos; con respecto al levantamiento
de requerimientos en cuanto a sus técnicas, limitantes y metodologías
aplicadas.
Introducción
El propósito principal de la construcción o adecuación de aplicaciones de software
es cubrir las necesidades de negocio y lograr cumplir las expectativas del cliente;
así como acatar las normas contractuales, legales o reglamentarias que existan;
es por esto que la etapa de levantamiento de requerimientos es crítica y
fundamental para definir el alcance y estrategia del proceso de desarrollo.
El lograr extraer los requerimientos de forma adecuada y llevarlos posteriormente
a requisitos, traducirlos en las condiciones que se deben cumplir para garantizar
que el sistema es correcto y adecuado para su uso.
Las necesidades y / o requerimientos del cliente evolucionan con el tiempo y cada
cambio involucra un costo; por esto los artefactos generados dentro de la etapa de
definición de requerimientos y requisitos debe ser custodiada en un esquema de
administración de la configuración.
Conceptos clave

➢ Una condición o necesidad de un ➢ Condición o capacidad que debe


usuario para resolver un problema ser satisfecha o que debe poseer
o alcanzar un objetivo. una solución o componente para
satisfacer una necesidad.
➢ Una solicitud que podrá resolver
una problemática que existe ➢ Declaración que traduce o expresa
actualmente en una organización. una necesidad y sus restricciones
y condiciones asociadas.
➢ Una necesidad expresada de alto
nivel que presenta una dificultad,
restricción u oportunidad del
negocio y que require ser resuelta
Transformar necesidades en
requisitos
➢ La definición de los requisitos comienza con las intenciones de las partes interesadas
(necesidades, metas u objetivos), que evolucionan en una declaración formal antes de
llegar como requisites válidos de las partes interesadas.
➢ Las intenciones del interolocutor inicial, no sirven como requerimientos de las partes
interesadas, ya que a menudo carecen de definición, análisis y consistencia y
factibilidad.
➢ Los requerimientos de las partes interesadas se transforman luego en requisitos de
Sistema, la práctica consistente ha demostrado que este proceso require iterativas y
recursivas en paralelo con otros procesos del ciclo de vida a través de la jerarquía de
diseño del Sistema.
➢ La aplicación recursiva de los procesos generará requisites de elementos de Sistema
de nivel inferior.
Importancia de la especificación
¿Cuáles son las principales dificultades
encontradas en la fase de levantamiento
de requisitos?
¿Cuáles son las principales dificultades encontradas en la fase
de levantamiento de requisitos?

Fallas de comunicación y baja claridad en la definición de necesidades


❖ Dado que el cliente es quien tiene el contexto y detalle de la necesidad; se hace
fundamental que se tenga una comunicación asertiva con el fin de poder entender y
orientar incluso al cliente para en conjunto lograr desglosar las necesidades.
❖ Normalmente los clientes se expresan en términos muy generales de lo que
necesitan del nuevo programa, sin saber expresar del qué debe hacer el software
(producto solución), donde sus peticiones con frecuencia suelen ser inalcanzables
porque no saben qué es factible y qué no lo es.
❖ Es necesario fortalecer vínculos de comunicación entre clientes, analistas y
desarrolladores; en las metodologías ágiles se habla del poder de los 3; donde en
conjunto, teniendo los 3 puntos de vista es más fácil llegar a consenso y lograr el
entendimiento de las necesidades más claramente; para así obtener un mejor
aprovechamiento, entendimiento, y rendimiento al momento que entre en ejecución
el sistema que se esté desarrollando.
❖ El ingeniero de requisitos, analista o rol asignado para el levantamiento de requisitos
debe conocer y manejar el lenguaje de negocio ya que el nivel de conocimientos
técnicos y la experiencia en el campo determinan la eficiencia de las actividades y el
mejor entendimiento de las necesidades.
¿Cuáles son las principales dificultades encontradas en la fase
de levantamiento de requisitos?

Falta de documentación o información para delimitar


el alcance:
❖ Los clientes no tienen una comprensión clara de los
requisitos del sistema, incluyendo el alcance del
mismo, las principales características funcionales y los
atributos no-funcionales.
❖ Las necesidades y la comprensión de los usuarios
cambia constantemente.
❖ Los ingenieros de software no tienen suficiente
acceso al conocimiento y a la experiencia del dominio.
❖ No existe documentación o está desactualizada la
documentación de la necesidad.
¿Cuáles son las principales dificultades encontradas en la fase
de levantamiento de requisitos?

❖ Dentro del proceso de levantamiento de requisitos se hace fundamental cumplir con las características básicas:

Correctitud - conciso Consistente y único No ambigüedad Verificable y medible

• Un requisito es concreto si • Los requisitos deben ser • Cada requisito debe tener • El requisito debe ser
y solo si refleja alguna coherentes con los una sola interpretación completo, no requiere
necesidad real de la requerimientos y con otros • Debe ser expresado de ampliaciones ni
organización o documentos de forma clara, sencilla y sin aclaraciones.
cumplimiento legal. especificación. dar espacio a suponer. • Debe ser factible
• Cada requisito debe ser • Los requisitos deben estar • Debe especificar su técnicamente
revisado y aceptado por libres de conflictos y comportamiento ante los • Debe ser trazable, esto es
los interesados. contradicciones con otros diferentes eventos. rastreable a lo largo del
• Cada requisito tiene requisitos. proyecto
definidas entradas, salidas • No deben existir dos • Debe ser verificable, esto
y relación con otros requisitos iguales es que tenga forma de ser
requisitos. probado
• El requisito debe ser • Debe ser medible con
necesario, esto es que respecto a las
defina una capacidad necesidades del negocio
esencial, característica,
restricción y /o un factor
de calidad.
¿Cuáles son las principales dificultades encontradas en la fase
de levantamiento de requisitos?

❖ Falta de claridad en la tipología de requisitos, es importante identificar los difetentes niveles de


los requisitos:
Beneficios de una buena definición
de requisitos
❖ Disminución de errores y reprocesos en la codificación del software
❖ Claridad en el alcance del proyecto desde sus inicios
❖ Soluciones enfocadas en lo que realmente necesita el negocio
❖ Clientes satisfechos
❖ Gestión de necesidades del proyecto en forma estructurada
❖ Sistemas de información que apoyan en desarrollo y crecimiento de la organización
❖ Documentación de los sistemas de información actualizada
❖ Disminución de costos y de retrasos del proyecto
❖ Mejor comunicación entre equipos
❖ Evitar rechazos de usuarios finales
¿Cuáles son las principales técnicas para
el levantamiento de requisitos? Explique
brevemente cada una de las técnicas
¿Cuáles son las principales técnicas para el levantamiento de requisitos?
Explique brevemente cada una de las técnicas

Revisión documental Observación Entrevistas

• Consiste en obtener la • Consiste en estudiar el entorno de


información sobre los trabajo de los usuarios, clientes e • Se lleva a cabo mediante conversaciones estructuradas donde es fundamental que la
requerimientos funcionales y interesados relevantes de proyecto relación con el cliente este basada en la confianza para dar a conocer la información
requerimientos no funcionales de (Stakeholders). de la manera mas detallada
software a partir de documentos • Es una técnica útil cuando se está • . Son útiles para obtener y documentar información detallada sobre los
que ya están elaborados. documentando la situación actual requerimientos y sus diferentes niveles de granularidad.
• Es útil cuando los expertos de de procesos de negocio. • Se recomienda:
negocio no están disponibles • Puede ser de dos tipos, pasiva o
para ser entrevistados o ya no • Estudiar el tipo de personas a las cuales se les realizará la entrevista.
activa. • Estudiar como será el entorno donde se llevara a cabo la entrevista para identificar
forman parte de la organización. • En observación pasiva, el
• Utiliza la documentación que sea que tan confortables estarán las personas y así obtener la información de la manera
observador no hace preguntas, más eficiente.
relevante al requerimiento que limitándose solo a tomar notas y a
se está levantando. • Estudiar como es la manera de hablar de las personas individualmente o en un
no interferir en el desempeño equipo de trabajo.
• Ejemplos de documentación: normal de las operaciones.
Planes de negocio, actas de • Verificar que las personas tengan la disponibilidad para dar a conocer las
• En observación activa, el necesidades que posterior a esto se puedan convertir en requerimientos.
constitución de proyecto, reglas observador puede conversar con el
de negocio, contratos, usuario. • Revisar como es la relación del cliente con la organización que realizará la
definiciones de alcance, identificación de los requerimientos, esto con el fin de facilitar el trabajo y la
memorandos, correos disposición de ambas partes.
electrónicos, documentos de • Entender que es importante obtener la mayor información para la definición de los
entrenamiento, entre otros. requerimientos, teniendo en cuenta que nada es obvio para las organizaciones de
desarrollo de software
¿Cuáles son las principales técnicas para el levantamiento de requisitos?
Explique brevemente cada una de las técnicas

Mesas de trabajo Lluvia de ideas Historias de usuario Encuestas o cuestionarios

• Es una técnica efectiva para obtener • Esta técnica es abierta y se utiliza para • Las historias de usuario, son una • Esta técnica puede ir dirigida a un público
información rápidamente de varias explorar necesidades iniciales con la aproximación simple al levantamiento de específico o general, lo que permite
personas. ayuda de la identificación de ideas de requerimientos de software, en la cual la obtener una información mayor, ya que
todas las personas que hacen parte del conversación pasa a ser más importante se tiene la posibilidad de involucrar más
• Es recomendable tener una agenda equipo de apoyo para la identificación de que la formalización de requerimientos personas para el desarrollo de los
predefinida y preseleccionar a los los requerimientos. Es utilizada para escritos. cuestionarios y que estos tengan
participantes, siguiendo buenas prácticas investigar nuevos servicios o necesidades diferentes puntos de vista.
para reuniones efectivas. que no son claramente identificadas. • Es recomendable que sean escritas por el
• Se puede utilizar un facilitador neutral y un mismo cliente o interesado (con apoyo del • Lo importante es tener en cuenta que se
transcriptor (que no sea el mismo facilitador si es necesario), con énfasis en debe tener un mayor cuidado en la
• facilitador). • Algunos Tips para tener en cuenta cuando las funcionalidades que el sistema deberá selección de los encuestados y de la
se realice una lluvia de ideas: realizar. forma en que se pregunta para obtener
respuestas concretas y confiables
• Se puede utilizar un material común sobre
el cual enfocar la atención y conversar, • Escoger un sitio tranquilo que permita que • Al redactar una historia de usuario deben
por ejemplo una presentación con un las personas involucradas se sientan tenerse en cuenta describir el Rol, la • La clave para el éxito es que tengan un
desglose del proceso que se está cómodas y dispuestas para dar a conocer funcionalidad y el resultado esperado de propósito y audiencia claramente definida,
estudiando o un flujograma. sus ideas. la aplicación en una frase corta. establecer fechas topes para llenar la
encuesta, con preguntas claras y concisas
• Se pueden combinar con otras técnicas • Tomar la iniciativa para iniciar una reunión • Las historias de usuario son una de las
como pueden ser las entrevistas y enfocada en la confianza. técnicas más difundidas para levantar • Deben enfocarse en los objetivos de
cuestionarios. requerimientos de software en negocio que se necesitan identificar.
metodologías ágiles. • Pueden apoyarse con entrevistas de
• Tomar nota de las ideas que las personas
expresan en los equipos de trabajo. seguimiento con usuarios individuales.

• Tener una preparación sobre el tema que • Pueden contener tanto preguntas
se va a desarrollar en la lluvia de ideas cerradas como preguntas abiertas.
JAD (Joint Aplicación Diseño) principios
básicos y sus principales etapas
JAD (Joint Aplicación Diseño) definición y objetivos

Definición Objetivos
JAD es una técnica de definición de requisitos y de ➢Acelerar el diseño de soluciones informáticas
diseño de la interfaz de usuario, basada en reuniones ➢Utilizar la participación del cliente y dinámica de
participativas entre clientes, directiva y desarrolladores. grupo para representar con precisión la visión del
En dicha reunión los temas a tratar se centran más en usuario y desarrollar conjuntamente una solución.
el negocio que en el asunto técnico. Lógicamente está
➢Identificar problemas y participantes
más orientado a proyectos de cliente (o bien sistemas a
➢Clarificar los requerimientos
medida, como también se los conoce), y permite
➢Cuantificar procesos e información necesitados
recolectar requisitos eficientemente.

Perfiles
Moderador (líder Jad) con amplios conocimientos de la metodología de trabajo, dinámica de grupos,
psicología del comportamiento, así como de los procesos de la organización objeto del estudio.
Promotor persona que ha impulsado el desarrollo.
Jefe de proyecto, responsable de la implantación del proyecto.
Especialista en modelización responsable de la elaboración de los modelos en el transcurso de la sesión.
Desarrolladores aseguran que los modelos son correctos y responden a los requisitos especificados.
Usuarios responsables de definir los requisitos del sistema y validarlos.
JAD (Joint Aplicación Diseño) Dinámica de las sesiones

Para llevar a cabo una sesión JAD, es necesario realizar una En las sesiones de trabajo tipo JAD se distinguen dos tipos
serie de actividades antes de su inicio, durante el desarrollo de productos:
y después de su finalización. Estas son
Inicio: se define el ámbito y la estructura del proyecto, los • De preparación donde se incluye, entre otros, la historia y
productos a obtener, se prepara el material necesario para contexto del proyecto, los objetivos y límites, las
la sesión, se determina el lugar donde se van a llevar a actividades del entorno del negocio que pueden afectar al
cabo, se seleccionan los participantes y se sugiere una éxito del proyecto y los beneficios.
agenda de trabajo.
• De resultado de las sesiones de trabajo, que se
• Desarrollo: se identifican las salidas del proyecto y se establecen con anterioridad
debe conseguir el consenso entre los participantes de
modo que se materialice en los modelos.

• Finalización: se valida la información de la sesión y se


generan los productos de la metodología de trabajo
propuesta. Si fuera necesario se integran los productos de
salida.
JAD (Joint Aplicación Diseño) Principios básicos

Trabajo de grupo (gerentes, usuarios y profesionales JAD introduce numerosos tipos de ayudas visuales
del área) en sesiones para analizar los para hacer los conceptos de diseño más tangibles.
requerimientos, generar ideas innovadoras y tomar Ayudas Utilizar prototipos, gráficos, transparencias, pizarras,
decisiones que den forma al diseño del nuevo visuales proyectores o cualquier dispositivo para presentar
software información, sirve para comunicar y validar mejor las
ideas durante el proceso de diseño.
Dinámica
De grupos

• La aplicación de JAD produce un


Principios
documento, cuyo propósito es • Emplea análisis top-down, y tareas bien definidas para
registrar los resultados obtenidos de
Proceso llevar a cabo la definición de objetivos, requerimientos y
tal manera que los usuarios y racional y diseño externo.
profesionales de sistemas de organizado • Este análisis, consiste en estudiar primero las áreas de
información puedan entender las alto nivel y más generales antes que los detalles.
decisiones tomadas. Documentación • Manejar cada nivel de detalle secuencialmente ayuda a
• Este método de documentación WYSIWYG asegurar un análisis completo por dos razones: primero,
asegura que el contenido y formato el análisis top-down reduce en gran forma la posibilidad
del documento sean completamente de obtener diseños incompletos.
familiares a los usuarios y • Una vez definido el panorama del sistema, cada nivel de
profesionales de sistemas. detalle sucesivo puede ser relacionado al cuadro
• Todas las ideas y decisiones completo.
expresadas en el documento son • Segundo, forzando el análisis top-down, cada nivel de
generadas en las sesiones de grupo. detalle recibe la cantidad apropiada de atención.
• La familiaridad del formato de los • La tendencia natural en el diseño de software es pasar
documentos lleva a un proceso de directamente a los detalles, asumiendo que los temas
revisión más efectivo. más amplios y de alto nivel son evidentes.
JAD (Joint Aplicación Diseño) Principales etapas

Diseño
• El plan es la etapa con la que se inicia un
proyecto; junta a los participantes con una
perspectiva táctica y de alto nivel. Guiados por
el líder de sesión, abordan cuestiones políticas,
estratégicas y organizacionales. Esta etapa
tiene cuatro objetivos mayores: • El diseño es la etapa donde se detallan los requerimientos, la
interfaz de usuario y las relaciones con los otros sistemas,
✓Identificar los requerimientos de alto nivel del teniendo en cuenta el documento que se obtuvo como
sistema. resultado de la planificación. Un diseño para un desarrollo de
✓Definir y limitar el alcance del sistema. software tiene cuatro objetivos principales:
✓Planear la actividad del diseño.
✓Publicar y obtener la aprobación del ✓Definir los requerimientos detallados y el alcance.
documento del plan. ✓Diseñar los esquemas de pantallas y reportes.
✓Capturar los requerimientos de edición, validación,
procesamiento e interfaz.
✓Desarrollar un prototipo.
✓Completar y obtener la aprobación del documento de diseño.

Planificación
Conclusiones
❖ Es importante mejorar el proceso de gestión de proyectos para facilitar la comunicación, la documentación y el control y
de gestión de cambios.
❖ Es necesario hacer que el cliente sienta que los requisitos y el sistema futuro son de su propiedad y por lo tanto su
responsabilidad.
❖ Algunos de los beneficios del análisis de requisitos en los proyectos de construcción de software son:

❖ Disminución de errores y reprocesos en la codificación del software

❖ Claridad en el alcance del proyecto desde sus inicios

❖ Soluciones enfocadas en lo que realmente necesita el negocio

❖ Clientes satisfechos

❖ JAD reúne un compendio de buenas técnicas de demostrada utilidad, que pueden mejorar el tiempo de desarrollo y
aumentar la visibilidad del proyecto. Además utilizada de forma regular, esta técnica puede aportar una mejora en el
desarrollo de proyectos en general que la puede hacer muy útil. Finalmente señalar que, utilizada con inteligencia,
puede hacer que la satisfacción de los clientes se vea incrementada.
Referencias Bibliográficas
1. Ali Babar, J. M. Verner & P. T. Nguyen. “Establishing and maintaining trust in software outsourcing
relationships: an empirical investigation”. Journal of Systems and Software, Vol. 80, No. 9, pp.1438-1449,
2007.

2. A. Hickey & A. Davis. “Elicitation Technique Selection: How Do Experts Do It?” Proceedings of the 11th IEEE
International Conference on Requirements Engineering (RE’03), Monterey, USA, 2003.

3. García Villar, S. (s.f.). Diseño integral de sistemas y requerimientos. Material didáctico propio de la
institución.

4. L. Andrade. “Norma ISO 25010 en calidad de software, Ciudad de Mexico. 2019.

5. Material didáctico, campus virtual de la compañía, curso calidad de requisitos. SQA. Colombia 2021.
Gracias por su tiempo
Angela Parra Pachón
Bogotá – Colombia
26-May-2022

También podría gustarte