Fundamentos da Engenharia de Software: Processos e Ciclos
Classificado em Tecnologia
Escrito em em
com um tamanho de 3,7 KB
Fundamentos da Engenharia de Software
A relação entre a etapa de projeto e implementação é que ambas possibilitam a conversão da especificação de um sistema em um sistema executável. As atividades são relacionadas e intercaladas: projeto de arquitetura, projeto de interface, projeto de componente, estrutura de dados e algoritmo.
Especificação de Software
O processo para definir quais serviços são necessários e identificar as restrições de operação e de desenvolvimento do sistema.
Processo de Engenharia de Requisitos
- Estudo de viabilidade;
- Elicitação e análise de requisitos;
- Especificação de requisitos;
- Validação de requisitos.
Projeto e Implementação de Software
É o processo de conversão da especificação de sistema em um sistema executável.
- Projeto de software: Projetar uma estrutura de software que atenda à especificação.
- Implementação: Transformar essa estrutura em um programa executável.
As atividades de projeto e implementação são fortemente relacionadas e podem ser intercaladas.
Validação de Software
A Verificação e Validação (V&V) tem a intenção de mostrar que um sistema está em conformidade com a sua especificação e que atende aos requisitos do cliente. Envolve processos de verificação e revisão, além de testes de sistema (unidade, sistema e aceitação), derivados da especificação de dados reais.
Modelos de Processo e Evolução
O desenvolvimento evolucionário inclui desenvolvimento exploratório e prototipação throwaway. Modelos iterativos (incremental e espiral) apresentam o processo como um ciclo de atividades. Na espiral, cada loop representa uma fase, onde riscos são avaliados e resolvidos.
Evolução de Software
O software é inerentemente flexível. Como os requisitos mudam conforme as circunstâncias de negócio, o software deve evoluir. A separação entre desenvolvimento e manutenção torna-se cada vez menos relevante.
Engenharia de Software Auxiliada por Computador (CASE)
Ferramentas CASE são softwares usados para apoiar as atividades de processo de desenvolvimento e evolução de sistemas.
Verificação e Gerenciamento de Requisitos
- Validade: O sistema fornece as funções que melhor apoiam as necessidades do cliente?
- Consistência: Existe algum conflito de requisitos?
- Completeza: Todas as funções requisitadas foram incluídas?
- Realismo: Os requisitos podem ser implementados com o orçamento e tecnologia disponíveis?
- Facilidade de verificação: O requisito é realisticamente testável?
- Facilidade de compreensão: O requisito é adequadamente compreendido?
- Rastreabilidade: A origem do requisito é claramente estabelecida?
- Adaptabilidade: O requisito pode ser mudado sem grande impacto em outros?
Classificação de Requisitos:
- Primário: Representa os objetivos dos atores.
- Secundário: Não traz benefício direto, mas é necessário para o funcionamento do sistema.
Melhoria de Processo
- Medição de processo: Os atributos atuais são medidos como baseline.
- Análise de processo: O processo é avaliado para identificar gargalos e pontos fracos.
- Mudança de processo: As melhorias identificadas são introduzidas.