Kyrios: Infra-estrutura Livre para Desenvolvimento de Software Creative Commons License http://creativecommons.org
Mensagem
Você segue a direção indicada ... Ou escolhe o seu futuro?
Perspectiva <ul><li>Eu gostaria, mas </li></ul><ul><ul><li>não aborda aspectos  políticos ! </li></ul></ul><ul><ul><li>não...
Qual a utilidade desta palestra?
As ferramentas apresentadas servem?
Para o usuário doméstico ... <ul><li>Escritório (editores de texto) </li></ul><ul><li>Design (editores gráficos) </li></ul...
Principais fontes <ul><li>Open Software www.opensource.org </li></ul><ul><li>GNU www.gnu.org </li></ul><ul><li>SourceForge...
Onde obter detalhes ... <ul><li>Das ferramentas que serão citadas? </li></ul><ul><ul><li>Nos links fornecidos nos slides <...
Onde tudo começou? <ul><li>Ênfase em tecnologia </li></ul><ul><ul><li>Extenso uso de tecnologia Java sem organização! </li...
Classificadas conforme o MPS.BR(c) Quais as “boas” ferramentas de desenvolvimento gratuitas? Há alguns casos onde propriet...
Gerência de Projeto
Planejamento de projeto de software <ul><li>COCOMO (COnstructive COst MOdel) http://www.engin.umd.umich.edu/CIS/tinytools/...
Quais as ações? Quando? Quem? <ul><li>GanttProject  (100% Java) http://ganttproject.sourceforge.net/ </li></ul><ul><li>Agi...
Gerência de Configuração
Mudar é inevitável! Como controlar? <ul><li>Subversion (sucessor do CVS) </li></ul><ul><li>http://subversion.tigris.org </...
Computação “ainda” não é profissional Estas ferramentas permitem o registro de solicitações de mudança Erros são inevitáve...
Integração do produto
Todo desenvolvimento precisa ... <ul><li>Gerenciar dependências de produtos </li></ul><ul><li>Acompanhar métricas de softw...
Builds contínuos... <ul><li>Luntbuild http://luntbuild.javaforge.com/ </li></ul><ul><li>CruisControl http://cruisecontrol....
Definição do processo organizacional
Documentar e comunicar é preciso! WikiWikiWeb http://moinmoin.wikiwikiweb.de/
Compartilhar o conhecimento... http://www.opencms.org http://lenya.apache.org
Ferramentas para a Internet <ul><li>Firefox </li></ul><ul><li>http://www.mozilla.org/products/firefox/ </li></ul><ul><li>T...
Aquisição
Há ERP open source? <ul><li>webERP </li></ul><ul><li>http://www.weberp.org/ </li></ul><ul><li>Compiere </li></ul><ul><li>h...
Gerência e desenvolvimento de requisitos
Código “atende” requisitos, necessidades! <ul><li>A mais simples (editor de texto) </li></ul><ul><li>UCDD http://www.itbra...
Modelagem de domínio
Há um projeto goiano... SysReq http://sysreq.incubadora.fapesp.br
Treinamento
Aprendizado contínuo é preciso! Permite disponibilizar material para treinamento, auxilia acompanhamento do treinamento, ...
Medição
Qual o termômetro para software? <ul><li>Metrics http://metrics.sourceforge.net </li></ul><ul><li>JavaNCSS http://www.kcle...
Solução técnica
Edição, compressão <ul><ul><li>Scintilla </li></ul></ul><ul><ul><li>Conversão para PDF, Latex, HTML, ... </li></ul></ul><u...
Sistema Operacional
Por que Java? Executa em todo lugar!
Plataformas Java EE certificadas
Fontes de informações sobre Java
Servidor WWW é Apache!
Páginas dinâmicas (aplicações Web) <ul><li>Contêiner Tomcat para execução de </li></ul><ul><li>Servlet  e  JavaServer Page...
Engenheiros de software falam ...
Modelagem UML <ul><li>Jude https://jude.change-vision.com/ </li></ul><ul><li>ArgoUML http://argouml.tigris.org   </li></ul...
Edição, compilação, depuração <ul><li>Eclipse </li></ul><ul><li>Compilador “mais rápido” </li></ul><ul><li>http://www.ecli...
Eclipse é bem mais que um IDE... <ul><li>Projeto Eclipse: “ projeto open-source que oferece uma plataforma para o desenvol...
Testes <ul><li>Abbot  (interfaces gráficas) http://abbot.sourceforge.net/ </li></ul><ul><li>Bugkilla  (testar aplicações w...
Onde executar software em Java?
Projeto OO e SGBD relacional? <ul><li>JDO (implementação) http://tjdo.sourceforge.net/ </li></ul><ul><li>Java Persistent O...
Como ter acesso à base SQL? <ul><li>Quantum Eclipse plug-in http://quantum.sourceforge.net/ </li></ul>
SGBDs 100% Java
Relatórios, gráficos, instalação <ul><li>itext  (gerar PDF via API Java) http://www.lowagie.com/iText/ </li></ul><ul><li>J...
Framework (propósito geral) <ul><li>Spring Framework </li></ul><ul><li>http://springframework.org   </li></ul>
Regras de negócio e scripting <ul><li>JBoss Rules (Drools) </li></ul><ul><li>http://drools.codehaus.org/   </li></ul><ul><...
Segurança <ul><li>SDM  (manter contas/senhas) http://sdm.sourceforge.net </li></ul><ul><li>JackSum  (MD5, SHA-0, SHA-1,......
Considerações finais <ul><li>Analise o seu problema </li></ul><ul><ul><li>Não acredite em solução pronta </li></ul></ul><u...
Ajude-me! <ul><li>Texto contendo estas e outras ferramentas: Lidando com Software: Ferramentas Gratuitas para todo o Ciclo...
Próximos SlideShares
Carregando em…5
×

Kyrios: Infra-estrutura livre para desenvolvimento de software

2.759 visualizações

Publicada em

Publicada em: Negócios, Tecnologia
0 comentários
5 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.759
No SlideShare
0
A partir de incorporações
0
Número de incorporações
42
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
5
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Kyrios: Infra-estrutura livre para desenvolvimento de software

    1. 1. Kyrios: Infra-estrutura Livre para Desenvolvimento de Software Creative Commons License http://creativecommons.org
    2. 2. Mensagem
    3. 3. Você segue a direção indicada ... Ou escolhe o seu futuro?
    4. 4. Perspectiva <ul><li>Eu gostaria, mas </li></ul><ul><ul><li>não aborda aspectos políticos ! </li></ul></ul><ul><ul><li>não aborda aspectos sociais ! </li></ul></ul><ul><ul><li>não aborda aspectos econômicos ! </li></ul></ul><ul><ul><li>não aborda aspectos gerenciais ! </li></ul></ul><ul><ul><li>não aborda aspectos religiosos ! </li></ul></ul><ul><ul><li>não aborda aspectos éticos! </li></ul></ul><ul><li>Esta palestra é técnica </li></ul><ul><li>Ferramentas especializadas </li></ul><ul><ul><li>Disponíveis gratuitamente (inclusive para uso comercial) </li></ul></ul><ul><ul><li>Código fonte disponível (mudanças permitidas) </li></ul></ul><ul><li>Orientação a Objetos </li></ul><ul><li>Resultado de Java™ versus .Net™: Java™ </li></ul>
    5. 5. Qual a utilidade desta palestra?
    6. 6. As ferramentas apresentadas servem?
    7. 7. Para o usuário doméstico ... <ul><li>Escritório (editores de texto) </li></ul><ul><li>Design (editores gráficos) </li></ul><ul><li>Internet (cliente de e-mail, browser e outras) </li></ul><ul><li>Multimídia </li></ul><ul><li>Utilitários </li></ul><ul><li>Jogos </li></ul>http://theopendisc.com
    8. 8. Principais fontes <ul><li>Open Software www.opensource.org </li></ul><ul><li>GNU www.gnu.org </li></ul><ul><li>SourceForge.net http://sourceforge.net/ (mais de 118.000 projetos) </li></ul><ul><ul><li>Open Source Dir http://www.osdir.com </li></ul></ul><ul><ul><li>http://freshmeat.net/ </li></ul></ul><ul><ul><li>http://www.softwarelivre.gov.br/ </li></ul></ul>
    9. 9. Onde obter detalhes ... <ul><li>Das ferramentas que serão citadas? </li></ul><ul><ul><li>Nos links fornecidos nos slides </li></ul></ul><ul><ul><li>Aqueles em http://del.icio.us/kyriosdata </li></ul></ul><ul><li>Sobre este trabalho </li></ul><ul><ul><li>Projeto Kyrios </li></ul></ul><ul><ul><li>kyrios.sourceforge.net </li></ul></ul><ul><li>Texto de apoio (contendo + informações) </li></ul><ul><ul><li>Disponível no portal do projeto </li></ul></ul><ul><ul><li>Cerca de 50 páginas </li></ul></ul><ul><ul><li>Mais de 200 ferramentas citadas </li></ul></ul>
    10. 10. Onde tudo começou? <ul><li>Ênfase em tecnologia </li></ul><ul><ul><li>Extenso uso de tecnologia Java sem organização! </li></ul></ul><ul><li>Organizar </li></ul><ul><ul><li>Infra-estrutura física </li></ul></ul><ul><ul><li>Infra-estrutura de testes e outras ... </li></ul></ul><ul><li>Resultado </li></ul><ul><ul><li>Projeto Kyrios (kyrios.sourceforge.net) </li></ul></ul><ul><li>Sete ambientes definidos </li></ul><ul><ul><li>Apoio, testes, físico e outros </li></ul></ul><ul><ul><li>Desenvolvimento (KAD) é um deles (destaque desta apresentação) </li></ul></ul>
    11. 11. Classificadas conforme o MPS.BR(c) Quais as “boas” ferramentas de desenvolvimento gratuitas? Há alguns casos onde proprietárias apresentam bons resultados! http://www.softex.br/mpsbr
    12. 12. Gerência de Projeto
    13. 13. Planejamento de projeto de software <ul><li>COCOMO (COnstructive COst MOdel) http://www.engin.umd.umich.edu/CIS/tinytools/ http://sunset.usc.edu/research/cocomosuite/index.html </li></ul><ul><li>Function points, COCOMO, ... www.construx.com </li></ul>Softwares maiores exigem estimativas de: esforço , custos , duração .
    14. 14. Quais as ações? Quando? Quem? <ul><li>GanttProject (100% Java) http://ganttproject.sourceforge.net/ </li></ul><ul><li>AgileTrack http://agiletrack.org/ </li></ul>http://www.dotproject.net/
    15. 15. Gerência de Configuração
    16. 16. Mudar é inevitável! Como controlar? <ul><li>Subversion (sucessor do CVS) </li></ul><ul><li>http://subversion.tigris.org </li></ul><ul><li>Aegis </li></ul><ul><li>http://aegis.sourceforge.net </li></ul>
    17. 17. Computação “ainda” não é profissional Estas ferramentas permitem o registro de solicitações de mudança Erros são inevitáveis! Gerencie requisições de mudança!
    18. 18. Integração do produto
    19. 19. Todo desenvolvimento precisa ... <ul><li>Gerenciar dependências de produtos </li></ul><ul><li>Acompanhar métricas de software </li></ul><ul><li>Manter lista de desenvolvedores </li></ul><ul><li>Gerar relatórios de testes </li></ul><ul><li>Gerar relatórios de cobertura de teste </li></ul><ul><li>Acompanhar mudanças no repositório de código </li></ul><ul><li>Verificar se padrões estão sendo seguidos </li></ul><ul><li>Documentar melhores práticas </li></ul><ul><li>Registrar tarefas por fazer e outras ... </li></ul><ul><ul><li>Ant </li></ul></ul><ul><ul><li>http://ant.apache.org </li></ul></ul>
    20. 20. Builds contínuos... <ul><li>Luntbuild http://luntbuild.javaforge.com/ </li></ul><ul><li>CruisControl http://cruisecontrol.sourceforge.net/ </li></ul><ul><li>Maven Continuum http://maven.apache.org/continuum/ </li></ul><ul><li>Hudson https://hudson.dev.java.net/ </li></ul>
    21. 21. Definição do processo organizacional
    22. 22. Documentar e comunicar é preciso! WikiWikiWeb http://moinmoin.wikiwikiweb.de/
    23. 23. Compartilhar o conhecimento... http://www.opencms.org http://lenya.apache.org
    24. 24. Ferramentas para a Internet <ul><li>Firefox </li></ul><ul><li>http://www.mozilla.org/products/firefox/ </li></ul><ul><li>ThunderBird </li></ul><ul><li>http://www.mozilla.org/products/thunderbird/ </li></ul>Lynx (browser não gráfico) http://lynx.isc.org/ Google Mail http://www.google.com/hosted
    25. 25. Aquisição
    26. 26. Há ERP open source? <ul><li>webERP </li></ul><ul><li>http://www.weberp.org/ </li></ul><ul><li>Compiere </li></ul><ul><li>http://www.compiere.org/ </li></ul><ul><li>OFBiz </li></ul><ul><li>http://www.ofbiz.org </li></ul><ul><li>Domínios específicos (Universidades) </li></ul>
    27. 27. Gerência e desenvolvimento de requisitos
    28. 28. Código “atende” requisitos, necessidades! <ul><li>A mais simples (editor de texto) </li></ul><ul><li>UCDD http://www.itbrain.com.mx/ucdd/ </li></ul><ul><li>Ferramenta especializada http://jeremia.sourceforge.net/ </li></ul><ul><li>Ferramentas para modelagem UML </li></ul><ul><li>Rambutan http://rambutan.sourceforge.net/ </li></ul>http://www.phpbb.com Rastreabilidade entre requisitos e outros artefatos. Comunicação contínua com cliente. Endenter requisitos. http://www.openoffice.org Análise
    29. 29. Modelagem de domínio
    30. 30. Há um projeto goiano... SysReq http://sysreq.incubadora.fapesp.br
    31. 31. Treinamento
    32. 32. Aprendizado contínuo é preciso! Permite disponibilizar material para treinamento, auxilia acompanhamento do treinamento, ...
    33. 33. Medição
    34. 34. Qual o termômetro para software? <ul><li>Metrics http://metrics.sourceforge.net </li></ul><ul><li>JavaNCSS http://www.kclee.com/clemens/java/javancss/ </li></ul><ul><li>JMetric http: //www.it . swin . edu . au/projects/jmetric/products/jmetric / </li></ul><ul><ul><li>Dependency Finder </li></ul></ul><ul><ul><li>http://depfind.sourceforge.net </li></ul></ul>
    35. 35. Solução técnica
    36. 36. Edição, compressão <ul><ul><li>Scintilla </li></ul></ul><ul><ul><li>Conversão para PDF, Latex, HTML, ... </li></ul></ul><ul><ul><li>http://www.scintilla.org/ </li></ul></ul><ul><ul><li>7-Zip </li></ul></ul><ul><ul><li>http://www.7-zip.org/ </li></ul></ul><ul><ul><li>Emacs (Editor MACroS) </li></ul></ul><ul><ul><li>http://www.gnu.org/software/emacs/ </li></ul></ul>
    37. 37. Sistema Operacional
    38. 38. Por que Java? Executa em todo lugar!
    39. 39. Plataformas Java EE certificadas
    40. 40. Fontes de informações sobre Java
    41. 41. Servidor WWW é Apache!
    42. 42. Páginas dinâmicas (aplicações Web) <ul><li>Contêiner Tomcat para execução de </li></ul><ul><li>Servlet e JavaServer Pages </li></ul><ul><li>http://jakarta.apache.org/tomcat/ </li></ul><ul><li>Jetty (alternativa para Tomcat) </li></ul><ul><li>http://jetty.mortbay.org/jetty/ </li></ul>
    43. 43. Engenheiros de software falam ...
    44. 44. Modelagem UML <ul><li>Jude https://jude.change-vision.com/ </li></ul><ul><li>ArgoUML http://argouml.tigris.org </li></ul><ul><li>FUJABA www. fujaba .de </li></ul><ul><li>Umbrello UML Modeler (KDE) http://uml.sourceforge.net/ </li></ul><ul><li>UMLet http://qse.ifs.tuwien.ac. at/~auer/umlet / </li></ul>Análise
    45. 45. Edição, compilação, depuração <ul><li>Eclipse </li></ul><ul><li>Compilador “mais rápido” </li></ul><ul><li>http://www.eclipse.org </li></ul>
    46. 46. Eclipse é bem mais que um IDE... <ul><li>Projeto Eclipse: “ projeto open-source que oferece uma plataforma para o desenvolvimento de ferramentas altamente integradas.” </li></ul><ul><li>Compreende (entre outros): </li></ul><ul><ul><li>Web Standard Tools (WST) xml, servlet, jsp, jsf, html, WSDL, ... </li></ul></ul><ul><ul><li>TPTP (Test and Performance Tools Plataform) </li></ul></ul><ul><ul><li>BIRT (Business Intelligence and and Reporting Tools) </li></ul></ul><ul><ul><li>Data Tools Platforma Project </li></ul></ul>http://www.eclipse.org
    47. 47. Testes <ul><li>Abbot (interfaces gráficas) http://abbot.sourceforge.net/ </li></ul><ul><li>Bugkilla (testar aplicações web J2EE) http://bugkilla.sourceforge.net/ </li></ul><ul><li>JMeter (100% Java, desempenho, JDBC, Web, ...) http://jakarta.apache.org/jmeter/ </li></ul><ul><li>PMD (análise de código) http:// pmd . sourceforge .net/ </li></ul><ul><li>JUnit (testes de unidade) http://www.junit.org </li></ul><ul><li>Cobertura http://cobertura.sourceforge.net </li></ul><ul><li>Jester http://jester.sourceforge.net </li></ul>
    48. 48. Onde executar software em Java?
    49. 49. Projeto OO e SGBD relacional? <ul><li>JDO (implementação) http://tjdo.sourceforge.net/ </li></ul><ul><li>Java Persistent Objects (JDO) http://jpox.sourceforge.net/ </li></ul><ul><li>ObjectRelationalBridge (ODMB 3.0, JDO 1.0) http://db.apache.org/ojb/ </li></ul><ul><li>Hibernate http://www.hibernate.org/ (NHibernate versão correspondente para .Net) </li></ul>
    50. 50. Como ter acesso à base SQL? <ul><li>Quantum Eclipse plug-in http://quantum.sourceforge.net/ </li></ul>
    51. 51. SGBDs 100% Java
    52. 52. Relatórios, gráficos, instalação <ul><li>itext (gerar PDF via API Java) http://www.lowagie.com/iText/ </li></ul><ul><li>JasperReports http://jasperreports.sourceforge.net </li></ul><ul><li>IzPack (gerador de instalador de programas) http://www.izforge.com/izpack/ </li></ul><ul><li>JFreeChart http://www.jfree.org/jfreechart/ </li></ul>
    53. 53. Framework (propósito geral) <ul><li>Spring Framework </li></ul><ul><li>http://springframework.org </li></ul>
    54. 54. Regras de negócio e scripting <ul><li>JBoss Rules (Drools) </li></ul><ul><li>http://drools.codehaus.org/ </li></ul><ul><li>Groovy </li></ul><ul><li>http://groovy.codehaus.org/ </li></ul>
    55. 55. Segurança <ul><li>SDM (manter contas/senhas) http://sdm.sourceforge.net </li></ul><ul><li>JackSum (MD5, SHA-0, SHA-1,...) http://www.jonelo.de/java/jacksum/ </li></ul><ul><li>GnuPG (assinatura digital, ...) http://www.gnupg.org/ </li></ul><ul><li>TrueLicense (licença) https://truelicense.dev.java.net/ </li></ul><ul><li>ProGuard (obscurecer) http://proguard.sourceforge.net/ </li></ul>
    56. 56. Considerações finais <ul><li>Analise o seu problema </li></ul><ul><ul><li>Não acredite em solução pronta </li></ul></ul><ul><li>Cuide dos vários processos de software </li></ul><ul><ul><li>Ferramentas apóiam processos </li></ul></ul><ul><li>Por último... </li></ul><ul><ul><li>Ferramenta é </li></ul></ul><ul><ul><li>parte da solução! </li></ul></ul>
    57. 57. Ajude-me! <ul><li>Texto contendo estas e outras ferramentas: Lidando com Software: Ferramentas Gratuitas para todo o Ciclo de Vida http://kyrios.sourceforge.net </li></ul><ul><li>Email: [email_address] </li></ul><ul><ul><li>Sucesso a todos! </li></ul></ul>

    ×