Fundamentos de Software: Ciclo de Vida e Mitos

Classificado em Computação

Escrito em em português com um tamanho de 5,06 KB

Fundamentos de Software e Desenvolvimento

Software inclui código-fonte, executável e documentação (plantas).

Desenvolvimento envolve: requisitos, análise, projeto, implementação, teste e manutenção.

Software é uma entidade lógica; não se desgasta com o tempo como o hardware. Após corrigido, seu índice de falha estabiliza-se. O software fica obsoleto porque as regras de negócio mudam.

Mitos Comuns no Desenvolvimento de Software

Mito da Administração

Mito: Existe um manual repleto de padrões e procedimentos para a construção do software, e isso é o suficiente?

Resposta: Será que ele é usado? Reflete a prática moderna?

Mito: Se estamos atrasados no prazo, podemos adicionar novos programadores?

Resposta: Como não é um processo mecânico, adicionar pessoas pode atrasar (devido ao treinamento).

Mito do Cliente

Mito: A declaração geral dos objetivos é suficiente, deixando os detalhes para depois.

Resposta: Uma fase inicial malfeita pode prejudicar e é uma das principais causas de fracasso. Os requisitos modificam-se continuamente, mas as mudanças podem ser acomodadas facilmente, já que o software é flexível.

Realidade: Quanto mais tarde as modificações ocorrem, maior o custo, e não é tão simples de ser implementado, podendo modificar muita coisa.

Mito Profissional

Mito: Assim que estiver rodando, o trabalho está finalizado.

Resposta: Não. A parte de manutenção e correção demanda muito tempo e trabalho.

Mito: A única coisa que deve ser entregue é o programa funcionando?

Resposta: Isso é apenas uma parte. É necessário entregar também: manual, manual de instalação e especificação de requisitos.

Ciclo de Vida do Software

O ciclo de vida inclui:

  • Requisitos: Entender a natureza do programa, função, interface e desempenho.
  • Projeto: Obtém-se uma planta do software, podendo-se avaliar sua qualidade, arquitetura e interface.
  • Codificação: Traduzir o projeto em uma linguagem.
  • Teste: Verifica aspectos internos (instruções) e externos (erros).
  • Manutenção: Ocorrência de erros e implementação de mudanças.

Modelos de Desenvolvimento

Modelo Caótico

Não existe organização no processo de desenvolvimento; tentam funcionar de qualquer forma.

Modelo Clássico (Cascata ou Waterfall)

Envolve engenharia de sistemas, análise, projeto, codificação, teste e manutenção.

  • Vantagem: Inicia-se uma etapa quando a outra estiver completa; produção sequencial que permite ver o todo completo.
  • Desvantagem: Difícil seguir o fluxo sequencial e difícil declarar todos os requisitos iniciais.

Modelo Iterativo (Prototipação)

Processo cíclico que envolve especificar requisitos do usuário, necessidades de hardware e software, e construção dos primeiros modelos.

  • Vantagem: Grande interação com o usuário e qualidade na definição da interface.
  • Desvantagem: Cria expectativas no usuário e compromisso com a tecnologia.
Prototipação

Capacita a criar um modelo de software que será implementado. Fases:

  1. Coleta e refinamento de requisitos.
  2. Projeto rápido.
  3. Construção do protótipo.
  4. Avaliação do protótipo pelo cliente.
  5. Refinamento do protótipo.
  6. Engenharia do produto.
  • Vantagem: Melhorar a qualidade da especificação de futuros programas e treinamento dos usuários antes do produto ficar pronto.
  • Desvantagem: O principal argumento é o custo e os atrasos.

RAD (Rapid Application Development)

Envolve modelagem do negócio, dos dados, tratamento da informação, geração da aplicação e testes.

  • Vantagem: Uso de componentes e redução do tempo.
  • Desvantagem: Não adequada a projetos de risco e ao tamanho da equipe.

Modelo Incremental

Trabalha com o usuário para descobrir seus requisitos de maneira incremental, até que o produto esteja definido. Apropriado para sistemas pequenos. Sequência: planejamento, modelagem, construção, implantação.

  • Desvantagem: Não se conhece o projeto como um todo (visualização) e o custo é mais complexo (iterações).

Etapas dos Requisitos

As etapas dos requisitos são:

  1. Elicitação: Conhecer as necessidades dos clientes (entrevista, questionário).
  2. Especificação.
  3. Análise.
  4. Validação e Gerência.

Entradas relacionadas: