Se deberá tomar el conjunto de programas que formen la aplicación a analizar, y realizar una serie de operaciones, que permitan la generación de información, con el objetivo de evaluar si la construcción obedece a los paradigmas del diseño modular y la programación estructurada. Los programas que forman parte de la aplicación a analizar, vendrán informados en un archivo, denominado, programas.txt (dentro de la carpeta programa_prueba). Cada línea en este archivo contendrá el camino completo al programa, incluido su nombre. En la primera línea del archivo, debe ir el programa en el que se encuentra el bloque principal de ejecución de la aplicación. Las líneas subsiguientes, contendrán aquellos programas que correspondan a librerías o módulos codificados por el usuario, y que también formen parte de la aplicación en cuestión.
Al inicio, la aplicación deberá tomar el conjunto de programas que se encuentran en programas.txt y procesarlos de forma tal de obtener como salida dos archivos:
fuente_unico.csv: contendrá sólo código. Debe excluir todo tipo de comentario. Incluirá todas las funciones que forman parte de la aplicación, en orden alfabético.
comentarios.csv: contendrá sólo comentarios y el nombre de la función.
Una vez realizado el proceso mencionado y habiendose generado los archivos correspondientes, se ofrecerá un menú de opciones que permita acceder a las funcionalidades:
1) Panel de funciones 2) Consulta de Funciones 3) Analizador de Reutalizacion de codigo 4) Arbol de invocacion 5) Informacion por desarrollador
Mediante esta opción se mostrará por pantalla, una tabla con la siguiente información por columna:
También genera el archivo “panel_general.csv”, en el cual cada línea del archivo contiene la información descripta en cada uno de los puntos.
Muestra una tabla con cada uno de los nombres de las funciones recibidas.
Debajo de la tabla, aparecerá el mensaje “Función: “, a la espera del ingreso de uno de los nombres listados seguido por alguno de los siguientes caracteres:
Continua solicitando el ingreso de nombres de funciones, hasta que el usuario sólo de enter.
Si el usuario ingresa “?todo”, se lista la información descripta, pero para cada una de las funciones por pantalla. De igual modo, si ingresa “#todo”.
Si el usuario ingresa “imprimir ?todo”, se envía al archivo "ayuda_funciones.txt" el contenido correspondiente.
Refleja mediante una tabla, quien invoca a quien/es, y quien es invocado por quien/es.
Dibuja un diagrama que gráfica la interacción entre las funciones, indicando quien llama a qué función.
Muestra por pantalla datos sobre la participación de cada uno de los integrantes en el desarrollo de la aplicación.
También genera la misma salida al archivo “participacion.txt”
Para correr esta aplicación deberá verificar que la ruta provista en "m_cargar_archivos.py" refleje la ruta que esté utilizando actualmente para que pueda ejecutarse la creación de los archivos .csv desde el archivo programas.txt.
Linea 209:
def funciones_por_modulo():
'''[Autor:Andres Guerrero]
[Ayuda:estructura que se encarga de cargar y hacer los cortes por rutas de los modulos,
modulo en el que se trabaja,funcion_analizada]
'''
archivo_fuente = open(r'.\programa_prueba\programas.txt','r')