Especificação Formal. Especificação no Processo de Software



Documentos relacionados
Capítulo 10. Especificações Formais

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

De Arte a Ciência: Regras para o Desenho de Software

Engenharia de Software

Indicadores Gerais para a Avaliação Inclusiva

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

CASO DE ESTUDO SOBRE SIG

Norma Interpretativa 2 Uso de Técnicas de Valor Presente para mensurar o Valor de Uso

Gerenciamento de Requisitos

CAPÍTULO V CONCLUSÕES, IMPLICAÇÕES E SUGESTÕES

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Características do texto Académico-Científico

UFCD 8 Controlo e armazenagem de mercadorias Carga horária 50 horas ARMAZENAGEM DAS MERCADORIAS

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

PROGRAMA DE ACÇÃO COMUNITÁRIO RELATIVO À VIGILÂNCIA DA SAÚDE. PROGRAMA DE TRABALHO PARA 2000 (Nº 2, alínea b), do artigo 5º da Decisão nº 1400/97/CE)

Referenciais da Qualidade

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Sistemas de Ficheiros. Sistemas de Bases de Dados

Orientações para desenvolver uma Política de DPC Provas requeridas para a acreditação Acrescentando valor: conjunto de boas práticas

Ministério da Administração do Território

Unidade II MODELAGEM DE PROCESSOS

MODELAGEM DE SISTEMA Apresentação

Introdução à Programação. João Manuel R. S. Tavares

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES

GM IMOBILIZADO. O parceiro ideal nas tecnologias de Informação. O GM Imobilizado é a solução para a eficaz gestão do Imobilizado de uma organização.

Sistemas de Gestão da Qualidade

Dossiê de Preços de Transferência

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

INSTRUTIVO N.º xx/20xx de xx de xxxx

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

Trabalhos Extracurriculares. grids.web.ua.pt. GRIDS Trabalhos extracurriculares e Áreas temáticas 2015/2016 1

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

IV Fórum do Sector Segurador e Fundos de Pensões. Lisboa, 15 de Abril de 2009

UNIÃO EDUCACIONAL DO NORTE UNINORTE AUTOR (ES) AUTOR (ES) TÍTULO DO PROJETO

Engenharia de aplicações web

Workshop sobre Empreendedorismo

EMENTAS DAS DISCIPLINAS

Unidade I Conceitos BásicosB. Conceitos BásicosB

A EVOLUÇÃO DOS PRODUTOS NA INDÚSTRIA TRANSFORMADORA

CONSIDERAÇÕES DE QC PARA TESTES POINT-OF-CARE Tradução literal *Sarah Kee

Inovação em sistemas de informação aplicada ao apoio do cliente de retalho

IBM Unica Histórico da Interação Attribution Modeler Versão 1 Release 0 15 de maio de Tabelas de Sistema do

O Comité Nacional de Coordenação (CNC) espera que o Programa ART PAPDEL alcance os seguintes resultados:

Código Europeu de Boas Práticas para Contratos de Desempenho Energético. 2ª Versão DRAFT

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Marketing Pessoal. aumentem de valor.

2 Engenharia de Software

Invenções Implementadas por Computador (IIC) Patentes

ARQUITECTURAS DE SOFTWARE

EGEA ESAPL - IPVC. Orçamentos Anuais Parciais de Actividade

HOTELARIA SOLUÇÃO PARA O CONTROLO DA LEGISLAÇÃO. Destinatários. Benefícios

Figura 5 - Workflow para a Fase de Projeto

3 Trabalhos relacionados

Factores de produção

X CONGRESSO DOS REVISORES OFICIAIS DE CONTAS. 1.ª Sessão Supervisão do sistema financeiro

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

PRINCÍPIOS PARA DISPOSIÇÕES SOBRE PROPRIEDADE INTELECTUAL EM ACORDOS BILATERAIS E REGIONAIS

Banco de Dados Orientado a Objetos

FEUP RELATÓRIO DE CONTAS BALANÇO

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Gestão da inovação A avaliação e a medição das actividades de IDI

Centro de Incubação de Negócios para os Jovens

FICHA DOUTRINÁRIA. Processo:

Síntese da Conferência

LEAN OFFICE - ELIMINANDO OS DESPERDÍCIOS NAS ATIVIDADES ADMINISTRATIVAS

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Inovações Tecnológicas Prof. Dr. Umberto Klock. AT086 Gestão de Projetos

Plano Nacional de Saúde e as. Estratégias Locais de Saúde

Especificação Formal de Software

NCRF 19 Contratos de construção

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Melhoria da Qualidade e Redução de Custos

Anexo 2 - Avaliação de necessidades de formação em H.S.T.

A gestão da implementação

Curso de Especialização Tecnológica em Aplicações Informáticas de Gestão (CET-AIG)

Modelos de Desenho Curricular

ADN. Ficha de Trabalho. 1 - Identifique algumas das aplicações das análises de ADN?

GUIA DE PROJECTO INTEGRADO PARA O CLIENTE VERSÃO FINAL

Empresas Responsáveis Questionário de Sensibilização

Os Conceitos Fundamentais da Excelência

Módulo 2 Análise de Grupos de Interesse

NOVA CONTABILIDADE DAS AUTARQUIAS LOCAIS

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

4 Metodologia e estratégia de abordagem

UNESCO Brasilia Office Representação da UNESCO no Brasil Uma nova política para a sociedade da informação

Inovação. Desenvolvimento Sustentado da Inovação Empresarial

Escola Secundária c/ 3º ciclo do Fundão. Palavras-chave: transição, instrução, empenhamento motor, exemplificação, comunicação.

Planificação de. Aplicações Informáticas B

ANÁLISE DO MERCADO DE REMESSAS PORTUGAL/BRASIL

Programação Extrema. Luis Fernando Machado. Engenharia de Software

Modelos de Processo (métodos)

CÂMARA MUNICIPAL DE MOURA

AMBIENTE São os locais onde estão localizadas as estruturas e apresentam complexo contexto, caracterizados por mudanças e por uma multiplicidade de

Curso Técnico em Informática Organização Curricular. A carga horária total dos módulos é oferecida conforme quadro síntese abaixo:

Transcrição:

Especificação Formal Técnicas para a especificação não ambígua de software Objectivos Explicar o lugar da especificação formal de software no processo de software Explicar quando a utilização de especificação formal é vantajosa d ponto de vista dos custos Descrever o modelo de processo baseado na transformação das especificações formais num sistema executável 1 Especificação no Processo de Software A especificação e a concepção estão inextrincavelmente interligados A concepção arquitectural é essencial para estruturar a especificação As especificações formais são expressas em notação matemática com vocabulário definido com precisão, sintaxe e semânticas 2

Especificação e Concepção Increasingcontractor involvement Decreasing client involvement Requirements definition Requirements Architectural design Software High-level design Specification Design 3 Especificação no Processo de Sofware Requirements Formal Requirements definition High-le vel design System modelling Architectural design 4

Especificação Formal em Avaliação As técnicas formais não são largamente utilizadas no desenvolvimento de software à escala industrial Dada a relevância da matemática em outras disciplinas ligadas à engenharia, porquê esta situação? 5 O Porquê da sua não Utilização? Conservadorismo inerente da gestão. É difícil de demonstrar as vantagens da especificação formal de uma forma objectiva Muitos engenheiros não têm treino nas matemáticas discretas necessárias à especificação formal Os clientes do sistema podem ser relutantes em financiar as actividades de especificação Algumas classes de software (particularmente sistemas interactivos e sistemas concorrentes) são difíceis de especificar utilizando técnicas correntes 6

O Porquê da sua não Utilização? Há uma ignorância em larga escala da aplicabilidade das especificações formais Há pouco suporte de ferramentas disponíveis para notações formais Alguns cientistas da computação que são familiares com métodos formais têm falta de conhecimento dos problemas do mundo real aos quais eles podem ser aplicados e então empregam a técnica em sistemas não reais, de que não se encontra aplicabilidade. 7 Vantagens da Especificação Formal Proporciona discernimento nos requisitos de software e sua concepção As especificações formais podem ser analisadas matematicamente e a consistência e a perfeição aliada à integralidade da especificação demonstrada. Pode ser possível provar que a implementação corresponde à especificação As especificações formais podem ser utilizadas para guiar o pessoal encarregado dos testes dos componentes na identificação dos casos de teste apropriados As especificações formais podem ser processadas utilizando ferramentas de software. Pode ser possível animar especificação para proporcionar um protótipo do software 8

Sete mitos do métodos formais Software perfeito resulta dos métodos formais Sem sentido - a especificação formal é um modelo do mundo real e pode incorporar incompreensões, erros e omissões. Contudo, uma abordagem formal é efectiva dado que faz com que os erros de especificação sejam mais fáceis de detectar e podem constituir uma base não ambígua para concepção do sistema. Métodos formais significam proporcionar programas Especificar formalmente um sistema é valioso sem verificação formal do programa dado que força uma análise detalhada prematura no processo de desenvolvimento Métodos formais só podem ser justificados em sistemas onde a segurança é um factor critico A experiência industrial sugere que os custos de desenvolvimento para todas as classes de sistemas diminuem se for utilizada a especificação formal 9 Sete mitos do métodos formais Métodos formais são para matemáticos Sem sentido. Só matemática simples é necessária. Métodos formais aumentam os custos de desenvolvimento Não provado. Contudo, o padrão de custos é alterado, com mais custo em fases iniciais do processo de software. Os clientes não podem compreender as especificações formais Podem, se as especificações estiverem parafraseadas em linguagem natural ou por animação de especificações. Métodos formais só foram ainda utilizados em sistemas triviais Há agora muitos exemplos publicados de experiências com métodos formais em sistemas não triviais. 10

O Veredicto! As razões invocadas para a não utilização de métodos e especificações formais são fracas e de natureza não técnica. Contudo, há boas razões para a não utilização desses métodos, derivadas das alterações havidas no mercado e da prática em engenharia de software A migração para sistemas interactivos. As técnicas de especificação formal não abrangem de forma efectiva especificação com interface gráfica O sucesso de métodos de engenharia de software no processo de concepção e desenvolvimento. O investimento em outras técnicas de engenharia de software pode revelar-se mais vantajosa do ponto de vista relação custos-proveitos 11 Utilização dos Métodos Formais Estes métodos não deverão ser largamente utilizados num futuro previsível. De igual forma não se revelarão vantajosos na relação custos-proveitos para a maioria de classes de sistemas (ex. sistemas interactivos e de negócio) Tornar-se-ão a abordagem normal ao desenvolvimento de sistemas onde a segurança, fiabilidade sejam críticos e na definição de standards, eu devem ser não ambíguos e precisos Isto irá alterar o padrão de custos ao longo do processo do software 12

Custos de Desenvolvimento com Especificação Formal Cost Validation Design and Implementation Validation Design and Implementation Specification Specification Without formal With formal 13 Abordagens de Especificações Formais Abordagem algébrica O sistema é descrito em termos das operações e os seus relacionamentos Abordagem baseada em modelos Um modelo para o sistema actua como uma especificação. Este modelo é construído utilizando entidades matemáticas bem conhecidas tais como conjuntos e sequências 14

Linguagens de Especificação Formal Sequential Algebraic Larch (Guttag et al., 1985), OBJ (Futatsugi et al., 1985) Model-based Z (Spivey, 1989) VDM (Jones, 1980) Concurrent Lotos (Bolognesi and Brinksma, 1987), CSP (Hoare, 1985) Petri Nets (Peterson, 1981) 15 Pontos Chave A especificação formal do sistema complementa as técnicas informais de especificação As especificações formais são precisas e não ambíguas. Eliminam áreas de dúvida numa especificação A especificação formal força a uma análise dos requisitos do sistema numa fase prematura. A correcção dos erros nessa fase é mais barato do que modificar um sistema já entregue As técnicas de especificação formal não são vantajosas do ponto de vista da relação custos-proveitos, no desenvolvimento de sistemas interactivos. São mais aplicáveis no desenvolvimento de sistemas de segurança crítica e standards. 16