Costo y Complejidad del Software & Programación Orientada a Objetos

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Costo y Complejidad del Software & Programación Orientada a Objetos por Mind Map: Costo y Complejidad del Software & Programación Orientada a Objetos

1. Calidad y madurez del software

1.1. Modelo CMM/CMMI

1.1.1. Niveles: Nivel 2: Repetible Nivel 3: Definido Nivel 4: Administrado Nivel 5: Optimizado

1.2. ISO 9001

1.2.1. Aseguramiento de calidad en procesos de software.

2. Estrategias de desarrollo

2.1. Prototipos

2.1.1. Prototipo de Requisitos Prototipo de factibilidad

2.2. Reutilización de Componentes

2.2.1. Acelera el desarrollo y mejora la consistencia

3. Documentación del software

3.1. Manual del usuario

3.2. Manual del Programador

3.3. Manual del operador

3.4. Manual del administrador

4. Conclusión

4.1. Ley de Brooks : Agregar más personal a un proyecto retrasado aumenta el tiempo de desarrollo.

4.2. No hay bala de plata : No existe una solución única para resolver todos los desafíos del software.

4.3. Software "suficientemente bueno" : Sacrificar calidad por funcionalidad rápida.

5. Costos del software

5.1. Costo directo

5.1.1. Software empacado

5.1.2. Software a la medida

5.2. Costo indirecto

5.2.1. Capacitación

5.2.2. Instalación

5.2.3. Soporte técnico

5.2.4. Otros gastos previsibles

5.3. Costo oculto

5.3.1. Fallas en sistemas críticos

5.3.2. Impacto en sistemas de misión crítica

5.3.3. Ejemplos

5.3.3.1. Therac-25: Muertes por radiación AT&T: Falla masiva de comunicaciones Mariner 1: Error de sintaxis

6. Complejidad del software

6.1. Factores que Incrementan la Complejidad

6.1.1. Complejidad del problema : Ejemplo: Sistema de tráfico aéreo

6.1.2. Complejidad de la solución : Uso de múltiples lenguajes y plataformas

6.2. Factores Estáticos y Dinámicos

6.2.1. Estaticos : Funcionalidad inicial del sistema

6.2.2. Dinámicos : Cambios y actualizaciones en el tiempo

7. Fiabilidad y Robustez del Software

7.1. MTBF : Tiempo promedio entre fallos MTTR : Tiempo medio de reparación Ley de Lehman : Cada cambio aumenta la complejidad

7.1.1. Ejemplos: C-17: Sobrecostos por problemas de software CONFIRMAR: Cancelación de sistema de reservas

8. Modelos de Desarrollo de Software

8.1. Modelos Clásicos

8.1.1. Cascada : Desarrollo secuencial con puntos de revisión. Riesgo: Detección tardía de errores

8.1.2. Incremental : Entrega parcial de funcionalidad Menor riesgo de errores acumulados

8.1.3. Evolutivo : Uso de prototipos iterativos Retroalimentación en cada ciclo

8.1.4. Espiral : Gestión de riesgos en cada iteración.

8.2. Modelos modernos

8.2.1. Ganar-Ganar : Colaboración entre partes interesadas

8.2.2. Programación Extrema (XP) : Programación en pares Cambios incrementales constantes

8.2.3. Proceso Unificado (UP) : Desarrollo iterativo basado en arquitectura y casos de uso.

9. Programación Orientada a Objetos

9.1. Características esenciales

9.1.1. Encapsulación : Oculta los detalles internos de los objetos.

9.1.2. Herencia : Reutilizar el código mediante subclases

9.1.3. Polimorfismo : Múltiples funciones con la misma interfaz

9.2. Lenguajes de Programación Orientados a Objetos

9.2.1. Java : Portabilidad y simplicidad C++ : aplicaciones de alto rendimiento Python : Lenguaje moderno, fácil de aprender