Vous êtes sur la page 1sur 12

Trabajo de Investigacin de Ingeniera en Sistemas III.

Profesor:

ProjectCodeMeter

Lic. Hairol Romero Sand.

Alumnos: Diego Montenegro M Ariel Villareal H.

I Ciclo, Ao 2013

Contenido

Introduccin
Todo proyecto de ingeniera de software debe inicializarse con una buena planificacin, sin embargo, es una tarea nada trivial. Uno de los aspectos que dificultan la labor de jefes de proyecto y analistas en torno a la planificacin es la difcil labor de realizar una estimacin de costos y plazos con una precisin realista. La estimacin es ms arte que ciencia; tambin es parte de la etapa de la planificacin y algunas actividades de la ingeniera. Existen tcnicas para la estimacin de costos, pero para ello se requiere experiencia, acceso a una buena informacin histrica y coraje para confiar en medidas cuantitativas cuando todo lo que existe son datos cualitativos. Por ello, se va a realizar un anlisis de una herramienta como ProjectCodeMeter que facilite esta difcil responsabilidad.

Qu es ProjectCodeMeter?
ProjectCodeMeter es una herramienta de software profesional para gerentes de proyecto con el propsito de medir y calcular el tiempo, costo, complejidad, calidad y mantenibilidad de los proyectos de software, as como la productividad del equipo de desarrollo mediante el anlisis de su cdigo fuente. El uso de un algoritmo de software moderno tamao llamado ponderado de Puntos de Funcin Micro (WMFP) un sucesor a mtodos ancestrales cientficas como COCOMO, COSYSMO, ndice de mantenimiento, complejidad ciclomtica y complejidad Halstead, produce resultados ms exactos que las herramientas tradicionales de dimensionado de software, siendo ms rpido y ms fcil de configurar. Mediante el uso de ProjectCodeMeter un jefe de proyecto puede tener una visin de un desarrollo de cdigo fuente en cuestin de minutos, ahorrando horas de navegacin a travs del cdigo. [1]

Historia
Investigadores y profesionales de software se han ocupado de los problemas de estimacin de esfuerzo para proyectos de desarrollo de software por lo menos desde la dcada de 1960. La mayor parte de la investigacin se ha centrado en la construccin de modelos de estimacin de esfuerzo del software formales. [2] Los productos ms comunes de estimacin tal vez hoy en da, por ejemplo, los modelos formales de estimacin COCOMO y SLIM tienen su base en la investigacin de la estimacin realizada en la dcada de 1970 y 1980. La estimacin de los enfoques basados en la funcionalidad de las medidas por el

tamao, por ejemplo, puntos de funcin, tambin proviene de la investigacin llevada a cabo en los aos 1970 y 1980, pero se vuelven a aparecer con medidas de tamao modificados bajo diferentes etiquetas como es el caso de COSMIC en la dcada de 2000. [3] En eras ms actuales, surge una pequea empresa puesta en marcha llamada ProjectCodeMeter, que desarrolla un software bajo el mismo nombre en Israel y con su mercanca distribuida por los Estados Unidos. La primera versin de ProjectCodeMeter fue lanzada en noviembre del 2010. menores y se han realizado correcciones de errores. [4] Con la versin actual la 1.26 han sido mejorados los informes, elementos de confort

Caractersticas relevantes
. Produce resultados estndar, objetivos, reproducibles y comparables de la estimacin de tiempo y costes Comparacin diferencial entre dos versiones de cdigo fuente para el anlisis de actualizaciones realizadas y otros aspectos. Analiza archivos fuente de C, C++, C#, J#, Java, PHP, Objective C, JavaScript, secuencias de comandos UnrealEngine, Flash ActionScript, D DigitalMars. Genera informes compatibles con CSV, HTML y Microsoft Excel (consulta los ejemplos de informe) Incluye motor de plantilla de informe configurable para la generacin de informes personalizados Produce estimaciones de esfuerzo y coste utilizando WMFP, COCOMO 81, COCOMO II 2000 y 9.2 Revic, para la comparacin. Cuenta con varias mtricas de cdigo: flujo de complejidad, LOC lgico, comentarios, constantes, cadenas y muchos ms Operacin de la lnea de comandos opcional para el procesamiento por lotes Advierte sobre cuestiones de calidad de cdigo como comentario insuficiente o estructura de cdigo compleja.

Requerimientos de sistema
- Mouse (u otro dispositivo sealador como touchpad o pantalla tctil) - Windows NT 5 o superior (Windows XP / 2000/2003 / Vista / 7) - Adobe Flash plug-in ActiveX 9.0 o ms reciente para Internet Explorer - Resolucin de la pantalla 1024x768 color de 16 bits o superior - Conexin a Internet (para la activacin de la licencia solamente) - Al menos 50 MB de espacio de almacenamiento en disco grabable Opcionalmente recomendado: - WinMerge instalado (para ver las diferencias textuales de archivos) - Microsoft Office Excel instalado (para la edicin de los informes).

Funciones destacadas de la herramienta


Estimacin de costes en el Desarrollo de Software ProjectCodeMeter mide el esfuerzo de desarrollo realizado para la aplicacin de un diseo de proyecto en cdigo (por un programador promedio), incluyendo: codificacin, depuracin, la refactorizacin cdigo nominal y revisin, comprobacin y correccin de errores. En esencia, el software est destinado a responder a la pregunta: "Cunto tiempo hara falta para que un programador medio desarrolle este software?", que es la cuestin clave para poner una etiqueta de precio a un esfuerzo de desarrollo de software. [1]

Evaluacin de productividad en el desarrollo de software La evaluacin de la productividad de su equipo de desarrollo es un factor importante en la toma de decisiones administrativas, que influyen en muchos aspectos en la gestin de proyectos, incluyendo: las asignaciones de funciones, el horario o la evolucin de la competitividad de mercado.

ProjectCodeMeter permite a un gerente de proyecto seguir de cerca el progreso del cdigo fuente en cuestin de minutos consiguiendo una indicacin inmediata de si la productividad ha disminuido. [1] Dimensionado de software La medicin del tiempo producida por ProjectCodeMeter da un estndar, un valor objetivo, reproducible y comparable para la evaluacin del tamao del software, incluso en los casos en que dos cdigos de software contienen el mismo nmero de lneas el valor puede ser diferente. [1] Inspeccin de calidad de cdigo Las mtricas de cdigo producidas por ProjectCodeMeter dan una indicacin de algunas cualidades bsicas y esenciales de cdigo fuente que afectan el mantenimiento, la reutilizacin y la revisin por pares. ProjectCodeMeter tambin muestra avisos textuales si cualquiera de estos parmetros presentan un problema. [1] Medir un proyecto existente Este proceso permite medir el costo de programacin y el tiempo invertido en un proyecto de software existente de acuerdo con el Algoritmo WMFP. Este proceso es til en la evaluacin del esfuerzo (horas de trabajo) de un nico desarrollador o un equipo de desarrollo. [1] Creacin de Reportes Cuando termina el anlisis, varios archivos de informe se crean en la carpeta del proyecto. La mayora de los informes estn disponibles en 2 versiones: archivos HTM y CSV. Los Archivos HTM estn en el mismo formato que las pginas web (HTML) y pueden ser ledos por cualquier navegador de Internet (como Internet Explorer, Firefox, Opera), pero tambin pueden ser ledos por la mayora de las aplicaciones de hoja de clculo (como Microsoft Excel, Gnumeric, LibreOffice Calc).

Los archivos CSV se encuentran en formato simplificado y estndar que puede ser ledo por cualquier aplicacin de hoja de clculo (como Spread32, Office Mobile, Microsoft Excel, LibreOffice Calc, OpenOffice Calc, Gnumeric), sin embargo este tipo de archivo no admite colores, y algunos hojas de clculo no muestran o guardan frmulas correctamente. [1] Amplio soporte de lenguajes ProjectCodeMeter soporta muchos lenguajes de programacin, como C, C + +, C #, Java, ObjectiveC, DigitalMars D, Javascript, JScript, Flash ActionScript, UnrealEngine, PHP, entre otros. [1]

Plataformas soportadas
ProjectCodeMeter se caracteriza por su amplia compatibilidad con los sistemas operativos ms populares:
Operating Systems:

Sistema operativo

Popularidad

Estabilidad

Nivel de documentacin

Microsoft Windows Popular 2000, 2003, XP, ES, PE, Vista, Seven Microsoft Windows 3.11, 95, 98, 98, SE,

Estable

Excelente

Funcional

Bueno

Millenium, Linux distros: (major Popular Estable Excelente

Ubuntu, RedHat/Fedora, Mandriva, Puppy, DSL, Slax, Suse)

MacOSX Symbian Android Apple iPhone IOS Popular

Funcional Estable Funcional

Ms o menos Bueno Excelente

Algoritmos
WMFP Es un moderno algoritmo de dimensionado de software creado por Logical Solutions en el 2009. Se produce resultados ms precisos que las herramientas tradicionales de dimensionado de software, mientras que requiere menos configuracin y el conocimiento por parte del usuario final, ya que la mayora de la estimacin se basa en la medicin automtica de un cdigo fuente existente. WMFP utiliza un analizador para entender el cdigo fuente descomponindolo en micro funciones, y derivar la complejidad de varios cdigos y mtricas de volumen que luego se interpolan de forma dinmica en una puntuacin de esfuerzo final. Utiliza un conjunto de variables de medicin representadas por un porcentaje de todo el esfuerzo del proyecto, algunas de ellas son: Complejidad aritmtica (AI) - Medidas de la complejidad de los clculos aritmticos en el programa. Comentarios (CM) - mide la cantidad de esfuerzo dedicado a escribir comentarios del programa Transferencia de datos (DT) - Mide la manipulacin de estructuras de datos dentro del programa Estructura de cdigo (CS) - Mide la cantidad de esfuerzo invertido en la estructura del programa, tales como la separacin de cdigo en clases y funciones

El algoritmo WMFP utiliza un proceso de 3 etapas: anlisis de funcin, transformacin APPW y traduccin del resultado. [1]

Modelo APPW APPW es un modelo de costes de Ingeniera de Software Estadstico diseado por Logical Solutions en el 2009. Est estrechamente integrado al algoritmo de WMFP para completar la informacin necesaria de los parmetros medidos proporcionados por el anlisis WMFP. Es muy adecuado para la evaluacin de proyectos de software comerciales, tanto que el modelo asume varias condiciones previas esenciales para el desarrollo de proyectos comerciales: A. Los programadores tienen experiencia con el idioma, la plataforma de desarrollo, metodologas y herramientas necesarias para el proyecto.

B. El diseo del proyecto y el pliego de condiciones se haban escrito, o una etapa de diseo funcional se mide separadamente. [1] Otros algoritmos usados por ProjectCodeMeter:

COCOMO: es un modelo matemtico de base emprica utilizado para estimacin de costos de software. Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximacin, cada vez mayor, a medida que avanza el proceso de desarrollo del software: bsico, intermedio y detallado. Pertenece a la categora de modelos de subestimaciones basados en estimaciones matemticas. Est orientado a la magnitud del producto final, midiendo el "tamao" del proyecto, en lneas de cdigo principalmente. [1] REVIC: conocido como COCOMO Intermedio, es un modelo de costos de desarrollo de software financiado por la Agencia de Anlisis de Costo de la Fuerza Area (AFCAA), que predice los costos del ciclo de vida de desarrollo para el desarrollo de software, desde el anlisis de requerimientos hasta su finalizacin de las pruebas de aceptacin del software y del ciclo de vida de mantenimiento durante quince aos. Proporciona un conjunto de ecuaciones bsicas de clculo del esfuerzo (mano de obra en meses-hombre y horas) y horario (el tiempo transcurrido en el mes calendario) para llevar a cabo proyectos tpicos de desarrollo de software basado en una estimacin de las lneas de cdigo y una descripcin del entorno de desarrollo. [1]

Por qu utilizar ProjectCodeMeter?


1. Inteligente analizador, examina y entiende el cdigo, no slo acta como

contador de lneas.
2. Ayuda a eliminar redundancias en el cdigo fuente midiendo la

productividad del mismo.


3. Algoritmo de anlisis automtico deja menos para la discrecin humana,

por lo tanto es ms fcil de configurar y menos propenso a errores.


4. Anlisis veloz puede verificar ms de 5 MB de cdigo fuente por minuto

5. Aplicacin de escritorio seguro, el archivo fuente nunca abandonan la

PC. La aplicacin principal no se conecta a internet, solamente el administrador de licencias con aprobacin del usuario.
6. ProjectCodeMeter puede ser operado por un no-desarrollador y por lo

general produce resultados ms precisos en una fraccin del tiempo y esfuerzo que los mtodos de estimacin tradicionales. [1]

Conclusiones
Con la realizacin de este trabajo se ha ampliado el conocimiento de estimacin de costos, el cual es fundamental para un administrador de proyecto o analista por el hecho de que es el factor crucial . El manejador de costo principal para un proyecto de desarrollo de software es sin duda el tamao del producto. La medida del tamao debe ser tal que est en relacin directa con el esfuerzo de desarrollo, por lo que las mtricas de tamao tratan de considerar todos los aspectos que influyen en el costo, como tecnologa, tipos de recursos y complejidad. Realizar este clculo por personas puede resultar tedioso y un simple fallo podra acarrear un sin lmite de problemas ante una mala planificacin en el desarrollo de software. Por ello, es indispensable la existencia de software que facilite este tipo de clculos a travs de algoritmos y modelos aplicados a la medicin del coste del producto. Con lo investigado, se puede deducir que ProjectCodeMeter posee las caractersticas ideales para que un equipo de desarrolladores adapte su uso en la administracin de sus proyectos.

Recomendaciones
Es relevante, apoyarse de una herramienta que realice la estimacin de costos para que el proceso de planificacin sea ms gil y automatizado. Elegir ProjectCodeMeter al ser uno de los mejores software de estimacin existentes por caractersticas como: usar algoritmos ms eficientes que sus

predecesores para realizar la estimacin de la productividad y otros procesos, posee compatibilidad con casi todas las plataformas actuales sea windows o distros de linux o en ambiente mvil como en el caso de android. Ofrece la posibilidad de realizar reportes compatibles con Excel y otras aplicaciones de hojas de clculo. Tambin destacar su soporte a proyectos en varios lenguajes actuales de programacin, por estas y otras cualidades de relevancia es recomiendable su utilizacin tanto actual como posterior debido a que el prximo lanzamiento de una nueva versin esta programada para el 2014 con la inclusin de nuevos algoritmos que cambiarn el paradigma de la estimacin de costes.

Bibliografa
1. PCMProManual (2010). Israel: ProjectCodeMeter Documentation. Disponible en: http://www.projectcodemeter.com/cost_estimation/help/PCMProManual.pdf.

2. Farr, L. Nanus, B. "Factors that affect the cost of computer programming"

3. Anda, B. Angelvik, E. Ribu, K. "Improving Estimation Practices by Applying Use Case Models".

4. Support ProjectCodeMeter, <support@projectcodemeter.com>.History Review of ProjectCodeMeter [Correo electrnico]. 24 de abril 2013.