Você está na página 1de 19

Uma comparao de dois mtodos de

desenvolvimento de software baseado


em componentes:
Catalysis e UML Components
Projeto Final por:
Bernardo Faria de Miranda e
Diego Delgado Lages
{bmiranda,lages}@cos.ufrj.br
Orientao
Prof Cludia Maria Lima Werner, D.Sc.
Prof Marco Aurlio Souza Mangan, M.Sc.

Roteiro
Motivao
Objetivo
Mtodo de trabalho
Viso geral de um mtodo de DBC
Catalysis
UML Components
Comparao
Consideraes finais
Bacharelado em Infor

Motivao (1)
Produtividade e qualidade
no desenvolvimento de
software
Os mtodos tradicionais de
desenvolvimento de software ainda
no atendem s expectativas da
indstria [Aoyama98]
O desenvolvimento baseado em
componentes (DBC) tem sido
apontado como soluo para esta
crise [Szperski99] [Szperski98]

Bacharelado em Infor

Motivao (2)
O DBC permite o ganho de
qualidade e produtividade por
meio da reutilizao de
componentes de software
[Crnkovic01]
Conceito antigo
Tecnologias recentes aumentam a
possibilidade de reutilizao
EJB, COM+, CCM

Os mtodos de DBC ainda


permanecem imaturos [Teixeira03]
Falta de exemplos de aplicaes
de mtodos de DBC na literatura

Bacharelado em Infor

Objetivo
Nosso objetivo comparar como os
mtodos atuais de DBC tratam a
identificao e representao dos
componentes que esto sendo
criados
Foram selecionados dois mtodos:
Catalysis [Wills99]
UML Components [Cheesman01]

Bacharelado em Infor

Mtodo de trabalho
Coleta de bibiografia
Seleo de exemplos para os estudos de
caso
Vdeo locadora do livro do Catalysis
Sistema de hotelaria do livro do UML Components

Modelagem do exemplo
Estudo de caso da vdeo locadora usando o
Catalysis
Estudo de caso da hotelaria usando o UML
Components

Comparao de modelos
Bacharelado em Infor

Viso geral de um mtodo DBC (1)


Componentes
Caixa preta
Princpios OO [Cheesman01]
Unificao de dados e mtodos
Encapsulamento
Identidade

Interfaces contratualmente especificadas [Szperski99]


Contratos
Pr-condio, ps-condio e invariantes
Escritos em OCL ou linguagem natural

Define tudo que um cliente precisa saber e mais nada


alm disso [Cheesman01]
Os componentes desconhecem a parte interna de outros
componentes

Bacharelado em Infor

Viso geral de um mtodo DBC (2)


No contexto de uma aplicao baseada em componentes, o seu
desenvolvimento composto por dois processos [Crnkovic01]:

composio de componentes
Anlise de quais componentes podem ser utilizados para
satisfazer os requisitos levantados
Proporcionar um ganho de tempo de projeto

desenvolvimento de componentes
Menos atraente, pois requer mais esforo e tempo de projeto
Por outro lado, oferece a oportunidade de desenvolver
funcionalidades do sistema que vo ser, provavelmente, as de
maior valor para a empresa

O UML Components no orienta a composio de componentes


Portanto, o desenvolvimento de componentes o objeto
de estudo

Bacharelado em Infor

Catalysis
Especificao de requisitos
Casos de uso
Glossrio
UI Sketches

Modelagem de componentes e seus servios


Aes e cenrios
Especificao das aes

Modelos de tipos
Diagrama de estados
Colaboraes

Abstraes e Refinamentos
Frameworks e Padres

Bacharelado em Infor

UML Components
Especificao de requisitos
Modelo conceitual
Casos de uso

Identificao de componentes
Componentes de sistema
Componentes de negcio

Identificao de servios
Colaborao entre componentes

Especificao de servios
OCL, linguagem natural

Bacharelado em Infor

10

Exemplo de modelo (1)

Bacharelado em Infor

11

Exemplo de modelo (2)

Bacharelado em Infor

12

Comparao (1)
Catalysis
Menos didtico
Induz a eliminao de inconsistncias ao longo da
modelagem
Existem padres que guiam o desenvolvedor na
implementao
Oferece tcnicas que podem ser utilizadas fora de DBC
Aborda todas as camadas do sistema (cliente e servidor)

UML Components

Bastante didtico
Supe anlise completa
No orienta a implementao, apenas a modelagem
Apenas os componentes do lado do servidor

Bacharelado em Infor

13

Comparao (2)
Catalysis

UML Components

Anlise de Requisitos

Casos de uso,
rascunho de
interface, glossrio e
aes.

Modelo conceitual e
casos de uso.

Identificao de
componentes

No existe mtodo
sistemtico. Sugere o
uso de colaboraes

Tem mtodo
sistemtico.

Identificao de
servios

Emergem da
colaborao entre os
tipos de um
componente.

Examinando as
interfaces, usando a
arquitetura de
componentes.

Representao de
componentes

Sugere muitas
extenses da UML.

Poucas extenses.

Bacharelado em Infor

14

Consideraes Finais (1)


Contribuies
Identificar pontos forte e fracos dos
mtodos dentro do contexto de
modelagem
Verificar a aplicabilidade
Servir de referncia para trabalhos de
DBC
Detectar a inadequao das ferramentas
CASE

Bacharelado em Infor

15

Consideraes Finais (2)


Limitaes do Trabalho
Apenas modelagem
Estudos de caso
Retirado da bibliografia
Deficincia dos livros na descrio do
problema

Simplicidade
No permite aplicar todas as tcnicas
Falta de mudana de requisitos

Bacharelado em Infor

16

Uma comparao de dois mtodos de


desenvolvimento de software baseado
em componentes:
Catalysis e UML Components

Dvidas?

Referncias (1)
[Aoyama98] Aoyama, M. New age of software development: How
component-based software engineering changes the way of software
development. In Proceedings of International Workshop on ComponentBased Software Engineering, Kyoto, Japo
(http://www.sei.cmu.edu/cbs/icse98/papers/p14.html) (1998).
[Szperski98] Szperski, C. Component Software: Beyond ObjectOriented Programming. Addison-Wesley, 1998.
[Szperski99] Szperski, C. Component and objects together. In Software
Development Magazine (1999), vol. 7.
[Crnkovic01] Crnkovic, I. Component-based software engineering - new
challenges in software development. In Software Focus (2001), vol. 2,
pp. 127133.
[Teixeira03] Teixeira, H. V. Gerao de componentes de negcio a partir
de modelos de anlise. Tese de Mestrado, COPPE/UFRJ, 2003.

Bacharelado em Infor

18

Referncias (2)

[Cheesman01] Cheesman, J., e Daniels, J. UML Components. The Component


Software Series. Addison-Wesley, 2001.
[Wills99] Wills, A. C., e DSouza, D. Objects, Components and Frameworks
with UML: The Catalysis Approach. Addison-Wesley, 1999.

Bacharelado em Infor

19