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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPÍTULO 3. JML - JAVA MODELING LANGUAGE 39Parte Obrigações BenefíciosCliente 1. As cartas e pacotes não podem Ter os pacotes entregester mais que 5kg.ao destinatário2. A dimensão dos pacotes em 1 dia ou menos.não pode exceder 2 metros.3. Pagar 40 reais.Fornecedor 1. Entregar os pacotes e cartas Não precisa se preocuparao destinatário em 1 dia ou menos. com pacotes pesados,pacotes muito grandes ouserviço não pago.Tabela 3.1: Exemplo de Contrato.A Tabela 3.1 apresenta um contrato para entrega de correspondências. O cliente doserviço tem como obrigação pagar 40 reais pelo serviço, e entregar pacotes menores que 2metros e com peso abaixo de 5 kilos. Como benefício, o cliente terá seu pacote entregueao destino em no máximo 1 dia. O fornecedor do serviço tem como benefício não sepreocupar com pacotes muito grandes e pesados. Como obrigação, o fornecedor deveráentregar a correspondência em no máximo 1 dia.Os benefícios [15] de se utilizar projeto por contrato incluem: uma abordagem sistemáticade construir sistemas Orientados a Objetos com menos bugs; um método paradocumentar componentes de software; um framework que facilita a depuração, teste eproporciona garantia de qualidade ao produto desenvolvido.Projeto por contrato é uma forma de atribuir responsabilidades aos métodos, o quedeve ser feito, quais as saídas possíveis e que argumentos são necessários para aschamadas do método. Com isso, é possível atribuir culpa a uma parte das partes docontrato, caso haja problema. Assim, caso uma pré-condição seja violada, a culpa seráatribuída ao cliente, semelhantemente, caso uma pós-condição seja violada, a culpa serádo método fornecedor do serviço [20]. Projeto por contrato também é um mecanismoauxiliar aos comentários do programa e documentação não-formais. Apesar de usar formalismoem seu comentário, o uso de DbC não exclui os outros tipos de comentários deprograma.Além dos benefícios descritos sobre o uso de contratos, é possível garantir robustez ereusabilidade. Tratamento de exceções é um mecanismo de robustez no uso de projeto porcontrato [33]. Dessa forma, quando uma asserção não for satisfeita, o tratamento da exceçãodeve garantir o estado desejado do objeto para a pós-condição excepcional. Definir

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

Saved successfully!

Ooh no, something went wrong!