Metodologías de Software
Metodologías de Desarrollo de Software.
Ingeniería de Software.
Metodologías de Desarrollo de Software
página 0
Metodología de Desarrollo de Software.
Ingeniería de Software.
Metodologías de Desarrollo de Software
página 1
Características que deben tener las Metodologías
Orientadas a Objetos.
•
Basadas en casos de uso (Use-case-driven).•
Orientadas a la calidad del Sistema. (Systemic-qualitydriven).
•
Centradas en la arquitectura (Architecture-centric).
•
Iterativas e incrementales.
•
Construidas en base a modelos.
•
Que utilicen las mejores prácticas de diseño (best
practices).
Ingeniería de Software.
Metodologías de Desarrollo de Software
página 2
Basadas en casos de uso.
•
TodoSistema de Software tiene usuarios (actores que
pueden ser humanos u otros sistemas).
•
Los usuarios utilizan el software para lograr ciertos
objetivos (casos de uso).
•
La metodología debe soportar la creación de software
que facilite los casos de uso.
•
Los casos de uso definen el diseño del sistema.
Ingeniería de Software.
Metodologías de Desarrollo de Softwarepágina 3
Orientadas a la calidad del Sistema.
•
La calidad del Sistema tiene que ver con la
satisfacción de los requerimientos no funcionales.
•
Por ejemplo:
• Rendimiento y disponibilidad.
• Confiabilidad.
• Escalabilidad.
•
Estos requerimientos de calidad son los que definen la
arquitectura del Sistema.
Ingeniería de Software.
Metodologías de Desarrollo de Softwarepágina 4
Centradas en la arquitectura.
•
Arquitectura es todo lo que se refiere a capturar los
aspectos estratégicos de la estructura de alto nivel del
Sistema.
•
Aspectos estratégicos:
•
•
Los requerimientos no funcionales impulsan los componentes
arquitectónicos y los patrones de diseño.
•
Los casos de uso deben acomodarse a la arquitectura.
Estructura de altonivel:
•
Capas (tiers), como clientes, aplicaciones y soporte.
•
Componentes de cada capa y sus protocolos de
comunicación.
•
Estratos (layers) como plataforma, APIs y hardware.
Ingeniería de Software.
Metodologías de Desarrollo de Software
página 5
Iterativas e incrementales.
•
El desarrollo iterativo se enfoca al crecimiento del
Sistema en pasos pequeños,planeados e
incrementales.
•
Cada iteración incluye un ciclo completo de desarrollo,
o sea: requerimientos, análisis, diseño, arquitectura,
implementación, pruebas y deployment.
•
Los modelos y el software en sí se construyen
incrementalmente en múltiples iteraciones.
•
El mantenimiento es simplemente otra iteración (o serie
de iteraciones).
Ingeniería de Software.Metodologías de Desarrollo de Software
página 6
Construidas en base a modelos.
•
Los modelos son el medio principal de comunicación
entre los involucrados en el proyecto.
•
Los artefactos son las representaciones físicas de
nuestros modelos mentales.
•
Tipos de artefactos:
• Documentos (texto).
• Diagramas de UML.
• Prototipos.
•
Propósitos de los modelos:
• Comunicación.
•Resolución de problemas.
• Prueba de concepto (Proof-of-concept).
Ingeniería de Software.
Metodologías de Desarrollo de Software
página 7
Mejores prácticas de diseño.
• La comprensión y aplicación de mejores prácticas de
diseño mejoran la flexibilidad y extensibilidad de una
solución de software.
• Estas prácticas de diseño incluyen:
– Principios de diseño.
– Patrones desoftware.
– Blueprints.
– Ejemplos completos.
Ingeniería de Software.
Metodologías de Desarrollo de Software
página 8
Principales Metodologías.
• Modelo de cascada (Waterfall Model).
• Modelo de prototipos (Prototyping Model).
• Proceso Unificado de Desarrollo de Software (Unified
Software Development Process, USDP o UP).
• Rational Unified Process (RUP).
• Sun Tone.
•...
Regístrate para leer el documento completo.