Uma abordagem de Inclusão de Design by Contract no Processo Unificado

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software Prof ª. Isabel Sofia de Brito Prof ª. Maria Fernanda Pedro.
Advertisements

Listas Encadeadas Circulares Listas Duplamente Encadeadas
Listas Encadeadas Circulares Listas Duplamente Encadeadas
Crescimento Econômico Brasileiro : Uma Visão Comparada de Longo Prazo Prof. Giácomo Balbinotto Neto UFRGS.
Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
PROGRESSÃO ARITMÉTICA P.A.
Técnicas e Projeto de Sistemas
Técnicas e Projeto de Sistemas
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Custos XP x Custos Tradicionais André Chinvelski.
XP x CMMI Programação Radical Prof. Luiz Fernando Melgarejo João de Amorim Junior.
Críticas sobre Extreme Programming Francisco Hillesheim.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 1 Uma Ferramenta Orientada a Modelos para Geração de Aplicações.
Treinamento GP3 USP – GEFIM Abril de 2004 Alcides Pietro, PMP.
Prof. Dr. Helder Anibal Hermini
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Teste Estrutural de Software
Teste Funcional de Software
SECRETARIA DA EDUCAÇÃO E CULTURA x Fechar Avançar Secretaria da Educação e Cultura Maria Auxiliadora Seabra Rezende Governo do Estado do Tocantins Marcelo.
Webcast Gestão da Manutenção Histórico de Aplicações e Manutenções.
Mais sobre classes Baseada no Livro: Deitel&Deitel - C++ How To program Cap. 7 Prentice Hall 1994 SCE 213 Programação Orientada a Objetos, ICMC - USP 2.
O Fluxo de Testes © Alexandre Vasconcelos
1 Rejane Ramos Uma Estrutura para Protocolos Maleáveis de Roteamentos na Internet CURITIBA 2004 Trabalho apresentada à Disciplina de Comunicação de Dados.
Planejando seu site Objetivos Abordagem Sílvia Dota.
Metodologias de Construção de Sites
Curso de Engenharia Industrial Madeireira – UFPR Prof. Umberto Klock
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
Capitulo 3 Técnicas de Diagnóstico CT-282 Tutores Inteligentes Diego Ajukas.
Adriana da Silva Jacinto CT-282 Prof. Dr.Parente Técnicas de diagnóstico 1º semestre 2005.
ITA - Instituto Tecnológico de Aeronáutica Aula #1.1 – Tutorial de Web Services utilizando o NetBeans 5.5 Disciplina: CE 262 – Ontologias e Web Semântica.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira Sala 120 – Prédio da Computação Lógica de Descrições.
Probabilidade Modelo matemático para incerteza Desenvolvimento relativamente recente –Cardano (século XVI) –Pascal (século XVII) Peter Bernstein, Against.
III – Uso Infraestrutura – Empresa Digital Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas Aplicações.
I – Informação Digital – Tema de Discussão Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas Aplicações.
I – Informação Digital – Trabalho Grupo Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP-018 – O Produto Internet e suas Aplicações.
Modelos de Iluminação e Tonalização
Curso Técnico em Informática La Salle - Canoas
SECRETARIA DE CIDADANIA CULTURAL. ATUALIZAÇÃO DO PROGRAMA CULTURA VIVA JANEIRO/2012.
A Importância da Computação Científica Profa. Dra. Marli de Freitas Gomes Hernandez UNIVERSIDADE ESTADUAL DE CAMPINAS CENTRO.
M e d A d m i n. Quem é o público alvo da ideia? Profissionais vinculados à área da saúde, em particular, àqueles responsáveis pela administração de medicamentos,
Representações na base decimal e binária
Sistemas Lineares Parte 2
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
Estágio Supervisionado Aluno: Felipe Pinto Coelho Palma
Recursividade Estrutura de Dados.
The Data Warehouse Toolkit
WOntoVLab: Uma Arquitetura para Laboratórios Virtuais Baseada em Workflows e Ontologias Aluno: Daniel Cintra Cugler Orientadora: Profª. Dra. Marilde T.
Frações Professor: Graciano Pianezzer Beletti.
Otimização Aplicada ao Dimensionamento e Operação de Reservatórios
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Silva, Ribeiro, Dias, Sousa Desenho Técnico Moderno MAIS PROJECTOS TIPO EM CAD © LIDEL EDIÇÕES TÉCNICAS 1 Desenho Técnico Moderno Capítulo 15 – Mais Projectos.
SECRECRETARIA DE ESTADO DE PLANEJAMENTO E CORRDENAÇÃO GERAL CAPACITAÇÃO PARA ELABORAÇÃO PTA/LOA Cuiabá, 21 de junho de 2004.
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
INPE / CAP-334 Celso L. Mendes Aula 4-D(1) Reestruturação de Programas em Sistemas Vetoriais (II) Tópicos: Suporte à Paralelização Vetorização.
1 Seja o resultado de um experimento aleatório. Suponha que uma forma de onda é associada a cada resultado.A coleção de tais formas de ondas formam um.
8. Uma Função de duas Variáveis Aleatórias
Object Oriented Software Construction (MEYER, Bertrand)
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Salas de Matemática.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
SairPróximo Itens de Seleção Probabilidades e Combinatória Cálculo de Probabilidades. Regra de Laplace. ITENS DE SELEÇÃO DOS EXAMES NACIONAIS E TESTES.
SairPróximo Itens de Seleção Probabilidades e Combinatória Cálculo Combinatório. Problemas de Contagem. ITENS DE SELEÇÃO DOS EXAMES NACIONAIS E TESTES.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Administração e Exploração Avançada de Bases de Dados Mestrado em Engenharia de Sistemas Braga, 2014.
Rio Verde - Goiás - Brasil
Transcrição da apresentação:

Uma abordagem de Inclusão de Design by Contract no Processo Unificado Eduardo Silvestri silvestri@eduardosilvestri.com.br Prof. Orientador Dr. José Maria Parente de Oliveira

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

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

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). Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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

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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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

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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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). Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

Design by Contract - DBC 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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

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

Proposta de Solução 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: Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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

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

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

Verificação 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. Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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

Avaliação de Processos de Software Baseada em Medições 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 agomes@cos.ufrj.br XV Simpósio Brasileiro de Engenharia de Software Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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, 2004.   [DAU 2004b] DAUGMAN, John. Recognizing persons by their iris patterns. Circuits and Systems for Video Technology, IEEE Transactions, 2004. [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. 2002. Disponível em: http://www.cleber.com.br/ufrgspes.htm Uma Abordagem de Inclusão de Design by Contract no Processo Unificado

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

Dúvidas www.eduardosilvestri.com.br Eduardo Silvestri silvestri@eduardosilvestri.com.br Uma Abordagem de Inclusão de Design by Contract no Processo Unificado