04 July 2000 - previous July updates: 02 04 ; ; previous updates

1 - Cinemania 96 - Reverse Engineering (parte 1)

Biography - uma das classes mais interessantes. Que atributos deverá ter? Porquê atributos e não classes autónomas? Que critérios para a identificação de classes? O PDF responde a estas questões.

People ao centro do diagrama de classes. Uma observação cuidada de Cinemania 96, mostra que uma abordagem puramente orientada a objectos vai descobrir relações insuspeitas.

Use Cases NÃO SÃO um produto previsto em nenhuma actividade OOHDM, mas ajudam qualquer projecto.

Cinemania 96 - reverse enginnering - Parte 1

Está finalmente disponível a primeira parte do projecto de reverse engineering da produto Microsoft Cinemania 96, utilizando a metodologia OOHDM. Na última semana de Julho, serão publicados os últimos documentos deste projecto.

Estão disponíveis quatro ficheiros para download:

- um documento PDF de 50 páginas, que corresponde à modelação conceptual da aplicação, conforme observada de «trás para a frente»;

- o correspondente ZIP, para quando a velocidade de download é relevante;

- diagrama de classes em UML;

- esquemas de use cases.

Download cin96_fase1_end.pdf [2282 KB]

Download cin96_fase1_end.zip [1866 KB]

Download c96_classd.wmf [81 KB] - Class Diagram.

Download c96_used.wmf [45 KB] - Use cases identificados.

Este projecto está [também] disponível a partir da página de Computer Science Projects.

Eis parte da introdução:

[...]

É comum falar-se numa fase de pré-análise, para todos os projectos de alguma dimensão. Em pré-análise, procuram-se respostas a questões de natureza incipiente, dependentes do domínio.

Aquilo que se procura obter nesta etapa introdutória é um retrato muito geral da realidade que tem que ser enfrentada, de forma a tomar consciência de alguns dos obstáculos que terão que ser transpostos, em função daquilo que os utilizadores gostarem de ter como produto final, e das implicações que as suas expectativas geram.

Em alguns processos, esta etapa introdutória terá outros nomes. Por exemplo, Martin Fowler chama-lhe inception (incepção), assumidamente inspirado no processo Objectory sugerido para utilização em UML , uma linguagem essencialmente gráfica que procura oferecer "território neutral", no qual pessoas de domínios distintos, poderão discutir, ao mesmo nível, questões de projecto.

Mas uma linguagem para notação, como o UML, não implica um processo. Muitos autores são da opinião que utilizar um só processo não será, aliás, a melhor estratégia para diversos problemas.

Uma metodologia (processo + linguagem) orientada ao paradigma dos objectos, estudada para a construção de aplicações hypermedia, é o OOHDM (Object Oriented Hypermedia Design Model), de Gustavo Rossi e Daniel Schwabe.

Apesar de propôr uma notação (muito semelhante a UML), OOHDM não faz imposições - a ênfase está mesmo no caminho que se sugere, para a construção de aplicações hypermedia.

Para o (re)projecto de Cinemania 96 [CIN96, de agora em diante], optou-se por utilizar OOHDM, muitas vezes com diagramas UML. Porquê?

Em OOHDM, o processo de desenvolvimento de uma aplicação, está organizado em quatro actividades. Não se escreve "organizado em quatro etapas", porque a palavra "etapa" sugere algo que começa e acaba, mas que depois não tem continuidade.

As actividades OOHDM não são estanque, sendo possível (re)iterá-las, se necessário, sem comprometer um desenvolvimento incremental.

[...]

Hierarquias são naturais e capturam situações de generalização e especialização.

UML identifica dois papéis / roles por relação, mas a linguagem gráfica de OOHDM para modelação conceptual não prevê isso, pelo que o UML que se utilizou no diagrama de classes, expressa relações em sentidos diferentes, quando a aridade muda e mecanismo de roles não está disponível.

UML também prevê situações de composição, como agregações em exclusivo, mas isso não existe em OOHDM, pelo que não se utilizou.

Use Cases - mais uma porção do que se identificou. Faça download dos ficheiros integrais.