opensource_ferramentas

Post on 24-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

ads dvdvd fvfdv fd na sdskuh dkfhdks whgwr f kgfwrfbrfrffhgrbfugrfj krugfkjrb trtrty ty ry rtyr rtyrtye4345667 i776

TRANSCRIPT

Desenvolvimento de Sistemas Empregando Software Livre

Copyright © 2004Fábio Nogueira de Lucenafabio@inf.ufg.br

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

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.

Mensagem da apresentação

Ferramenta para

e-businessnão precisa ser

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

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

Ou escolheo seu futuro?

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

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)

O que se faz com esta palestra?

Da perspectiva do Unified Process(disciplina Environment)

Definir 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

Quais as “boas” ferramentas disponíveis gratuitamente?

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

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ê?

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

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

http://ganttproject.sourceforge.net/

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

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

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?

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/

Documentar e comunicar é preciso!

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

Software não é apenas código!

http://www.openoffice.org.br

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/•

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

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

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

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

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?

Plataforma Java versus .Nada

http://java.sun.com/

Java? Executa em todo lugar!

Algumas plataformas J2EE certificadas

A melhoré FREE

http://jboss.org

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/

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/

Estender Servidor Web• Tomcat (Servlet e JavaServer Pages)

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

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/

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

Engenheiros de software falam ...

... e um pouco de português!

http://www.uml.org/

• 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

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

http://essmodel.sourceforge.net/•

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

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

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

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

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

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!

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/

Quer proteger o seu código?• ProGuard

http://proguard.sourceforge.net/

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/

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/

Investigar SQL via JDBC• www.irongrid.com

– IronEye SQL– IronEye Cache– IronTrack

P6SPYhttp://p6spy.com/

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

http://jfacedbc.sourceforge.net/

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

Como definir uma base?

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

• Druidhttp://druid.sourceforge.net/

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

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

Enfim, alguns bons SGBDs!

PostgreSQLwww.postgresql.org

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

Firebirdhttp://firebird.sourceforge.net

MySQLhttp://www.mysql.com

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/•

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

Você está prontopara a liberdade?

www.www.openopensourcesource.org.org

Você deveria!

top related