PDF de programación - Ingeniería del Software Libre. Una visión alternativa a la ingeniería del software tradicional

Imágen de pdf Ingeniería del Software Libre. Una visión alternativa a la ingeniería del software tradicional

Ingeniería del Software Libre. Una visión alternativa a la ingeniería del software tradicionalgráfica de visualizaciones

Actualizado el 23 de Junio del 2018 (Publicado el 14 de Enero del 2017)
1.141 visualizaciones desde el 14 de Enero del 2017
115,7 KB
14 paginas
Creado hace 21a (10/10/2002)
Ingeniería del Software Libre. Una
visión alternativa a la ingeniería del

software tradicional

Gregorio Robles

Universidad Rey Juan Carlos

[email protected]

Copyright (C) 2002 Gregorio Robles Martínez. Permitida la redistribución ilimitada de copias literales y la traducción
del texto a otros idiomas siempre y cuando se mantenga esta autorización y la nota de copyright.
Historial de revisiones
Revisión 0.94 - versión V congreso Hi-
spaLinux

10 de octubre de 2002

La ingeniería del software no ha podido madurar convenientemente debido a las prácticas propietarias que predominan
(todavía) en el mundo del software comercial. En cambio, el software libre y los métodos de desarrollo asociados con
frecuencia a proyectos de software libre brindan una gran oportunidad para que la ingeniería del software se encamine
hacia lo que realmente pretende ser: una actividad ingenieril aplicada a las técnicas de desarrollo, funcionamiento y
mantenimiento del software. Partiendo de esta idea, esta ponencia pretende presentar un enfoque cuantitativo basado
en la extracción, procesado y análisis de información proveniente del software libre. Además de ver las aportaciones
y posibilidades que esta nueva visión puede ofrecer a la ingeniería del software y al software libre, se presentará el
estado del arte en este campo.

Tabla de contenidos

3. Hacia un sistema de medición y análisis de software libre
4. Extracción de datos (Primera fase)

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. La crisis de la ingeniería del software tradicional
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1. Ingeniería del software tradicional e ingeniería del software libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Software libre e ingeniería del software libre
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Código Fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Intercambio de información directa entre desarrolladores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3. Herramientas de desarrollo distribuido
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4. Otras Herramientas
4.5. Datos de otras fuentes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1

5. Formato intermedio e independiente
6. Análisis, procesado y visualización de los datos (Segunda fase)
7. Conclusiones
8. Agradecimientos
9. Bibliografía, referencias y enlaces de interés
10. Sistema de medición y análisis de software libre

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1. Introducción

Desde hace cuatro décadas, la ingeniería del software se ha venido consolidando como una rama importante dentro de
la informática en busca de métodos de desarrollo y técnicas que permitan producir software de gran calidad con unos
recursos limitados. Según la definición del IEEE, la ingeniería del software es "un enfoque sistemático y cuantificable
al desarrollo, operación (funcionamiento) y mantenimiento del software: es decir, la aplicación de la ingeniería del
software". [IEEE 1993]

A pesar de que la ingeniería del software ha conseguido indudablemente notables éxitos, también es cierto que ha
sucumbido a lo que se ha venido a llamar la "crisis del software". Prueba de ello es que a día de hoy todavía sigue
sin ser posible cuantificar con exactitud los plazos, costes, recursos humanos y técnicas que lleven a un desarrollo
exitoso del software, tal y como otras ramas de la ingeniería en otros campos sí han sido capaces de hacer. Es más,
incluso en algunos puntos de la ingeniería del software se puede observar una tendencia a retomar viejos caminos bajo
nuevas fórmulas, como podemos ver con la incipiente expansión de las técnicas de programación evolutiva que se
basan en gran parte en principios y técnicas conocidos y usados en la década de los 70. Argumentar que la ingeniería
del software se encuentra estancada y falta de ideas es una consideración que, por lo tanto, podemos tomar como muy
válida.

2. La crisis de la ingeniería del software tradicional

Uno de los grandes problemas de la ingeniería del software ha sido y es que no ha sabido adaptarse consecuentemente
a su propia definición. Esto es algo que se puede considerar como una especie de traición a sí misma, a sus propios
fundamentos. El enfoque sistemático y cuantificable ha tenido siempre como barreras las propias de las formas en
las que el software se ha desarrollado y distribuido. El formato binario del software, la opacidad en los modelos de
negocios, los secretos y barreras comerciales se encuentran entre las principales causas que han imposibilitado estudios
cuantitativos y cualitativos a gran escala del software cuyos resultados pudieran ser verificados sistemáticamente por
equipos de investigación independientes. Las "verdades" que han sido enunciadas son, con frecuencia, experiencias
puntuales que han sido generalizadas y dadas por válidas ante la falta de alternativas. La propia forma de desarrollar,
distribuir y comercializar software ha sido la que ha llevado a la ingeniería del software a la crisis.

Y es aquí donde el software libre puede dar nuevos aires a la ingeniería del software. Desde hace más de una década,
el software libre ha venido experimentando un gran auge en cuanto a uso, aceptación y, por supuesto, desarrollo. La
implantación de Internet junto con las características de las licencias que "invitan" a todo el mundo a formar parte del

2

equipo de desarrollo, han propiciado que a día de hoy no sólo podamos contar con el código fuente (un gran avance
para su estudio en contraposición al del software propietario), sino tomar medidas de los archivos de las listas de correo
donde viene plasmada la comunicación del proyecto, los repositorios de versiones gracias a los cuales podemos ver
la evolución, etc. De todas estas fuentes se puede extraer una gran cantidad de información de interés, en la mayoría
de casos incluso de manera automática. Por tanto, el software libre ofrece la oportunidad de conocer más a fondo el
proceso de concepción de software, aportándonos nuevas evidencias y experiencias.

Podemos concluir que la apertura tanto del código como de la información asociada al proceso de desarrollo que
ofrece el software libre es clave para que pueda ser analizado, estudiado y discutido de manera totalmente contrastable
y abierta.

2.1. Ingeniería del software tradicional e ingeniería del software libre

Este nuevo enfoque de la ingeniería del software no es ni mucho menos contradictorio con el tradicional que todos
conocemos; es más, se puede considerar que ambos son compatibles, incluso complementarios. Esto viene a significar
que la nueva perspectiva puede ser utilizada para comparar dos técnicas de programación diferentes, ayudando a sacar
conclusiones cuantitativas (e incluso cualitativas). Es muy probable que estos resultados puedan ayudar a mejorar
esas técnicas, al mismo tiempo que nuevas técnicas pueden implicar nuevas medidas. No se trata de decir que lo que
conocemos en la actualidad como ingeniería del software no sirve para nada o está condenado al fracaso, sino de abrir
nuevos caminos y nuevas formas de proceder que, en paralelo con las ya existentes, amplíen nuestro conocimiento
sobre los métodos de creación, funcionamiento y mantenimiento del software.

Y es que, como se discutirá a continuación, mediante el análisis del software libre se ganan una serie de factores que
difícilmente ha podido conseguir la ingeniería del software tradicional.

El primero de ellos es la vertiente temporal que se añade al análisis. Y es que no se puede olvidar que el proceso de
creación de software ha cambiado según han cambiado los paradigmas tecnológicos, de educación, de programación,
etc. Algo que se enunció hace 30 años puede ser muy válido en la actualidad (o no), aunque no cabe duda de que
es muy probable que necesite ser adaptado e incluso mejorado. De la evolución histórica se puede sacar mucha e
interesante información, y no solamente de carácter técnico. Para muchas decisiones es de gran importancia saber
los lenguajes de programación en alza, la evolución en cuanto a colaboradores de ciertos proyectos (por ejemplo,
de proyectos que se dediquen a crear aplicaciones p2p), etc. Mediante un análisis temporal continuo estaremos en
disposición de tener un termómetro permanente de lo que está ocurriendo en el mundo del software (libre).

Por otro lado, el análisis de software libre no plantea problemas de granularidad. La ingeniería del
  • Links de descarga
http://lwp-l.com/pdf1374

Comentarios de: Ingeniería del Software Libre. Una visión alternativa a la ingeniería del software tradicional (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad