1 / 26

Engenharia de Software I

Engenharia de Software I. Processo Sala Limpa. Mirian Ellen de Freitas Sandro Danilo Gatti. Set/2004. 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.

gil-cain
Download Presentation

Engenharia de Software I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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.

  5. 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)

  6. 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.

  7. 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.

  8. 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

  9. Cleanroom Management Processes Processo Produtos

  10. Cleanroom Specification Processes Processo Produtos

  11. Cleanroom Development Processes Processo Produtos

  12. Cleanroom Certification Processes Processo Produtos

  13. Fluxo entre os processos [SEI]

  14. BSS BSS BSS FD FD FD CV CV CV CG CG CG CI CI CI SUT SUT SUT C C C TP TP TP Incremento 1 SE RG Incremento 2 RG Incremento 3 RG Modelo de Processo Sala Limpa • 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)

  15. 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.

  16. 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).

  17. 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.

  18. Especificação Congelada Estabelecer requisitos Formalizar a especificação Desenvolver incremento Entregar o software Pedido de mudança de requisitos Atividades de controle de configuração • A configuração segue os preceitos do cliclo de desenvolvimento incremental.

  19. Testes 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. certificação

  20. 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.

  21. 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]

  22. 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.

  23. 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.

  24. 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

  25. 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.

  26. 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.

More Related