' Las casen el - Universidad Libre · tres aspectos importantes de un producto de software: ......
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 encaminadas a la reducción de costes, a predecir los diferentes comportamientos 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, entidades) 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 documentación del software.
(5) Un procedimiento que asegure un ajuste a los estándares de desarrollo del software.
(6) Mecanismos de medició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 modernas dentro del contexto de un proceso maduro de desarrollo de software.
ACAD~~I\lTCO
McCall y sus colegas [MCC77] propusieron una útil categorizació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 proporcionan 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 productividad 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 funcionalidad 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 denominado 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 determiando 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