engenharia de software i processo sala limpa set/2004 mirian ellen de freitas sandro danilo gatti

26
Engenharia de Software I Processo Sala Limpa Set/ 2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Upload: internet

Post on 17-Apr-2015

169 views

Category:

Documents


51 download

TRANSCRIPT

Page 1: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Engenharia de Software I

Processo Sala Limpa

Set/2004

Mirian Ellen de Freitas

Sandro Danilo Gatti

Page 2: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Roteiro Introdução Diferenças entre métodos convencionais Por não ganhou ampla utilização Fases do processo Gerenciamento do projeto Controle de qualidade Manutenção Conclusões

Page 3: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Introdução Proposto nos anos 1980 por Mill,

Dyer e Linger Baseado em matemática Orientado a equipes Voltado ao desenvolvimento e

certificação de software de alta confiabilidade

Page 4: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Introdução (cont.) Especificação Formal. Ciclo de vida incremental de

desenvolvimento. Programação estruturada. Verificação de qualidade de produto

através de testes estatísticos independentes.

Construção de um sistema de software que exiba zero falhas durante seu uso.

Page 5: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Introdução (cont.)

Usado em desenvolvimento de software na indústria e em organizações como NASA e DoD, com os seguintes resultados [SEI]: Aumento da qualidade Aumento de produtividade de

desenvolvimento Alto ROI (return-on-investment)

Page 6: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Principais diferenças em relação a outros métodos

Segundo Pressman [PRE], o que torna o Sala Limpa diferente de outros métodos é: Uso explícito de controle estatístico de

qualidade;

Verificação de especificação de projeto usando provas baseadas em matemática;

Uso enfático de testes estatísticos para descobrir erros de alto impacto.

Page 7: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Porque ainda não ganhou ampla utilização

Crença de que é uma metodologia muito teórica, matemática e radical para o desenvolvimento de software;

A substituição de testes unitários por verificação de correção e controle estatístico de qualidade é muito diferente do método costumeiramente empregado pelos desenvolvedores de software;

A indústria de software ainda não possui um nível de maturidade ideal para aplicar o processo Sala Limpa.

Page 8: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Fases do Processo O processo Sala Limpa é composto

por 4 grandes processos (funções), cada qual com suas fases: Cleanroom Management Processes Cleanroom Specification Processes Cleanroom Development Processes Cleanroom Certification Processes

Page 9: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Cleanroom Management Processes

Processo Produtos

Project Planning Process Cleanroom Engineering Guide Software Development Plan

Project Management Process Project Record

Performance Improvement Process

Performance Improvement Plan

Engineering Change Process Engineering Change Log

Page 10: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Cleanroom Specification Processes

Processo Produtos

Requirements Analysis Process

Software Requirements

Function Specification Process

Function Specification

Usage Specification Process

Usage Specification

Architecture Specification Process

Software Architecture

Increment Planning Process

Increment Construction Plan

Page 11: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Cleanroom Development Processes

Software Reengineering Process

Reengineering Plan

Reengineered Software

Increment Design Process

Increment Design

Correctness Verification Process

Increment Verification Report

Processo Produtos

Page 12: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Cleanroom Certification Processes

Usage Modeling and Test Planning Process

Usage Models

Increment Test Plan

Statistical Test Cases

Statistical Testing and Certification Process

Executable System

Statistical Testing Report

Increment Certification Report

Processo Produtos

Page 13: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Fluxo entre os processos

[SEI]

Page 14: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Modelo de Processo Sala Limpa

SE

RG

Incremento 1

Incremento 2

Incremento 3

RG

RG

BSS FD CV CG CI

TP

SUT C

BSS FD CV CG CI

TP

SUT C

BSS FD CV CG CI

TP

SUT C

•CG (geração de código)•CI (inspeção de código)•SUT (teste estatístico de uso)•C(certificação)•TP (planejamento de Teste)

•SE (engenharia de sistemas)•RG (coleta de requisitos)•BSS (especificação de estrutura de blocos)•FD (projeto formal)•CV (verificação de correção)

Page 15: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Diretrizes para o gerenciamento do projeto Baseado em equipes (de

especificação, de desenvolvimento e de certificação), compostas de seis a oito pessoas, trabalhando e forma disciplinada.

Em projetos pequenos, os indivíduos podem trabalhar em várias equipes.

Em projetos grandes, pode-se obter equipes de equipes.

Page 16: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Diretrizes para o gerenciamento do projeto (cont)

Cada equipe é composta elementos com papéis de especificação, desenvolvimento, gerenciamento e certificação.

O gerente de projeto de software é o responsável pelo processo em geral.

Há ainda os papéis engenheiro chefe de especificação (Specification

Process) engenheiro chefe de projeto/desenvolvimento

Development Process (design) engenheiro chefe de certificação (Certification Process).

Page 17: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Atividades de controle de qualidade do Processo - CMM Segundo exposto em [SEI2], CMM e Sala

Limpa são tecnologias complementares. Podem ser utilizados outros modelos de

qualidade, porém não se consegue aplicar o processo com processo de desenvolvimento empírico.

Page 18: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Atividades de controle de configuração A configuração segue os preceitos

do cliclo de desenvolvimento incremental.

Estabelecer requisitos

Formalizar a especificação

Desenvolver incremento

Entregar o software

Especificação Congelada

Pedido de mudança de requisitos

Page 19: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Atividades de controle de qualidade do Produto - Certificação

Envolve 5 passos: Cenários de uso devem ser criados; Um perfil de uso é especificado; Casos de teste são gerados a partir do

perfil; Testes são executados e dados de falhas

são registrados e analisados; A confiabilidade é calculada e certificada.

Testes

certificação

Page 20: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Atividades de controle de qualidade do Produto - Testes Modelos de uso + probabilidades de

ocorrência Casos de teste são gerados aleatoriamente a

partir dos modelos de uso. Medidas estatísticas da confiabilidade

/fidedignidade (reliability) são computadas baseadas no resultados dos testes.

Se uma longa seqüência de testes é conduzida sem falha, o tempo médio de falhas (MTTF) é baixo e a confiabilidade do software pode ser considerada alta.

Page 21: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Atividades de controle de qualidade do Produto - Testes Estímulo do Programa Probabilidade Intervalo Armar/Desarmar (AD) 50% 1-49 Ativar zona (ZS) 15% 50-63 Consulta (Q) 15% 64-78 Teste (T) 15% 79-94 Alarme de pânico 5% 95-99

13-94-22-24-45-56 AD-T-AD-AD-AD-ZS

81-19-31-69-45-9 T-AD-AD-Q-AD-AD

38-21-52-84-86-4 AD-AD-ZS-T-T-AD

[PRE]

Page 22: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Atividades de controle de qualidade - Certificação Ao final do teste estatístico de uso

os registros produzidos são combinados com esses modelos de amostragem, de componentes e de certificação para permitir o cálculo matemático da confiabilidade projetada para o componente de software.

Page 23: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Atividade de manutenção Manutenção da especificação do sistema; Correções realizadas a partir de

feeedbak do cliente para equipe de desenvolvimento que solicita nova versão do incremento.

Combinação de novos incrementos com os já existentes.

Teste de todos os incremento integrado Teste de regressão do incrementos anteriores.

Page 24: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Conclusões Abordagem diferentes das

convencionais Software com baixo índice de erros Testes estatísticos Diferentes domínios de aplicação Orientado a equipes Metodologia complementar a CMM

Page 25: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Referências

[PRE] R.S.Pressman. “Software Engineering. A Practitiner’s Approach”. 5ª edição, 2002, cap. 26.

[SOM] I. Sommerville. “Software Engineering”. 6ª ed, 2003, cap 19.4

[SEI] Relatório de Referência. http://www.sei.cmu.edu/pub/documents/96.reports/pdf/tr022.96.pdf. Acessado em 10/09/2004

[SEI2] http://www.sei.cmu.edu/str/descriptions/cleanroom_body.html. Acessado em 10/09/2004.

Page 26: Engenharia de Software I Processo Sala Limpa Set/2004 Mirian Ellen de Freitas Sandro Danilo Gatti

Sítios visitados http://www.cleansoft.com. Sítio com vários

artigos interessantes . Acessado em 10/09/2004 http://www.rspa.com/spi/-- SITE COM

REFERÊNCIAS - Acessado em 12/09/2004. http://www.rspa.com/spi/cleanroom.html -- SITE

COM TUTORIAIS http://www.cc.gatech.edu/classes/cs3302_99_

summer/slides/cleanroom/ - tutoriais - Acessado em 12/09/2004.

http://www.uta.edu/cse/levine/fall99/cse5324/cr/clean/page.html - tutoriais - Acessado em 12/09/2004.