1 - lafayette b. melo – análise e projeto de sistemas para a internet – noções de engenharia...
Post on 17-Apr-2015
102 Views
Preview:
TRANSCRIPT
11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
7. Novas abordagens da análise estruturada 7. Novas abordagens da análise estruturada e análise essencial de sistemase análise essencial de sistemas
7.1 Dicionário de dados7.1 Dicionário de dados7.2 Especificação de processos7.2 Especificação de processos7.3 Diagrama de transição de estados7.3 Diagrama de transição de estados7.4 Diagramas entidade-relacionamento7.4 Diagramas entidade-relacionamento7.5 Relação entre as ferramentas7.5 Relação entre as ferramentas7.6 Análise essencial de sistemas7.6 Análise essencial de sistemas
Objetivo: mostrar a evolução da análise estruturada, Objetivo: mostrar a evolução da análise estruturada, suas modificações, novas ferramentas utilizadas e suas modificações, novas ferramentas utilizadas e
o conceito de análise essencial de sistemaso conceito de análise essencial de sistemas
22 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Não basta estar ciente das técnicas atuais em análise de sistemas
• É necessário compreender as modificações ocorridas
• Razões
– Onde você trabalha não evolui e ninguém quer evoluir
– Onde você trabalha houve algumas mudanças, mas demoradas
– É importante entender as transições mesmo que você esteja em uma empresa moderna
33 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• A análise estruturada precisou de algumas alterações e extensões no decorrer do tempo
– Na ênfase dada aos modelos físicos e lógicos
– Na vagueza da distinção entre o físico e o lógico• Em essencial é “essencial” e de implementação
– Em relação à dependência do tempo e o controle em tempo real
– Na ênfase da função em detrimento dos dados• Em essencial substitui-se bolhas por eventos
44 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Pode-se considerar até que as necessidades de um trabalho artístico (“trabalhoso”) em fazer diagramas desgastou a análise estruturada e que foram requeridas novas ferramentas automatizadas
• A alternativa dos protótipos e uma ligação maior entre análise e projeto de programas também dirimiu no decorrer do tempo algumas problemas da AE
– Tempo demais na análise do “atual”
– Pouca observação do retorno da análise
– Surgimento de novas técnicas e integração com novas ferramentas
55 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
7.1 Dicionário de dados7.1 Dicionário de dados
• O que é um dicionário e como pode ajudar na APS?
• O dicionário de dados pode ser entendido como uma listagem organizada dos itens pertencentes ao sistema– Com definições precisas e rigorosas– Para a compreensão entre usuário e analista– Para serem comumente conhecidos
• As entradas• As saídas• Os componentes dos depósitos• Os cálculos intermediários
66 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• A maioria dos dicionários de dados têm as seguintes informações, compreendendo elementos de dados e estrutura de dados– Nome: o nome principal do elemento
– Alias / pseudônimo: outros nomes usados para a primeira entrada
– Descrição: representação do conteúdo (deve ser curta!)
– Formato: se o dado é numérico, alfabético, alfanumérico, além de informações como comprimento e casas decimais, se houver
– Validade: o que é aceito pelo sistema. Ex.: data de emissão de duplicata igual ou inferior ao seu pagamento
– Controle: para garantir a integridade: data de origem, origem da informação, programas que utilizam o item e autorização de mudanças
– Grupos: estruturas e localização física (banco de dados, registros, arquivos) e os programas que utilizam o item
77 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Notação
Construção de dados Notação Significado
= é composto de
sequência + e
seleção [ | ] ou…ou
repetição { }n n repetições de
( ) dados opcionais
* * Comentário
88 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Exemplo de um item• Nome: número telefônico
• Pseudônimo: não tem
• Onde / como é usado: avaliar com planejamento (saída), discar número telefônico (entrada)
• Descrição:
– Número telefônico = [extensão local | número externo]Número telefônico = [extensão local | número externo]
– Extensão local = [2001 | 2002 | … | 2999]Extensão local = [2001 | 2002 | … | 2999]
– Número externo = 9 + [número local | número de longa Número externo = 9 + [número local | número de longa distância]distância]
– Número local = prefixo + número de acessoNúmero local = prefixo + número de acesso
– Número de longa distância = (1) + código de área + Número de longa distância = (1) + código de área + número localnúmero local
– Prefixo = [795 | 799 | 874 | 877]Prefixo = [795 | 799 | 874 | 877]
– Número de acesso = *qualquer série de quatro números*Número de acesso = *qualquer série de quatro números*
99 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Exemplo de DD
• Observações:– 1) definição - o símbolo “=“ tem três leituras
• “é definido como”, “é composto de” e “significa”• Ex. A = B + C• Pode ser colocado em comentários
– Peso = *peso do paciente ao chegar ao hospital*Peso = *peso do paciente ao chegar ao hospital* *unidades: quilogramas; intervalo: 1-200**unidades: quilogramas; intervalo: 1-200*
Nome: Número de peçaPseudônimo:Descrição: campo-chave que identifica singularmente uma peça específica no estoqueFormato: Alfanumérico, 8 caracteresLocalização: Relatório de estoque por execeção
EstoqueReposição
Nome: Reposição - quantidadePseudônimo:Descrição: o número de unidades de uma determinada parte deverá ser reposto de uma só vezFormato: Numérico, 5 dígitosLocalização: Relatório de estoque por execeção
EstoqueReposição
1010 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
– 2) componentes elementares – não há decomposição
– 3) elementos opcionais – podem ser usados em [] e ()• Ex.: sexo = *valores [M|F]*• Ex.: qual é o endereço do cliente?
– end-cliente = (end-remessa) + (end-cobrança)end-cliente = (end-remessa) + (end-cobrança)– end-cliente = [end-remessa | end-cobrança | end-end-cliente = [end-remessa | end-cobrança | end-
remessa + end-cobrança]remessa + end-cobrança]– end-cliente = end-remessa + (end-cobrança)end-cliente = end-remessa + (end-cobrança)
– 4) a apresentação ao usuário dá origem a algumas dúvidas• Ele entendeu tudo? Sabe verificar se está completo?
– 5) antes de mostrar ao usuário, rever tudo
– 6) ao implementar avaliar as restrições da ferramentas
1111 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
7.2 Especificação de processos7.2 Especificação de processos
• As especificações definem o que deve ser feito para transformar entradas em saídas
• Há vários métodos para a especificação de processos e o uso deve atender o seguinte:
– O analista e o usuário devem verificá-la
– Deve serefetivamente demonstrada à audiência
1212 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• As ferramentas de especificação dependem– Da experiência do usua’rio– Do analista– Do tipo de projeto
• Muitas vezes se deve ter cuidado com o que elas especificam atualmente
• Modo de fazer:
– Não deve ser feita para os diagramas de nível mais alto
– A especificação para uma bolha é o diagrama de nível inferior
1313 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Linguagem estruturada
– A linguagem de projeto ou de especificação de problema tenta um equilíbrio entre o formal e o natural
– Usa verbos, comandos e notações semelhantes aos seguintes
• X = (Y+Z)/Q
• Calcule X = (Y+Z)/Q
– Usa comandos semelhantes aos estruturados
• CASE
• IF
• THEN
• ELSE
• OTHERWISE
• DO-WHILE
1414 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Condições PRÉ/PÓS– Forma mais direta de descrever uma função sem especifica um
algoritmo– Ocorre quando:
• 1) um usuário tende a expressar a política de uma bolha em termos de um algoritmo especial
• 2) o analista sabe que há muitos algoritmos e não quer se envolver com detalhes
– Exemplo:Especificação 3.5 – Calculas imposto sobre vendas
Pré-condição 1
DADOS-DE-VENDA ocorre com TIPO-DE-ITEM que coincide com CATEGORIA-DE-ITEM em CATEGORIAS-DE-IMPOSTOS
Pós-condição 1
TAXA-DE-VENDAS é ajustado em TOTAL-VENDAS*VALOR-TAXA
Pré-condição 2DADOS-DE-VENDA ocorre com TIPO-DE-ITEM que não coincide com CATEGORIA-DE-
ITEM em CATEGORIAS-DE-IMPOSTOSPós-condição 2
MENSAGEM-DE-ERRO é gerada
1515 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Pré-condições descrevem:– Que entradas estão disponíveis– Relacionamentos na entrada ou no interior– Relacionamentos entre entrada e depósito– Relacionamento no interior do processo
• Pós-condição descreve:– Saídas geradas– Relacionamentos do valor E/S– Relação entre saída e depósito– Alterações nos depósitos
1616 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
7.3 Diagrama de transição de estados7.3 Diagrama de transição de estados
• Enfatizam menos as funções e os dados e destacam o comportamento no tempo
• Evoluiram dos sistemas em tempo real para as aplicações realizadas de maneira efetiva no dia-a-dia
• O mais importante é o que acontece quando
1717 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Notações– Estados– Setas que representam alterações
inativo
Aguardando chamada
inativo
inativo
inativo inativo
1818 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Estados
– “Conjunto de circunstâncias ou atributos que caracterizam uma pessoa ou objeto em determinado momento, modo ou forma de ser; condição” (Webster)
– Exemplos:• Aguardando senha• Aguardando próximo comando• Misturando substâncias• Calculando pressão• Ocioso
– Notar que AGUARDAR # ESTAR FAZENDO ALGO (concepção essencial)
1919 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Mudanças de estado
– É diferentes de “estados” (que podem ser os mais diversos);
– Há somente certos tipos de mudança válidas (com normas reguladoras)
– Há modelos estáticos e com representações de estados finais e iniciais
ESTADO 1
ESTADO 2
ESTADO 3
Que problemas Que problemas você pode você pode
identificar nesta identificar nesta representação?representação?
2020 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
– Os estados iniciais e finais podem ser identificados
– Há um só estado inicial e podem haver vários estados finais
324
2121 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Condições e ações
– Condições causam mudanças de estado e as ações são o que acontece quando há uma mudança
– As ações no DTE são respostas enviadas ao ambiente externo ou cálculos memorizados pelos sistema
ESTADO 1
ESTADO 2
CondiçãoAção
2222 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
– Os diagramas podem ser sub-divididos• Ocorre semelhante ao DFD, só que o diagrama de nível
superior é o estado inicial de um diagrama de nível inferior que tem estados finais que são ascondições de saída do superior
327
2323 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Exemplo de DTE
2424 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Passos na construção do DTE
– Inicialmente• Identificar todos os estados possíveis OU…• … começar pelo inicial
– Depois• Foram definidas todas as E’s?• As E’s podem ser atingidas?• Todas as E’s têm saída• O sistema reage adequadamente a todas as E’s?
2525 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Relacionamento com outros modelos
– Com os DFDS, pode ser entendida como surgindo condições a partir de fluxos que CHEGAM e as ações a partir de fluxos que SAEM
331
2626 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
7.4 Diagramas entidade-relacionamento7.4 Diagramas entidade-relacionamento
• O DER descreve o diagrama dos dados armazenados de um sistema em alto nível de abstração
• Razões:
– Necessidade de tornar a estrutura de dados independente devido a sua complexidade
– Contatos com os altos níveis da organização que tem I• Dados do negócio• Como se relacionam• A quem pertencem?• Como controlar?
2727 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
– Contatos com outros grupos
– Integrar seus dados com o da organização
– Contato com os próprios grupos de BDA
– Transforma o modelo essencial em fixo
– Para que eu mesmo realce os relacionamentos entre os depósitos de dados
2828 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Componentes do DER
– 1) Objetos
– 2) Relacionamentos
– 3) Associações
– 4) Supertipos e Subtipos
…
2929 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• 7.5 Relação entre as ferramentas7.5 Relação entre as ferramentas
• As relações entre as ferramentas devem ser equilibradas– DFD e DD– DFD e especificação de processos– Especificação de processos e DD– DER e DD– DER e DFD e especificação– DFD e DD– DFD e DTE
• Erros de relações não equilibrada– Inconsistência– Indefinição– Interpretação errada inter-modelos
3030 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Razões para equilibrar
– Qualquer erro é encontrado, mas é mais caro nas fases finais
– É fácil ter uma interpretação errada da realidade
• Especificidade entre DFD e DD
– Cada fluxo e depósito deve estar no DD
– Cada elemento do DD deve estar no DFD
3131 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• 7.6 Análise essencial de sistemas7.6 Análise essencial de sistemas
• O modelo essencial surgiu como uma revisão do modelo estruturado
• O modelo essencial critica a abordagem clássica de modelos de sistemas no seu desenvolvimento e como são abordados– Modelo físico atual
– Modelo lógico atual
– Novo modelo lógico
– Novo modelo físico
3232 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Críticas do modelo essencial à abordagem clássica
– O analista pode não conhecer a aplicação ou o ramo de atividade
– O usuário não querer ou não poder trabalhar com um novo modelo lógico
– Um menor esforço para transformação de um modelo lógico atual em um modelo físico
…
3333 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• No modelo essencial os problemas são indentificados; não modelados
• São identificadas as funcionalidades lógicas requeridas; e aí apenas um modelo essencial
• Não há restrições tecnológicas– Custo, consumo e desgaste é zero– A velocidade do processador é infinita– O tempo de acesso aos dados é instantâneo– Zero erro
• O sistema de informação é visto como um sistema de resposta planejado entre ambiente, estímulos, respostas internas, respostas ao ambiente (relatórios, e-mails etc)
3434 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB
• Fases do modelo essencial
Análise essencial
Modelo ambiental
Modelo comportamental
Declaração de objetivos
Diagrama de contexto
Lista de eventos
Diagrama hierárquico
DFD por eventos
DER
Dicionário de dados
top related