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.

Entradas relacionadas: