Implementación IMPLEMENTACIÓN Implementación = codificación + prueba + documentación interna ASPECTOS IMPORTANTES DE LA CODIFICACIÓN Cómo escoger el lenguaje de programación. Aspectos del lenguaje que afectan la y mantenimiento del sistema. confiabilidad Buen estilo de programación. DS2 – María Eugenia Valencia _________________________________ Implementación SELECCIÓN DEL LENGUAJE DE PROGRAMACIÓN Aspectos generales Lenguaje de alto nivel. Que permita el uso de nombres significativos. Manejo fácil de módulos y funciones. Estructuras de control y decisión adecuadas. Uso de declaraciones de variables, constantes y otros tipos de datos. Manipulación de errores. DS2 – María Eugenia Valencia _________________________________ Implementación SELECCIÓN DEL LENGUAJE DE PROGRAMACIÓN Criterios pragmáticos Tamaño del proyecto. Conocimiento del lenguaje por parte del grupo. Requerimiento uso lenguaje específico. Disponibilidad de compiladores para el sistema computador/sistema operativo. Software portable. Tipo de aplicación a desarrollar. DS2 – María Eugenia Valencia _________________________________ Implementación Aspectos del Lenguaje que afectan confiabilidad y mantenimiento del sistema Ciertas estructuras o instrucciones facilitan la realización de programas confiables y mantenibles: Módulos Declaraciones de variables Tipos de datos definidos por el usuario Estructuras de datos complejas (registros, punteros) Alcance de variables Manejo de excepciones, etc. DS2 – María Eugenia Valencia _________________________________ Implementación BUEN ESTILO DE PROGRAMACIÓN Metodologías (Top-down y bottom-up) Estilo Buena documentación. Utilizar nombres significativos de variables y constantes. Adecuado uso de comentarios (documentación interna del código). Formato de edición o estructura (usar sangría) FACTORES QUE AFECTAN LA CALIDAD DEL CÓDIGO FUENTE Buen estilo de codificación. Comentarios internos bien escritos. Formato de código fuente consistente y legible. Utilización de identificadores significativos. DS2 – María Eugenia Valencia _________________________________ Implementación CONSIDERACIONES PRÁCTICAS PARA ESCOGER EL LENGUAJE DE PROGRAMACIÓN 1. Requerimientos de quien contrató el desarrollo del software. 2. Conocimiento del Lenguaje por parte de los programadores. 3. Lenguajes usados en proyectos anteriores o concurrentes. 4. Disponibilidad y calidad del compilador del Lenguaje. 5. Disponibilidad de herramientas de soporte para desarrollo de Software. 6. Portabilidad. ESTILO DE CODIFICACIÓN Debe buscarse ante todo SIMPLICIDAD y LEGIBILIDAD. Para ello debe tenerse en cuenta que: Entre más corto sea el código este será más simple y fácil de entender. DS2 – María Eugenia Valencia _________________________________ Implementación Es mejor minimizar el número de decisiones en un módulo para reducir su complejidad. Debe evitarse el anidamiento lógico. Como regla general, los constructores de los módulos no deben anidarse más de 3 o 4 niveles hacia abajo. CODIFICACIÓN E INTEGRACIÓN Tomando como base el diseño detallado, se codifica y documenta cada módulo. Se verifica para remover los errores obvios y se integra para formar el sistema. Es importante considerar, por adelantado, en qué orden se van a codificar los módulos y cómo se efectuará la integración del sistema, es decir, debe establecerse la estrategia de integración. Para entender el proceso de integración presentarse los tres niveles de prueba: Prueba unitaria. Prueba de integración. Prueba de aceptación. deben DS2 – María Eugenia Valencia _________________________________ Implementación MÉTODOS DE INTEGRACIÓN DE MÓDULOS 1. Método BIG-BANG Todos los módulos se codifican por separado y se integran todos al tiempo, sin hacer prueba unitaria, causando efectos desastrosos. 2. Métodos de desarrollo incremental Algunas partes del sistema se codifican, se hacen pruebas unitarias y se integran antes que otras porciones del sistema. El sistema completo se crea en pasos incrementales y no con un solo esfuerzo monumental. Los dos principales enfoques de integración incremental son: El Bottom-Up (ascendente). El threads (hilos). DS2 – María Eugenia Valencia _________________________________