Vous êtes sur la page 1sur 22

Analyze Visual Studio

Componentes .NET

Cdigo: PTL-GINF-003
<Nombre del activo>

Contenido
<Nombre de proyecto>..........................................................................................1
<Nombre del cliente>........................................................................................... 1
<Nombre del activo>: <Nombre especfico>.................................................................1
Contenido......................................................................................................... 2
Analyze............................................................................................................ 3
Pasos para la generacin de los resultados..................................................................3
Como analizar las graficas mostradas por el Visual Studio del Analyze
7
Detalles de la Funcin
10
Mtricas del cdigo
14
Historia de Cambios
16
Bibliografa
16

Confidencial

Heinsohn Business Technology

Pgina 2 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Introduccin
El Analyze es una Herramienta de Visual Studio Ultimate y Premium que permite a los
desarrolladores medir, evaluar y detectar los problemas relacionados con el rendimiento del
cdigo, esta herramienta es sencilla de usar y en este documento se muestra las dos manera mas
comunes que se utilizan que son, el resumen que muestra las caractersticas principales dela
herramienta y el reporte mas general sabiendo que este es el mas importante de la herramienta y
la raz de todo el ejercicio del anlisis de cargas del cdigo; la otra opcin es el detalle de la
funcin la cual muestra en que funciones toma mas tiempo de todo el que se gasto y se puede
introducir en ellos hasta llegar al mas pequeo.

Propsito
El propsito de este documento es dar a conocer e informar sobre la herramienta que posee
Visual Studio, la cual que permite medir, evaluar y detectar los problemas relacionados con el
rendimiento del cdigo.
El propsito de este documento es mostrar una herramienta que muestre que Visual Studio posee
una herramienta que permite medir, evaluar y detectar los problemas relacionados con el
rendimiento del cdigo.

Alcance
En este documento se muestra las dos manera mas comunes que se utilizan que son, el resumen
que muestra las caractersticas principales de la herramienta y el reporte mas general sabiendo
que este es el mas importante de la herramienta y la raz de todo el ejercicio del anlisis de
cargas del cdigo; la otra opcin es el detalle de la funcin la cual muestra en que funciones
toma mas tiempo de todo el que se gasto y se puede introducir en ellos hasta llegar al mas
pequeo.
El ejemplo con el que se trabajo este ejercicio se puede descargar de la siguiente URL:
http://archive.msdn.microsoft.com/VSTS2010B1PeopleTrax/Release/ProjectReleases.aspx?
ReleaseId=3157
Pasos para la generacin de los resultados.
1- Vaya a la opcin Analyze del men principal del Visual Studio y seleccione la opcin
Launch Performance Wizard.
Grafico 1

Confidencial

Heinsohn Business Technology

Pgina 3 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

2- Mostrar los pasos para generar los reportes de rendimiento de la aplicacin, primero
muestra la opcin specify the profiling method(especifique el mtodo del perfil), el por
defecto nos muestra CPU(Sampling) que es el recomendado y el que se necesita,
presionamos Next(1).
Indicadores
Muestreo CPU:
El mtodo de generacin de perfiles de muestreo recopila datos estadsticos sobre el
trabajo realizado por una aplicacin durante una generacin de perfiles. El mtodo de
muestreo consume pocos recursos y afecta poco a la ejecucin de los mtodos de la
aplicacin.
El muestreo es el mtodo predeterminado de las Herramientas de generacin de perfiles
de Microsoft Visual Studio Premium. Es til para lo siguiente:

Exploraciones iniciales del rendimiento de la aplicacin.

Investigacin de problemas de rendimiento que implican la utilizacin del


procesador (CPU).

El mtodo de generacin de perfiles de muestreo interrumpe el procesador del equipo a


intervalos establecidos y recopila la pila de llamadas a funcin. Los recuentos de
muestras exclusivos se incrementan para la funcin que se est ejecutando, mientras que
los recuentos inclusivos se incrementan para todas las funciones de llamada de la pila de
llamadas. Los informes de muestreo presentan los totales de estos recuentos para el
mdulo, la funcin, la lnea de cdigo fuente y la instruccin cuyos perfiles se estn
generando.
De forma predeterminada, el generador de perfiles establece el intervalo de muestreo en
los ciclos de la CPU. Puede cambiar el tipo de intervalo a otro contador de rendimiento
de la CPU y establecer el nmero de eventos de contador del intervalo. Tambin puede
recopilar datos de generacin de perfiles de interaccin de capa (TIP) que proporcionen
informacin sobre las consultas realizadas a una base de datos de SQL Server a travs de
ADO.NET.
Instrumentacin:

Confidencial

Heinsohn Business Technology

Pgina 4 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

El mtodo de generacin de perfiles de instrumentacin recopila informacin de tiempo


detallada de las llamadas a funciones en una aplicacin cuyos perfiles se estn
generando. La generacin de perfiles de instrumentacin es til para:
Investigacin de cuellos de botella de entrada o salida, como E/S de disco.
Examen exhaustivo de un mdulo determinado o un conjunto de funciones.
El mtodo de instrumentacin inserta cdigo en un archivo binario que captura
informacin de tiempo de cada funcin en el archivo instrumentado y de cada llamada de
funcin realizada por esas funciones. La instrumentacin tambin identifica cuando una
funcin llama al sistema operativo para operaciones como la escritura en un archivo. Los
informes de instrumentacin emplean cuatro valores para representar el tiempo total
invertido en una funcin o una lnea de cdigo fuente:

Inclusivo transcurrido: tiempo total dedicado a la ejecucin de la funcin o la


lnea de cdigo.

Inclusivo de aplicacin: tiempo dedicado a ejecutar la funcin o la lnea de


cdigo fuente, excluyendo el tiempo invertido en llamadas al sistema operativo.

Exclusivo transcurrido: tiempo dedicado a ejecutar el cdigo del cuerpo de la


funcin o la lnea de cdigo fuente. Se excluye el tiempo dedicado a ejecutar
funciones llamadas por la funcin o la lnea de cdigo fuente.

Exclusivo de aplicacin: tiempo dedicado a ejecutar el cdigo del cuerpo de la


funcin o la lnea de cdigo fuente. Se excluye el tiempo dedicado a ejecutar
llamadas al sistema operativo y el tiempo dedicado a ejecutar funciones llamadas
por la funcin o la lnea de cdigo fuente.

Con el mtodo de instrumentacin tambin puede recopilar contadores de rendimiento


de la CPU y el software.
Memoria .NET:
El mtodo de generacin de perfiles de asignacin de memoria de .NET interrumpe el
procesador del equipo en cada asignacin de un objeto de .NET Framework en una
aplicacin cuyos perfiles se estn generando. Cuando tambin se recopilan datos de
duracin de objetos, el generador de perfiles interrumpe el procesador despus de cada
recoleccin de elementos no utilizados de .NET Framework.
El generador de perfiles recopila informacin sobre el tipo, tamao y nmero de objetos
que se crearon en una asignacin o se destruyeron en una recoleccin de elementos no
utilizados.

Confidencial

Cuando se produce un evento de asignacin, el generador de perfiles recopila


informacin adicional sobre la pila de llamadas a funciones. Los recuentos de
asignacin exclusivos se incrementan para la funcin que se est ejecutando en
ese momento, mientras que los recuentos inclusivos se incrementan para todas
las funciones de llamada de la pila de llamadas. Los informes de .NET presentan
los totales de estos recuentos de los tipos, mdulos, funciones, lneas de cdigo
fuente e instrucciones cuyos perfiles se estn generando.

Heinsohn Business Technology

Pgina 5 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Cuando se produce una recoleccin de elementos no utilizados, el generador de


perfiles recopila datos sobre los objetos que se destruyeron y sobre los objetos de
cada generacin de recoleccin de elementos no utilizados. Al trmino de la
generacin de perfiles, el generador de perfiles registra datos sobre los objetos
que no se destruyeron de forma explcita. El informe Duracin del objeto muestra
los totales de cada tipo asignado en la generacin de perfiles.

La generacin de perfiles de memoria de .NET se puede utilizar en el modo de muestreo


o de instrumentacin. El modo que seleccione no afecta a los informes Asignacin y
Duracin del objeto, que son exclusivos de la generacin de perfiles de memoria de .NET:

Al ejecutar la generacin de perfiles de memoria de .NET en modo de muestreo,


el generador de perfiles de .NET utiliza los eventos de asignacin de memoria
como el intervalo y muestra el nmero de objetos que se asignaron y los bytes
totales que se asignaron como los valores inclusivo y exclusivo de los informes.

Al ejecutar la generacin de perfiles de memoria de .NET en modo de


instrumentacin, se recopila informacin de tiempo detallada junto con los
valores de asignacin inclusivo y exclusivo.

Concurrencia:
La generacin de perfiles de simultaneidad recopila informacin sobre las aplicaciones
multiproceso. La generacin de perfiles de contencin de recursos recopila informacin
detallada de la pila de llamadas cada vez que subprocesos competidores se ven a
obligados a esperar para obtener acceso a un recurso compartido. La visualizacin de
simultaneidad tambin recopila informacin ms general sobre la interaccin de su
aplicacin multiproceso consigo misma, el hardware, el sistema operativo y otros
procesos del equipo host.

Los informes de contencin de recursos muestran el nmero total de contenciones y el


tiempo total invertido esperando a un recurso por los mdulos, funciones, lneas del
cdigo fuente e instrucciones en los que se produjo la espera. Los grficos de escala de
tiempo tambin muestran las contenciones a medida que se produjeron.

El visualizador de simultaneidad muestra informacin grfica que se puede utilizar para


buscar cuellos de botella de rendimiento, infrautilizacin de la CPU, contencin de
subprocesos, migracin de subprocesos, retrasos de sincronizacin, reas de E/S
superpuestas y otra informacin. Cuando resulta posible, el grfico vincula a los datos de
la pila de llamadas y del cdigo fuente. Solo se pueden recopilar datos de visualizacin
de simultaneidad de la lnea de comandos y las aplicaciones Windows.
Grafico 2

Confidencial

Heinsohn Business Technology

Pgina 6 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

3- Nos mostrara las aplicaciones a las cuales se les puede hacer seguimiento en este caso
PeopleTrax, le damos Next.
Grafico 3

Confidencial

Heinsohn Business Technology

Pgina 7 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

4- Nos preguntara si deseamos lanzar la ejecucin de la aplicacin apenas termine la


configuracin a la cual le daremos que si y presionamos Finish.
Grafico 4

5- La aplicacin se ejecutara inmediatamente finalicemos las configuracin, en esta


hacemos el proceso al cual le queremos medir el rendimiento y luego la cerramos.
Grafico 5

6- El Visual Studio analizara el proceso que se ejecuto y mostrara los resultados.


Grafico 6

Confidencial

Heinsohn Business Technology

Pgina 8 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

7- Para finalizar la parte de creacin del anlisis de rendimiento de la aplicacin se


muestran las siguientes graficas las cuales le pueden decir como fueron el uso de CPU de
la aplicacin contra la maquina.
Grafico 7

Confidencial

Heinsohn Business Technology

Pgina 9 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Confidencial

Heinsohn Business Technology

Pgina 10 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Como analizar las graficas mostradas por el Visual Studio del Analyze
1. Inicialmente el Visual Studio Analyze muestra la siguiente pantalla, en ella se puede
observar que la pantalla esta dividido en 5 partes las cuales se describirn a
continuacin.
Grafico 8

2. El grfico de escala de tiempo de la vista de resumen muestra la utilizacin del


procesador (CPU) por parte de la aplicacin perfilada durante el tiempo en que se
produjo la generacin de perfiles. Puede usar el grfico de escala de tiempo para filtrar
la vista en funcin de un intervalo de tiempo seleccionado.
Puede filtrar los datos que aparecen en los informes de rendimiento si especifica un
segmento de tiempo en el grfico de escala de tiempo de la vista de resumen. Al filtrar
los informes, el archivo de datos de generacin de perfiles se vuelve a analizar para
incluir solamente el segmento de tiempo especificado.
Este grafico nos muestra el porcentaje de memoria de cpu que se uso para esta aplicacin
indicados en la parte vertical de la grafica con respecto a los tiempos mostrados en la
parte horizontal de la grafica.
Grafico 9

Confidencial

Heinsohn Business Technology

Pgina 11 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

3. La Ruta de acceso activa muestra la ruta de acceso de ejecucin que consumi ms


tiempo. Puede hacer clic en una funcin para mostrar la vista Detalles de la funcin
correspondiente. Para mostrar otras vistas de la funcin, haga clic con el botn
secundario del mouse en la funcin y, a continuacin, haga clic en una vista de la lista.
La Ruta de acceso activa incluye los datos siguientes para cada funcin:
Columna
Name

Descripcin
Nombre de la funcin.

% de tiempo El porcentaje de tiempo que la funcin dedic a ejecutar cdigo de


inclusivo su cuerpo de funcin y de las funciones a las que llam con respecto
transcurrido al tiempo total de los datos de generacin de perfiles.
% de tiempo El porcentaje de tiempo que la funcin dedic a ejecutar cdigo de
exclusivo su cuerpo de funcin con respecto al tiempo total de los datos de
transcurrido generacin de perfiles. No se incluye el tiempo dedicado a las
funciones a las que llam la funcin.
Grafico 10

En la aplicacin que se uso de prueba se obtuvo que todas las funciones usaron la parte
inclusiva al 100% mientras que la parte exclusiva no fue usada, solo fue usada por la
tercera aplicacin System.Windows.Forms.Application.Run(class
System.Windows.Forms.Form) que usa el 1.92% de la memoria interna
4. Una lista de las funciones que utilizaron la mayor parte del tiempo ejecutando cdigo del
cuerpo de la funcin y no en funciones a las que llamaron.

Confidencial

Heinsohn Business Technology

Pgina 12 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Funciones con la mayor parte del trabajo individual incluye los datos siguientes para
cada funcin:

Columna

Descripcin

Name

Nombre de la funcin.

% de tiempo de
exclusin

El porcentaje de tiempo que la funcin dedic a ejecutar cdigo de


su cuerpo de funcin con respecto al tiempo total de los datos de
generacin de perfiles. No se incluye el tiempo dedicado a las
funciones a las que llam la funcin.

Grafico 11

En esta imagen se muestra el porcentaje que se uso para el desarrollo de esta aplicacin
como pueden ver se muestran de la que mas usa memoria hasta la que menso usa
memoria
5. Existe un men de las opciones que puede manejar el reporte, estas opciones pueden
mostrar si quiere comparar dos reportes, si desea exportarlo a otro documento, revisar
los punto calientes en mas detalle, guardar el reporte, filtrar reporte por datos, ver en
pantalla completa
Grafico 12

Confidencial

Heinsohn Business Technology

Pgina 13 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

6. La ultima parte muestra el reporte como tal, su nombre y brinda unas opciones donde se
puede para en PeopleTrax12502.vsp y al darle clic derecho le mostrara las opciones que
se vieron en el punto 5. Si se para en el Targets->PeopleTrax y da clic derecho sobre este
le muestra una opciones de poder volver a lanzar el proceso u otras cosas, y si da clic
derecho sobre el proyecto principal y se va hasta propiedades puede configurar el reporte
para que seleccione sus opciones preferidas.
Grafico 13

Opciones que se muestran cuando presiona propiedades en el proyecto principal


Grafico 14

Confidencial

Heinsohn Business Technology

Pgina 14 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

7. Al seleccionar alguno de los mtodos que se tiene en la ruta caliente (grafico 10) o en
funciones que utilizaron la mayor parte del tiempo ejecutndose (grafico 11) este los
llevara a la opcin Function Details, tambin puede ingresar a detalles de la funcin
yendo a al parte superior de la pagina y en vista actual poner Function Details (2).
Detalles de la Funcin.
1. La ventana de la vista Detalles de la funcin muestra la informacin siguiente:

El grfico de barras de distribucin del costo, que representa las relaciones entre una
funcin que se selecciona y las funciones de llamada que ejecutaron la funcin
seleccionada, y entre la funcin seleccionada y las funciones que ella llam.
La tabla Detalles de rendimiento de la funcin, que muestra datos de generacin de
perfiles de resumen acerca de la funcin especificada.
La ventana Vista de cdigo de funcin, que muestra el cdigo de la funcin si est
disponible.
La ventana Vista de cdigo de funcin es un recuadro independiente. De forma
predeterminada, los dos recuadros se dividen horizontalmente y la ventana Vista de
cdigo de funcin se coloca en la parte inferior del marco.
Para dividir los dos recuadros verticalmente, haga clic en Dividir la pantalla
verticalmente en la barra de herramientas.
Para cambiar el tamao relativo de los recuadros, haga clic en el borde sombreado
entre los marcos y arrstrelo a una ubicacin diferente.

Confidencial

Heinsohn Business Technology

Pgina 15 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Grafico 15

2. Empezaremos con el grfico de barras Distribucin del costo.


Mtricas de rendimiento
En la lista desplegable Mtrica de rendimiento, puede especificar qu valores deben
aparecer en la vista. Los valores que estn disponibles dependen del mtodo de
generacin de perfiles que se utiliz en el archivo de datos de generacin de perfiles. Los
nombres entre parntesis son nombres de filas de la tabla Detalles de rendimiento de la
funcin.

Confidencial

Heinsohn Business Technology

Pgina 16 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Grfico de barras
Llamadas a funciones
La barra Funciones que llaman muestra las funciones que llamaron a la funcin
seleccionada. El tamao del bloque que contiene la funcin de llamada es proporcional a
al valor de la contribucin de la funcin del valor total de la mtrica de rendimiento de
la funcin seleccionada.
Puede hacer clic en el nombre de una funcin de llamada para convertirla en la funcin
seleccionada en la vista.

Si hay demasiadas funciones que llaman para enumerar, las funciones con las
contribuciones ms pequeas se recopilan en un bloque Otros. Haga clic
en Otros para mostrar todas las funciones que llaman y a las que llama la funcin
seleccionada en la ventana de la vista Llamador y destinatario.
Si no hay ninguna funcin que llame o si la funcin es la funcin de entrada de un
subproceso o proceso, aparece un bloque Parte superior de la pila.

Funcin seleccionada
La barra de funcin seleccionada muestra las contribuciones de las funciones llamadas y
del cdigo de la funcin seleccionada a la mtrica de rendimiento total de la funcin
seleccionada. El tamao del bloque que contiene una funcin llamada o el cuerpo de la
funcin es proporcional a su contribucin al valor total de la mtrica de rendimiento de
la funcin seleccionada.
Puede hacer clic en el nombre de una funcin llamada para convertirla en la funcin
seleccionada en la vista.
El valor Total es la mtrica de rendimiento de la funcin seleccionada.
El bloque Cuerpo de funcin representa la cantidad del valor total de la mtrica de
rendimiento que se produjo en la ejecucin directa del cdigo incluido en el cuerpo
de la funcin.
Las funciones a las que llama la funcin seleccionada se muestran en bloques. El
tamao del bloque de funciones seleccionadas representa la cantidad de la mtrica
de rendimiento total para la funcin que se selecciono.
Si hay demasiadas funciones que se llaman para enumerar, las funciones con las
contribuciones ms pequeas se recopilan en un bloque Otros. Haga clic
en Otros para mostrar todas las funciones que llaman y a las que llama la funcin
seleccionada en la ventana de la vista Llamador y destinatario.
Si no hay ninguna funcin a la que se llame, aparece un bloque Parte inferior de la
pila.
Cada vez que ingresa a una funcin le muestra el porcentaje de de moria inclusiva que utiliza
para la funcin en este caso utiliza un total del 53 % para PeopleNS.People.GetPeople(int32) y
esta se divide en el resto de funciones que necesita para llevar a cabo sus operaciones como lo
muestra la grafica gastando en el cuerpo de la funcin un 3. 7% y en resto lo que queda
Grafico 16

Confidencial

Heinsohn Business Technology

Pgina 17 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

3. La tabla Detalles de rendimiento de la funcin proporciona datos de resumen acerca de


las mtricas de rendimiento de la funcin seleccionada. Aparecen el valor y el
porcentaje. Los datos de generacin de perfiles que aparece en el grfico y en la tabla de
detalles se especifican en la lista Mtrica de rendimiento.
Columna

Descripcin

Exclusive

La cantidad de la mtrica de rendimiento que se produjo


en la ejecucin del cuerpo de la funcin.

Llamadas
entrantes

La cantidad de la mtrica de rendimiento que se produjo


en las funciones a las que llam la funcin seleccionada.

Total
inclusivo

El total de los valores Exclusivo y Llamadas entrantes.

Grafico 17

Confidencial

Heinsohn Business Technology

Pgina 18 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Como se muestra en el ejemplo las mtricas gasta un 3.7% de la cantidad de la mtrica


de rendimiento que se produjo en la ejecucin del cuerpo de la funcin y un 49.6% en la
cantidad de la mtrica de rendimiento que se produjo en las funciones a las que llam la
funcin seleccionada, mostrando por ltimo el total con un 53.3% que es la suma de los
dos anteriores
4. La ventana Vista de cdigo de funcin muestra una lista del cdigo fuente cuando est
disponible. Una columna sombreada, situada junto a las lneas de cdigo fuente que
llaman a otras funciones, contiene los valores de mtrica de rendimiento de la funcin
llamada. Para editar el cdigo fuente, haga clic en el vnculo al archivo de cdigo fuente
Grafico 18

Para mas informacin al respecto de como analizar los diferentes reportes que muestra el
Analyze visite: http://msdn.microsoft.com/es-co/library/dd255375.aspx

Confidencial

Heinsohn Business Technology

Pgina 19 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Mtricas del cdigo


Tambin se puede hacer un anlisis de las mtricas del proyecto, conocer la complejidad
de las clases y los mtodos, las lneas de condigo, etc., Esto se puede hacer de la
siguiente manera (4).
1. Proyecto Individual
El clculo de mtricas de cdigo para un solo proyecto es sencillo. Asegrese de que el
proyecto (o cualquier otro elemento en el proyecto) est seleccionado en el Explorador
de soluciones. Luego, vaya a Analizar | Calcular las mtricas de cdigo para <nombre
proyecto>:
Grafico 19

2. Varios Proyectos
Cuando se desea calcular mtricas de cdigo para ms de un proyecto, puede CTRL +
Izquierda Haga clic en los proyectos en el Explorador de soluciones:
Grafico 20

Ir al Analizar | Calcular las mtricas de cdigo para el proyecto seleccionado (s):


Grafico 21

3. Toda la solucin
El clculo de mtricas de cdigo para una solucin completa es simplemente una cuestin
de ir a Analizar | Calcular las mtricas de cdigo para la solucin. Adems, el Cdigo de
Confidencial

Heinsohn Business Technology

Pgina 20 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

la ventana Resultados de mtrica (Ver | Otras Ventanas | Resultados de las mtricas de


cdigo) tiene un botn que el clculo de los indicadores para toda la solucin:
Grafico 22

4. Las mtricas de cdigo son un conjunto de medidas de software que proporcionan a los
programadores una mejor visin del cdigo que estn desarrollando. Al aprovechar las
mtricas de cdigo, los programadores pueden entender qu tipos y mtodos se deben
rehacer o probar ms a fondo. Los equipos de desarrollo pueden identificar los riesgos
potenciales, entender el estado actual de un proyecto y seguir el progreso durante el
desarrollo del software.
ndice de mantenimiento: calcula un valor de ndice entre 0 y 100 que representa la
facilidad relativa de mantenimiento del cdigo. Un valor alto significa mayor
facilidad de mantenimiento. Las calificaciones codificadas por colores se pueden
utilizar para identificar rpidamente puntos problemticos del cdigo. Una
clasificacin verde se encuentra entre 20 y 100 e indica que el mantenimiento del
cdigo es bueno. Una clasificacin amarilla se encuentra entre 10 y 19 e indica que el
mantenimiento del cdigo es moderado. Una clasificacin roja se encuentra entre 0 y
9 e indica un mantenimiento pobre.
Complejidad ciclomtica: mide la complejidad estructural del cdigo. Se crea
calculando el nmero de rutas de acceso del cdigo diferente del flujo del programa.
Un programa que tenga un flujo de control complejo requerir ms pruebas para
lograr una buena cobertura de cdigo y ser ms difcil de mantener (5).
Profundidad de herencia: indica el nmero de definiciones de clase que se extienden
a la raz de la jerarqua de clases. Cuanto ms profunda es la jerarqua, ms difcil
puede ser entender dnde se definen y se vuelven a definir determinados mtodos y
campos.
Acoplamiento de clases: mide el acoplamiento a las clases nicas a travs de
parmetros, variables locales, tipos de valores devueltos, llamadas a mtodos,
instancias genricas o de plantillas, clases base, implementaciones de interfaces,
campos definidos en tipos externos y decoracin de atributos. El buen diseo de
software sugiere que los tipos y mtodos deben tener cohesin alta y acoplamiento
bajo. Un acoplamiento alto indica un diseo difcil de reutilizar y mantener debido a
sus interdependencias en otros tipos.
Lneas de cdigo: indica el nmero aproximado de lneas del cdigo. El recuento se
basa en el cdigo IL y, por consiguiente, no representa el nmero exacto de lneas en
el archivo de cdigo fuente. Un recuento muy alto podra indicar que un tipo o
mtodo intenta hacer demasiado trabajo y debe dividirse. Tambin puede indicar que
el tipo o mtodo podra ser difcil de mantener.

Confidencial

Heinsohn Business Technology

Pgina 21 de 22

Cdigo: PTL-GINF-003
<Nombre del activo>

Historia de Cambios
Fecha

Versin

Descripcin

Autor

<02/05/2012>

<1.0>

Investigacin sobre el men Analyze de Visual


Studio

Carlos
Waldo
Imbachi

serna

Bibliografa
[1] http://msdn.microsoft.com/es-es/library/dd264994.aspx
[2] http://msdn.microsoft.com/es-co/library/dd465180.aspx
[3] http://msdn.microsoft.com/es-co/library/dd255375.aspx
[4] http://msdn.microsoft.com/es-co/library/bb385908.aspx
[5] http://msdn.microsoft.com/es-co/library/ee703787.aspx

Confidencial

Heinsohn Business Technology

Pgina 22 de 22

Vous aimerez peut-être aussi