2. ¿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.
3. • 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.
Estadísticas
• En control de estudio se podrán obtener
estadísticas que clasifiquen a los alumnos por su
4. 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
5. 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
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
6. • ¿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.).
7. • 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.
• ¿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.
8. • 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
9. 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.
• ¿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,
10. 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
11. • Normalizar la suma de las filas
• Calcular los promedios
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.”
13. El Marco Lógico
Es una de las herramientas principales que se
utilizan para diseñar y planificar proyectos o
programas y se puede ejecutar en una secuencia de
pasos metodológicos.
Análisis de involucrados: se hace para identificar y
esclarecer que grupos y organizaciones están
involucradas directa o indirectamente en el problema
que intentamos resolver.
Análisis de problemas.
El análisis de problemas se hace en 5 pasos.
1. Escribir el problema de desarrollo (también
llamado problema principal, central o focal).
2. Identificar otros problemas que son causa
directa del problema de desarrollo (el cual ahora
se convierte en efecto de esas causas) y
colocarlos debajo del problema de desarrollo.
3. Seguir colocando otros problemas con el mismo
principio: que sean causas de los problemas
anteriormente encontrados. Proseguir hasta
llegar a las causas que son raíces.
4. Identificar si algunos de los problemas
colocados son efectos del problema de
desarrollo y colocarlo por encima de éste.
Completar los efectos del problema central.
14. Revisar el árbol, comprobar que es válido y
completo, haciendo los ajustes necesarios.
5. Trazar líneas con flechas que apunten de cada
problema-causa al problema-efecto que
producen y asegurarnos si el diagrama tiene
sentido.
Análisis de objetivos
• Seleccionamos el problema que está en el nivel
más alto del árbol de problemas y lo
convertimos en un objetivo o manera de abordar
el problema.
• Luego trabajamos hacia abajo, convirtiendo
cada causa en un medio de abordar el problema
de desarrollo, formulando cada condición
negativa del árbol de problemas como una
condición positiva, es decir, objetivos que son
deseados y factibles en la realidad.
Hecho esto, se revisan todas las relaciones medio-
fin y tenemos el árbol de objetivos.
Análisis de alternativas
El análisis de alternativas consiste en identificar
estrategias alternativas a partir del árbol de
objetivos, que si son ejecutadas, podrían promover
el cambio de la situación actual a la situación
deseada.
15. Después de identificadas las distintas estrategias se
debe evaluar cada una con varias herramientas de
análisis que en realidad son filtros para ir
seleccionando.
La matriz del marco lógico
La MML es una herramienta para:
-La concepción
-El diseño
-La ejecución
-El seguimiento de desempeño
-La evaluación de un proyecto
Todo proyecto responde a un problema u obstáculo
al desarrollo, que ha sido detectado y expresa la
solución del problema de desarrollo que ha sido
diagnosticado.