Академический Документы
Профессиональный Документы
Культура Документы
Uma compreenso completa dos Requisitos do Software fundamental para obter um software e um processo de desenvolvimento com alta qualidade No importa quo bem projetado ou codificado est um programa, se ele for mal analisado e especificado desapontar o usurio e trar aborrecimentos ao desenvolvedor
3
PONTE
ANLISE DE REQUISITOS
Projeto de Software
Anlise de Requisitos
processo de descoberta e refinamento ATORES: cliente e desenvolvedor
Cliente: reformula um conceito de funo e desempenho (s vezes nebuloso) Desenvolvedor: indagador e solucionador de problemas
PROBLEMA: grande propenso a mal entendidos "atividade aparentemente simples torna-se complexa"
Requisito (Aurlio)
Condio necessria para a obteno de certo objetivo, ou para o preenchimento de certo fim
Especificao:
descrio rigorosa e minuciosa das caractersticas que um material, uma obra, ou um servio dever apresentar processo de representao dos requisitos de uma forma que leva implementao bem-sucedida
7
Exemplos
O sistema deve rodar em microcomputadores da linha IBM PC que possuam microprocessador 486 DX ou superior. A interface do sistema deve ser grfica, de acordo com um padro de interface dirigida a menu. Alternativamente, o sistema deve possibilitar o seu uso atravs de linhas de comando, para usurios avanados.
8
ISO - The International Organization for Standardizatized IEC - The International Electrotechnical Commition (formam o sistema especializado para padronizao mais conhecido)
9
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)
10
reviso
reviso administrativa
aceitvel no
construir prottipo para estabelecer os requisitos os requisitos so conhecidos?
sim
determinar domnio das informaes e das funes, interfaces, restries de projeto e critrios de validao
reviso
reviso tcnica
aceitvel
revisar e justificar recursos, custos e cronogramas reviso do plano de projeto do software
11
12
4 - reviso
13
clientes
analista
desenvolvedores
prottipo
14
Avaliar os problemas na situao atual Principal Foco para o novo sistema: O QUE e no COMO:
- qual o fluxo e o contedo de informao - quais as funes do sistema - quais dados que o sistema produz e consome - qual o comportamento do sistema - qual as caractersticas de interface - quais so as restries do projeto
15
Modelagem
Durante a atividade de avaliao e sntese devem ser criados modelos do sistema para se compreender melhor o fluxo de dados e de controle, o processamento funcional e a operao comportamental, alm do contedo da informao. O modelo serve como fundamento para o projeto de software e como base para a criao de sua especificao
17
Atividade 4 Revises
Devem ser efetuadas revises tcnicas e revises no Plano de Projeto de Software as revises so conduzidas pelo Cliente e pelo Desenvolvedor a base para a reviso so os documentos produzidos na Especificao dos Requisitos O Plano de Projeto do Software deve ser revisto devido ao conhecimento adquirido durante a anlise.
19
22
reas Problemas
1. Aquisio da Informao 2. Tamanho do Sistema
(complexidade dos problemas)
3. Alteraes
(mudanas que ocorrem durante e aps a anlise)
23
reas Problemas
1. Aquisio da informao
que informao deve ser coletada e como ela deve ser representada? quem fornece as informaes? que tcnicas e ferramentas esto disponveis para facilitar a coleta de informaes?
24
reas Problemas
2. Tamanho do sistema
como eliminar inconsistncias na especificao de grandes sistemas? possvel detectar omisses? pode um grande sistema ser efetivamente particionado para que se torne intelectualmente administrvel?
25
reas Problemas
3. Alteraes
como as alteraes efetuadas em outros elementos do software so coordenadas com os requisitos do software? como se determina o impacto de uma alterao em outras partes do software aparentemente no relacionadas? como se corrige erros na especificao para que no se gere efeitos colaterias?
26
tendncias de se eliminar a tarefa de Especificao dos Requisitos falhas ao considerar alternativas antes que o software seja especificado
27
Aplicao de tcnicas de comunicao slidas Princpios de anlise fundamentais Mtodos de anlise sistemticos reduziro o impacto dos problemas
28
29
Princpios de Anlise
modelos (e o problema) p particionados, de maneira que revele os detalhes em forma de camadas (ou hierarquicamente) (para reduzir a complexidade) processo de anlise p mover-se da informao essencial para os detalhes de implementao (para acomodar as restries lgicas impostas por requisitos de processamento e as restries fsicas impostas por outros elementos do sistema) = (Concepes lgicas e fsicas)
31
1r princpio:
Domnio da Informao
Todo software construdo para processar dados e eventos. Dados: software embutido de tempo real para controlar
o fluxo de combustvel no motor de automvel
32
Domnio da Informao
1r princpio:
Os dados e itens de controle residem no domnio de informao de um problema. Encerra 3 diferentes pontos de vista:
33
2. princpio:
Modelagem
Modelos: melhor compreenso da entidade real a ser construda Entidade fsica (prdio): modelo idntico, mas em escala menor Entidade software:
o modelo deve ser capaz de modelar a informao que o software transforma as funes (ou subfunes) que possibilitam que as transformaes ocorram o comportamento do sistema quando a transformao est se desenvolvendo.
35
2. princpio:
Modelagem
Os modelos concentram-se naquilo que o sistema deve fazer, no em como ele faz.
Modelos fazem uso de notao grfica e textual Os mtodos de anlise discutidos nos captulos seguintes so mtodos de modelagem Atividade de Modelagem fundamental ao bom trabalho da anlise 36
2. princpio:
Modelagem
Papis importantes do Modelo: 1) ajuda o analista a entender a informao, a funo e o comportamento de um sistema, tornando a tarefa + fcil e sistemtica. 2) torna-se o ponto focal para a reviso e, portanto, a chave para a determinao da completitude, consistncia e preciso da especificao. 3) torna-se a base para o projeto, fornecendo ao projeto projetista uma representao essencial do software, a qual pode ser "mapeada" num 37 contexto de implementao.
3. princpio:
Particionamento (decomposio)
Os problemas freqentemente so grandes demais e muito complexos para serem compreendidos como um todo. O particionamento divide o problema em partes mais facilmente entendidas Atravs das interfaces estabelecidas entre as partes a funo global do software pode ser executada.
38
3r princpio: Particionamento Particionamento Horizontal: decomposio funcional do problema Particionamento Vertical: expe detalhes crescentes
Particionamento horizontal
39
40
Desenvolvida como uma conseqncia da fase de anlise de requisitos Serve como um padro para testar se as fases de projeto e implementao do processo de desenvolvimento de software esto corretas
42
A Especificao pode ser acompanhada de um PROTTIPO executvel (ou em papel) e/ou um MANUAL PRELIMINAR DE USURIO.
44
Reviso da Especificao
(nvel macroscpico)
Os revisores tentam garantir que a especificao seja completa, consistente e precisa. Questes:
Metas e objetivos do software permanecem consistentes com metas e objetivos do sistema? Foram descritas as interfaces importantes para todos os elementos do sistema? O fluxo e a estrutura de informao so adequadamente definidas para o domnio da informao? Os diagramas so claros?
45
Reviso da Especificao
(nvel macroscpico)
As funes importantes permanecem dentro do escopo e cada uma foi adequadamente descrita? O comportamento do software consistente com a informao que ele deve processar e as funes que deve executar? As restries de projeto so realsticas? Qual o risco tecnolgico desenvolvimento? Requisitos de software alternativos foram considerados? Critrios de Validao foram declarados detalhadamente? Eles so adequados para descrever um sistema bem sucedido? Existem inconsistncias, omisses ou redundncias? O usurio revisou o Manual Preliminar ou o prottipo? Como as estimativas do Plano de projeto de Software foram afetadas?
46
Reviso da Especificao
(nvel detalhado)
A preocupao com o enunciado da especificao. Tenta-se descobrir problemas que possam estar ocultos no contedo da especificao Diretrizes: Esteja alerta para perceber conectivos persuasivos (certamente, claramente, obviamente ) e perguntar por que eles esto presentes. Procure termos vagos e pea esclarecimento (algum, s vezes, usualmente, freqentemente) Quando forem fornecidas listas que no sejam completas, certifique-se de que todos os itens sejam entendidos (evite 47 colocar etc, tal como, assim por diante)
Reviso da Especificao
(nvel detalhado)
Esteja certo de que os limites declarados no contenham pressuposies no declaradas (os cdigos vlidos variam de 0 a 100 - nmeros inteiros, reais???) Cuidado com verbos vagos. H muitas maneiras de interpret-los. (manuseado, rejeitado, pulado, processado) Cuidado com pronomes "pendentes (o mdulo I/O comunica-se com o mdulo de validao de dados e seu sinal de controle est ligado. Sinal de controle de qual?). Procure declaraes que impliquem certeza (sempre, cada, todos, nunca) e depois pea prova
48
Reviso da Especificao
(nvel detalhado)
Quando um termo for explicitamente definido num lugar, evite utilizar outras definies para o mesmo termo (normalizao dos termos: documento - arquivo) Quando uma estrutura for descrita em palavras, verifique se h um grfico ou uma figura para auxiliar a compreenso Quando um clculo for especificado, desenvolva pelo menos dois exemplos.
49
Anlise de Requisitos
Concluso
Logo que a Reviso for concluda, a Especificao de Requisitos de Software "assinada" pelo cliente e pelo desenvolvedor A especificao torna-se um "contrato" de desenvolvimento de software. Mudanas solicitadas depois que a Espec. for concluda sero consideradas, porm cada mudana posterior pode aumentar o custo e/ou alongar o prazo de entrega Mesmo com os melhores procedimentos de reviso em andamento, uma srie de problemas de especificao ainda persiste
52