• Enviar por email

  • Twitter

  • Facebook

Solte o produto na sua mochila

Sugestões

  • eBit
Autor: André Koscianski, Michel dos Santos SoaresPublicação: 16/03/2007Edição: 2ISBN: 9788575221129BrochuraPáginas: 395Editora: Novatec

Livro Qualidade de Software (2007)

9788575221129

Esta obra ensina as metodologias e técnicas para o desenvolvimento de software de forma que seu produto final de excelente qualidade. Alguns tópicos são: normas internacionais, XP e SCRUM , etc.

Aprenda as metodologia e técnicas mais
modernas para o desenvolvimento de software

Desenvolver software com qualidade não é mais um fator de diferenciação no mercado, e, sim, condição essencial para empresas e profissionais serem bem-sucedidos.

Este livro aborda as principais tecnologias, metodologias e processos utilizados atualmente em desenvolvimento de software. Os fatores que influenciam a qualidade são discutidos em amplitude, com ênfase nos aspectos práticos, mas sem deixar de mencionar a fundamentação teórica essencial.

Os tópicos são tratados de forma inter-relacionada e abrangem:
  • modelos de processos organizacionais, como CMM e CMMI;
  • modelos de processos individuais e de equipe, como PSP e TSP;
  • o modelo brasileiro MPS.BR, lançado em 2005;
  • metodologias ágeis, como XP e SCRUM;
  • algumas das principais normas internacionais, como SQuaRE, ISO/IEC 25000:2005, ISO/IEC 12207 e ISO/IEC TR 15504;
  • programação e sua relação com a qualidade;
  • teste de software.
Sobre os autores:
André Koscianski é doutor pelo INSA de Rouen, França. Lecionou em cursos de computação em universidades públicas e particulares. Participou da elaboração de normas brasileiras de qualidade e de ergonomia de software na ABNT.

Michel dos Santos Soares é mestre em Ciência da Computação pela Universidade Federal de Uberlândia e graduado no mesmo curso pela Universidade Federal de São Carlos. É analista de sistemas e professor universitário nas áreas de Engenharia de Software e Qualidade de Software.

Prefácio Capítulo.1.–.O.que.é.qualidade? 1.1 História 1.2 Uma crise de mais de trinta anos 1.3 Qualidade e requisitos 1.4 Papel da subjetividade 1.5 Qualidade e bugs I: insetos inofensivos 1.6 Um erro é um defeito, uma falha ou bug? 1.6.1 Defeito 1.6.2 Falha 1.6.3 Isolar um defeito 1.6.4 Estabilizar um programa 1.7 Qualidade e bugs II: catástrofes 1.7.1 Ariane 501 1.7.2 Therac-25 1.8 Qualidade e o SWEBOK 1.8.1 Fundamentos de qualidade 1.8.2 Processos de gerência de qualidade 1.8.3 Considerações práticas 1.9 Exercícios Capítulo.2.–.Normas.e.organismos.normativos 2.1 Um pouco de história 2.1.1 De facto ou de jure? 2.2 ISO 2.2.1 ISO, IEC e JTC1 2.2.2 ABNT 2.3 Certificação e adequação 2.4 Etapas na criação de uma norma 2.5 Quadro de normas 2.6 Exercícios Capítulo.3.–.Métricas:.visão.geral 3.1 Papel dos números 3.2 Fontes de ruído 3.2.1 Influência do usuário 3.2.2 Influência do hardware 3.3 Medidas e estimativas 3.4 Caráter estático ou dinâmico 3.5 Caráter qualitativo ou quantitativo 3.6 Resultados estatísticos úteis 3.6.1 Média 3.6.2 Variância e desvio-padrão 3.6.3 Teste de Student 3.6.4 Histogramas 3.6.5 Análise de regressão 3.7 Conclusões com base em números 3.8 Dados históricos 3.9 Exercícios Capítulo.4.–.Fatores.humanos.de.qualidade 4.1 Histórias da vida real 4.1.1 Permissão para ir embora 4.1.2 Sem saída 4.1.3 Previsões 4.2 Empresas que desenvolvem software 4.2.1 Organização do trabalho 4.2.2 Comunicação 4.2.3 Individualismo 4.2.4 Gerência de manufatura 4.2.5 Relação comercial-desenvolvimento 4.3 Maturidade de organizações 4.3.1 Tipos de organizações quanto à maturidade 4.3.2 Resumo dos níveis de maturidade 4.4 Práticas de organizações maduras 4.4.1 Interação com o cliente 4.4.2 Gerenciamento de projetos 4.4.3 Métricas 4.4.4 Treinamento e coaching 4.4.5 Revisões por pares 4.5 Sistema Kaizen® 4.5.1 Bases do sistema 5S 4.5.2 Os 5S 4.5.3 Aplicação à construção de software 4.6 Exercícios Capítulo.5.–.CMM.e.CMMI 5.1 Origem: o modelo SW-CMM 5.1.1 Níveis do SW-CMM 5.1.2 SW-CMM em pequenas empresas 5.1.3 Conclusão do SW-CMM 5.2 Modelo CMMI 5.2.1 Disciplinas do CMMI 5.2.2 Representação por estágios x contínua 5.2.3 CMMI: Representação por estágios 5.2.4 CMMI: representação contínua 5.2.5 Comparação entre as representações 5.2.6 Conclusão do CMMI 5.3 Exercícios Capítulo.6.–.Melhoria.de.processos.individuais.e.de.equipes 6.1 Introdução 6.2 Estrutura do PSP 6.3 Scripts do PSP 6.4 Plano do projeto 6.4.1 Resumo do plano 6.4.2 Tamanho do código 6.4.3 Tempo 6.4.4 Defeitos 6.5 Controle de qualidade 6.5.1 Revisões 6.5.2 Coletas e estimativas de dados 6.5.3 Custos associados com qualidade 6.6 Script completo do PSP 6.7 Conclusão do PSP 6.8 Processo para times: o TSP 6.8.1 Estrutura do TSP 6.8.2 Lançamentos 6.8.3 Conclusão sobre o TSP 6.9 Comparação de modelos: PSP, TSP e SW-CMM 6.10 Exercícios Capítulo.7.–.MPS.BR:.Melhoria.de.Processo.do.Software.Brasileiro 7.1 Introdução 7.2 Estrutura 7.3 Descrição 7.4 Descrição dos processos 7.4.1 Nível G 7.4.2 Nível F 7.4.3 Nível E 7.4.4 Nível D 7.4.5 Nível C 7.4.6 Nível B 7.4.7 Nível A 7.5 Conclusão 7.6 Exercícios Capítulo.8.–.Normas.ISO 8.1 ISO 9000 8.2 ISO/IEC 15504 8.2.1 Projeto SPICE 8.2.2 Visão geral da norma 8.2.3 Dimensão de processo 8.2.4 Dimensão de capacidade 8.2.5 Níveis de capacidade 8.3 ISO/IEC 12207: processos de ciclo de vida 8.3.1 Estrutura da norma 8.3.2 Processos primários 8.3.3 Processos de apoio 8.3.4 Processos organizacionais 8.4 Exercícios Capítulo.9.–.Influência.dos.requisitos.na.qualidade 9.1 Introdução 9.2 Requisitos de software 9.2.1 Lidando com o desconhecido 9.3 Documento de requisitos 9.4 Tipos de requisitos 9.4.1 Requisitos funcionais 9.4.2 Requisitos não-funcionais 9.5 Técnicas de levantamento de requisitos 9.5.1 Entrevistas 9.5.2 Etnografia 9.5.3 Questionários 9.5.4 Cenários 9.6 Qualidade de requisitos 9.7 Perspective-Based Reading 9.8 Diálogo entre cliente e desenvolvedor 9.9 Ferramentas 9.10 Exercícios Capítulo.10.–.Metodologias.ageis 10.1 Introdução 10.2 Metodologias tradicionais 10.2.1 Modelo clássico 10.2.2 Experiências da indústria 10.3 Metodologias ageis 10.3.1 Extreme Programming 10.3.2 Scrum 10.4 Resultados do uso de metodologias ágeis 10.5 Exercícios Capítulo.11.–.SQuaRE:.ISO/IEC.25000 11.1 Introdução 11.2 Origem: as normas ISO/IEC 9126 e 14598 11.3 Divisões da norma SQuaRE 11.4 Qualidade no ciclo de vida 11.5 Modelo de qualidade 11.5.1 Funcionalidade 11.5.2 Manutenibilidade 11.5.3 Usabilidade 11.5.4 Confiabilidade 11.5.5 Eficiência 11.5.6 Portabilidade 11.6 Medições 11.7 Relacionando medidas e requisitos 11.8 Exercícios Capítulo.12.–.Métricas 12.1 Introdução 12.2 Método GQM 12.3 Qualidade das métricas 12.4 Funcionalidade 12.5 Manutenibilidade 12.5.1 Medidas de tamanho 12.5.2 Complexidade estrutural 12.5.3 Medidas baseadas no fluxo de dados 12.5.4 Acoplamento e coesão 12.5.5 UML e orientação a objetos 12.6 Usabilidade 12.7 Confiabilidade 12.7.1 Medidas de disponibilidade 12.7.2 Classificação de falhas 12.8 Eficiência 12.9 Portabilidade 12.10 Análise dos resultados 12.10.1 Combinando métricas por ponderação 12.10.2 Combinando métricas via AHP 12.11 Exercícios Capítulo.13.–.Interface.e.ergonomia 13.1 Introdução 13.1.1 Um breve histórico 13.1.2 Dimensões da usabilidade 13.1.3 Importância de uma interface correta 13.1.4 Um contra-exemplo 13.2 Organização de tarefas 13.2.1 Projeto centrado em tarefas 13.2.2 Sete mais ou menos dois 13.2.3 Assistentes 13.2.4 Interfaces programáveis 13.3 Elementos de projeto de interfaces 13.3.1 Vocabulário 13.3.2 Cores 13.3.3 Gráficos e ícones 13.3.4 Animações 13.3.5 Uso de sons 13.4 Padrões de projeto de interface 13.5 Avaliações de usabilidade 13.6 Critérios gerais 13.6.1 Sugestões para o projeto de interfaces 13.7 Exercícios Capítulo.14.–.Programação:.fatores.de.qualidade 14.1 Introdução 14.2 Gap semântico 14.2.1 Influência da linguagem utilizada 14.3 Paradigmas de programação 14.3.1 Orientação a objetos 14.3.2 Orientação a aspectos 14.3.3 Combinando paradigmas 14.4 Tratando a complexidade 14.4.1 Técnicas estruturadas 14.4.2 Padrões de projeto 14.5 Importância dos diagramas 14.5.1 UML 14.5.2 Redes de Petri 14.6 Documentação e implementação 14.6.1 Efeito das falhas de comunicação 14.6.2 Documentação e código 14.6.3 Programação literal 14.7 Geradores de código 14.8 Visão geral sobre métodos formais 14.9 Exercícios Capítulo.15.–.Qualidade.de.código 15.1 Introdução 15.1.1 Pré-requisitos da codificação 15.2 Leitura de código: compreensão da semântica 15.2.1 Estilos de codificação 15.3 Melhorando a escrita 15.3.1 Identificadores 15.3.2 Recuos, espaçamento e alinhamento 15.3.3 Ferramentas apropriadas: editores 15.4 Documentação de código 15.4.1 Ferramenta Doxygen 15.4.2 Formatos de comentários 15.5 Reaproveitamento de código 15.5.1 Reuso de trechos de código 15.5.2 Comunidades de desenvolvedores 15.5.3 Bibliotecas 15.6 Programação defensiva 15.6.1 Entradas de dados 15.6.2 Compilação condicional e assertivas 15.6.3 Exceções 15.6.4 Estilo de codificação 15.7 Outras técnicas 15.7.1 CleanRoom 15.7.2 Programação por contrato 15.8 Exercícios Capítulo.16.–.Validação.e.verificação 16.1 Introdução 16.2 Classificando defeitos 16.3 Teste: visão geral 16.3.1 Confiabilidade e disponibilidade 16.3.2 Plano de testes 16.4 Casos de teste 16.4.1 Fatores psicológicos 16.4.2 Medindo a cobertura dos testes 16.5 Tipos de teste 16.5.1 Caixa-preta e Caixa-branca 16.5.2 Teste de estresse 16.5.3 Testes de integração 16.5.4 Orientado a objetos 16.5.5 Aceitação 16.6 Ferramentas 16.6.1 Depuradores 16.6.2 Profilers (monitores) 16.6.3 Ferramentas para teste 16.7 Provando a correção de software 16.7.1 Interpretação abstrata 16.8 Revisões 16.8.1 Revisões individuais 16.8.2 Revisões em equipe 16.9 Instrumentação de software 16.9.1 Arquivos de log 16.10 Documentação: o padrão IEEE 16.11 Exercícios Capítulo.17.–.Ferramentas 17.1 Documentação 17.1.1 Aplicações de XML 17.1.2 OpenOffice 17.1.3 Wiki 17.2 Tratamento de requisitos 17.2.1 Armazenagem e gerenciamento 17.2.2 Descrições textuais e formais 17.3 Projeto e análise 17.3.1 Interfaces e protótipos 17.3.2 Arquitetura 17.4 Implementação 17.4.1 Documentação de código 17.4.2 Controle de versões 17.5 Ferramentas para revisões e testes 17.6 Apoio a metodologias Apêndice.A.–.Métricas A.1 Funcionalidade A.2 Manutenibilidade A.3 Usabilidade A.4 Confiabilidade A.5 Eficiência A.6 Portabilidade A.7 Pontos de função Bibliografia Índice remissivo

blog comments powered by Disqus