Escolar Documentos
Profissional Documentos
Cultura Documentos
Requisitos de Sistema
Levantamento de Requisitos
O que : a definio das caractersticas e propriedades desejadas para o sistema que ser elaborado; Objetivos: Definir claramente o que se deseja do sistema a ser implementado; Quem participa: Contratantes do sistema, futuros usurios do sistema e analistas de requisitos; Tcnicas utilizadas: Entrevistas e questionrios, workshops de requisitos, interpretao de papis, prototipao e outras.
Importncia
Requirements elicitation is perhaps the most difficult, most critical, most error-prone, and most communication-intensive aspect of software development. Karl Wiegers, 2003 A obteno das exigncias talvez a mais difcil, a mais crtica, de aspecto o mais sujeito a erros, e a mais intensiva em comunicao da programao de software.
Gesto
Utilizao
Avaliao
Informaes
Necessidades
Elicitao
Modelagem
Validao
Especificao dos Requisitos
Rocco, 2004
Anlise
Especificao
Aquisio
Representaes
Requisitos de Software
A Norma ISO/IEC 9126 define seis caractersticas de qualidade de software que devem ser avaliados: Funcionalidade (finalidade do produto) Usabilidade (esforo para utilizar, aprender o produto) Confiabilidade (freqncia de falhas, recuperabilidade) Eficincia (desempenho) Manutenibilidade (esforo necessrio para modificar) Portabilidade (capacidade de transferir o produto para outros ambientes)
Nveis de Requisitos
Requisitos de negcio
objetivos de alto nvel requeridos pelos clientes
Requisitos de usurio
tarefas que os usurios so habilitados a realizar
Requisitos funcionais
funcionalidade que o software deve prover
(comportamento e propriedade: como o sistema deve se comportar quando recebe um estimulo)
Requisitos no funcionais
Restritivos: Impem restries ao sistema, o que limita as
opes de soluo a serem adotadas. No expressam nenhuma funcionalidade a ser realizada pelo software
Gerncia de Requisitos
Especifique os requisitos completamente Gerencie expectativas, mudanas e erros Controle o aumento do escopo Defina a equipe e a mantenha informada
Gerncia de Requisitos
Atividades de: - acompanhar o desenvolvimento - controlar as mudanas dos requisitos Aes: - planejamento desenvolvimento - rastreabilidade com componentes de software - definio do estado e avaliao da qualidade - Anlise de impacto e controle de verses de mudanas
Rocco, 2004
ELICITAR
MODELAR
Nesta fase o engenheiro de requisitos procura captar os requisitos do software, buscando obter conhecimento do domnio do problema. ELICITAR: descobrir, tornar explcito, obter o mximo de informaes para o conhecimento do objeto em questo.
Cabe elicitao a tarefa de identificar os fatos relacionados aos requisitos do Sistema, de forma a prover o mais correto e mais completo entendimento do que demandado do software.
Para alcanar tal objetivo, esta fase utiliza trs atividades principais: identificao das fontes de informao; coleta de fatos e comunicao, alm de ferramentas, pessoal e mtodos.
Identificar e revisar os objetivos do sistema (Identificar e revisar quais informaes relevantes para o cliente que o sistema dever gerir e armazenar.)
Identificar e revisar os requisitos funcionais
Necessidades da Elicitao
Faz
Faz Faz
Coleta de Fatos
Identificao de Fontes de Informao Comunicao
Usa
Mtodos
Importante:
Priorizar as Fontes de Informao. Descubra:
Atores mais importantes Documentos mais mencionados Rede de comunicaes entre os componentes do macro-sistema ...
Comunicao
(...entre clientes/agentes e os eng. soft.)
Linguagem
Nvel de Abstrao
Retro-alimentao
Apresentao
Diferentes formas de apresentao ajudam ou dificultam o entendimento.
Distribuio de Vendas
45% 40% 35% 30% 25% 20% 15% 10% 5% 0% Produto A Produto B Produto C Produto D
Distribuio de Vendas
Produto A Produto B Produto C Produto D 15% 40% 20% 25%
Percentual
Entendimento
A comunicao pode ser ruidosa se os indivduos estiverem dialogando em diferentes nveis de abstrao. Conflito presente entre generalistas e especialistas.
Exemplo Devemos conquistar mercados (Diretoria) X Distribuir os vendedores (Gerncia de Vendas)
Linguagem
A linguagem reflexo da cultura de uma sociedade. Para entendermos algo de importante para uma sociedade temos que entender sua linguagem. Deve-se compreender a linguagem antes de elicitar as necessidades.
Exemplos Conta-me, Dzero, Fecha a mesa, Passagem de Resultados, Zipar, FTP, TCP/IP
Retroalimentao
Obrigar ao receptor da informao a recolocar a comunicao at que o emissor responda positivamente a recolocao. Resumir, parafrasear, confirmar.
a ?
Tcnicas de Levantamento
- Entrevistas - Questionrios -Observao / Visitas instalaes (prprias ou outras) - Demonstraes - Pesquisa externa - Anlise da Documentao - Joint Application Design (JAD) - IBM - Brain Storm - Brain Writing
MOSTRAR EXEMPLOS
Envolve:
DOCUMENTAO O
Anlise de Requisitos
O tratamento da informao um requisito que fundamenta o processo de desenvolvimento de software antes da soluo de tecnologia a ser aplicada. Cada projeto deve ter suas fases de desenvolvimento adequadas s necessidades de tratamento da informao.
Requisitos
Requisitos funcionais evidentes so efetuados com conhecimento do usurio; Requisitos funcionais ocultos so efetuados pelo sistema sem o conhecimento explcito do usurio; Descrever requisitos funcionais e requisitos nofuncionais requer tratar dois aspectos: primeiro, "Produzir"; segundo, "com Qualidade", as duas faces da moeda aplicveis Engenharia de Software.
O processo de produo de software depende da definio clara de qual produto construir. Esta definio fundamenta-se no conhecimento do problema e na viabilizao de oportunidade de negcio com o uso de tecnologia da informao.
Requisitos
A estratgia o tratamento multidisciplinar da informao de requisitos obtida do ponto de vista dos stakeholder (fonte de informao) para o entendimento e atendimento s necessidades.
Requisitos
F2 Calcular descontos Oculto ( x ) 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 Nos fins de semana, usurios que levam 4 fitas Especificao ( ) fim de semana pagam apenas 3. ... ... ... ...
Permanente ( ) ...
Requisitos Suplementares
Nome S1 Tipo de Interface Restrio As interfaces do sistema devem ser implementadas como formulrios acessveis em um browser html. A camada de persistncia deve ser implementada 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). ... Categoria Interface Desejvel ( ) Permanente ( ) S2 Armazenamento de dados Persistncia ( ) (x)
S3 Perfis de usurio
Segurana
( )
( )
...
...
...
...
F11, F12
I x x x
A x x x
E x x x x
C x x x x
Observao S possvel excluir se no houver emprstimos associados S possvel excluir se no houver emprstimos associados A incluso de emprstimo s pode acontecer atravs do caso de uso emprestar fitas. No possvel alterar um emprstimo, apenas excluir.
Amostragem
o processo de seleo sistemtica de elementos representativos de uma populao. Quando os elementos selecionados em uma amostragem so analisados, pode-se assumir que esta anlise revelar informaes teis acerca da populao como um todo. Por que usar amostragem? diminuir custos; acelerar o processo de levantamento de informaes; eficincia: a informao tende a ser mais apurada, j que menos elementos podem ser analisados, mas estes podem ser analisados com mais detalhes; reduzir tendncias.
Investigao
Muitas vezes, algumas informaes so difceis de serem obtidas atravs de entrevistas ou observao. Tais informaes revelam, tipicamente, um histrico da organizao e sua direo. Nestes casos, devemos utilizar investigao, isto , anlise de documentos. Atravs de investigao, podemos obter mais facilmente informaes, tais como tipos de documentos e problemas associados, informao financeira e contextos da organizao. Tais informaes so difceis de serem obtidas atravs de outras tcnicas de levantamento de requisitos, tais como entrevistas ou observao.
Entrevistas
Uma entrevista de levantamento de informaes uma conversa direcionada com um propsito especfico, que utiliza um formato pergunta-resposta. Os objetivos de uma entrevista incluem: obter as opinies do entrevistado, o que ajuda na descoberta dos problemas-chave a serem tratados; conhecer os sentimentos do entrevistado sobre o estado corrente do sistema; obter metas organizacionais e pessoais; e levantar procedimentos informais.
Questionrios
O uso de questionrios constitui uma tcnica de levantamento de informaes que permite ao engenheiro de software obter de vrias pessoas afetadas pelo sistema (corrente ou proposto) informaes, tais como: Posturas: o que as pessoas na organizao dizem querer; Crenas: o que as pessoas pensam ser realmente verdade; Comportamento: o que as pessoas fazem; Caractersticas: propriedades de pessoas ou coisas.
Observao
Observar o comportamento e o ambiente do indivduo que toma decises pode ser uma forma bastante eficaz de levantar informaes que, tipicamente, passam desapercebidas usando outras tcnicas. Tomadas de deciso ocorrem em diversos nveis da organizao: operacional, gerencial e estratgico e, portanto, importante observ-las em todos os nveis que tenham interao com o sistema. Atravs da observao possvel capturar: o que realmente feito e no apenas o que documentado ou explicado. o relacionamento entre o tomador de deciso e outros membros da organizao. A observao usada para: obter informaes sobre o tomador de deciso e seu ambiente, que no so capturadas por outras tcnicas. confirmar ou negar informaes de entrevistas e/ou questionrios. Alguns pontos importantes devem ser realados: o analista deve saber o que observar, quem observar, quando, onde, porque e como.
Prototipao
A prototipao uma tcnica valiosa para se obter rapidamente informaes especficas sobre requisitos de informao do usurio. Tipicamente, a prototipao permite capturar os seguintes tipos de informao: Reaes iniciais do usurio: Como o usurio se sente em relao ao sistema em desenvolvimento? Reaes ao prottipo podem ser obtidas atravs da observao, entrevistas, questionrio ou relatrio de avaliao. Sugestes do usurio para refinar ou alterar o prottipo: guiam o engenheiro de software na direo de melhor atender as necessidades dos usurios. Inovaes: novas capacidades, no imaginadas antes da interao com o prottipo. Informaes para reviso de planos: estabelecer prioridades e redirecionar planos.
Fases do JAD
Vantagens
Ganho de produtividade Mais de 75% dos erros de um sistema resultam de especificaes de baixa qualidade Custo e tempo para alterar o projeto de um sistema depois de pronto so 50 a 100 vezes maiores que alter-lo durante a elaborao do projeto Preveno de erros mais econmica do que deteco e correo A soluo no est apenas em processos, mtodos e ferramentas adequados...
Modelagem de requisitos
O que : Detalhamento dos requisitos funcionais definidos na especificao de requisitos; A criao de modelos grficos representativos do que se deseja do sistema de informao a ser implementado Objetivos: Permitir uma estruturao preliminar do sistema de informao que se quer desenvolver, do ponto de vista de quem utilizar o sistema; Quem participa: Contratantes do sistema, futuros usurios do sistema e analistas de requisitos; Caracterstica:Abstrao quanto a detalhes internos do sistema de informao, dando mais importncia ao ponto de vista externo do sistema. Tcnica utilizada: Use Cases
Espao do problema
Perguntas
1. Para que serve o Levantamento de Requisitos? 2. Quais so as barreiras comuns no levantamento de casos? 3. Por que usar o JAD? 4. Qual o primeiro passo do Levantamento de Requisitos?
60
61
NomeDoCasoDeUso
Representao em UML
62
Ator
Representao em UML
63
Joana
64
CasoDeUso1
Ator 1
CasoDeUso3
Ator 2
CasoDeUso2
65
Sacar dinheiro
Cliente
Realizar depsito
66
Realizar pedido
Sistema de cobrana
67
Cada caso de uso contm uma coleo de cenrios, tanto de sucesso como de falha.
68
Sacar dinheiro
Cliente
69
70
71
72
73
74
75
Escopo do sistema
preciso delimitar as fronteiras do sistema
Sistema Bancrio
76
Reunies
Conversas com usurios.
77
78
Por que?
Descrever detalhes dos casos de uso Descrever fluxos de eventos e outras propriedades Uniformizar entendimento entre clientes, usurios e equipe de desenvolvimento.
79
80
81
83
84
Pr e ps condies
O que deve ser verdade antes e depois da realizao do caso de uso!
85
Pr e ps condies: exemplos
Caso de uso Entregar pedido
Pr-condio: Os itens do pedido devem existir em estoque Ps-condio: Os itens enviados devem ser abatidos do estoque.
87
89
Exemplos de especificaes
Observe a especificao dos casos de uso XX, YY e ZZ.
Pequena descrio Pr e ps-condies Fluxo de eventos bsico ou principal
90
Subfluxos
Observe a especificao dos casos de uso XX, YY e ZZ.
Pequena descrio Pr e ps-condies Fluxo de eventos bsico ou principal
91
Subfluxos
As vezes, o fluxo principal possui vrias alternativas igualmente provveis de ocorrer Nestes casos, pode-se usar o conceito de subfluxos Cada subfluxo representa um dos possveis caminhos do fluxo principal
92
Subfluxos - Exemplo
Caso de uso Cadastrar Produtos
Fluxo bsico
1. O funcionrio seleciona a opo de cadastro, iniciando o caso de uso. 2. O sistema solicita que o funcionrio indique a operao que deseja efetuar: incluso, atualizao ou remoo de produtos. 3. De acordo com a opo fornecida pelo funcionrio, um dos subfluxos abaixo executado.
93
...
94
Fluxos secundrios
S devem ser analisados e descritos aps a descrio dos fluxos bsicos. Fluxos alternativos
Situaes especiais (desconto para um cliente)
Fluxos de erro
Situaes de erro
95
96
Fluxos alternativos
Variaes regulares Casos incomuns
Fluxos de exceo
Tratam situaes de erro do fluxo bsico.
97
98
Itens em aberto
99
100
Requisitos - Exerccio
Baseado no plano de projeto elaborado anteriormente e na descrio do projeto entregue, descreva os requisitos funcionais usando casos de uso.
101
Requisitos no funcionais
102
103
104
Exemplos:
Help Instalao automtica
106
Confiabilidade
Relacionados com:
Freqncia e severidade de falhas Habilidade de recuperao das falhas Corretude do sistema
Exemplos:
Disponibilidade 24/7 Prazo de tolerncia mxima para volta do sistema
107
Desempenho
Relacionados com:
Eficincia Tempo de resposta Uso de recursos
108
Segurana
Relacionados com:
Privacidade Integridade Autenticidade dos dados do sistema
109
Distribuio
Relacionados com a distribuio da verso executvel do sistema. Crtico para sistemas com grande volume de usurios.
110
Adequao a padres
Relacionados com padres ou normas que devem ser seguidos no sistema ou no seu desenvolvimento:
Interface grfica Desenvolvimento de componentes Modelo especfico de arquitetura
111
Plataforma servidor
Linux Banco de Dados
112
Requisitos no funcionais
Devem ser testveis, para isso devem ser mensurveis! Ou, deve-se especificar qual o seu critrio de aceitao! Precisam estar definidos com nmero e nomes:
O sistema precisa ser rpido. Quo rpido? O sistema deve ser implementado numa plataforma madura. Que plataforma?
113
Requisitos no funcionais
Redefinindo os requisitos...
O sistema deve responder em menos de 10 segundos
Ou
80% dos usurios que participarem da etapa de beta-testes devem avaliar o tempo de resposta do sistema no mnimo como satisfatrio.
114
115