Conceitos e Princípios de Design “Design é o processo de aplicar várias técnicas e princípios com o propósito de definir um dispositivo, processo ou sistema em detalhes suficientes para permitir a sua construção física” conceitos e princípios de design
Transformação do modelo de análise em design: conceitos e princípios de design
O processo de design Um bom projeto: O Design deve implementar todos os requisitos explícitos do modelo de análise e os requerimentos implícitos Deve ser legível e inteligível por todos que irão implementar, testar e manter Deve prover uma figura completa do software (domínios de dados, funcional e comportamento) conceitos e princípios de design
Evolução do design de software: Programação modular (Dennis 73) Refinamento top-down (Wirth 71) Programação estruturada (Dahl Mills 72) Data flow design (Steven 74) Data structure design (Jackson75) (Orientação a Objetos) conceitos e princípios de design
conceitos e princípios de design O processo de design não deve sofrer de “efeito túnel” Deve ser auditável desde o modelo de análise Não reinventar a roda Diminuir a distância entre o software e o problema Exibir uniformidade e integração conceitos e princípios de design
conceitos e princípios de design (cont ...) Deve acomodar mudanças degradar suavemente não é codificação visar qualidade por construção deve ser revisado visando minimizar erros conceituais conceitos e princípios de design
conceitos e princípios de design Conceitos de design Abstração abstração de procedimentos abstração de dados Refinamento top-down conceitos e princípios de design
conceitos e princípios de design (cont ....) Modularidade Custo total Custo de integração Custo ou esforço Custo por módulo Número de módulos conceitos e princípios de design
conceitos e princípios de design (cont ...) Arquitetura de software Fan-out altura Fan-in largura conceitos e princípios de design
conceitos e princípios de design (cont ...) Hierarquia de controle Particionamento estrutural horizontal vertical Função 1 Função 3 conceitos e princípios de design
conceitos e princípios de design (cont ...) Estrutura de dados Procedure de software conceitos e princípios de design
conceitos e princípios de design (cont ...) Proteção da informação (information hiding) conceitos e princípios de design
Design Modular Efetivo Independência funcional Coesão Coincidental lógico temporal procedural comunicacional sequencial funcional conceitos e princípios de design
conceitos e princípios de design acoplamento Sem acoplamento acoplamento por dados acoplamento por estampa acoplamento de controle acoplamento externo acoplamento por área comum acoplamento de conteúdo conceitos e princípios de design