¿Que son requisitos?
Un requisito es una circunstancia o condición necesaria para algo. Puede emplearse en muy diversos
ámbitos.
Tipos de requisitos
Requerimientos Funcionales
En general, los requerimientos funcionales describen acciones específicas que el ingeniero de software
debe ser capaz de realizar durante el desarrollo de software. Los requerimientos funcionales a menudo
se dividen en reglas de negocio y casos de uso. Las reglas de negocio son declaraciones de alto nivel que
definen lo que un sistema debe hacer, mientras que los casos de uso son descripciones más detalladas
de cómo debe funcionar el sistema.
Algunos de los requerimientos más comunes en virtud de él incluyen:
Las características y funcionalidad deseadas del producto
Plataformas para desarrollar aplicaciones, por ejemplo, iOS, Android y web
Especificaciones de diseño en términos de tema, colores y fuentes
Funcionalidad de back-end: integración APl y bases de datos
Plazos de finalización
Requerimientos no funcionales
Los requerimientos no funcionales describen características específicas que el software debe poseer
durante el desarrollo de la aplicación. Por lo general, se dividen en tres categorías: rendimiento,
seguridad y calidad.
Requerimientos de rendimiento
Los requerimientos de rendimiento suelen dividirse en dos categorías: tiempo de respuesta y
rendimiento. El tiempo de respuesta es el tiempo que tarda un sistema en responder a la solicitud de un
usuario, mientras que el rendimiento es el número de solicitudes que un sistema puede manejar. Son
más críticos para los sistemas interactivos, como las aplicaciones de escritorio y los sitios web, donde los
usuarios esperan respuestas inmediatas a sus acciones.
Requerimientos de seguridad
Los requerimientos de seguridad especifican las medidas que un sistema debe tomar para proteger los
datos del acceso no autorizado. En algunos casos, los requerimientos de seguridad también pueden
especificar el nivel de protección requerido, como confidencial o de alto secreto. Implica autenticación,
autorización y cifrado.
Requerimientos de calidad
Especifica el nivel de calidad que debe cumplir un sistema. En algunos casos, los requerimientos de
calidad también pueden especificar los métodos utilizados para medir la calidad, como la densidad de
defectos o la satisfacción del cliente. Los requerimientos de calidad son generalmente cuatro medidas
de calidad: conformidad, usabilidad, confiabilidad y mantenimiento.
Atributos de calidad
Los atributos más comunes 7. Elasticidad.
1. Desplegable (facilidad de despliegue). 8. Extensibilidad.
2. Disponibilidad. 9. Facilidad de desarrollo.
3. Escalabilidad. 10. Facilidad de instalación (installability).
4. Interoperabilidad. 11. Factibilidad. ¿Lo que se quiere hacer es
viable de acuerdo al tiempo y el
5. Modificable.
presupuesto?
6. Rendimiento.
12. Internacionalización.
7. Seguridad.
13. Localización.
8. Testeo (facilidad de probar el sistema).
14. marketing de mercado. ¿El sistema está
9. Usabilidad. hecho con una serie de tecnologías que
el mercado considera atractivas y
Otros atributos de calidad modernas?
1. Accesibilidad. 15. Mantenimiento.
2. Adaptabilidad. 16. Movilidad.
3. Agilidad. 17. Modularidad.
4. Confiabilidad. 18. Monitoreo.
5. Cumplimiento de estándares 19. Portabilidad.
(dependiendo de la industria y las
necesidades de los usuarios). 20. Recuperable.
6. Distribución del desarrollo. ¿El diseño 21. Reusabilidad.
del sistema permite que equipos
22. Tolerancia a fallos.
separados a nivel global puedan
trabajar en él? 23. Variabilidad.
Proceso de Análisis de Requerimientos.
El proceso del establecimiento de requerimientos de un sistema de software, como ya
mencionamos, es el primer paso esencial en entregar lo que el cliente desea. A pesar de esto, la
insuficiencia de tiempo y esfuerzo son a menudo encontrado en esta actividad y existen pocos
métodos sistemáticos para soportarlo. Entre los métodos conocidos se puede citar a los siguientes:
Para Pressman, en el proceso de análisis de requerimientos del software se puede identificar cinco
tareas o etapas fundamentales:
1. Reconocimiento del problema
Se deben de estudiar inicialmente las especificaciones del sistema y el plan del proyecto del
software. Realmente se necesita llegar a comprender el software dentro del contexto del sistema. El
analista debe establecer un canal adecuado de comunicación con el equipo de trabajo involucrado
en el proyecto. En esta etapa la función primordial del analista en todo momento es reconocer los
elementos del problema tal y como los percibe el usuario.
2. Evaluación y síntesis
En esta etapa el analista debe centrarse en el flujo y estructura de la información, definir las
funciones del software, determinar los factores que afectan el desarrollo de nuestro sistema,
establecer las características de la interfaz del sistema y descubrir las restricciones del diseño. Todas
las tareas anteriores conducen fácilmente a la determinación del problema de forma sintetizada.
3. Modelización
Durante la evaluación y síntesis de la solución, se crean modelos del sistema que servirán al analista
para comprender mejor el proceso funcional, operativo y de contenido de la información. El modelo
servirá de pilar para el diseño del software y como base para la creación de una especificación del
software.
4. Especificación Las tareas asociadas con la especificación intenta proporcionar una representación
del software. Esto más adelante permitirá llegar a determinar si se ha llegado a comprender el
software, en los casos que se lleguen a modelar se pueden dejar plasmados manuales.
5. Revisión Una vez que se han descrito la información básica, se especifican los criterios de
validación que han de servir para demostrar que se ha llegado a un buen entendimiento de la forma
de implementar con éxito el software. La documentación del análisis de requerimientos y manuales,
permitirán una revisión por parte del cliente, la cual posiblemente traerá consigo modificaciones en
las funciones del sistema por lo que deberán revisarse el plan de desarrollo y las estimaciones
previstas inicialmente.
Objetivos de la ingeniería de requisitos
La ingeniería de requisitos es el conjunto de actividades y tareas del proceso de desarrollo de sistemas
software que tiene como objetivos:
Definir, con la mejor calidad posible, las características de un sistema software que satisfaga
las necesidades de negocio de clientes y usuarios y que se integre con éxito en el entorno en el
que se explote. La definición de dicho sistema se realiza mediante lo que se conoce como
una especificación de requisitos.
Gestionar las líneas base y las peticiones de cambios que se vayan produciendo en la
especificación de requisitos, manteniendo la trazabilidad entre los requisitos y otros productos
del desarrollo.