1. Ingeniería de Software Unidad II Escribiendo los programas Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
2.
3.
4.
5.
6.
7.
8.
9.
10.
11. Pautas para la programación Estructuras de Datos Al escribir programas, se debería fijar el formato y almacenar datos de modo que la gestión y manipulación de datos sea directa. Existen varias técnicas que utilizan las estructuras de datos para indicar como debería organizarse el programa. Mantener la simplicidad del programa El diseño del programa puede especificar alguna de las estructuras de datos a utilizar en la implementación de las funciones. Por lo general se escogen porque promueven el ocultamiento de información y manejo de interfaz. La manipulación de información que tiene lugar dentro de un componente puede influir en la selección de la estructura de datos.
12.
13. Pautas para la programación Estructuras de Datos Mantener la simplicidad del programa - Ejemplo imp = 0; If ( imponible == 0) exit(0); If (imponible > 10000) imp = imp + 1000; Esle { imp = imp + 0.10 * imponible; exit(0); } If ( imponible > 20000) imp = imp + 1200; Else { imp = imp + 0.12 * (imponible – 10000); exit(0);} If (imponible > 30000) imp = imp +1500; Else { imp = imp + 0.15 * (imponible -20000); exit(0);} If (imponible < 40000){ imp = imp + 0.18 * (imponible -30000); exit (0); } else imp = imp + 1800 + 0.20 * (imponible – 40000); Mejorando con estructuras de datos el código anterior. Considerando: for (int i = 1, level =0; i <= 5; i++){ if (imponible > franja [i]){ level = level +1; } } Imp = base[level] + porcentaje [level] * (imponible – franja [level]); 20 5500 40000 18 3700 30000 15 2200 20000 12 1000 10000 10 0 0 Porcentaje Base Franja
14. Pautas para la programación Estructuras de Datos Determinar una estructura de programa utilizando una estructura de datos. En general, las estructuras de datos pueden influir en la organización y flujo de un programa. En algunos casos, las estructuras incluso pueden influir en la selección del lenguaje. Ejemplo: LISP: lenguaje preparado para operar con un procesador de listas. Contiene estructuras que lo hacen más atractivo para el trabajo con listas. ADA y EIFFEL: contienen estructuras apropiadas para el manejo de excepciones. En general, es conveniente considerar cuidadosamente las estructuras de datos, en el momento de decidir qué lenguaje se usará para la implementación del diseño.
15.
16.
17.
18. Documentación Se considera como documentación del programa al conjunto de descripciones escritas que explican al lector qué hace el programa y cómo lo hace. La documentación interna es el material descriptivo, escrito directamente dentro del código, y cualquier otra documentación es externo. Documentación interna Información dirigida a quienes leerán el código fuente del programa. Se incluye información sumaria para identificar el programa y describir el algoritmos, estructuras de datos y flujo de control. Usualmente esta información se ubica al comienzo de cada componente en un conjunto de comentarios que se denomina bloque de encabezamiento.
19.
20.
21. Documentación Documentación interna Nombres de variables y etiquetas con significado Seleccionar nombres de variables y enunciados que reflejen su utilización o significado. Dar formato para mejorar la comprensión Mediante indentado y espaciado se puede reflejar la estructura básica del sistema. Weinberg (1971) recomienda un formato para las sentencias donde los comentarios aparezcan en uno de los lados de la pagina y la sentencia en el otro. int i =0; If ( i++ == 0) { //comentario 1 acción; //comentario 2 }
22. Documentación Documentación externa Está documentación se prepara para ser leída incluso por quienes tal vez nunca verán el código real. Este documento explica de forma más amplia el código que los comentarios. Descripción del sistema Se debe tratar el problema tratado por el componente. No como una replica de la especificación de requerimientos, sino que es una discusión general de la situación, explicando cuando se invoca el componente y por qué se lo necesita. Descripción de los algoritmos Deben explicarse todos los algoritmos utilizados en el componente, incluyendo formulas, condiciones especiales o de límite, e inclusive su derivación, o bien la referencia al libro o articulo del cuál se ha extraido.
23. Documentación Documentación externa Descripción de los datos Los diagramas de flujo de datos deben ir acompañados por las referencias relevantes del diccionario de datos. Para los componentes de precedencia orientada a objetos, la vista general de objetos y clases debe explicar la interacción general entre los objetos.