130 likes | 290 Views
Cleanroom - Software Engineering. ESTIG – Engenharia Informatica Docente Maria Fernanda Pedro Jorge Soares 3769 Ricardo Almeida 3477. Introdução.
E N D
Cleanroom - Software Engineering ESTIG – Engenharia Informatica Docente Maria Fernanda Pedro Jorge Soares 3769 Ricardo Almeida 3477
Introdução • Cleanroom software engineering foi desenvolvido por Dr.Harlan Mills e inicialmente utilizado pela IBM na decada de 80 e utilizado actualmente por por muitas outras empresas, ex:US Army, NASA, Texas Instruments.
O que é Cleanroom ? • Cleanroom software engineering é um sistema que combina vários métodos formais de requisitos e projecto com uma prova estatística de forma a produzir posteriormente software de alta qualidade com poucos ou nenhuns defeitos.
Origem do nome “Cleanroom” • O termo “Cleanroom" tem como origem na industria de electrónica, visto que existiam e existem laboratórios para a fabricação de hardware totalmente limpos para prevenir o aparecimento de hardware defeituoso.
Objectivos do “Cleanroom” • É um sistema que tem como principal objectivo seguir um determinado modelo “waterfall”. Consiste em separar e projectar separadamente requisitos, projectos, codificação e testes.
O que são “Box Structures” • O Método “Box Structures” é usado para efectuar uma descrição pormenorizada e esboço. A verificação funcional é utilizada para confirmar que o projeto é uma implementação correta da descrição. Portanto, a descrição deve ser definida antes do projecto e da verificação funcional.
Tipos de“Box Structures” • Black box - É o modo de conseguir visualizar um determinado objecto mas que não é mostrado nenhuma implementação de dados nem de processos. Neste sistema fica indicado como o sistema responde a estimulos usados numa linguagem especifica.Normalmente organizado em hierarquias de uso. • State Box - É o modo de conseguir visualizar um determinado objecto onde é mostrado apenas a implementação de dados mas não mostra a implementação de processos. Descreve como é efectuada a transformação do estado do objecto. • Clear Box - É o modo de conseguir visualizar um determinado objecto onde é mostrado as duas implementações a de dados e de processos. Com o objectivo de refinar todos os dados e processos e de os corrigir.
Ordem dos passos do “Cleanroom” • A análise de requisitos: produzir e rever “descrições pormenorizadas”. • Projeto de alto nível: converter a analise de requisitos em codigo máquinas • Projeto detalhado: Um aperfeiçoamento das funções já feitas no projecto de alto nivel.
Ordem dos passos do “Cleanroom” (cont) • Programação por Incremento: Desenvolver código e verificar se estão a serutilizados os metodos inicialmente descritos.Compilar código ou testar codigo nesta altura é proibido. • Pré teste por Incremento: gerar casos de teste. • Testes baseados em resultados estatisticos: todo o codigo é compilado, iniciado e testado. Todos os resultados são validados e registados.
Cleanroom e o CMM(Capability Maturity Model) • O modelo CMM descreve a maneira como os processos do software estãoorganizados, desde a forma desorganizada até que o processo esteja concluido. • Existem 5 niveis no CMM começando no nivel 1 e terminando no nivel 5.Um nivel evoluido é definido no KPA (key process area). Cleanroom é intencionado em aplicar disciplina no desenvolvimento de softwareno ramo da engenharia.
Cleanroom e o CMM(cont) • Nível 1: Nenhum! (Não existem processos para o Cleanroom e Ad hoc) • Nível 2: Todas as KPA’s. Tem alta correspondência mas é assegurada a qualidade do software. • Nível 3: Todas as KPA’s. Alta correspondência • Nível 4: Todas as KPA’s. Alta correspondência • Nível 5: Todas as KPA’s. Alta correspondência; Mas KPA de “Mudança de Tecnologia”.
Conclusão • São efectuados testes estatísticos para atribuir uma taxa de alta fiabilidade do sistema. • Antes do codigo começar a ser implementado são efectuadas constantes verificações como primeiro mecanismo de detecção de erros. • Cleanroom Software Engineering é uma forma de desenvolver software de alta qualidade.
Bibliografia • http://www.sei.cmu.edu/str/descriptions/cleanroom.html • http://www.uta.edu/cse/levine/fall99/cse5324/cr/clean/page1.html • Diciopédia 2005