Sie sind auf Seite 1von 12

Referencial Bibliogrfico

Engenharia de Requisitos

Sommerville Engenharia de Software captulo 5 e captulo 6 Pressmann Engenharia de Software captulo 6 textos adicionais em formato .doc e .pdf no diretrio da disciplina

comentrios iniciais
o paradoxo de Creta
no sculo VI a.C., o filsofo Epimnides, nascido em Creta, fez a seguinte afirmao: "Os cretenses so sempre mentirosos.

comentrios iniciais

comentrios iniciais
a Gestalt
A palavra Gestalt tem origem alem e surgiu em 1523 de uma traduo da Bblia, significando "o que colocado diante dos olhos, exposto aos olhares". Hoje adotada no mundo inteiro significa um processo de dar forma ou configurao. Gestalt significa uma integrao de partes em oposio soma do "todo".

comentrios iniciais
a Gestalt
A palavra Gestalt tem origem alem e surgiu em 1523 de uma traduo da Bblia, significando "o que colocado diante dos olhos, exposto aos olhares". Hoje adotada no mundo inteiro significa um processo de dar forma ou configurao. Gestalt significa uma integrao de partes em oposio soma do "todo".

ATIVIDADE ELABORE UM SISTEMA DE INFORMACAO PARA CONTROLAR A ALIMENTACAO DO ANIMAL REPRESENTADO NA FIGURA EXIBIDA ANTERIORMENTE

comentrios iniciais

engenharia de requisitos
O objetivo do curso familiarizar os participantes com:
os conceitos essenciais da engenharia de requisitos tcnicas de levantamento de requisitos tcnicas de especificao de sistemas conceitos de gerncia de requisitos alternativa para implementar medidores

engenharia de requisitos
o que no objetivo do curso

Engenharia de Requisitos
CONCEITOS BSICOS

prlogo
como seu processo de desenvolvimento de software?
quem seu cliente? produo/manufatura ou novo produto? gerenciado como projeto ou produto?

prlogo
as exigncias dos clientes:
resolvam completamente meus problemas no desperdicem meu tempo ofeream exatamente o que eu preciso e com custos cada vez menores entreguem valor exatamente onde e quando eu preciso reduzam o nmero de decises que eu preciso tomar para resolver meus problemas

prlogo
o que os clientes esperam:
eficcia:
o software faz aquilo que deve ser feito: nem mais e nem menos.

Engenharia de Requisitos objetivo


compreender os conceitos dos requisitos do usurio e dos requisitos do sistema e por que esses requisitos podem ser expressos utilizando-se diferentes notaes; compreender as diferenas entre requisitos funcionais e requisitos no funcionais; compreender tcnicas para descrever os requisitos de sistema; compreender como os requisitos podem e devem ser organizados em um documento de requisitos de software.

desempenho:
o software executa o que deve ser feito com uma eficincia aceitvel.

disponibilidade:
o software est pronto para iniciar a operao quando necessrio.

confiabilidade:
a probabilidade do software concluir sua misso com xito uma vez que ele a tenha iniciado.

segurana:
a probabilidade de que uma falha do software no cause perdas materiais importantes ou afete os seres vivos.

roteiro
A Situao na Indstria de Software Motivaes para a Engenharia de Requisitos Definies de Requisitos Escopo dos Requisitos Classificao dos Requisitos Caractersticas dos Requisitos Expresso dos Requisitos Registro dos Requisitos

A Situao na Indstria de Software

definindo o sucesso do software


clientes satisfeitos esto satisfeitos quando: atende s expectativas entrega no prazo entrega no oramento

principais fatores de falha dos projetos


falta de input input do usu usurio objetivos no estavam claros requisitos e especifica especificaes incompletos requisitos e especifica as) especificaes inst instveis (mudan (mudan as) falta de suporte do n nvel executivo

o Sucesso come a com come comea a Gerncia de Requisitos

custo dos erros

passos para o sucesso de um projeto


Anlise do Problema
entenda o problema obtenha concordncia dos envolvidos

Levantamento dos Requisitos


identifique quem usar o sistema (atores) descubra como o sistema ser usado (casos de uso)

Gerncia de Requisitos
especifique os requisitos completamente gerencie expectativas, mudanas e erros controle o aumento do escopo defina a equipe e a mantenha informada

impactos no sucesso de um projeto


PRINCIPIO LEAN GESTAO ENXUTA

estratgias de gesto para o sucesso de um projeto


1. 2. 3. 4. 5. 6. 7. elimine desperdcios inclua a Qualidade no processo crie conhecimento adie comprometimentos entregue rpido respeite as pessoas otimize o todo

alguns motivos:
requisitos que mudam rpido e constantemente tomada de decises centralizada gerenciamento rgido do escopo prticas tradicionais de desenvolvimento (linear) (ou inexistncia de alguma) pouco foco na qualidade do software produzido

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho incompleto (em-progresso) processos a mais funcionalidades a mais Troca de tarefas handoffs atrasos defeitos PRINCIPIO LEAN GESTAO ENXUTA

. elimine desperdcios
os sete desperdcios de software:
trabalho incompleto (em-progresso) processos a mais artefatos inacabados consomem recursos sem
trazer retorno

funcionalidades a mais reclamaes:


Requisitos - Especificando muito cedo

Troca de tarefas Teste - Testando muito tarde


documentao no-codificada

handoffs cdigo no-sincronizado


cdigo no-testado

atrasos cdigo no-implantado defeitos

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho incompleto (em-progresso) processos a mais funcionalidades a mais burocracia desnecessria
documentao desnecessria Troca de tarefas ausncia de documentao atividades de gerenciamento handoffs bom teste para avaliao: existe algo ou algum esperando pelo que atrasos est sendo produzido?

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho incompleto (em-progresso) processos a mais funcionalidades a mais
Jim Johnson: Troca de tarefas 45% das funcionalidades implementadas no so utilizadas nunca handoffs 19% das funcionalidades implementadas so utilizadas raramente atrasos cdigo no-utilizado introduz complexidade defeitos complexidade: inimigo da manuteno MITO ESPECIFICAR CEDO REDUZ O RISCO

defeitos

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho incompleto (em-progresso) processos a mais
Como sincronizar funcionalidades a mais desenvolvimento novo e manuteno?

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho incompleto (em-progresso) processos a mais
Conhecimento tcito difcil

funcionalidades a mais de transmitir Troca de tarefas handoffs atrasos defeitos


Quanto mais handoffs, maior a perda de conhecimento Dicas:
Reduza handoffs Use meios de comunicao eficazes Libere partes do trabalho para apreciao e feedback

Troca de tarefas handoffs atrasos defeitos

rotatividade de pessoas Alocar uma parte do tempo Triagem agressiva + atendimento imediato a manutenes urgentes Implantao semanal + tratar manuteno como funcionalidades do release

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho incompleto (em-progresso) processos a mais
Construtores precisam tomar

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho esperar incompleto pelo entendimento (em-progresso) completo dos requisitos
esperar meses pela aprovao do projeto

processos esperar a mais pela alocao das pessoas


esperar pela disponibilidade das pessoas alocadas

funcionalidades a mais decises a cada 15 minutos Troca de tarefas handoffs atrasos defeitos
impossvel assumir que toda informao necessria estar documentada Opes na hora da dvida:
Tentar descobrir a resposta Trocar de tarefa Adivinhar e prosseguir

funcionalidades mais de alteraes processo dea controle


esperar pelo sistema inteiro ficar completo para ter as funcionalidades-chave Troca de tarefas esperar o cdigo passar pelos testes esperar para comunicar defeitos (QA no final) handoffs

atrasos defeitos

. elimine desperdcios
os sete desperdcios de software:
PRINCIPIO LEAN GESTAO ENXUTA trabalho incompleto (em-progresso) processos a mais
O custo dos defeitos Equipes geis se esforam ao mximo para evitar defeitos Em caso de defeito, fazem o mximo para curar a raiz do problema Testes automatizados so investimentos!

. inclua a qualidade no processo


PRINCIPIO LEAN GESTAO ENXUTA
Inspecionar para prevenir defeitos bom; Inspecionar para encontrar defeitos desperdcio Shigeo Shingo

funcionalidades a mais aumenta com o tempo Troca de tarefas handoffs atrasos defeitos

no deixe os testes para o final ciclos de teste muito longos geralmente gastam mais tempo corrigindo defeitos ao invs de se esforar para gerenciar defeitos, evite-os

. crie conhecimento
PRINCIPIO LEAN GESTAO ENXUTA metfora: criar X preparar uma receita incentive o compartilhamento de conhecimento tcito buscar um processo padro engessa o processo deve ser continuamente melhorado PRINCIPIO LEAN GESTAO ENXUTA

. adie comprometimentos
Decises irreversveis devem ser tomadas o mais tarde possvel (last responsible moment) preciso definir o momento da deciso
Quando houver mais informao

Flexibilidade arbitrria tambm ruim Um bom lder saber alocar flexibilidade

. entregue rpido
PRINCIPIO LEAN GESTAO ENXUTA PRINCIPIO LEAN GESTAO ENXUTA

. respeite as pessoas
3 pilares esto relacionados s pessoas:
liderana fora de trabalho com conhecimento planejamento e controle baseado em responsabilidade

A moral da histria que devemos encontrar uma maneira de entregar software to rpido, que nossos clientes no tenham tempo de mudar de idia Mary Poppendieck competir com base na velocidade traz grande vantagem competitiva mito: rpido e sujo X lento e limpo

liderana:
grande conhecimento tcnico grande conhecimento do cliente

equipes completas

. respeite as pessoas
PRINCIPIO LEAN GESTAO ENXUTA PRINCIPIO LEAN GESTAO ENXUTA

. respeite as pessoas
A verdadeira inovao da Toyota sua habilidade em usufruir da inteligncia dos trabalhadores comuns Gary Hamel programas de Qualidade:
CMM, CMMI, Six Sigma, ISO, TQM lanados com as melhores das intenes mal-implementados
Focam na parte burocrtica Processo definido por um grupo separado

pessoas so recursos? papel da gerncia distribuir tarefas e monitorar? motivao:


propsito participao (belonging) segurana competncia progresso

. otimize o todo
PRINCIPIO LEAN GESTAO ENXUTA PRINCIPIO LEAN GESTAO ENXUTA

. otimize o todo
crculo vicioso #2 no desenvolvimento de software:
equipe de testes sobrecarregada resultado: testes bem aps codificao resultado: desenvolvedores no recebem feedback imediato resultado: desenvolvedores criam mais defeitos resultado: equipe de teste tem mais trabalho

crculo vicioso #1 no desenvolvimento de software:


cliente pede nova funcionalidade, para ontem desenvolvedor ouve: termine isso rpido! resultado: mudanas feitas de qualquer jeito no cdigo resultado: Complexidade do cdigo aumenta resultado: nmero de defeitos no cdigo aumenta resultado: tempo para adicionar funcionalidade cresce exponencialmente

. otimize o todo
PRINCIPIO LEAN GESTAO ENXUTA PRINCIPIO LEAN GESTAO ENXUTA

. otimize o todo
mtricas (Metas / Indicadores):
medir informao vs. medir desempenho cuidado!
fcil medir muitas coisas fcil medir as coisas erradas

preciso olhar para o processo todo no adianta resolver os sintomas preciso resolver a causa

Earned Value mede aderncia ao plano:


custo, escopo e cronograma mas e a satisfao do cliente e a qualidade?

contra-exemplo:
Desenvolvedores: LOC/h Testadores: # Defeitos encontrados

. otimize o todo
PRINCIPIO LEAN GESTAO ENXUTA

estratgias de gesto para o sucesso de um projeto


RECAPITULANDO
PRINCIPIO LEAN GESTAO ENXUTA

diminua o nmero de mtricas de desempenho mea para cima:


medidas no nvel mais alto que direcionam para o comportamento correto estabelea uma base para fazer trade-offs

1. 2. 3. 4. 5. 6. 7.

elimine desperdcios inclua a Qualidade no processo crie conhecimento adie comprometimentos entregue rpido respeite as pessoas otimize o todo

tempo de ciclo + mapa de fluxo de valor ROI + modelo de lucros e perdas satisfao do cliente + entendimento das suas necessidades

definio de requisitos
um requisito de sistema descreve o que requerido para que o sistema cumpra o seu objetivo. um requisito de software descreve o que requerido para que o software contribua para a satisfao do objetivo do sistema.

definio de requisitos
Glossary - Software Engineering Terminology
Uma condio ou capacidade necessria a um usurio para solucionar um problema ou conseguir um objetivo Uma condio ou capacidade que deve ser alcanada ou possuda por um sistema, ou componente do sistema para satisfazer um contrato, um padro, uma especificao, ou outro documento formal. Uma representao de uma condio ou capacidade como apresentado nos itens acima.

Allan Davis
Uma necessidade do usurio ou uma caracterstica, funo ou atributo do sistema que pode ser percebido.

Sommerville
Requisitos so uma especificao do que deve ser implementado. So descries de como o sistema deve se comportar, ou de suas propriedades. Eles podem ser tambm restries no processo de desenvolvimento do sistema.

escopo dos requisitos


a engenharia de requisitos permeia todo o processo de desenvolvimento.

escopo dos requisitos


requisitos existem em diversos nveis
Qu Como Qu Como Qu Como necessidades dos envolvidos caractersticas do produto ou sistema software requirements specification (Casos de Uso) design procedimentos de teste documentao

classificao dos requisitos


Business Requirements
So os objetivos de nvel mais alto da organizao ou do cliente que demanda o sistema. Devem estar contidos no documento Viso e Escopo do Projeto.

classificao dos requisitos

Functional Requirements
Representam as funcionalidades do produto a ser construdo para possibilitar aos usurios a realizao de suas tarefas, satisfazendo os Business Requirements.

User Requirements
So as tarefas que o usurio deve ser capaz de realizar com o sistema.

NonFunctional Requirements
So os padres, regulamentaes e contratos que o sistema deve seguir, alm de interfaces externas, requisitos de performance, restries de projeto e implementao e atributos de qualidade.

classificao dos requisitos


requisitos funcionais
Descries dos servios que o sistema deve prover, como o sistema deve reagir a estmulos e qual deve ser seu comportamento.

classificao dos requisitos


requisitos funcionais
podem ser expressos em termos de uma funo ou transformao de dados, ou em termos de uma modificao verificvel no estado do sistema.

requisitos no-funcionais
Propriedades do sistema e restries dos servios e funes oferecidas pelo sistema, tais como restries de tempo, processo de desenvolvimento, padres, etc.

requisitos no-funcionais
geralmente associados com aspectos qualitativos.

classificao dos requisitos requisitos no funcionais


definem propriedades do sistema e restries, (confiabilidade, tempo de resposta e requisitos de armazenamento). tambm envolvem requisitos do processo como o uso de uma ferramenta CASE, uma linguagem de programao ou um mtodo de desenvolvimento. normalmente so mais crticos que os requisitos funcionais; se no forem satisfeitos comprometem o uso e a aceitao do sistema.

classificao dos requisitos requisitos no funcionais


requisitos do produto requisitos que especificam o comportamento do produto em situaes particulares; velocidade de execuo, confiabilidade, etc. requisitos da organizao requisitos decorrentes de polticas e procedimentos organizacionais; padres, infraestrutura, etc. requisitos externos requisitos decorrentes de fatores externos ao sistema e ao processo de desenvolvimento; requisitos de interoperabilidade, legislao, etc.

classificao dos requisitos requisitos no funcionais


requisitos requisitos no no funcionais funcionais
requisitos requisitos de de processo processo requisitos requisitos externos externos

classificao dos requisitos relacionamento de tipos de requisitos


Business Requirements Quality Attributes NonFunctional Requirements Constraints

requisitos requisitos de de produto produto

Documento Viso e Escopo User Requirements Functional Requirements

requisitos requisitos de de usabilidade usabilidade

requisitos requisitos de de requisitos requisitos de de requisitos requisitos de de eficincia confiabilidade eficincia confiabilidade portabilidade portabilidade

requisitos requisitos de de entrega entrega

requisitos requisitos de de implementao implementao

requisitos requisitos para para padres padres

requisitos requisitos legais legais

requisitos requisitos de de custo custo

requisitos requisitos de de interoperabilidade interoperabilidade

Sommerville 92

requisitos requisitos de de performance performance

requisitos requisitos de de espao espao

Documento Especificao Requisitos

caractersticas dos requisitos


verificvel preciso correto consistente completo compreensvel manutenvel rastrevel

caractersticas dos requisitos


verificvel
se no podemos verificar a satisfao de um dado requisito tanto faz ele existir ou no. a verificao ocorre atravs de procedimentos de teste, experimentos e provas ou atravs de acordos de aceitao previamente definidos.

caractersticas dos requisitos


preciso
requisitos devem ser expressos precisamente, de outro modo no se pode garantir que iro ser interpretados da mesma forma por todas as pessoas envolvidas.

caractersticas dos requisitos


correto
requisitos devem expressar corretamente o que requerido.

consistente
requisitos no devem conter conflitos.

completo
tudo que requerido deve ser expresso.

compreensvel
todas as pessoas envolvidas devem entender, no seu nvel de participao, o que est expresso em um requisito.

10

caractersticas dos requisitos


manutenvel
devemos poder mudar a expresso de um requisito e dos demais documentos relacionados a ele sempre que necessrio.

expresso dos requisitos


diferentes linguagens so necessrias para exprimir diferentes aspectos do que requerido. a linguagem natural apropriada para facilitar a comunicao (compreensibilidade), embora no seja adequada para assegurar as outras caractersticas dos requisitos.
linguagens grficas so adequadas para a comunicao e podem incorporar mais preciso que as linguagens naturais.

rastrevel
deve ser possvel determinar a fonte (sua origem) e o destino de cada requisito (onde ele foi alocado).

quanto maior a formalizao, maior a preciso e menor a expressividade.

registro dos requisitos


1.introduo

registro dos requisitos


ESTRUTURA SIMPLES
1.objetivos 2.viso geral do documento

2.caracterizao do sistema
1.descrio do domnio 2.descrio operacional
1. contexto, cenrios e casos de uso

3.arquitetura

3.requisitos funcionais
1.funo 1
1. descrio

2.funo 2
1. descrio

3....

registro dos requisitos

riscos de requisitos
riscos por ter um processo inadequado
o no envolvimento dos usurios acarreta em produtos inaceitveis. o requirements creeping contribui para o estouro de prazo e degrada a qualidade do produto. requisitos ambguos acarretam em perda de tempo e retrabalho. gold-plating pelos desenvolvedores e os usurios acrescentam caractersticas desnecessrias ao produto.

11

riscos de requisitos
riscos por ter um processo inadequado
especificaes limitadas acarretam a perda de requisitos chaves. ter uma viso superficial das necessidades dos usurios acarreta em usurios insatisfeitos e produtos inadequados. uma definio incompleta dos requisitos impossibilitam um planejamento e acompanhamento do projeto de forma precisa

benefcios de um processo definido


reduo do retrabalho nos estgios posteriores do desenvolvimento. reduo do custo, pois um erro no produto em operao custa at 200 vezes mais se o erro fosse descoberto na fase de requisitos. envolvimento dos participantes (stakeholders) de modo colaborativo, entendendo a perspectiva de cada um deles. entendimento do mercado ao qual o produto se destina, um fator crtico para o sucesso do projeto. percepo antecipada das expectativas dos usurios do sistema.

alguns nmeros....
causas principais dos fracassos em projetos 1. 2. 3. 4. 5. 6. Falta da participao do usurio Requisitos Incompletos Mudana nos Requisitos Prazo irreal Equipe despreparada Falta de domnio da tecnologia 13% 12% 12% 4% 6% 7%

causas principais dos sucessos em projetos 1. Envolvimento do usurio 2. Suporte da direo da empresa 3. Requisitos consistentes 16% 14% 12%

12

Das könnte Ihnen auch gefallen