Beruflich Dokumente
Kultur Dokumente
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.
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
Gerncia de Requisitos
especifique os requisitos completamente gerencie expectativas, mudanas e erros controle o aumento do escopo defina a equipe e a mantenha informada
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
. 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
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
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
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!
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
. 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
. 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
. 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
contra-exemplo:
Desenvolvedores: LOC/h Testadores: # Defeitos encontrados
. otimize o todo
PRINCIPIO LEAN GESTAO ENXUTA
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.
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.
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.
requisitos requisitos de de requisitos requisitos de de requisitos requisitos de de eficincia confiabilidade eficincia confiabilidade portabilidade portabilidade
Sommerville 92
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
rastrevel
deve ser possvel determinar a fonte (sua origem) e o destino de cada requisito (onde ele foi alocado).
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....
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
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