As Leis Fundamentais do Projeto de Software

A Ciência do Desenvolvimento de Software

As Leis Fundamentais do Projeto de Software Esgotado
× As Leis Fundamentais do Projeto de Software

As Leis Fundamentais do Projeto de Software

VER AMOSTRA

Autor:

ISBN impresso: 978-85-7522-302-4
ISBN ebook: 978-85-7522-737-4
Ano: 2012
Páginas: 112
Preço: R$ 39,00

8 opiniões | Opine sobre este livro

Descrição do livro

O bom projeto de software é simples e fácil de entender. Infelizmente, o programa de computador médio hoje é tão complexo que ninguém poderia possivelmente compreender como todo o código funciona.

Este livro ajuda você a entender os fundamentos do bom projeto por meio de leis científicas – princípios que você pode aplicar a qualquer linguagem de programação ou projeto daqui até a eternidade.

Se você é um programador júnior, engenheiro de software sênior ou gerente não técnico, aprenderá a criar um plano sólido para seu projeto de software e a tomar decisões melhores sobre o padrão e a estrutura de seu sistema.

- Descubra por que o bom projeto de software se tornou a ciência ausente

- Entenda o propósito definitivo do software e os objetivos do bom projeto

- Determine o valor de seu projeto agora e no futuro

- Examine exemplos do mundo real que demonstram como um sistema muda com o tempo

- Crie projetos que permitam a máxima alteração no ambiente com a menor alteração no software

- Faça alterações mais fáceis no futuro mantendo seu código mais simples agora

- Obtenha melhor conhecimento sobre o comportamento de seu software com testes mais precisos

Ver menos ▲

Sumário

Sumário

  • Sobre o autor
  • Prefácio
    • Convenções usadas neste livro
    • Atribuição e licenças
    • Como entrar em contato conosco
    • Agradecimentos
  • Capítulo 1 ■ Introdução
    • O que há de errado com os computadores?
    • O que é um programa, realmente?
  • Capítulo 2 ■ A ciência ausente
    • Todo programador é um projetista
    • A ciência de projeto de software
    • Por que não houve nenhuma ciência de projeto de software?
  • Capítulo 3 ■ As forças motoras do projeto de software
    • Os objetivos do projeto de software
  • Capítulo 4 ■ O futuro
    • A equação do projeto de software
      • Valor
      • Esforço
      • Manutenção
      • A equação completa
      • Reduzindo a equação
      • O que você quer e o que não quer
    • A qualidade do projeto
    • Consequências imprevisíveis
  • Capítulo 5 ■ Alteração
    • Alteração em um programa do mundo real
    • As três falhas
      • Escrever código que não é necessário
      • Não tornar o código fácil de alterar
      • Sendo genérico demais
    • Desenvolvimento e projeto incrementais
  • Capítulo 6 ■ Erros e projeto
    • Se não estiver com erro
    • Não se repita
  • Capítulo 7 ■ Simplicidade
    • Simplicidade e a equação do projeto de software
    • A simplicidade é relativa
    • Quão simples você tem que ser?
    • Seja consistente
    • Legibilidade
      • Nomeando coisas
      • Comentários
    • Simplicidade exige projeto
  • Capítulo 8 ■ Complexidade
    • Complexidade e propósito
    • Tecnologias ruins
      • Potencial de sobrevivência
      • Interoperabilidade
      • Atenção à qualidade
      • Outras razões
    • Complexidade e a solução errada
      • Qual problema você está tentando resolver?
    • Problemas complexos
    • Lidando com a complexidade
      • Tornando uma parte mais simples
      • Complexidade incorrígivel
    • Reescrevendo
  • Capítulo 9 ■ Testes
  • Apêndice A ■ As leis do projeto de software
  • Apêndice B ■ Fatos, leis, regras e definições
Ver sumário completo ▼

Opinião dos leitores

Tadeu G Y

Muito bom livro.

Claudio A

Se você é um programador iniciante ou estudante, o livro irá lhe ajudar a trilhar o caminho certo, se você é um programador intermediário ou avançado, as regras, leis e fatos descritos neste livro lhe farão até mesmo voltar ao caminho certo, principalmente na atualidade onde todos os dias centenas de novas opções de linguagens, bibliotecas e frameworks aparecem! Feliz por ter lido esse livro!

João A K J

Muito bom. Enfatiza a simplicidade na construção de software.

Julio C C

Apesar de teórico, é fundamental para quando já se domina uma linguagem e se quer evoluir na arquitetura.

Ver todas ▼