Está en la página 1de 16

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular para la Educacin Superior


Instituto Universitario Politcnico
Santiago Mario
San Cristbal, Tchira.

Autor:
Serrano M; Otto R. v-19.501.175
Asignatura: Sistemas I.
San Cristbal Diciembre de 2012

Introduccin.

Se sabe (o conoce) que algunas de las actividades de desarrollo del


proyecto de software comprenden medicin y mtricas, estimacin, anlisis
de riesgo, planificacin del programa, seguimiento y control. El recopilar
datos (investigacin histrica), calcular mtricas (LDC, PF, mtricas de
calidad, orientadas a objetos, etc.) y evaluar mtricas, son algunos de los
pasos que se deben realizarse al comenzar un producto.
Hoy da es cada vez ms frecuente la consideracin de mtricas de
software, es por eso que s estn implantando en la actualidad, llevando
consigo puntos dbiles (aumento de esfuerzo...) y fuertes (alta calidad,
reusabilidad, madurez...) que estn experimentado los ingenieros y
administradores de software. El uso de stas se ha adoptado con xito en el
amplio mercado de desarrollo de software introduciendo reconocimientos y
consideraciones por parte de administradores y usuarios, y estableciendo la
necesidad de un enfoque ms disciplinado y de una alta calidad.

Las mtricas van a ayudar a la evaluacin de los modelos de anlisis y


de diseo, en donde proporcionarn una indicacin de la complejidad de
diseos procedimentales y de cdigo fuente, y ayudaran en el diseo de
pruebas ms efectivas
Mtricas del software
El IEEE Standard Glosary of Software Engering Terms define como
mtricacomo

una

medida

cuantitativa

del

grado

en

que un sistema, componente o proceso posee un atributo dado.


Se dice que la medicin es esencial, si es que se desea realmente conseguir
la calidad en software.
Es por eso que existen distintos tipos de mtricas para poder evaluar,
mejorar y clasificar al software final, en donde sern manejadas dependiendo
del entorno de desarrollo del software al cual pretendan orientarse.
Qu son las mtricas de software?
Las mtricas son la maduracin de una disciplina, que, segn
Pressman van a ayudar a la evaluacin de los modelos de anlisis y de
diseo, en donde proporcionarn una indicacin de la complejidad de
diseos procedimentales y de cdigo fuente, y ayudaran en el diseo de
pruebas ms efectivas; Es por eso que propone un proceso de medicin, el
cual

se

puede

caracterizar

por

cinco

actividades:

Formulacin: La obtencin de medidas y mtricas del software apropiadas


para

la

representacin

de

software

en

cuestin.

Coleccin: El mecanismo empleado para acumular datos necesarios para


obtener

las

mtricas

formuladas.

Anlisis: El clculo de las mtricas y la aplicacin de herramientas


matemticas.

Interpretacin: La evaluacin de los resultados de las mtricas en un


esfuerzo por conseguir una visin interna de la calidad de la representacin.

Realimentacin: Recomendaciones obtenidas de la interpretacin de


mtricas tcnicas trasmitidas al equipo de software.
Con esto alcanzamos a responder tres preguntas fundamentales deseadas
de una mtrica:

Cunto mide? - la complejidad en la medida.


Qu tan bien mide? - la calidad en la medida.
Qu tanto tiempo mide? - la prediccin.

Las mtricas del software responden a dos objetivos: valorar y


estimar.
Las magnitudes objeto de valoracin son tres: la calidad, fiabilidad y
Productividad. La estimacin parte de mediciones histricas para prever el
Esfuerzo y el tiempo que debe invertirse en un proyecto dado, y las
caractersticas Del resultado final.
Aquella aplicacin continua de tcnicas basadas en la medida de los
procesos de desarrollo del software, para producir una informacin de
gestin significativa al mismo tiempo que se mejoran aquellos procesos y sus
productos, se denominan mtrica de software. Un Mtodo y una escala
cuantitativos que pueden ser usados para determinar el valor que toma cierta
caracterstica en un producto de software concreto.
Hay varias razones que justifican el uso de las mtricas en el proceso
de desarrollo de software. Por un lado se dice que cuando se puede medir
aquello de lo cual se est hablando y se puede expresar en nmeros, se

sabe realmente acerca de ello; pero cuando no puede medirse, y no puede


expresarse en nmeros, el conocimiento que se tiene de ello es escaso e
insatisfactorio.
El contar con datos estadsticos de mtricas de software, da un
panorama de situaciones reales que ayudan aplicar y dar seguimiento a las
diferentes formas de evaluar y determinar mtricas de calidad para un mejor
desempeo en la calidad de software.
Informacin reciente, de Bancomext (2001), EUA tiene un Dficit de
600,000 expertos en informtica, creciendo al 10% anual; una demanda
infinita para Mxico.
Hace 15 aos la India facturaba US $20 M. Hoy facturan US $6,500 M,
para 2008 proyectan exportar US$50,000M. Mxico tiene como ventaja sobre
otros pases una ubicacin privilegiada, costos competitivos, cultura
empresarial similar a la de EUA. Segn la UNCTAD de la ONU, el desarrollo
de la industria del software en los pases emergentes se puede llevar a cabo
a travs de dos alternativas de polticas estratgicas.
Una opcin alternativa para el desarrollo de la industria del software
consiste en integrar ambas estrategias bajo un orden secuencial; el uso de
software libre como herramienta para el fortalecimiento de la infraestructura
econmica sera reemplazada gradualmente por la estrategia de desarrollo
de software para exportacin.
Parte de las recomendaciones de Bancomext (2001), para fomentar el
desarrollo de la industria del software, se requiere de prcticas y de
programas de ayuda para facilitar su crecimiento sin lastres tributarios, en
especial en dos rubros: los impuestos por ingreso y facilidades para la
compra e importacin de tecnologa.

Hay que tener en cuenta que un paso importante para incursionar en


el mercado internacional es el de contar con la certificacin de calidad en
CMM (Capability Maturity Model CMM), expedido por el SEI (Software
Engineering Institute). Otras de las necesidades, segn Bancomext (2001),
es la de establecer una industria nacional competitiva en el desarrollo de
software para competir en el mercado internacional y as introducir las
mejores soluciones al Sistema e-Mxico.
El Plan Nacional de Desarrollo 20012006 (PND) de la Secretara de
Economa (2001) plantea el objetivo de elevar y extender la competitividad
del pas, mediante la estrategia de promover el uso y aprovechamiento de la
tecnologa y de la informacin.
La produccin de software es una actividad econmica que se
caracteriza por generar un alto valor agregado y aportar a la economa
productos y servicios esenciales para su modernizacin.
El objetivo primordial de la ingeniera del software es producir un
sistema, Aplicacin o producto de alta calidad. Para lograr este objetivo, los
ingenieros de software deben emplear mtodos efectivos junto con
herramientas modernas dentro del contexto de un proceso maduro de
desarrollo del software. Al mismo tiempo, un buen ingeniero del software y
buenos administradores de la ingeniera del software deben medir si la alta
calidad se va a llevar a cabo. A continuacin se ver un conjunto de mtricas
del software que pueden emplearse a la valoracin cuantitativa de la calidad
de software
El punto de vista de Qu es calidad? Es diverso, y por lo tanto
existen distintas respuestas, tales como se muestra a continuacin:
El American Heritage Dictionary [Pressman 98] define la calidad como
Una caracterstica o atributo de algo.

La definicin estndar de calidad en ISO-8402 es La totalidad de


rasgos y caractersticas de un producto, proceso o servicio que sostiene la
habilidad de satisfacer estados o necesidades implcitas [Mcdermid 91].
Concordar explcitamente al estado funcional y a los requerimientos del
funcionamiento, explcitamente a los estndares de documentacin de
61 desarrollo, e implcitamente caractersticas que son expectativas de
todos los desarrolladores profesionales de software [Pressman 93].
La calidad de un sistema, aplicacin o producto es tan buena como los
requisitos que detallan el problema, el diseo que modela la solucin, el
cdigo que transfiere a un programa ejecutable y las pruebas que ejercita el
software para detectar errores. Un buen ingeniero del software emplea
mediciones que evalan la calidad del anlisis y los modelos de diseo, as
como el cdigo fuente y los casos de prueba que se han establecido al
aplicar la ingeniera del software. Para obtener esta evaluacin de calidad, el
ingeniero debe utilizar medidas tcnicas, que evalan la calidad con
objetividad, no con subjetividad. Asimismo, un buen administrador de
proyectos debe evaluar la calidad objetivamente y no subjetivamente. A
medida que el proyecto progresa el administrador del proyecto siempre debe
valorar la calidad. Aunque se pueden recopilar muchas medidas de calidad,
el primer objetivo en el proyecto es medir errores y defectos. Las mtricas
que provienen de estas medidas proporcionan una indicacin de la
efectividad de las actividades de control y de la garanta de calidad en grupos
o en particulares.
Por ejemplo los errores detectados por hora de revisin y los errores
detectados por hora de prueba suministran una visin profunda de la eficacia
de cada una de las actividades envueltas en la mtrica. As los datos de
errores se pueden utilizar tambin para calcular la eficiencia de eliminacin
de defectos en cada una de las actividades del marco de trabajo del proceso

Un proceso para el desarrollo de software, tambin denominado ciclo


de vida del desarrollo de software es una estructura aplicada al desarrollo de
un producto de software. Planificacin
La importante tarea a la hora de crear un producto de software es
obtener los requisitos o el anlisis de los requisitos. Los clientes suelen tener
una idea ms bien abstracta del resultado final, pero no sobre las funciones
que debera cumplir el software.
Una vez que se hayan recopilado los requisitos del cliente, se debe
realizar un anlisis del mbito del desarrollo. Este documento se conoce
como especificacin funcional.
Implementacin, pruebas y documentacin
La implementacin es parte del proceso en el que los ingenieros de
software programan el cdigo para el proyecto. Las pruebas de software son
parte esencial del proceso de desarrollo del software. Esta parte del proceso
tiene la funcin de detectar los errores de software lo antes posible.
La documentacin del diseo interno del software con el objetivo de
facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto. Esto
puede incluir la documentacin de un API, tanto interior como exterior.
Despliegue y mantenimiento
El despliegue comienza cuando el cdigo ha sido suficientemente
probado, ha sido aprobado para su liberacin y ha sido distribuido en el
entorno de produccin.
Entrenamiento y soporte para el software es de suma importancia y
algo que muchos desarrolladores de software descuidan. Los usuarios, por
naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es

por ello que es fundamental instruir de forma adecuada a los futuros usuarios
del software.
El mantenimiento y mejora del software de un software con problemas
recientemente desplegado puede requerir ms tiempo que el desarrollo
inicial del software. Es posible que haya que incorporar cdigo que no se
ajusta al diseo original con el objetivo de solucionar un problema o ampliar
la funcionalidad para un cliente. Si los costes de mantenimiento son muy
elevados puede que sea oportuno redisear el sistema para poder contener
los costes de mantenimiento.
Hay varios modelos para perfilar el proceso de desarrollo, cada uno de
las cuales cuenta con pros y contras. El proyecto debera escoger el ms
apropiado para sus necesidades. En ocasiones puede que una combinacin
de varios modelos sea apropiado.

Modelo de cascada

Modelo de espiral

Desarrollo iterativo e incremental

Desarrollo gil

Codificacin y correccin

Principales lenguajes de programacin

ADA

Es un lenguaje estructurado parecido al Pascal destinado a controlar


mecanismos en "tiempo real" (o sea una velocidad compatible con las
necesidades reales), pero de gran complejidad.Admite una programacion
"orientada a objetos" y un sistema de alta modularidad de tipo HyperTexto.

ASSEMBLER
Como sealado a proposito del "Primer Nivel" de los lenguajes, el
Assembler es directamente dependiente de los circuitos electronicos de los
procesadores (que constituyen el nucleo de los computadores), por lo cual
escribir en Ensamblador sigue siendo una tarea muy compleja, a lo cual hay
que sumar que el codigo varia de un procesador a otro aunque existe ya una
jerga comun para ciertas operaciones como las aritmeticas y logicas, por
ejemplo:
ALGOL
Lenguaje que fue creado por un comite internacional. En 1960 se
reunieron representantes de varios paises Europeos y de Estados Unidos
para crear un lenguaje destinado a "describir procesos" mediante
instrucciones de control (iteraciones y alteraciones) de nivel mas elevado que
la existentes en las versiones existentes de su predecedor, el FORTRAN.

BASIC
El BASIC ("Beginner's All-purpose Simbolic Instruction Code) los
microcomputadores,

como

un

lenguaje

simplificado

multiproposito

destinado a los usuarios no-especialistas. Permite resolver problemas


numericos o comerciales asi como crear y mantener archivos, realizar

graficos lineales, etc. Es por esencia un lenguaje interpretado y noestructurado.

YPERTALK
"HyperTalk" es el lenguaje desarrollado por Dan Winkler pra Bill
Atkinson, el creador de "HyperCard" para AppleMacintosh. Esta orientado a
la creacion de aplicaciones conforme al sistema de "hiperarchivos" (sistemas
de fichas interrelacionadas donde se facilita el "navegar" de un archivo a
otro).
HTML
El HTML o "HyperText Marking Language" es el lenguaje que se utiliza
para

crear

paginas

-como

la

presente-

en

World

Wide

Web.

El HTML se basa en los mismos principios que el HyperTalk, permitiendo


definir segmentos (de texto o ilustraciones) que remiten a otros, facilitando
una "navegacion" por multiples vias, a gusto del usuario. Asi es como el
boton "Home" tiene asociadas las instrucciones que indican al procesador
que busque la primera ficha o pagina del archivo llamado "Home" o "index"
en el archivo del computador que presta el servicio de conexion (servidor).

JAVA
JAVA es un lenguaje de programacion basado en el C++ (con cambios
en la sintaxis y nuevas restricciones de codificacion). Permite agregar
animaciones y puntos sensibles en pginas de texto. Aunque se lo pretende
presentar como "EL" lenguaje destinado a desarrollos para World Wide Web,
es mucho ms complejo que el HTML e incluso que otros lenguajes
utilizables

por

los

browsers

(navegadores)

de

la

Web.

Una version muy reducida es el "JavaScript", que se puede combinar con el


lenguaje HTML, dentro de una pgina web.

Manejadores de base de datos


Un

DBMS

es

una

coleccin

de

numerosas

rutinas

de

software

interrelacionadas, cada una de las cuales es responsable de alguna tarea


especfica en la base de datos.

Sistemas libres

PostgreSQL

Firebird basada en la versin 6 de InterBase, Initial Developer's


PUBLIC LICENSE Version 1.0.

SQLite

DB2 Express-C

Apache Derby

MariaDB

MySQL

Drizzle

Sistemas no libres

MySQL: Licencia Dual, depende del uso. No se sabe hasta cundo


permanecer as, ya que ha sido comprada por Oracle. Sin embargo,
existen 2 versiones: una gratuita que sera equivalente a la edicin
"express" SQL server de Microsoft Windows, y otra ms completa de
pago.

Advantage Database

dBase

FileMaker

Fox Pro

gsBase

IBM DB2: Universal Database (DB2 UDB)

IBM Informix

Interbase de CodeGear, filial de Borland

MAGIC

Microsoft Access

Microsoft SQL Server

NexusDB

Open Access

Oracle

Paradox

PervasiveSQL

Progress (DBMS)

Sybase ASE

Sybase ASA

Sybase IQ

WindowBase

IBM IMS Base de Datos Jerrquica

CA-IDMS

Sistemas no libres y gratuitos

Microsoft SQL Server Express Edition (Es una edicin gratis de SQL

Server ideal para desarrollo y pequeas aplicaciones)


Microsoft SQL Server Compact Edition Basica
Sybase ASE Express Edition para Linux (edicin gratuita para Linux)
Oracle Express Edition 10 (solo corre en un servidor, capacidad

limitada)
DB2 Express-C

Conclusin.

La realizacin de registros y obtencin de mtricas son una de las prcticas


sugeridas por la Ingeniera de software y son parte de las actividades que
propone el Aseguramiento de Calidad de Software para el desarrollo del
software de calidad. Su difusin y aplicacin no ha sido la ideal. Se requiere
impulsar este campo y se ha considerado incluir este captulo como uno de
los esfuerzos para destacar su importancia.
Las mtricas son por lo tanto, una faceta de la ingeniera de software, parte
del aseguramiento de calidad y las implantaciones de mejores prcticas para
toda disciplina que busca el desarrollo de software con calidad.

Referencias bibliogrficas.

http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/gonzalez_d_h/capitulo4.pdf
http://eprints.uanl.mx/2992/1/1020070680.PDF
http://www.slideshare.net/loreknelamorena/mtricas-de-proceso-y-proyecto-desoftware#btnNext
http://www.eumed.net/libros-gratis/2008a/351/Metricas%20de%20Software.htm
http://www.desarrolloweb.com/articulos-copyleft/articulo-metricas-de-software.html

También podría gustarte