Beja, Instituto Superior de Tecnologia e Gesto 28-11-2005 O que o Cleanroom? Mtodo de Cleanroom Cleanroom e o CMM ( Capability Maturity Model ) Case Studies Object Oriented Software Enginnering and Cleanroom Mudar a organizao Mitos e realidades em volta do Cleanroom Crticas Sumrio e reviso do Cleanroom SE O Cleanroom combina mtodos formais de requisitos e desenho com uso no teste estatstico para produzir software com quase ou nenhum defeito.
O desenvolvimento de software segue alguns modelos:
Um modelo muito mau mas muito comum o code fix ou o Design at the Keyboard. Isto faz com que o programador descubra o que um programa tem de fazer, tem de algoritmos, tem de criar dados e tem de escrever o cdigo, tudo ao mesmo tempo. Uma srie de trabalhos, tudo a ser desenvolvido ao mesmo tempo. muito complicado. O que o Cleanroom? Alguns dos processos que constituiem o Cleanroom so:
Anlise de Requisitos: Produzindo e revendo especificaes informais. Desenho de alto nvel: Convertendo o requisito em mquinas de estado e funes Desenho detalhado: Refinamento das funes Codificao por incremento: Desenvolver cdigo e verificar o mesmo usando mtodos informais. Compilar cdigo ou efectuar teste s unidades proibido. Pr-teste: por incremento: Gerao de casos de teste. Teste estatstico por incremento: O cdigo compilado, linkado e testado. Os resultados so validados. Passos para o Mtodo Cleanroom O modelo CMM descreve a organizao dos processos de software desde catico, ad hoc ao disciplinado. Acontece tambm para processos j em elevada fase de desenvolvimento. Existem 5 nveis no CMM. Os nveis de maturidade so definidos no KPA ( Key Process Area). O cleanroom tem como intuito a aplicao de disciplina ao software desenvolvido e complementar ao CMM. Para cada nvel CMM, as KPAs so revistas para o processo Cleanroom correspondente. CMM (Capability Maturity Model ) Nvel 1: Nenhum! (No existem processos para o Cleanroom e Ad hoc)
Nvel 2: Todas as KPAs. Tem alta correspondncia mas assegurada a qualidade do software.
Nvel 3: Todas as KPAs. Alta correspondncia
Nvel 4: Todas as KPAs. Alta correspondncia
Nvel 5: Todas as KPAs. Alta correspondncia; Mas KPA de Mudana de Tecnologia. CMM (Capability Maturity Model ) O Cleanroom SE(Software Engeneering) no tem uma longa histria de uso como outros modelos tm. No entanto existem vrios projectos que reportaram a sua experincia com o CSE.
Um exemplo o STARS que um programa usado pelo Departamento da Defesa dos Estados Unidos de pesquisa e desenvolvimento fundado pela ARPA ( Advanced Research Projects Agency )
Determinaram que a filosofia de gesto de qualidade ( pr decises nas mos dos trabalhadores, focando assim os processos, medidas quantitativas ) so criticas e que o Cleanroom SE segue essa filosofia. Case Studies No Cleanroom, o uso de objectos o principal objectivo.
Todos os Objectos tm uma especificao que comea com a black-box view ( abstraco de comportamentos)
A Black-box contm: Abstraco de processos ( abstraco de procedimentos). Abstraco de dados.
Um objecto encapsulado no como um processo. Contm dados ou estados histricos do objecto. Isto faz com que a funo de especificao se torne mais difcil, mas pode ser tratada como uma histria estimulante ( tal como adicionar itens a uma base de dados). Object Oriented Software Enginnering and Cleanroom Por que razo haveria a organizao de adoptar a abordagem do Cleanroom quando com o mesmo trabalho poderiam usar a sua estratgia de SE? Os mtodos tradicionais de desenvolvimento de software so j to usuais em tanto software desenvolvido nas organizaes que o processo de descobrir bugs nas aplicaes j visto como normal A organizao que pretende adoptar o Cleanroom tem de estar preparado para uma mudana radical ou como diria o Dr Harlan Mills adoptar uma filosofia sem erros na cultura da empresa. Uma vez que o principal objectivo do Cleanroom prevenir erros, o produto final um produto praticamente sem erros com um certificado de fiabilidade cientifica. Isto faz com que baixe o preo de produo e manuteno de um produto produzido em grande escala. Mudar a Organizao Mito: O Cleanroom ir substituir as tcnicas SE existentes. O Cleanroom utiliza muitas das prticas existentes e, ao contrrio do que dizem as crticas, no suposto substituir todas as tcnicas existentes do SE.
Mito: O Cleanroom um conjunto de prticas e princpios ortodoxos. No existem princpios e prticas ortodoxas no Cleanroom Os programadores ajustam o Cleanroom de modo a que sirva para o projecto especfico no qual esto a trabalhar no entanto, os princpios fundamentais do Cleanroom mantm-se iguais seja qual for o projecto. Mitos e Realidades em volta do Cleanroom Estes princpios apontam para um nmero de praticas especficas em que a nica regra que estas praticas fiquem nos limites dos princpios fundamentais.
Adequando o Cleanroom de acordo com a necessidade vital para o sucesso do projecto. Mitos e Realidades em volta do Cleanroom Em 1997, Beizer desafiou algumas das queixas feitas pelos apoiantes do Cleanroom, particularmente com a eliminao da unidade de testes.
Ele chegou concluso que era claramente uma contradio teoria de testes conhecida e o senso comum e que era impossvel encontrar um bug sem compilar cdigo.
Ele indica tambm que o Cleanroom nunca medido contra: Testes feitos por cumprir os objectivos Testes feitos por engenheiros de software treinados nas tcnicas de testes. Testes realizados por organizaes que usam testes de desenho e tcnicas de testes automticas. Testes de integrao. Criticas Ele pe algumas dvidas na veracidade de alguns estudos que avaliaram o Cleanroom, incluindo o Basili e o Green ( 1994), apontando algumas lacunas nesses testes.
Baizer levantou alguns aspectos importantes que no podem ser ignorados e ensina-nos a ter cuidado em adoptar tcnicas de engenharia de software que supostamente resolvem problemas maiores. Criticas O principal objectivo a alta qualidade do software atravs da preveno de erros.
Os Case Studies mostram que se produz software com um nmero muito reduzido de erros. Os Case Studies tambm mostram uma grande produtividade e moral do grupo.
necessrio grandes mudanas na forma de aproximar o software: Provas de exactido formal e contagem de erros de compilao como erros so duas formas.
Pode ser adaptado para trabalhar com abordagens de estruturas ou mtodos OO, com algumas alteraes. Sumrio de Reviso do Cleanroom Os testes dependem de testes de uso estatstico Um modelo probabilstico de como utilizado; Que produz a certificao de componentes.
necessrio treino e pessoal experiente on-site para ser eficiente ( pelo menos ao inicio).
uma aproximao rigorosa e formal para a engenharia de software que produz software muito fivel que outros mtodos de engenharia de software no conseguem produzir. Sumrio de Reviso do Cleanroom http://www.sei.cmu.edu/str/descriptions/cleanroom.html http://www.cleansoft.com/ http://www.uta.edu/cse/levine/fall99/cse5324/cr/clean/page.html Bibliografia