Please enable JavaScript.
Coggle requires JavaScript to display documents.
Principles That Guide Practice - Coggle Diagram
Principles That Guide Practice
7.3.4 Construction Principles
Objetivo
Construir software operativo y listo para entrega mediante codificación y pruebas.
Actividades
Codificación (manual, automática o generada por lenguaje 4GL).
Pruebas en niveles: unidad → integración → validación → aceptación.
Principios de codificación
Preparación
Entender el problema y diseño.
Escoger lenguaje y entorno adecuados.
Preparar pruebas unitarias
Durante la codificación
Aplicar programación estructurada.
Usar programación en pares.
Seguir arquitectura definida.
Usar nombres significativos y estilo claro.
Código autodescriptivo
Validación
Revisar código.
Ejecutar pruebas unitarias.
Refactorizar
Principios de prueba (Testing)
Trazabilidad a requisitos del cliente.
Planificar pruebas desde etapas tempranas.
Aplicar Principio de Pareto (80/20).
Probar “de lo pequeño a lo grande”.
Evitar pruebas imposibles.
Enfocar pruebas donde hay más riesgo de errores.
Usar pruebas estáticas.
Rastrear defectos y patrones.
Incluir pruebas de regresión
7.3.5 Deployment Principles
Objetivo
Entregar, dar soporte y recibir retroalimentación durante los ciclos de despliegue.
Principios clave
Gestionar expectativas del cliente — Comunicar claramente alcances.
Preparar un paquete completo de entrega — Software, datos, documentación y pruebas beta.
Establecer un régimen de soporte — Responder y registrar incidencias.
Proporcionar materiales instructivos — Guías, manuales, ayudas y descripción de cambios.
Corregir errores antes de entregar — Mejor tardar un poco que entregar software defectuoso.
7.4 Work Practices
Objetivo
Identificar hábitos y conceptos que diferencian a los ingenieros exitosos.
Rasgos de un buen ingeniero
Refactorizar constantemente.
Usar patrones de diseño.
Reutilizar componentes.
Enfocarse en la usabilidad.
Elegir el lenguaje más adecuado.
Aplicar buenas prácticas de diseño y prueba
Diez conceptos universales
Interfaces simples y familiares.
Convenciones y plantillas.
Capa (Layering): separación de diseño e implementación.
Complejidad algorítmica: valorar eficiencia y legibilidad.
Hashing: almacenamiento y recuperación eficiente.
Caching: equilibrio entre velocidad y memoria.
Concurrencia: manejar procesos paralelos.
Computación en la nube.
Seguridad: proteger datos y sistemas.
Bases de datos relacionales: optimizar redundancia y acceso.