• Nenhum resultado encontrado

Desenvolvimento de Sistemas Empregando Software Livre

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de Sistemas Empregando Software Livre"

Copied!
46
0
0

Texto

(1)

Desenvolvimento de

Sistemas Empregando

Software Livre

Copyright © 2004

Fábio Nogueira de Lucena fabio@inf.ufg.br

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

(2)

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.

(3)

Mensagem da apresentação

Ferramenta para

e-business

não precisa ser

e-xpensive!

(4)

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

Ou escolhe

o seu futuro?

(5)

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)

(6)

O que se faz com esta palestra?

Da perspectiva do Unified Process

(disciplina Environment)

(7)

Conheça um pouco mais ...

• Open Software www.opensource.org • GNU www.gnu.org • SourceForge.net http://sourceforge.net/ (mais de 70K projetos)

– Open Source Dir

(8)

Quais as “boas”

ferramentas disponíveis

gratuitamente?

(9)

Gerência de projeto de software

Qual o problema que todo gerente de projeto

enfrenta, logo no início?

Estimativas e um plano é exigido,

mas pouca informação está disponível.

O que fazem, em geral?

(10)

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.com

http://www-cs.etsu.edu/softeng/

(11)

Quais as ações? Quando? Quem?

• GanttProject (100% Java)

http://ganttproject.sourceforge.net/

• jxProject (100% Java)

(12)

Mudar é inevitável. Como controlar?

• CVS

http://www.cvshome.org/

• CVSNT

http://www.cvsnt.org

• CVSWeb (cliente web)

http://people.freebsd.org/~fenner/cvsweb/

• WinCVS, gnuCVS, MacCVS

www.wincvs.org

• Outros

www.jcvs.org

(13)

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

Elimine listas e emails para monitorar

defeitos de uma aplicação!

Bugzilla (bug tracking system)

www.bugzilla.org

Ou seja, erros são inevitáveis!

Como acompanhá-los?

(14)

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?

(15)

Documentar e comunicar é preciso!

Textos

Apresentações

Planilhas, em português ...

Software não é apenas código!

(16)

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/

(17)

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

Scintilla

Conversão para PDF, Latex, ...

http://www.scintilla.org/

7-Zip

(18)

Software livre, ...

• Benefícios de software livre?

• Grande audiência?

• Softwares

– Edição

– Segurança

– E muitas outras, todas open source!

(19)

Sistema Operacional

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

Linus Torvalds

Criador do Linux

Quer uma prova de que o mundo está em apuros?

(20)

Plataforma Java versus .Nada

(21)
(22)

Algumas plataformas J2EE certificadas

A melhor é FREE

(23)

Fontes de informações sobre Java

Sun Java™

http://java.sun.com Java-Channelhttp://www.java-channel.org

JGuru

http://www.jguru.com/ Java Communit Processhttp://www.jcp.org

JavaPro http://www.fawcette.com/javapro/ Java Technology http://www-106.ibm.com/developerworks/java/ FTPOnline http://www.ftponline.com OnJava http://www.onjava.com/ Java.Net http://www.java.net/

(24)

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 Server

http://httpd.apache.org/

(25)

Estender Servidor Web

• Tomcat (Servlet e JavaServer Pages)

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

(26)

Trocar informações? XML/XSLT

• TreeBeard (100% Java)

http://treebeard.sourceforge.net/

• XAmple XML Editor

http://www.xample-xml-editor.com-download.net/

• XML Editor (Schema support)

http://architag.com/xray/

• CockTop

http://www.xmlcooktop.com • XMLEditPro

(27)

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 Requirements

Management Tool

(28)

Engenheiros de software falam ...

... e um pouco de português!

http://www.uml.org/

(29)

• ArgoUML http://argouml.tigris.org • ProxyDesigner www.proxysource.com • FUJABA www.fujaba.de

• Delphia Object Modeler

http://www.si.fr.atosorigin.com/dom/english/ • Unimodeler http://www.unimodeler.com • DIA http://www.lysator.liu.se/~alla/dia/ • UMLet http://qse.ifs.tuwien.ac.at/~auer/umlet/

Modelagem UML

Análise

(30)

E se a modelagem não existir?

• ESS-Model (modelos a partir de código)

http://essmodel.sourceforge.net/

(31)

Edição, compilação, depuração

• Eclipse

www.eclipse.org

• Ant

http://ant.apache.org

• Compilador GNU para Java

http://gcc.gnu.org/java/

• Jikes® IBM®

O compilador “mais rápido”

http://www-124.ibm.com/developerworks/opensource/jikes/

NetBeans IDE

(32)

Ambiente para a web

• e-Gen (usa Struts)

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

(33)

Onde o software “demora”?

• Eclipse Profiler Plug-in

(34)

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 e

(35)

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

• FindBugs

http://www.cs.umd.edu/~pugh/java/bugs/

• PMD

(36)

Quer proteger o seu código?

• ProGuard

(37)

Onde executar software em Java?

J2SE

http://java.sun.com

JRockit (a MVJ “mais rápida”)

www.bea.com

Free JVM Kaffe.Org

www.kaffe.org

Jikes™ Research Virtual Machine (IBM)

http://oss.software.ibm.com/developerworks/opensource/jikesrvm/

Várias implementações da MVJ (open source)

(38)

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/

• Hibernate

(39)

Investigar SQL via JDBC

• www.irongrid.com – IronEye SQL – IronEye Cache – IronTrack P6SPY http://p6spy.com/

(40)

Como ter acesso a base SQL?

• JfaceDBC (Eclipse plug-in)

http://jfacedbc.sourceforge.net/

• Quantum Eclipse plug-in

(41)

Como definir uma base?

• PgAdmin III (PostgreSQL)

http://www.pgadmin.org/pgadmin3/

• Druid

http://druid.sourceforge.net/

Rekall

(42)

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

CNET Tech News

(43)

Enfim, alguns bons SGBDs!

PostgreSQL

www.postgresql.org

Small footprint, < 160k, 100% Java

http://hsqldb.sourceforge.net/

Firebird

(44)

Miscelâneas

• Gerar PDF através de API Java

iText

http://www.lowagie.com/iText/

• Gerador de instalador de programa

IzPack

http://www.izforge.com/izpack/

• MD5 (assinatura digital)

http://www.fourmilab.ch/md5

• GnuPG (free PGP)

http://www.gnupg.org/

(45)

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

(46)

Você está pronto

para a liberdade?

www.

www.open

open

source

source

.org

.org

Referências

Documentos relacionados

• Gerar nos alunos de Análise e desenvolvimento de software a capacidade de analisa, documentar e especificar sistemas computacionais de informação.. Estes devem fazer uso

• O ciclo de vida iterativo e incremental pode ser visto como uma generalização da abordagem em cascata: o software é desenvolvimento em incrementos e cada incremento é desenvolvido

• Deve-se avaliar o conjunto de requisitos essenciais para a definição do Documento de Visão do software e este deve incluir o escopo do projeto e suas limitações, bem como

• Depois de determinar os custos e benefícios para uma possível solução, você pode realizar a análise de custo- benefício.. Estudo

Ganhe o controle contínuo que as indústrias de manufatura de processo e discreta necessitam para uma execução precisa de gerenciamento de lotes Rede de Produção. Dê aos gerentes

Em relação ao perfil dos pesquisados, verifica-se que os respondentes são pessoas altamente qualificadas (60,8% tem formação lato sensu/MBA) e que esse não é

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27

Glaucia Roberta Rocha Fernandes, Telma de Lurdes São Bento Ferreira e Vera Lúcia