1. Aspectos Clave del Desarrollo
1.1. Definición de Requisitos y Modelo de Análisis
1.1.1. Participación del cliente/usuario
1.1.2. Clara especificación de requerimientos (Lo que el software debe hacer en condiciones ideales
1.2. Diseño del Sistema
1.2.1. Diseño de objetos (operaciones y atributos) incluyendo la selección de algoritmos
1.2.2. Organizar funcionalidad del sistema en torno al ambiente de implementación (Hardware y Software)
1.2.3. Identificar restricciones por agotamiento de recursos o por fallas externas del hardware
1.3. Implementación o Codificación
1.3.1. Lenguajes de programación
1.3.2. Bases de Datos (orientadas a objetos o relacionales)
1.4. Integración
1.4.1. Modularidad en el sistema para modificaciones independientes y no en la totalidad del sistema
1.4.2. Integrar los diversos componentes para obtener como resultado el sistema final.
1.5. Pruebas de Componentes y del Sistema
1.5.1. Validación: Se prueba si la funcionalidad del sistema corresponde a la especificación del cliente.
1.5.2. Verificación: Se prueba si se está construyendo el sistema "correctamente".
1.6. Documentación
1.6.1. Manual del usuario
1.6.2. Manual del programador
1.6.3. Manual del operador
1.6.4. Manual del administrador
1.7. Mantenimiento
1.7.1. Actualización/Adaptación
1.7.2. Corrección de fallas
2. Estrategias del Proceso de Desarrollo
2.1. Prototipos
2.1.1. De requisitos
2.1.2. De análisis
2.1.3. De diseño
2.1.4. Verticales
2.1.5. De factibilidad
2.2. Reutilización
2.2.1. Consumo de componentes reutilizables
2.2.2. Producción de componentes reutilizables
3. Métodos y Metodologías del Proceso de Desarrollo
3.1. Métodos (reglas para las transformaciones internas de las actividades)
3.1.1. Dominio de aplicabilidad
3.1.2. Ciclo de vida
3.1.3. Información recopilada
3.1.4. Extensibilidad
3.1.5. Modelos generados
3.1.6. Manejo de consistencia
3.1.7. Integración
3.1.8. Escalabilidad
3.2. Metodologías (Conjunto de métodos que definen el proceso de desarrollo)
3.2.1. Estructuradas
3.2.1.1. Diagramas de flujo de datos
3.2.1.2. Diagramas de entidad-relación
3.2.2. Orientada a objetos
3.2.2.1. Diagramas de clases
3.2.2.2. Diagramas de casos de uso
3.2.2.3. Diagramas de transición de estado
3.2.2.4. Diagramas de secuencias
3.2.2.5. Diagramas de colaboración
3.2.2.6. Diagramas de subsistemas
4. Entornos de Programación Orientados a Objetos
4.1. Eclipse
4.1.1. Interfaz modular (Modelo de diseño)
4.1.2. Editor de código avanzado (Implementación)
4.1.3. Consola de depuración y terminal integrado (Pruebas)
4.2. IntelliJ IDEA
4.2.1. Editor inteligente (Implementación)
4.2.2. Integración con herramientas de construcción y gestión de proyectos (Diseño del sistema)
4.3. Visual Studio
4.3.1. Reconocimiento de interfaz (Modelo de Análisis)
4.3.2. Editor de código completo (Implementación)
4.3.3. Depuración visual avanzada (Pruebas)
4.3.4. Marketplace de extensiones (Diseño del sistema)