Top Banner
Desenvolvimento de Sistemas Empregando Software Livre Copyright © 2004 Fábio Nogueira de Lucena [email protected] Software Livre de Goiás http://www.inf.ufg.br/~fabio/sol.zip Estes slides estão em Instituto de Informática Universidade Federal de Goiás Versão 1.1.5
46

OpenSource_Ferramentas

Jan 24, 2016

Download

Documents

ads dvdvd fvfdv fd na sdskuh dkfhdks whgwr f kgfwrfbrfrffhgrbfugrfj krugfkjrb trtrty ty ry rtyr rtyrtye4345667 i776
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenSource_Ferramentas

Desenvolvimento de Sistemas Empregando Software Livre

Copyright © 2004Fábio Nogueira de [email protected]

Software Livre de Goiás

http://www.inf.ufg.br/~fabio/sol.zipEstes slides estão em

Instituto de InformáticaUniversidade Federal de Goiás

Versão 1.1.5

Page 2: OpenSource_Ferramentas

IDE Borland, caro.Solução Microsoft, caríssima. SGBD Oracle, um escândalo.

Um Eclipse, um JBoss, um Linux, não tem preço...

Para todos os demais, tenha muito dinheiro.

Page 3: OpenSource_Ferramentas

Mensagem da apresentação

Ferramenta para

e-businessnão precisa ser

e-xpensive!Mesmo aquelas “complexas para a web”. Não inclui sistemas reativos, ...

Page 4: OpenSource_Ferramentas

Você segue a direção indicada ...

Ou escolheo seu futuro?

Você decide o que empregar? Quem decide para o projeto? Quem está no comando?

Page 5: OpenSource_Ferramentas

Perspectiva• Eu gostaria, mas

– não aborda aspectos políticos!– não aborda aspectos sociais!– não aborda aspectos econômicos!– não aborda aspectos gerenciais!– não aborda aspectos religiosos!– não aborda aspectos éticos!

• Esta palestra é técnica• Ferramentas especializadas

– Disponíveis gratuitamente (inclusive para uso comercial)– Código fonte disponível (mudanças permitidas)

• Orientação a Objetos (não há nada melhor!)• Java (existe software livre até para VB e Delphi!)• Java™ versus .Net™ (Java™ vence com folga)

Page 6: OpenSource_Ferramentas

O que se faz com esta palestra?

Da perspectiva do Unified Process(disciplina Environment)

Definir ferramentas

Page 7: OpenSource_Ferramentas

Conheça um pouco mais ...

• Open Softwarewww.opensource.org

• GNUwww.gnu.org

• SourceForge.nethttp://sourceforge.net/(mais de 70K projetos)

– Open Source Dirhttp://www.osdir.com

Page 8: OpenSource_Ferramentas

Quais as “boas” ferramentas disponíveis gratuitamente?

Em muitos casos são melhores que as proprietárias!

Page 9: OpenSource_Ferramentas

Gerência de projeto de software

Qual o problema que todo gerente de projetoenfrenta, logo no início?

Estimativas e um plano é exigido, mas pouca informação está disponível.

O que fazem, em geral?Alguns mentem, e você?

Page 10: OpenSource_Ferramentas

Planejamento de projeto de software• Estimar esforço (função de LOC ou FP)

– COCOMO (COnstructive COst MOdel)http://www.engin.umd.umich.edu/CIS/tinytools/http://sunset.usc.edu/research/cocomosuite/index.html

– Function points, COCOMO, ...www.construx.comhttp://www-cs.etsu.edu/softeng/

Construx Estimate® 2.0

Page 11: OpenSource_Ferramentas

Quais as ações? Quando? Quem?• GanttProject (100% Java)

http://ganttproject.sourceforge.net/

• jxProject (100% Java)http://www.jxproject.com/

Page 12: OpenSource_Ferramentas

Mudar é inevitável. Como controlar?

• CVShttp://www.cvshome.org/

• CVSNThttp://www.cvsnt.org

• CVSWeb (cliente web)http://people.freebsd.org/~fenner/cvsweb/

• WinCVS, gnuCVS, MacCVSwww.wincvs.org

• Outroswww.jcvs.orgjavacvs.sourceforge.net

Page 13: OpenSource_Ferramentas

Computação “ainda” não é profissional.

Elimine listas e emails para monitorardefeitos de uma aplicação!

Bugzilla (bug tracking system)www.bugzilla.org

Ou seja, erros são inevitáveis!Como acompanhá-los?

Page 14: OpenSource_Ferramentas

Você precisa ...• Gerenciar dependências de produtos (e outras)?• Acompanhar métricas de software?• Manter lista de desenvolvedores?• Gerar relatórios de testes?• Gerar relatórios de cobertura dos testes?• Acompanhar mudanças no repositório de código?• Verificar se padrões estão sendo seguidos?• Documentar melhores práticas?• Obter informações sobre estas questões?• Tarefas a serem feitas?

http://maven.apache.org/

Page 15: OpenSource_Ferramentas

Documentar e comunicar é preciso!

TextosApresentaçõesPlanilhas, em português ...

Software não é apenas código!

http://www.openoffice.org.br

Page 16: OpenSource_Ferramentas

Visualizar documentos• Adobe Reader (PDF)

http://www.adobe.com• GhostScript (PDF, PostScript)

http://www.cs.wisc.edu/~ghost/doc/AFPL/• GhostView (PDF, PostScript)

http://www.cs.wisc.edu/~ghost/gsview/•

Page 17: OpenSource_Ferramentas

Edição! Compressão melhor que ZIP!Scintilla

Conversão para PDF, Latex, ...http://www.scintilla.org/

7-Ziphttp://www.7-zip.org/

Page 18: OpenSource_Ferramentas

Software livre, ...• Benefícios de software livre?• Grande audiência?• Softwares

– Edição– Segurança– E muitas outras, todas open source!

http://www.theopencd.org

Page 19: OpenSource_Ferramentas

Sistema Operacional

Microsoft™ (empresa concorrente)(Bill Gates, Bélgica, “Torta na cara”)

Linus Torvalds

Criador do Linux

Quer uma prova de que omundo está em apuros?

Page 20: OpenSource_Ferramentas

Plataforma Java versus .Nada

http://java.sun.com/

Page 21: OpenSource_Ferramentas

Java? Executa em todo lugar!

Page 22: OpenSource_Ferramentas

Algumas plataformas J2EE certificadas

A melhoré FREE

http://jboss.org

Page 23: OpenSource_Ferramentas

Fontes de informações sobre JavaSun Java™http://java.sun.com

Java-Channelhttp://www.java-channel.org

JGuruhttp://www.jguru.com/

Java Communit Processhttp://www.jcp.org

JavaProhttp://www.fawcette.com/javapro/

Java Technologyhttp://www-106.ibm.com/developerworks/java/

FTPOnlinehttp://www.ftponline.com

OnJavahttp://www.onjava.com/

Java.Nethttp://www.java.net/

Page 24: OpenSource_Ferramentas

Aplicações WEB precisam de W3 Server

NetCraft Web Server Survey (novembro/2003)http://news.netcraft.com/

Análise obtida de respostas de quase 45 milhões de portais!

Apache 67.41%Microsoft 21.02%SunONE 3.39%Zeus 1.65%

Apache HTTP Serverhttp://httpd.apache.org/

Page 25: OpenSource_Ferramentas

Estender Servidor Web• Tomcat (Servlet e JavaServer Pages)

http://jakarta.apache.org/tomcat/•

Page 26: OpenSource_Ferramentas

Trocar informações? XML/XSLT

• TreeBeard (100% Java)http://treebeard.sourceforge.net/

• XAmple XML Editorhttp://www.xample-xml-editor.com-download.net/

• XML Editor (Schema support)http://architag.com/xray/

• CockTop http://www.xmlcooktop.com

• XMLEditProhttp://www.daveswebsite.com/

Page 27: OpenSource_Ferramentas

Código “atende” requisitos, necessidades!• A mais simples

(editor de texto)• Ferramenta especializada

http://reqsman.sourceforge.net/• Ferramentas para modelagem UML• Gerência de requisitos

http://klendathu.lsi.us.es/REM/

The Free RequirementsManagement Tool

Análise

Page 28: OpenSource_Ferramentas

Engenheiros de software falam ...

... e um pouco de português!

http://www.uml.org/

Page 29: OpenSource_Ferramentas

• ArgoUMLhttp://argouml.tigris.org

• ProxyDesignerwww.proxysource.com

• FUJABAwww.fujaba.de

• Delphia Object Modelerhttp://www.si.fr.atosorigin.com/dom/english/

• Unimodelerhttp://www.unimodeler.com

• DIAhttp://www.lysator.liu.se/~alla/dia/

• UMLethttp://qse.ifs.tuwien.ac.at/~auer/umlet/

Modelagem UMLAnálise

Projeto

Page 30: OpenSource_Ferramentas

E se a modelagem não existir?• ESS-Model (modelos a partir de código)

http://essmodel.sourceforge.net/•

Page 31: OpenSource_Ferramentas

Edição, compilação, depuração• Eclipse

www.eclipse.org

• Anthttp://ant.apache.org

• Compilador GNU para Javahttp://gcc.gnu.org/java/

• Jikes® IBM®O compilador “mais rápido”http://www-124.ibm.com/developerworks/opensource/jikes/

NetBeans IDEwww.netbeans.org

Page 32: OpenSource_Ferramentas

Ambiente para a web• e-Gen (usa Struts)

http://www.egen.com.br/•

Page 33: OpenSource_Ferramentas

Onde o software “demora”?• Eclipse Profiler Plug-in

http://eclipsecolorer.sourceforge.net/index_profiler.html

Page 34: OpenSource_Ferramentas

Qual o termômetro para software?• Metrics

http://metrics.sourceforge.net/ • JMetric

http://www.it.swin.edu.au/projects/jmetric/products/jmetric/

Métricas

Visualização de coesão eacoplamento!

Dezenas de métricas!

Page 35: OpenSource_Ferramentas

Testes• Abbot (GUI testes)

http://abbot.sourceforge.net/

• Bugkilla (testar aplicações web J2EE)http://bugkilla.sourceforge.net/

• JMeter (100% Java, desempenho, JDBC, Web, ...)http://jakarta.apache.org/jmeter/

• JUnit (framework para teste de regressão)http://www.junit.org

• FindBugshttp://www.cs.umd.edu/~pugh/java/bugs/

• PMDhttp://pmd.sourceforge.net/

Page 36: OpenSource_Ferramentas

Quer proteger o seu código?• ProGuard

http://proguard.sourceforge.net/

Page 37: OpenSource_Ferramentas

Onde executar software em Java?

J2SEhttp://java.sun.com

JRockit (a MVJ “mais rápida”)www.bea.com

Free JVMKaffe.Orgwww.kaffe.org

Jikes™ Research Virtual Machine (IBM)http://oss.software.ibm.com/developerworks/opensource/jikesrvm/

Várias implementações da MVJ (open source)http://joeq.sourceforge.net/

Page 38: OpenSource_Ferramentas

Projeto OO e SGBD relacional? Como?

• JDO (implementação)http://tjdo.sourceforge.net/

• Java Persistent Objects (JDO)http://jpox.sourceforge.net/

• ObjectRelationalBridge (ODMB 3.0, JDO 1.0)http://db.apache.org/ojb/

• Hibernatehttp://www.hibernate.org/

Page 39: OpenSource_Ferramentas

Investigar SQL via JDBC• www.irongrid.com

– IronEye SQL– IronEye Cache– IronTrack

P6SPYhttp://p6spy.com/

Page 40: OpenSource_Ferramentas

Como ter acesso a base SQL?• JfaceDBC (Eclipse plug-in)

http://jfacedbc.sourceforge.net/

• Quantum Eclipse plug-inhttp://quantum.sourceforge.net/

Page 41: OpenSource_Ferramentas

Como definir uma base?

• PgAdmin III (PostgreSQL)http://www.pgadmin.org/pgadmin3/

• Druidhttp://druid.sourceforge.net/

Rekallhttp://www.totalrekall.co.uk/

Page 42: OpenSource_Ferramentas

SGBD comercial (Por quê?)

Qual a diferença entre Deus e Larry Ellison?Deus não pensa que é Larry Ellison.TCS, James Glassman

Larry Ellison é o “dono” da Oracle®

“Clientes da Oracle® estão à mercê de quase 60 diretores que se envolvem em aventuras de alto risco e cujo interesse na companhia é esporádico.”Karen Southwick, sept/2003CNET Tech News

Page 43: OpenSource_Ferramentas

Enfim, alguns bons SGBDs!

PostgreSQLwww.postgresql.org

Small footprint, < 160k, 100% Javahttp://hsqldb.sourceforge.net/

Firebirdhttp://firebird.sourceforge.net

MySQLhttp://www.mysql.com

Page 44: OpenSource_Ferramentas

Miscelâneas• Gerar PDF através de API Java

iTexthttp://www.lowagie.com/iText/

• Gerador de instalador de programaIzPackhttp://www.izforge.com/izpack/

• MD5 (assinatura digital)http://www.fourmilab.ch/md5

•• GnuPG (free PGP)

http://www.gnupg.org/•

Page 45: OpenSource_Ferramentas

Considerações finais• Aspectos não contemplados

– Apresentação (interface gráfica)– Componentes web (Servlet e JSP)– Web services– ... e muitos outros.

• Ênfase– Aplicações e-business (“grandes” e para a web)– Emprego de Java– Tarefas “principais” de gerência– Tarefas “principais” de desenvolvedores

• Comentário– Muitas ferramentas (use as que forem adequadas)– Projetos “comuns” usam poucas ferramentas

Page 46: OpenSource_Ferramentas

Você está prontopara a liberdade?

www.www.openopensourcesource.org.org

Você deveria!