[Cascavel-pm] Re: Digest Cascavel-pm, volume 25, assunto 1

Graciliano M. P. gmpowers em terra.com.br
Segunda Dezembro 22 16:25:25 CST 2003


>    Graciliano,
>
>    Lendo este nó
>
>    http://www.perlmonks.org/index.pl?node_id=295856
>
>    sobre o o que você perguntou aos Perl Monks, eu fiquei imaginando se
> você teria alguma dica interessante para o pessoal que vai começar a
> brincar com UML nos próximos mêses... eu acabo de me dar de presente de
> natal os livros do RUP, UML U.G. e Design Paterns. Espero que eu não me
> arrependa. (comentários são bem-vindos)
>
>    Existe alguma coisa interessante que a gente possa usar sobre isso
> (UML, RUP & Design Paterns) e que seja fácil de encontrar na Web?
>

Luiz,

1o um feliz natal é um próspero ano novo com muita saúde!

Eu uso o livro Applying UML and Patterns do Graig Larman (q tb tenho em
PDF). Este livro aborda desde UML, OO até UP.

Bom, este livro tem UML mais como chamaris/marketing, pois o interessante
são os padrões de design (design paterns) que o livro aborda. Digo isto pois
vc pode usar td sobre UML e ao mesmo tempo não fazer nada de Design Patern e
modelagem.

Não sei em que regime de trabalho vc atua, mas aprender modelagens e
"Análise de Projetos e Sistemas" é algo muito útil, tanto para concluir um
projeto de forma mais eficiente como para fazê-lo de forma mais rápida e com
menos problemas. O problema é que tds envolvidos em um projeto têm que saber
isto.

Quanto ao UML, só tem sentido se vc quiser utiliza-lo para geração
automática de código, mas isto funciona mais com Java e olhe lá! Eu gosto de
usar UML na parte de modelagem conceitual, mais para organizar td e ter uma
visão melhor do problema. Na parte de projeto (programação) também é bom
utilizar UML para organizar cada ciclo, mas será útil mesmo se vc tiver uma
equipe trabalhando no mesmo problema, e não uma única pessoa.

Em resumo a melhor dica que posso dar é q todas estas ferramentas servem
para auxiliar o trabalho, por ex, "Casos de Uso" (vc vai ver um monte sobre
isso nos livros) é apenas uma ferramenta de estudo, para auxiliar a análise
de como o sistema tem que ser utilizado e como vai interagir. Ou seja, UML,
modelagem, "Casos de Uso", Análise, não são a finalidade, apenas ferramentas
para ajudar o bom projetista. Digo isso pq tem muita gente que perde um
tempão fazendo td isso e sai com um projeto ruim, pois pensam que estas
ferramentas são como uma receita de bolo a ser seguida, na verdade é o
contrário, vc tem o seu processo e procura melhora-lo com as ferramentas
ideais para cada necessidade. Ter isto em mente é crucial, pois é muito
fácil qualquer um se perder em todos estes padrões e esquece o objetivo
real.

Quanto a aprender uma modelagem para desenvolvimento, encorajo muito isso,
pois aqui no Brasil tem muito pouca gente utilizando qualquer coisa do tipo,
na verdade tem muito pouca gente que sabe o que realmente existe nesta área.
Tem gente que acha que desenvolver em conceito ASP
(reaproveitamento/pré-moldados) é modelagem para desenvolvimento, o que na
verdade é apenas um detalhe.

De tudo que vc pode aprender, o bom é focar na análise inicial de um
projeto, como fazer e qual a finalidade, e na parte de desenvolvimento em OO
(desde que seja OO com reaproveitamento maior que 80% do código produzido!)
em equipes, onde 1 tem que poder entender o que o outro faz, para onde o
outro vai e o que o outro precisa.

Agora quanto a Web, não sei se tem muita coisa boa, pois UP é algo bem
extenso e que exitem várias abordagens e focos sobre o mesmo. Agora quanto
aplicar tais recursos na Web é complicado, principalmente falando-se em OO,
pois OO para Web é algo que não funciona muito bem, pois grande parde dos
sistemas para Web ainda usam muita coisa estruturada, e a única coisa de OO
que eles usam são aguns módulos para algumas tarefas específicas, ou seja,
não se utiliza OO para desenvolver o sistema em si.

Na verdade o problema da Web com OO para sistemas, é que cada execução de
página/tela está em um processo diferente, e pode estar em máquinas
diferentes tb, mas o objeto responsável por tal parte do sistema, e que
interage com o usuário, tem que funcionar como se estivece em um programa
normal, desktop. Ou seja, muita coisa está escrita para desenvolver
softwares desktop, e não para Web.

Digo isto sobre a Web pois a área de pesquisa que atuo é extamente esta,
aplicar de forma mais eficiente os Design Patterns e a modelagem OO em
sistemas Web. Onde também estou desenvolvendo um FrameWork para WebGUI, ou
seja, a idéia é fazer um sistema de um portal sem escrever nada de HTML, e
apenas componentes, como os componentes gráficos utilizados em um Delphi da
vida.

Por exemplo, uma enquete (Pool en inglês) seria declarada desta maneira:

<webgui::pool title="Qual a sua cor?" bgcolor="#CCCCCC"
button_color="#000000" style="pool-style.xml">
  <option value="0">Red</option>
  <option value="1">Blue</option>
</webgui::pool>

E o FrameWork detecta automaticamente os tags de webgui e converter para
código. Bom, isso ai é só para dar um gostinho do que vem por ai! ;-P

Bom, chega, já escrevi muito! Boa sorte com os livros.

Atenciosamente,
Graciliano M. P.






Mais detalhes sobre a lista de discussão Cascavel-pm