Engenharia de Software - Design
• Processo de converter a especificação num conjunto de modelos que descrevem a estrutura e o comportamento do software, particionado em unidades abstratas.
• Descreve como o software será realizado.
• Modelos de processo mais atuais consideram que o design pode ocorrer simultaneamente com a especificação e com a implementação
• Atividades - Visão tradicional:
– Arquitetura, Especificação abstrata; Design das interfaces;
Design de componentes; Design de algoritmos e estruturas de dados;
• Atividades – Visão moderna:
– Todas as anteriores e mais: Design conceitual e design das interfaces de usuário. Muitas vezes ocorrem na definição.
Engenharia de Software, Jair C Leite
Processo de design de software
Requir ments e specifica tion Design acti vities Architecturl a design
Abstr ct a specifica tion Interface design Component design Data structur e design Algorithm design System architectur e
Softw are specifica tion Interface specificaion t
Component specifica tion
Data structur e specifica tion
Algorithm specificaion t
Design pr oducts Fonte: Ian Sommerville
Engenharia de Software, Jair C Leite
Quando e como realizar o design
• Quando
– O design começa desde a fase de definição, com o design conceitual, arquitetura inicial, design de interface de usuário, ajudando a especificar os requisitos.
– Na fase de desenvolvimento, é feito o design arquitetural detalhado (módulos, componentes e interfaces), design de algoritmos e dados
– Na engenharia de software moderna, análise e design são inter-relacionados • Como
– Design baseado em modelos
• Vários modelos estruturais e comportamentais são produzidos
– Design baseado em prototipação
• Protótipos da interface de usuário, protótipos de componentes
– As duas abordagens podem ser utilizadas em conjunto
Engenharia de Software, Jair C Leite
Design Conceitual
• Elaboração do modelo