Apostila PSP Requisitos v1.2
Apostila PSP Requisitos v1.2
Apostila PSP Requisitos v1.2
Gerncia de Engenharia de Software (GESS-PB) Superintendncia de Arquitetura de Sistemas (SAS-PB) Diretoria de Sistemas e Informao (DS-PB) Empresa de Informtica e Informao de Belo Horizonte (Prodabel S/A)
Verso 1.2
Sumrio 1. Requisitos de software 2. Engenharia de requisitos 3. Tcnicas de levantamento (elicitao) de requisitos 4. Casos de uso 5. Modelagem de casos de uso 6. Exerccios
Requisitos de software
Gerncia de Engenharia de Software (GESS-PB) Superintendncia de Arquitetura de Sistemas (SAS-PB) Diretoria de Sistemas e Informao (DS-PB) Empresa de Informtica e Informao de Belo Horizonte (Prodabel S/A)
Verso 1.2
Objetivos
Entender o que um requisito Apresentar as classificaes dos requisitos
Requisitos
C1-Introduo
Roteiro
Problemas de desenvolvimento de software Definio de requisitos Classificao dos requisitos Visibilidade Natureza Regras de negcio Requisitos e processos Interessados nos requisitos Engenharia de requisitos Desenvolvimento de requisitos Gerenciamento de requisitos
Requisitos Processo de software da PBH/Prodabel 3
C1-Introduo
Requisitos
C1-Introduo
Requisitos
O termo requisito nem sempre utilizado pela indstria de software de modo consistente. Em alguns casos, um requisito visto como uma declarao abstrata, de alto nvel, de uma funo que o sistema deve fornecer ou de uma restrio do sistema. No outro extremo, ele pode ser uma definio detalhada, matematicamente formal, de uma funo do sistema. Que definio adotar? __________________________________________
Requisitos Processo de software da PBH/Prodabel 8
C1-Introduo
Documento de requisitos
Se uma empresa deseja estabelecer um contrato para o desenvolvimento de um projeto de software, suas necessidades tm que ser definidas de forma suficientemente abstrata para que uma soluo a priori no seja definida. No caso de contratao externa os requisitos devem ser redigidos de modo que os diversos fornecedores possam apresentar propostas. Uma vez estabelecido o contrato, o fornecedor escolhido precisa preparar uma definio de sistema para o cliente contendo mais detalhes, de modo que o cliente possa compreender e validar o que o software far. Em ambos os casos, tem-se um documento de requisitos. Essas afirmaes mostram que a definio de requisitos deve ser feita por meio de refinamentos sucessivos, indo do conceitual em direo ao fsico.
Requisitos Processo de software da PBH/Prodabel 9
Definio de requisitos
1. Condio ou capacidade necessria a um usurio para resolver um problema ou atingir um objetivo. 2. Condio ou capacidade que deve ser alcanada ou possuda por um sistema ou componente de sistema para satisfazer um contrato, padro, especificao ou outro documento formalmente imposto. 3. Uma representao documentada de uma condio ou capacidade como nos itens 1 e 2 acima. Fonte: [IEEE Standard Glossary of Software Engineering Terminology, 1990]
Requisitos Processo de software da PBH/Prodabel 10
C1-Introduo
Definio de requisitos II
Requsitos so uma especificao do que deve ser implementado. Eles constituem descries de como o sistema deve se comportar, ou uma propriedade ou atributo do sistema. Podem caracterizar uma restrio no processo de desenvolvimento do sistema. Fonte: Sommervile e Sawyer, Requirements Engineering, 1997].
Requisitos
11
O que requisito no
Especificao de requisitos no incluem: Detalhes de desenho; Implementao; Informaes de teste; Requisitos de projeto; Limites de recursos e tempo; necessidade de um tutorial para os usurios; Etc
Requisitos Processo de software da PBH/Prodabel 12
C1-Introduo
Quanto a natureza
Funcionais; No funcionais.
Requisitos
13
Domnio do problema => Negcio Necessidades Requisitos de usurio Domnio da soluo => Sistema Requisitos de desenho
+ Fsico
Requisitos de sistemas
Requisitos
14
C1-Introduo
Necessidades
Tambm conhecidas como requisitos de negcio, representam objetivos de alto nvel da organizao ou cliente que requisitou o sistema. Tipicamente so originadas do patrocinador do projeto, o adquirente. Por ex: o gerente dos usurios ou o setor de marketing. Descrevem porque a organizao est implementando o sistema os objetivos que espera-se atingir. Normalmente so contemplados num documento de viso ou proposta do projeto. Ex: Reduzir os custos operacionais [em y%]; Aumentar participao no mercado [em x%]; Implantar nova linha de produtos e servios. D um exemplo na sua rea de trabalho: ____________________________________________________
Requisitos Processo de software da PBH/Prodabel 16
C1-Introduo
Requisitos de sistema: Estabelecem detalhadamente as funes e restries de sistema. O documento de requisitos de sistema, tambm chamado Especificao Funcional ou de Requisitos, deve ser preciso. Ele pode servir como um contrato entre comprador e desenvolvedor.
Requisitos de desenho: Uma descrio abstrata que base para detalhes de implementao. Essa especificao acrescenta mais detalhes Especificao de Requisitos do Sistema. um documento orientado implementao.
Requisitos Processo de software da PBH/Prodabel 17
Requisitos de sistema
Requisitos de desenho
Requisitos
18
C1-Introduo
Requisitos funcionais
Declaraes de funes que o sistema deve fornecer, como o sistema deve reagir a entradas especficas e como deve se comportar em dadas situaes. Descrevem as funcionalidades ou servios que um sistema oferece. Dependem do tipo de software, usurios esperados e do tipo de sistema onde o software ser utilizado. Enquanto requisitos funcionais de usurio podem ser declaraes de alto nvel do que o sistema deve fazer, requisitos funcionais de sistema devem descrever os servios do sistema em detalhes.
Requisitos Processo de software da PBH/Prodabel 20
C1-Introduo
10
Requisitos funcionais
Especificam funcionalidades de software que os desenvolvedores devem construir para possibilitar aos usurios executar suas tarefas, satisfazendo aos requisitos de negcio. Esse tipo de requisitos descrito tradicionalmente pela sentena 'deve. Ex: O sistema deve enviar uma mensagem com a confirmao de reserva para o usurio.
Requisitos Processo de software da PBH/Prodabel 21
Requisitos
22
C1-Introduo
11
Requisitos no funcionais
Restries sobre as funes oferecidos pelo sistema. Destacamse aqui as restries de tempo, processo e padro. Ex.: tempo de resposta, requisitos de armazenamento, confiabilidade, capacidade dos dispositivos de I/O, etc... Tambm podem ser especificados uma determinada ferramenta CASE, linguagem de programao ou processo de desenvolvimento. Podem ser mais crticos que os requisitos funcionais. Ex: ________________________________________________ Caso no sejam atendidos, o sistema pode tornar-se inutilizvel. Ex: ________________________________________________
Requisitos Processo de software da PBH/Prodabel 23
Requisitos de produto
Requisitos organizacionais
Requisitos externos
Requisitos
24
C1-Introduo
12
Requisitos organizacionais: Decorrem de polticas e procedimentos nas organizaes do cliente e/ou do desenvolvedor.
Requisitos externos: Abrangem todos os requisitos procedentes de fatores externos ao sistema e ao seu processo de desenvolvimento.
Requisitos Processo de software da PBH/Prodabel 25
Requisitos de organizao:
O processo de desenvolvimento e os documentos entregues devero estar de acordo com o processo e os produtos definidos em XYZCo-SP-STAN-95.
Requisitos externos:
O sistema no dever revelar aos operadores nenhuma informao pessoal sobre os clientes alm de seus nomes e cdigo.
Requisitos Processo de software da PBH/Prodabel 26
C1-Introduo
13
Metas e requisitos
Requisitos no funcionais podem ser difceis de estabelecer e requisitos imprecisos so difceis para verificar. Metas so teis a medida que elas esclarecem as intenes dos usurios do sistema Meta:
Uma inteno do usurio, como fcil de usar, rpido.
Exemplos
Uma meta do sistema
O sistema deve ser fcil de ser usado por controladores experientes e organizado de tal forma que os erros possam ser minimizados.
C1-Introduo
14
Robustez
Portabilidade
Requisitos
Atributos de qualidade
Os requisitos no funcionais tambm so conhecidos como atributos de qualidade (norma ISO 9126):
Viso do cliente:
Disponibilidade Eficincia Flexibilidade Integridade Interoperabilidade Confiabilidade Robustez Usabilidade
Requisitos Processo de software da PBH/Prodabel 30
Viso do desenvolvedor:
Manutenibilidade Portabilidade Reusabilidade Testabilidade
C1-Introduo
15
Regras de negcio
No so exatamente requisitos, pois existem fora dos limites de qualquer sistema especfico. Geralmente restringem quem pode desempenhar determinadas tarefas ou diz que o sistema deve conter certas funcionalidades.
Normalmente inclui polticas da corporao, regulaes governamentais, padres da indstria, prticas contbeis e algoritmos computacionais.
Requisitos Processo de software da PBH/Prodabel 32
C1-Introduo
16
Regras de negcio
Uma regra de negcio uma sentena que define ou restringe algum aspecto do negcio. Tem por objetivo atender a estrutura, controlar ou influenciar o comportamento do negcio. Classificao das regras de negcio: - Fato - Restrio - Habilitador - Clculo - Inferncia
Requisitos Processo de software da PBH/Prodabel 33
Fato
Sentenas simples verdadeiras sobre o negcio. Tipicamente descrevem associaes ou relaes entre termos de negcio relevantes. So tambm chamadas de invariantes.
Exemplos:
Cada continer deve ter um nico cdigo de barra identificador. Todo pedido deve ter uma carga de entrega. Taxas de vendas no so computadas nas cargas de envio.
Requisitos Processo de software da PBH/Prodabel 34
C1-Introduo
17
Restries
Restringem as aes que o sistema ou usurios podem executar. Algumas palavras e frases sugerem restries como deve e no deve.
Exemplos:
Tripulao deve gozar de pelo menos 8 horas de descanso a cada 24 horas. Um cliente com menos de 18 anos deve ser associado a um responsvel.
Requisitos
35
Habilitador
Regra que dispara alguma atividade sob uma condio especfica.
Exemplos:
Se a data de expirao de um produto tiver sido atingida, o responsvel deve ser notificado por email. No ltimo dia da quinzena, gerar os relatrios gerenciais e disponibilizar aos gestores.
Requisitos
36
C1-Introduo
18
Clculo
Clculos realizados usando frmulas matemticas especficas ou algoritmos. Vrios clculos seguem regras externas as organizaes. Exemplos:
O preo total de um pedido determinado pela soma dos preos de cada item, deduzido de qualquer desconto de volume, mais taxas de vendas estaduais e federais, mais taxa de embarque e seguro Tabela de desconto:
Desconto (%) 0 10 20
37
Inferncia
Regra que estabelece algum novo conhecimento baseado na verdade de certas condies. Uma inferncia cria um novo fato de outros fatos ou de clculos. So geralmente escritos no formato se ento. Exemplos:
Se o pagamento no for recebido em 30 dias corridos, o ttulo ser protestado. Produtos com taxa de toxidade maiores que 5 mg/kg so considerados perigosos.
Requisitos
38
C1-Introduo
19
Gerncia de Engenharia de Software (GESS-PB) Superintendncia de Arquitetura de Sistemas (SAS-PB) Diretoria de Sistemas e Informao (DS-PB) Empresa de Informtica e Informao de Belo Horizonte (Prodabel S/A)
Verso 1.2
Objetivos
Apresentar o conceito de Engenharia de requisitos Apresentar a disciplina Requisitos do PSP
Requisitos
C2-Engenharia de requisitos
Roteiro
Engenharia de requisitos Processo de Software da PBH / Prodabel (PSP) MPS.BR RUP Desenvolvimento de requisitos Gerncia de requisitos
Requisitos
Engenharia de requisitos
Processo de estabelecer os servios que um cliente requer de um sistema e as restries em que o mesmo desenvolvido e ser operado. Os requisitos so a descrio dos servios de sistema e restries que so gerados durante o processo de engenharia de requisitos. Os processos usados dependem do domnio da aplicao, pessoas envolvidas e organizao.
Requisitos
C2-Engenharia de requisitos
Gerenciamento de requisitos
Controle de verses Controle de mudanas
Requisitos Processo de software da PBH/Prodabel 5
Requisitos
C2-Engenharia de requisitos
Requisitos
C2-Engenharia de requisitos
Conflito de interesses
Requisitos
Direitos do usurio
Esperar que o analista fale a sua lngua. Esperar que o analista compreenda o negcio. Esperar que o analista escreva a especificao de requisitos. Receber explicao do analista sobre os produtos gerados. Receber tratamento respeitoso e profissional do analista. Receber alternativas do analista. Descrever caractersticas do produto que facilitaro sua vida. Ter oportunidade de ajustar o produto para prover reuso. Receber estimativas corretas de tempo e custo. Receber informaes sobre o impacto dos pedidos de mudana. Receber um sistema que atenda aos requisitos.
Requisitos Processo de software da PBH/Prodabel 10
C2-Engenharia de requisitos
Requisitos
11
Analista de requisitos
Analista de requisitos o indivduo que tem como responsabilidade principal coletar, analisar, documentar e validar as necessidades dos envolvidos no projeto. O analista serve como principal condutor atravs do qual os requisitos fluem dos clientes at a equipe de desenvolvimento. Avalie como isto acontece na sua rea funcional: ____________________________________________ ____________________________________________
Requisitos Processo de software da PBH/Prodabel 12
C2-Engenharia de requisitos
Requisitos
13
Conhecimentos:
Engenharia de requisitos. Processo de software. Gerenciamento de projetos. Qualidade. Domnio da aplicao.
Requisitos
14
C2-Engenharia de requisitos
Importante
No assuma que um desenvolvedor talentoso ou usurio avanado automaticamente pode se tornar um analista de requisitos efetivo sem treinamento, material de apoio e acompanhamento. As atribuies de um analista demandam habilidades, conhecimentos e atitudes diferentes. Analise se voc tem as habilidades e conhecimentos requeridos de um analista de requisitos:
Habilidades: Conhecimentos:
Requisitos
__ Sim __ Sim
__ No __ No
15
Requisitos no PSP
Os assuntos relacionados a requisitos de software no Processo de Software da PBH/Prodabel esto disponveis no prprio processo. As principais referncias para a estruturao do fluxo so: Disciplina de Requisitos do RUP: O PSP aderente ao RUP e, por consequncia, requisitos orientam todo o processo de desenvolvimento de software. Resultados esperados do MPS.BR: Os REP especficos de Gerncia de Requisitos devem ser atendidos.
Requisitos
16
C2-Engenharia de requisitos
Requisitos e o RUP
Requisitos
17
C2-Engenharia de requisitos
Requisitos
19
C2-Engenharia de requisitos
10
Requisitos no PSP
Principais papis :
Analista de requisitos Desenvolvedor
Principais artefatos:
Especificao de requisitos Modelo de casos de uso Caso de uso (detalhado) Especificao suplementar
Requisitos
21
Fontes de requisitos
Requisitos
22
C2-Engenharia de requisitos
11
Fontes de requisitos
Entrevistas e discusses com usurios potenciais. Documentos dos produtos atuais ou concorrentes. Especificao de requisitos. Relatrios de problemas e pedidos de melhoria. Pesquisas de marketing e questionrios de usurios. Observao do usurio no trabalho. Anlise de cenrios e tarefas de usurios. Eventos e respostas. Outros: _____________________________________
Requisitos Processo de software da PBH/Prodabel 23
C2-Engenharia de requisitos
12
Especificao de requisitos
a base para a equipe de anlise e desenho, pois descreve funes e desempenho requeridos de um sistema baseado em computao e as regras que guiaro seu desenvolvimento. Limita cada elemento alocado ao sistema e tambm descreve as informaes (dados e controle) que constituem as entradas e sadas do sistema.
Pode ser um documento escrito, um modelo grfico, um modelo matemtico formal, uma coleo de cenrios de uso, um prottipo ou qualquer combinao dos itens citados.
Requisitos Processo de software da PBH/Prodabel 26
C2-Engenharia de requisitos
13
Validao:
Tem como propsito confirmar que um produto ou componente do produto atender a seu uso pretendido quando colocado no ambiente para o qual foi desenvolvido.
Requisitos Processo de software da PBH/Prodabel 27
Verificao e Validao
Verificao: Estamos construindo certo o produto? - Ponto de vista do desenvolvedor / equipe. Validao: Estamos construindo o produto certo? - Ponto de vista do usurio final / cliente.
Requisitos
28
C2-Engenharia de requisitos
14
Inspeo: anlise detalhada feita por um grupo com papis e organizao bem definidos. Testes: execuo de um programa com o objetivo de encontrar erros.
Requisitos Processo de software da PBH/Prodabel 29
C2-Engenharia de requisitos
15
Priorizao de requisitos
Projetos de software possuem limitaes de recursos que nos obrigam a definir a prioridade relativa dos requisitos. A priorizao ajuda o gerente de projeto a resolver conflitos, planejar iteraes e fazer as compensaes necessrias. Quando as expectativas do cliente so altas e o tempo curto, faz-se necessrio entregar o produto com as funcionalidades mais relevantes, o mais cedo possvel. Perguntas teis: H outra maneira de satisfazer as necessidades que esse requisito trata? Qual ser a consequncia de omitir esse requisito? Qual ser o impacto nos objetivos de negcio se o requisito no for implementado nessa iterao? Por que o usurio ficaria descontente caso esse requisito fosse adiado para a ltima iterao?
Requisitos Processo de software da PBH/Prodabel 32
C2-Engenharia de requisitos
16
Priorizao de requisitos
Urgente No urgente
Peso Requisito 2 Benefcio relativo 3 1 2 6 1 2 3 6 1 Perda relativa
C2-Engenharia de requisitos
17
Gerenciamento de requisitos
Os requisitos passam a compor uma baseline aps serem revisados e aprovados pelos envolvidos no processo de desenvolvimento de requisitos. Nesse momento, passam a definir o acordo entre desenvolvedores e clientes. Esse acordo a ponte entre o desenvolvimento e o gerenciamento de requisitos. O gerenciamento de requisitos envolve as seguintes atividades:
Controlar mudanas na baseline de requisitos. Manter planos de projetos de acordo com os requisitos. Controlar verses dos requisitos e documentos associados. Monitorar o status dos requisitos na baseline. Gerenciar as ligaes entre requisitos e outros produtos de trabalho.
Requisitos Processo de software da PBH/Prodabel 35
C2-Engenharia de requisitos
18
Monitoramento de status
Monitorar o status de cada requisito ao longo do desenvolvimento prov uma maneira mais refinada de se medir o progresso do projeto. Classificar os requisitos em status mais simples e til do que atribuir um percentual de concluso. Exemplos de status:
Proposto: requisito solicitado por pessoa autorizada. Aprovado: realizada anlise de impacto, estimativas de projeto e alocao para uma release especfica. Implementado: cdigo desenhado, escrito e testado. Verificado: funcionamento confirmado e requisito integrado. Rejeitado: requisito proposto mas no planejado para implementao em nenhuma release.
Requisitos Processo de software da PBH/Prodabel 37
Controle de mudanas
Procedimentos que visam garantir:
Mudanas de requisitos propostas so avaliadas cuidadosamente antes de atualizadas. Responsveis tomam decises sobre mudanas solicitadas. Mudanas aprovadas so comunicadas a todos interessados. O projeto incorpora mudanas de uma maneira consistente.
Voc acha que os mecanismos de CM devem ser formais ou informais? Explique! ______________________________________________ ______________________________________________
Requisitos Processo de software da PBH/Prodabel 38
C2-Engenharia de requisitos
19
C2-Engenharia de requisitos
20
Anlise de impacto
Geralmente desenvolvida por um tcnico com grande conhecimento. Possui trs aspectos:
Entender as possveis implicaes de se fazer a mudana. Identificar todos arquivos, modelos e documentos que devem ser modificados se a mudana ocorrer. Identificar tarefas necessrias para implementar a mudana e estimar o esforo, tempo e recursos necessrios.
Importante: deixar de analisar impacto no muda o tamanho da tarefa mas deixa o escopo do trabalho como uma surpresa. Voc j viu realizar-se anlise de impacto em algum projeto? ______________________________________________________
Requisitos Processo de software da PBH/Prodabel 41
Rastreabilidade de requisitos
Rastreabilidade a caracterstica que permite acompanhar a vida de um requisito, desde a origem at a implementao. A rastreabilidade pode ajudar a:
garantir que os requisitos especificados so associados as necessidades dos clientes. garantir que todo produto de trabalho est associado aos requisitos identificados.
A restreabilidade deve ser BIDIRECIONAL, ou seja, permitir que se caminhe nos dois sentidos.
Requisitos Processo de software da PBH/Prodabel 42
C2-Engenharia de requisitos
21
Matriz de rastreabilidade
Legenda:
U: o requisito da linha usa o requisito da coluna R: h um relacionamento entre os requisitos
Requisitos Processo de software da PBH/Prodabel 43
Requisitos
44
C2-Engenharia de requisitos
22
Requisitos
45
Requisitos
46
C2-Engenharia de requisitos
23
Requisitos
47
Requisitos
48
C2-Engenharia de requisitos
24
Referncias Bibliogrficas
WIEGERS, Karl, Software requirements, 2 edition, 2006. SOMMERVILLE, Ian, Engenharia de Software, Addison Wesley, 6 edio, 2003. PRESSMAN, Roger S., Engenharia de Software, McGraw Hill, 5 Edio, 2002.
Requisitos
49
C2-Engenharia de requisitos
25
Verso 1.2
Objetivos
Tcnicas de elicitao
C3-Tcnicas de elicitao
Roteiro
Tcnicas de elicitao
Observao pessoal
Consiste em conviver com situaes cotidianas. Possibilita a confirmaes recebidas como: leiaute, problemas de relacionamento, erros de procedimento, segurana do trabalho, etc. Vantagens: no interrupo das atividades, no exigncia de disponibilidade do tempo de envolvidos. Desvantagens: ausncia de evidncias formais, causar mal-estar na rea envolvida, concluses comprometedoras.
Processo de software da PBH/Prodabel 4
Tcnicas de elicitao
C3-Tcnicas de elicitao
Pesquisas
Pesquisa interna: averiguao fsica de uma atividade e processo. Vantagens: percepo do pesquisador, esclarecimento de dvidas. Desvantagens: cria mal estar entre os participantes, demanda muito tempo. Pesquisa externa: utilizada quando no se dispe de qualquer experincia para descrever os requisitos. Utiliza informaes de acervos externos sociedades profissionais, peridicos, livros tcnicos e relatrios de pesquisa.
Processo de software da PBH/Prodabel 5
Tcnicas de elicitao
Questionrio
Instrumento que envolve os processos de preparao em formulrio, distribuio, recolhimento e tabulao. Pode ser precedido de um pr-teste. Vantagens: agilidade, custo, facilidade, abrangncia de pessoas, mensurao uniforme, anonimato, ausncia de presso por resultados imediatos. Desvantagens: manipulao de respostas antes de entregar, tendncia de utilizao de resposta padro, frieza.
Processo de software da PBH/Prodabel 6
Tcnicas de elicitao
C3-Tcnicas de elicitao
Entrevista
Dilogo entre entrevistado e entrevistador. Vantagens: as perguntas podem ser alteradas (contedo, ordem, eliminao, incluso), podem ser esclarecidos pontos das perguntas, podem ser avaliadas as reaes dos entrevistados, pode-se motivar o entrevistado. Desvantagens: alcana menos pessoas, tratamento diferenciado aos entrevistados, desvios de curso, demanda tempo, avaliaes subjetivas, alteraes nas perguntas e contedo, desestimulo, impossibilidade de avaliao prvia, respostas politicamente corretas.
Tcnicas de elicitao Processo de software da PBH/Prodabel 7
Seminrio
Reunio planejada de pessoas-chave de diversas reas com o objetivo de obter informaes gerais sobre a empresa. Tambm chamada de workshops e dinmica de grupo. Vantagens: rapidez na identificao de problemas de relacionamento, estrangulamentos e viso integrada de problemas. Desvantagens: mobilizar um grande nmero de pessoas ao mesmo tempo, interferindo na rotina de trabalho da empresa.
Processo de software da PBH/Prodabel 8
Tcnicas de elicitao
C3-Tcnicas de elicitao
Brainstorming
Tcnica de obteno de informaes em reunies. Etapas: Gerao de idias: No permitir crticas ou debates; Deixar a imaginao voar; Procurar quantidade; Mudar e combinar idias. Seleo de idias: Decidir com base em um limite de votos Decidir com base em discurso de campanha Juntar idias e aplicar critrios; Utilizar sistemas de pontuao.
Tcnicas de elicitao
JAD
Joint Application Design (Projeto de Aplicao Conjunta). Mtodo criado pela IBM no ano de 1977. Consiste em reunies estruturadas intensivas e em grupo, onde participam os representantes do usurio e da informtica. Cada sesso composta por uma ou mais reunies e dura de um a trs dias. Toda reunio conduzida por um facilitador (ou mediador) que visa obter o consenso de forma rpida.
Tcnicas de elicitao Processo de software da PBH/Prodabel 10
C3-Tcnicas de elicitao
Tcnicas de elicitao
11
C3-Tcnicas de elicitao
Tcnicas de elicitao
14
C3-Tcnicas de elicitao
C3-Tcnicas de elicitao
Tcnicas de elicitao
17
C3-Tcnicas de elicitao
Sesso de gerenciamento
Visa discutir o escopo do projeto, objetivos, metas, recursos e estratgias a serem adotadas. tipicamente a primeira sesso de um projeto, permitindo identificar suas partes componentes e prioridades. Participantes: gerentes de alto nvel e executivos das reas de negcios envolvidas, bem como o representante da rea de informtica Nmero de participantes: mximo 20
Tcnicas de elicitao
19
Sesso tcnica
Define as funes componentes do sistema, a lgica de funcionamento do negcio e de que forma os elementos se relacionam e so tratados. Devem ser orientadas par suprir as informaes necessrias criao dos modelos de dados e processos. Participantes: gerentes e supervisores das reas de negcio. Devem ser capazes de conhecer o negcio, fluxos de trabalho. Nmero de participantes: mximo 10
Tcnicas de elicitao Processo de software da PBH/Prodabel 20
C3-Tcnicas de elicitao
10
Tcnicas de elicitao
21
C3-Tcnicas de elicitao
11
C3-Tcnicas de elicitao
12
Tcnicas de elicitao
25
C3-Tcnicas de elicitao
13
Tcnicas de elicitao
28
C3-Tcnicas de elicitao
14
C3-Tcnicas de elicitao
15
Tcnicas de elicitao
32
C3-Tcnicas de elicitao
16
Tcnicas de elicitao
34
C3-Tcnicas de elicitao
17
Tcnicas de elicitao
36
C3-Tcnicas de elicitao
18
Tcnicas de elicitao
37
Tcnicas de elicitao
38
C3-Tcnicas de elicitao
19
Tcnicas de elicitao
39
C3-Tcnicas de elicitao
20
Tcnicas de elicitao
41
Referncias bibliogrficas
Costa, Wilson Dias Da - JAD Joint Application Design, Ibpi Press, 1994. Gause, D. e Weinberg, G. Explorando Requerimentos de Sistemas, Makron Books, 1989.
Tcnicas de elicitao
42
C3-Tcnicas de elicitao
21
Casos de uso
Gerncia de Engenharia de Software (GESS-PB) Superintendncia de Arquitetura de Sistemas (SAS-PB) Diretoria de Sistemas e Informao (DS-PB) Empresa de Informtica e Informao de Belo Horizonte (Prodabel S/A)
Verso 1.2
Objetivos
Descrever as dificuldades encontradas para se modelar sistemas com base somente em requisitos. Mostrar como os casos de uso se encaixam na modelagem de comportamento dos sistemas. Especificar as diretrizes para a escrita de casos de uso efetivos.
Requisitos
C4-Casos de uso
Roteiro
Requisitos e casos de uso Definio de caso de uso Definio de ator Relacionamentos Diagrama de caso de uso Estrutura de um caso de uso Descrio de um caso de uso Processo de modelagem de casos de uso Diretrizes para elaborao de casos de uso
Requisitos Processo de software da PBH/Prodabel 3
C4-Casos de uso
Requisitos de sistemas
Requisitos de desenho
Requisitos
Requisitos
C4-Casos de uso
N1
Nx
Ru2 Ruy
Ru1
Rs1
Rs2
Rs3
Rsz
Rd1
Rd2
Rd3
Rd4
Rdn
Surgem as questes:
Em qual ordem essas coisas devem ser feitas (caso a ordem importe)? A taxa deve ser cobrada antes ou depois do saque?
Processo de software da PBH/Prodabel
Requisitos
C4-Casos de uso
C4-Casos de uso
Requisitos no funcionais
Especificao suplementar
Especificao suplementar
C4-Casos de uso
C4-Casos de uso
Requisitos
16
C4-Casos de uso
Atores
Conjunto coerente de papis que os usurios exercem quando interagem com os casos de uso. [OMG] Aspectos chave dos atores:
Representam pessoas ou outros sistemas. Definem os papis que os usurios ou outros sistemas exercem. Esto fora do sistema, e geralmente fora do controle do mesmo. Impem requisitos que o sistema deve atender.
Processo de software da PBH/Prodabel 17
Requisitos
Representao de atores
Um ator define um papel que um usurio pode exercer quando interage com o sistema. Um usurio ainda pode um indivduo ou outro sistema.
A UML representa atores como bonecos:
Requisitos
18
C4-Casos de uso
Stakeholders e atores
Stakeholder algum ou algo que tem um interesse legal no comportamento do caso de uso. Obs: conceito anlogo GP. Um ator qualquer coisa que tem um comportamento. Um ator pode ser uma pessoa, companhia ou organizao, um programa de computador ou um sistema computacional Todo ator primrio, naturalmente, um stakeholder, mas alguns stakeholders nunca interagem diretamente com o sistema.
Requisitos Processo de software da PBH/Prodabel 19
Ator primrio
o stakeholder que chama o sistema para entregar um de seus servios. Ele tem um objetivo com respeito ao sistema - que pode ser satisfeito por sua operao. Geralmente o caso de uso comea porque o ator primrio envia uma mensagem, pressiona um boto, pressiona uma tecla ou de alguma outra forma inicia a estria. Entretanto, h pelo menos duas situaes em que um UC no iniciado por um ator primrio:
Quando, por exemplo, um operador de telefone inicia o caso de uso em nome de um cliente. Quando o caso de uso acionado pelo ator tempo.
Processo de software da PBH/Prodabel 20
Requisitos
C4-Casos de uso
10
Atores secundrios
Atores externos que provm um servio ao sistema. Devem ser identificados a fim de achar as interfaces externas que o sistema usar e os protocolos que cruzam essas interfaces. Um ator pode ser primrio em um caso de uso e secundrio em outro. Exemplo: _________________________________________
Requisitos
21
Solicitar dados armazenados no sistema. Mudar dados armazenados no sistema. Informar que algo importante aconteceu em torno do sistema.
Informar ao ator se algo importante aconteceu com o sistema. Pedir apoio para tomada de alguma deciso. Delegar responsabilidades a atores.
Processo de software da PBH/Prodabel 22
Requisitos
C4-Casos de uso
11
Relacionamentos
Casos de uso e atores no existem sozinhos. A UML define diversos de relacionamentos no modelo de casos de uso:
Comunicao: Interao direta entre ator e caso de uso. a situao mais comum. Incluso: Prov a habilidade de extrair sees comuns entre dois ou mais casos de uso e coloca-las em um caso de uso separado, favorecendo o reuso. Extenso: Usado em casos onde um comportamento opcional ou excepcional inserido em um caso de uso existente. Generalizao: Usado quando elementos possuem comportamentos em comum. Ex: atores.
Processo de software da PBH/Prodabel 23
Requisitos
Diagrama com uma viso geral com principais atores e casos de uso. Tambm chamado, por alguns autores, Diagrama de Contexto. Diagrama somente com atores correlatos. Diagrama da perspectiva de um nico ator, mostrando casos de uso e demais atores a ele associados. Diagramas somente com casos de uso correlatos. Diagramas da perspectiva de um nico caso de uso, mostrando atores e demais casos de uso a ele associados.
Processo de software da PBH/Prodabel 24
Requisitos
C4-Casos de uso
12
Detalhar pagamento
Requisitos
25
iniciado por um ator. provido pelo sistema (responde ao ator). Pode envolver mais de um ator. Descreve como o sistema e seus atores colaboram para atender o objetivo do ator. Prov uma imagem coerente de como o sistema ser usado.
Processo de software da PBH/Prodabel 26
Requisitos
C4-Casos de uso
13
Requisitos
Nome
Descrio
Requisitos
28
C4-Casos de uso
14
Pr-condies: Descrio textual que define restries quando o caso de uso deve iniciar. Ps-condies: Descrio textual que define restries quando o caso de uso termina. Fluxo de eventos: Descrio textual do que o sistema faz em relao ao caso de uso. estruturado em:
Fluxo principal: Fluxo principal ou padro. Fluxos alternativos: Fluxos com cenrios alternativos ao principal. Sub-fluxos: Subdiviso de um fluxo para fins de clareza. EVITAR!
Requisitos
29
Incio (como o ator inicia o caso); Meio (como sistema e atores interagem); Fim (como o caso de uso encerrado).
Processo de software da PBH/Prodabel 30
Requisitos
C4-Casos de uso
15
C4-Casos de uso
16
Requisitos
33
Fluxo principal
Descrio, de cima para baixo, de um cenrio bastante caracterstico no qual o objetivo do ator primrio alcanado e todos interesses dos stakeholders so satisfeitos. O fluxo principal descreve a forma mais usual (padro) de se atingir os objetivos do ator principal. Todas as outras maneiras de ter sucesso e o tratamento de todas as falhas, so descritos nas extenses do fluxo principal nos fluxos alternativos e de exceo.
Requisitos Processo de software da PBH/Prodabel 34
C4-Casos de uso
17
Organizao de cenrios
Fluxos alternativos estendem o fluxo principal para tratar as variaes e excees. Sub-fluxos podem ser usados para facilitar a leitura de um fluxo complexo. Pode ser substitudo por outro caso de uso. Pr e ps condies podem ser usadas para melhor esclarecer o escopo de um caso de uso e documentar qualquer premissa feita a respeito do estado do sistema (antes ou depois do UC). Prcondies so mais comuns que ps-condies. A descrio deve ser longa o suficiente para poder descrever a estria e simples o suficiente para no dificultar os trabalhos nem tornar o modelo complexo. Deve-se utilizar linguagem clara e objetiva.
Requisitos Processo de software da PBH/Prodabel 35
C4-Casos de uso
18
Condies de extenso
So as condies sob as quais o sistema tem um comportamento diferente (fluxos alternativos e/ou exceo). Exemplo: ... 4. Usurio solicita salvamento do arquivo ... Extenses: 4a. Sistema detecta a necessidade de salvamento 4a1. ... (passos) 4b. Salvamento falha 4b1. ... (passos)
Requisitos Processo de software da PBH/Prodabel 37
Racionalize e rena as falhas similares, de modo a simplificar a anlise. Avalie as condies de falhas dentro de falhas.
Requisitos Processo de software da PBH/Prodabel 38
C4-Casos de uso
19
FA2. Atendente pode salvar os dados incompletos a qualquer momento, antes da concluso do UC.
1. Registrar comunicao com status Pendente.
C4-Casos de uso
20
FE4. Atendente termina sem completar informaes obrigatrias. 1. Sistema informa que transao no pode ser concluda.
Requisitos Processo de software da PBH/Prodabel 41
Requisitos
42
C4-Casos de uso
21
-Desenho de interface com usurio -Prototipagem visando atender requisitos e atacar riscos tecnolgicos Descrio Permitir adicionar detalhes Nenhum (passo Nenhum (passo detalhada de forma incremental intermedirio) intermedirio) Descrio completa Prover completa -No saber exatamente -Anlise e desenho especificao funcional para o que o sistema deve -Implementao o comportamento fazer -Testes de integrao encapsulado pelo caso de -No ter uma -Testes de sistema uso especificao de -Documentao de usurio requisitos -Estimativa refinada compartilhada
Requisitos Processo de software da PBH/Prodabel 43
Esboo essencial
C4-Casos de uso
22
Expresso por
Verificado por
Requisitos
45
Capture os stakeholders e interesses; Escreva o fluxo principal; Identifique os fluxos alternativos e de exceo; Escreva os passos de tratamento de extenso; Extraia os fluxos complexos para subcasos de uso.
Reajuste o conjunto: adicione, subtraia e junte casos de uso conforme necessrio, iterativamente.
Requisitos Processo de software da PBH/Prodabel 46
C4-Casos de uso
23
Referncias Bibliogrficas
BITTNER, Kurt e SPENCE, Ian, Use Case Modeling, Addison-Wesley, 2003. COCKBURN, Alistair, Escrevendo casos de uso eficazes, Bookman, 2005. OMG, Object Management Group, UML www.omg.org, 2004.
Requisitos
47
C4-Casos de uso
24
Gerncia de Engenharia de Software (GESS-PB) Superintendncia de Arquitetura de Sistemas (SAS-PB) Diretoria de Sistemas e Informao (DS-PB) Empresa de Informtica e Informao de Belo Horizonte (Prodabel S/A)
Verso 1.2
Objetivos
Descrever as dificuldades encontradas para se modelar sistemas com base somente em requisitos. Mostrar como os casos de uso se encaixam na modelagem de comportamento dos sistemas. Especificar as diretrizes para a escrita de casos de uso efetivos.
Requisitos
Roteiro
Estrutura de um caso de uso Descrio de um caso de uso Processo de modelagem de casos de uso Diretrizes para elaborao de casos de uso
Requisitos
Identificao de atores
Inicie identificando os atores principais (usurios). Trabalhe do especfico para o geral. No esquea os atores de apoio. Considere todas as informaes sobre requisitos. Lembre-se que atores nem sempre so pessoas. Observe os limites (escopo) do sistema. Identifique as fontes de informao.
Requisitos
Identificao de atores
No confunda atores com os dispositivos de E/S. Ex: terminal de auto atendimento. No confunda atores com papis da organizao ou ttulos de emprego. Ex: gerente, superintendente. No generalize em excesso. Ex: ________________ Caracterize os atores e crie uma descrio breve de cada ator. Faa isto na lista de atores. Associe os atores aos tipos de usurios, stakeholders e papis destes. Ex: ___________________________
Requisitos Processo de software da PBH/Prodabel 5
Lista de atores
Nome e breve descrio. Escopo (responsabilidades). Ambiente fsico de uso do sistema. Quantidade e tipo de usurios representados pelo ator (para dimensionamento da rede). Freqncia de uso (para dimensionamento da rede). Nveis de conhecimento sobre negcio e tecnologia. Faixa etria. Etc: _______________________________________
Requisitos Processo de software da PBH/Prodabel 7
Errado: Pegar carto e senha. Deduzir quantia do saldo. Certo: Cliente insere carto e senha. Sistema deduz quantia do saldo da conta.
Processo de software da PBH/Prodabel 12
Requisitos
Ator primrio envia solicitao e dados ao sistema. Sistema valida solicitao e dados. Sistema altera seu estado interno. Sistema fornece resultado.
Errado: Sistema verifica se senha est correta. Se est, sistema apresenta aes disponveis. Certo: Sistema valida senha. Sistema apresenta aes disponveis.
Requisitos
14
Requisitos
15
Questes frequentes
Nmero excessivo de casos de uso. Soluo: _________________________________________________________ Casos de uso CRUD. Soluo: _________________________________________________________ Casos de uso excessivamente complexos. Soluo: _________________________________________________________ Casos de uso que usurios no entendem. Soluo: _________________________________________________________ Novos processos de negcio. Soluo: _________________________________________________________ Uso excessivo de relacionamentos include e extend. Soluo: _________________________________________________________
Requisitos Processo de software da PBH/Prodabel 19
Requisitos
20
10
Requisitos
21
11
Escreva casos de uso da perspectiva do usurio e no do sistema. Pea aos usurios para rev-los.
Nem sempre os casos de uso "full dressed (exaustivos) so os mais indicados. Procure ser prtico.
Requisitos Processo de software da PBH/Prodabel 23
12
Tratamento de detalhes
Utilize o glossrio e o modelo de domnio para capturar definies. Use o modelo de domnio para capturar detalhes no glossrio. Capture regras de negcio no modelo de domnio. Use sub-fluxos somente para simplificar descries complexas. Em excesso, atrapalha a legibilidade. Use fluxos alternativos para capturar comportamento complexo e no usual.
Requisitos
26
13
Tratamento de detalhes
Glossrio: O problema do domnio descrito atravs de um conjunto simples de definies. Deve haver consenso a respeito (envolver o usurio). Modelo de domnio: Construdo atravs de diagramas de classe UML, a partir dos termos-chave do glossrio. particularmente importante se h relacionamentos complexos entre os objetos do domnio do problema. Especificao suplementar: Requisitos que no so claramente capturados diretamente nos casos de uso ou interferem na clareza do fluxo (tipicamente regras de negcio e requisitos no funcionais).
Requisitos Processo de software da PBH/Prodabel 27
Tratamento de detalhes
Detalhes de informaes: Uma informao descrita em um caso de uso pode ser composta por mais de um atributo ou campo. Geralmente pode-se trata-la em grupo. Listas de campos ou descries de dados: Cada atributo possui nomes especficos que sero usados internamente pelas classes. Deve haver um mapeamento de atributos. Detalhes de campos e verificaes: Validaes e detalhes especficos como tamanho, tipo, mscara de edio. Devem constar do dicionrio de dados. Esses itens deve fazer parte do caso de uso. As especificaes devem constar de um documento a parte que posteriormente ser associado ao caso de uso.
Requisitos Processo de software da PBH/Prodabel 28
14
Requisitos
29
Exemplo de glossrio
Pedido: Um contrato entre a companhia e um cliente para prover algum conjunto de itens para uma localizao em particular de um cliente. Contm nmero e datas de pedido, envio e entrega. Item: Especifica a quantidade de um produto em particular sendo pedido. Um item consiste da quantidade de produto pedido, quantidade fornecida e o produto. Cliente: Algum que solicita produtos. Possui um nome e detalhes de contato. Produto: Alguma coisa que pode ser vendida a um cliente. A definio de um produto inclui descrio, nmero e preo unitrio
Requisitos Processo de software da PBH/Prodabel 30
15
Referncias Bibliogrficas
BITTNER, Kurt e SPENCE, Ian, Use Case Modeling, Addison-Wesley, 2003. COCKBURN, Alistair, Escrevendo casos de uso eficazes, Bookman, 2005. OMG, Object Management Group, UML www.omg.org, 2004.
Requisitos
31
16