Fonte: GoogleImages
Nveis de erros
Fonte: iMaster.com
Requisitos q de um software
Engenharia g de Requisitos q
Oq que ? Quem faz? Por q que importante? p Quais so os passos? p Qual o p produto do trabalho?
Engenharia g de Requisitos q
Oq que ? Ajuda j os engenheiros g de software a entender o problema a ser trabalhado So tarefas que auxiliam no entendimento, como:
Quem
Engenharia g de Requisitos q
Engenharia g de Requisitos q
Concepo
Levantamento
Elaborao
Escopo Problema
Definio Prioridades
Refinamento
Escopo p
Definio do que pertence ao sistema a ser desenvolvido e o que est for a do escopo.
consiste em definir quais so as funes primrias que o software deve realizar e procura delimitar a quantidade de funes. Pressman
Levantamento de Requisitos q
Concepo
Levantamento
Elaborao
Negociao
Especificaco
Validao
Escopo Problema
Requisitos funcionais
Declaraes de funes que o sistema deve fornecer, como o sistema deve reagir a entradas especficas e como deve se comportar t em determinadas d t i d situaes. it
Requisitos no funcionais
O usurio deve ser capaz p de pesquisar p q tanto todo o conjunto inicial do banco de dados ou selecionar um subconjunto dele
O sistema dever calcular automaticamente os impostos sobre a folha de pagamento de cada funcionrio
Requisitos No Funcionais
Surgem conforme S f a necessidade id d dos d usurios, i em razo de restries de oramento etc. Podem estar relacionados propriedades de confiabilidade, tempo de resposta e espao em disco. di A falha de no cumprir com um requisito no funcional de sistema pode tornar todo o sistema intil. (ex. requisito confiabilidade num sistema de aviao).
A usabilidade bilid d do d sistema, it o sistema it t que ser de tem d fcil uso para os usurios
Segurana do sistema, os dados do cliente precisam ser criptografados para que pessoas sem autorizao no tenha acesso a dados p pessoais.
Requisitos do produto
Requisitos organizacionais
Requisitos externos
Requisitos de eficincia
Requisitos de confiabilidade
Requisitos de portabilidade
Requisitos de interoperabilidade
Requisitos no ticos
Requisitos legais
Requisitos de entrega
Requisitos de implementao
Requisitos de padres
Requisitos de desempenho
Requisitos de espao
Requisitos de privacidade
Requisitos de segurana
Requisitos q de produtos p
Requisitos que especificam o comportamento do produto. Ex. portabilidade; velocidade de execuo; confiabilidade, etc. etc Requisitos q decorrentes de polticas p e procedimentos p organizacionais. Ex. padres, infra-estrutura, etc. Requisitos R ii d decorrentes d de fatores f externos ao sistema i e ao processo de desenvolvimento. Ex. requisitos de interoperabilidade, legislao, etc.
Requisitos da organizao
Requisitos externos
Robustez Portabilidade
Nmero de sistemas-alvo
Exemplo
So escritos para refletir os objetivos gerais do cliente ( facilidade de uso, recuperao de falhas, etc)
Meta:
o sistema deve ser fcil de ser utilizado por controladores experientes e deve ser organizado de modo que os erros dos usurios sejam minimizados. Controladores experientes devem ser capazes de utilizar as funes do sistema depois de um total de duas horas de treinamento.
O usurio no conhece sua real necessidade; Desenvolvedores no conhecem o domnio do problema Diferenas entre o que os usurios querem e o que precisam
Conflitos e ambigidades g nos papis p p clima de insatisfao e participao menos afetiva. Resultado: custo maior, atraso no planejamento e projetos cancelados.
Problemas de comportamento
Problemas tcnicos
Engenharia g de Requisitos q
Cliente: formular (de modo concreto) as necessidades em termos de funes e desempenho; Desenvolvedor: atua como indagador, consultor e solucionador de problemas.
Stakeholders e Usurios Stakeholders so todos aqueles com algum interesse no sistema, afetando ou sendo afetados por seus resultados. Esse grupo bem maior que o grupo g p de usurios, pois p envolve no s estes, mas tambm desenvolvedores, financiadores, e outros.
Stakeholders ou interessado
So os envolvidos diretamente ou indiretamente no processo em que o software ir atuar. Cada um tem um ponto de vista diferente do sistema
Stakeholders ou interessado
Clientes do banco Gerentes de bancos Caixas do banco Administradores de banco de dados Gerentes de proteo (segurana das informaes) Departamento de marketing Engenheiros de manuteno de hardware e de software Gestores
Entrevistas Leitura de Documentos Questionrios Cenrios B i S BrainStorm Observaes e anlises sociais (etnografia) Prototipagem
Tcnicas informais baseada em comunicao estruturada e interao com o usurio. Entrevistas Questionrio Tcnica dos 5 Ws Joint Application Design ( JAD) Brainstorming Observao Ob PIECES Tcnicas T i formas f construo t de d um modelo d l conceitual it l do d problema bl sendo d analisado, ou de um prottipo de um produto de software a ser construdo.
Entrevista
Em entrevista formal ou informal, a equipe formula questes para os stakeholders sobre os sistemas que eles usam e o sistema a ser desenvolvido. q Existem dois tipos de entrevistas:
Entrevistas fechadas, , onde um conjunto j de q questes predefinidas so respondidas. Entrevistas abertas, onde no h um roteiro predefinido e onde uma variedade de assuntos so explorados com os stakeholders.
Entrevistas
Planejamento Apresentao Execuo Encerramento
Entrevistas
Normalmente, uma mistura de entrevistas fechadas e abertas Entrevistas so boas para obteno de um entendimento geral do que os stakeholders fazem e como eles podem interagir com o sistema. sistema
Entrevistas no so ideais para a compreenso de requisitos de domnio Os engenheiros de requisitos podem no entender a terminologia especfica de domnio;
Alguns conhecimentos de domnio so to especificos que as pessoas acham difcil explicar ou pensam que no vale a pena mencion-los
Ler
Planejamento j da entrevista
Avisar
Prepara os entrevistados
Direcionadas
que ele deve fazer. V o sistema de uma perspectiva externa. Normalmente a posio da alta gerncia e de quem contratou o sistema. sistema Exige funcionalidade do sistema, sistema principalmente para atender o nvel gerencial.
Entrevistado usurio: descreve o sistema como se o estivesse
usando diretamente, muitas vezes j usando o sistema atual. Exige funes do sistema, principalmente para atender o seu nvel de atuao (gerencial ou operacional).
(cont)
por dentro. Muitas vezes quem vai ter o trabalho substitudo, em todo ou em parte, pelo sistema, o que pode causar desconfiana e at mesmo franca hostilidade Conhece os procedimentos na forma como hostilidade. so realizados e as excees que podem acontecer.
Abertas-dirigidas g
Explique como este relatrio produzido
Vantagem
Fechada
Quantos relatrios desse tipo so gerados por ms?
Vantagem
facilidade na compilao dos resultados. resultados Desvantagem falta de detalhe Seqncia d continuidade a uma questo. Por que? D um exemplo
As pessoas envolvidas esto dispersas; O nmero de pessoas envolvidas muito grande; D j Deseja-se explorar l vrias i opinies; i i Deseja-se conhecer melhor o sistema para organizar melhor as entrevistas.
A aplicao e compilao dos resultados devem ser planejadas antecipadamente.
Averso a questionrios. questionrios Tirania das palavras. palavras T d Tendncia estatstica. Frieza e impessoalidade.
oq que (What?); ( ) quando (When?); onde (Where?); por que (Why?); quem (Who?) e ainda pode acrescentar a pergunta como(How?) e quanto custa (How much?).
Escreva todas as respostas obtidas Examine as respostas de cada questo e restabelea novas situaes para possibilitar novos pontos a serem questionados Selecione as resposta obtidas e desenvolva os registros
A tcnica de descobrir as necessidades atravs de uma sesso de grupo. Usada pela primeira vez no final da dcada de 70, por um g p grupo p liderado p por Chuck Morris da IBM. As sesses de trabalho com lder imparcial p devem ser consideradas como substitutas da entrevista serial convencional.
consenso em que todos sentem que ganharam e podem aceitar a deciso sem comprometer qualquer convico ou requisito importante.
A reunio convencional com a pessoa de hierarquia mais elevada assumindo a liderana no a abordagem b d mais i produtiva d i
colocar os resultados das discusses em papel na parede medida que emergirem, onde todos podem vlos
A reunio mais p produtiva quando q liderada por p um facilitador que um servidor neutro do grupo, portanto:
No avalia nem contribui com idias. Ajuda o grupo a focalizar suas energias em uma tarefa. Sugere mtodos e procedimentos sobre a sesso. Protege todos os membros do grupo do ataque. Certifica-se C ifi d que todos de d tenham h oportunidade id d de d participar.
Sesso Estratgica g
Discutir o mbito, objetivo e recurso do projeto, bem como questes de poltica e de mudana organizacional Construir ou aperfeioar os diagramas de fluxo e modelo d dados, de d d definir d fi i a l lgica i d da poltica lti empresarial i l Definir os dilogos interativos e os layouts de entradas e sadas constantes no DFD do sistema e utilizando os dados integrantes no modelo de dados
Lder da sesso facilitador das reunies. Engenheiro de requisitos responsvel pela documentao das sesses JAD. Executor responsvel pelo produto e tomar deciso executivas.
Representante p dos usurios p pessoa que q ir utilizar o produto. Representantes de produtos de software pessoas familiarizadas com o produto p p de software. Especialista fornecer informaes detalhadas sobre um tpico p especfico. p
Aprender tanto quanto o permitem os matrias disponveis a respeito da rea empresarial e do projeto. Entrevistar sucintamente cada participante designado, procurando identificar o ponto de vista quanto aos problemas que o sistema proposto deve resolver resolver, os benefcios que o sistema deve fornecer e possveis reas de conflito. Quando Q ando uma ma pessoa no tiver ti er participado de uma ma sesso anterior, anterior deve ser atualizado com relao a situao do projeto. Elabore uma agenda detalhada para a sesso de trabalho.
Rever a situao do projeto. Na 1 1 sesso estratgica: Pedir ao patrocinador que declare as metas do projeto e defina qualquer questo poltica relevante. Pedir P di ao gerente t do d projeto j t que comente t as questes t tecnolgicas envolvidas na situaes. Rever as regras g bsicas para p andamento da sesso, , permitindo i i d que o grupo as modifique, difi se quiser. i Rever a agenda e agir para que se alcance um consenso sobre ela.
Benefcios esperados: quantificveis ou no, tangveis ou intangveis Estratgias e consideraes futuras: como esse produto pode ajudar na organizao, avano estratgico ou competitivo? Restries e suposies: recursos, estrutura organizacional, padres, leis? Segurana, auditoria e controle: requisitos de segurana internos ou externos, auditorias ou controles?
Algumas afetam o processo JAD, outras no, mas podem afetar a maneira como o produto ser construdo ou utilizado.
cada participante tem a oportunidade de expressar preocupaes sobre os requisitos remanescentes. todos adquirem q um senso de posse p e de responsabilidade p para com os requisitos documentados. a concluso da sesso de forma positiva garante contribuies futuras de todos os participantes.
Aps a sesso:
Ajudar o gerente do projeto e a equipe a digerir o material produzido. Resolver as questes pendentes. Completar a documentao. documentao Revisar a documentao. Obter a aprovao do executor.
Deve-se enfatizar a necessidade de absoluta espontaneidade nos trabalhos de grupo devendo estar em um ambiente vontade e no avaliativo.
Quantidade qualidade
Tanto maior o nmero de idias tanto melhor sua qualidade, aumentando, da, a probabilidade de se encontrar uma diferente e criativa.
Utilizao da carona
Concentrar C t em melhorar lh as idi idias alheias, lh i transformando-as t f d e enriquecendo-as (2/3 das melhores idias provm de carona).
Nmero de pessoas : 6 a 10 pessoas. Separao das fases : primeiro uma fase de exposio de idias e depois a fase da avaliao. Durao : indefinido. O registro das idias : tentar t t organizar i as idias idi no fi final. l A liderana : deve ser espontnea Constituio do grupo : procurar juntar pessoas com funes equivalentes.
Gerao de idias
Participantes fornecem idias, sem discusso sobre o mrito delas. til na gerao de varias vises do problema e na sua formulao de diferentes maneiras. Atividades dessa fase:
identificao dos participantes (normalmente usurios e ); desenvolvedores); designao do lder; agendamento da sesso com todos os participantes; e preparao da sala.
Gerao de idias ( cont) Sada: depende das idias geradas (pessoas com conhecimento e especialidades apropriados).
O
lder abre a sesso falando sobre o problema bl d de um modo d geral, l e os participantes ti i t podem gerar novas idias para expressar o problema. enquanto novas idias estiverem sendo geradas geradas.
Continua
terminantemente proibido criticar as idias; Idias no convencionais ou estranhas s~ao encorajadas; O numero de idias geradas deve ser bem grande; Os participantes devem ser encorajados a combinar ou enriquecer as idias de outros (idias visveis).
Idias so discutidas, revisadas, organizadas e avaliadas. Algumas idias so refraseadas. Quando duas ou mais idias so consideradas iguais, so combinadas e reescritas para capturar a sua essncia. Os participantes podem concordar em que algumas das idias so muito esquisitas e descart-las.
requisitos absolutamente essenciais; aqueles que so bons bons, mas no essenciais; e aqueles que seriam apropriados para uma verso subseqente do software.
O lder ou outra pessoa designada produz um registro das idias remanescentes, juntamente com suas prioridades ou outros comentrios relevantes.
Apresenta e discute os aspectos envolvidos na observao pessoal, destacando o que observar e os cuidados com as interpretaes decorrentes. Observaes Previstas
So
aquelas q observaes que q constam do plano p de trabalho do analista e programadas para terem sua realizao conforme previsto.
Observaes Imprevistas
So
Cuidados na observao
Empregados
esperando servio, fazendo trabalho particular ou reunidos em palestras. p p Confuso ou rudo alm do normal. Pilhas de papel nas mesas de trabalho dos funcionrios, ou nas dos chefes e no dos funcionrios. Pessoas perambulando de um lado para outro.
Discusses entre funcionrios. Pessoas chegando atrasadas ou saindo antes da hora. Casos de pessoas interferindo no trabalho das outras. Evidncias de conservao imperfeita, como lmpadas queimadas, empregados procurando consertar mquinas, excesso de d extenses t eltricas lt i pelo l cho. h
fornecer informaes sobre o assunto que q est sendo tratado bem como motivos e justificativas existentes na poca em que foram desenvolvidos, apresentando as solues adotadas e as rejeitadas.
Desenvolvedores inexperientes dificilmente sabem como comear. Que perguntas fazer para extrair os requisitos. S i categorias Seis t i d de problemas bl que podem d ajudar j d o analista a estruturar o processo:
Performance;
Informao Economia;
e dados;
numero de tarefas completadas em uma unidade de tempo (throughput), tal como o numero de pedidos processados no dia; dia e Pelo tempo de resposta, ou seja, a quantidade de tempo necessria para executar uma nica tarefa.
Perguntas que ajudem a identificar as tarefas e o tempo de resposta para cada tipo de tarefa. Quando o produto j existe: descobrir se os usurios experientes j sabem onde existem problemas de desempenho. desempenho
Os p produtos de software fornecem dados ou informaes teis para a tomada de deciso. O software deve fornecer acesso:
ao tipo certo de informao (nem de mais nem de menos); no tempo certo; e em forma utilizvel.
Se os usurios tendem a no utilizar o produto sintoma de que informaes erradas esto sendo fornecidas. fornecidas
Custo de usar um produto de software so sempre importantes. D i fatores Dois f t de d custo t inter-relacionados: i t l i d
Nvel
de servio: medida do desempenho do sistema (throughput, tempo de resposta, ou ambos). Capacidade de lidar com alta demanda: em alguns sistemas varia consideravelmente de minuto a minuto, ou de hora em hora.
Sistemas so normalmente projetados para ter desempenho e sadas previsveis. i i Quando o sistema se desvia do desempenho esperado algum controle d deve ser ativado i d para tomar aes corretivas. i Sistemas de tempo real o controle exercido diretamente pelo software. Segurana controle importante para alguns produtos (acesso restrito a certos usurios ou a certas horas do dia).
Tipo p de acesso restrito ( (somente leitura ou leitura e escrita). ) Auditoria habilidade de ver, monitorar ou reconstruir o comportamento do sistema, durante ou depois da execuo do processo.
para melhorar a economia do processo, a quantidade de recursos deve ser reduzida; para melhorar a eficincia, a perda no uso desses recursos deve ser reduzida.
Produtos de software fornecem servios aos usurios. Pode ser til pensar em termos de servios durante o processo de extrao de requisitos. requisitos
Usurios respondem perguntas sobre que tipos de servios eles precisam que o produto realize e como esses servios devem ser fornecidos.
O produto d t pode d tambm t b prestar t servios i a outros t produtos d t de d software que interfaces sero necessrias entre esses dois produtos. produtos
Critrios adotados:
Sucesso:
Completado no tempo, dentro do oramento e com todas as f i lid d originalmente funcionalidades i i l especificadas. ifi d
Referncias:
Livros:
Engenharia
de Software - Pressman 6 edio Captulo 7 pg 116 140 Engenharia de Software, 8. edio. Captulo 7 Ian Sommerville
Notas de Aulas:
Prof Auxiliadora Freire UFMA Jaelson Castro e Alexandre Vasconcelos - UFPE