Artigo Engenharia de Software 15 - Incorporando Restrições à UML

Neste artigo será apresentada uma introdução à OCL, a linguagem de restrição oficial da UML.

Esse artigo faz parte da revista Engenharia de Software 15 edição especial. Clique aqui para ler todos os artigos desta edição



Projeto

Incorporando Restrições à UML

Os conceitos principais por trás da linguagem OCL

 

De que trata o artigo: Neste artigo será apresentada uma introdução à OCL, a linguagem de restrição oficial da UML.

 

Para que serve: Impor restrições a alguns objetos é de fundamental importância para esclarecer, verificar e validar modelos UML. Este artigo trata sobre como é possível fazer isso através da OCL.

 

Em que situação o tema é útil: Para aqueles que não conseguem apenas com os diagramas UML definir todos os aspectos relevantes da especificação do sistema.

 

A UML (Unified Modeling Language) é uma linguagem para especificação, documentação, visualização e desenvolvimento de sistemas orientados a objetos. Sintetiza os principais métodos existentes, sendo considerada uma das linguagens mais expressivas para modelagem de sistemas e por isso de grande aceitação na indústria. Por meio de seus diagramas é possível representar sistemas de softwares sob diversas perspectivas de visualização. Facilita a comunicação de todas as pessoas envolvidas no processo de desenvolvimento de um sistema - gerentes, coordenadores, analistas, desenvolvedores - por apresentar um vocabulário de fácil entendimento.

A primeira versão da UML foi apresentada em junho de 1996 e submetida à OMG (Object Management Group), consórcio de empresas que define padrões de modelos e linguagens. A revisão desse modelo mostrou uma grande deficiência na clareza e consistência das definições da UML. Em particular, uma dificuldade encontrada foi que a semântica da UML poderia ser interpretada de formas ambíguas. O problema foi minimizado com a elaboração de uma nova versão da linguagem, a qual foi publicada em 1997. O mais importante incremento nesta versão foi a criação da OCL (Object Constraint Language), que acompanha oficialmente a evolução da UML até os dias atuais.

A linguagem OCL

A OCL (ou linguagem para especificação formal de restrições, em português) é uma linguagem declarativa para descrever as regras que se aplicam aos modelos UML. É uma linguagem de texto precisa que fornece afirmações em um modelo orientado a objeto que não possam ser expressadas pela notação diagramática. A OCL complementa os modelos UML fornecendo expressões que não têm nem as ambiguidades da língua natural (eg. “o sistema deve identificar uma pessoa com um telescópio”), nem a dificuldade inerente de se usar matemática complexa.

Com a OCL é possível testar a construção dos modelos, retirar métricas ao nível de projeto e ainda especificar vários tipos de restrições, que poderão refletir regras de negócio, através de pré/pós condições e invariantes.

Como a OCL é uma linguagem formal, semelhante a uma linguagem de programação, torna-se, também, possível a criação de geradores de código tendo como entrada os modelos e as especificações/restrições nessa linguagem e como saída programas fontes em linguagens de programação ou “triggers” para bancos de dados. Inclusive, atualmente a OCL vem se tornando um componente fundamental no novo padrão MDA-QVT (Query-View-Tranformation) para transformação de modelos da OMG.

A OCL pode ser utilizada para:

·Especificar invariantes em classes e tipos do modelos de classes.

·Especificar tipos invariantes para estereótipos.

·Descrever pré e pós-condições em operações.

·Como uma linguagem de navegação entre associações.

·Como uma linguagem de consulta." [...] continue lendo...

Artigos relacionados