12.07.2015 Views

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CAPÍTULO 3. JML - JAVA MODELING LANGUAGE 383.1 Design by Contract - DbCDesign by Contract, ou Projeto por Contrato, é um método para o desenvolvimento desoftware. Design by Contract é o princípio pelo qual interfaces entre módulos de softwaredevem ser estruturadas utilizando especificações precisas [18]. O princípio por trazde DbC é que uma classe e o seu cliente têm um contrato um com o outro. Os contratos definemobrigações e benefícios mútuos (pré-condições e pós-condições, respectivamente),além de restrições (invariante). Os contratos são definidos no código do programa atravésde comentários da própria linguagem de programação e são traduzidos em código executávelpelo compilador. As propriedades (predicados) do contrato são conhecidas comoasserções (assertions).Asserções são representações de estados. São expressões verdadeiras em determinadospontos de um código [9], tornando-se importante quando se deseja provar a corretudede um programa. Para que seja possível provar a corretude de um determinado programaou um trecho de código, é necessário definir expressões lógicas que representem estadosdesejados. Se um dos estados não for satisfeito, algo de errado ocorreu, seja com aassertiva definida ou com a própria definição do programa.Meyer propôs, em seu trabalho sobre Design by Contract [26], asserções simples paraa linguagem Eiffel [25]. Sua idéia era usar as asserções para definir uma interface entreos módulos do programa, e também entre o módulo e o cliente que usa o módulo.Um contrato envolve 2 (duas) partes, o fornecedor e o cliente de um serviço. Cadauma das partes esperam algum benefício do contrato. Meyer em [26] apresenta duaspropriedades características no desenvolvimento de um contrato, são elas:• Cada parte espera algum benefício do contrato e está preparado para ter obrigaçõescom o objetivo de obter estes benefícios e,• Os benefícios e obrigações devem estar devidamente documentados.O documento de contrato protege ambas as partes para garantir o que foi definidocomo obrigação e benefício. O benefício de uma das partes do contrato é a obrigação daoutra. A Tabela 3.1 mostra um exemplo de contrato.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!