mit-fs / audit4improve-api Goto Github PK
View Code? Open in Web Editor NEWCódigo base usado como ejemplo en la asignatura Factorías de Software, de 1º del MUIT de la Universidad de Sevilla
Home Page: https://mit-fs.github.io/Audit4Improve-API/
Código base usado como ejemplo en la asignatura Factorías de Software, de 1º del MUIT de la Universidad de Sevilla
Home Page: https://mit-fs.github.io/Audit4Improve-API/
Debe realizarse el pull request sobre la rama FontConfiguration
Como desarrollador de aplicaciones quiero disponer de una interfaz para gestionar convenciones de repositorio, para personalizar las políticas de empresa respecto a los requisitos impuestos a la gestión de repositorios y así obtener indicadores de interés
Realizar los tests para la tarea #31
Extensión de Context.java para formato de fuente
Implementación del método getMetricFont de la clase Context y corregir getDefaultFont. Deberán leer las propiedades adecuadas del fichero de configuración (como color, tamaño, tipo... ) y construir un objeto Font con estas propiedades. Dado que la clase java.awt.Font no incluye el color será necesario crear una nueva clase que incluya esta característica (se puede reutilizar java.awt.Font)
Debe realizarse el pull request sobre la rama FontConfiguration
Como programador de aplicaciones me gustaría poder persistir tanto las métricas recopiladas como los indicadores calculados en documentos excel, para facilitar la valoración de las mismas y la obtención de indicadores
Ideas de convenciones de repositorio:
Definición de la estrategia de gestión de ramas
Nombres de ramas que se deben usar
Nombres de ramas que tienen que existir
Ramas que no pueden tener commits directos
Reglas de cuándo realizar fusiones de ramas
Reglas de etiquetado de versiones
Límites temporales entre solicitud de pull-request y resolución del mismo
Límites de solicitudes de pull-request rechazados seguidos
Será necesario verificar ambas interfaces
Detalles en el issue #51
Codificar los tests par ala interfaz IndicatorsConfiguration (la implementación correspondiente)
Revisar el issue #41 para más detalles
Como Jefe de Proyecto Quiero consultar las tareas/actividades que se han cerrado durante la semana Para poder analizar la evolución del proyecto
Modificar la declaración de indicadores para que permita establecer los límites para los estados
OK, WARNING y CRITICAL, definidos en IndicatorI.IndicatorState
Al leer la información del indicador se deben leer también estos límites, por lo tanto se requiere modificar el método isDefinedIndicator de IndicatorConfiguration para que el mapa devuelto incluya también estos límites
Debe realizarse el pull request sobre la rama IndicatorState
Como Jefe de proyecto Quiero poder obtener un informe que me muestre información de la situación actual del proyecto Para poder evaluar la situación del mismo
Crear los tests para Report y ReportManager
Terminar de depurar y optimizar los cambios introducidos
Como Jefe de Proyecto Quiero poder consultar actividades o tareas que están incumpliendo los plazos establecidos Para poder identificar puntos críticos en la ejecución el proyecto y ejecutar acciones de mejora
Como Jefe de Proyecto Quiero ver un informe cada lunes con actividades que vencen esa semana Para planificar la semana
Como Jefe de Recursos Humanos Quiero poder obtener un informe que me muestre detalles de la actividad de un programador Para poder evaluar el rendimiento de un programador
Como Gestor de la Empresa Quiero establecer los criterios y convenciones de calidad para los repositorios de la empresa Para asegurar la uniformidad y calidad en los repositorios de código
Es necesario implementar el método deleteReport de la clase ExcelReportManager, que debe eliminar un informe en excel
Hacer el pull request a la rama ExcelReportManager
Debe realizarse el pull request sobre la rama IndicatorState
Terminar de implementar el método getDefaultFont() de la clase Context. Se dice que si no se ha establecido un valor por defecto que se crea una fuente simple. Si se da el caso y no está definida previamente en resources/a4i.conf se propone que la nueva fuente simple se guarde en dicho fichero (si es posible).
Implementar los métodos de Context.java que estaban pendientes
Añadir la gestión de las propiedades de fuente en el fichero de configuración para Indicadores por estado:
Indicator.critical/warning/ok.
font.color/height/type
ATENCIÓN: Si existe configuración personalizada del cliente (appConfFile) sobreescribe a la establecida en el fichero por defecto (a4i.conf)
Comprobar antes a4i.conf
Implementar el método
public static Font getIndicatorFont(Indicator.State state) throws IOException
Revisar el modelo:
Repartir métodos a implementar y tests en la pareja, ambos deben codificar tanto tests como código
Como programador de aplicaciones quiero disponer de una interfaz que me permita gestionar las métricas e indicadores relacionadas con el ciclo de vida, para poder establecer y aplicar medidas personalizadas que permitan evaluar parámetros relacionados con el ciclo de vida del código
https://medium.com/swlh/software-development-metrics-automation-using-github-actions-30a51fd56df0
Ejemplos de indicadores del repositorio
Conteo de asentamientos (commits) de la última semana/El número de miembros del equipo responsable
Indicator.State getIndicatorState(indicator ReportITem)
Devuelve el estado del indicador considerando que en el fichero de configuración aparecerá:
Para cada indicador el campo "ranges", una lista con los detalles del estado del indicador para cada estado:
ranges[
{ "state":ok,
"min":x,
"max":100
},
{ "state":warning,
"min":y,
"max":x
},
{ "state":critical,
"min":0,
"max":y
}
]
Añadir los detalles para los indicadores por defecto
Revisar nuevo modelo:
Codificar los tests para ReportItem
Consutlar issue #44 para más información
Es necesario implementar los tests que verifiquen el método para eliminar un informe de un excel
Debe realizarse el pull request sobre la rama deleteReport
Como programador de aplicaciones quiero que la interfaz de gestión de issues me permita obtener todos los issues con la fecha sobrepasada que estén en estado abierto y no en la columna de terminados
Implementación del método getMetricFont de la clase Context, que devuelve la configuración de la fuente a utilizar para las métricas.Dado que la clase java.awt.Font no incluye el color será necesario crear una nueva clase que incluya esta característica (se puede reutilizar java.awt.Font)
Implementar los tests para verificar los métodos getMetricFont y getDefaultFont
Debe realizarse el pull request sobre la rama FontConfiguration
Implementación del método getIndicatorState de la clase IndicatorConfiguration, para que establezca el estado correcto en el indicador pasado como parámetro en función de la configuración de límites de los estados (issue #82). Demás debe devolver el estado del indicador.
Debe realizarse el pull request sobre la rama IndicatorState
Ideas de convenciones de proyecto
Nombres de las etiquetas que se deben usar
Nombres de las columnas que se deben usar
Etiquetas que deben existir siempre
Columnas que deben existir siempre
Obligación de incluir al menos una etiqueta en cada issue/tarea
Obligación de que el issue/tarea está asignado si está en una columna diferente a X, Y...
Obligación de que el issue esté cerrado si está en la columna Z
Implementar los tests para probar el issue #33
Implementar setIndicatorState de la clase Checker
Se desea modificar la clase checker para que se apoye en el uso de dos interfaces (y sus correspondientes implementaciones).
Esta tarea se centra la implementación de la clase MetricsConfiguration, que tiene al menos los miembros listAllMetrics, definedMetric y setAppMetrics. Los dos últimos equivalentes a los existentes en Checker, el primero devuelve una lista de Strings, con todas las métricas existentes.
Revisar nuevo modelo:
Repartir los métodos en la pareja de modo que los dos desarrolléis tanto tests como código
Se desea sustituir la clase checker por dos interfaces (y sus correspondientes implementaciones).
Esta tarea se centra la implementación de la clase IndicatorsConfiguration, que tiene al menos los miembros listAllIndicators, definedIndicator y setAppIndicators. Los dos últimos equivalentes a los existentes en Checker, el primero devuelve una lista de Strings, con todos los indicadores existentes.
Revisar nuevo modelo:
Como Gestor de la Empresa software Quiero Verificar si un repositorio cumple las convenciones establecidas en la empresa Para controlar la calidad de los repositorios de la empresa
Codificar los tests correspondientes a la interfaz Metricsconfiguration (la implementación correspondiente)
Revisar la tarea #39 para más información
Editar los tests para el issue #49
(la mitad cada miembro de la pareja)
Codificación de los tests para verificar la correcta extensión del IndicatorBuilder, que debe incluir el estado del indicador (mirrar issue #37)
Como Jefe de Proyecto Quiero ver un informe cada lunes con actividades que vencen esa semana Para planificar la semana
Implementar el método getIndicatorFont de la clase Context, que devuelve la configuración de la fuente para el estado de indicador que se pase como parámetro. Por ejemplo, el color de la fuente permite saber inmediatamente el estado de dicho indicador.
Las propiedades deben ser:
Font.OK/WARNING/CRITICAL.color
Font.OK/WARNING/CRITICAL.height
Font.OK/WARNING/CRITICAL.type
Para las propiedades no configuradas se usará el valor de configuración de fuente por defecto:
Font.default.color
Font.default.height
Font.default.type
Dado que la clase java.awt.Font no incluye el color será necesario crear una nueva clase que incluya esta característica (se puede reutilizar java.awt.Font)
Debe realizarse el pull request sobre la rama FontConfiguration
Como Jefe de Recursos Humanos Quiero poder obtener un informe que me muestre un listado de los programadores ordenado por rendimiento Para poder gestionar la eficiencia de la empresa
Debe realizarse el pull request sobre la rama IndicatorState
Codificar los tests correspondientes al issue #47, ver el mismo para más detalle
Como desarrollador de aplicaciones quiero una interfaz que me permita consultar los indicadores establecidos según las políticas de empresa, para facilitar la gestión de estos indicadores
indicador: índice de calidad calculado a partir de medidas conformes a las métricas de interés establecidas según las políticas de empresa
Escribir los tests para verificar que el issue #35 se ha implementado correctamente
Modificar persistIndicator de la clase ExcelReportManager
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.