You are on page 1of 4

Resumen libro : Ingenieria del Software Libre

Flores Gomez Anthony Reynaldo CI 9980162

En el captulo 1 ,se da un repaso general a la ingeniera del software. Se ven los


problemas que tuvieron los primeros gestores de grandes proyectos (tal como el
crecimiento exponencial de la demanda de sistemas informaticos), y se dan a conocer
los conceptos que deben tenerse en cuenta en el momento de plantearse un proyecto
software de cualquier envergadura.

Se plantean dos ejemplos de metodologas, aunque muy diferentes, intentan solucionar


los mismos problemas, y organizaciones o proyectos diferentes se encontrarn ms
prximos a una u otra indistintamente (Metodologa clsica: Mtrica v3 y Extreme
programming).

El anlisis y diseo de software juega un papel crucial en cualquier desarrollo, pero es


en la programacin orientada a objeto donde las actividades relacionadas con esta fase
de un proyecto han alcanzado sus cotas ms altas de sofisticacin. Es, adems, un
rea donde continuamente se producen avances y nuevas propuestas.
En el siguiente captulo se empieza dando una visin general del paradigma de
programacin orientada a objeto, donde se revisa desde los conceptos ms bsicos
hasta llegar a todos los tipos de relaciones entre objetos que soportan la mayora de
lenguajes de programacin.
Esta introduccin es necesaria para poder centrarnos a continuacin en el lenguaje de
modelado UML y lo que ste puede aportar a lo largo de todas las fases del ciclo de
vida de un proyecto.
Cada uno de los diagramas se ha estudiado en detalle a partir de un caso prctico.
Aunque la mayora de los diagramas de UML nos permiten mejorar la comunicacin
con el cliente en las fases iniciales, as como documentar y explorar funcionalidades y
aspectos concretos de las clases de nuestro sistema durante su anlisis y diseo,
tambin hemos visto cmo UML puede ayudarnos en las fases de desarrollo e
implantacin.

Hemos dedicado el ltimo apartado a la generacin de cdigo mediante las tres


mismas herramientas de cdigo abierto que hemos utilizado (Dia2Code, Umbrello,
ArgoUML.) en el material para generar los diagramas, demostrando as que UML en
particular y el modelado en general es una muy buena prctica en cualquier proyecto, no slo por la disciplina que nos impone en su diseo
sino tambin por el ahorro de tiempo en el desarrollo que puede aportar.

Durante el siguiente captulo se constata la necesidad de integrar los procesos de


control de calidad y pruebas dentro del ciclo de desarrollo de un programa desde el
inicio del mismo.
Se exponen los principios que rigen la comprobacin del software:

Es imperativo disponer de unos requisitos que detallen el sistema.


Los procesos de calidad deben ser integrados en las primeras
fases del proyecto.
Quien desarrolle un sistema no debe ser quien prueba su funcionalidad.
Y la escritura de un buen informe de error y de una unidad de comprobacin.

Tambin se consigue una visin prctica de los sistemas de control de calidad y


pruebas en el caso particular, tanto de prcticas como de aplicaciones del software libre
y se ven cules son los principales principios, tcnicas y aplicaciones que se utilizan
para garantizar la calidad de los productos libres.

La preparacin de un entorno de desarrollo GNU es muy distinta en la forma, las


utilidades y aplicaciones a instalar y el fondo a los entornos propietarios y visuales
usados en sistemas operativos Windows.
Estas diferencias se ponen de manifiesto en el uso de herramientas poco comunes en
otros sistemas, no solo funcional sino visualmente.

En el siguiente captulo se han definido las tareas, sentado las bases y reconocido el
software necesario para configurar nuestro entorno de desarrollo GNU, de forma que
podamos avanzar en el uso de IDEs de desarrollo y herramientas visuales en captulos
consecutivos.

Los sistemas de control de versiones son la columna vertebral, que propician que
grupos de personas trabajen de forma conjunta en el desarrollo de proyectos. Estos
sistemas permiten a miles de usuarios en localizaciones geogrficas diferentes trabajar
colaborativamente en el desarrollo de software libre.

Se presenta el uso de CVS (concurrent versions system) que es el sistema de control


de versiones utilizado actualmente en el mundo del software libre. Tambin se ve
Subversion, un producto de control de versiones relativamente joven, naci en el ao
2001, que tiene como objetivo solventar las principales carencias de CVS y que ya han
comenzado a adoptar muchos proyectos en sustitucin de CVS.

El contenedor tar guarda estructuras completas de archivos y directorios y junto con el


compresor gzip es capaz de distribuir software de forma homognea pero
inconsistente, es decir, su instalacin es independiente de otros paquetes de software
e incluso de una instalacin idntica anterior.
rpm y deb toman todo lo bueno de los anteriores guardando una consistencia de datos
y versiones necesaria para la distribucin del software por Internet y las instalaciones
desatendidas.

La evolucin de estos sistemas consistentes y su compatibilidad determinar el o los


sistemas de distribucin de software del futuro.
Lo ms deseable: un frontend independiente del sistema de distribucin que
compatibilice versiones y unifique bases de datos, pudiendo gestionar de manera
transparente cualquiera de ellos.

La documentacin en software libre adquiere una relevancia mucho mayor que en


sistemas de licenciamiento privativos, ya que en software libre se busca la cooperacin
en el desarrollo; por ello, tener una buena documentacin ayudar a los desarrolladores
y usuarios a conocer mejor y ms rpidamente la herramienta de software, quedando
habilitados a cooperar con el proyecto, ya sea informando de errores, proponiendo
mejoras, aportando cdigo o contestando preguntas a otros usuarios y desarrolladores.

Los sistemas de documentacin presentados en el libro permiten tener una idea de las
caractersticas generales de cada uno de ellos y son una breve gua para poder
construir un documento bsico utilizando las herramientas descritas; depender del
alumno profundizar en el o los sistemas que considere ms apropiados para obtener un
conocimiento completo de ellos.

La conclusin final de este apartado est clara. Disponemos de multitud de recursos


tiles para los ingenieros del software libre. No hay uno solo para albergar proyectos,
pero s, uno ms importante que los dems. Lo mismo ocurre con los recursos para
publicitar nuestros proyectos y a nosotros mismos como desarrolladores, hay uno ms
importante, como es Freshmeat, pero no es el nico, sino que existen otros que cubren
deficiencias de ste.
Lo que est claro es que cada da salen nuevos recursos tiles y nuevos proyectos
recomendables, que no siempre se publicitan en los mismos sitios y que no siempre
llegamos a conocerlos.
Se necesita una centralizacin a la que se est llegando mediante la sindicacin de
contenidos y noticias, pero an quedan barreras por superar y una de las ms patentes
es la del idioma. Hoy por hoy, los desarrolladores deben conocer el ingls para poder
dar a conocer sus proyectos. Esperemos que en un futuro prximo los recursos
principales tambin estn traducidos para acercarlos a los desarrolladores no
angloparlantes.

You might also like