• No se han encontrado resultados

Junkode : documentador automático de código fuente.

N/A
N/A
Protected

Academic year: 2023

Share "Junkode : documentador automático de código fuente."

Copied!
295
0
0

Texto completo

NDepend es un analizador de código que genera informes de búsqueda con estadísticas objetivas sobre la calidad del código analizado. El gráfico de dependencia visualiza la arquitectura de la aplicación y las dependencias entre los componentes.

Problemas y Necesidades de nDepends

Relevamiento General

De la Organización

Funciones detectadas a nivel general y relaciones con otros Sistemas y Entidades

Insights Open Source, su solución SCA para controlar el riesgo de componentes de terceros y software de código abierto. Code Analysis es la herramienta de prueba de calidad de código de Kiuwan diseñada para desarrolladores e ingenieros de control de calidad.

Tecnología de información

Relevamiento detallado y análisis del sistema

Detalle, explicación y documentación detallada de todas las funciones seleccionadas

Para cargar el código, debe descargar una pequeña aplicación que sube el proyecto a la nube de Kiuwan. La solución de análisis de composición de software (SCA) de Kiuwan es responsable de detectar vulnerabilidades causadas por soluciones de terceros y software de código abierto.

Problemas y necesidades detectados en las funciones relevadas en detalle y en su entorno organizacional

Necesidad de análisis de código (SATS, SCA y QA): Ser capaz de hacer un análisis más amplio para que se pueda revisar la calidad del código. Necesidad de registro de resultados de análisis: Como se explicó en la función anterior, solo hay un registro de resultados de análisis de seguridad, esto lleva a la necesidad de que esta función muestre un registro más orientado a la calidad y la documentación.

Relevamiento General

De la Organización

Funciones detectadas a nivel general y relaciones con otros Sistemas y Entidades

Si el proyecto analizado no tiene un proyecto asignado explícitamente, se analizará con el perfil establecido como predeterminado para ese idioma. Este es un conjunto de condiciones que un proyecto debe cumplir antes de que pueda ser lanzado a producción.

Tecnología de información

Relevamiento detallado y análisis del Sistema

Detalle, explicación y documentación detallada de todas las funciones seleccionadas

En caso de que quieras hacer algo más especializado, puedes crear un nuevo perfil con las reglas adecuadas. Con esta función, puede definir una política que se debe cumplir para que un proyecto sea aprobado, es decir, debe cumplir con un conjunto de condiciones lógicas.

Problemas y necesidades detectados en las funciones relevadas en detalle y en su entorno organizacional

Relevamiento General

De la Organización

Funciones detectadas a nivel general y relaciones con otros Sistemas y Entidades

Tecnología de información

Relevamiento detallado y análisis del Sistema

Detalle, explicación y documentación detallada de todas las funciones seleccionadas

Cabe señalar que desde un apartado llamado Ajustes se pueden ver líneas provenientes de Céspedes Rodrigo, Fernández Q. En la sección Problemas, puede ver los problemas en detalle, clasificándolos por impacto y estado.

Problemas y necesidades detectados en las funciones relevadas en detalle y en su entorno organizacional

Relevamiento General

De la Organización

Funciones detectadas a nivel general y relaciones con otros Sistemas y Entidades

Tecnología de información

Relevamiento detallado y análisis del sistema

Detalle, explicación y documentación detallada de todas las funciones seleccionadas

Hay 2 formas de usar Veracode para el análisis de código, con un complemento en el IDE de Visual Studio Code o con el sitio web de Veracode. En el primer caso, el complemento debe estar instalado en el IDE de Visual Studio Code.

Problemas y necesidades detectados en las funciones relevadas en detalle y en su entorno organizacional

Módulo de Reportes: Este es el módulo encargado de reportar información con los datos recibidos de los dos módulos de análisis. El informe contiene un diagrama de clases y resultados de evaluación para cada una de las métricas mencionadas en el módulo Análisis de métricas.

Diseño

  • Objetivos
  • Alcances
  • Módulos del sistema Junkode
  • Diagrama de clases del negocio de Junkode
  • Historias de Usuario
  • Diagramas BPMN

Espero que las estadísticas y prácticas de los elementos de mi proyecto sean analizadas objetivamente. Espero que se genere una nueva entrada en la tabla de control del proyecto que informe la eliminación de esta instancia.

Desarrollo e Implementación

Recolección de la Información

Procesamiento de la información y Cálculo de las métricas

Persistencia en la base de datos

Elementos formativos disponibles en todo momento: para que el usuario pueda consultarlos y aprender a utilizar la herramienta sin estar atado a reuniones con horarios fijos. Inicio rápido: la duración de los segmentos debe ser corta para permitir a los usuarios un inicio rápido dentro de la funcionalidad de la herramienta.

Programa de Capacitación

Muestre cómo se guardan los resultados del análisis en función de su fecha de creación. Material: Una sección en la guía de inicio rápido e información detallada en el manual del usuario.

Pruebas de validación de ingreso de datos

Proyecto creado con el nombre "No hay archivos java" vinculado al repositorio "RepositorioSinJava" que no contiene archivos con la extensión ".java". Una advertencia que indica que el nombre del proyecto no debe contener sentencias SQL en su nombre.

Pruebas de lógica de los módulos principales

Corrija dónde se calcula la métrica "Número de niños", ya que solo cuenta el primer niño que tiene una clase, no todas las clases que heredan de ella. Figuras 17.2.f: Contenido de las clases de prueba de la rama "maestra" del repositorio de prueba.

Pruebas de integración entre módulos

Las métricas de clase se muestran sin mostrar las métricas de método o atributo. Solo son visibles las métricas de clase, no los atributos ni los métodos.

Pruebas de carga

Pruebas de seguridad por niveles de usuarios

Propósito Verificar que un usuario logueado con rol de usuario no pueda acceder a las funciones de los usuarios administradores. Estas funcionalidades se dividen en dos guías, la Guía del usuario y la Guía del administrador.

Programa de la Implementación de Junkode

  • Objetivos de la implementación
  • Recursos involucrados
  • Pertinencia de las actividades

Es por esto que se decidió aplicar un método de implementación directa, en el cual los servicios se irán desplegando y ampliando uno a uno, para que puedan ser consultados por los servicios que requieren que estén activos, pero que el objetivo final del plan de implementación es el despliegue de Junkode como un sistema único e integral. Esto se debe a que los servicios externos ya están conectados al servicio principal de Junkode y ya se probaron durante el desarrollo, por lo que no es necesario volver a hacerlo aquí.

Listado de tareas para la implementación

Una vez desplegados y conectados los servicios, se realizará una prueba final, que consiste en comprobar que el sistema ya integrado funciona correctamente y, por último, es necesaria una evaluación del despliegue ya realizado, comparando los objetivos de primero. con los resultados finalmente obtenidos. Descripción: el servicio principal de Junkode es el que contiene todos los servicios no mencionados en los pasos de implementación anteriores (comprensión, análisis de código, ABM de administración, módulos front-end, conexiones a otros servicios y documentación).

PLANIFICACIÓN DE PROYECTOS DE SISTEMAS

Definición y descripción de actividades

  • Etapa de Investigación
  • Etapa de Capacitación
  • Etapa de Diseño
  • Etapa de Desarrollo
  • Etapa de Testing
  • Etapa de Documentación
  • Etapa de Despliegue
  • Preparación

Pruebas de la base de datos: en lugar de probar la base de datos, en esta tarea se realizan pruebas en sus conexiones. Despliegue de base de datos: Esta tarea consiste en crear una base de datos en el servidor remotemysql.com.

Diagrama de tiempos

Equipo de trabajo (estructura, puestos, perfiles, cantidades)

Funciones principales de los miembros del equipo de trabajo

Funciones: Investigar las herramientas, metodologías, procesos y herramientas necesarias para llevar a cabo el proyecto y, a su vez, resumir, refinar y documentar esta información para que pueda compartirse con otros miembros del equipo. Deberes: El control de calidad de este proyecto no se limita al código, sino que también incluye documentación, investigación, presentaciones y materiales de la cátedra.

Métodos de comunicación formal, control de avance, retroalimentación, decisiones

  • Métodos de comunicación formal
  • Métodos de control de avance
  • Métodos de retroalimentación
  • Métodos de toma de decisiones

Para organizar las tareas se utiliza Trello, que es una herramienta en la que se colocan notas del tipo "post its". Las decisiones se toman en actas, en las que todos los miembros del equipo son llamados y debatidos.

Gestión de Configuración del Software: Método de gestión de versionado durante todo el proyecto

En cuanto al feedback interno (es decir, feedback de un miembro del equipo a otro), se ejerce a través del método de comunicación “Discord”, donde se realiza una reunión de 15 minutos, una vez por semana, en la que se felicitan las buenas acciones. no hubo un buen desempeño se corrigió. Los profesores las dan en reuniones presenciales en la Universidad y los usuarios del sistema pueden darlas a través de los contactos que tienen disponibles en el repositorio de GITHUB, e incluso pueden bifurcar el proyecto, hacer sus propios cambios y proponer los suyos. solicitudes de extracción.

Diagrama de recursos

Ambos se almacenan en un repositorio público de GITHUB, pero la configuración se almacena en una rama privada. De manera similar, cuando se implemente, la configuración estará dentro de un servidor de configuración respaldado por secretos de kubernetes.

Análisis de factibilidad

  • Factibilidad Técnica
  • Factibilidad Operativa
  • Factibilidad Legal
  • Factibilidad Económica
  • Factibilidad Financiera

También ayudan a mantener la herramienta no solo con su uso sino también con sus donaciones. Como se expresó en los puntos anteriores, el proyecto aprovecha la comunidad activa que participa en él.

Costos desagregados por recursos (personal, tecnología) con periodicidad mensual

Teniendo en cuenta que el número de consultas de la herramienta fue estimado, indicando un caso de sobrecarga (cada vez que se cobra $1.5 significa que hay un millón de lecturas y escrituras en la base de datos) y que se pierde una cantidad menor de dinero a $10 al año de ahora es algo que el equipo está dispuesto a aceptar, después de lo cual se concluye que el proyecto es financieramente viable. En otras palabras, el proyecto solo tiene que incurrir en costos si la demanda es demasiado grande y/o fluctuante (es decir, con picos y valles en la demanda de servicios).

Análisis de riesgos

La condición para contratar este servicio es que se almacenen más de 5 GB de metadatos y que Mongo Atlas ya no se pueda usar gratis (es importante aclarar que pagar por usar Mongo Atlas es más caro que cambiarse a AWS DynamoDB, la base de datos la modificación se haría con Spoon). También es importante aclarar en este punto que no se tiene en cuenta el espacio de almacenamiento que ocupan las copias de seguridad ya que se almacenan en cuentas de Google Drive que tienen hasta tres veces la capacidad de almacenamiento libre, por lo que las bases de datos accederán a sus datos. hasta 5 GB gratis, la copia de seguridad aún puede almacenar hasta 3 copias de seguridad completas de la base de datos.

Análisis de impacto ambiental

Tamaño: El tamaño es alto ya que permite desarrollar con metodologías ágiles que soluciona la generación de documentación. Signo: Es positivo porque se ofrece una nueva herramienta para ayudar a los desarrolladores de forma gratuita.

Conclusiones

De esta forma, podemos concluir que la fase del ciclo de vida del proyecto donde Junkode puede aportar más valor añadido es durante la implementación y el mantenimiento. Este último, aunque no es un objetivo explícito del proyecto, es una aspiración para el futuro y una contribución a la comunidad de desarrolladores de código abierto que tanto ha ayudado al equipo del proyecto Junkode.

TRABAJOS PRÁCTICOS INTEGRADORES

El objetivo es proporcionar a los desarrolladores un conjunto de herramientas para facilitar su trabajo y, en última instancia, establecer un precedente como una herramienta de documentación de código libre y de código abierto. Finalmente, Junkode es un proyecto que brinda todo lo necesario para mantener en el tiempo, ya que el principal factor requerido para esto es el factor humano, y los desarrolladores de Junkode lo demuestran a través del sistema operativo y las páginas de este documento, especialmente como cosas de equipo, profesionalmente

Glosario

Se utiliza en este proyecto tanto para medir la calidad del código como el rendimiento del sistema. PlantUML: una herramienta de código abierto que permite a los usuarios crear diagramas UML a partir de texto.

Índice de Pantallas y Figuras

Bibliografía y Referencias Bibliográficas

ANEXO N° 1 - DIAGRAMA GANTT E HISTOGRAMAS DE

JUNKODE - Documentador Automático de Código Fuente

22 LM David;Renzo;Sebastian Ramses Ramses Ramses Ramses Rodrigo Ramses Renzo Ramses Rodrigo David;Sebastian Rodrigo;Renzo;Ramses Renzo;Ramses;Rodrigo David;Rodrigo;Sebastian David;Ramses;Sebastian David;Renzo;Ramses;Sebastian; Rodrigo Ramses, Sebastian Renzo, Sebastian Ramses, Sebastian Ramses, Renzo Ramses, Renzo Ramses, Renzo Ramses, Renzo Ramses, Rodrigo Ramses, Renzo, Rodrigo Ramses, Renzo Ramses, Renzo Ramses, Renzo, Sebastian Ramses, Renzo, Sebastian Ramses, Renzo Ramses Renzo Ramses ;Sebastian Sebastian Junkode - bladsy2 164/295. 22 LMMJ David;Renzo;Sebastian Ramses Ramses Ramses Ramses Rodrigo Ramses Renzo Ramses Rodrigo David;Sebastian Rodrigo;Renzo;Ramses Renzo;Ramses;Rodrigo David;Rodrigo;Sebastian David;Ramses;Sebastian David;Renzo;Ramses;Sebastian;Renzo;Ramses ;Sebastián; Rodrigo Ramses, Sebastian Renzo, Sebastian Ramses, Sebastian Ramses, Renzo Ramses, Renzo Ramses, Renzo Ramses, Renzo Ramses, Rodrigo Ramses, Renzo, Rodrigo Ramses, Renzo Ramses, Renzo Ramses, Renzo, Sebastian Ramses, Renzo, Sebastian Ramses, Renzo Ramses Renzo Ramses ;Sebastian Sebastian Junkode - bladsy3.

ANEXO N° 2 - REGISTRO DE REUNIONES MODELO DEL

EQUIPO

Fecha Transcurrido Tiempo Asistentes Objetivos Tareas realizadas Tareas a realizar Documentación Responsable Personal o hs Girala, Ramsés Céspedes, Rodrigo Fernández, Renzo Flores, Sebastián Groisman, David. Girala, Ramsés Céspedes, Rodrigo Fernández, Renzo Flores, Sebastián Groisman, David Correcciones de horario.

ANEXO N° 3 - TABLA DE RIESGOS

Habrá un plan de contingencia en caso de caída, para desplegarlo en otro servicio de despliegue (reduce el impacto)12 Los servicios utilizados por el sistema pueden caer por alguna razón ajena al sistema, lo que lo deja fuera de servicio13313 La apertura Los proyectos de origen generalmente reciben contribuciones de la comunidad de desarrolladores que los usan para corregir los errores que encuentran. Estar actualizado en el uso de frameworks y estar siempre un paso por delante de los cambios (reduce la probabilidad) 13 Esta amenaza intenta que la comunidad deje de usar el sistema, provocando que no haya más foros, es decir, "deja de contar con soporte técnico”326.

ANEXO N° 4 - DIAGRAMA DE CLASES DEL NEGOCIO DE

JUNKODE

User + avatarUrl: String + githubid: long + username: String Project - Name: String - repoId: String - repoName: String Base # created: DateTime # createdBy: Guid # id: Guid # lastModified: DateTime # lastModifiedBy: Guid ProjectResult + brachName : String + branchSha: String. ClassDiagram + classDiagramPlantUmlId: String Constant + fileName: String + name: String + type: String + value: String + visibility: String DockerFile + path: String DockerInstruction + key: String + order: int + value: String.

ANEXO N° 5 - MODELO DE DATOS DE JUNKODE

ANEXO N° 6 - DIAGRAMAS BPMN

ANEXO N° 7 - PANTALLAS Y REPORTES DE JUNKODE

Referencias

Documento similar

 Alerta, mantenerse atento para emitir la señal de alarma: que indique que hay una emergencia, encargada: directora..  Evacuación de los niños: cada educadora