Design de Software
Adriano José Faria
Ander Ferreira Gomes
Guilherme Eduardo Alves da Cunha
Leandro Damascena Silva
RESUMO
Este artigo traz uma introdução a design de software. Seu objetivo é fundamentar o conhecimento do estudante de forma a fazê-lo reconhecer a relevância e os benefícios proporcionados pelo design de software.
Palavras-chave: Design. Software. Processos. Arquitetura. Modelagem.
DESIGN DE SOFTWARE
RESUMO
Este artigo traz uma introdução a design de software. Seu objetivo é fundamentar o conhecimento do estudante de forma a fazê-lo reconhecer a relevância e os benefícios proporcionados pelo design de software.
Palavras-chave: Design. Software. Processos. Arquitetura. Modelagem.
1 INTRODUÇÃO
Antes de começarmos o estudo e a prática na disciplina de Arquitetura de Software, é apropriado sabermos onde ela se encaixa ao longo do Corpo de Conhecimento em Engenharia de Software (Software Engineering Body of Knowledge). Design arquitetural, ou projeto da arquitetura, é a primeira das duas atividades que compõem a área de conhecimento de Design de Software (Software Design Knowledge Area). A atividade seguinte é design detalhado. Por ser uma atividade de Design, o design arquitetural se faz por uma mistura de conhecimento e criatividade. Como criatividade é algo que se obtém através da experiência, não é nosso objetivo ensiná-la. No entanto, buscamos ao longo desse artigo transmitir o conhecimento necessário para a criação de arquiteturas de sistemas de software.
2 DESIGN DE SOFTWARE
A relevância de se projetar ou fazer design de software pode ser explicada pela complexidade crescente dos sistemas de software. Devido a essa complexidade, o risco de se construir um sistema que não alcance seus objetivos é eminente.
Para evitar tal risco, a prática comum de qualquer engenharia para se construir um artefato complexo, um