Desarrollo De Software con Herramientas Libres

42
Desarrollo De Software Con Herramientas Libres I n e v a t i

description

Diapositivas de la conferencia sobre "Desarrollo de Software con Herramientas libres" en el 13° Congreso LIPRO - IVEDL- UNEDL Universidad Enrique Diaz de Leon. by Inevati

Transcript of Desarrollo De Software con Herramientas Libres

Page 1: Desarrollo De Software con Herramientas Libres

Desarrollo De Software Con Herramientas Libres

I n e v a t i

Page 2: Desarrollo De Software con Herramientas Libres

Objetivo

Conocer algunas herramientas libres que se pueden usar en el proceso de desarrollo de software

Mostrar en cada fase de desarrollo de un proyecto que herramientas pueden ser útiles así como su alternativa privativa

Generar una idea de las ventajas y desventajas del uso de estas herramientas

I n e v a t i

Page 3: Desarrollo De Software con Herramientas Libres

Preguntas

Conoces los terminos de: Software libre Software propietario

Manejas algun software libre? Manejas algun software propietario? Desarrollas proyectos con estas herramientas?

I n e v a t i

Page 4: Desarrollo De Software con Herramientas Libres

Terminos pt.1

Software libre

Respeta la libertad de los usuarios:

Copiado Estudiado Modificado Redistribuid

o libremente*

Software Propietario

Los usuarios estan limitados:

Usarlo Modificarlo Redistribuirlo

(con o sin modificaciones)

El código fuente no está disponible o el acceso a éste se encuentra restringido .

I n e v a t i

Page 5: Desarrollo De Software con Herramientas Libres

Terminos pt.2

Freeware Se distribuye sin coste y por tiempo ilimitado A veces se incluye el código fuente Permite su redistribución pero con algunas

restricciones

Shareware Se puede usar por un periodo de prueba Limite de uso Hay que pagar por el

I n e v a t i

Page 6: Desarrollo De Software con Herramientas Libres

Licencias

Licencia Pública General de GNU

Protege la libre distribución, modificación y uso de software

Previene de intentos de apropiación que restrinjan esas libertades a los usuarios

I n e v a t i

Page 7: Desarrollo De Software con Herramientas Libres

Licencias

BSD Permite el uso del

código fuente en software no libre

Mantiene la protección de copyright

Permite la libre redistribución y modificación.

I n e v a t i

Page 8: Desarrollo De Software con Herramientas Libres

Licencias

MIT/X11 (Massachusetts Institute of Technology)

La nota de copyright y la parte de los derechos se incluya en todas las copias

Usar, copiar, modificar, integrar con otro Software, publicar, sublicenciar o vender copias del Software

I n e v a t i

Page 9: Desarrollo De Software con Herramientas Libres

Licencias

Licencia Común de Desarrollo y Distribución (CDDL)

Permite usar, modificar y redistribuir el código publicado sin preocuparse sobre cualquier patente

Permite combinar ficehros de esta licencia con ficheros lbajo otras licencias

I n e v a t i

Page 10: Desarrollo De Software con Herramientas Libres

Licencias

Licencia Pública General Reducida de GNU

Puede enlazarse contra un programa no-GPL

Se puede ejecutar el programa no está restringido

I n e v a t i

Page 11: Desarrollo De Software con Herramientas Libres

Licencias

Licencia Pública de Mozilla Usar el programa, con cualquier propósito Estudiar cómo funciona el programa y

modificarlo Distribuir copias del programa Mejorar el programa y hacer públicas esas

mejoras Deja abierto el camino a una posible

reutilización no libre del software

I n e v a t i

Page 12: Desarrollo De Software con Herramientas Libres

Herramientas libres para cada fase del proceso de desarrollo de

software

I n e v a t i

Page 13: Desarrollo De Software con Herramientas Libres

Ciclo de vida del SoftwareI n e v a t i

Page 14: Desarrollo De Software con Herramientas Libres

Fase 1Requerimientos y documentación

Extracción de los requisitos, eliminación de ambiguedades e inconsistencias.

Page 15: Desarrollo De Software con Herramientas Libres

Requerimientos y documentación

Open Office

MSOffice

I n e v a t i

Page 16: Desarrollo De Software con Herramientas Libres

Fase 2Planeación y estimación

Planificación de tiempo y costos en base a los recursos disponibles

I n e v a t i

Page 17: Desarrollo De Software con Herramientas Libres

Planeación y estimación

Diagrama de GanntDiagrama de Red

Diagrama RecursosSeparación de Tareas

Informes

I n e v a t i

Page 18: Desarrollo De Software con Herramientas Libres

Ms Project I n e v a t i

Page 19: Desarrollo De Software con Herramientas Libres

Open Proj I n e v a t i

Page 20: Desarrollo De Software con Herramientas Libres

Fase 3Diseño y Análisis

Determinación de funcionalidad y casos de uso en general, para obtener el modelo adecuado.

I n e v a t i

Page 21: Desarrollo De Software con Herramientas Libres

MySQL WorkbenchI n e v a t i

Page 22: Desarrollo De Software con Herramientas Libres

Dia (UML) I n e v a t i

Page 23: Desarrollo De Software con Herramientas Libres

Dia (Editando diagrama de red)I n e v a t i

Page 24: Desarrollo De Software con Herramientas Libres

VisioI n e v a t i

Page 25: Desarrollo De Software con Herramientas Libres

Fase 4Codificación /Implementación

(java) - Eclipse, Netbeans / Jcreator

(c#) - SharpDevelop, Mono /MS-VisualStudio

(flash) - OpenLazlo, FlashDevelop / AdobeFlash

(web) - AptanaStudio / Adobe DreamWeaver

I n e v a t i

Page 26: Desarrollo De Software con Herramientas Libres

Eclipse

Editor de texto

Resaltado de sintaxis

Compilación en tiempo real

Pruebas unitarias con JUnit

Control de versiones con CVS

Integración con Ant

Asistentes (wizards): para creación de proyectos, clases, tests, etc.

Refactorización

Asimismo, a través de "plugins" libremente disponibles es posible añadir:

Control de versiones con Subversion

Integración con Hibernate

I n e v a t i

Page 27: Desarrollo De Software con Herramientas Libres

EclipseI n e v a t iI n e v a t i

Page 28: Desarrollo De Software con Herramientas Libres

NetBeans

Editor de texto

Resaltado de sintaxis

Compilación en tiempo real

Autompletado de codigo

Soporte para Java SE, Java EE, Java ME

Gran cantidad de módulos de terceros (plugins)

Desarrollo intuitivo drag-and-drop > Debugger, Profiler, Refactoring

Creacion de interfaces visuales

Soporte para varios lenguajes

I n e v a t i

Page 29: Desarrollo De Software con Herramientas Libres

NetbeansI n e v a t i

Page 30: Desarrollo De Software con Herramientas Libres

JCreator

Gestionar proyectos con facilidad en una interfaz que es muy similar a Microsoft Visual Studio.

Definir su propio esquemas de color en XML para un número ilimitado de formas de organizar el código.

Accede a escribir código rápidamente con nuestras plantillas de proyecto.

Hacer ver su proyecto con una brisa de nuestra clase navegador.

Caminar a través de nuestros asistentes y corte a la persecución de su proyecto de escritura rápida y fácilmente.

Administrar e intercambiar su código con nuestra Ant y CVS integración.

Guardar un tiempo valioso en la configuración de Classpath; JCreator dejar que lo haga por ti.

Personalizar nuestro interfaz de usuario de la forma en que te guste.

I n e v a t i

Page 31: Desarrollo De Software con Herramientas Libres

JcreatorI n e v a t i

Page 32: Desarrollo De Software con Herramientas Libres

SharDevelop vs MS-VSFeature SharpDevelop 3.0 SharpDevelop 2.2 Visual Studio Express

Editions

Code auto-completion

Yes Yes Yes

Code syntax highlighting

Yes Yes Yes

Windows Forms Designer

Yes Yes Yes

Web Forms Designer

No No Provided with Visual Web Developer

Code Coverage Yes Yes No

Unit Testing Yes Yes No

Languages Supported

C#, VB.NET, Boo, F#, IronPython

C#, VB.NET, Boo C#, C++, VB.NET, J#

I n e v a t i

Page 33: Desarrollo De Software con Herramientas Libres

SharpDevelopI n e v a t i

Page 34: Desarrollo De Software con Herramientas Libres

MS-Visual StudioI n e v a t i

Page 35: Desarrollo De Software con Herramientas Libres

Aptana

Ayudas visuales para la escritura de scripts en diversos lenguajes, como coloreado y auto escritura del código, ayudas contextuales de referencia a medida que se escribe, etc.

Visualización de errores de sintaxis a medida que se escribe.

Soporte para hacer FTP a servidores remotos, con herramientas para sincronización.

Debug en Firefox (Debug Internet Explorer también con la versión Profesional)

Librerías de funciones en Javascript populares en Ajax/Javascript para utilizar en los proyectos.

Ejemplos ya creados para empezar a conocer las posibilidades de desarrollo rápidamente.

Previsualización de estilos CSS con el editor CSS.

Extensible a partir de plug-ins que puede crear Aptana u otras empresas y herramientas para estar al tanto de cualquier nuevo añadido.

I n e v a t i

Page 36: Desarrollo De Software con Herramientas Libres

AptanaI n e v a t i

Page 37: Desarrollo De Software con Herramientas Libres

Adobe DreamweaverI n e v a t i

Page 38: Desarrollo De Software con Herramientas Libres

Comparación

Eclipse Neatbeans Jcreator Mono Sharp Develop

MS-Visual Studio

S.O. Multi-plataforma

Multi-plataforma

Windows Multi-plataforma

Multi-plataforma

Windows

Licencia Licencia Publica de Eclipse

CDDL Privativo GPL, LGPL y MIT

LGPL Privativo

Uso IDE java, c++, etc

IDE java IDE java C#, java C#, .NET C#, .NET

Precio Gratuito Gratuito 1x$8930x$1600USD

Gratuito Gratuito Standar x $299Pro x $799USD

I n e v a t i

Page 39: Desarrollo De Software con Herramientas Libres

Comparación

Aptana Studio

Adobe Dream-weaver

NovaMind

FreeMind Flash Develop

Adobe Flash

S.O. Multi-plataforma

Windows Windows, MacOS

Multi-plataforma

Multi-plataforma

Windows

Licencia Licencia Publica de Aptana

Privativo Privativo GPL MIT/X11 Privativo

Uso PHP, HTML, AJAX, etc

PHP, HTML, AJAX, etc

Mapas mentales

Mapas Mentales

Action script Flash, Action script

Precio GratuitoPro x 1 $99USD

CS4x1 $399Creative Suite x1 $1699

1x $6815x $20720USD

Gratuito Gratuito CS4 x 1 $699USD

I n e v a t i

Page 40: Desarrollo De Software con Herramientas Libres

Comparación

Dia MS-Visio MicroOlap

MySQL Workbanch

OpenProj MS-Project

S.O. Multi-plataforma

Windows Windows Multi-plataforma

Multi-plataforma

Windows

Licencia GNU Privativo Privativo GNU Common Public Attribution License

Privativo

Uso UML, circuitos electricos, etc

UML, Diagramas de flujo, etc

Base de Datos

Base de Datos

Gestion de proyectos

Gestion de Proyectos

Precio Gratuito Standar $259Pro $599USD

1x $3995x $959USD

Gratuito Gratuito Standar $599Pro $999

I n e v a t i

Page 41: Desarrollo De Software con Herramientas Libres

Referencias

http://sourceforge.net/ http://www.freealts.com/ http://www.osalt.com/ http://www.cdlibre.org/consultar/catalogo/index.html http://www.aclibre.org/ http://osluz.unizar.es/ http://es.wikibooks.org/wiki/Introducci

%C3%B3n_a_Linux/Equivalencias_Windows_en_Linux

I n e v a t i

Page 42: Desarrollo De Software con Herramientas Libres

Gracias

www.inevati.comIng. Jaime Edgar Catalán Cornejo

Ing. Victor Manuel Medina Ramírez

I n e v a t i

[email protected]