Sumário. Prefácio...14. Capítulo 1 O que é qualidade?...17. Capítulo 2 Normas e organismos normativos...43. Capítulo 3 Métricas: visão geral...



Documentos relacionados
Tipos de teste de software

Qualidade de Software

Fundamentos em Teste de Software. Vinicius V. Pessoni

Qualidade de Software. Profa. Cátia dos Reis Machado

Qualidade de Processo de Software Normas ISO e 15504

Qualidade de Software. Anderson Belgamo

Políticas de Qualidade em TI

Engenharia de Software

Qualidade de Produto de Software


Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Padrões de Qualidade de Software e Métricas de Software

Engenharia de Software

Atividade da gerência da qualidade

ISO Aécio Costa

Qualidade de Software. Aécio Costa

IC-UNICAMP IC-UNICAMP

Padrões de Qualidade de Software

Engenharia de Software na Prática Hélio Engholm Jr.

O que é qualidade? Qualidade de Software (2011.0) Prof. Me. José Ricardo Mello Viana

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Cap a í p t í ul u o l o 8 : 8 C on o c n l c u l s u ã s o IC-UNICAMP Capítulo 8: Conclusão

Qualidade de Software. Prof. Natália Oliveira M.Sc

Fatores humanos de qualidade CMM E CMMI

Engenharia de Requisitos

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Qualidade de software

Professor: Disciplina:

UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Objetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais

Modelos de Qualidade de Produto de Software

Gerenciamento de Serviços de TI na Prática

Qualidade de. Software. Definições. Qualidade do Produto ISO Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

PIM VII e VIII Projeto Integrado Multidisciplinar

Fundamentos de Teste de Software

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

Qualidade de software


Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Universidade Paulista

Manutenção desoftware. SCE 186- Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestrede2002

QUALIDADE DE PRODUTO ISO 9126

GARANTIA DA QUALIDADE DE SOFTWARE

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10)

Charles Sales Bicalho. Orientador: Prof. Dr. Oscar Dalfovo

Conceitos Fundamentais de Qualidade de Software

Requisitos. Sistemas de Informações

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA-UFES Departamento de Computação

Avaliação de Riscos Aplicada à Qualidade em Desenvolvimento de Software

SEGURANÇA E CONTROLE EM SISTEMAS DE INFORMAÇÃO

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

Gerenciando Riscos no Desenvolvimento de Software

ENGENHARIA DE SOFTWARE I

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

Requisitos de Software

Processo de Software

Uma Metodologia para Teste de Software no Contexto da Melhoria de Processo

Fábrica de Software 29/04/2015

Introdução à Engenharia de Software

SEGURANÇA A E CONTROLE EM SISTEMAS DE INFORMAÇÃO

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR

Modelo de Qualidade CMMI

Tecnologia e Sistemas de Informações

Introdução ao Modelo de Referência para melhoria do processo de software (MR mps) Projeto: mps Br melhoria de processo do software Brasileiro

Padrões de Qualidade e Métricas de Software. Aécio Costa

Implantação de um Processo de Medições de Software

Gerenciamento de Qualidade. Paulo C. Masiero Cap SMVL

O uso do gestor de conteúdos plone no suporte a processos de software

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

Qualidade de Software

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Adriano Marum Rômulo. Uma Investigação sobre a Gerência de Projetos de Desenvolvimento de Software em Órgãos do Governo do Ceará com Base no MPS-BR

ANEXO 8 Planilha de Pontuação Técnica

I. Dados Identificadores Tecnologia em Análise e Desenvolvimento de Sistemas

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Engenharia de Software

Qualidade, Processos e Gestão de Software Professores: Alexandre Vasconcelos e Hermano Moura. O Modelo. Wesley Torres Galindo. wesleygalindo@gmail.

Melhoria de Processos CMMi

ANEXO 6 Critérios e Parâmetros de Pontuação Técnica

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Qualidade de Software

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Introdução à Computação

CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas SÉRIE: 3º Semestre TURNO: Noturno DISCIPLINA: ANÁLISE DE SISTEMAS ORIENTADA A OBJETOS

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

EMENTAS DAS DISCIPLINAS

Introdução à Qualidade de Software. Profº Aldo Rocha

QUALIDADE DO SOFTWARE (PRODUTO)

Modelos de Maturidade. Porque estudar um Modelo de Maturidade? Descrevem as características de processos efetivos;

Transcrição:

Prefácio...14 Capítulo 1 O que é qualidade?...17 1.1 História... 17 1.2 Uma crise de mais de trinta anos...20 1.3 Qualidade e requisitos...25 1.4 Papel da subjetividade...27 1.5 Qualidade e bugs I: insetos inofensivos...28 1.6 Um erro é um defeito, uma falha ou bug?... 31 1.6.1 Defeito... 31 1.6.2 Falha...32 1.6.3 Isolar um defeito...33 1.6.4 Estabilizar um programa...34 1.7 Qualidade e bugs II: catástrofes...34 1.7.1 Ariane 501...34 1.7.2 Therac-25...36 1.8 Qualidade e o SWEBOK...37 1.8.1 Fundamentos de qualidade...39 1.8.2 Processos de gerência de qualidade...40 1.8.3 Considerações práticas...40 1.9 Exercícios...41 Capítulo 2 Normas e organismos normativos...43 2.1 Um pouco de história...43 2.1.1 De facto ou de jure?...44 2.2 ISO...45 2.2.1 ISO, IEC e JTC1...46 2.2.2 ABNT...48 2.3 Certificação e adequação...49 2.4 Etapas na criação de uma norma...52 2.5 Quadro de normas...54 2.6 Exercícios...55 Capítulo 3 Métricas: visão geral...56 3.1 Papel dos números...56 3.2 Fontes de ruído...57 3.2.1 Influência do usuário...58 3.2.2 Influência do hardware...59 3.3 Medidas e estimativas... 61 3.4 Caráter estático ou dinâmico... 61 3.5 Caráter qualitativo ou quantitativo...62 3.6 Resultados estatísticos úteis...64

Qualidade de Software 3.6.1 Média...64 3.6.2 Variância e desvio-padrão...65 3.6.3 Teste de Student...66 3.6.4 Histogramas...67 3.6.5 Análise de regressão...68 3.7 Conclusões com base em números...69 3.8 Dados históricos...71 3.9 Exercícios...73 Capítulo 4 Fatores humanos de qualidade...74 4.1 Histórias da vida real... 74 4.1.1 Permissão para ir embora...75 4.1.2 Sem saída...75 4.1.3 Previsões...76 4.2 Empresas que desenvolvem software...76 4.2.1 Organização do trabalho...77 4.2.2 Comunicação...78 4.2.3 Individualismo...79 4.2.4 Gerência de manufatura...79 4.2.5 Relação comercial-desenvolvimento...80 4.3 Maturidade de organizações...81 4.3.1 Tipos de organizações quanto à maturidade...82 4.3.2 Resumo dos níveis de maturidade...86 4.4 Práticas de organizações maduras...87 4.4.1 Interação com o cliente...87 4.4.2 Gerenciamento de projetos...87 4.4.3 Métricas...88 4.4.4 Treinamento e coaching...88 4.4.5 Revisões por pares...89 4.5 Sistema Kaizen...89 4.5.1 Bases do sistema 5S...90 4.5.2 Os 5S...92 4.5.3 Aplicação à construção de software...93 4.6 Exercícios...94 Capítulo 5 CMM e CMMI...95 5.1 Origem: o modelo SW-CMM...95 5.1.1 Níveis do SW-CMM...96 5.1.2 SW-CMM em pequenas empresas...100 5.1.3 Conclusão do SW-CMM...101 5.2 Modelo CMMI...102 5.2.1 Disciplinas do CMMI...103 5.2.2 Representação por estágios x contínua...104 5.2.3 CMMI: Representação por estágios...105 5.2.4 CMMI: representação contínua...109 5.2.5 Comparação entre as representações...113 5.2.6 Conclusão do CMMI... 114 5.3 Exercícios... 115 Capítulo 6 Melhoria de processos individuais e de equipes... 116 6.1 Introdução...116 6.2 Estrutura do PSP... 117 6.3 Scripts do PSP...118

6.4 Plano do projeto... 119 6.4.1 Resumo do plano...121 6.4.2 Tamanho do código...122 6.4.3 Tempo...123 6.4.4 Defeitos...123 6.5 Controle de qualidade...124 6.5.1 Revisões...125 6.5.2 Coletas e estimativas de dados...127 6.5.3 Custos associados com qualidade...130 6.6 Script completo do PSP...131 6.7 Conclusão do PSP...132 6.8 Processo para times: o TSP...133 6.8.1 Estrutura do TSP...134 6.8.2 Lançamentos...135 6.8.3 Conclusão sobre o TSP...139 6.9 Comparação de modelos: PSP, TSP e SW-CMM...139 6.10 Exercícios...140 Capítulo 7 MPS.BR: Melhoria de Processo do Software Brasileiro... 142 7.1 Introdução...142 7.2 Estrutura...143 7.3 Descrição...144 7.4 Descrição dos processos...146 7.4.1 Nível G...146 7.4.2 Nível F...147 7.4.3 Nível E...148 7.4.4 Nível D...149 7.4.5 Nível C... 151 7.4.6 Nível B...152 7.4.7 Nível A...153 7.5 Conclusão...154 7.6 Exercícios...155 Capítulo 8 Normas ISO... 156 8.1 ISO 9000...156 8.2 ISO/IEC 15504...157 8.2.1 Projeto SPICE...157 8.2.2 Visão geral da norma...158 8.2.3 Dimensão de processo...159 8.2.4 Dimensão de capacidade...161 8.2.5 Níveis de capacidade...163 8.3 ISO/IEC 12207: processos de ciclo de vida...164 8.3.1 Estrutura da norma...164 8.3.2 Processos primários...165 8.3.3 Processos de apoio...167 8.3.4 Processos organizacionais...169 8.4 Exercícios...170 Capítulo 9 Influência dos requisitos na qualidade... 172 9.1 Introdução...172 9.2 Requisitos de software...174 9.2.1 Lidando com o desconhecido...175 9.3 Documento de requisitos...176

Qualidade de Software 9.4 Tipos de requisitos...179 9.4.1 Requisitos funcionais...179 9.4.2 Requisitos não-funcionais...179 9.5 Técnicas de levantamento de requisitos...180 9.5.1 Entrevistas...182 9.5.2 Etnografia...182 9.5.3 Questionários...183 9.5.4 Cenários...183 9.6 Qualidade de requisitos...184 9.7 Perspective-Based Reading...185 9.8 Diálogo entre cliente e desenvolvedor...186 9.9 Ferramentas...188 9.10 Exercícios...188 Capítulo 10 Metodologias ageis... 190 10.1 Introdução...190 10.2 Metodologias tradicionais...191 10.2.1 Modelo clássico...191 10.2.2 Experiências da indústria...192 10.3 Metodologias ageis...193 10.3.1 Extreme Programming...195 10.3.2 Scrum... 200 10.4 Resultados do uso de metodologias ágeis...201 10.5 Exercícios... 203 Capítulo 11 SQuaRE: ISO/IEC 25000... 204 11.1 Introdução... 204 11.2 Origem: as normas ISO/IEC 9126 e 14598... 205 11.3 Divisões da norma SQuaRE... 206 11.4 Qualidade no ciclo de vida... 208 11.5 Modelo de qualidade...210 11.5.1 Funcionalidade...211 11.5.2 Manutenibilidade...212 11.5.3 Usabilidade...213 11.5.4 Confiabilidade... 215 11.5.5 Eficiência...216 11.5.6 Portabilidade...217 11.6 Medições...217 11.7 Relacionando medidas e requisitos...219 11.8 Exercícios...221 Capítulo 12 Métricas... 223 12.1 Introdução... 223 12.2 Método GQM... 224 12.3 Qualidade das métricas... 225 12.4 Funcionalidade... 227 12.5 Manutenibilidade... 228 12.5.1 Medidas de tamanho... 229 12.5.2 Complexidade estrutural... 233 12.5.3 Medidas baseadas no fluxo de dados... 238 12.5.4 Acoplamento e coesão... 238 12.5.5 UML e orientação a objetos... 240 12.6 Usabilidade... 243

12.7 Confiabilidade... 243 12.7.1 Medidas de disponibilidade... 244 12.7.2 Classificação de falhas... 245 12.8 Eficiência... 245 12.9 Portabilidade... 246 12.10 Análise dos resultados... 246 12.10.1 Combinando métricas por ponderação... 248 12.10.2 Combinando métricas via AHP... 249 12.11 Exercícios... 252 Capítulo 13 Interface e ergonomia... 253 13.1 Introdução... 253 13.1.1 Um breve histórico... 254 13.1.2 Dimensões da usabilidade... 255 13.1.3 Importância de uma interface correta... 256 13.1.4 Um contra-exemplo... 257 13.2 Organização de tarefas... 258 13.2.1 Projeto centrado em tarefas... 259 13.2.2 Sete mais ou menos dois...261 13.2.3 Assistentes...261 13.2.4 Interfaces programáveis... 262 13.3 Elementos de projeto de interfaces... 263 13.3.1 Vocabulário... 263 13.3.2 Cores... 264 13.3.3 Gráficos e ícones... 266 13.3.4 Animações... 266 13.3.5 Uso de sons... 268 13.4 Padrões de projeto de interface... 269 13.5 Avaliações de usabilidade... 272 13.6 Critérios gerais... 273 13.6.1 Sugestões para o projeto de interfaces... 275 13.7 Exercícios...276 Capítulo 14 Programação: fatores de qualidade... 277 14.1 Introdução... 277 14.2 Gap semântico... 278 14.2.1 Influência da linguagem utilizada... 279 14.3 Paradigmas de programação... 280 14.3.1 Orientação a objetos...281 14.3.2 Orientação a aspectos... 284 14.3.3 Combinando paradigmas... 287 14.4 Tratando a complexidade... 287 14.4.1 Técnicas estruturadas... 287 14.4.2 Padrões de projeto... 289 14.5 Importância dos diagramas...291 14.5.1 UML...291 14.5.2 Redes de Petri... 293 14.6 Documentação e implementação... 294 14.6.1 Efeito das falhas de comunicação... 295 14.6.2 Documentação e código... 296 14.6.3 Programação literal... 297 14.7 Geradores de código... 299 14.8 Visão geral sobre métodos formais...301 14.9 Exercícios... 303

10 Qualidade de Software Capítulo 15 Qualidade de código... 304 15.1 Introdução... 304 15.1.1 Pré-requisitos da codificação... 305 15.2 Leitura de código: compreensão da semântica... 306 15.2.1 Estilos de codificação... 307 15.3 Melhorando a escrita... 308 15.3.1 Identificadores... 309 15.3.2 Recuos, espaçamento e alinhamento... 314 15.3.3 Ferramentas apropriadas: editores...316 15.4 Documentação de código...318 15.4.1 Ferramenta Doxygen...318 15.4.2 Formatos de comentários... 320 15.5 Reaproveitamento de código...321 15.5.1 Reuso de trechos de código...321 15.5.2 Comunidades de desenvolvedores... 322 15.5.3 Bibliotecas... 323 15.6 Programação defensiva... 325 15.6.1 Entradas de dados... 325 15.6.2 Compilação condicional e assertivas... 326 15.6.3 Exceções... 327 15.6.4 Estilo de codificação... 328 15.7 Outras técnicas... 329 15.7.1 CleanRoom... 329 15.7.2 Programação por contrato... 330 15.8 Exercícios...331 Capítulo 16 Validação e verificação... 332 16.1 Introdução... 332 16.2 Classificando defeitos... 333 16.3 Teste: visão geral... 336 16.3.1 Confiabilidade e disponibilidade... 338 16.3.2 Plano de testes... 338 16.4 Casos de teste... 340 16.4.1 Fatores psicológicos...341 16.4.2 Medindo a cobertura dos testes...341 16.5 Tipos de teste... 343 16.5.1 Caixa-preta e Caixa-branca... 343 16.5.2 Teste de estresse... 347 16.5.3 Testes de integração... 348 16.5.4 Orientado a objetos... 349 16.5.5 Aceitação... 350 16.6 Ferramentas... 350 16.6.1 Depuradores... 350 16.6.2 Profilers (monitores)... 352 16.6.3 Ferramentas para teste... 353 16.7 Provando a correção de software... 353 16.7.1 Interpretação abstrata... 354 16.8 Revisões... 355 16.8.1 Revisões individuais... 355 16.8.2 Revisões em equipe... 356 16.9 Instrumentação de software... 357 16.9.1 Arquivos de log... 359 16.10 Documentação: o padrão IEEE... 360 16.11 Exercícios...361

11 Capítulo 17 Ferramentas... 363 17.1 Documentação... 363 17.1.1 Aplicações de XML... 364 17.1.2 OpenOffice... 364 17.1.3 Wiki... 365 17.2 Tratamento de requisitos... 365 17.2.1 Armazenagem e gerenciamento... 366 17.2.2 Descrições textuais e formais... 366 17.3 Projeto e análise... 367 17.3.1 Interfaces e protótipos... 367 17.3.2 Arquitetura... 367 17.4 Implementação... 368 17.4.1 Documentação de código... 368 17.4.2 Controle de versões... 368 17.5 Ferramentas para revisões e testes... 369 17.6 Apoio a metodologias... 369 Apêndice A Métricas... 370 A.1 Funcionalidade... 370 A.2 Manutenibilidade...371 A.3 Usabilidade... 372 A.4 Confiabilidade... 373 A.5 Eficiência...374 A.6 Portabilidade... 375 A.7 Pontos de função...376 Bibliografia... 378 Índice remissivo... 391