opensource_ferramentas
Post on 24-Jan-2016
218 Views
Preview:
DESCRIPTION
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