A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Uma abordagem de Inclusão de Design by Contract no Processo Unificado Eduardo Silvestri Prof. Orientador Dr. José Maria.

Apresentações semelhantes


Apresentação em tema: "Uma abordagem de Inclusão de Design by Contract no Processo Unificado Eduardo Silvestri Prof. Orientador Dr. José Maria."— Transcrição da apresentação:

1 Uma abordagem de Inclusão de Design by Contract no Processo Unificado Eduardo Silvestri Prof. Orientador Dr. José Maria Parente de Oliveira 1

2 CT-300 Agenda 2 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado 1 Introdução 2 Definição do Problema 3 Design by Contract 4 Proposta de Solução 5 Validação

3 CT-300 Agenda 3 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado 1 Introdução 2 Definição do Problema 3 Design by Contract 4 Proposta de Solução 5 Validação

4 CT-300 Introdução Este trabalho propõe a utilização de métodos mais rigorosos nos processos de desenvolvimento software. Métodos esses calcados na observância das regras de colaboração entre as partes do software fazendo uso da técnica de Design by Contract (DBC). 4 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

5 CT-300 Introdução Design by Contract (DBC) surge como um método que visa a construção de sistemas orientados a objetos mais confiáveis, na medida em que provê mecanismos para checar a correção de um sistema. 5 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

6 CT-300 Introdução A principal idéia do método é que entre as classes e seus clientes seja estabelecido um contrato o qual deve ser explicitamente estabelecido. Nele o cliente deve garantir certas condições antes de invocar o método pré- condições, que por sua vez deve garantir alguns resultados após ter sido executado pós- condições. 6 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

7 CT-300 Agenda 7 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado 1 Introdução 2 Definição do Problema 3 Design by Contract 4 Proposta de Solução 5 Validação

8 CT-300 Definição do Problema Software com qualidade = Atende aos requisitos Tudo se resume a criar uma maneira de assegurar que o software será desenvolvido conforme sua especificação. 8 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

9 CT-300 Definição do Problema Os modelos e métodos convencionais utilizados para especificação de requisitos, permitem que estes possam ser interpretados de formas diferentes. Requisitos obscuros ou até mesmo imperceptíveis aos olhos dos programadores e arquitetos. 9 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

10 CT-300 Definição do Problema Quando este cenário se projeta para sistemas de software utilizados para segurança de informações o problema se agrava de forma exponencial. 10 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

11 CT-300 Definição do Problema A tecnologia biométrica pode chegar a garantir acertos acima de 99,9%. A tecnologia tem que ser empregada em um software. Ganho sobre a tecnologia biométrica empregada perde a credibilidade. 11 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

12 CT-300 Agenda 12 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado 1 Introdução 2 Definição do Problema 3 Design by Contract 4 Proposta de Solução 5 Validação

13 CT-300 Design by Contract - DBC O modelo baseado em contratos tem como objetivo o desenvolvimento de uma metodologia que contempla interface, especificação e verificação de sistemas orientados a objetos. 13 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

14 CT-300 DBC é um método para desenvolvimento de software. A classe e seus clientes possuem um "contrato; O cliente deve garantir certas condições antes de chamar um método; e No retorno a classe garante certas propriedades. 14 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

15 CT-300 Caso a execução de uma determinada tarefa dependa de um outro método, torna-se necessário especificar precisamente a relação entre cliente (quem invoca o método) e contratado (método que é invocado). 15 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

16 CT-300 Em DBC a forma com que se expressa as condições que devam ser seguidas pelo contrato são chamadas de asserções. Pré- condições e pós-condições são asserções que definem respectivamente os direitos e obrigações de cada método. 16 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

17 CT-300 Invariantes de classes constituem um outro tipo de asserção que são propriedades que sempre são validas ao longo do ciclo de um objeto. 17 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

18 CT-300 Exemplo de contrato. Um método que recebe um número qualquer como entrada e retorna sua raiz quadrada. 18 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

19 CT-300 Pré-condição deve ser verdadeira antes do método ser invocado. Pós-condição o compromisso do método depois de executado. Neste caso a pré-condição tem como obrigação passar um número (x) positivo como argumento e a pós-condição garantir que este receba uma aproximação da raiz quadrada como resultado. 19 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

20 CT-300 Com isso é que podemos tomar como verdade que: A violação de uma pré-condição indica um erro em quem invocou o método; A violação de uma pós-condição representa um erro no próprio método. 20 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

21 CT-300 Uma propriedade é colocada na pré-condição ou em uma instrução if no corpo do método, mas nunca em ambas. Isso significa que uma determinada situação deve ficar ou a cargo do cliente do método ou do próprio método. 21 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

22 CT-300 Invariante define as propriedades que devem ser válidas em todos os estados válidos dos objetos de uma determinada classe. A invariante deve ser satisfeita logo após a criação do objeto de uma classe, ou seja, seus construtores devem estabelecer a invariante. Todo método deve garantir que a invariante seja preservada após a sua execução. 22 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

23 CT-300 No exemplo abaixo podemos verificar a invariante definindo que a variável nome não poderá ser vazio e que a variável idade deve ser maior ou igual a zero. 23 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Design by Contract - DBC

24 CT-300 Agenda 24 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado 1 Introdução 2 Definição do Problema 3 Design by Contract 4 Proposta de Solução 5 Validação

25 CT Visualizamos que os artefatos desenvolvidos no PU em alguns casos não transmitem todas as informações necessárias para o desenvolver. 2.Existem uma grande dificuldade para incorporar formalismo nas definições previamente estabelecidas. 25 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Proposta de Solução

26 CT-300 Permitindo que esses dois paradigmas anteriormente citados sejam quebrados este trabalho propõe que incorporemos informações durante o desenvolvimento dos artefatos no processo unificado de forma a: 26 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Proposta de Solução

27 CT Diminuir as possíveis falhas na codificação de sistemas por falta de clareza na definição dos requisitos. 27 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Proposta de Solução 2.Diminuir a dificuldade na criação e incorporação de um processo formal de definição de requisitos.

28 CT Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Proposta de Solução

29 CT-300 Agenda 29 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado 1 Introdução 2 Definição do Problema 3 Design by Contract 4 Proposta de Solução 5 Validação

30 CT-300 Com a finalidade de verificar os aspectos levantados neste trabalho e aplicados no desenvolvimento de soluções biométricas, será aplicado em alguns grupos de trabalho o desenvolvimento da solução utilizando diferentes aspectos. Para alguns grupos será disponibilizado a analise de requisitos baseados no PU enquanto para outros grupos será apresentado uma especificação baseada nas informações deste trabalho, isto é, o PU incluindo-se artefatos refinados através do uso de contratos. 30 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Verificação

31 CT-300 As seguintes métricas serão aplicadas para medir o desempenho de cada grupo: 1.Precisão nas estimativas do projeto. 2.Qualidade do Produto. 3.Otimização do código produzido. 4.Performance do produto final. 5.Dificuldade na codificação. 6.Volume necessário de testes. 31 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Verificação

32 CT Uma Abordagem de Inclusão de Design by Contract no Processo Unificado Verificação Avaliação de Processos de Software Baseada em Medições Augusto Gomes, Kathia Oliveira, Ana Regina Rocha COPPE/UFRJ - Programa de Engenharia de Sistemas e Computação XV Simpósio Brasileiro de Engenharia de Software

33 CT-300 Bibliografia [ADL, 1965] ADLER, F. H. Physiology of the eye. St. Louis, MO: Mosby, 1965 [DAU, 2004a] DAUGMAN, John. How iris recognition works. IEEE Trans. CSVT, [DAU 2004b] DAUGMAN, John. Recognizing persons by their iris patterns. Circuits and Systems for Video Technology, IEEE Transactions, [FER, 1999] FERREIRA, Aurélio B.H.. O Novo Dicionário Aurélio – Século XXI. Ed. Nova Fronteira: 1999 [FIO, 2000] FIORESE, Mauricio. Uma proposta de Autenticação de Usuários para o Ensino a Distância. Dissertação apresentada ao programa de mestrado em Ciência da Computação da Universidade do Rio Grande do Sul orientada pela Profa. Dra. Liane M. R. Tarouco Disponível em: 33 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

34 CT-300 Bibliografia [GOL, 1999] GOLLMANN, Dieter. Computer Security. Wiley:1999 – ISBN [MEY, 1992] MEYER, B. Applying Design by Contract [MEY, 1997] MEYER, B. Object Oriented Software Constructor. Prentice Hall, 2 edition [MEY, 2003] MEYER, B. A Conversation with Bertrand Meyer, Part II by Bill Venners [MIT, 2002] MITCHELL, R. MCKIM, J. Design by Contract, by Example. Addison- Wesley [SIL, 2005] SILVA Jr, R. D. Design by Contract com JML. JAI Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

35 CT-300 Eduardo Silvestri Dúvidas 35 Uma Abordagem de Inclusão de Design by Contract no Processo Unificado


Carregar ppt "Uma abordagem de Inclusão de Design by Contract no Processo Unificado Eduardo Silvestri Prof. Orientador Dr. José Maria."

Apresentações semelhantes


Anúncios Google