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