ECO III: Por que codificar?

Objetivando um aprofundamento no estudo de novas tecnologias de desenvolvimento, o referido artigo nos traz um embasamento teórico a respeito da terceira versão da ferramenta de documentação da Borland, inclusa no Borland Developer Studio 4.0 Architect: o ECO III.

1. Introdução

ECO é um acrônimo de Enterprise Core Objects ou, em português, Objetos de Regras de Negócio. Nada mais é do que uma plataforma para o desenvolvimento em .NET que tem por finalidade gerenciar a infra-estrutura do software, permitindo aos desenvolvedores focalizarem suas atenções nas exigências do negócio.

É de fácil utilização a qualquer desenvolvedor de software, possibilitando um desenvolvimento rápido de aplicações, as quais futuramente podem ser adaptadas segundo as necessidades.

Emprega a UML (Unified Modeling Language ou Modelo de Linguagem Unificada) e a OCL (Object Constraint Language ou Linguagem de Restrição de Objetos) para o desenvolvimento de aplicações de forma visual. É possível importar modelos de UML construídos em outras ferramentas, desde que estes estejam no formato padrão de arquivo (*.mdl).

Também permite construir a aplicação a partir de uma base de dados existente, já que, nativamente, fora projetado para trabalhar com os SGBDR (Sistema Gerenciador de Banco de Dados Relacional) mantendo a integridade da base de dados através de transações.

2. Novidades do ECO

O ECO traz várias novidades para auxiliar no desenvolvimento de aplicações de forma fácil e rápida, algumas delas estão detalhadas abaixo.

2.1. ECO Packages

O ECO permite que sejam criados pacotes para serem utilizados nas aplicações. Estes pacotes contém definições de UML e OCL que podem ser usadas para instanciar, implementar e persistir objetos. É possível construir aplicações a partir de um ou mais pacotes, assim como um pacote pode ser utilizado em uma ou mais aplicações.

2.2. ECO Action Language

Uma ferramenta que auxilia no desenvolvimento de aplicações é a ECO Action Language, ou Linguagem de Ação ECO, a qual é um derivado da OCL que permite que exceções sejam tratadas por métodos contidos em classes ECO ou pela própria ECO Action Language. Permitindo que exceções sejam tratadas dentro das próprias classes, pode-se embutir uma quantia significativa de lógica de programação nos modelos, reduzindo a quantidade de código nas aplicações e facilitando a manutenção das mesmas.

2.3. Pattern Support

Outro ponto que é de grande ajuda no desenvolvimento de softwares é a criação de padrões, o qual é implementado pelo ECO com os padrões de design, que definem uma série de interações entre objetos que podem ser reutilizados em uma variedade de softwares. É possível recorrer aos padrões de design de duas formas. A primeira é criar seus próprios padrões, de forma totalmente visual. A outra é utilizar os padrões comuns disponibilizados pelo Borland Together, os quais podem ser modificados segundo as suas necessidades de forma fácil e rápida, acrescentando classes, atributos e associações ao modelo.

2.4. ECO .NET Extenders

A plataforma .NET permite que outras classes sejam implementadas ás classes criadas, permitindo, assim, a utilização de métodos contidos em classes já criadas sem a necessidade de que a nova classe seja descendente destas. O ECO III permite a utilização deste recurso através do ECO .NET Extenders.

3. Conhecendo o ECO

A ferramenta é de fácil utilização, assim como qualquer outra ferramenta de modelagem UML. Para criar uma nova aplicação ECO, aponte para o menu File -> New -> Other e, na categoria Delphi for .NET Projects, selecione o tipo de aplicação ECO desejada, como mostra a Figura 1.

Figura 1. Criando uma nova aplicação ECO.

As telas de modelagem dos diagramas ECO têm basicamente a mesma estrutura da mostrada na Figura 2, diferenciando-se apenas nas ferramentas as quais são disponibilizadas para cada diagrama.

Figura 2. Área de modelagem do diagrama de classes.

Como mostra a figura acima, as telas de modelagem oferecem uma área onde se encontram os componentes que podem ser utilizados para a construção do modelo, uma área para que estes componentes sejam dispostos de forma a montar o modelo desejado e uma outra área onde pode-se modificar as propriedades dos componentes de acordo com as necessidades.

Além do diagrama de classes, o ECO III permite que sejam feitos outros diagramas, basta clicar com o botão direito do mouse sobre uma área livre do diagrama de classes e apontar para Add -> Other Diagram..., como mostrado na Figura 3.

Figura 3. Adicionando novos diagramas ao modelo.

3.1. Diagrama de Classes

Representa a estrutura e relações das classes, as quais servem de modelo para os objetos. É possível construir associações, generalizações e implementar esteriótipos. A partir do diagrama de classes também é permitido, através do ECO, criar o banco de dados da aplicação.

3.2. Diagrama de Caso de Uso

Representa a interação do usuário com o sistema. É composto basicamente pelo caso de uso e pelo ator. Cada caso de uso tem uma descrição da funcionalidade deste no sistema. O ator é algo que interage com o sistema para executar algum trabalho.

3.3. Diagrama de Seqüência

Representa as mensagens que são passadas entre os objetos durante a execução do programa obedecendo a seqüência em que ocorrem.

3.4. Diagrama de Colaboração

Consiste de um conjunto de objetos e seus relacionamentos. Inclui as mensagens que podem ser trocadas entre eles. É semelhante ao diagrama de seqüência.

3.5. Diagrama de Estados

O diagrama de estados permite visualizar os estados e as condições de transição do objeto e oferece suporte aos conceitos padrões da UML, são eles:

3.6. Diagrama de Atividades

O diagrama de atividades é uma variação do diagrama de estados, onde os estados representam operações e as transações representam as atividades que acontecem quando a operação está completa. O diagrama de atividades é empregado para fazer a modelagem dos aspectos dinâmicos do sistema.

3.7. Diagrama de Componentes

Este diagrama ilustra como as classes deverão se encontrar organizadas através da noção de componentes de trabalho. Sua utilização se dá para modelar os componentes do código fonte, destacar a função de cada módulo, facilitando assim a sua reutilização, e para auxiliar no processo de engenharia reversa, com a utilização dos módulos do sistema e seus relacionamentos.

3.8. Diagrama de Distribuição

Este modela as ferramentas necessárias para a execução do sistema, os componentes e as associações entre eles.

4. Quais as vantagens de se utilizar ECO?

Utilizando-se ECO, grande parte do trabalho de desenvolvimento de baixo nível é minimizado, aumentando, assim, a produtividade. Outra grande vantagem é a fácil manutenção do código, pois, mudando o modelo, automaticamente é alterado o banco de dados e o código fonte no que for necessário.

Além disso, a terceira geração desta plataforma é independente de linguagem, ou seja, é possível construir um modelo em Delphi e utilizá-lo em C# sem nenhuma alteração, pois o código é automaticamente “traduzido”, o que não acontecia em versões anteriores. Bastante útil quando se programa em várias linguagens.

É possível criar seus próprios pseudônimos, como por exemplo: pode-se nomear S para o tipo String e, toda vez que for declarado um objeto do tipo S, subtende-se que este é do tipo String.

O ECO é capaz de criar automaticamente formulários Web em tempo de execução para que se possa testar a modelagem UML de forma rápida e, com isso, também permite que se veja um protótipo da aplicação Web sendo executada.

5. Conclusão

A grande dificuldade para o desenvolvimento de aplicações nos dias de hoje é manter o software totalmente documentado. O ECO reduz drasticamente este problema, além de oferecer uma fácil manutenção do sistema, sem contar no ganho de produtividade com a utilização da ferramenta.

Com a equipe menos ocupada com a manutenção de sistemas já prontos, possibilita que o tempo economizado com esta tarefa seja utilizado para o desenvolvimento de novos projetos. Além disso, com a utilização de padrões, a construção de novas aplicações também será reduzida.

Quanto menor o tempo necessário para se dedicar ao desenvolvimento e manutenção de um sistema, maior o tempo que pode ser disponibilizado para a construção de novos projetos. Isso significa um crescimento de potencial da equipe, que posteriormente pode se destacar no mercado.

6. Referências bibliográficas

Site: http://www.borland.com/delphi/architect/eco/tutorial/tutorial1.html, acessado em data de 07.07.2006.

Site: http://www.borland.com/delphi/architect/eco/tutorial/tutorial2.html, acessado em data de 07.07.2006.

Site: http://www.borland.com/delphi/architect/eco/tutorial/tutorial3.html, acessado em data de 07.07.2006.

Site: http://www.borland.com/resources/en/pdf/white_papers/bds_reviewersguide.pdf, acessado em data de 07.07.2006.

Artigos relacionados