Fundamentos de Requisitos y Procesos Ágiles en Ingeniería de Software
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,28 KB
Clasificación de Requisitos y Conceptos Fundamentales en Ingeniería de Software
Clasificación de Requisitos según IEEE
A continuación, se presenta una clasificación de requisitos y conceptos básicos, siguiendo principios de la IEEE:
- Requisitos de adaptación: Especifican los rasgos que deben modificarse para adaptar el software a una instalación particular.
- Requisitos de interfaces externos: Describen en forma detallada todas las entradas y salidas del sistema.
- Requisitos funcionales: Definen las acciones elementales que deben realizarse sobre el procesamiento, generando un conjunto de salidas a partir de un conjunto de entradas.
- Requisitos de ejecución: Describen los requisitos numéricos, estáticos y dinámicos del software.
- Requisitos lógicos de las bases de datos: Especifican los requisitos lógicos para cualquier información que se almacena en una base de datos.
- Requisitos de restricción de diseño: Describen los requisitos relacionados con los estándares existentes o regulaciones.
- Requisitos relacionados con atributos del sistema: Son atributos como fiabilidad, disponibilidad, seguridad, mantenimiento y portabilidad.
Modelos en la Elicitación de Requisitos de Software
La elicitación de requisitos es un proceso crucial en el desarrollo de software. Las tareas clave incluyen:
- Tarea 1: Obtener información sobre el dominio del problema y el sistema actual.
- Tarea 2: Preparar y realizar las reuniones de elicitación/negociación.
- Tarea 3: Identificar/revisar los objetivos del sistema.
- Tarea 4: Identificar/revisar los requisitos de información.
- Tarea 5: Identificar/revisar los requisitos funcionales.
- Tarea 6: Identificar/revisar los requisitos no funcionales.
Metodologías Ágiles para el Desarrollo de Software
Programación Extrema (XP)
La Programación Extrema (XP) es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en el desarrollo de software. Promueve el trabajo en equipo, se preocupa por el aprendizaje de los desarrolladores y genera un buen clima de trabajo.
Open Source Crystal de Cockburn
Crystal de Cockburn se refiere a un conjunto de metodologías para el desarrollo de software, caracterizadas por estar centradas en las personas que componen el equipo y por la reducción del número de artefactos producidos. Han sido desarrolladas por Alistair Cockburn. El desarrollo de software se considera un juego cooperativo de invención y comunicación, limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave.
DSDM (Método de Desarrollo de Sistemas Dinámicos)
El DSDM (Método de Desarrollo de Sistemas Dinámicos) define el marco para desarrollar un proceso de producción de software. Nació en 1994 con el objetivo de crear una metodología unificada RAD (Desarrollo Rápido de Aplicaciones). Sus principales características son: es un proceso iterativo e incremental, y el equipo de desarrollo y el usuario trabajan juntos.
Proceso ICONIX para el Ciclo de Vida del Software
ICONIX es un proceso simplificado que unifica un conjunto de métodos de orientación a objetos con el objetivo de abarcar todo el ciclo de vida de un proyecto. Está adaptado a los patrones de UML, dirigido por los casos de uso y es un proceso iterativo e incremental.
Fases del Proceso ICONIX
Fase I: Análisis de Requerimientos
- Identificar objetos del dominio y relaciones de agregación y generalización.
- Prototipo rápido.
- Identificar casos de uso.
- Organizar casos de uso en grupos.
- Asignar requerimientos funcionales a casos de uso y objetos del dominio.
- HITO: Revisión de requerimientos.
Fase II: Análisis y Diseño Preliminar
- Escribir descripciones de casos de uso (cursos básicos y alternativos).
- Análisis de robustez (identificar grupos de objetos que realizan el escenario).
- Actualizar diagramas de clases del dominio.
- Finalizar diagramas de clases.
- HITO: Revisión del diseño preliminar:
- De usuarios hacia sistemas.
- De datos hacia el sistema.
Fase III: Diseño
- Asignar comportamientos.
- Para cada caso de uso:
- Identificar mensajes y métodos.
- Dibujar diagramas de secuencia.
- Actualizar clases (opcional), diagrama de colaboración (opcional), diagrama de estados.
- Terminar modelo estático.
- Verificar cumplimiento de requerimientos.
- HITO: Revisión crítica del diseño.
Fase IV: Implementación
- Producir diagramas necesarios (despliegue, componentes).
- Escribir el código.
- Pruebas de unidad e integración.
- Pruebas de sistema y aceptación basada en casos de uso.
- HITO: Entrega del sistema.