DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Engenharia de Software Magazine
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Linguagem OCL - Revista Engenharia de Software Magazine 39

Esse artigo aborda tópicos relacionados à linguagem OCL. Nele é descrito como a linguagem OCL pode ajudar na especificação e validação de regras de negócio em modelos orientados a objetos. Também são apresentadas algumas expressões e ferramentas





Engenharia de Software Magazine 39

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da Engenharia de Software Magazine 39


A linguagem UML (Linguagem de Modelagem Unificada) foi criada para oferecer uma padronização e unificação dos artefatos gerados na modelagem de projetos. O grande número de linguagens de programação e métodos de análise existentes, apesar de em sua maioria possuírem os mesmos conceitos básicos, diferenciam em suas terminologias e notações.

No entanto, a primeira versão da UML apresentava grande deficiência na clareza de suas definições, permitindo, por exemplo, que sua semântica fosse interpretada de forma ambígua. Um diagrama UML, como um diagrama de classes, geralmente não fornece todos os aspectos importantes de uma especificação. Existe a necessidade de adicionar restrições sobre os objetos no modelo e estas restrições, por normalmente serem descritas em linguagem natural, resultam em ambiguidades.

As linguagens formais foram desenvolvidas para resolver os equívocos nas restrições, mas são de difícil uso, requerendo uma forte base matemática. Para enfrentar esse problema, uma nova versão da UML foi lançada, e com ela foi criada a OCL, uma linguagem formal, fácil de ler e escrever.

 

“A OCL é uma linguagem de expressões para especificar restrições sobre modelos orientados a objetos ou outros artefatos da linguagem UML. É uma linguagem precisa, textual e formal. Essa formalidade garante a não existência de interpretações ambíguas para as mesmas restrições, fato que ocorria antes da sua criação. Uma das suas principais características é que seu uso não exige um forte conhecimento matemático para ser utilizada corretamente, como ocorre nos modelos Z e VDM.” (Alves Lima, Musial, 2001)

 

Neste contexto, esse artigo aborda tópicos relacionados à linguagem OCL. Veremos como a linguagem OCL pode ajudar na especificação e validação de regras de negócio em modelos orientados a objetos. Além disso, apresentaremos algumas expressões e ferramentas que facilitam a utilização da linguagem. Por fim, um simples exemplo de negócio foi especificado através de linguagem natural e transformado para um modelo Orientado a Objetos usando UML e restrições OCL.

Object Constraint Language (OCL)

Object Constraint Language é uma linguagem de expressões para especificar restrições aplicadas a modelos UML. É uma linguagem precisa, textual e formal. Expressões OCL podem ser utilizadas para especificar operações/ações que, quando executadas, alteram o estado do sistema. A UML pode também utilizar a OCL para especificar condições invariantes no modelo UML que são completamente independentes da linguagem de programação.

O Diagrama de Classes da UML, por exemplo, não é refinado o bastante para fornecer todos os aspectos relevantes da especificação. Verifica-se, dentre outras coisas, a necessidade de descrever restrições adicionais sobre os artefatos do modelo. Como essas restrições geralmente são escritas em linguagem natural, isto poderá resultar em ambiguidades. A OCL foi desenvolvida para diminuir essa lacuna e impedir interpretações ambíguas para a mesma restrição.

Toda expressão OCL é declarativa no sentido de que expressa o quê a restrição representa no sistema e não como essa restrição é implementada. As expressões OCL são utilizadas para definir condições invariantes nas classes representadas em um modelo e também são utilizadas para especificar as pré e pós-condições em operações aplicadas a classes desse modelo. Expressões OCL também podem ser utilizadas para fazer consultas a um modelo de classes da UML. Essas consultas podem ser úteis para validar modelos de classes na fase de projeto. A avaliação dessa expressão não devolve um valor booleano, e sim valores de um tipo específico da OCL.

Por fim, é importante termos em mente que a OCL não é uma linguagem de programação, logo não é possível escrever a lógica de programa ou o controle de fluxo em OCL. Isso porque OCL é, em primeiro lugar, uma linguagem de modelagem e por definição, expressões OCL não são diretamente executadas. Todas as questões de implementação estão fora do escopo da linguagem OCL e, portanto, não podem ser expressas em OCL.

Expressões OCL

Existem três tipos de expressões OCL:

·         "

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Engenharia de Software Magazine
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Devmedia - Equipe De Moderacao
(Sem mini-bio cadastrado)
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03