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.
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
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast