' Las casen el - Universidad Libre · tres aspectos importantes de un producto de software: ......

6
' Las Métr. cas en el RESUMEN a informática ha evolucionado desde un enfoque puramente artesanal hasta llegar a uno más sistemático y cient(fico, donde cada vez es mayor la necesidad de justificar de una manera racional tanto los diseños, la programación y la ejecución de las aplicaciones. Es, por tanto, cada vez más importante disponer de metodologías y de sistemas de métricas que permitan evaluar nuestras necesidades. La definición del software dentro del ámbito de las Ingenierías y de las ciencias lleva asociada la necesidad de medir y de demostrar, mediante métodos de desarrollo y modelos matemáticos las hipótesis y los planteamientos que del software se hagan. '' Por: Celia Gil Aros La mayoría de las metodologías y métrica existentes están enca- minadas a la reducción de costes, a predecir los diferentes compor- tamientos o a controlar procesos del desarrollo de software. Al final del camino los objetivos son por lo tanto económicos, incluso cuando se pretende medir la dificultad del mantenimiento del producto lo que se está midiendo indirectamente es el coste de mantenimiento de una aplicación o programa. Por todo ello y por la importancia que concedemos al hecho de medir, no podemos aplicar cualquier sistema de medida, sino que este debe estar sujeto a una teoría: LA TEORÍA DE LA MEDICIÓN. .... 00 e a es 2.

Transcript of ' Las casen el - Universidad Libre · tres aspectos importantes de un producto de software: ......

' Las Métr. casen el

RESUMEN

a informática ha evolucionado desde un enfoque puramente artesanal hasta llegar a uno más sistemático y cient(fico, donde cada vez es mayor la necesidad de justificar de una manera racional tanto los diseños, la programación y la ejecución de las aplicaciones. Es, por tanto, cada vez más importante disponer de metodologías y de sistemas de métricas que permitan evaluar nuestras necesidades.

La definición del software dentro del ámbito de las Ingenierías y de las ciencias lleva asociada la necesidad de medir y de demostrar, mediante métodos de desarrollo y modelos matemáticos las hipótesis y los planteamientos que del software se hagan.

'' Por: Celia Gil Aros

La mayoría de las metodologías y métrica existentes están enca­minadas a la reducción de costes, a predecir los diferentes compor­tamientos o a controlar procesos del desarrollo de software. Al final del camino los objetivos son por lo tanto económicos, incluso cuando se pretende medir la dificultad del mantenimiento del producto lo que se está midiendo indirectamente es el coste de mantenimiento de una aplicación o programa.

Por todo ello y por la importancia que concedemos al hecho de medir, no podemos aplicar cualquier sistema de medida, sino que este debe estar sujeto a una teoría: LA TEORÍA DE LA MEDICIÓN.

.... 00

e a

es

2.

TEORÍA

DE LA MEDICIÓN

_a necesidad imperante de edir surge porque una o más

ropiedades son identificadas y necesitamos de alguna forma cuantificarlas para que nos aporten información. Gracias a ella, un conjunto importante de objetos (cosas, eventos, entida­des) pueden ser descritos, identificados, catalogados y ordenados.

La medición ha permitido grandes avances científicos, pues permiten establecer leyes generales de conocimiento a partir de los cuales podemos inferir un nuevo conocimiento (nuevas teorías, nuevas hipó­tesis, nuevos postulados, nuevas métricas).

Los estándares de medición garantizan la compatibilidad, el intercambio y la posibilidad de elección entre diferentes alternativas. La medición es por tanto fundamental en las actividades de la vida cotidiana, el comercio, la industria y además facilita el intercambio de bienes e información.

La medición es un pilar fundamental de las ingenierías. Las medidas son necesarias en todas las fases del ciclo de vida de los productos y sus procesos [ALB79].

2.1 Garantía de Calidad del Software (SQA)

Algunos desarrolladores de software continúan creyendo que la calidad del software es algo en lo que se empieza a preocupar una vez que se ha generado el código. La garantía de calidad del software (SQA, de Software Quality Assurance) es una actividad de protección que se aplica a lo largo de todo el proceso de la Ingeniería del Software. La SQA engloba:

(1) Un enfoque de gestión de calidad.

(2) Tecnología de Ingeniería de Software efectiva (métodos y herramientas).

(3)Revisiones técnicas formales que se aplican durante todo el proceso del software.

(4) Control de la documen­tación del software.

(5) Un procedimiento que asegure un ajuste a los estándares de desarrollo del software.

(6) Mecanismos de medi­ción y de generación de informes.

Para producir un producto de calidad los ingenieros de software deben aplicar métodos efectivos junto con herramientas moder­nas dentro del contexto de un proceso maduro de desarrollo de software.

ACAD~~I\lTCO

McCall y sus colegas [MCC77] propusieron una útil catego­rización de factores que afectan la calidad del software. Estos factores de calidad del software, se concentran en tres aspectos importantes de un producto de software:

·Sus características operativas. ·Su capacidad de cambios. ·Su adaptabilidad a nuevos entornos.

Es importante destacar que aunque hay muchas medidas de la calidad de software, la corrección , la facilidad de mantenimiento, la integración y la facilidad de uso pro­porcionan indicadores útiles para cualquier proyecto de software.

MEDICIONES DEL

SOFTWARE

Las mediciones del mundo físico se pueden clasificar en dos formas: medidas directas y medidas indirectas. Entre las medidas directas del proceso de ingeniería del software se incluyen el coste y el esfuerzo aplicados. Entre las medidas directas del producto se incluyen las líneas de código (LDC) producidas, velocidad de ejecución, y los defectos informados durante un período de tiempo establecido.

Entre las medidas indirectas se incluyen la funcionalidad, la calidad, la complejidad, la eficiencia, la fiabilidad y la facilidad de mantenimiento.

La Informática ha evolucionado desde

un enfoque puramente artesanal

hasta llegar a uno más sistemático y científico, donde

cada vez es mayor la necesidad de

justificar de una manera racional

tanto los diseños, la programación y la

ejecución de las aplicaciones.

(Notas pie de página)

Las métricas1

permiten que una organización tome una visión estratégica proporcionando mayor profundidad en la efectividad de un proyecto.

Métricas Directas

1.1. Métricas orientadas al tamaño

Las métricas del software orientadas al tamaño provienen de la normalización de las medidas de calidad y producti­vidad considerando el tamaño del software que se ha producido. Para desarrollar métricas que se puedan comparar entre distintos proyectos, se seleccionan las líneas de código como valor de normalización.

Un conjunto de métricas simples orientadas al tamaño son:

• Errores por KLDC (Miles de líneas de código).

• Defectos por KLDC.

• $por LDC.

• Páginas de documentación por KLDC.

Además, se pueden calcular otras métricas adicionales tales como:

• Errores/persona-mes.

• LDC por persona-mes.

• $/página de documentación.

1.1.1. Métricas orientadas a la función

Las métricas orientadas a la función utilizan una medida de la funcionalidad entregada por la aplicación como valor de normalización. Ya que la fun­cionalidad no se puede medir directamente, se debe derivar indirectamente mediante otras medidas directas. Las métricas orientadas a la func ión se basan en lo que se ha deno­minado puntos de función.

1EI termino métrica se refieren a un amplio elenco de medidas para el software de computadora. La medición

se puede aplicar al proceso del software con el intento de mejorarlo sobre una base continua. Se puede

utilizar en el proyecto del software para ayudar a la estimación, el control de calidad, la evaluación de

productividad, la gestión y el control de proyectos.

• ú

• ÚrT

• ú

• ú

• ú

1.2.

s le C-.

Ü E e ar

- S

::::S

S

J

S

_ s puntos de función se computan determi­ando cinco características de dominios de ormación. Los dominios de información del

are se definen de la siguiente forma:

úmero de entradas de usuario.

úmero de salidas de usuario .

úmero de peticiones de usuario.

úmero de archivos.

úmero de interfaces externas.

1.2. El paradigma orientado a objetos

Durante muchos años el término orientado a objetos (00) se uso para significar un enfoque de desarrollo de software que usaba uno de los lenguajes orientados a objetos (Ada 95, C++, Eiffel , Smalltalk) . Hoy en día el paradigma 0 0 encierra una completa visión de la Ingeniería del Software. Edward Berard hace notar esto cuando declara [BER93]:

Los beneficios de la tecnología orientada a objetos se fortalecen si se usan antes y durante el proceso de la Ingeniería del Software. Un simple uso de programación orientada a objetos (POO) no brindara los mejores resultados. Los ingenieros del software y sus directores deben considerar estos elementos como Análisis de Requisitos orientados a objetos (AROO), del Diseño orientado a objetos (000), Análisis del Dominio orientado a objetos (ADOO) , de Sistemas de Gestión de bases de datos orientadas a objetos (SGBDOO) y de Ingeniería de Software orientada a objetos asistida por computador (ISOOAC).

El proceso 00 se mueve a través de una espiral evolutiva que comienza con la comunicación permanente con el usuario. Es aquí donde se define el dominio del problema y se identifican las clases básicas. La planificación y el análisis de riesgos establecen una base para el plan del proyecto Orientado a Objetos. La Ingeniería del software 00 hace hincapié en la reutilización. Por lo tanto, las clases se buscan

ACADÉ. IICO

en una biblioteca (de clases Orientadas a Objetos existentes) antes de construirse . Cuando una clase no puede encontrarse en la biblioteca, el desarrollado de software apl ica análisis orientado a objetos (AOO), diseño orientado a objetos (DOO), programación orientada a objetos (POO) y pruebas orientadas a objetos (POO) para así poder crear la clase y los objetos derivados de ésta. A medida que el Análisis Orientado a Objetos y los modelos de diseño evolucionan , se vuelve aparente la necesidad de clases adicionales.

1.3. Métricas orientadas a objetos

A partir de 1990, principalmente, se comienza a imponer una nueva visión en el desarrollo de software: La orientación a Objetos. Este es un nuevo enfoque en el modo de entender la producción de software que pretende, ante todo, la reutil ización del software, obtener una mayor productividad, mejorar la gestión del proyecto y garantizar una mejor calidad en las aplicaciones entregadas al usuario.

Los objetivos principales de las métricas orientadas a objetos son los mismos que los existentes para las métricas derivadas para el software convencional:

• Comprender mejor la calidad del producto.

• Estimar la efectividad del proceso.

• Mejorar la calidad del trabajo realizado en el nivel del proyecto.

Cada uno de estos objetivos es importante en sí, pero para el Ingeniero de Software, la calidad del producto debe ser lo primordial.

Los desarrollos orientados a objetos se basan en una serie de primitivas fundamentales:

• Las clases.-Son las abstracciones de los tipos de objetos que realmente existen y tienen entidad.

ACA.DEl\IICO /

• Los Objetos. - Son las representaciones que, en el modelo, toman entidades concretas del mundo real.

• Los atributos.- Definen las características que tiene una clase y el valor que dichas características toman en los objetos concretos.

• Las relaciones.-Son las representaciones de la jerarquía y de las interfaces que gobiernan el sistema real que se este modelando.

Para real izar adecuadamente el modelo se necesitan una serie de herramientas que permitan definir el tipo de relaciones y que se plasman adecuadamente en un lenguaje de programación, por lo tanto estas herramientas

{Notas píe de página)

deben existir tanto en el Análisis como en el Diseño y en la Codificación . Entre estas herramientas, las más importantes son:

• La Encapsulación

• La Herencia

• El Polimorfismo

La medición orientada a objetos consiste, pues, en la caracterización de una entidad mediante la elaboración de un modelo que recoja todas las particularidades y propiedades relevantes del objeto de estudio. Esto implica la construcción de perfiles de los objetos a través de la medición de sus propiedades (de forma directa e indirecta).

2EI American Heritage Dictionary define la calidad como <<una característica o atributo de algo>>. Como

un atributo de un articulo, la calidad se refiere a las características mensurables: cosas que se pueden

comparar con estándares conocidos

"----~AC.\DÉMICO

REFERENCIAS BIBLIOGRÁFICAS

[ALB79] Albretch , A.J. "Measuring Application Development Productivy", Proc. IBM Application

Development Symposium, Monterrey, CA, 1979, págs: 83-92 .

[BER93] Análisis y Diseño Orientado a Objetos con Aplicaciones, 2da edición, págs: 638

BOOCH, Gr. and WESLEY, Adison . Análisis y Diseño Orientado a Objetos con Aplicaciones,

2da edición, Massachusetts, 1996, págs: 638.

FERNÁNDEZ SAENZ, Luis. Necesidades de Medición en la Gestión y el Aseguramiento de la

Calidad del Software, Universidad Europea de Madrid y Universidad Autónoma de Madrid.

GÓMEZ G., Jorge Albeiro. El Software: Una Metodología para el Aseguramiento de la Calidad.

Proyecto de Grado. Universidad EAFIT, Medellín , 1998.

MCCALL J. A, Richards PK y WALTERS , GF. Factors in software quality, vals 1,11,111 ; Us rome

A ir Development Center Reports NTIS AD/ A-049 014,015,055,1997.

MCCONNELL, Steve . Desarrol lo y Gestión de Proyectos Informáticos, McGraw Hil l

lnteramericana, España, 1997.

PRESSMAN, Roger. Ingeniería del Software: Un enfoque práctico, 51a edición, págs: 576

Consultores Editoriales, Madrid. 2002.

[TAY93] TAYLOR, D.A. , Object-Orieted Tecnology: A manager Guide, Addison Wesley, 1993.

INFOGRAFÍAS

http://www.unt.edu/benchmarks/archives/1999/july99/crisis.html

http://www.sbu.ac.uk/csse/publications/OOMetrics.html.

Datos de1 autor

Celio Gil Aros Ingeniero de Sistemas Universidad Distrital Especialista Gerencia de Tecnología . Escuela de Administración de Negocios.

Docente Departamento de Ingeniería de Sistemas e Informática

Universidad Libre