Buscar

Aula 12

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Engenharia de Requisitos
Ementa
Introdução à Engenharia de Software;
Desenvolvimento Ágil;
Engenharia de Requisitos;
UML;
Engenharia de Requisitos
É o processo pelo qual os requisitos de um produto de software são coletados, analisados, documentados e gerenciados ao longo de todo o ciclo de vida do software;
O processo inicia-se com o levantamento dos requisitos, onde elaboramos modelos descrevendo “o quê” o software tem de fazer, e não como fazê-lo;
Uma das principais medidas do sucesso do software é o grau com que ele atende os objetivos e requisitos para os quais foi construído;
Engenharia de Requisitos
Os requisitos são a base para estimativas, modelagem, cronograma, projeto, implementação, testes e manutenção, portanto, estão presentes ao longo de todo o ciclo de vida do software;
No início do projeto, requisitos são levantados, entendidos e documentados. Levando em consideração a importância dos requisitos para o sucesso do projeto, atividades de controle da qualidade devem ser realizadas para verificar, validar e garantir a qualidade dos mesmos;
Também é necessário gerenciar a evolução dos requisitos, já que eles mudam ao longo do tempo;
quando usar?
Planejamento
Comunicação
Modelagem
Construção
Implantação
Definição de Requisitos
“Requisitos de um sistema são descrições dos serviços que devem ser fornecidos por esse sistema e suas restrições operacionais” (SOMERVILLE, 2007);
“Um requisito de um sistema é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar para atingir seus objetivos” (PFLEEGER, 2004);
“Um requisito é alguma coisa que o produto tem de fazer ou uma qualidade que ele precisa apresentar” (ROBERTSON, 2006);
Definição de Requisitos
Baseado nas definições de requisitos do slide anterior, podemos dizer que os requisitos de um sistema incluem:
Especificações dos serviços que o sistema deve prover;
Restrições sob as quais ele deve operar;
Propriedades gerais do sistema;
Restrições que devem ser satisfeitas no seu processo de desenvolvimento;
Os requisitos são classificados como:
Requisitos funcionais;
Requisitos não funcionais;
Requisitos Funcionais
São declarações de serviços que o sistema deve prover, descrevendo o que o sistema deve fazer. 
Descreve uma interação entre o sistema e seu ambiente, como o sistema deve reagir a entradas específicas, como ele deve se comportar em situações específicas e o que o sistema não deve fazer;
Exemplos: 
Iniciar sistema de monitoração de sensores para o alarme residencial;
Para cada pedido, deve ser alocado um identificador único (ID_PEDIDO);
Requisitos Não Funcionais
São restrições sobre os serviços ou funções oferecidos pelo sistema, as quais limitam as opções para criar uma solução para o problema. 
São muito importantes para a fase de projeto, servindo como base para a tomada de decisões;
Podem ser classificados em:
Requisitos de produto;
Requisitos organizacionais;
Requisitos externos;
Requisitos Não Funcionais - Produto
Especificam o comportamento do sistema;
Referem-se a atributos de qualidade que o sistema deve apresentar, como por exemplo:
Confiabilidade;
Usabilidade;
Eficiência;
Portabilidade;
Manutenibilidade;
Segurança;
Requisitos Não Funcionais - Organizacionais
São derivados de metas, políticas e procedimentos das organizações do cliente e do desenvolvedor e incluem:
Requisitos de processo
Padrões, modelos de documentos;
Requisitos de implementação
Linguagem de programação adotada;
Restrições de entrega
Tempo para chegar ao mercado, restrições de cronograma;
Restrições orçamentárias 
Custo, custo-benefício;
Requisitos Não Funcionais - Externos
Referem-se a todos os requisitos derivados de fatores externos ao sistema e seu processo de desenvolvimento. Podem incluir:
Requisitos de interoperabilidade com sistemas de outras organizações;
Requisitos legais, como por exemplo, privacidade;
Requisitos éticos;
Envolvimento dos Usuários
Clientes e usuários interferem no processo de levantamento de requisitos quando:
O cliente e o usuário são de extrema necessidade na definição do que se deseja construir;
No desenvolvimento de um novo produto faz-se necessário a presença de usuários mais experientes;
No desenvolvimento de uma nova versão para o software existente, a experiência dos usuários permite identificar de forma clara e rápida as necessidades prioritárias;
Processo de Engenharia de Requisitos
Os processos de Engenharia de Requisitos podem variar muito de uma organização para outra, ou até mesmo dentro de uma mesma organização, em função das características do projeto;
Porém, o processo não deve ser imposto. As organizações devem iniciar com um processo genérico e adaptá-lo para um processo mais detalhado, que seja apropriado às reais necessidades da organização ou do projeto;
Tarefas da Engenharia de Requisitos
O processo de Engenharia de Requisitos é realizado por meio de sete tarefas distintas:
Concepção;
Levantamento;
Elaboração;
Negociação;
Especificação;
Validação;
Gestão;
Tarefas da Engenharia de Requisitos
Alguns autores e o próprio Processo Unificado colocam a Concepção, Levantamento e Elaboração como uma única tarefa;
Outro modelo de gerência dos requisitos, engloba as tarefas de forma mais condensada:
Levantamento de requisitos;
Análise de requisitos;
Documentação de Requisitos;
Verificação e Validação de Requisitos;
Porém, em todos, o objetivo e as formas de levantamento e documentação são similares;
Concepção
Como um projeto de software é iniciado?
As vezes, uma conversa casual é tudo o que é necessário para se levantar o esforço necessário de engenharia de software;
Mas a maioria dos projetos começa quando uma necessidade de negócio é identificada ou um mercado ou serviço potencialmente novo é descoberto;
Pessoas de negócio definem um caso de negócio para a ideia e identificam abrangência e profundidade do mercado, viabilidade e escopo do projeto;
Concepção
Na fase de concepção, os engenheiros de requisitos, também chamados de analistas de requisitos ou analistas de sistemas, formulam uma série de questões para obter um entendimento básico do problema:
Quem quer a solução?
Qual a natureza da solução desejada?
Como será a comunicação e a colaboração entre cliente e desenvolvedor?
Contém uma visão preliminar dos requisitos, que será utilizada apenas para iniciar o processo e depois é descartada;
Concepção
Trata-se de uma atividade complexa que não se resume somente a perguntar às pessoas o que elas desejam, mas sim analisar cuidadosamente a organização, o domínio da aplicação e os processos de negócio no qual o sistema será utilizado;
Deve-se obter informações dos stakeholders (interessados), consultar documentos, obter conhecimento do domínio e estudar o negócio da organização;
Concepção
Para determinar o contexto do projeto, deve-se indicar um conjunto de tarefas que determinam os aspectos relevantes do contexto em que um produto de software irá operar;
Para se documentar esse processo de maneira confiável, deve-se iniciá-lo com a modelagem de processos de negócio;
A seguir, um modelo de contexto genérico para um sistema de mercearia;
Escolha dos 
itens de 
mercadoria
Cliente da mercearia
Caixa
Gerente
Itens de
mercadoria
Registros das
mercadorias
Desembolso do
pagamento
Totalização
das vendas
Emissão de
ticket
Ticket
Pagamento
Recebimento
do pagamento
Empacotamento
dos itens
Registro do
caixa
Registro do
caixa
Pediu
Nota fiscal
Não pediu
Nota fiscal
Nota
Fiscal
Abertura do
caixa
Fechamento
do caixa
Caixa
Concepção - Exercício
Faça um diagrama de negócios para um sistema hoteleiro. Considere que este sistema será utilizado pelos hotéis de Formiga e que os usuários que vão utilizar o sistema são o gerente, a recepção e o cliente;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes