Está en la página 1de 2

Proyecto PSP

FASE 1
Escriba un programa en Java que reciba tres parámetros en donde se le envíe un archivo java o un directorio de archivos
java para ser procesados de acuerdo a un plan cargado a través de un archivo properties y así generar un reporte con
los tiempos/locs estimados para el plan y los tiempos/locs reales que resultan de calcular las anotaciones que se
encuentran en el(los) archivo(s) Java. Estas anotaciones permiten registrar el tiempo exacto dedicado a cada tarea al
igual que los tiempos de interrupciones durante cada una de ellas para así obtener un tiempo total (LogT-logI).

Los parámetros a recibir por la clase principal son lo siguientes:

-f FileName.java
-d JavaDirPath.java
-p FilePropertiesPath

Después de identificar el(los) archivo(s) .java a procesar deberá acceder a cada uno de ellos y procesar las siguientes
anotaciones con sus respectivos parámetros:

@LogT(date, taskId, time)


@LogI(date, intId, time)
@Plan(estTime, estSize)
@Loc(numLoc)

Los archivos que contienen las tareas del plan y las interrupciones posibles son los siguientes:

----------------------------------
Tasks.properties
----------------------------------
1=Crear clase principal|5
2=Crear Analizador de anotaciones|45
...
...
999=Miscelaneos

-----------------------------------
Interruptions.properties
-----------------------------------
1=Llamada personal
2=Enviar correo electrónico
3=Reunión de trabajo
4=Llamada del jefe
...
...
... (agregar interrupciones según vayan apareciendo)

Al finalizar el proceso de análisis de los archivos java debe mostrar un reporte con la siguiente información:

- t/loc planeado vs. t/loc real


- productividad loc/h
FASE 2
En la nueva fase vamos a procesar el plan de calidad de nuestro producto de software para ello debemos agregar la
posibilidad de procesar nuevos tipos de anotaciones, estos son los siguientes:

@PlanQ(PlaneaciónXY(x_injected, y_removed), design(), coding(), ...)


@LogD(defect_type, phase)

Para procesar dichas anotaciones agregaremos dos nuevos archivos que almacenarán las fases de desarrollo y los tipos
de defecto:

Se debe tener en cuenta que el plan anterior se mantiene y ahora agregamos un nuevo plan que incluye las actividades
de calidad.

-------------------------------
DefectTypes.properties
-------------------------------
1=Planning
2=Design
3=Coding
4=Inspecciones
5=Pruebas
6=Postmortem

Al finalizar demos mostrar un reporte con la siguiente información:

- #defectos inyectados cada 1000 loc


- En qué fase se presenta mayor número de defectos (para cada fase podemos usar un checklist de defectos
encontrados)

NOTA:

- Tanto para @Plan y @Loc debemos poder identificar a que fase o plan pertenecen.
- Se debe realizar el postmortem con las nuevas actividades del plan de calidad.

También podría gustarte