Fiz algumas anotações sobre a matéria da prova de hoje, 30/04.
Bom estudo!!
DFD, DICIONARIO DE DADOS e ESPECIFICAÇÃO DE PROCESSOS.
DFD - Diagrama de Fluxo de Dados
Ferramenta para modelar funcionalidades (o q o programa faz: emitir pedido, validar usuário).
Técnica gráfica.
Top-down (do topo para baixo - no topo dfd de nível 0(zero))
Modelar processos.
Pode ser chamado: diagrama de processos, diagrama de bolha, dfd, modelo de processo, diagrama de modelagem funcional.
Técnica gráfica que descreve o fluxo de informação e as transformações que são aplicadas à medida que eles se movimentam da entrada para a saída.
Para construir um DFD de qualquer nível – 4 processos:
Processo: recebe, transforma os dados e envia saída. O nome é um verbo no infinitivo (ar,er, ir.), todo processo a partir do nível 1 deve ser numerado, representação gráfica (bolha ou retângulo com canto arredondado).
Depósito de dados: Retângulo aberto ou paralelo. Sempre que for retângulo aberto deve ser numerado, nome de deposito sempre no plural. É o local onde armazenamos dados (buffer ou banco de dados complexo).
Entidade Externa ou Terminador: Não existe regra (hardware, pessoa), ele alimenta o sistema e na saída vai (NUNCA numerada).
Fluxo de Dados: a seta que transporta os dados entre os vários componentes do DFD.(Todo recebe nome e quando for composto é separado por hífen).
Ligações permitidas: de um processo para outro processo p -> p, de uma entidade para um processo (E -> p), (p -> E), (p -> Deposito), (Deposito -> p).
Fluxo de rejeição (o usuário digitou senha incorreta, cospe para qualquer lugar)
Ligações proibidas: Entidade para Entidade E -> E, Entidade para deposito de dados E -> D, deposito para Entidade D -> E, deposito para outro deposito D -> D. Quando o processo recebe e não gera saída (Poço sem fundo) e quando eu tenho um processo que não recebe nada de entrada e esta realizando saída (Geração Espontânea).
DFD de nível 0 ou diagrama de contexto -> tem uma única bolha de processo
Sempre que explodir uma bolha no nível seguinte tem q gerar no mínimo duas bolhas e as entradas e saídas são as mesmas do nível 0. Quando explodo nível 0 o DFD de nível 1 é onde eu apresento as principais funcionalidades do sistema (é o maior), as demais são detalhes.
Só se explode 1 processo por vez.
Ex: Sistema de vendas
Entra pedido e sai fatura e cobrança (1 única bolha com nome do sistema – de nível 0)
Só pode duplicar deposito e entidade (para evitar cruzamento).
Alguns comentários importantes:
*Nome de processo significativo (se vai cadastrar cliente: Cadastrar Cliente). Evitar: manipular dados, processar informações – todos fazem.
*O DFD deve ser refeito quantas vezes for necessário. Deve ser feito em 1 folha (pequeno)
* Pode ser seta curva, (FERRAMENTA STAR aparenta estar mais limpa).
* Numerar processo não significa seqüência é para identificar pois se for explodir no nível seguinte tem que saber qual é.
* Não usar poço sem fundo e geração espontânea.
*Não levem ao pé da letra (posição dos elementos), normalmente entidade de entrada a esquerda, todos os depósitos e processos no meio e saídas a esquerda.
Fluxo do deposito para o processo -> esta lendo, acessando o processo
Fluxo do processo para o deposito -> Inserir, Alterar e deletar
DICIONARIO DE DADOS
Serve para definir as estruturas do deposito de dados. Ex: clientes = @cpf + Nome + End. Para pedidos = @cod + Descrição (@ é a chave primaria, identificador, único).
Vínculo entre DFD e DER – Tudo que é depósito no DFD vira entidade no DER.
Para fazer o dicionário de dados no projeto: Nome do campo I Tipo I Tamanho
() (é opcional), {} (caractere válido, repetição), [I] (opção ou), * (comentário), = (é composto) +( (e)concatenação)
ESPECIFICAÇÃO DOS PROCESSOS
É Dizer o que o processo faz, passo a passo (fluxograma). Ex: Validar usuário – Este processo vai validar o usuário.
Texto Narrativo -> é uma ferramenta para especificar processos de forma narrativa (língua portuguesa). Sempre que na aplicação envolver cálculo, usar o texto narrativo não é muito adequado, pois não facilita a interpretação.
Português Estruturado -> Eu estruturo em pseudocódigo VCA < 1000, cat = X...
Tabela de Decisão -> Uma tabela para cada processo. No canto superior as condições e logo abaixo as ações.
PERGUNTA DE PROVA: Para o conjunto de condições tenho que tomar uma ação. EX: Se é maior que 21 anos faz exame prático. O numero de coluna ou norma é decidido pelo numero de condições (2 elevado a N).
Árvore de Decisão -> A única diferença da tabela é que é feita na horizontal. Não é tão segura.
ESTIMATIVAS E MÉTRICAS
Gerenciamento de projetos -> Liderar, gerenciar um projeto.
ESTIMAR -> Não é um valor exato é um valor aproximado. Eu só consigo estimar aquilo que conheço (Regras de negócio), consigo verificar a complexidade do projeto.
O ideal é você ter uma bagagem (programar, analisar, etc...) porque quanto mais experiência mais condições ele terá de realizar as diversas variáveis.
Variáveis como custos, pessoas, fases, tudo é feito pelo Gerente de Projetos.
IMPORTANTE-> Conceito de modularidade (todos os sistemas são modulares), são divididos em parte, em módulos. Coesão é o grau de integridade de uma classe e acoplamento é a interdependência (orientação objeto).
Ex: para pagar um professor o contas a pagar precisa dos dados do RH.
Medidas:
Qualidade do software
Produtividade das pessoas
Por que medir? Para propor novas ferramentas, reutilizar conhecimentos adquiridos em outros projetos.
Medidas diretas e indiretas:
Estimativas: linhas de códigos e número de pessoas.
Métricas orientadas à função - indiretas
Pontos por função:
FP = contagem total x [0,65 + 0,01 x SOMA (Fi)]
COMENTÁRIOS: Software é caro, erros de estimativas(não é um valor exato), verificar se o projeto esta aceitável (margem de erro).
PROVA
Estimativa para Projeto de Software
O número de linhas de códigos será fornecido (dependo da linguagem que esta sendo feito).
Encontrar o valor esperado:
E = (V ótimo + 4Vprovavel + V péssimo)/6
Custo Esperado x $ linha e Meses Esperado / pessoa mês
Estimativa número de pessoas:
É dividida em fases, valor x número de pessoas.
EXERCÌCIOS (Prova)
Faça uma analogia (comparação) verificando as estimativas LOC e Pessoas e diga se o projeto é viável (se esta dentro dos riscos aceitáveis).
Sempre em regra de 3 simples (o maior sempre esta para 100)
LOC
Custo: $ 656,680
Esforço: + ou – 145 Pessoas / Mês
Pessoas
Custo: $ 708, 075
Esforço: + ou – 153 pm
Analogia Custo
708 075 ------ 100%
656680 ------ 92,74
708075. x = 656680 x 100
X = 65668000
-------------
708075
X = 92,74%
Como eu quero saber a diferença percentual
100 – 92,74 = 7,26%
Analogia Esforço
153 ------ 100%
145 ------ x
153 x = 145 x 100
X = 145000
-------------
153
X = 94.77%
Como eu quero saber a diferença percentual
100 – 94.77 = 5.23%
Conclusão: < 20% projeto é viável (dentro de riscos aceitáveis)
Faça a estimativa de Custos e Esforço para o projeto abaixo citado. Considerar ambos os casos. LOC’s e Pessoas_Mês. Concluir fazendo uma analogia entre os valores estimados para custo e esforço.
Renata Andrade
Nenhum comentário:
Postar um comentário