Trabajo Práctico Ingeniería De SW Sistema de Defensa antiaérea Agüero, Mariano - Aguilera, German - Bustos, Maximiliano - Sureda, José UNC - Facultad de Ciencias Exactas, Físicas y Naturales. Julio 2012 - v 1.0.0
PLAN DE MANEJO DE LAS CONFIGURACIONES
Control de Versiones: Subversion CI – Items bajo configuración: Directorios Archivos
Clientes gráficos utilizados: Repositorio: Google Project Hosting Clientes gráficos utilizados: RabbitVCS SVN Tortoise SVN
Esquema de directorios Propósito del Directorio trunk Rama principal del programa. tags Etiquetas para ciertas versiones del proyecto. Ej Releases branches Ramas derivadas de la principal para los desarrolladores. documentos Alojamiento para los documentos del proyecto: CMP, SRS, informeFinal, etc wiki Subiremos recursos e información que nos ayude a desarrollar el proyecto.
ESQUEMAS DE RAMAS UTILIZADOS UCM Lean and Lazy Para los Documentos Para el Código
REQUERIMIENTOS
Diagramas de Casos de Usos
Diagramas de Casos de Usos
Diagramas de Secuencia
Diagrama de Actividades
Matriz de Trazabilidad Requerimiento Diagramas Usuario Casos de Uso Secuencia Sistema UR1.1 CU1.1 SE1.1 SR1.1 UR1.2 CU1.2 SE1.2.1 SR1.2 SR1.3 UR1.3 SE1.2.2 SR1.4 SR1.5 UR1.4 SR1.15 UR1.5 SE1.2.3 SR1.6 SR1.16 SR1.17 UR1.6 SR1.7 SR1.8 UR1.7 SR1.9 UR1.8 SR1.10 UR1.9 SR1.11 UR1.10 SR1.12 UR1.11 SR1.13 UR1.12 SR1.14 UR2.1 CU2.1 SE2.1 revisar UR2.2 SR2.2 UR2.3 SR2.3 UR2.4 SR2.4 UR2.5 CU4.3 SR2.5 UR2.6 SR2.6 UR2.7 SR2.7 UR2.8 UR2.9 SR2.1 UR3.1 CU3.2 SR3.1 UR3.2 SR3.2 UR3.3 SR3.3 UR3.4 SR3.5 UR3.5 SR3.6 UR3.6 SR3.4 UR4.1 SR4.1 - SR4.2 UR4.2 UR4.3 UR4.4 CU4.4 SR4.3 - SR4.4 - SR4.5 UR4.5 SR4.6 UR4.6 SR4.7 UR4.7 SR4.8 UR4.8 SR4.9 UR4.9 SR4.10 UR5.1 CU5.1 SE5.1 SR5.1 - SR5.2 UR5.2 SR5.3 UR5.3 SR5.4 UR5.4 UR5.5 SR5.5 UR5.6 SR5.2 UR5.7 SR5.6 UR5.8 SR5.7 UR5.9 UR6.1 SR6.1 … SR6.6 UR7.1 SR7.1 UR7.2 SR7.5 UR7.3 SR7.2 - SR7.3 - SR7.4 UR7.4 UR8.1
ARQUITECTURA
El patrón de arquitectura a utilizar es el de control - centralizado - Modelo del Administrador, para la simulación. También se implementó una arquitectura cliente/servidor ya que tenemos varios componentes como ser: el radar, la unidad de control y los objetos voladores que utilizan un protocolo de comunicación entre ellos.
Diagrama de Despliegue
Diagrama de Componentes
Diagrama de Contexto
DISEÑO E IMPLEMENTACIÓN
Patrones de Diseño Utilizados Singleton: Es un patrón simple, cuyo objetivo es garantizar que determi-nadas clases solo puedan ser instanciadas una sola vez. Observer: Su objetivo es definir una dependencia uno-a-muchos entre objetos, de tal forma que cuando el objeto cambie de estado, todos sus objetos dependientes sean notificados automáticamente. Se trata de desacoplar la clase de los objetos clientes del objeto, aumentando la modu-laridad del lenguaje, creando las mínimas dependencias y evitando bucles de actualización.
Diagrama de Clases
Diagrama de Paquetes
PRUEBAS DE SW
JUnit en Eclipse
TDD – Desarrollo guiado por pruebas Selecciono un requerimiento: Se elige de una lista el requerimiento que se cree que nos dará mayor conocimiento del problema y que a la vez sea fácilmente implementable. Escribir una prueba: Se comienza escribiendo una prueba para el requisito. Verificar que la prueba falla: Si la prueba no falla es porque el requerimiento ya estaba implementado o porque la prueba es errónea. Escribir la implementación: Escribir el código más sencillo que haga que la prueba funcione. Ejecutar las pruebas automatizadas: Verificar si todo el conjunto de pruebas funciona correctamente. Actualización de Requerimientos: Modificamos, agregamos o quitamos requerimientos basado en el análisis de la implementación y el resultado de las pruebas.
Matriz de Trazabilidad Requerimiento Diagramas Prueba Usuario Casos de Uso Secuencia Sistema Unitaria UNFR1 TS3 UNFR2 TS1 UR1.1 CU1.1 SE1.1 SR1.1 UR1.2 CU1.2 SE1.2.1 SR1.2 - SR1.3 TU1.1 UR1.3 SE1.2.2 SR1.4 - SR1.5 TU1.3 - TU1.4 UR1.4 SR1.15 UR1.5 SE1.2.3 SR1.6 - SR16 - SR17 UR1.6 SR1.7 - SR1.8 TU1.1 - TU1.4 UR1.7 SR1.9 UR1.8 SR1.10 UR1.9 SR1.11 UR1.10 SR1.12 UR1.11 SR1.13 TU1.3 - TU1.5 UR1.12 SR1.14 UR2.1 CU2.1 SE2.1 revisar TU2.1 - TU2.2 UR2.2 SR2.2 UR2.3 SR2.3 UR2.4 SR2.4 UR2.5 CU4.3 SR2.5 TU2.3 UR2.6 SR2.6 UR2.7 SR2.7 UR2.8 UR2.9 SR2.1 UR3.1 CU3.2 SR3.1 TU3.2 - TU3.3 UR3.2 SR3.2 TU3.1 UR3.3 SR3.3 UR3.4 SR3.5 UR3.5 SR3.6 UR3.6 SR3.4 UR4.1 SR4.1 - SR4.2 TU4.1 - TU3.2 TU5.3 UR4.2 TU3.2 UR4.3 UR4.4 CU4.4 SR4.3 - SR4.4 - SR4.5 TU4.1 - TU5.1 UR4.5 SR4.6 UR4.6 SR4.7 TU5.2 UR4.7 SR4.8 UR4.8 SR4.9 UR4.9 SR4.10 UR5.1 CU5.1 SE5.1 SR5.1 - SR5.2 UR5.2 SR5.3 TU5.3 UR5.3 SR5.4 UR5.4 UR5.5 SR5.5 TU5.5 UR5.6 SR5.2 UR5.7 SR5.6 UR5.8 SR5.7 UR5.9 UR6.1 SR6.1 hasta SR6.6 UR7.1 SR7.1 TU7.1 UR7.2 SR7.5 UR7.3 SR7.2 - SR7.3 - SR7.4 UR7.4 UR8.1 TU8.1 - TU8.2
ESTIMACIONES
Tamaño LOCs PROMEDIO DE TAMAÑO (T2) = 1859 líneas de código PERT: PERT = (OPT+4*MPROB+PES)/6 TOTAL PERT = 2167 líneas de código INTERMEDIARIOS: TOTAL INTERMEDIARIOS = 1550 líneas de código PERT (En cantidad líneas de código) Optimista Más Probable Pesimista 1000 2000 3000 INTERMEDIARIOS (En cantidad líneas de código) Componentes Nombre Cantidad Prom. LOCs/Comp. LOCs Clases Simples 5 50 250 Clases Promedio 1 100 Clases Complejas 2 300 600 Interfaces 3 200 PROMEDIO DE TAMAÑO (T2) = 1859 líneas de código
PROMEDIO DE ESFUERZO (E2) = 7 Personas Mes Esfuerzo Personas Mes Datos Históricos Tamaño (T1) Esfuerzo (E1) Duración (D1) Simulación del Tráfico de Internet (AED) 1400 3 LOCs PMs Meses ANALOGÍA SIMPLE: E2 = (T2*E1)/T1 TOTAL ANALOGÍA SIMPLE (E2) = 4 Personas Mes ECUACIONES SIMPLES: Watson Felix: Esfuerzo [PMs] = 5.2 * Tamaño [KLOC] ^ 0.91 TOTAL ECUACIONES SIMPLES = 9 Personas Mes PROMEDIO DE ESFUERZO (E2) = 7 Personas Mes
PROMEDIO DE DURACIÓN (D2) = 5 Meses Duración Meses ANALOGÍA SIMPLE: D2 = D1 (E2/E1) ^ (1/3) TOTAL ANALOGÍA SIMPLE (D2) = 4 Meses ECUACIONES SIMPLES: Regla de McConnell: Duración [M] = 3 * E2 ^ (1/3) TOTAL ECUACIONES SIMPLES = 6 Meses PROMEDIO DE DURACIÓN (D2) = 5 Meses
Datos Históricos TOTAL ESFUERZO = 204 Personas Horas Tarea Duración Esfuerzo (Phs) Participantes Manejo de las Configuraciones 5 hs 4 20 Agüero - Aguilera - Bustos - Sureda Requerimientos 28 hs 112 Arquitectura 14 hs 2 28 Aguilera - Sureda Diseño e Implementación Agüero - Bustos Pruebas Unitarias y de Sistema 5hs 10 Estimaciones y Datos Históricos 3hs 6 TOTAL ESFUERZO = 204 Personas Horas