1 adaptado a partir de gerald kotonya and ian sommerville engenharia de requisitos análise e...

68
1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Engenharia de Requisitos Análise e Concepção de Análise e Concepção de Sistemas de Informação Sistemas de Informação Carla Ferreira Carla Ferreira [email protected]

Upload: thomas-andrade-aveiro

Post on 07-Apr-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

1

Adaptado a partir de Gerald Kotonya and Ian Sommerville

Engenharia de RequisitosEngenharia de Requisitos

Análise e Concepção de Análise e Concepção de Sistemas de InformaçãoSistemas de Informação

Carla FerreiraCarla [email protected]

Page 2: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

2ACSI/Adaptado por Carla Ferreira

Engenharia de RequisitosEngenharia de Requisitos Introdução

– Requisitos– Requisitos Funcionais– Requisitos Não-Funcionais– Problemas– Métricas– Documento de Requisitos– Exemplo

Processo de Engª de Requisitos– Actividades Gerais– Modelo Espiral– Maturidade do Processo– Melhoria do Processo de Eng.ª de Requisitos

Levantamento e Análise de Requisitos– Questionários, Análise de Documentos, ...– Selecção de Técnicas de Levantamento– Exemplo

Análise de Requisitos– Lista de Verificações– Matrizes de Interacção

Negociação de Requisitos

Page 3: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

3ACSI/Adaptado por Carla Ferreira

FAQS FAQS sobre Requisitos (1/2)sobre Requisitos (1/2)

O que é um requisito?– Uma condição sobre um serviço ou restrição de um sistema

O que é engª de requisitos?– O processo que envolve o desenvolvimento de requisitos de

sistema

Quanto custa a engª de requisitos– Cerca de 15% do custo de desenvolvimento do sistema

O que é um processo de engª de requisitos?– Um conjunto estruturado de actividades que envolve o

desenvolvimento de requisitos de sistema

Page 4: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

4ACSI/Adaptado por Carla Ferreira

FAQS FAQS sobre Requisitos (2/2)sobre Requisitos (2/2)

O que acontece qdo os requisitos estão errados? – Os sistemas são entregues atrasados, sem qualidade e sem

responder às necessidades dos clientes.

Existe algum processo de engª de requisitos ideal?– Não! O processo tem de ser configurada às necessidades de

cada organização.

O que é um documento de requisitos?– É a definição formal dos requisitos de um sistema

Quem são os stakeholders de um sistema?– Qualquer pessoa afectada de alguma forma pelo sistema.

Page 5: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

5ACSI/Adaptado por Carla Ferreira

Req. Funcionais vs. Req. Não-FuncionaisReq. Funcionais vs. Req. Não-Funcionais

Um requisito funcional está relacionado com um processo/funcionalidade que o sistema deve executar ou com informação que o sistema deve manter.

Um requisito não-funcional está relacionado com as propriedades comportamentais que o sistema deve ter:– Definem qualidades globais ou atributos do

sistema

Page 6: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

6ACSI/Adaptado por Carla Ferreira

Requisitos Funcionais*Requisitos Funcionais*

* Systems analysis and design with UML

Page 7: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

7ACSI/Adaptado por Carla Ferreira

Requisitos Não-Funcionais*Requisitos Não-Funcionais*

* Systems analysis and design with UML

Page 8: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

8ACSI/Adaptado por Carla Ferreira

Classificação de RNFs (1/2)Classificação de RNFs (1/2)

Requisitos de desempenho Requisitos de interface Requisitos operacionais Requisitos de recursos Requisitos de verificação Requisitos de aceitação

Segundo o IEEE-Std 830 – 1993

Requisitos de documentação Requisitos de segurança Requisitos de portabilidade Requisitos de qualidade Requisitos de fiabilidade Requisitos de manutenção Requisitos de integridade (safety)

Page 9: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

9ACSI/Adaptado por Carla Ferreira

Classificação de RNFs (2/2)Classificação de RNFs (2/2)Non-functional

requirements

Processrequirements

Product requirements Externalrequirements

Deliveryrequirements

implementationrequirements

standards

requirements

Usability requirements

Reliability requirements

Safety requirements

Efficiency requirements

Performance requirements

Capacity requirements

Legalconstraints

Economicconstraints

Interoperabilityrequirements

Segundo G. Kotonya e I. Sommerville

Page 10: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

10ACSI/Adaptado por Carla Ferreira

Problemas associados aos requisitosProblemas associados aos requisitos

Os requisitos não reflectem as necessidades reais do cliente

Os requisitos são inconsistentes e/ou incompletos

É caro fazer alterações aos requisitos depois destes terem sido acordados

Dificuldade de comunicação e compreensão entre clientes, analistas dos requisitos, e engs que desenvolvem e mantêm o software

Page 11: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

11ACSI/Adaptado por Carla Ferreira

ExercícioExercício

Explicar os problemas que poderiam surgir nos seguintes requisitos da especificação de um sistema de gestão de uma biblioteca

– O sistema deve providenciar uma interface gráfica fácil de usar (easy-to-use) baseada em MS Windows XP

– Utilizadores acreditados devem ter acesso privilegiado aos mecanismos do catálogo do sistema

– O sistema de software deve ser implementado usando módulos separados para catalogação, acesso de utilizadores e arquivo

Page 12: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

12ACSI/Adaptado por Carla Ferreira

Métricas para RNFsMétricas para RNFs

Property MetricPerformance 1. Processed transactions per second

2. Response time to user inputReliability 1. Rate of occurrence of failure

2. Mean time to failureAvailability Probability of failure on demandSize KbytesUsability 1. Time taken to learn 80% of the facilities

2. Number of errors made by users in a given timeperiod

Robustness Time to restart after system failurePortability Number of target systems

Page 13: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

13ACSI/Adaptado por Carla Ferreira

Documento de RequisitosDocumento de Requisitos

É um documento formal usado para registar e comunicar os requisitos dos/aos stakeholders

Descreve:– Os serviços e funções que o sistema deve providenciar– As restrições nas quais o sistema deve funcionar– Todas as propriedades do sistema, i.e., propriedades emergentes– Definições de outros sistemas, com o qual o sistema alvo deverá

comunicar e ou integrar-se– Informação sobre o domínio de aplicação do sistema– Restrições sobre o(s) processo(s) usado para desenvolver o sistema– Descrição das plataformas computacionais (hardware, redes, ...) sobre

as quais o sistema deverá correr

Page 14: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

14ACSI/Adaptado por Carla Ferreira

Utilizadores do Documento de RequisitosUtilizadores do Documento de Requisitos

Clientes do sistema– Especificam os requisitos e/ou leem-nos de para validar da

sua adequação às necessidades Gestores de projecto

– Usam o doc de requisitos para planear os custos e prazos, e para planear o processo de desenvolvimento adequado

Engs de sistema– Usam os requisitos para poderem entender o sistema a

desenvolver Engs de teste do sistema

– Usam os requisitos para desenvolver teste de validação Engs de manutenção do sistema

– Usam os requisitos para o melhor compreender

Page 15: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

15ACSI/Adaptado por Carla Ferreira

Estrutura do Documento de RequisitosEstrutura do Documento de Requisitos

O standard IEEE/ANSI 830-1993 propõe uma estrutura para docs de requisitos de software

1. Introdução1.1 Propósito do documento de requisitos1.2 Contexto do produto1.3 Definições, acrónimos e abreviaturas1.4 Referências1.5 Visão geral do documento

Page 16: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

16ACSI/Adaptado por Carla Ferreira

Estrutura do Documento de RequisitosEstrutura do Documento de Requisitos

2. Descrição geral2.1 Perspectiva do produto2.2 Funções do produto2.3 Características dos

utilizadores2.4 Restrições gerais2.5 Assunções e

dependências3. Requisitos específicos

Envolve requisitos funcionais, não-funcionais e de interface

4. Apêndices

IEEE/ANSI 830-1993

Exemplo de um documento de requisitos

Page 17: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

17ACSI/Adaptado por Carla Ferreira

ExemploExemplo

GamesInc– Rede de 50 lojas de venda de jogos para as

várias consolas. – Actualmente a GamesInc tem um web site com

informação básica sobre a empresa e cada uma das suas lojas (localização, horário de funcionamento, telefone).

– A empresa pretende investir num novo site que permita aos seus clientes consultar informação, consultar disponibilidade de stock, reservar ou encomendar jogos através do web site.

Page 18: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

18ACSI/Adaptado por Carla Ferreira

Engenharia de RequisitosEngenharia de Requisitos Introdução

– Requisitos– Requisitos Funcionais– Requisitos Não-Funcionais– Problemas– Métricas– Documento de Requisitos– Exemplo

Processo de Engª de Requisitos– Actividades Gerais– Modelo Espiral– Maturidade do Processo– Melhoria do Processo de Eng.ª de Requisitos

Levantamento e Análise de Requisitos– Questionários, Análise de Documentos, ...– Selecção de Técnicas de Levantamento– Exemplo

Análise de Requisitos– Lista de Verificações– Matrizes de Interacção

Negociação de Requisitos

Page 19: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

19ACSI/Adaptado por Carla Ferreira

Processo de ERProcesso de ER

Agreedrequirements

Systemspecification

Systemmodels

Requirementsengineering process

Stakeholderneeds

Organisationalstandards

Domaininformation

Regulations

Existingsystems

information

inputs inputs ee outputs outputs

Page 20: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

20ACSI/Adaptado por Carla Ferreira

Requirementselicitation

Requirementsanalysis andnegotiation

Requirementsdocumentation

Requirementsvalidation

Requirementsdocument

User needsdomain

information,existing system

information,regulations,

standards, etc.

AgreedrequirementsSystem

specification

Actividades Gerais do Processo de ERActividades Gerais do Processo de ER

Page 21: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

21ACSI/Adaptado por Carla Ferreira

Requirements elicitation Requirements analysis andnegotiation

Requirements documentationRequirements validation

Informal statement ofrequirements

Agreedrequirements

Draft requirementsdocument

Requirementsdocument and

validationreport

Decision point:Accept documentor re-enter spiral

START

Modelo Espiral para ERModelo Espiral para ER

Page 22: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

22ACSI/Adaptado por Carla Ferreira

Modelo de Maturidade do Processo de ERModelo de Maturidade do Processo de ER

Level 1 - InitialAd-hoc requirements

engineering; requirementsproblems are common

Level 2 - RepeatableStandardised requirements

engineering; fewerrequirements problems

Level 3 - DefinedDefined process basedon best practice; processimprovement in place

Page 23: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

23ACSI/Adaptado por Carla Ferreira

Initial level– Não existe processo de ER– Apresenta os seguintes problemas: volatilidade de

requisitos, insatisfação dos stakeholders, custos elevados de alterações

– Muito dependente das capacidades e experiência das pessoas

Repeatable level– São definidas normas para os documentos de requisitos– São definidas normas de políticas e procedimentos para a

gestão de requisitos Defined level

– O processo de ER está definido com base em boas práticas – Existe uma preocupação na melhoria activa do processo

Níveis de Maturidade do PNíveis de Maturidade do Processrocesso de ERo de ER

Page 24: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

24ACSI/Adaptado por Carla Ferreira

Definir uma estrutura comum/normalizada do documento de requisitos

Identificar univocamente cada requisito Definir políticas para gestão de requisitos Usar checklists para análise de requisitos Usar cenários para levantar requisitos Especificar requisitos quantitativamente Usar prototipagem para animar requisitos Reusar requisitos

Melhoria do Processo de ERMelhoria do Processo de ER

Exemplos de boas práticasExemplos de boas práticas

Page 25: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

25ACSI/Adaptado por Carla Ferreira

Engenharia de RequisitosEngenharia de Requisitos Introdução

– Requisitos– Requisitos Funcionais– Requisitos Não-Funcionais– Problemas– Métricas– Documento de Requisitos– Exemplo

Processo de Engª de Requisitos– Actividades Gerais– Modelo Espiral– Maturidade do Processo– Melhoria do Processo de Eng.ª de Requisitos

Levantamento e Análise de Requisitos– Questionários, Análise de Documentos, ...– Selecção de Técnicas de Levantamento– Exemplo

Análise de Requisitos– Lista de Verificações– Matrizes de Interacção

Negociação de Requisitos

Page 26: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

26ACSI/Adaptado por Carla Ferreira

Levantamento de RequisitosLevantamento de Requisitos

Dilbert

Page 27: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

27ACSI/Adaptado por Carla Ferreira

Requirements elicitation Requirements

analysis

Requirements negotiation

Draft statement of requirements

Requirements document

Requirements problems

Processo de ERProcesso de ER

Levantamento, análise e negociação de requisitosLevantamento, análise e negociação de requisitos

Page 28: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

28ACSI/Adaptado por Carla Ferreira

Técnicas de levantamento de requisitosTécnicas de levantamento de requisitos

Questionários Análise de documentos Entrevistas JAD Casos de Utilização (aula sobre Modelos Funcionais)

Etnografia Prótotipagem

Page 29: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

29ACSI/Adaptado por Carla Ferreira

Planeamento de QuestionáriosPlaneamento de Questionários

Selecionar participantes– Elementos representativos dos stakeholders

Definir questionário– Seleção das questões

Administrar o questionário– Definir estratégias para obter um bom número de respostas

Follow-up do questionário– Enviar os resultados do questionário aos participantes

Page 30: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

30ACSI/Adaptado por Carla Ferreira

Análise de DocumentosAnálise de Documentos

Contém informação do sistema “as-is” Documentos típicos:

– Formulários– Relatórios– Manuais de procedimento

Procurar elementos adicionados aos formulários pelos utilizadores

Procurar elementos não utilizados

Page 31: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

31ACSI/Adaptado por Carla Ferreira

Planeamento da entrevistaPlaneamento da entrevista

Ler material de suporte Estabelecer os objectivos da entrevista Decidir quem entrevistar Preparar o entrevistado Decidir os tipos de questões e a sua

estrutura

Page 32: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

32ACSI/Adaptado por Carla Ferreira

EntrevistasEntrevistasTypes of Questions Examples

Closed-Ended Questions * How many telephone orders are received per day?

* How do customers place orders?* What additional information would you like the new system to provide?

Open-Ended Questions * What do you think about the current system?* What are some of the problems you face on a daily basis?* How do you decide what types of marketing campaign to run?

Probing Questions * Why?* Can you give me an example?* Can you explain that in a bit more detail?

* Systems analysis and design with UML

Page 33: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

33ACSI/Adaptado por Carla Ferreira

Estruturar EntrevistasEstruturar Entrevistas

Estrutura em pirâmide– Começar com uma pergunta especifica, fechar com uma pergunta

genérica– Usar com entrevistados relutantes

Estrutura em fúnil– Começar com uma pergunta genérica, fechar com uma pergunta

especifica– Forma amigável de começara a entrevista– Usar quando os entrevistados tem uma relação efectiva com o

assunto

Estrutura em diamante– Combina as aproximações anteriores, por isso demora mais tempo– Mantém o entrevistado interessado usando perguntas variadas

Page 34: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

34ACSI/Adaptado por Carla Ferreira

Estruturar EntrevistasEstruturar Entrevistas

Quantas devoluções de encomendas ocorrem por semana?

Como é que se pode melhorar o processamento de encomendas?

* Systems analysis and design with UML

Page 35: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

35ACSI/Adaptado por Carla Ferreira

Relatório da EntrevistaRelatório da Entrevista

INTERVIEW REPORT

Interview notes approved by: ____________

Person interviewed ______________Interviewer _______________Date _______________Primary Purpose:

Summary of Interview:

Open Items:

Detailed Notes:

* Systems analysis and design with UML

Page 36: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

36ACSI/Adaptado por Carla Ferreira

Joint Application Design (JAD)Joint Application Design (JAD)

Pode substituir uma série de entrevistas com a comunidade de utilizadores

Permite ao analista efectuar o levantamento de requisitos com os utilizadores

Page 37: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

37ACSI/Adaptado por Carla Ferreira

Quando usar JAD?Quando usar JAD?

Se os utilizadores querem algo novo Se a cultura organizacional suporta a

resolução de problemas em grupo A utilização do JAD provoca um aumento de

ideias geradas O workflow organizacional permite que

empregados essenciais se ausentem para assistir às reuniões JAD

Page 38: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

38ACSI/Adaptado por Carla Ferreira

Quem está envolvido nas sessões JAD?Quem está envolvido nas sessões JAD?

Analista– Pelo menos 1, mas deve ter um papel passivo

Utilizadores– De 8 a 12 utilizadores– Moderador

O moderador para a sessão deve ser escolhido com base no seu poder de comunicação e não deve ser o analista

Supervisor do moderador da sessão não deve pertencer ao grupo de utilizadores JAD

– 1 ou 2 técnicos especializados que assumem um papel passivo

– Um dos participantes deve registar o conteúdo da sessão Executivo

– Escolher um executivo como patrocinador que irá introduzir e concluir a sessão JAD

Page 39: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

39ACSI/Adaptado por Carla Ferreira

Onde realizar as sessões JAD?Onde realizar as sessões JAD?

Organizar entre 2 a 3 sessões de um dia fora do local do trabalho para minimizar interferências

Reservar uma sala para 20 pessoas Planear a comida e as bebidas Só realizar as reuniões se todos os

participantes podem estar presentes

Page 40: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

40ACSI/Adaptado por Carla Ferreira

Sala de reuniões Sala de reuniões

Page 41: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

41ACSI/Adaptado por Carla Ferreira

Vantagens do JADVantagens do JAD

Menos 15% do tempo em comparação com as entrevistas individuais

Desenvolvimento rápido de sistemas Os utilizadores sentem-se integrados no

desenvolvimento do sistema Desenvolvimento criativo de designs

Page 42: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

42ACSI/Adaptado por Carla Ferreira

Desvantagens do JADDesvantagens do JAD

Exige que os vários participantes tenham tempo disponível para todas as sessões

Se a preparação for insuficiente, a sessão pode não ter sucesso

Se o relatório de uma sessão estiver incompleto pode por em risco a próxima sessão

A cultura organizacional pode não ser compatível com a aproximação JAD

Page 43: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

43ACSI/Adaptado por Carla Ferreira

EtnografiaEtnografia

É difícil descrever como que se realizam tarefas– Solução: Observar como as

tarefas são realizadas Etnografia – técnica

desenvolvida na área das ciências socias– Útil para determinar o

método de trabalho Divergência entre os

métodos de trabalho usados e a sua definição formal

Page 44: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

44ACSI/Adaptado por Carla Ferreira

Etnografia e EREtnografia e ER

Procurar métodos pouco usuais de trabalho Estabelecer uma relação de confiança com os

utilizadores Manter notas detalhadas sobre os métodos de

trabalho. Combinar observação com entrevistas abertas Organisar sessões regulares de esclarecimento Usar outras técnicas de levantamento de requisitos

Page 45: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

45ACSI/Adaptado por Carla Ferreira

EtnografiaEtnografia

Perspectiva do contexto do trabalho – Descreve o contexto e a localização fisíca do trabalho e

como as pessoas usam os objectos para realizar tarefas

Perspectiva social e organizacional – Cada individuo tem uma percepção única sobre o trabalho

Perspectiva do fluxo de trabalho– Descrever as actividades que formam um trabalho/tarefa e

o fluxo de informação entre essas actividades.

Page 46: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

46ACSI/Adaptado por Carla Ferreira

PrototipagemPrototipagem

Protótipo– Versão inicial de um sistema para experimentação

Permite aos utilizadores identificar os pontos fortes e fracos do sistema

Algo concreto que pode ser criticado Protótipos devem estar disponíveis durante o

levantamento de requisitos

Page 47: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

47ACSI/Adaptado por Carla Ferreira

Vantagens da PrototipagemVantagens da Prototipagem

Utilizadores podem experimentar “o sistema” Estabelece a fiabilidade e utilidade do

sistema Essencial para definir o “look and feel” da

interface com o utilizador Pode ser usado nos testes do sistema e no

desenvolvimento de documentação Obriga a estudar com detalhe os requisitos

– Encontrar inconsistências e omissões

Page 48: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

48ACSI/Adaptado por Carla Ferreira

Tipos de ProtótiposTipos de Protótipos

Protótipos “Throw-away”– Objectivo: Ajudar o levantamento e

desenvolvimento dos requisitos – Suportar os requisitos mais difíceis de perceber

Protótipos Evolutivos– Objectivo: desenvolvimento rápido de uma versão

inicial do sistema– Suportar os requisitos bem definidos e

conhecidos

Page 49: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

49ACSI/Adaptado por Carla Ferreira

Desvantagens da PrototipagemDesvantagens da Prototipagem

Custos de aprendizagem Custos de desenvolvimento Estende a planificação do desenvolvimento São incompletos

– Pode não ser possível protótipar requisitos críticos

Page 50: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

50ACSI/Adaptado por Carla Ferreira

Abordagens à prototipagemAbordagens à prototipagem

Prototipagem em papel– Representação em papel do interface do sistema

Prototipagem ‘Wizard of Oz’ – Uma pessoa (wizard) simula as respostas do sistema de

acordo com as entradas do utilizador Prototipagem executável

– Utilização de uma ambiente de desenvolvimemto rápido para desenvolver um protótipo executável

Page 51: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

51ACSI/Adaptado por Carla Ferreira

Prototipagem em papelPrototipagem em papel

Características – Representar em papel a funcionalidade e aparência da

interface– Tem custos baixos e é fácil de preparar e alterar

Objectivos– Analisar diferentes representações para a interface com o

utilizador– Fazer o levantamento das reacções dos utilizadores– Fazer o levantamento das modificações (e sugestões)

requeridas pelos utilizadores

Page 52: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

52ACSI/Adaptado por Carla Ferreira

Prototipagem em PapelPrototipagem em Papel

Page 53: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

53ACSI/Adaptado por Carla Ferreira

Prototipagem ‘Wizard of Oz’Prototipagem ‘Wizard of Oz’

A method of testing a system that does not exist– the voice editor, IBM 1984

The WizardO que o utilizador vê Wizard

Page 54: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

54ACSI/Adaptado por Carla Ferreira

Prototipagem ‘Wizard of Oz’Prototipagem ‘Wizard of Oz’

O ‘wizard’ humano simula as respostas do sistema– Interpreta os inputs de um utilizador segundo um algoritmo– Controla computador para simular o output desejado– Usa a interface real ou um “mock-up”

É usado para:– Simular a adição de funcionalidades complexas – Testar ideias futuristicas

Page 55: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

55ACSI/Adaptado por Carla Ferreira

Seleção de Técnicas de LevantamentoSeleção de Técnicas de Levantamento**

Interviews JAD Questionnaires Document Observation Analysis

Type of As-Is As-Is As-Is As-Is As-IsInformation Improve. Improve. Improve. To-Be To-Be

Depth of High High Medium Low LowInformation

Breadth of Low Medium High High LowInformation

Integration Low High Low Low Lowof Information

User Medium High Low Low LowInvolvement

Cost Medium Low- Low Low Low- Medium Medium

* Systems analysis and design with UML

Page 56: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

56ACSI/Adaptado por Carla Ferreira

Exemplo 1Exemplo 1

Considere que é o analista responsável por desenvolver um novo sistema que suporte as decisões estratégicas dos gestores séniors de uma companhia de seguros. Os gestores reúnem-se mensalmente para discutir a evolução do mercado e reajustar a estratégia da empresa. Até agora estas reuniões são suportadas por documentação (extensa) em papel. O novo sistema vem eliminar o tempo perdido a analisar detalhadamente esses documentos, permintindo que os gestores se concentrem apenas nas questões estratégicas da empresa.

Page 57: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

57ACSI/Adaptado por Carla Ferreira

Exemplo 2Exemplo 2

É responsável pela especificação de requisitos de um sistema de gestão de cadastro da infra-estrutura de rede física da empresa LxGásNatural, que é uma operadora/distribuidora de gás natural na região da grande Lisboa. Ao sistema que se pretende conceber e desenvolver deu-se o nome de SIG-RedeGásNatural, e o seu objectivo geral é permitir que a gestão dos elementos físicos da rede (e.g., condutas, ramais, juntas, postos de redução) seja suportada por um sistema integrado de informação geográfica.

Existe um sistema de informação legado, em funcionamento, fortemente baseado em papel e em desenhos técnicos (i.e., ficheiros CAD) guardados num servidor de ficheiros partilhados, o qual apenas é acedido e gerido por técnicos do Departamento Técnico da empresa.

A cultura da empresa LxGásNatural é formal, baseada em relações hierárquicas de poder e de responsabilidades bem definidas.

Page 58: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

58ACSI/Adaptado por Carla Ferreira

Exemplo 3Exemplo 3

A empresa de distribuição de produtos para animais “Sr. Cão” pretende adquirir um sistema de apoio à decisão de compras de produtos. O “Sr. Cão” é uma empresa familiar gerida por 2 irmãos e os seus filhos, mas que neste momento se encontra em grande expansão quer em número de vendas, quer na variedade de produtos. O sistema que está a ser usado actualmente apenas regista o stock existente em armazém para cada produto, o que dificulta a gestão eficiente do stock. O objectivo do sistema a desenvolver é permitir reduzir os custos das compras e minimizar o nível de stock a manter no armazém. Tendo em consideração estes objectivos, o novo sistema deverá definir semanalmente uma lista de produtos a adquirir, associando a para cada produto a quantidade a comprar e o fornecedor a usar.

Page 59: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

59ACSI/Adaptado por Carla Ferreira

Engenharia de RequisitosEngenharia de Requisitos Introdução

– Requisitos– Requisitos Funcionais– Requisitos Não-Funcionais– Problemas– Métricas– Documento de Requisitos– Exemplo

Processo de Engª de Requisitos– Actividades Gerais– Modelo Espiral– Maturidade do Processo– Melhoria do Processo de Eng.ª de Requisitos

Levantamento e Análise de Requisitos– Questionários, Análise de Documentos, ...– Selecção de Técnicas de Levantamento– Exemplo

Análise de Requisitos– Lista de Verificações– Matrizes de Interacção

Negociação de Requisitos

Page 60: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

60ACSI/Adaptado por Carla Ferreira

Necessitychecking

Consistency andcompleteness

checkingFeasibilitychecking

Unnecessaryrequirements

Conflicting andincomplete

requirementsInfeasible

requirements

Requirementsdiscussion

Requirementsprioritisation

Requirementsagreement

Requirements analysis

Requirements negotiation

Análise e Negociação de RequisitosAnálise e Negociação de Requisitos

Page 61: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

61ACSI/Adaptado por Carla Ferreira

Análise de RequisitosAnálise de Requisitos

Objectivos:– Encontrar problemas, falhas e inconsistências

A análise é intercalada com o levantamento de requisitos

A análise é suportada por uma lista de verificação de problemas

Page 62: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

62ACSI/Adaptado por Carla Ferreira

Lista de Verificação (1/2)Lista de Verificação (1/2)

Desenho prematuro do sistema– Verificar se o requisito inclui informação prematura sobre o

design ou a implementação Combinação de requisitos

– Verificar se a descrição do requisito descreve um único requisito ou se pode ser dividida em diferentes requisitos

Requisitos desnecessários– Verificar se o requisito é apenas uma adição “cosmética” ao

sistema. Utilização de HW não-standard

– Verificar se o requisito obriga a uso de hardware que não é standard

– Para tomar esta decisão é necessário saber os requisitos da plataforma a supotar

Page 63: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

63ACSI/Adaptado por Carla Ferreira

Lista de Verificação (2/2)Lista de Verificação (2/2)

Conformidade com os objectivos de negócio– Verificar se o requisito é consistente com os objectivos do

negócio definidos na introdução do documento de requisitos Requisitos ambíguos

– Verificar se o requisito pode ser lido de forma diferentes por diferentes pessoas

– Quais as interpretações possíveis? Requisitos realistas

– Verificar se o requisito é realista tendo em conta a tecnologia a ser usada para implementar o sistema

Requisitos “testáveis”– Verificar se os engenheiros de teste podem derivar um teste

a partir da descrição do requisito que mostre que o sistema satisfaz esse requisito

Page 64: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

64ACSI/Adaptado por Carla Ferreira

Matrizes de interaçãoMatrizes de interação

Objectivos da análise de requisitos:– Determinar as interações entre requisitos – Evidenciar conflitos e sobreposições

Matriz de interação de requisitos– Requisitos em conflito, colocar 1– Requisitos sobrepostos, colocar 1000– Requisitos independentes, colocar 0

Page 65: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

65ACSI/Adaptado por Carla Ferreira

Matrizes de InteraçãoMatrizes de Interação

Requirement R1 R2 R3 R4 R5 R6R1 0 0 1000 0 1 1R2 0 0 0 0 0 0R3 1000 0 0 1000 0 1000R4 0 0 1000 0 1 1R5 1 0 0 1 0 0R6 1 0 1000 1 0 0

Page 66: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

66ACSI/Adaptado por Carla Ferreira

Engenharia de RequisitosEngenharia de Requisitos Introdução

– Requisitos– Requisitos Funcionais– Requisitos Não-Funcionais– Problemas– Métricas– Documento de Requisitos– Exemplo

Processo de Engª de Requisitos– Actividades Gerais– Modelo Espiral– Maturidade do Processo– Melhoria do Processo de Eng.ª de Requisitos

Levantamento e Análise de Requisitos– Questionários, Análise de Documentos, ...– Selecção de Técnicas de Levantamento– Exemplo

Análise de Requisitos– Lista de Verificações– Matrizes de Interacção

Negociação de Requisitos

Page 67: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

67ACSI/Adaptado por Carla Ferreira

Negociação de requisitosNegociação de requisitos

Conflitos não são falhas– Refletem diferentes necessidades e prioridades

Negociação de requisitos tenta encontrar uma solução de concordância

A negociação de requisitos pode ser um processo demorado– A planificação de processo de ER deve ter em

conta o tempo dispendido na negociação

Page 68: 1 Adaptado a partir de Gerald Kotonya and Ian Sommerville Engenharia de Requisitos Análise e Concepção de Sistemas de Informação Carla Ferreira carla.ferreira@dei.ist.utl.pt

68ACSI/Adaptado por Carla Ferreira

Reuniões de negociaçãoReuniões de negociação

Fase de informação– Explicar os problemas associados com os requisitos

a negociar Fase de discussão

– stakeholders devem ter oportunidade de comentar os requisitos que lhes dizem respeito

– Usar esta fase para atribuir prioridades aos requisitos Fase de resolução

– Eliminar, alterar ou refinar o requisito