Conceptos importantes Segundo Parcial Ingeniería de Requisitos
El documento de especificación de requisitos
Sección 1: Introducción
Sección 2: Descripción General
2.1 Perspectiva del producto
2.2 Funciones del producto
2.3 Características del usuario
2.4 Restricciones generales
2.5 Asunciones y dependencias
Sección 3: Requisitos específicos
3.1 Interfaces externas
3.2 Funciones
3.3 Requisitos de rendimiento
3.4 Restricciones de diseño
3.5 Atributos de calidad del software
3.6 Otros requisitos.
Metodologías Ágiles
Son metodologías alternativas a las tradicionales que dan soporte a los valores incluidos en el manifiesto Ágil. Suelen ser iterativas de ciclo corto y flexibles. Se centran principalmente en el código.
Manifiesto Ágil
Valorar a los individuos y su interacción sobre los procesos y herramientas
Valorar el software que funciona sobre la documentación
Valorar la colaboración con el cliente sobre la negociación contractual
Valorar la respuesta al cambio sobre el seguimiento de un plan
Principios Ágiles
La prioridad es satisfacer al cliente a través de la entrega temprana y continua de software de valor.
Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo.
Entregar con frecuencia software que funcione en períodos de un par de semanas a un par de meses con preferencia en los períodos breves
Las personas de negocio y los desarrolladores deben trabajar juntos
La forma más eficiente de comunicar información es cara a cara
Los procesos Ágiles promueven el desarrollo sostenido
La atención a la excelencia técnica enaltece la agilidad.
Tipos de metodologías Ágiles
Extreme Programming (XP)
No habla explícitamente de técnicas de ingeniería de requisitos
Usa entrevistas, brainstrorming y prioriza las historias de usuario.
Modelado Ágil (AM)
Scrum
Scrum
Es una metodología framework, un conjunto de buenas prácticas para la gestión de proyectos. Consiste en la iteración de entregas incrementales
Roles
Product owner
Gestiona las necesidades que serán satisfechas en el proyecto
Debe recoger y tener claras las necesidades de la aplicación
Fijar criterios de aceptación para cada historia de usuario
Equipo de desarrollo
Scrum Master
Artefactos
Son lo que el cliente quiere que se implemente. Descripción breve de una funcionalidad tal y como la percibe el usuario.
Product backlog
Sprint backlog
Eventos
Sprint
Planificación del Sprint
Daily Meeting
Revisión del sprint
Retrospectiva
Scrum vs requisitos
Las historias de usuario no son requisitos por lo que según algunos autores se puede considerar que en scrum no hay requisitos, aunque algunos autores consideran que las historias de usuario pueden ser consideradas requisitos poco detallados.
Diferencia metodologías Ágiles y Tradicionales
Captura de requisitos
Especificación de requisitos
Las reuniones de análisis son frecuentes durante todo el proceso pero la documentación es menos rígida
Las técnicas de modelado solo se usan para facilitar comprensión en Ágil
No se pretende generar una documentación completa
Se deja mucha libertad al equipo de desarrollo
Las historias de usuario son las técnicas más utilizadas en Ágil
Validación de requisitos
Gestión de Requisitos
No es posible la trazabilidad total de los requisitos como en las metodologías tradicionales
Proporcionan buena base con el backlog y un listado de características
Aproximación poco detallada a la captura de requisitos, se omiten detalles para completarlos más tarde.
Las fases de las metodologías tradicionales no son fácilmente separables en las metodologías ágiles
Las técnicas utilizadas en las metodologías tradicionales se encuentran vagamente descritas ya que se confía mucho en el equipo de desarrollo
La documentación es poco extensa y compacta, lo que la hace sencilla de mantener.
Notaciones en Z
Las especificaciones se presenta como un texto informal complementado con descripciones formales, estas últimas contienen pequeños trozos fáciles de leer.
Los esquemas introducen variables de estado y define restricciones y operaciones en el estado
Ejemplo:
Los esquemas pueden ser manipulados utilizando operaciones como la composición de esquemas, renombrado de esquemas o la ocultación de esquemas
La signatura del esquema define las entidades que forma el estado del sistema y el predicado del esquema establece las condiciones en que deberían cumplirse estas condiciones
Cuando un esquema define una operación, el predicado puede establecer precondiciones y postcondiciones
Estas definen el estado antes y después de la operación, la diferencia entre ambas define la acción especificada en el esquema de la operación.
Notaciones algebraicas
Introducción: se define el tipo y declaran otras especificaciones que se usan
Descripción: Describe informalmente las operaciones del tipo
Signatura: Define la sintaxis de las operaciones, número y clase de sus parámetros y las clases de los resultados
Axiomas: Define la semántica de las operaciones mediante la definición de axiomas que caracterizan su comportamiento