o estado do projeto i-educar

99
O estado do projeto i-Educar I Encontro Nacional do Software Público

Upload: eriksen-costa

Post on 29-Jun-2015

3.225 views

Category:

Education


2 download

TRANSCRIPT

Page 1: O Estado do Projeto i-Educar

O estado do projeto i-EducarI Encontro Nacional do Software Público

Page 2: O Estado do Projeto i-Educar

Lançado em setembro/2008

5 mil membros cadastrados

Desenvolvido pela Prefeitura Municipal de Itajaí (SC)

Principal colaborada: Cobra Tecnologia S.A.

Itajaí/SC, Arapiraca/AL, Porto Velho/RO

Projeto

http://tinyurl.com/ieducarspb

@ieducar

http://www.ohloh.net/p/i-Educar

Page 3: O Estado do Projeto i-Educar

Versão atual: 1.0.2

Versão beta: 1.1.0-beta2

Requisitos: Apache 2, PostgreSQL 8.2, PHP 5.2 e PDFLib

Multiplataforma (Linux, Unix e Windows)

Comunidade: http://tinyurl.com/ieducarcom

Documentação: http://tinyurl.com/ieducardocs

Arquitetura

3/99

Page 4: O Estado do Projeto i-Educar

Irei falar sobre...Apresentação disponível em: http://tinyurl/ecpspb22009

Page 5: O Estado do Projeto i-Educar

PROBLEMAS, IDEIAS EPERSPECTIVAS.

Page 6: O Estado do Projeto i-Educar

O que somos/temos hoje?

Page 7: O Estado do Projeto i-Educar

5 mil membros.Foram 2.300 membros de março para cá.

Page 8: O Estado do Projeto i-Educar

01/03/0905/05/09

12/05/0919/05/09

26/05/0902/06/09

09/06/0916/06/09

23/06/0930/06/09

07/07/0914/07/09

21/07/0928/07/09

04/08/0911/08/09

18/08/0925/08/09

01/09/0908/09/09

15/09/0922/09/09

29/09/0906/10/09

13/10/0920/10/09

25/10/09

0

1000

2000

3000

4000

5000

6000

Membros

Page 9: O Estado do Projeto i-Educar

Crescimento estável.Progressão quase aritmética.

Page 10: O Estado do Projeto i-Educar

Demanda!5.554 municípios.

10

Page 11: O Estado do Projeto i-Educar

Negócio.Empresas e profissionais usam o i-Educar

como um negócio ($$$).

Page 12: O Estado do Projeto i-Educar

Municípios.Se beneficiam da redução de custos.

Page 13: O Estado do Projeto i-Educar

Software funcional.E que custa dinheiro.

Page 14: O Estado do Projeto i-Educar

Dinheiro?!Mas não é livre?

Page 15: O Estado do Projeto i-Educar

337.520 linhas de código (LOC)

80.049 linhas de comentário (CLOC)

1.549 classes

2.048 métodos não-estáticos

10 métodos estáticos

3.811 funções

Código-fonte

Page 16: O Estado do Projeto i-Educar

Fonte: http://www.ohloh.net/p/i-Educar

Page 17: O Estado do Projeto i-Educar

$ 4 milhões/ 5 = $ 800.000

Eu iria morar nas Bahamas.

Page 18: O Estado do Projeto i-Educar

Na tese.Prestadores de serviço e municípios

se beneficiam.

Page 19: O Estado do Projeto i-Educar

E o que precisamosfazer para ser fato?

Page 20: O Estado do Projeto i-Educar

http://www.fickr.com/photos/jamescridland/613445810/sizes/l/20/99

Page 21: O Estado do Projeto i-Educar

Software open source - comunidade open source =

Software legado convencional

Dries BuytaertCriador do Drupal

Fonte: http://programm.froscon.org/2009/events/428.en.html

Page 22: O Estado do Projeto i-Educar

(prints Trac)

Page 23: O Estado do Projeto i-Educar

Mas, sozinho ninguém faz festa.

Page 24: O Estado do Projeto i-Educar

PROBLEMAS?

Page 25: O Estado do Projeto i-Educar

Bugs Comunidade

Código Usabilidade

Documentação

Page 26: O Estado do Projeto i-Educar

BUGS.O i-Educar foi liberado com um bom número deles :(

Page 27: O Estado do Projeto i-Educar

http://www.flickr.com/photos/chitrasudar/2630042767/

Page 28: O Estado do Projeto i-Educar

Nunca são bons.Queremos eliminá-los.

Page 29: O Estado do Projeto i-Educar

Test driven development.(Desenvolvimento orientado a testes)

Page 30: O Estado do Projeto i-Educar

“Test Driven Development (TDD) is a design technique that drives the development process through testing. In essence you follow three simple steps repeatedly:

Write a test for the next bit of functionality you want to add.

Write the functional code until the test passes. Refactor both new and old code to make it well

structured.”

Martin FowlerAutor, arquiteto de software

Fonte: http://www.martinfowler.com/bliki/TestDrivenDevelopment.html

30/99

Page 31: O Estado do Projeto i-Educar

A boa? Já adotamos.(você não notou?)

Page 32: O Estado do Projeto i-Educar

PHPUnitSuíte de testes de unidade

phpunit.de

Selenium RCServidor de testes funcionais

seleniumhq.org

Page 33: O Estado do Projeto i-Educar
Page 34: O Estado do Projeto i-Educar
Page 35: O Estado do Projeto i-Educar

CÓDIGO.(um pouco à italiana)

Page 36: O Estado do Projeto i-Educar

http://www.fickr.com/photos/gluemoon/90804324/sizes/l/

Page 37: O Estado do Projeto i-Educar

Mas, funciona.E estamos trabalhando para melhorá-lo!

De várias formas...

Page 38: O Estado do Projeto i-Educar

Padrões de codificação.http://svn.softwarepublico.gov.br/trac/ieducar/wiki/Dev/1.X/PadroesDeCodificacao

Page 39: O Estado do Projeto i-Educar

Diff limpo.http://svn.softwarepublico.gov.br/trac/ieducar/wiki/Dev/1.X/PadroesDeCodificacao

Page 40: O Estado do Projeto i-Educar

Design patterns.(Padrões de projeto)

40/99

Page 41: O Estado do Projeto i-Educar

intranet/include/clsControlador.inc.php

Page 42: O Estado do Projeto i-Educar

intranet/include/clsControlador.inc.php

Page 43: O Estado do Projeto i-Educar

Aonde foi parar esse código todo?

Page 44: O Estado do Projeto i-Educar
Page 45: O Estado do Projeto i-Educar

Componentes reutilisáveis.(e o porque ainda não usamos o Zend Framework)

Page 46: O Estado do Projeto i-Educar

Modularização.(Quero uma API aí, meu!)

Page 47: O Estado do Projeto i-Educar

USABILIDADE.O pobre do usuário merece carinho.

Ele é nosso cliente final.

Page 48: O Estado do Projeto i-Educar

http://www.fickr.com/photos/zachklein/54389823/

Page 49: O Estado do Projeto i-Educar
Page 50: O Estado do Projeto i-Educar

DOCUMENTAÇÃO.

50/99

Page 51: O Estado do Projeto i-Educar

http://www.fickr.com/photos/zachklein/54389823/

Page 52: O Estado do Projeto i-Educar

Exige muito esforço.Desatualiza rapidamente.

Page 53: O Estado do Projeto i-Educar

Instalação (Linux/Windows), usuário, desenvolvedor...

Ainda é pouco.

Page 54: O Estado do Projeto i-Educar

Manuais de usuário edocumentação de API.

Page 55: O Estado do Projeto i-Educar

IDEIAS.Fica estranho sem o acento, né?

Page 56: O Estado do Projeto i-Educar

Missão.Vamos criar uma e moldar nossa identidade?

Page 57: O Estado do Projeto i-Educar

Boas práticas.Vamos continuar adotando as melhores.

Page 58: O Estado do Projeto i-Educar

dbdeploy

Page 59: O Estado do Projeto i-Educar
Page 60: O Estado do Projeto i-Educar

Ação.Não espere que façam por você.

60/99

Page 61: O Estado do Projeto i-Educar

“Open Source development and communities are always a bit broken.”

“Dysfunction is natural, not abnormal.”

Dries BuytaertCriador do Drupal

Fonte: http://programm.froscon.org/2009/events/428.en.html

Page 62: O Estado do Projeto i-Educar

Do-ocracy.Merecimento de quem faz.

Page 63: O Estado do Projeto i-Educar

http://www.fickr.com/photos/ericskif/1606763849/sizes/l/

Page 64: O Estado do Projeto i-Educar

Seu CV público.Isso serve para empresas...

Page 65: O Estado do Projeto i-Educar

Mercado público.http://www.mercadopublico.gov.br/

Page 66: O Estado do Projeto i-Educar

O meu i-Educar faz XYZ...

Page 67: O Estado do Projeto i-Educar

Você vai ficar para trás!

Page 68: O Estado do Projeto i-Educar

http://www.fickr.com/photos/57587069@N00/161053228

Page 69: O Estado do Projeto i-Educar

Podemos fazermelhor juntos!

Page 70: O Estado do Projeto i-Educar

Drupal.

70/99

Page 71: O Estado do Projeto i-Educar

Lançado em meados de 2001

Centenas de milhares de sites

Mais de 1.000 empresas (mundo)

Mais de 4.400 módulos

Projeto Drupal

Page 72: O Estado do Projeto i-Educar
Page 73: O Estado do Projeto i-Educar

Todos contribuem.E se beneficiam disso!

Page 74: O Estado do Projeto i-Educar

E diminuem custos.Para eles e os clientes!

Page 75: O Estado do Projeto i-Educar

Contribua.http://svn.softwarepublico.gov.br/trac/ieducar/wiki/Projeto/Contribuindo

Page 76: O Estado do Projeto i-Educar

Crie um patch

Aprenda TDD (PHPUnit)

Ajude nos fóruns

Ajude na documentação

Dê feedback

Retorne as suas melhorias (com testes)

Contribua

Page 77: O Estado do Projeto i-Educar

PERSPECTIVAS.

Page 78: O Estado do Projeto i-Educar

Maior concorrência.

Page 79: O Estado do Projeto i-Educar

Nosso projeto temfoco único. Vamos fazer

disso uma vantagem.

Page 80: O Estado do Projeto i-Educar

Commodities einsights.

80/99

Page 81: O Estado do Projeto i-Educar
Page 82: O Estado do Projeto i-Educar

Melhor usabilidade.Pensar no usuário desde o início.

Page 83: O Estado do Projeto i-Educar

API e módulos.

Page 84: O Estado do Projeto i-Educar

TDD.

Page 85: O Estado do Projeto i-Educar

90%+ de code coverage.

Page 86: O Estado do Projeto i-Educar

TDD.

Page 87: O Estado do Projeto i-Educar

Mais TDD.

Page 88: O Estado do Projeto i-Educar

O projeto final é o código.

Page 89: O Estado do Projeto i-Educar

Manuais e API.

Page 90: O Estado do Projeto i-Educar

CTRL+C

90/99

Page 91: O Estado do Projeto i-Educar

Não do Windo...

Page 92: O Estado do Projeto i-Educar
Page 93: O Estado do Projeto i-Educar

ANO QUE VEM.

Page 94: O Estado do Projeto i-Educar

Versão 2.0

Page 95: O Estado do Projeto i-Educar

Um framework.

Page 96: O Estado do Projeto i-Educar
Page 97: O Estado do Projeto i-Educar

?http://www.fickr.com/photos/governo_de_minas_gerais/4016359549/sizes/o/

Page 98: O Estado do Projeto i-Educar

PHP Conference Brasil

Page 99: O Estado do Projeto i-Educar

Obrigado!Eriksen Costa Paixão

[email protected] em: http://tinyurl.com/ecpspb22009

www.cobra.com.br

mui

to

99?