Arquivo

Posts Tagged ‘UERJ’

UML como documentação?

01/12/2009 6 comentários

Uma coisa que muitos acabam confundindo é a real função da Unified Modeling Language – UML: UML para documentação ou para entendimento de um problema?

O Craig Larman fala disso no livro “Utilizando UML e Padrões” e cita que diversas pessoas perdem muito tempo modelando com UML no sentido de documentar e atrasam a codificação. Quando vão ver, tudo aquilo que foi modelado em diversos diagramas “bonitos” e que demoram bastante tempo ($$$) para serem produzidos não são soluções que poderiam ser implementadas na realidade.

UML é para modelagem, visando que as pessoas entendam o problema e a solução proposta. Uma vez que a informação foi passada, se quiser registrar o que foi desenhado, tire uma foto e guarde. Pronto!

Exemplo de modelo criado durante reunião com cliente

O Vinicus Teles, no seu livro sobre XP, fala, inclusive, que em sua experiência dificilmente precisou dessas fotos.

Em alguns casos, os modelos são realmente importantes e precisam ser registrados (como modelos de domínio e diagramas de atividade modelando o fluxo do processo, por exemplo). Nestes casos, após modelar, transfira para uma ferramenta case e deixe arquivado (o modelo acima, por exemplo, foi inserido em um documento de visão, criado no início do projeto).

Mas é bom lembrar que de nada adianta se este modelo não for atualizado ao longo do tempo. Documentação desatualizada é pior que não ter documentação!

Agile utiliza UML?

Métodos ágeis podem, sim, utilizar UML. Eu inclusive utilizo bastante, porém temos que ter em mente que o que é importante é saber bastante sobre análise e projeto orientado a objetos, padrões, modelagem e não apenas saber UML.

Os métodos ágeis usam esse tipo de modelagem (visando entendimento de um problema e criação da solução), seja com UML ou o quer que seja. Uma boa referência são os artigos do Scott Ambler (em Agile Modeling) sobre o assunto.

Modele para entender, em um quadro branco, em grupo (e junto com o cliente quando quiser descobrir os conceitos do negócio e modelá-los no sistema), tire foto ou deixe isso fixado na parede da sala de projeto e corra para desenvolver o que modelou, pois é isso que vai dizer se o que desenhou está correto…

Com relação a o que é feito antes de por o software para rodar, devo dizer que não acredito nessa idéia de esperar até que todo o software esteja pronto e documentado com belos diagramas para aí sim validar e colocar em produção! Métodos ágeis trabalham com iterações e o software vai sendo produzido aos poucos (incrementalmente) e a cada novo incremento, temos uma versão funcional do software que já pode ser colocada em produção, gerando valor para o cliente.

Uma grande fase de design ou de modelagem no início, o famoso Big Design Up Front (BDUF) ou Big Modeling Up Front (BMUF), retardando o desenvolvimento, não vai garantir qualidade ao seu projeto do ponto de vista do design. Para isso, existem diversas práticas que podem ser utilizadas durante o processo de desenvolvimento, como programação em par, TDD, etc…

Bom, IMHO, é isso…

PS.: Após escrever e publicar este post, cheguei a esse vídeo do Vinicius: http://vimeo.com/1450383. Sem tirar nenhuma vírgula, é isso!

Tags:, ,

Java SDK + Eclipse + JBoss Tools + Tomcat (instalação e configuração inicial)

30/11/2009 2 comentários

A instalação e configuração inicial do Eclipse já me causou bastante dor de cabeça, especialmente por achar que uma boa IDE não nos deve fazer perder tempo com coisas relativas a configuração (até porque a intenção é ajudar na produtividade).  Essa é um dos motivos de gostar do NetBeans, mas como em alguns casos precisamos de algo mais “leve”, vamos ao Eclipse!

Tentarei ajudar nesta etapa inicial de instalação do Java SDK, configuração inicial do Eclipse (com alguns plugins comuns) e Tomcat6.

Leia mais…

Tags:,

TIOBE index de Novembro/2009 – C continua se aproximando de Java e Ruby continua subindo…

24/11/2009 2 comentários

Durante a primeira aula do curso de extensão em Java, falamos sobre o ranking de linguagens e como Java está posicionado nesta história.

Aqui, o TIOBE publica mensalmente seu ranking e algumas informações interessantes.

Os números em novembro mostram que Java continua em primeiro lugar, seguido por C (que tem subido no ranking). Algumas linguagens demonstram quedas (como Python) equanto outras ascenção (C#, PHP e Ruby).

A tabela abaixo presenta mais coisas interessantes. Podemos ver que Java lidera desde 2005 (deixando C em segundo lugar), mas já esteve em 3º lugar, em 1999 (quando C liderava). Segundo a figura, vemos também que de 2005 para 2009 a ascenção mais impressionante foi de Ruby, que em 2005 estava em 24º e agora figura em 10º (14 posições!).

 

Claro que grande parte do crescimento de Ruby neste índice deve-se ao grande movimento ao redor do Ruby on Rails, que também no Brasil tem causado bastante barulho…

Na mesma linha de Ruby on Rails mas para Java, temos o Grails (como estou estudando, logo devo postar alguma coisa) apoiado pela ótima (na minha humilde opnião) Groovy (formando assim a dobradinha Groovy and Grails). Como a já famosa SpringSource está a frente tanto do Groovy quanto do Grails, acredito que podemos esperar por boas novidades…

O site tem mais coisas interessantes (como comparação entre linguagens estaticamente e dinamicamente tipadas) e vale a pena dar uma olhada.

Atenção à nota:

The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, Wikipedia and YouTube are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

Onde é preciso ter bastante atenção, pricipalmente, em:

Observe that the TIOBE index is not about the best programming language (…)

Enfim, o que acham? Alguém discorda de algo?

Grande abraço a todos!

Tags:,

Material do curso de extensão Java (UERJ-IME)

24/11/2009 1 comentário

Agora que o curso já iniciou, irei publicar aqui (sempre com a tag UERJ) algumas coisas relacionadas ao curso

A idéia é transformar esta parte do blog em uma ferramenta para aumentar o alcance do curso, fornecendo informações, exemplos e material de estudo (ou links para coisas interessantes). Assim, estaremos conectados por mais tempo…

Então, lá vai o primeiro link: http://www.slideshare.net/marceloczeferino/extenso-em-java-v1-2569787

Neste link poderão ver e baixar a apresentação que usaremos em nossas aulas.

Em breve publicarei mais coisas…

Tags:,