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
- Preparar-se para a entrevista: Ter o conhecimento mínimo sobre o domínio do problema, o escopo e os objetivos.
- Planejar e programar a entrevista: Elaborar um plano de condução da entrevista.
- 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.
- Conduzir a entrevista: O cliente deve falar mais; não se deve interferir na resposta do usuário.
- Fechar a entrevista: Sumarizar a entrevista, salientando os pontos importantes que foram levantados.
- 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
- Criação de uma lista de prioridades a serem definidas pelo cliente para o desenvolvimento.
- O cliente pode testar cada "parte" (incremento) do SW.
Modelo de Transformação Formal
Utilizado em sistemas CRÍTICOS (que envolvem risco de vida).
- Definição de Requisitos.
- Especificação Formal.
- Transformação Formal.
- Integração e Teste do SW.
Modelo Baseado em Componentes
- Especificação dos Requisitos.
- Análise dos Componentes.
- Modificação dos Componentes.
- Projeto com Reuso.
- Desenvolvimento e Integração.
- 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
- Dirigido a Casos de Uso.
- Centrado na Arquitetura.
- Iterativo e Incremental.
Fases
- Iniciação.
- Elaboração.
- Construção.
- 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:
- Equipe sem qualificação.
- Especificações incorretas ou ambíguas.
- 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:
- Determina os objetivos, alternativas e restrições.
- Avalia as alternativas, identifica e resolve riscos.
- Efetiva a engenharia (desenvolvimento).
- 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.
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