1. • ¿Qué es un requerimiento, establezca ejemplos?
Los requerimientos son declaraciones que identifican atributos, capacidades,
características o cualidades que necesita cumplir un sistema para que tenga
valor y utilidad para el usuario. En otras palabras, los requerimientos muestran
qué elementos y funciones son necesarias para un proyecto.
Estos pueden ser de dos tipos
Requerimientos funcionales
Son declaraciones de los servicios que proveerá el sistema, de la manera en
que éste reaccionará a entradas particulares. En algunos casos, los
requerimientos funcionales de los sistemas también declaran explícitamente lo
que el sistema no debe hacer.
Ejemplos de requerimientos funcionales
Matriculación
• La matricula será realizada de forma interactiva. Se le preguntara al alumno
cual es el plan de estudios en que desea matricularse (pueden ser varios).
• Se podrá generar una copia impresa de la matricula (sin valor oficial) en el
computador desde donde se realice el proceso de matriculación.
• Así mismo, se podrá generar el impreso de pago debidamente
cumplimentado.
• Para la matriculación se consultaran los datos del expediente y se
realizaran las validaciones necesarias, descritas a continuación…
Pago de matrícula:
• La aplicación generara un impreso para que el alumno realice el pago
correspondiente a la matricula en 1 o 2 plazos (según las fechas
establecidas).
• Si el alumno tiene matriculas de honor de cursos anteriores o disfruta de
algún tipo de beca, la aplicación deberá calcular automáticamente los
descuentos correspondientes…
Gestión de docencia
• El secretario será el encargado de introducir que profesores corresponden a
cada asignatura (si no, no podrán introducir las actas los profesores).
• Los profesores de cada asignatura tendrán acceso a las listas de los
alumnos que estén matriculados en sus asignaturas y la aplicación les debe
permitir rellenar las actas.
2. Estadísticas
• En control de estudio se podrán obtener estadísticas que clasifiquen a los
alumnos por su lugar de residencia, sexo, edad, cursos o asignaturas…
Requerimientos no funcionales
Son restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen
restricciones de tiempo, sobre el proceso de desarrollo, estándares, y otros
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 la interfaz el sistema.
Ejemplos de requerimientos NO funcionales
Interfaces
• Hardware: El sistema se debe implementar sobre la infraestructura existente
en las aulas de prácticas de la cátedra Ingeniería de Software
• Software: No existe posibilidad de adquirir software. La aplicación deberá
funcionar sobre Oracle
Estos diferentes tipos de requerimientos se clasifican de acuerdo con sus
implicaciones
• ¿Qué es la Ingeniería de requerimientos, establezca ejemplos?
El proceso sistemático de desarrollar requerimientos mediante un proceso
iterativo y cooperativo de analizar el problema, documentar las observaciones
resultantes en varios formatos de representación y comprobar la precisión del
conocimiento obtenido.
Ejemplo:
Requerimientos de la Empresa
Requerimientos de los usuarios
Requerimientos del sistema
3. Políticas y condiciones y restricciones de las actividades del negocio
soportadas por el sistema
Desiciones en el proceso, pautas, y controles tras los requerimientos
funcionales
Definiciones usadas en el negocio
Relaciones y diagramas del negocio
Requerimientos del proceso
Requerimientos de soporte de logística
Requerimientos de entorno
• ¿Cuál es la importancia de la ingeniería de requerimientos, establezca
ejemplos?
Ingeniería de requerimientos es un enfoque sistémico para recolectar,
organizar y documentar los requerimientos del sistema; es también el proceso
que establece y mantiene acuerdos sobre los cambios de requerimientos, entre
los clientes y el equipo del proyecto
Ejemplos
• Permite gestionar las necesidades del proyecto en forma estructurada:
Cada actividad de la IR consiste de una serie de pasos organizados y
bien definidos.
• Mejora la capacidad de predecir cronogramas de proyectos, así como
sus resultados: La IR proporciona un punto de partida para controles
subsecuentes y actividades de mantenimiento, tales como estimación de
costos, tiempo y recursos necesarios.
• Disminuye los costos y retrasos del proyecto: Muchos estudios han
demostrado que reparar errores por un mal desarrollo no descubierto a
tiempo, es sumamente caro; especialmente aquellas decisiones
tomadas durante la RE.
• Mejora la calidad del software: La calidad en el software tiene que ver
con cumplir un conjunto de requerimientos (funcionalidad, facilidad de
uso, confiabilidad, desempeño, etc.).
• Mejora la comunicación entre equipos: La especificación de
requerimientos representa una forma de consenso entre clientes y
desarrolladores. Si este consenso no ocurre, el proyecto no será
exitoso.
• Evita rechazos de usuarios finales: La ingeniería de requerimientos
obliga al cliente a considerar sus requerimientos cuidadosamente y
revisarlos dentro del marco del problema, por lo que se le involucra
durante todo el desarrollo del proyecto.
4. • ¿Cuáles son las actividades (Ejemplos) de la ingeniería de
requerimientos?
Dependiendo del tamaño del proyecto y del modelo de proceso de software
utilizado para el ciclo de desarrollo, las actividades de la ingeniería de
requerimientos varían tanto en número como en nombres.
A pesar de las diferentes interpretaciones que cada desarrollador tenga sobre
el conjunto de actividades, podemos identificar y extraer cinco actividades
principales que son:
• Análisis del Problema
El objetivo de esta actividad es entender las verdaderas necesidades de la
empresa.
• Evaluación y Negociación
La diversa gama de fuentes de las cuales provienen los requerimientos, hacen
necesaria una evaluación de los mismos antes de definir si son adecuados
para el cliente. El término “adecuado” significa que ha sido percibido a un nivel
aceptable de riesgo tomando en cuenta las factibilidades técnicas y
económicas, a la vez que se buscan resultados completos, correctos y sin
ambigüedades.
• Especificación
La especificación de requisitos de software es la actividad en la cual se genera
el documento, con el mismo nombre, que contiene una descripción completa de
las necesidades y funcionalidades del sistema que será desarrollado; describe
el alcance del sistema y la forma en como hará sus funciones, definiendo los
requerimientos funcionales y los no funcionales.
• Validación
La validación es la actividad de la IR que permite demostrar que los
requerimientos definidos en el sistema son los que realmente quiere el cliente;
además
revisa que no se haya omitido ninguno, que no sean ambiguos, inconsistentes
o redundantes.
• Evolución
Los requerimientos son una manera de comprender mejor el desarrollo de las
necesidades de los usuarios y cómo los objetivos de la organización pueden
cambiar, por lo tanto,
es esencial planear posibles cambios a los requerimientos cuando el sistema
sea desarrollado y utilizado. La actividad de evolución es un proceso externo
que ocurre a lo largo del ciclo de vida del proyecto.
5. • ¿Cuales son las técnicas y herramientas en la Ingeniería de
requerimientos, ejemplos de sus usos, ventajas y desventajas?
Cada técnica puede aplicarse en una o más actividades de la IR; en la práctica,
la técnica más apropiada para cada actividad dependerá del proyecto que esté
desarrollándose.
Entrevistas y Cuestionarios
Las entrevistas y cuestionarios se emplean para reunir información proveniente
de personas o de grupos. Durante la entrevista, el analista conversa con el
encuestado; el cuestionario consiste en una serie de preguntas relacionadas
con varios aspectos de un sistema.
Lluvia de Ideas
Este método comenzó en el ámbito de las empresas, aplicándose a temas tan
variados como la productividad, la necesidad de encontrar nuevas ideas y
soluciones para los productos del mercado, encontrar nuevos métodos que
desarrollen el pensamiento creativo a todos los niveles, etc.
Descubrir soluciones
Se elabora una lista definitiva de ideas, para seleccionar las más interesantes.
La selección se realiza desechando las ideas que no tienen valor y se estudia
si son válidas las que se consideran interesantes. Lo mejor es establecer una
lista de criterios de conveniencia para cada idea.
Prototipos
Los prototipos permiten al desarrollador crear un modelo del software que debe
ser construido.
Al igual que todos los enfoques al proceso de desarrollo del software, el
prototipado comienza con la captura de requerimientos.
Proceso de Análisis Jerárquico (AHP)
Esta técnica tiene por objetivo resolver problemas cuantitativos, para facilitar el
pensamiento analítico y las métricas. Consiste en una serie de pasos a saber:
• Encontrar los requerimientos que van a ser priorizados.
• Combinar los requerimientos en las filas y columnas de la matriz n x n de
AHP.
• Hacer algunas comparaciones de los requerimientos en la matriz
• Sumar las columnas
• Normalizar la suma de las filas
• Calcular los promedios
6. Administración de Requerimientos con Casos de Uso
Los casos de uso son una técnica para especificar el comportamiento de un
sistema: “Un caso de uso es una secuencia de interacciones entre un sistema y
alguien o algo que usa alguno de sus servicios.”