banner-pix

Guia de Campo do Bom Programador



  • R$ 86,00R$ 30,00
  • Desconto de 65%

R$ 26,40

(-12%) p/ Pagamento por PIX

Cleuton Sampaio

é professor, mestre formado pelo IBMEC, com diversas certificações importantes, como: PMP (Project Management Professional) e SCEA (Sun Certified Enterprise Architect). Autor de vários livros publicados pela Brasport, incluindo “Guia do Java EE 6.0 – Desenvolvendo Aplicações Corporativas”, “Criando Macros no BrOffice Calc” e “Guia de Campo do Bom Programador”. Coordenador do portal mobile The Code Bakers (www.thecodebakers.org).


O GLOBO - Qualidade: Test-friendly Development http://oglobo.globo.com/blogs/tecnologia/posts/2012/11/19/qualidade-test-friendly-development-475439.asp
O GLOBO - Aqui, há monstros! http://oglobo.globo.com/blogs/tecnologia/posts/2012/11/26/aqui-ha-monstros-476188.asp
O GLOBO - Complexidade acidental http://oglobo.globo.com/blogs/tecnologia/posts/2012/12/21/complexidade-acidental-478710.asp
Código-fonte livro Soa e Web Services com Java http://www.brasport.com.br/anexo/codigo-fonte-livro-soa-e-web-services-com-java-autor-cleuton-sampaio/codigo-fonte.zip
Baixe o código-fonte do livro

Qualidade em software é resultado da aplicação de métodos, técnicas e ferramentas associados à experiência prática. Ninguém melhor do que um profissional com mais de 30 anos de mercado para reunir tudo o que você precisa saber para poder desenvolver software com mais qualidade. Este livro é voltado para profissionais e estudantes de engenharia e arquitetura de software.

 Entenda como o SWEBOK organiza as práticas e o conhecimento da Engenharia de Software e quais são os principais atributos de qualidade. Veja como aumentar a qualidade dos seus projetos com práticas como: Gestão de Configuração de Software (SCM), Integração Contínua (CI) e processo organizado de desenvolvimento.

 Aprenda a aumentar a qualidade do software com maior cobertura de testes e avaliação de diversos indicadores, como LCOM (1, 2 e 3), Cobertura, Complexidade, entre outros.

Comprimento 24 cm
Edição 1
Formato Livro físico
Idioma

Português

ISBN 9788574525167
Lançamento 26 de abril de 2012
Largura 17 cm
Lombada 1,5 cm
Páginas 304
Volume 652.80
Ano 2012
Sumário

Introdução

Sobre o tema

Por que Java?

E por que não Python ou Ruby?

Quem é o público-alvo deste livro?

Por que “programador”? Não seria melhor “engenheiro de software”?

Complementos do livro

1. Problemas com o desenvolvimento de software

Organização é a chave do sucesso

        Mas o que é sucesso?

        A influência das técnicas e ferramentas

2. Qualidade de software

Qualidade e requisitos

Qualidade e capacidades (RNF)

Trade offs

Qualidade e aderência a padrões

        Mas o que significa usar padrões?

        Padrões de codificação

        Padrões de interoperabilidade

Funcionalidade

Conformidade

        Testes

Adequação

Acurácia

Segurança

Interoperabilidade

Confiabilidade

Maturidade

Tolerância a falhas

Recuperabilidade

Conformidade

Usabilidade

        Inteligibilidade

        Apreensibilidade

        Operacionalidade

        Atratividade

        Conformidade

Eficiência

        Comportamento em relação ao tempo

        Utilização de recursos

Manutenibilidade

Portabilidade

3. Os suspeitos de sempre

4. Software deve ser fácil de entender e manter

A única constante é a mudança

Código autodocumentado

Simplificar a implementação

Utilizar padrões de projeto

Empregar mecanismos e interfaces padrões de mercado

Evitar dependências desnecessárias

Procurar alcançar baixo acoplamento e alta coesão interna

Fazer a coisa certa

As três regras de ouro

        Programar o menos possível

        Chamar os “universitários”

        Trabalhar com transparência

Os monstros sagrados

        Edsger Dijkstra

        Donald Knuth

A base teórica

        Meilir Page-Jones: Projeto Estruturado de Sistemas

        GoF: Design Patterns – Elements of Reusable Object-Oriented Software

        Robert C. Martin: Principles Of Object Oriented Design

        Alur, D.; Crupi, J.; Malks, D.: Core J2EE Patterns

        Joshua Bloch: Effective Java (Java Efetivo)

        Martin Fowler: Refatoração – Aperfeiçoando o projeto de código existente

        Maurice Naftalin, Philip Wadler: Java Generics and Collections

        Derek C. Ashmore: The J2EE Architect’s Handbook

        Roger S. Pressman: Engenharia de software

6. Práticas e técnicas

Momentos

        Antes

        Durante

        Depois

Sobre o projeto exemplo

7. Antes da construção do código-fonte

        O que “arquitetura” tem a ver com “ambiente de desenvolvimento”?

        O moderno engenheiro de software tem que gerenciar

        A intenção desta parte do livro

Visão geral da arquitetura

        Mecanismos de interface entre sistemas

        Interface com o usuário

        Interface com o sistema de pedidos

        Interface com a loja virtual

        Interface com a transportadora

        Mitigando riscos técnicos

O ambiente de desenvolvimento

        O sistema operacional

        O kit de desenvolvimento Java

        O ambiente de desenvolvimento

        Crie um ambiente virtual

Gestão de configuração de software

        Gestão e planejamento

        Identificação da configuração

        Controle da configuração

        Liberação e entrega

        Contabilização e estado

        Auditoria

        Como implementar o SCM

        Escolha de um sistema de controle de versão

        Instalação do Subversion no Linux e no Windows

        Configuração do Eclipse para usar o SVN

Gestão de montagem (build) e de componentes

        Apache Maven

        Apache Archiva

        Relacionamento do Maven com o Archiva

        Configuração do Maven e do Archiva

        Criação de um arquétipo Maven

        Como utilizar o Maven dentro do Eclipse

        Colocando o projeto exemplo dentro do ambiente

Conclusão

8. Durante a construção do projeto de software

Antipatterns: o que deve ser evitado

        Não basta ser simples

O princípio da solução

        Soluções de problemas de software

        Conclusão

Padrões e princípios de projeto

        Sugestões adicionais de normas de codificação

Evite o uso de literais numéricos ou textuais

Escreva código autodocumentado

Comentários

Princípios de projeto orientado a objetos

Organização do código-fonte

        “Layers” (camadas)

        “Layers” e “tiers” (camadas e nós)

        Organização do código-fonte em camadas

        Dependência entre camadas e pacotes

        Coesão e acoplamento

        Complexidade

        Controle automático de métricas

Testes unitários

        Evite introduzir bugs, para começar

        Testes unitários devem ser limitados

        Cobertura dos testes

        Teste de componentes altamente acoplados

Organize sua rotina de trabalho

        Divida seu tempo

        Divida o trabalho de acordo com o tempo

        Não deixe tarefas incompletas

9. Depois do código pronto

Revisões

Promover a gestão do conhecimento

Otimização do processo

Integração

Configurações de ambiente

Testes de integração

        Anatomia de um teste de integração

        Separação dos testes de unidade

Processo de liberação

Implementando a integração contínua

        Instalação e configuração do Continuum

        Conclusão

Analisando a qualidade do código-fonte

        Geração de informações do projeto

        Adicionando relatórios de qualidade

        Utilizando o SONAR

        Como melhorar a qualidade

10. FCQDC

Referências bibliográficas

Escreva um comentário

Você deve acessar ou cadastrar-se para comentar.

Etiquetas: guia, bom, programador, java, Guia de Campo, Bom Programador