Está en la página 1de 31

UNIDAD DIDACTICA Nº 6

REQUERIMIENTOS DEL
SOFTWARE
INGENIERÍA DE SOFTWARE
Apoyo con lectura

• Roger Pressman 7MA-


• CAPITULO V y VI
INGENIERÍA DE REQUISITOS

• Entender los requerimientos de una solución basada en software es


una de las tareas mas difíciles para un(a) Ing. de software.
• Como otras actividades de Ing. de Sw, ésta debe adaptarse a las
necesidades del proceso, proyecto, producto y gente que hace el
software.
• La Ing. de Requerimientos provee de un mecanismo apropiado para
entender que quiere el consumidor, analizar sus necesidades, valorar
la factibilidad de construcción, negociar una solución razonable,
especificar de manera no ambigua una solución, validar la
especificación y administrar los requerimientos conforme se
transforman.
Tareas de la Ing. de Requerimientos

• CONCEPCIÓN
• INDAGACIÓN
• ELABORACION
• NEGOCIACIÓN
• ESPECIFICACIÓN
• VALIDACIÓN (VALIDATION)
• ADMINISTRACIÓN
• Algunas de estas funciones pueden ocurrir en paralelo y ajustarse a
las necesidades del proyecto
CONCEPCIÓN

• Como se empieza un proyecto? Algunas veces inicia por


conversaciones informales, otras de manera mas formal;
normalmente como resultado de una necesidad importante

En esta parte, los ingenieros de software realizan preguntas “libres
de contexto” (generales), para establecer un entendimiento básico
del problema, determinar las personas que quieren una solución, la
naturaleza de la solución, y la efectividad de las colaboraciones y
comunicaciones preeliminares que se generan entre el consumidor y
el desarrollador
INDAGACIÓN

• Se refiere a definir formalmente los requerimientos de la solución. Es


difícil porque como ya se ha visto:
• Hay problemas de definición de alcances
• Hay problemas de entendimiento entre los involucrados
• Hay problemas de volatilidad (los requerimientos cambian con el tiempo)
INDAGACIÓN

• Incluye juntas colaborativas de definición, despliegue de funciones y


descripción de escenarios
• Los productos que genera son:
• Una declaración de necesidades y factibilidades
• Una declaración delimitada del alcance del sistema o producto
• Una lista de consumidores, usuarios y otros involucrados (stakeholders) que
participaron en la definición del documento
• Una descripción del medio ambiente técnico del sistema
• Una lista de requerimientos, de preferencia organizados por función, y las
restricciones de dominio que los afectan
• Un conjunto de escenarios de uso que dan idea del uso del producto en
diferentes condiciones operativas
• Prototipos desarrollados
Elaboración

• Esta actividad expande y refina la información obtenida en la tarea de


iniciación
• Se enfoca en realizar modelos técnicos refinados de las funciones del
software, características y limitantes.
• Es básicamente una función de modelado. Se conduce a través de la
definición de escenarios del usuario que describen la interacción del
usuario final con el sistema
• Se define el dominio del problema desde varios puntos de vista:
información, funciones y comportamiento
• Se identifican las relaciones y colaboración entre clases y se
producen varios diagrama adicionales
Negociación

• Los usuarios y consumidores normalmente piden mas de lo que se


puede hacer con los recursos con que se cuenta.
• Casi siempre diferentes involucrados (stakeholders) piden cosas
diferentes, por lo que hay que conciliar intereses a través de
negociaciones.
• Hay varias maneras para negociar, y depende de la cultura de la
organización y tamaño del proyecto
Especificación

• Especificación significa diferentes cosas para diferentes personas en


el área de Ing. de software.
• Este es el producto de trabajo final de la ingeniería de
requerimientos.
• Sirve como base para actividades subsecuentes.
• Describe la función y desempeño de un sistema y las restricción que
tiene.
• Hay muchas técnicas para escribir especificaciones: diagramas,
narraciones en prosa, modelos matemáticos, dibujos, etc.
Validación

• El producto generado por la ingeniería de requerimientos debe ser


evaluado en términos de congruencia y calidad. Se debe asegurar
que la especificación concuerda con las expectativas del usuario y
que no es ambigua.
• Deben detectarse y corregirse errores, omisiones e inconsistencias
con respecto a los estándares establecidos en el proyecto.
• El mecanismo común de validación es la revisión técnica formal.
Administración de requerimientos

• Actividades que ayudan al equipo de trabajo a identificar, controlar y


seguir los requerimientos y cambios que ocurren en ellos a través de
todo el proceso de desarrollo.
• La administración empieza con la identificación de cada
requerimiento. Posteriormente se generan tablas que permitirán
darles seguimiento. Algunas de éstas son:
• Tablas de características
• Tablas de fuentes
• Tablas de dependencias
• Tablas de subsistemas
• Tablas de interfaces
Descripción detallada de las Tareas de la Ing.
de Requerimientos

▪ CONCEPCIÓN
▪ INDAGACIÓN
▪ ELABORACION
▪ NEGOCIACIÓN
▪ ESPECIFICACIÓN
▪ VALIDACIÓN (VALIDATION)
▪ ADMINISTRACIÓN
Pasos del proceso de Iniciación.

• Identificación de involucrados (Stakeholders).


• Reconocimiento de diferentes puntos de vista.
• Desarrollo de un ambiente colaborativo. Implica identificar puntos en
común, áreas de conflicto e inconsistencias.
• Aplicación de preguntas iniciales.
Algunas preguntas Iniciales típicas

• Primeras
• ¿Quién está detrás de la requisición de este trabajo?
• ¿Quién usará la solución ?
• ¿ Cual es el beneficio económico de una solución exitosa?
• ¿ Hay otras fuentes para obtener la solución buscada que se necesitarán?
• Siguientes:
• ¿ Qué sería una “buena salida” para generar una solución eficiente?
• ¿ Que problemas aparecerán con esta solución?
• ¿ Podría describirme el medio ambiente en que la solución funcionará?
• ¿ Qué aspectos de desempeño o limitaciones afectan la solución?
Algunas preguntas típicas (2)

• Siguientes:
• ¿ Es Usted la persona correcta a preguntarle? ¿Son sus respuestas
“oficiales”?
• ¿ Considera mis preguntas relevantes al problema que Usted tiene?
• ¿ Le estoy preguntando demasiado?
• ¿ Puede alguien mas darme información adicional ?
Características de un(a) buen(a) Ing. de
Requerimientos

• Habilidad para captar conceptos abstractos sintetizándolos y


• reorganizándolos en divisiones lógicas.
• Habilidad para obtener hechos importantes de situaciones confusas.
• Habilidad para entender el medio ambiente.
• Habilidad para comunicarse bien en forma verbal y escrita.
• Habilidad para "ver el bosque a través de las hojas".
Generación de las Necesidades del Cliente

• Herramientas para obtener información de las necesidades del


Cliente:
• Cuestionarios
• Entrevistas
• Estudio de campo
• Revisión de documentos en la base de datos de conocimiento de la organización
• Autoaprendizaje
Cuestionarios

• Los cuestionarios son útiles especialmente cuando hay una gran


cantidad de usuarios finales.

• El diseño de un cuestionario requiere de tiempo y dedicación, ya que


un cuestionario deficiente produce frustración y pérdida de interés
en el usuario.
• El cuestionario debe ser fácil de procesar
• En caso de que el cuestionario no se aplique a todos los usuarios, se
debe seleccionar correctamente al grupo que realice el cuestionario.
Practica nº 5

• Estructurar el /los cuestionarios necesarios que utilizo o utilizaría


para el proyecto de curso.
Entrevistas

• La entrevista es una herramienta muy útil para obtener información.


• Se puede llevar a cabo en cualquier nivel dentro de la organización,
desde el presidente hasta el obrero en la línea de ensamble.
• La entrevista debe prepararse adecuadamente.
Consejos para Realizar una Entrevista

• 1) Preparación de la entrevista:

• Buscar el apoyo del gerente de departamento o jefe donde se llevará a cabo
la entrevista.
• Preparar la entrevista para un tiempo determinado, y dárselo a conocer al
entrevistado.
• Identificar de antemano la posición del entrevistado en la organización, sus
responsabilidades y actividades.
• Acordar de antemano la hora y el lugar de la entrevista. Evitar las
interrupciones.
• Preparar el contenido de la entrevista: temas, preguntas etc.
Consejos Para Realizar Una Entrevista
(continuación)

2) Conduciendo la entrevista:

• a) Presentarse al entrevistado y presentar al proyecto en el que se trabaja.


• b) Asegurarse de se entendieron correctamente las responsabilidades del
entrevistado. Realizar preguntas de la forma: "tengo entendido que... ".
• c) Estudiar el método de decisión del entrevistado.
• d) Evitar palabras técnicas o rebuscadas.
• e) Darse una idea del "sentimiento" del entrevistado con respecto al sistema.
• f) Escuchar al entrevistado.
• g) Preguntar al entrevistado sobre algunas ideas propias que pudieron olvidarse.
• h) Al final de la entrevista resumir las conclusiones y escribir una bitácora.
• i) No tomar demasiadas notas.
• j) Grabar la entrevista la mayoría de las veces resulta anti-productivo.
PROBLEMAS DE LAS ENTREVISTAS
• Respuestas falsas por temor a admitir ignorancia
• El usuario tiende a decir lo que el entrevistador quiere oír
• Boicoteo de información
• Actitud cerrada hacia cambios
• Pesimismo total
• desvío del objetivo fundamental hacia otros problemas de la organización
Practica nº 6

• Estructurar el /los cuestionarios necesarios que utilizo o utilizaría


para el proyecto de curso.
APOYO AL PROCESO DE indagación DE
REQUERIMIENTOS
• Para el apoyo a este proceso se realiza un actividad implícita en las
diferentes metodologías, que si bien no están plasmadas es obvio
que se debe realizar.
• Esta actividad es el “ANÁLISIS DE LA SITUACIÓN ACTUAL” en esta
actividad se debe reconocer todo el entorno que rodeara al sistemas
es decir: usuarios, involucrados, problemas actuales, procesos
actuales (manuales o automatizados), ambientes y otros.
• Según la metodología y la notación utilizada se puede realizar:
• Diagramas de casos de uso
• Diagramas de secuencia
• Diagrama de actividades
• DFD’s
• Flujo gramas
Especificamente de cómo trabaja el sistema actualmente con todos los
problemas y/o debilidades que presente .
• Posterior a esta actividad y apoyados en los modelos mencionadas
anteriormente , se realiza la determinación de requerimientos , en
base a todo lo reconocido anteriormente
Elaboración del modelo de requerimientos

• Elementos basados en el escenario


• Elementos basados en clases
• Elementos de comportamiento
•Ejemplo de
determinación d e
requerimientos
Practica nº 7

• Realice la determinación de requerimientos del proyecto de curso


que enfrenta

También podría gustarte