Documente Academic
Documente Profesional
Documente Cultură
Engenharia de Requisitos
Ana Patrcia F. Magalhes Mascarenhas anapatriciamagalhaes@gmail.com
Contedo Programtico
Requisitos de Software
Requisitos de usurio
Requisitos de sistema Requisitos funcionais e no funcionais Documento de requisitos
Especificao de requisitos
Validao
Gerenciamento de requisitos
Requisitos de Sistema
Requisitos de Software
A parte mais difcil da construo de um sistema de software decidir o que construir. Nenhuma parte do trabalho danifica tanto o sistema se for feita errada. Nenhuma outra parte mais difcil de consertar depois Vamos ler um pequeno texto ... Brooks Frederic
Requisitos de Software
seu pior pesadelo. Um cliente entra no seu escritrio, senta-se, olha voc direto nos olhos e diz: Eu sei que voc pensa que entende o que eu disse, mas o que voc no entende que, o que eu disse, no o que eu queria dizer. Invariavelmente, isso acontece no final de um projeto, depois que os compromissos de prazo de entrega foram feitos, que as reputaes esto envolvidas e que dinheiro srio est em jogo. Todos ns Algum que temos trabalhado no negcio de sistemas e software h alguns anos, aqui nunca passou por isso? vivemos esse pesadelo e, no entanto, poucos de ns aprenderam a se livrar dele. Lutamos quando tentamos levantar requisitos de nossos clientes. Temos dificuldade de entender a informao que conseguimos. Frequentemente registramos os requisitos de maneira desorganizada e gastamos muito pouco tempo verificando o que de fato registramos. Permitimos que as modificaes nos controlem, em vez de estabelecer mecanismos para controlar as modificaes. Em resumo, falhamos em estabelecer uma fundamentao slida para o sistema ou software. Cada um desses problemas um desafio. Quando eles se combinam, a perspectiva danosa mesmo para os gerentes mais experientes. Mas solues de fato existem.
Texto retirado de PRESSMAN, R. Engenharia de Software, 6 Edio, Ed. McGraw-Hill, 2006. 5
O termo requisito no usado pela indstria de software de modo consistente... Pode ser:
Uma declarao abstrata de alto nvel de uma funo do sistema Definio matematicamente formal de uma funo do sistema Uma restrio do sistema
8
E Engenharia de Requisitos?
10
Requisitos de software
Requisitos Usurio
=df
Sistema
Funcionais
No-funcionais
Domnio
11
Requisitos de usurio
Funes que o sistema deve fornecer
Restries sob as quais o sistema deve operar Descrito em linguagem natural ou diagramas
12
Requisitos de usurio
Destinados a
Gerentes de negcios Usurios finais Engenheiros do cliente Gerentes de fornecedores
Exemplo:
O software deve oferecer um meio de efetuar matricula de aluno presencialmente ou a distncia.
13
Requisitos do usurio
Alto nvel de abstrao Comportamento externo do sistema viso do usurio Podem gerar problemas de:
Falta de clareza: ambiguidade na linguagem Confuso de requisitos: requisitos conflitantes Fuso de requisitos: requisitos diferentes expressos em um nico requisitos
14
Requisitos de usurio
15
Requisitos de sistema
16
Requisitos de sistema
Descries detalhadas dos requisitos de usurio Serve como base para o contrato de desenvolvimento do sistema Utilizado como ponto de partida para o projeto do sistema A linguagem natural pode ser muito flexvel, ento alternativas devem ser utilizadas a exemplo de notaes grficas
17
Requisito de usurio
O sistema deve efetuar a matrcula dos alunos de graduao
Requisito de sistema Cadastrar Aluno Gerar nvel de matrcula Selecionar disciplinas Checar pre-requisitos Gravar matrcula
18
Requisitos de software
Requisitos Usurio
=df
Sistema
Funcionais
No-funcionais
Domnio
19
Declaraes de funes que o sistema deve fornecer Dependem do tipo de software e dos usurios Ambigidade nos requisitos (p. ex. telas apropriadas)
20
Podem definir restries para o sistema (dispositivos de E/S, p. ex.) Se referem ao sistema como um todo Surgem conforme a necessidade dos usurios (oramento, polticas organizacionais, interoperabilidade com outros sistemas)
21
Aos poucos, a sociedade vai apercebendo-se que, apesar de ser invisvel, o software pode afetar o nosso dia a dia de maneiras inusitadas e indesejadas.
Fonte: http://jcspl.wordpress.com/2008/09/06/o-que-amadona-tem-a-ver-com-a-engenharia-de-software/
22
Requisitos no funcionais
Requisitos no funcionais so difceis de serem verificados Causam problemas, pois em geral ficam abertos interpretaes e a discusso quando o sistema entregue
Expressar quantitativamente
23
Requisitos no funcionais
de treinamento NaTempo prtica a especificao Confiabilidade Tempo mdio para falhar quantitativa requisitos difcil Probabilidadede de indisponibilidade Facilidade de uso
Taxa de ocorrncia de falhas Robustez Portabilidade Tempo de reincio depois de uma falha Probabilidade de que dados sejam corrompidos por falhas Percentagem de declaraes dependentes de sistemas-alvo
24
Requisitos de domnio
25
A especificao de requisitos seguem como fio condutor de todo o processo de construo de software Requisitos mal especificados => software de baixa qualidade
O problema se propaga e se multiplica Perde-se de dinheiro Perde-se tempo Difcil de manter
As sementes dos principais desastres de software so usualmente lanadas nos primeiros trs meses de incio do projeto de software Caper Jones
26
Trabalho Parte I
Definir o grupo Definir o sistema a ser construdo
27
Engenharia de Requisitos
Recaptulado...
Requisitos de Software
A parte mais difcil da construo de um sistema de software decidir o que construir. Nenhuma parte do trabalho danifica tanto o sistema se for feita errada. Nenhuma outra parte mais difcil de consertar depois
Frederic Brooks
(PRESSMAN, 2006)
30
A Engenharia de Requisitos um processo que envolve todas as atividades exigidas para criar e manter o documento de requisitos do sistema
Sommerville, 2006
31
Quais so os participantes? Todos? Como aplicar a ER em diferentes ciclos de vida? Quais os produtos gerados.
Cenrios de usurio; funcionalidades; modelos e especificao
Engenharia de Requisitos
Atividades envolvidas na ER
Estudo de viabilidade do sistema Obteno e anlise dos requisitos Especificao dos requisitos e sua documentao Validao dos requisitos
33
Engenharia de Requisitos
Gerenciamento de requisitos
Estudo de Viabilidade
Especificao de Requisitos
Relatrio de Viabilidade
Modelos de Sistema
Validao de Requisitos
34
Entrada:
descrio geral do sistema e de como ele ser utilizado dentro da organizao As informaes so obtidas atravs de entrevistas com gerentes e engenheiros de software
35
Trabalho Parte II
Fornecer parecer
Artefato: Documento com a respostas acima e o parecer
38
Especificao de Requisitos Relatrio de Viabilidade Modelos de Sistema Requisitos de Usurio e Sistema Documento de Requisitos
(SOMMERVILLE, 2007)
Validao de Requisitos
aprender sobre o objetivo da aplicao. identificar quais servios o sistema deve oferecer. definir qual o desempenho esperado. definir restries de hardware.
Quais so mesmo as suas necessidades???
Qualquer pessoa com alguma influncia direta ou indireta sobre os requisitos do sistema.
(Stakeholders)
??????
(PRESSMAN, 2006)
44
1.Obteno de requisitos
4.Documentao de requisitos
Requisitos so priorizados e ordenados Estimativas (grosseiras) do esforo so realizadas para avaliar o impacto do requisito (custo e prazo)
Verificao de requisitos
Entrada do processo
Especificao de requisitos
Compreenso do domnio
Definio de prioridades
Documento de requisitos
Coleta de requisitos
Resoluo de conflitos
46
Atividades do processo:
Obteno de requisitos processo de interao com os stakeholders.
Classificao e organizao de requisitos envolve a coleo de requisitos. Agrupa os requisitos relacionados e os organizam em conjuntos coerentes.
Priorizao e negociao de requisitos est relacionada priorizao, procura e resoluo de conflitos. Documentao de requisitos podem ser produzidos documentos formais ou informais.
47
Especificao de Requisitos Relatrio de Viabilidade Modelos de Sistema Requisitos de Usurio e Sistema Documento de Requisitos
(SOMMERVILLE, 2007)
Validao de Requisitos
Especificao de Requisitos
a descrio detalhada dos requisitos ... Usurios usam linguagem natural, tabelas e diagramas para se expressar ...
Problemas com a Linguagem Natural:
Falta de clareza - como usar a linguagem de maneira precisa, sem ambiguidade, sem produzir um documento de difcil leitura?
Confuso de requisitos- Os requisitos funcionais e os no funcionais, os objetivos do sistema e as informaes sobre o projeto podem no estar claramente definidos.
Fuso de requisitos - Vrios requisitos diferentes podem ser expressos juntos como um nico requisito.
Introduo
Propsito do documento Escopo do produto Definies e abreviaes Referncias Viso geral do restante do documento
Descrio No geral o
As
Perspectiva do produto Funes do produto Caractersticas dodependem usurio informaes do tipo Restries gerais organizao Suposies e dependncias
Funcionais, no funcionais a maior parte do documento
Requisitos especficos
Apndices ndice
52
Em resumo deve incluir : Requisitos e usurio Especificao detalhada dos requisitos do sistema Arquitetura de sistemas Viso geral de alto nvel da arquitetura prevista para o sistema.
Definio de requisitos do usurio
Distribuio das funes em mdulos Destacar os componentes da arquiterura Especificao de requisitos do sistema Modelos do sistema Descrio dos requisitos funcionais e no funcionais do sistema
Servios fornecidos para o usurio Requisitos no funcionais Descrio pode ser em linguagem natural, diagramas ou qualquer notao compreensvel ao usurio. Especificar padres e processos a serem seguidos
Estabelecer um ou mais modelos de sistema - relacionamento com os componentes do sistema e o ambiente Utiliza modelos de objeto, modelos de fluxo de dados. Suposies a que o sistema se baseia e mudanas previstas Outras informaes relevantes (descries de hardware, requisitos de BD, etc.) ndice alfabtico, ndice de diagramas, etc.
53
Documento de Requisitos
Clientes de sistema
Gerentes
Engenheiros de sistema
Engenheiros de teste
(SOMMERVILLE, 2007)
54
Trabalho Parte II
Estudo de Viabilidade
Especificao de Requisitos Relatrio de Viabilidade Modelos de Sistema Requisitos de Usurio e Sistema Documento de Requisitos
(SOMMERVILLE, 2007)
Validao de Requisitos
58
Gerenciamento de Requisitos
59
(SOMMERVILLE, 2007)
(SOMMERVILLE, 2007)
Requirements engineering, IEEE Software, 2 (1), jan./fev., 2003. The Atlantics Systems Guild - http://www.systemsguild.com/ EasyWinWin: A Groupware-Supported Methodology For Requirements Negotiation - http://sunset.usc.edu/research/WINWIN/EasyWinWin/
61
Referncias Bibliogrficas
PRESSMAN, R., 2006, Engenharia de Software, 6.ed. - So Paulo: McGraw-Hill.
SOMMERVILLE, I., 2007, Software Engineering, 8th. ed. Addison Wesley.
62