Booch define design…

Ainda naquele papo de arquitetura, Grady Booch escreve em seu blog suas definições pessoais de design:

As a noun, design is the named (although sometimes unnamable) structure or behavior of an system whose presence resolves or contributes to the resolution of a force or forces on that system. A design thus represents one point in a potential decision space. A design may be singular (representing a leaf decision) or it may be collective (representing a set of other decisions).

As a verb, design is the activity of making such decisions. Given a large set of forces, a relatively malleable set of materials, and a large landscape upon which to play, the resulting decision space may be large and complex. As such, there is a science associated with design (empirical analysis can point us to optimal regions or exact points in this design space) as well as an art (within the degrees of freedom that range beyond an empirical decision; there are opportunities for elegance, beauty, simplicity, novelty, and cleverness).

Resumindo drasticamente e traduzindo livremente: O Design de um sistema seria o conjunto de decisões tomadas sobre a estrutura do sistema. Fazer design é o processo de tomar estas decisões.

Este trecho também é interessante:

All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.

Booch afirma, então, que a arquitetura de um sistema é a parte do design que são mais caras de serem alteradas. Decisões como o uso de um ActideRecord ou DataMapper para persistência, ou se usar um framework baseado em Commands ou em Façades, se distribuir EJBs por servidores ou manter tudo num nó apenas enqaunto possível…

2 Responses to “Booch define design…”

  1. [...] software, um bom programador pode não ser um bom arquiteto e ao contrário do que alguns pensam, arquitetos são as pessoas que devem fazer isso! Se você não tem experiência, não crie um sistema corporativo, por favor! Você poderá estar [...]

  2. [...] software, um bom programador pode não ser um bom arquiteto e ao contrário do que alguns pensam, arquitetos são as pessoas que devem fazer isso! Se você não tem experiência, não crie um sistema corporativo, por favor! Você poderá estar [...]