Engenharia de Software Análise de Requisitos. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br



Documentos relacionados
Elicitação de requisitos e análise

Requisitos. Sistemas de Informações

Engenharia de Requisitos de Software

Objetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Requisitos de Software

APOO Análise e Projeto Orientado a Objetos. Requisitos

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Engenharia de Software

Projeto de Sistemas I

Engenharia de Requisitos

Engenharia de Requisitos

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Requisitos de Software

O Processo Unificado: Captura de requisitos

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Engenharia de Software

Requisitos de Software

Engenharia de Requisitos Estudo de Caso

REQUISITOS. Prof. Msc. Hélio Esperidião

2 Diagrama de Caso de Uso

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Engenharia de Software

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Documento de Requisitos

Análise de Requisitos

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

Engenharia de Software III

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

CHECK - LIST - ISO 9001:2000

Engenharia de Software

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Processos de Desenvolvimento de Software

GARANTIA DA QUALIDADE DE SOFTWARE

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Extração de Requisitos

O Impacto da Engenharia de Requisitos no Processo de Métricas. Fátima Cesarino CAIXA

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Professor: Curso: Disciplina: Aula 4-5-6

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Tecnologia e Sistemas de Informações

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

Governança de TI. ITIL v.2&3. parte 1

Universidade Paulista

Abordagem de Processo: conceitos e diretrizes para sua implementação

Modelagem de Casos de Uso (Parte 1)

Diagrama de Caso de Uso e Diagrama de Sequência

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Processos Técnicos - Aulas 4 e 5

O Processo de Engenharia de Requisitos

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Planejamento e Gerência de Projetos de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Módulo 4: Gerenciamento de Dados

Metodologia de Gerenciamento de Projetos da Justiça Federal

Requisitos de Software

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Engenharia de Software II: Criando a Declaração de Escopo. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Gerenciamento de Requisitos Gerenciamento de Requisitos

Gerência de Projetos

Levantamento, Análise e Gestão Requisitos. Aula 12

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

Feature-Driven Development

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

Introdução à Engenharia de Software

Processos de gerenciamento de projetos em um projeto

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

SGQ 22/10/2010. Sistema de Gestão da Qualidade. Gestão da Qualidade Qualquer atividade coordenada para dirigir e controlar uma organização para:

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

Concepção e Elaboração

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

4º Congresso de Gerenciamento de Projetos da Amazônia. Minicurso: Gerenciamento de Portfólio Palestrante: Luis Augusto dos Santos, MSc,PMP

Como elaborar um Plano de Negócios de Sucesso

Gerenciamento de projetos.

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Notas de Aula 04: Casos de uso de um sistema

Transcrição:

1 Engenharia de Software Análise de Requisitos Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

2 Projeto Inicial Objetivo: Fazer um programa que leia as notas (1 e 2), calcule e mostre a média de um aluno da faculdade XYZ Linguagem: Portugol, C ou Pascal Material: Quadro Branco e Caneta

3

4 Por que os projetos falham? O cliente sabe o que quer, mas não sabe expressar o seu desejo O cliente não é ouvido/questionado Quando o assunto é de nosso conhecimento pressupomos que sabemos tudo sobre ele...

5 Como resolver? Embora não seja tão simples quanto a resposta possa parecer: fazer um levantamento completo (Análise de Requistos) do problema... Ou seja, é preciso entender bem o domínio

6 Entendimento do Domínio Desenvolver sistemas envolve domínios além de software e hardware Podemos ter que entender sobre: Contabilidade Saúde Supermercados Etc.

7 Engenharia de Requisitos A Engenharia de Requisitos estabelece o processo de definição de Requisitos no qual o que deve ser produzido é elicitado, analisado e modelado. Este processo acontece num contexto previamente definido a que chamamos de Universo de Informação.

8 Universo de Informação Universo de Informação é o ambiente geral no qual o software será desenvolvido. Inclui todas as fontes de informação e as pessoas relacionadas ao software, às quais denominamos de agentes desse universo.

9 Requisito x Especificação Requisito: condição necessária para a obtenção de certo objetivo, ou para o preenchimento de certo objetivo. Especificação: descrição detalhada/minuciosa das características que um material, obra, ou um serviço deverão apresentar. Portanto, Especificação é diferente de Requisitos

10 Que é um requisito? Um requisito tanto pode ser uma declaração abstrata de alto nível de um serviço, como uma restrição do sistema ou ainda uma especificação funcional detalhada de alguma rotina.

Entradas e saídas 11 sistemas legados necessidades dos utilizadores normas da organização regulamentos processo de engenharia de requisitos requisitos (acordados) especificação do sistema informação do domínio (Kotonya e Sommerville, 1998)

12 Requisitos pode ser: Explícitos: aqueles descritos em um documento que lista os requisitos de um produto (especificação de requisitos) Normativos: aqueles que decorrem de leis, regulamentos, padrões e outros tipos de normas a que o tipo de produto deve obedecer Implícitos: expectativas dos clientes e usuários, que são cobradas por esses, embora não-documentadas

13 Tipos de Requisitos Requisitos Funcionais Requisitos Não-Funcionais Requisitos de Domínio

14 Requisitos Funcionais (RF) Descreve funcionalidade e serviços do sistema Depende do Tipo do software Usuários esperados Tipo do sistema onde o software é usado

15 Exemplos de RF [RF001] Usuário pode pesquisar todo ou um sub-conjunto do banco de dados [RF002] Sistema deve oferecer visualizadores apropriados para o usuário ler documentos armazenados [RF003] Todos os documentos devem ser passíveis de impressão

16 Exercício Dê alguns exemplos de Requisitos Funcionais (RFs) para um site de e-commerce;

17 Requisitos Não-Funcionais (RNF) Definem propriedades e restrições do sistema (tempo, espaço, etc) Requisitos de processo também podem especificar o uso de determinadas linguagens de programação, método de desenvolvimento Requisitos não-funcionais podem ser mais críticos que requisitos funcionais. Não satisfaz, sistema inútil.

18 Exemplos de RNF [RNF001] A fonte do sistema deve ser TIMES NEW ROMAN, corpo 12 [RNF002] A geração do boleto bancário deve levar menos do que 3 segundos [RNF003] Após gravar os dados do cliente, enviar um e-mail para o mesmo contendo uma cópia das informações fornecidas por ele

19 Classificação de RNF Requisitos do Produto: o produto deve comportar-se de forma particular (velocidade de execução, confiabilidade, etc.) [RNF004] Consultas baseadas em código de barras devem ser concluída em até 1 segundo

20 Classificação de RNF Requisitos Organizacionais: conseqüência de procedimentos e políticas da organização (padrões de processo, diretrizes, etc.) [RNF005] Todos os documentos entregues devem seguir o padrão de relatórios XYZ-00

21 Classificação de RNF Requisitos Externos: conseqüência de fatores externos ao sistema e ao processo de desenvolvimento (legislação, cotações, etc.) [RNF006] Informações pessoais do usuário não devem ser vistas pelos operadores do sistema

22 Exercício Dê alguns exemplos de Requisitos Não Funcionais (RNFs) para um site de e-commerce;

23 Requisitos de Domínio São derivados do domínio da aplicação e descrevem características do sistema e qualidades que refletem o domínio Podem ser requisitos funcionais novos, restrições sobre requisitos existentes ou computações específicas

24 Requisitos de Domínio (Problemas) Entendimento Requisitos são descritos na linguagem do domínio Não é entendido pelos engenheiros de software que vão desenvolver a aplicação Implicitude: especialistas no domínio entendem a área tão bem que não tornam todos os requisitos de domínio explícitos

25 Requisitos Requisitos Usuário = Sistema Funcionais Não-funcionais Domínio Produto Organização Externo

26 Visão dos Requisitos Requisitos do Usuário: declarações em linguagem natural com diagramas de serviços que o sistema deve oferecer e suas restrições operacionais. Escrito para os clientes. Requisitos do Sistema: documento estruturado com descrições detalhadas sobre os serviços do sistema. Contrato entre cliente e fornecedor.

27 O Processo em Alto Nível identificação, descoberta de requisitos análise e negociação de requisitos documento de requisitos documentação, especificação de requisitos validação de requisitos necessidades dos utilizadores, sistemas legados, informação do domínio, normas organizacionais, etc.

28 Análise de Requisitos Definição e especificação de requisitos 7 8 Documento de requisitos Validação dos requisitos Entrada do processo Entendimento do domínio 1 6 5 Atribuição de Prioridade Coleta de requisitos 2 3 4 Resolução de conflito Classificação

29 Análise de Requisitos Identificação e Levantamento de Requisitos

30 O Processo Estudo de viabilidade Relatório de viabilidade Elicitação e Análise de requisitos Especificação de requisitos Validação de requisitos Requisitos do usuário e do sistema Modelos do sistema Documento de requisitos

31 Estudo de Viabilidade Estudo que indica se o esforço em desenvolver a idéia vale a pena Visa tanto a tomada de decisão como a sugestão de possíveis alternativas de solução Oferece informações para ajudar na decisão Se o projeto pode ou não ser feito Se o produto final irá ou não beneficiar os usuários interessados Há uma melhor alternativa?

32 Estudo de Viabilidade Dados a serem analisados: Históricos Financeiros (interno e externo) Avaliação de Retorno Políticos (interno e externo) Tecnológica Social

33 Elicitação e Análise de requisitos Elicitação: processo de descoberta, objetiva descobrir o domínio de aplicação, serviços que devem ser fornecidos e restrições Deve envolver usuários finais, gerentes, pessoal envolvido na manutenção, especialistas no domínio, etc. (Stakeholders). Análise: é o processo de entendimento e avaliação do que foi levantado

34 Problemas Stakeholders em geral não sabem o que querem, expressam requisitos em sua terminologia Stakeholders diferentes podem gerar requisitos conflitantes Requisitos mudam durante o processo de análise Stakeholders novos podem surgir e o ambiente de trabalho muda Fatores políticos e organizacionais podem influenciar os requisitos do sistema

35 Análise de Requisitos Definição e especificação de requisitos 7 8 Documento de requisitos Validação dos requisitos Entrada do processo Entendimento do domínio 1 6 5 Atribuição de Prioridade Coleta de requisitos 2 3 4 Resolução de conflito Classificação

36 Técnicas de Elicitação Entrevistas Sessões Coordenadas Questionários Casos de Uso Brainstorming Workshop de Requisitos

37 Elicitação de Requisitos: Entrevistas Aplicadas de forma individual ou a grupos pequenos; Maior facilidade de coordenação; O entrevistado é mais ativo e por isso acaba gerando maior riqueza de detalhes dos dados; Calendários mais flexíveis porque necessitam de menos tempo.

38 Elicitação de Requisitos: Sessões Coordenadas Aplicadas a grandes grupos, coordenadas por um facilitador; Estimula a inspiração dos participantes; Requer cuidados especiais com os dados obtidos que devem ser confirmados através de entrevistas individuais; Menor tempo para obtenção das informações; Indicada para o momento em que já se tenha coletado dados que propiciem um bom conhecimento de como funciona o negócio.

39 Elicitação de Requisitos: Casos de Uso Modelo que representa as funções do negócio (casos de uso) e o que as cercam (atores); Utilizado para comunicar as funções e o ambiente aos clientes através de uma representação gráfica dos levantamentos; Utilizado para identificar quem interage nos processos do negócio e de que forma o faz; Trata-se de uma maneira de assegurar o mútuo entendimento entre analistas e usuários.

40 Critérios para Adoção das Técnicas Adotar a técnica que melhor se adapte à organização e à disponibilidade dos usuários; Necessidades do projeto: para detalhes sobre os dados, deve-se priorizar as entrevistas e para informações mais gerais, pode-se priorizar as sessões coordenadas; Estratégia: iniciar o processo com entrevistas e seguir com discussões em sessões coordenadas orientadas por diagramas de caso de uso.

41 Entrevistas Técnica direta Pode ser usada na análise do problema e na elicitação de requisitos Objetivo Entender os problemas reais e soluções potenciais das perspectivas dos usuários, clientes, e outros stakeholders Pré Requisito Determinar o papel e a função de cada membro da equipe

42 Entrevista: Preparação Ler os relatórios (mensais ou anuais da empresa); Conhecer a situação financeira da organização; Examinar a estrutura e hierarquia da organização; Entender as estratégias de marketing do setor; Conhecer o web site da empresa; Pesquisar na internet os competidores mais importantes da empresa.

43 Entrevista: Escolha dos Entrevistados da Área de Negócio Horizontalidade e verticalidade; Ao menos um integrante da alta e média gerência; Movimentadores dos departamentos em geral; Pessoas que conheçam bem os dados da empresa; Agentes representativos dos mais diferentes setores da organização, a saber: vendas, serviços ao consumidor, logística, finanças, produção, etc.; Analista de negócios.

44 Entrevistas: Perguntas Básicas Quem são os clientes e o usuários? Possuem necessidades diferentes? Quais são suas necessidades: Capacidades Backgrounds Ambientes, etc.

45 Entrevistas: Perguntas Básicas Qual é o problema? Como é resolvido atualmente? Qual a razão para resolvê-lo? Qual o valor de uma solução bem-sucedida? Onde mais uma solução pode ser encontrada?

46 Perguntas Direcionadas à Executivos Quais são os objetivos de sua organização? O que você está tentando realizar? Como você mede o sucesso? Como você sabe que está fazendo seu trabalho de maneira certa? Com que freqüência você se avalia? Quais são os objetivos fundamentais do negócio para você hoje? O que poderia lhe impedir de alcançar estes objetivos? Qual é o impacto na organização?

47 Perguntas Direcionadas à Executivos Como você identifica problemas ou como evita dificuldades? Quais oportunidades existem para impulsionar seu negócio dramaticamente tendo como base um melhor acesso à informação? Qual é o impacto financeiro? O que significaria para o seu negócio? De que forma podem ser levantadas informações dentro da sua organização? Você acha que seu pessoal interagirá diretamente com a informação?

48 Entrevista Dirigida aos Gerentes e Analistas do Negócio Seu conteúdo é semelhante a entrevista executiva empresarial, mas o condutor da entrevista faz perguntas mais detalhadas; Da mesma forma que a entrevista executiva, inicia-se com objetivos e metas departamentais após a introdução.

49 Perguntas Dirigidas aos Gerentes e Analistas do Negócio Quais são os objetivos do seu departamento? O que você está tentando realizar? O que está sendo feito para alcançar estes objetivos? Qual é a sua métrica de sucesso? Como você sabe que está bem? Com que freqüência você mede o seu desempenho? Quais são os negócios-chave para você hoje? O que limita o seu sucesso?

50 Perguntas Dirigidas aos Gerentes e Analistas do Negócio Descreva seus produtos (ou outras dimensões-chave do negócio como: clientes, vendedores, locais industriais, etc.); Como você distingue os produtos? Há um modo natural para categorizar seus produtos? Com que freqüência mudam as categorizações? Assuma que esteja analisando uma lista de todos os seus produtos, como você estreitaria a lista para achar um produto que você está procurando?

Perguntas Dirigidas aos Gerentes e Analistas do Negócio Descendo no Nível de Detalhe 51 Quais dados são usados? Como você adquire atualmente os dados? O que você faz uma vez que adquire a informação? Que análise você gostaria de executar? Há melhorias potenciais para seus métodos/processos atuais? Atualmente, quais análises especiais você tipicamente executa? Quem pede estas análises? O que eles fazem com as análises? Quanto tempo normalmente leva?

Perguntas Dirigidas aos Gerentes e Analistas do Negócio Descendo no Nível de Detalhe 52 Existem gargalos específicos que dificultam ou impedem a chegada da informação? Quanta informação histórica é requerida? Quais oportunidades existem para melhorar dramaticamente seu negócio baseado em um melhor acesso à informação? Qual é o impacto financeiro? Se você há pouco tivesse a capacidade descrita, o que isto significaria para seu negócio? Quais relatórios você usa atualmente? Quais dados no relatório são importantes? Como você usa a informação? Se o relatório fosse dinâmico, o que você mudaria?

53 Questionários Aplicabilidade a mercados específicos Onde perguntas são bem definidas Hipóteses Perguntas relevantes podem ser decididas antecipadamente Leitor ouve da maneira desejada Suprime o que é bom sobre análise Úteis após uma entrevista inicial

54 Casos de Uso Discuta com o cliente o que o sistema fará e identique quem interage com o mesmo. Modele um protótipo de interface, apresente ao usuário e tente identificar se há requisitos faltando Vantagem é ter apelo visual dos requisitos mais relevantes do cliente

55 Brainstorming Numa tradução literal: tempestade de idéia. As regras são variadas, mas não fogem das apresentadas a seguir: Estabeleça o objetivo da sessão Gere quantas idéias for possível Deixe a os usuários imaginação livre Num primeiro momento não admita críticas ou debates Num segundo momento ajuste e combine as idéias

56 Workshop de Requisitos Põe todos os stakeholders juntos por um período intensivo (focado) Facilitador conduz a reunião Todos têm sua vez de falar Resultados são disponíveis imediatamente Provê um ambiente para aplicar outras técnicas de elicitação

Classificação de requisitos 57

58 Que é mesmo um requisito? Um requisito tanto pode ser uma declaração abstrata de alto nível de um serviço, como uma restrição do sistema ou ainda uma especificação funcional detalhada de alguma rotina.

59 Tipos de Requisitos Requisitos Funcionais: descreve funcionalidade e serviços do sistema Requisitos Não-Funcionais: definem propriedades e restrições do sistema (tempo, espaço, etc) Requisitos de Domínio: são derivados do domínio da aplicação e descrevem características do sistema e qualidades que refletem o domínio

60 Classificação de RNF Requisitos do Produto: o produto deve comportar-se de forma particular (velocidade de execução, confiabilidade, etc.) [RNF001] Consultas baseadas em código de barras devem ser concluída em até 5 segundos Requisitos Organizacionais: conseqüência de procedimentos e políticas da organização (padrões de processo, diretrizes, etc.) [RNF002] Todos os documentos entregues devem seguir o padrão de relatórios XYZ-00 Requisitos Externos: conseqüência de fatores externos ao sistema e ao processo de desenvolvimento (legislação, cotações, etc.) [RNF003] Informações pessoais do usuário não devem ser vistas pelos operadores do sistema

61 Classificação dos Requisitos Esta etapa consiste basicamente em agrupar os diversos requisitos coletados em categorias bem definidas. Por exemplo: Deve ser possível consultar o preço de uma mercadoria A consulta deve retornar uma resposta em no máximo 5 segundos

62 Problemas Usuários/Clientes em geral não sabem o que querem, expressam requisitos em sua terminologia. Stakeholders diferentes podem gerar requisitos conflitantes. Requisitos mudam durante o processo de análise Stakeholders novos podem surgir e o ambiente de trabalho mudar. Fatores políticos e organizacionais podem influenciar os requisitos do sistema.

63 Resolução de Conflitos É normal que ocorram requisitos conflitantes Por exemplo R-23: O sistema deve... R-45: O sistema não deve... Cliente/usuário deve ser consultado para resolver conflitos (ambiguidades)

64 Atribuição de Prioridade Alguns requisitos são mais urgentes que outros. É essencial determinar a prioridade dos requisitos junto ao cliente. Requisitos de maior prioridade são considerados em primeiro lugar.

65 Prioridade Requisitos podem ser vistos em três classes distintas: Essenciais Importantes Desejáveis Em princípio, sistema deve resolver todos os requisitos de essenciais para desejáveis.

66 Exemplo de Prioridade [RF001] Consulta X ao B.D. deve retornar dados A, B, C Prioridade: Essencial [RNF001] Consulta X ao B.D. deve visualizar dados segundo padrão Y Prioridade: Importante [RNF010] Consulta X ao B.D. deve usar cores azuis nos resultados Prioridade: Desejável

67 Validação dos Requisitos Será que realmente entendi o que o cliente deseja? Devo me certificar de que não houve falha em nossa interação (comunicação) Demonstrar que os requisitos definem o sistema que o cliente realmente deseja Custos com erros de requisitos são altos Consertar um erro de requisitos após entrega do sistema pode custar mais de 100 vezes o custo de um erro de implementação

68 Rastreamento Rastreamento de Requisitos Associação entre requisitos dependentes Rastreamento de Projeto Associação dos requisitos com o projeto Usar hipertexto ou referência cruzada Ou matriz de rastreamento

69 Rastreamento Requisitos Produto (Caracter.) Requisitos Detalhados (Casos de Uso) 2 3 Req A 1 Req B 4 1.Rastrear requisitos do usuário nos do sistema 2.Rastrear requisitos no projeto 3.Rastrear requisitos nos procedimentos de teste 4.Rastrear requisitos do usuário no plano Projeto Modelos Teste Suítes Teste Doc. Usuário Plano

70 Visão Geral do Sistema Documento de texto - Formato livre Sistema Videolocadora - Visão Geral do Sistema É proposto o desenvolvimento de um sistema de controle de videolocadora, que vai informatizar as funções de empréstimo, devolução e reserva de fitas. O objetivo do sistema é agilizar o processo de empréstimo e garantir maior segurança, ao mesmo tempo que possibilita um melhor controle das informações por parte da gerência. Deverão ser gerados relatórios de empréstimos por cliente, empréstimos por fita e empréstimos no mês. O sistema deverá calcular automaticamente o valor dos pagamentos a serem efetuados em cada empréstimo inclusive multas e descontos devidos. A cada devolução de fitas corresponderá um pagamento, não sendo possível trabalhar com sistema de créditos. A impossibilidade de efetuar um pagamento deve deixar o cliente suspenso, ou seja, impossibilitado de emprestar novas fitas até saldar a dívida.

71 RFs e RNFs Associados F1 Registrar empréstimos Oculto ( ) Descrição: O sistema deve registrar empréstimos de fitas, indicando o cliente e as fitas que foram emprestadas, bem como a data do empréstimo e valor previsto para pagamento na devolução. Requisitos Não Funcionais Nome Restrição Categoria Desejável Permanente NF1.1 Controle de A função só pode ser acessada por usuário com perfil Segurança ( ) (x) Acesso de operador ou superior. NF1.2 Identificação de As fitas devem ser identificadas por um código de Interface ( ) (x) Fitas barras NF1.3 Identificação do O cliente deverá ser identificado a partir de seu nome Interface ( ) ( ) cliente NF1.4 Tempo de O tempo para registro de cada fita deve ser inferior a Performance (x) ( ) registro um segundo. NF1.5 Janela única Todas as funções relacionadas a empréstimos devem Interface (x) (x) ser efetuadas em uma única janela............... F2 Calcular descontos Oculto ( x ) Descrição: O sistema deve calcular descontos nos empréstimos em função da política da empresa. Requisitos Não Funcionais Nome Restrição Categoria Desejável Permanente NF2.1 Desconto de fim Nos fins de semana, usuários que levam 4 fitas Especificação ( ) ( ) de semana pagam apenas 3................

72 Linhas Guias para Elaboração de Requisitos Definir um formato padrão e usá-lo para todos os Requisitos; Utilizar o idioma de forma consistente. Usar deve para requisitos obrigatórios, deveria para requisitos Desejáveis; Usar texto destacado para identificar as partes principais do requisito; Evitar o uso do jargão de computação;

73 Requisitos de Sistema Especificações mais detalhadas de requisitos de usuário; Servem como base para projetar o sistema; Podem ser utilizados como parte do contrato de Sistema Os requisitos de sistema podem ser expressos utilizando os modelos de sistema;

74 O Documento de Requisitos O documento de requisitos é a definição oficial do que é exigido dos desenvolvedores do sistema; Deve incluir tanto a definição de usuário quanto a especificação de requisitos de sistema; Em alguns casos os requisitos de usuário e os de sistema podem ser incluídos em apenas uma descrição NÃO é um documento de projeto. Tanto quanto possível, deve definir O QUÊ o sistema deveria fazer,em vez de COMO ele deve fazê-lo;

75 Usuários de um documento de requisitos

76 Requisitos de um documento de requisitos Especificar o comportamento externo do sistema; Especificar restrições de implementação; Fácil de modificar; Servir como ferramenta de referência para manutenção; Registrar a estratégia sobre o ciclo de vida do sistema,ou seja, prever mudanças;

77 Documento de Requisitos Um Modelo de Estrutura

78 Documento de Requisitos 1. Introdução 1.1 Propósito do documento 1.2 Escopo do sistema 1.3 Definições, acrônimos e abreviaturas 1.4 Referências 1.5 Descrição do resto do documento

79 Documento de Requisitos 2. Descrição geral 2.1 Perspectiva do produto 2.2 Funções do produto 2.3 Características dos usuários 2.4 Restrições gerais 2.5 Assertivas e dependências

80 Documento de Requisitos 3. Requisitos específicos requisitos funcionais, não-funcionais, GUI com o usuário: funcionalidade, interfaces externas, desempenho, restrições, atributos do sistema, caract. qualidade,...

81 Bibliografia BOOCH, G.. UML: guia do usuário. Rio de Janeiro: Elsevier, 2005. PRESSMAN, Roger S.. Engenharia de Software. São Paulo: Pearson, 2006. SOMMERVILLE, Ian. Engenharia de Software. São Paulo: Pearson, 2004. Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE Computer Society, chapter 2 (Peter Sawyer, Gerald Kotonya), http://www.swebok.org