Escolar Documentos
Profissional Documentos
Cultura Documentos
net
La Ingeniería de
Software en el
modelo de
desarrollo del
Software Libre
Ernesto C. Quiñones Azcárate
Gerente Técnico
Algunas definiciones
Software : conjunto de programas y procedimientos
necesarios para hacer posible la realización de una tarea
específica, en contraposición a los componentes físicos del
sistema (hardware)
http://es.wikipedia.org/wiki/Software
http://www.eqsoft.net
Pregunta fundamental
¿ Porqué hablamos
entonces de una
ingeniería de software ?
http://www.eqsoft.net
La ingeniería de software
La Ingeniería de software es la rama de
la ingeniería que crea y mantiene las
aplicaciones de software aplicando
tecnologías y prácticas de las ciencias
computacionales, manejo de
proyectos, ingeniería, el ámbito de la
aplicación, y otros campos.
Referencia :
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
http://www.eqsoft.net
De forma práctica
http://www.eqsoft.net
Áreas de conocimiento de
la Ingeniería de Software
http://www.eqsoft.net
Áreas de conocimiento de
la Ingeniería de Software
http://www.eqsoft.net
El Software Libre
Software libre (en inglés free
software) es la denominación del
software que, una vez obtenido,
puede ser usado, copiado,
estudiado, modificado y
redistribuido libremente.
Referencia :
http://es.wikipedia.org/wiki/Software_libre
http://www.eqsoft.net
El modelo de desarrollo del
Software Libre
El modelo de desarrollo del SL es atípico y
no convencional, se basa en un entorno
distribuido y colaborativo donde todos
pueden colaborar programando porciones
del software ó en diferentes tareas
específicas (traducción, arte, etc.), no busca
crear software en menor tiempo, a menores
costos y de una mayor calidad, surgio de
manera espontánea y natural.
http://www.eqsoft.net
Duda 1
http://www.eqsoft.net
Duda 2
http://www.eqsoft.net
Duda 3
¿Aporta el modelo de
desarrollo del Software
Libre algo a la ingeniería de
software?
http://www.eqsoft.net
La gran respuesta
http://www.eqsoft.net
Conozcamos la evolución
del modelo de desarrollo
del Software Libre
http://www.eqsoft.net
Como va incorporando el
modelo las practicas de la IS
● Años 60-70
Necesidad no Implementación
Programación
atendida Voluntaria
texto)
http://www.eqsoft.net
Como va incorporando el
modelo las practicas de la IS
● Años 80 Reporte de Error o código
solucionándolo
Testing
Requerimiento Programación
permanente
Nuevas Ideas
apps. textos)
● Programación en C, C++ y
1986 : CVS (control de
●
versiones)
lenguajes de scripting, gestionada 1987 : Perl (lenguaje)
●
● Se establecen convenciones y
Diseño
Testing
Requerimiento Formal o Programación
permanente
informal
Nuevas Ideas
● Automatas de pruebas y
paquetes)
documentación
http://www.eqsoft.net
Como va incorporando el
modelo las practicas de la IS
Publicación y
● Actualmente Documentación Testing
Testing permanente
Interno y
Adm. Releases
http://www.eqsoft.net
KA : Software Requirements
●Existen herramientas de apoyo para Gestión de
Requerimientos
●Open Source Requirements Management Tool
http://sourceforge.net/projects/osrmt/
●Los requerimientos son atendidos en base a los
siguientes criterios:
●Es de interés común
http://www.eqsoft.net
KA : Software Design
●Existen herramientas de apoyo para diseno de
software a varios niveles
●DIA http://www.gnome.org/projects/dia/
●Umbrello http://uml.sourceforge.net/index.php
●ArgoUML http://argouml.tigris.org/
●PgDesigner http://sourceforge.net/projects/pgdesigner/
orientado a objetos
http://www.eqsoft.net
KA : Software Construction
El modelo de desarrollo del software libre se
●
parece a esta
metodología:
●Extreme Programming
http://www.extremeprogramming.org/
●Existe software para apoyo a proyectos de
estas características:
●Xplanner http://www.extremeprogramming.org/
http://www.eqsoft.net
KA : Software Testing
●Existen herramientas de apoyo para simulación
de testing, batería de pruebas, administración
de pruebas.
●Ejb3Unit http://sourceforge.net/projects/ejb3unit/
●QaTraq http://sourceforge.net/projects/qatraq/
negra.
http://www.eqsoft.net
KA : Software Maintenance
Firefox X.Y.Z
X = Cambio de versión, nueva tecnología aplicada al producto.
Y = correcciones mayores o nuevas funcionalidades que se
incorporan.
Z = parche por errores
http://www.eqsoft.net
KA : Software Maintenance
Existe
● software para el despliegue de
actualizaciones de software.
● APT http://www.debian.org/doc/manuals/apt-howto/
● Portage
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=3
http://www.eqsoft.net
KA : Software Configuration Managment
● CVS http://ximbiot.com/cvs/
● Bugzilla http://www.bugzilla.org/about/
http://www.eqsoft.net
KA : Software Engineering Management
http://www.eqsoft.net
KA : Software Engineering Process
●Los procesos en los proyectos de SL no suelen
estar documentados, son pasados de
“generación en generación” entre los
involucrados.
●Los proyectos de SL no involucran una
Software Factory, por lo tanto son muy
flexibles en el tema de seguimiento y métricas,
algunos proyectos implementan las buenas
practicas del ISO15504 y CMMI.
●Los proyectos mas grandes si tienen procesos
http://www.eqsoft.net
KA : Software Quality
● “Calidad” en los proyectos de SL se asegura a traves de
varios métodos naturales en el modelo (también
denominado el método iterativo, congruente con XP) :
● Revisión de pares
http://www.eqsoft.net
KA : Software Quality
http://www.eqsoft.net
KA : Software Quality
Ante
factores
externos
Los extremos,
procesos aplique un
FORK
Requiere
Auditoria
Acceso al una nueva
permanente
código forma de
medición
http://www.eqsoft.net
KA : Related Disciplines of Software
Engineering
http://www.eqsoft.net
KA : Related Disciplines of Software
Engineering
Aplica Aplica
Aplica Aplica Aplica
altamente nulo o
medianamente nulo o medianamente
la mayoría de casi nada
la mayoría de casi nada la mayoría de
las KA Aplica a su
las KA las KA
Aplica Aplica forma, procesos
altamente depende muy variados
la mayoría de el
las KA proyecto
http://www.eqsoft.net
Respondiendo las dudas
1.¿El modelo de desarrollo del Software Libre
encaja dentro de la ingeniería de software? : SI,
se fue adecuando de manera natural a traves
de los años.
2.¿Existe una ingeniería de software ... libre? :
NO, la Ing. de Soft. es tan amplia que cubre
fácilmente el software libre y privativo.
3.¿Aporta el modelo de desarrollo del Software
Libre algo a la ingeniería de software? : SI,
nuevas practicas que antes no eran siquiera
imaginadas.
http://www.eqsoft.net
Para leer mas
● http://www.itba.edu.ar/capis/rtis/rtis-7-2/Ingenieria-de-Software-Libre-y-Herramientas-Aplicadas.pdf
● http://swebok.org/ (Iniciativa de ACM y la IEEE sobre el conjunto de conocimientos necesarios para
la Ingeniería de Software)
● http://www.ati.es/novatica/2000/145/luifer-145.pdf (El Futuro de la Ing, de Software, ó, ¿Es el
Software un producto de ingeniería?)
● http://es.tldp.org/Presentaciones/200211hispalinux/robles/robles-ponencia-hispalinux-2002.pdf
(Ing. del Software Libre una alternativa a la ing. de software tradicional)
● http://www.sourceforge.net / http://www.freshmeat.net (Miles de proyectos libres para diferentes
necesidades)
http://www.eqsoft.net
Gracias
WEB SITE
http://www.eqsoft.net
Teléfonos
5645424 / 97244926 / 97003957
Email
informes@eqsoft.net
http://www.eqsoft.net