Você está na página 1de 6

XV Simpsio Brasileiro de Engenharia de Software

Ferramenta MVCASE - Estgio Atual: Especificao, Projeto e Construo de Componentes Antnio Francisco do Prado Daniel Lucrdio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE MVCASE, que suporta o desenvolvimento de softwares orientados a objetos, baseados em componentes. Na ferramenta, o Engenheiro de Software modela o sistema, segundo o mtodo Catalysis, e gera seu cdigo para uma plataforma distribuda, usando componentes distribudos com a tecnologia Enterprise Java Beans (EJB). A ferramenta disponibiliza os componentes em um browser, que facilita seu reuso, atravs da herana ou instanciao de suas classes. Palavras-chave: Componentes, CASE, Orientao a Objetos 1. Introduo A reutilizao um princpio essencial na rea de Engenharia de Software para garantir a reduo de esforos e custos no processo de desenvolvimento de software. Na tecnologia orientada a objetos a reutilizao de software pode ser assegurada com a adoo de patterns, frameworks de domnios especficos, e com componentes de software j existentes e testados. Este artigo apresenta a ferramenta CASE MVCASE [Sbes2000], que suporta o desenvolvimento de softwares baseados em componentes. Na sua primeira verso, a MVCASE suporta a especificao de requisitos de sistema em alto nvel de abstrao, na linguagem orientada a objetos UML[Uml97,Uml99]. No estgio atual, a ferramenta suporta a especificao e projeto de componentes de software, baseado em Catalysis [Dso98,Cat2001], seguindo seus 3 nveis: Domnio do Problema, Especificao dos Componentes, e Projeto Interno dos Componentes. Nessa nova verso, a ferramenta MVCASE tambm suporta a utilizao da tecnologia Enterprise Java Beans [EJB2001], para construo de componentes distribudos. 2. A Tecnologia Enterprise JavaBeans (EJB) A tecnologia EJB um modelo de servidor de componentes para Java. Suporta a criao de aplicaes multi-tier, que requerem servios de gerenciamento de transaes, segurana, conectividade e acesso a banco de dados. Na tecnologia EJB, as regras de negcio so implementadas nos componentes beans que so disponibilizados no servidor EJB, ficando independentes de plataforma. Cada componente bean possui duas interfaces de acesso: interface Remote e interface Home. A interface Home serve como ponto inicial de contato para uma aplicao cliente. Esta interface disponibiliza os mtodos para localizar, criar e remover instncias de um componente bean. Quando uma aplicao cliente acessa um componente bean, o servidor retorna uma referncia para o objeto implementado da Interface Home. A interface Remote disponibiliza os mtodos das regras de negcio do componente bean. Ela recebe a chamada da aplicao Cliente, delegando a execuo para uma instncia do

- 368 -

XV Simpsio Brasileiro de Engenharia de Software

componente bean e retorna uma referncia para o objeto que implementa a interface Remote. A Figura 1 mostra, por exemplo, uma tela da MVCASE com a criao do componente bean, denominado Cliente, usando a tecnologia EJB.

Figura 1 Tecnologia EJB na ferramenta MVCASE Na Figura 1, a interface Cliente estende a interface EJBObject do pacote EJB, e disponibiliza os mtodos das regras de negcio do componente, constituindo a interface Remote do bean. A interface ClienteHome estende a interface EJBHome do pacote EJB, e responsvel por localizar, criar e remover instncias do componente, constituindo a interface Home do bean. A classe ClienteEJB, que implementa a interface EntityBean do pacote EJB, encapsula todos os atributos e mtodos do componente, incluindo aqueles disponibilizados em suas interfaces. A MVCASE, diferente de ferramentas similares, como por exemplo a Rational Rose[Rat2001], oferece a possibilidade da criao automtica das interfaces Home e Remote de um bean, a partir da classe contendo as regras de negcio. Dessa forma, obtm-se maior rapidez na construo dos beans. 3. MVCASE na Especificao, Projeto e Construo de componentes A primeira verso da ferramenta MVCASE [Sbes2000], inteiramente construda na linguagem Java, suporta especificaes de requisitos de software em alto nvel de abstrao, na linguagem orientada a objetos UML[Uml97,Uml99]. A partir desta verso, novos recursos foram adicionados na MVCASE. Atualmente, a ferramenta tambm suporta o desenvolvimento de softwares baseados em componentes segundo o mtodo Catalysis [Dso98,Cat2001]. A utilizao da MVCASE, com o mtodo Catalysis, resulta num processo eficiente para modelagem de sistemas baseados em componentes. Esse processo dividido em 4 nveis: Domnio do Problema, Especificao dos Componentes, Projeto Interno dos Componentes e Gerao de Cdigo Distribudo. Segue-se a apresentao de um estudo de caso, que exemplifica este processo. Trata-se de um sistema de Distribuidora de Produtos.

- 369 -

XV Simpsio Brasileiro de Engenharia de Software

3.1. Domnio do Problema No nvel Domnio do Problema so especificados os requisitos do sistema, preocupandose com o que o sistema deve fazer para solucionar o problema. Identificam-se os tipos de objetos e aes, agrupando-os em diferentes vises por reas de negcio. Os casos de uso do sistema so identificados e modelados em diagramas de Casos de Uso, conforme mostra a Figura 2. Os relacionamentos dos atores, no caso Cliente e Fornecedor, com os casos de uso, so indicados, dispensando, neste nvel, detalhes que no so relevantes para o contexto do sistema.

Figura 2 Modelo de Casos de Uso Tambm pode ser utilizado um diagrama de seqncia para detalhar um caso de uso, conforme mostra a Figura 3, para o caso de uso atenderPedido. Neste nvel do problema, so indicadas somente as conexes de mensagens relevantes para o contexto do sistema.

Figura 3 Diagrama de Seqncia

- 370 -

XV Simpsio Brasileiro de Engenharia de Software

3.2. Especificao dos Componentes Nesse nvel, refinam-se os modelos do nvel Domnio do Problema, especificando os componentes do sistema. O Engenheiro de Software preocupa-se com a identificao, comportamento, e responsabilidades dos componentes. Novos modelos, mais detalhados, so obtidos, porm ainda sem se preocupar com a implementao. A Figura 4 mostra um diagrama de classes com a especificao do componente Cliente. No modelo da Figura 4 tem-se que o componente Cliente disponibiliza seus mtodos atravs das interfaces InterfaceRemotaCliente e InterfaceLocalCliente.

Figura 4 Especificao do componente Cliente 3.3. Projeto Interno dos Componentes No terceiro nvel de Catalysis, o Engenheiro de Software faz o projeto interno dos componentes, dando nfase s suas implementaes e distribuies fsicas. Nesse caso, a tecnologia EJB foi utilizada para a construo dos componentes, com caractersticas distribudas e persistncia em banco de dados. A Figura 5 mostra o projeto interno do componente Cliente.

Figura 5 Projeto interno do componente Cliente As interfaces do componente especificadas no nvel anterior, tiveram seus nomes e mtodos modificados para concordar com a tecnologia EJB. No caso InterfaceRemotaCliente foi renomeada para Cliente e InterfaceLocalCliente para ClienteHome. O sufixo EJB tambm foi adicionado na classe do bean. As relaes de heranas com as classes EJBObject, EntityBean, e EJBHome, do pacote EJB, fazem reuso de componentes do pacote EJB.

- 371 -

XV Simpsio Brasileiro de Engenharia de Software

Uma outra viso do sistema obtida com o diagrama de Componentes, que mostra a dependncia entre os componentes do sistema. Por exemplo, na Figura 6, o componente FramePrincipal utiliza recursos dos componentes FramePedido, FrameProduto, FrameCliente, FrameFornecedor.

Figura 6 Diagrama de Componentes 3.4. Gerao de cdigo Aps concluda a modelagem do sistema, pode-se gerar o cdigo, na linguagem JAVA, e execut-lo em uma plataforma distribuda Cliente e Servidor, conforme mostra a Figura 7.
public class ClienteEJB implements EntityBean { public String cpf; public String nome; public String telefone; ... public bo olean validarCliente(String cpf) { if(cpf!=null) { ... if(home.encontrarCliente(cpf)) return false; return true; } } ... public String ejbCreate(...) throws CreateException { this.cpf = p_ cpf; ... return null; } ...

Servidor de Aplicaes
Cliente

Fornecedor

Cliente

Fornecedor

Banco de Dados

Figura 7 Cdigo gerado e execuo do sistema

- 372 -

XV Simpsio Brasileiro de Engenharia de Software

esquerda tem-se o cdigo gerado pela MVCASE, e direita a sua execuo, em um ambiente distribudo. A ferramenta gera automaticamente todo o cdigo dos componentes. O Engenheiro de Software pode verificar se o sistema atende aos requisitos especificados. Caso no atenda, pode reespecificar, reprojetar e reconstruir os componentes, gerando o novo cdigo. 4. Concluso O uso da MVCASE no desenvolvimento de softwares baseados em componentes mostrou-se vivel e tambm eficiente. Trabalhando em um alto nvel de abstrao, o Engenheiro de Software pode se concentrar nos aspectos mais relevantes dos componentes. Alm disso, as tcnicas para Especificao, Projeto e Construo de componentes de Catalysis, facilitam a comunicao entre diferentes Engenheiros de Software, tornando o trabalho em equipe mais produtivo. A gerao automtica de cdigo torna o processo de construo de componentes mais rpido, e mantm a consistncia entre a implementao e a documentao. A manuteno do sistema fica facilitada, considerando que as alteraes nos modelos, em alto nvel, refletem automaticamente no cdigo gerado.

5. Referncias Bibliogrficas [Dso98] [Cat2001] [EJB2001] [Rat2001] [Sbes2000] DSouza, D.; Wills A. Objecs, Components, and Frameworks with UML: The Catalysis Approach. Addison-Wesley, 1998. Catalysis, Enterprise Components with UML URL: http://www.catalysis.org, 2001. Enterprise Java Beans technology, Sun Microsystems. URL: http://java.sun.com/products/ejb/index.html, 2001. URL: http://www.rational.com/rose, 2001. Prado, A. F., Lucrdio, D; MVCASE: Ferramenta CASE Orientada a Objetos Sesso de Ferramentas do XIII Simpsio Brasileiro de Engenharia de Software SBES'2000. Joo PessoaPB, Brasil. 4 6 de Outubro, 2000. Fowler, M.; Scott, K. UML Distilled Applying the Standard Object Modeling Language, Addison-Wesley, 1997. URL: http://www.rational.com/uml/references, 1999.

[Uml97] [Uml99]

- 373 -

Você também pode gostar