quarta-feira, 23 de setembro de 2009

Aniversário CEJUG 2009

Sucesso total o aniversário do CEJUG 2009, palestras de alto nível e muita gente participando. Nesse ano tivemos assuntos variados:
O caminho da produtividade para desenvolvedores web
Como fazer uma aplicação JEE/JME para rodar nos 4 cantos do mundo
O mito dos times ágeis
Os 10 maus hábitos dos desenvolvedores JSF
Turbinando sua aplicação com Lucene: conheça Solr e Hibernate Search
O que matou o RUP pode matar o Agile
Desmistificando o TDD na prática

Mais informações...





Mais fotos...

terça-feira, 8 de setembro de 2009

XPCE



Hoje me tornei coordenador da XPCE Ceará Extreme Programming Group - Lista de Extreme Programming para praticantes, evangelistas, amantes e XPtards dessa metodologia que leva o desenvolvimento de software ao extremo da qualidade.

Aniversário do CEJUG




19/09/2009: 7 anos do Cejug
O Cejug realiza mais um Café com Tapioca dia 19 de setembro. Grandes nomes do Ceará e do Brasil vêm compartilhar suas experiências com a comunidade java cearense.

terça-feira, 1 de setembro de 2009

Nomes feios que seria bonito todo software conhecer

· Acurácia: capacidade de fornecer o resultado com o grau de precisão desejado.
· Adequação: capacidade de fornecer um conjunto apropriado de funções para tarefas específicas e objetivos do usuário.
· Interoperabilidade: capacidade de interagir com um ou mais sistemas.
· Segurança de Acesso: capacidade de proteger dados e informações de pessoas ou sistemas não autorizados.
· Conformidade: capacidade de aderir a padrões, convenções, leis e prescrições similares relativas a funcionalidade.

· Maturidade: capacidade de evitar defeitos no software.
· Tolerância a Falhas: capacidade de manter um nível de desempenho estabelecido em caso de defeito no software.
· Recuperabilidade: capacidade de recuperar dados diretamente afetados no caso de falhas.
· Conformidade: capacidade de aderir a padrões, convenções, leis e prescrições similares relativas a confiabilidade.

· Inteligibilidade: capacidade do produto de fazer o usuário entender se o software é adequado, e como ele pode ser usado para tarefas particulares.
· Aprendibilidade: capacidade que o produto deve ter de fazer o usuário entendê-lo.
· Operacionalidade: capacidade que o produto deve ter para que o usuário possa aprendê-lo e controlá-lo.
· Atratividade: capacidade do produto em ser atraente para o usuário.
· Conformidade: capacidade de aderir a padrões, convenções, leis e prescrições similares relativas a usabilidade.

· Comportamento em Relação ao Tempo: capacidade de fornecer tempos de resposta e processamento adequados, bem como taxas de transferência.
· Comportamento em Relação aos Recursos: capacidade de usar quantidade e tipos de recursos adequados.
· Conformidade: capacidade de aderir a padrões e convenções relativas a eficiência.

· Analisabilidade: capacidade em diagnosticar deficiências e causas de defeitos.
· Modificabilidade: capacidade que o produto tem de receber modificações.
· Estabilidade: capacidade de evitar efeitos inesperados a partir de modificações.
· Testabilidade: capacidade de validar as modificações efetuadas no produto.
· Conformidade: capacidade de aderir a padrões e convenções relativas a manutenibilidade.

· Adaptabilidade: capacidade de ser adaptado em diferentes ambientes sem intervenção.
· Capacidade de Instalação: capacidade de ser instalado em um ambiente específico.
· Coexistência: capacidade que o produto tem de coexistir com outro software independente em um ambiente comum, compartilhando recursos comuns.
· Capacidade de Substituição: capacidade que o produto de software deve ter de ser usado no lugar de outro produto de software com o mesmo propósito no mesmo ambiente.
· Conformidade: capacidade de aderir a padrões e convenções relativas a portabilidade.

terça-feira, 11 de agosto de 2009

Maré de Agilidade sucesso total


O evento Maré de Agilidade foi um sucesso, parabéns aos organizadores e palestrantes e muito obrigado a todos os participantes. Espero mais eventos desse nível em Fortaleza.



quarta-feira, 1 de julho de 2009

convite mare de agilidade fortaleza

Convite para o Maré de Agilidade Fortaleza


Maré de Agilidade - 3a edição - Swell Fortaleza - 06 a 08/08/2009

O grupo XPCE(eXtreme Programming Ceará) junto com a Fortes Treinamentos trazem a Fortaleza a terceira edição do evento Maré de Agilidade, com a organização da SEA Tecnologia, Revista Visão Ágil, Java Bahia e apoio da FA7(Faculdade 7 de Setembro). A primeira edição desse evento ocorreu em setembro de 2008 em Brasília e a segunda em março de 2009 em Salvador.

O evento visa promover dois dias de mini-cursos e um dia de palestras e discussões sobre as novas tendências em gerência de projetos e técnicas de desenvolvimento de software que constituem atualmente o grande diferencial de empresas como Apple, Google, Microsoft, Yahoo e Globo.com”.

Mini-cursos:
06/08 - Gerenciamento Ágil de Projetos com Scrum, eXtreme Programming (XP) na prática e Desenvolvimento web ágil com RubyOnRails
07/08 - Gestão Ágil de Requisitos, eXtreme Programming (XP) na prática e Teste de aplicações Rails

Palestras:
08/08 - Manifesto 2.0, Gestão Lean para desenvolvimento de Software, A Agilidade está no ar, Governança no desenvolvimento ágil, Onde mora a produtividade do Ruby on Rails?, Painel com todos os palestrantes: Agile na Real - Interoperabilidade, Mix e Adaptações

Local:
Mini-cursos: Fortes Treinamentos
Palestras: Faculdade 7 de Setembro

Inscrições:
- Com desconto até 15/07 - Preços promocionais para estudantes e membros do XPCE.

quinta-feira, 25 de junho de 2009

ireport passando collection para subrelatorio pelo parâmetro

Esse é o modo mais fácil de passar uma coleção (Collection) para um sub-relatório. Crie um parâmetro na sua classe e coloque a coleção que será passada para o sub-relatório:

Collection pessoas = new ArrayList();
parametro.put(“COLECAO”, pessoas);

No ireport crie um parâmetro “COLECAO” do tipo Collection e passe para o sub-relatório tipando o como JRBeanCollectionDataSource.
(REPORT_DATA_SOURCE -> new JRBeanCollectionDataSource($P{COLECAO}))
como mostra a imagem:



O sub-relatório vai iteragir na coleção pelo REPORT_DATA_SOURCE (é um parâmetro padrão do relatório) na banda DETAILS.

quarta-feira, 13 de maio de 2009

Maré de Agilidade Fortaleza



Após Brasília e Salvador está chegando a Fortaleza o Maré de agilidade. O evento esta sendo promovido aqui pelo grupo XPCE(eXtreme Programming Ceará) e contará com a presença de grandes nomes locais e nacionais.

O evento será de 6 a 8 de agosto com dois dias de mini-cursos na Fortes Treinamentos e um dia inteiro de palestras no sábado na Faculdade 7 de Setembro.

Estaremos divulgando em breve mais detalhes do evento como promoções, condições de pagamento e palestrantes. Adianto que quem estiver cadastrado na lista de discussão do XPCE até 16 de maio terá um bom desconto para os mini-cursos e palestras. Inscreva-se já na lista e divulgue para seus amigos.

sexta-feira, 1 de maio de 2009

Novos Tempos no Desenvolvimento de Software

O desenvolvedor de hoje tem que entender que muitas coisas mudaram, antigamente para saber programar era preciso conhecer as regras da linguagem e fazer o que era pedido pelo analista e as vezes discutir se aquilo era para ser feito daquela forma... Não se preocupava se o código estava bem escrito, se tinha como refatorar, se a manutenção daquele código seria fácil depois de dois anos. Então a galera acordou e viu que tinha algo errado com aqueles codificadores, não era aquela forma correta para se desenvolver um software de qualidade que pode ser mantido por anos e anos com uma certa facilidade. Hoje o desenvolvedor, analista, gerente... tem que entender que não basta só ter um bom conhecimento técnico, para conseguir um software de qualidade é preciso um time unido, boas práticas de desenvolvimento, conhecimento técnico é preciso que todo o time entenda que desenvolver é uma arte, o pensamento tem que estar alinhado e focado em um objetivo comum: desenvolver software com qualidade, desenvolver com perfeição mesmo que essa perfeição amanhã seja superada.
Existem muitos desenvolvedores que se gabam, eu sei TDD, uso XP, conheço DDD... a sopa de letrinhas que ele julga saber e usa só aumenta, mas na prática ele não sabe aplicar ou não se lembra de aplicar. É a mesma coisa se uma pessoa estudar todos os fundamentos do futebol, ler tutoriais na internet, livros e nunca jogar uma partida, com certeza essa teoria toda vai ajudar, mais no seu primeiro jogo ele não vai conseguir fazer aqueles lances bonitos que nós gostamos de ver.

quinta-feira, 26 de março de 2009

Atributos de um bom software

Assim como os serviços que ele fornece, os produtos de software possuem outros atributos associados que demonstram a qualidade. Esses atributos não estão relacionados diretamente com que o software faz. Em vez disso, refletem o comportamento do software, enquanto este está em execução, e a estrutura e a organização do programa fonte.
Facilidade de manutenção:
O software deve ser escrito de modo que possa evoluir para atender às necessidades de mudança dos clientes. É um atributo fundamental, pois a mudança de software é uma consequência inevitável de um ambiente de negócios em constante mutação.
Facilidade de reparos:
As falhas de sistemas são inevitáveis, mas a interrupção causada por falhas pode ser minimizada se o sistema puder ser reparado rapidamente. Para que isso aconteça, deve ser possível diagnosticar o problema, acessar o componente que falhou e fazer as alterações para consertá-lo. A facilidade de reparos de software é aprimorada quando a organização que usa o sistema tem acesso ao código-fonte e há pessoas com habilidade para fazer as alterações. Infelizmente, isso tem se tornado cada vez menos comum à medida que avançamos em direção ao desenvolvimento de sistemas por meio de componentes de terceiros do tipo caixa-preta.
Confiança:
O nível de confiança do software tem uma série de características, incluindo confiabilidade, proteção e segurança. Um software confiável não deve causar danos físicos ou econômicos no caso de falha no sistema.
Eficiência:
O software não deve desperdiçar os recursos do sistema, como memória e ciclos do processador. Portanto, a eficiência inclui tempo de resposta, tempo de processamento, utilização de memória etc.
Usabilidade:
O software deve ser usável, sem esforço excessivo, pelo tipo de usuário para o qual ele foi projetado.(Fonte: Engenharia de software 8º Edição Ian Sommerville)