• Save
Kyrios: Infra-estrutura livre para desenvolvimento de software
Upcoming SlideShare
Loading in...5
×
 

Kyrios: Infra-estrutura livre para desenvolvimento de software

on

  • 4,202 views

 

Statistics

Views

Total Views
4,202
Views on SlideShare
4,188
Embed Views
14

Actions

Likes
5
Downloads
0
Comments
0

1 Embed 14

http://www.slideshare.net 14

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Kyrios: Infra-estrutura livre para desenvolvimento de software Kyrios: Infra-estrutura livre para desenvolvimento de software Presentation Transcript

  • 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
    • 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
    • Resultado de Java™ versus .Net™: Java™
  • Qual a utilidade desta palestra?
  • As ferramentas apresentadas servem?
  • Para o usuário doméstico ...
    • Escritório (editores de texto)
    • Design (editores gráficos)
    • Internet (cliente de e-mail, browser e outras)
    • Multimídia
    • Utilitários
    • Jogos
    http://theopendisc.com
  • Principais fontes
    • Open Software www.opensource.org
    • GNU www.gnu.org
    • SourceForge.net http://sourceforge.net/ (mais de 118.000 projetos)
      • Open Source Dir http://www.osdir.com
      • http://freshmeat.net/
      • http://www.softwarelivre.gov.br/
  • Onde obter detalhes ...
    • Das ferramentas que serão citadas?
      • Nos links fornecidos nos slides
      • Aqueles em http://del.icio.us/kyriosdata
    • Sobre este trabalho
      • Projeto Kyrios
      • kyrios.sourceforge.net
    • Texto de apoio (contendo + informações)
      • Disponível no portal do projeto
      • Cerca de 50 páginas
      • Mais de 200 ferramentas citadas
  • Onde tudo começou?
    • Ênfase em tecnologia
      • Extenso uso de tecnologia Java sem organização!
    • Organizar
      • Infra-estrutura física
      • Infra-estrutura de testes e outras ...
    • Resultado
      • Projeto Kyrios (kyrios.sourceforge.net)
    • Sete ambientes definidos
      • Apoio, testes, físico e outros
      • Desenvolvimento (KAD) é um deles (destaque desta apresentação)
  • 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
  • Gerência de Projeto
  • Planejamento de projeto de software
    • 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
    Softwares maiores exigem estimativas de: esforço , custos , duração .
  • Quais as ações? Quando? Quem?
    • GanttProject (100% Java) http://ganttproject.sourceforge.net/
    • AgileTrack http://agiletrack.org/
    http://www.dotproject.net/
  • Gerência de Configuração
  • Mudar é inevitável! Como controlar?
    • Subversion (sucessor do CVS)
    • http://subversion.tigris.org
    • Aegis
    • http://aegis.sourceforge.net
  • 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!
  • Integração do produto
  • Todo desenvolvimento precisa ...
    • Gerenciar dependências de produtos
    • Acompanhar métricas de software
    • Manter lista de desenvolvedores
    • Gerar relatórios de testes
    • Gerar relatórios de cobertura de teste
    • Acompanhar mudanças no repositório de código
    • Verificar se padrões estão sendo seguidos
    • Documentar melhores práticas
    • Registrar tarefas por fazer e outras ...
      • Ant
      • http://ant.apache.org
  • Builds contínuos...
    • Luntbuild http://luntbuild.javaforge.com/
    • CruisControl http://cruisecontrol.sourceforge.net/
    • Maven Continuum http://maven.apache.org/continuum/
    • Hudson https://hudson.dev.java.net/
  • 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
    • Firefox
    • http://www.mozilla.org/products/firefox/
    • ThunderBird
    • http://www.mozilla.org/products/thunderbird/
    Lynx (browser não gráfico) http://lynx.isc.org/ Google Mail http://www.google.com/hosted
  • Aquisição
  • Há ERP open source?
    • webERP
    • http://www.weberp.org/
    • Compiere
    • http://www.compiere.org/
    • OFBiz
    • http://www.ofbiz.org
    • Domínios específicos (Universidades)
  • Gerência e desenvolvimento de requisitos
  • Código “atende” requisitos, necessidades!
    • A mais simples (editor de texto)
    • UCDD http://www.itbrain.com.mx/ucdd/
    • Ferramenta especializada http://jeremia.sourceforge.net/
    • Ferramentas para modelagem UML
    • Rambutan http://rambutan.sourceforge.net/
    http://www.phpbb.com Rastreabilidade entre requisitos e outros artefatos. Comunicação contínua com cliente. Endenter requisitos. http://www.openoffice.org Análise
  • 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?
    • Metrics http://metrics.sourceforge.net
    • JavaNCSS http://www.kclee.com/clemens/java/javancss/
    • JMetric http: //www.it . swin . edu . au/projects/jmetric/products/jmetric /
      • Dependency Finder
      • http://depfind.sourceforge.net
  • Solução técnica
  • Edição, compressão
      • Scintilla
      • Conversão para PDF, Latex, HTML, ...
      • http://www.scintilla.org/
      • 7-Zip
      • http://www.7-zip.org/
      • Emacs (Editor MACroS)
      • http://www.gnu.org/software/emacs/
  • 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)
    • Contêiner Tomcat para execução de
    • Servlet e JavaServer Pages
    • http://jakarta.apache.org/tomcat/
    • Jetty (alternativa para Tomcat)
    • http://jetty.mortbay.org/jetty/
  • Engenheiros de software falam ...
  • Modelagem UML
    • Jude https://jude.change-vision.com/
    • ArgoUML http://argouml.tigris.org
    • FUJABA www. fujaba .de
    • Umbrello UML Modeler (KDE) http://uml.sourceforge.net/
    • UMLet http://qse.ifs.tuwien.ac. at/~auer/umlet /
    Análise
  • Edição, compilação, depuração
    • Eclipse
    • Compilador “mais rápido”
    • http://www.eclipse.org
  • Eclipse é bem mais que um IDE...
    • Projeto Eclipse: “ projeto open-source que oferece uma plataforma para o desenvolvimento de ferramentas altamente integradas.”
    • Compreende (entre outros):
      • Web Standard Tools (WST) xml, servlet, jsp, jsf, html, WSDL, ...
      • TPTP (Test and Performance Tools Plataform)
      • BIRT (Business Intelligence and and Reporting Tools)
      • Data Tools Platforma Project
    http://www.eclipse.org
  • Testes
    • Abbot (interfaces gráficas) 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/
    • PMD (análise de código) http:// pmd . sourceforge .net/
    • JUnit (testes de unidade) http://www.junit.org
    • Cobertura http://cobertura.sourceforge.net
    • Jester http://jester.sourceforge.net
  • Onde executar software em Java?
  • Projeto OO e SGBD relacional?
    • 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 http://www.hibernate.org/ (NHibernate versão correspondente para .Net)
  • Como ter acesso à base SQL?
    • Quantum Eclipse plug-in http://quantum.sourceforge.net/
  • SGBDs 100% Java
  • Relatórios, gráficos, instalação
    • itext (gerar PDF via API Java) http://www.lowagie.com/iText/
    • JasperReports http://jasperreports.sourceforge.net
    • IzPack (gerador de instalador de programas) http://www.izforge.com/izpack/
    • JFreeChart http://www.jfree.org/jfreechart/
  • Framework (propósito geral)
    • Spring Framework
    • http://springframework.org
  • Regras de negócio e scripting
    • JBoss Rules (Drools)
    • http://drools.codehaus.org/
    • Groovy
    • http://groovy.codehaus.org/
  • Segurança
    • SDM (manter contas/senhas) http://sdm.sourceforge.net
    • JackSum (MD5, SHA-0, SHA-1,...) http://www.jonelo.de/java/jacksum/
    • GnuPG (assinatura digital, ...) http://www.gnupg.org/
    • TrueLicense (licença) https://truelicense.dev.java.net/
    • ProGuard (obscurecer) http://proguard.sourceforge.net/
  • Considerações finais
    • Analise o seu problema
      • Não acredite em solução pronta
    • Cuide dos vários processos de software
      • Ferramentas apóiam processos
    • Por último...
      • Ferramenta é
      • parte da solução!
  • Ajude-me!
    • Texto contendo estas e outras ferramentas: Lidando com Software: Ferramentas Gratuitas para todo o Ciclo de Vida http://kyrios.sourceforge.net
    • Email: [email_address]
      • Sucesso a todos!