Mtodos e Tcnicas Para Anlise de Requisitos

Download Mtodos e Tcnicas Para Anlise de Requisitos

Post on 20-Jun-2015

800 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

<p>Fases de desenvolvimento de software</p> <p>AgendaA evoluo do software Crise do software Mitos no processo de desenvolvimento Engenharia de soft Ciclo de vida</p> <p>Um caso comum !!- O sistema que queremos deve fazer isto, isto, ..., e nesse caso tambm isto...; - Sim, Sim, estou anotando... - Conversei com os usurios e basicamente este o sistema que teremos que desenvolver; - Sim chefe; - timo, comearemos a especificar os requisitos imediatamente.</p> <p>MOTIVAO...Quatro meses depois ... - Senhores usurios, aps o emprego das mais modernas tcnicas de especificao, produzimos este documento que descreve minuciosamente o Sistema; - timo! Bom! Hum! ... um documento com 300 pginas e todos estes grficos, tabelas. Enfim, vamos analislos e voltamos a falar;</p> <p>MOTIVAO... Mais um ms e meio ...</p> <p>- Sr. Analista, nosso pessoal analisou com cuidado o documento. Tivemos muitas dificuldades em entend-lo. Mas o que percebemos que NO FOMOS CORRETAMENTE ENTENDIDOS!!! - Como no? Tudo que est a foi fruto de nosso entendimento pessoal. REALMENTE VOCS NO SABEM O QUE QUEREM!!!</p> <p>Fases da Engenharia de RequisitosEstudo de viabilidade</p> <p>InformaesELICITAO</p> <p>Informaes elicitadas</p> <p>MODELAGEM</p> <p>Especificao de requisitos</p> <p>VALIDAO</p> <p>ANLISE</p> <p>Aquisio</p> <p>Especificao Representaes</p> <p>Objetivos engenharia de requisitosbuscar as primeiras informaes sobre o sistema a ser desenvolvido descobrir se vale a pena fazer a anlise, mas sem fazer a anlise propriamente dita</p> <p>Importncia </p> <p>Quanto mais tarde um erro identificado maior o custo e o tempo de correo Muitos erros no so detectados cedo, mas poderiam No atendimento das necessidades dos usurios desentendimentos entre usurios e desenvolvedores</p> <p>AtividadesEstudo de viabilidade Levantar requisitos (elicitao) Organizar requisitos (modelagem/anlise) Validar requisitos junto ao cliente (validao)</p> <p>Realizao do Estudo de Viabilidade</p> <p>Baseado na avaliao da informao (o que requisitado), coleo de informaes e escrita de relatrio Perguntas para pessoas da organizaoO que ocorre se o sistema no for implementado? Quais so os problemas com o processo atual? Como o sistema proposto ajudar? Quais so os problemas de integrao? Ser necessria tecnologia nova? Quais as habilidades necessrias para domin-la? Que facilidades devem ser suportadas?</p> <p>Elicitao de RequisitosELICITAR: descobrir, tornar explcito, obter o mximo de informaes para o conhecimento do objeto em questo; identificar os fatos que compem os requisitos do Sistema a fim de prover o mais correto e mais completo entendimento do que demandado daquele software.</p> <p>Elicitao de requisitos: dificuldades </p> <p>Usurios podem no ter uma idia precisa do sistema por eles requerido; Usurios tm dificuldades para descreverem seu conhecimento sobre o domnio do problema; Usurios e analistas tm diferentes pontos de vista do problema (por terem formaes diferentes) Usurios podem antipatizar com o novo sistema e se negar a participar da elicitao (ou mesmo fornecer informaes errneas).</p> <p>Atividades da Elicitao1.</p> <p>Entendimento do negcioy</p> <p>Voc deve entender como os sistemas interagem e contribuem de forma geral com os objetivos do negcio O conhecimento do domnio da aplicao o conhecimento geral onde o sistema ser aplicado Os detalhes especficos do problema do cliente onde o sistema ser aplicado deve ser entendido</p> <p>2.</p> <p>Entendimento do domnio da aplicaoy</p> <p>3.</p> <p>Entendimento do problemay</p> <p>Tipos de requisitosrequisitos funcionais correspondem listagem de todas as coisas que o sistema deve fazer requisitos no funcionais so restries que se coloca sobre como o sistema deve realizar seus requisitos funcionais</p> <p>Requisitos Funcionaisrequisitos funcionais evidentes so efetuados com conhecimento do usurio requisitos funcionais ocultos so efetuados pelo sistema sem o conhecimento explcito do usurio</p> <p>Requisitos No FuncionaisObrigatrios Desejveis</p> <p>Requisitos No Funcionaisde interface de implementao de eficincia de tolerncia a falhas etc.</p> <p>Requisitos No FuncionaisAssociados a requisitos funcionais Suplementares</p> <p>Requisitos No FuncionaisPermanentes Transitrios</p> <p>Tabela de Requisitos FuncionaisCdigo do requisito funcional (Ex.: F1, F2, F3, ...). Nome do requisito funcional (especificao curta). Descrio (especificao longa e detalhamento do requisito). Categoria funcional: evidente ou oculto.</p> <p>Tabela de Requisitos No Funcionais </p> <p>Cdigo do requisito no funcional (Ex.: NF1.1, NF1.2, ... NF2.1, NF2.2, ...). Nome do requisito no funcional (especificao curta). Restrio: especificao (longa) do requisito no funcional. Categoria: tipo de restrio: segurana, performance, compatibilidade, etc. Obrigatoriedade: se o requisito desejvel ou obrigatrio. Permanncia: se o requisito permanente ou transitrio.</p> <p>Requisitos Funcionais e No Funcionais AssociadosOculto ( ) F1 Registrar emprstimos Descrio: O sistema deve registrar emprstimos de fitas, indicando o cliente e as fitas que foram emprestadas, bem como a data do emprstimo e valor previsto para pagamento na devoluo. Requisitos No Funcionais Nome Restrio Categoria Desejvel Permanente ( ) (x) NF1.1 Controle de A funo s pode ser acessada por usurio com perfil Segurana Acesso de operador ou superior. ( ) (x) NF1.2 Identificao de As fitas devem ser identificadas por um cdigo de Interface Fitas barras ( ) ( ) NF1.3 Identificao do O cliente dever ser identificado a partir de seu nome Interface cliente (x) ( ) NF1.4 Tempo de O tempo para registro de cada fita deve ser inferior a Performance registro um segundo. (x) (x) NF1.5 Janela nica Todas as funes relacionadas a emprstimos devem Interface ser efetuadas em uma nica janela ... ... ... ... ...</p> <p>Oculto ( x ) F2 Calcular descontos Descrio: O sistema deve calcular descontos nos emprstimos em funo da poltica da empresa. Requisitos No Funcionais Nome Restrio Categoria Desejvel ( ) NF2.1 Desconto de fim Nos fins de semana, usurios que levam 4 fitas Especificao de semana pagam apenas 3. ... ... ... ...</p> <p>Permanente ( ) ...</p> <p>Requisitos SuplementaresNome Restrio Categoria Desejvel ( ) Permanente ( )</p> <p>S1 Tipo de Interface S2 Armazenamento de dados S3 Perfis de usurio</p> <p>As interfaces do sistema devem ser Interface implementadas como formulrios acessveis em um browser html. A camada de persistncia deve ser implementada Persistncia de forma que diferentes tecnologias de bancos de dados possam vir a ser utilizadas no futuro Os perfis de usurio para acesso ao sistema so: 3. Administrador - pode efetuar todas as operaes. 2. Operador - pode efetuar as operaes de emprstimo, devoluo, pagamento e cadastramento. 1. Convidado - pode efetuar apenas consultas nos prprios dados (cliente). ... Segurana</p> <p>( )</p> <p>(x)</p> <p>( )</p> <p>( )</p> <p>...</p> <p>...</p> <p>...</p> <p>...</p> <p>Trabalho em grupoSelecione um sistema utilizado em sua empresa e identifique 5 requisitos funcionais e seus respectivos nofuncionais (pode ser vrios). Entregar em aula</p> <p>Nome, Descrio do Sistema Viso geral do software Fs, NFs, Ss</p> <p>Tcnicas de ElicitaoTcnicas especiais que podem ser usadas para coletar conhecimento sobre os requisitos dos usurios Este conhecimento deve ser estruturado Problemas da elicitao</p> <p>Tempo Engenheiros de software stakeholders</p> <p>Tcnicas de Elicitao </p> <p>Entrevistas Leitura de documentos Questionrios Anlise de protocolos Participao ativa dos usurios Cenrios Observaes e anlise sociais Prototipao</p> <p>Escolhendo a tcnicaDeve-se selecionar as tcnicas a serem utilizadas e estabelecer a maneira como elas sero integradas A escolha das tcnicas e seu esquema de integrao depender do problema e da equipe participante interessante conhec-las e saber identificar onde uma tcnica se aplica melhor que outra</p> <p>Tcnicas especficas de elicitao</p> <p>EntrevistasO Engenheiro de requisitos ou analista discute o sistema com diferentes stakeholders e obtm um entendimento dos requisitos Vantagens: contato direto com o usurio e validao imediata Desvantagens: conhecimento tcito e diferenas de cultura</p> <p>Entrevistas - tiposEntrevistas fechadas: o analista busca respostas a um conjunto de questes pr-definidas Entrevistas abertas: No h uma agenda pr-definida e o engenheiro de requisitos discute de forma aberta, o que o stakeholder quer do sistema Tutorial: o cliente d uma aula explicando seu trabalho</p> <p>Entrevistas: dicas - planejamentoIdentificar candidatos Preparao da entrevista : agendar e preparar questionrio (se for o caso) O analista no deve ir para a entrevistas com noes pr-concebidas</p> <p>Entrevistas: conduo</p> <p>Informar aos stakeholders o ponto inicial da discusso. Isto pode ser uma questo, uma proposta de requisitos ou um sistema existente Esperar por respostas incompletas Repetir frases do entrevistado com suas prprias palavras Entrevistadores devem estar cientes da poltica organizacional - muitos requisitos reais podem no ser discutidos devido a implicaes polticas</p> <p>Entrevistas: FinalizaoTempo para rever respostas de todas as perguntas - consolidar informaes Agradecimentos Gerar documento que deve ser assinado pelo entrevistado</p> <p>Leitura de DocumentosVantagens: facilidade de acesso e volume de informaes Desvantagens: disperso das informaes e volume de trabalho</p> <p>Questionrios </p> <p>Quando existe conhecimento sobre o problema e grande nmero de clientes Quando dados estatsticos so importantes Do idia definida sobre como certos aspectos do universo de informao so percebidos Vantagens: padronizao das perguntas e tratamento estatstico das respostas Desvantagens: limitao do universo de respostas e pouca iterao</p> <p>CenriosCenrios so exemplos de interao que descrevem como o usurio interage com o sistema A descoberta de cenrios expe interaes possveis do sistema e revela as facilidades que o sistema pode precisar</p> <p>Cenrios </p> <p>Cenrios so partes inerentes de alguns mtodos de desenvolvimento OO So estrias que explicam como um sistema poder ser utilizado. Devem incluir:descrio do estado do sistema antes de comear o cenrio o fluxo normal de eventos do cenrio excees ao fluxo normal de eventos informaes sobre atividades concorrentes uma descrio do estado do sistema no final do cenrio</p> <p>Anlise de protocolos </p> <p>Analisar o trabalho de determinada pessoa atravs da verbalizao Objetivo: estabelecer a racionalidade utilizada na execuo de tarefas Vantagens: possibilidade de elicitar fatos no facilmente observveis e permitir melhor entendimento dos fatos Desvantagens: desempenho do entrevistado e o que se diz diferentes do que se faz</p> <p>Participao ativa dos usurios </p> <p>Incorporao dos usurios ao grupo de ER Os usurios precisam aprender a linguagem de modelagem utilizadas para ler as descries e critic-las Integrao dos usurios na modelagem do sistema Vantagens: envolvimento dos clientes/usurios Desvantagens: Tempo em treinamento dos usurios e falsas expectativas no usurio</p> <p>Observao e anlise social </p> <p>Difcil descrever os processos, interessante observar Processos reais diferem dos processos formais escritos nos manuais Vantagens: viso mais completa e perfeitamente ajustada ao contexto Desvantagens: custo com tempo e pessoal gasto e pouca sistematizao do processo</p> <p>PrototipaoUma verso inicial de um sistema que poder ser usado para experimentao Prottipos so teis para elicitar requisitos porque o usurio poder experimentar o sistema e mostrar os pontos fortes e fracos Concreto</p> <p>Tipos de prototipagem</p> <p>DescartvelProttipo serve para requisitos e descartado um outro sistema implementado depois;</p> <p>Evolucionriausado no ciclo espiral Os requisitos vo aparecendo conforme o usurio est utilizando o sistema</p> <p>Prototipagem - Vantagens</p> <p>O prottipo permite que os usurios experimentem e descubram o que eles realmente necessitam para suportar o trabalho deles Estabelece a viabilidade e utilidade antes que altos custos de desenvolvimento tenham sido realizados Interface Pode ser usado para teste do sistema e desenvolvimento da documentao Fora estudo detalhado dos requisitos que revela inconsistncias e omisses</p> <p>Prototipagem - DesvantagensCustos de treinamento: pode se optar por ferramentas especficas para prototipao Incompletude</p> <p>Organizao dos Requisitos (Modelagem)</p> <p>Visa a representao dos requisitos em modelos conceituais que descrevem as necessidades encontradas na elicitao.Diagramas/modelos Manuteno de Conceitos Consultas/Relatrios</p> <p>Anlise de RequisitosAnalisar o modelo gerado buscando encontrar inconsistncias e omisses nos requisitos elicitados Intercalar com elicitao pois problemas so descobertos quando os requisitos so elicitados</p> <p>Validao</p> <p>Com a ajuda dos clientes/usurios, buscase validar ou seja, confirmar o conhecimento adquirido.</p> <p>Documentao GeradaO documento de requisitos de software tambm chamado de SRS software requirements specification - o resultado da engenharia de requisitos. Deve incluir requisitos do usurio, requisitos do sistema</p> <p>Requisitos do usurio</p> <p>So declaraes em linguagem natural e tambm em diagramas sobre as funes que o sistema deve fornecer e as restries sob as quais deve operar.</p> <p>Requisitos do sistemaEstabelecem detalhadamente as funes e as restries de sistema. Algumas vezes chamado de ESPECIFICAO FUNCIONAL Pode servir como contato entre o comprador e o desenvolvedor do software.</p> <p>Padro IEEE/ANSI 830-1998</p> <p>1. Introduo1.1 Propsito 1.2 Convenes 1.3 Pblico Alvo e Orientaes para Leitura 1.4 Escopo do Produto 1.5 Referncias</p> <p>2. Descrio Geral2.1 Perspectiva do Produto 2.2 Funes do Produto 2.3 Classes de Usurios e Caractersticas 2.4 Ambiente Operacional 2.5 Restries de Projeto e Implementao 2.6 Premissas e Dependncias</p> <p>3. Requisitos de Interface Externa3.1 Interfaces 3.2 Interfaces 3.3 Interfaces 3.4 Interfaces</p> <p>do Usurio de Hardware com outros Sistemas de Comunicao</p> <p>4. Funcionalidades do Sistema4.x Funcionalidade X 4.x.1 Descrio e Prioridade 4.x.2 Seqncias de Estmulos e Respostas 4.x.3 Requisitos Funcionais</p> <p>5. Requisitos no Funcionais5.1 Requisitos de Performance 5.2 Requisitos de Uso com Segurana 5.3 Requisitos de Segurana 5.4 Atributos de Qualidade 5.5 Regras de Negcio 5.6 Documentao do Usurio</p> <p>6. Outros Requisitos Apndice A: Glossrio Apndice B: Modelos de Anlise Apndice C: Lista de Pendncias</p> <p>JadJoint Application Design (JAD), criada pela IBM no final dos anos 70, uma proposta para a identificao de requisitos de sistema que procura integrar as pessoas da rea de negcio (usurios) e profissionais da rea tcnica por meio de seminrios altamente focados.</p> <p>JadA tcnica JAD procura assegurar que a informao seja levantada a partir de todas as reas afetadas e que os requisitos identificados sejam aprovados por todos os participantes, no cabendo esta deciso apenas aos analistas de sistema responsveis pela coleta dos requisitos.</p> <p>Jad - Definio de papisPatrocinador executivo responsvel do sistema que est sendo debatido. Deve resolver conflitos entre participantes (quando um impasse estiver estabelecido, cabe a ele, a deciso final). Ele auxilia tambm na preparao (homework) da JAD, introduzindo o problema para o grupo, no incio da sesso. PAULO - MPB...</p>