Fundamentos de Engenharia de Software: Modelos e Requisitos

Classificado em Formação e Orientação para o Emprego

Escrito em em português com um tamanho de 28,22 KB

Elicitação de Requisitos: Entrevistas

Como Elaborar uma Entrevista?

Orienta-se a começar com a elaboração de perguntas centradas no cliente, garantindo que ideias e predisposições do Engenheiro de Requisitos não interfiram nas respostas dos stakeholders.

Tipos de Entrevista

  • Aberta: Existe um roteiro para perguntas, no entanto, durante a entrevista, pode haver desvios no que estava planejado, discutindo de modo aberto o que o usuário deseja.
  • Fechada: O Engenheiro de Requisitos prepara perguntas dentro de um contexto, ficando restrito a elas.

Etapas da Condução da Entrevista

  1. Preparar-se para a entrevista: Ter o conhecimento mínimo sobre o domínio do problema, o escopo e os objetivos.
  2. Planejar e programar a entrevista: Elaborar um plano de condução da entrevista.
  3. Iniciar a entrevista: Fazer a apresentação, mostrando a finalidade da entrevista, e explicar quais anotações serão realizadas e como serão apresentadas após a organização.
  4. Conduzir a entrevista: O cliente deve falar mais; não se deve interferir na resposta do usuário.
  5. Fechar a entrevista: Sumarizar a entrevista, salientando os pontos importantes que foram levantados.
  6. Manter contato: Deixar as portas abertas para que, no futuro, possam haver novas entrevistas.

Modelos de Ciclo de Vida de Software

Modelo Cascata (Waterfall)

Fases: Requisitos, Projeto, Implementação, Teste, Manutenção

  • Vantagens: Torna o processo de desenvolvimento estruturado; todas as atividades identificadas nessas fases são fundamentais e estão na ordem correta.
  • Desvantagens: Não permite retorno fácil à fase anterior; o software (SW) só é entregue após a conclusão de todas as fases.

Nota: Em algumas variações, pode-se voltar a qualquer etapa anterior para que o processo seja refeito (Cascata com Feedback).

Modelo Incremental

  1. Criação de uma lista de prioridades a serem definidas pelo cliente para o desenvolvimento.
  2. O cliente pode testar cada "parte" (incremento) do SW.

Modelo de Transformação Formal

Utilizado em sistemas CRÍTICOS (que envolvem risco de vida).

  1. Definição de Requisitos.
  2. Especificação Formal.
  3. Transformação Formal.
  4. Integração e Teste do SW.

Modelo Baseado em Componentes

  1. Especificação dos Requisitos.
  2. Análise dos Componentes.
  3. Modificação dos Componentes.
  4. Projeto com Reuso.
  5. Desenvolvimento e Integração.
  6. Validação.

Este modelo envolve dois processos principais:

  • Desenvolvimento de Componentes: Consiste na criação de novos componentes, desde a especificação (análise, documentação) até a implementação. A documentação é o fator mais importante, pois é ela que possibilitará a reutilização desse componente em outros sistemas, caso haja a necessidade de alterações.
  • Desenvolvimento com Componentes: Consiste na criação de sistemas com um conjunto de componentes interligados, assumindo que esses componentes já existam e estejam disponíveis para seleção e reutilização.

Processo Unificado (RUP)

3 Pilares

  1. Dirigido a Casos de Uso.
  2. Centrado na Arquitetura.
  3. Iterativo e Incremental.

Fases

  1. Iniciação.
  2. Elaboração.
  3. Construção.
  4. Transição.

Conceitos de Requisitos e Qualidade

Requisitos Funcionais e Não Funcionais

  • Requisitos Funcionais: São especificações do que o software será capaz de fazer.
  • Requisitos Não Funcionais: São especificações que conferem mais qualidade ao software (ex: desempenho, segurança, usabilidade).

Perguntas Frequentes em Engenharia de Software

  • Em qual fase do desenvolvimento se escrevem as etapas do SW em português e em linguagem de computação? Projeto e Implementação.
  • Por que os requisitos precisam ter muita expressividade? Porque precisam detalhar muito bem a realidade do cliente.
  • Cite motivos para que um programa seja entregue errado ou atrasado:
    1. Equipe sem qualificação.
    2. Especificações incorretas ou ambíguas.
    3. Escolha incorreta do ciclo de vida do projeto.
  • Quais qualidades são favorecidas pela arquitetura tipo classe? Portabilidade, Extensibilidade e Manutenibilidade.

Outras Técnicas e Modelos de Desenvolvimento

  • Quais tipos de atividades podem ser feitas para obter informações do cliente? Entrevista, Questionário, Brainstorm, JAD (Joint Application Development).
  • No Processo Unificado (RUP), onde o workflow é mais ativo? Na fase de Elaboração.

Modelo Espiral

Em cada fase do espiral (que inclui Requisitos, Projeto, Implementação, Teste e Manutenção), as seguintes divisões ocorrem:

  1. Determina os objetivos, alternativas e restrições.
  2. Avalia as alternativas, identifica e resolve riscos.
  3. Efetiva a engenharia (desenvolvimento).
  4. Planeja a próxima fase.

Modelo V

Este ciclo de vida prioriza o teste, associando cada fase de desenvolvimento a uma fase de teste correspondente.

Imagem

10 Áreas Técnicas e Gerenciais da Engenharia de Software

  • Requisitos
  • Projeto
  • Implementação
  • Teste
  • Manutenção
  • Qualidade
  • Processo de Engenharia
  • Gerência de Configuração
  • Ferramentas e Métodos
  • Gerência de Engenharia

Entradas relacionadas: