O processo de design de software envolve várias atividades -chave, cada uma produzindo saídas específicas. Essas atividades nem sempre são estritamente seqüenciais; Muitas vezes, há iteração e sobreposição. No entanto, uma representação comum segue estes estágios:
1. Requisitos de coleta e análise: *
Atividade: Entender as necessidades das partes interessadas (clientes, usuários etc.) e documentá -las formalmente. Isso envolve entrevistas, pesquisas, revisões de documentos e criação de casos de uso.
*
saída: Documento de especificação de requisitos (SRS). Este documento define com precisão o que o software deve fazer, não como deve fazê -lo. Pode incluir casos de uso, histórias de usuários, requisitos funcionais, requisitos não funcionais (desempenho, segurança etc.) e restrições.
2. Design do sistema: *
Atividade: Definindo a arquitetura geral do sistema. Isso inclui a identificação de grandes componentes, suas interações e como eles trabalharão juntos para atender aos requisitos. Decisões sobre tecnologia, plataformas e implantação são tomadas nesta fase.
*
saída: Documento de arquitetura do sistema. Isso normalmente inclui diagramas mostrando os componentes do sistema, seus relacionamentos (por exemplo, diagramas UML como diagramas de componentes, diagramas de implantação) e fluxo de dados. As opções de tecnologia e decisões de design de alto nível também estão documentadas.
3. Design detalhado: *
Atividade: Dividindo o sistema em módulos menores e mais gerenciáveis e especificando o design interno de cada módulo. Isso envolve projetar algoritmos, estruturas de dados e interfaces. Esta fase se concentra no "como" - os detalhes da implementação.
*
saída: Documento de design detalhado, que inclui especificações do módulo, diagramas de classe (se estiver usando design orientado a objetos), descrições de algoritmo, definições de estrutura de dados, esquemas de banco de dados (se aplicável), especificações de interface (APIs) e potencialmente pseudocode ou fluxogramas.
4. Design de banco de dados (se aplicável): *
Atividade: Projetando o esquema de banco de dados para armazenar e gerenciar os dados do aplicativo. Isso envolve a seleção de um sistema de gerenciamento de banco de dados (DBMS), tabelas de definição, relacionamentos entre tabelas e tipos de dados.
*
saída: Documento de design de esquema de banco de dados, incluindo diagramas de relação de entidades (ERDs), definições de tabela e dicionários de dados.
5. Design da interface do usuário (UI): *
Atividade: Projetar a interface do usuário para facilitar o uso do sistema. Isso inclui wireframes, maquetes e protótipos. O teste de usabilidade geralmente faz parte desta fase.
*
saída: Especificações de design da interface do usuário, incluindo wireframes, maquetes, protótipos e guias de estilo da interface do usuário. Relatórios de teste de usabilidade também podem ser incluídos.
6. Teste e validação: *
Atividade: Verificando que o design atende aos requisitos e identificando quaisquer falhas. Isso pode envolver a revisão dos documentos de design, a realização de passo a passo e a criação de protótipos para testes.
*
saída: Planos de teste, casos de teste e relatórios de teste detalhando os resultados das atividades de teste. Isso ajuda a garantir que o design seja robusto e atenda aos requisitos especificados.
É importante observar que as saídas de cada atividade servem como entradas para atividades subsequentes. Por exemplo, a especificação de requisitos informa o design do sistema, que informa o design detalhado. A natureza iterativa do desenvolvimento de software geralmente envolve a revisão de estágios anteriores com base em feedback e mudanças durante os estágios posteriores.