7. Novas abordagens da análise estruturada e análise essencial de sistemas 7.1 Dicionário de dados 7.2 Especificação de processos 7.3 Análise essencial de sistemas 7.4 Diagrama de transição de estados 7.5 Diagramas entidade-relacionamento 7.6 Relação entre as ferramentas Objetivo: mostrar a evolução da análise estruturada, suas modificações, novas ferramentas utilizadas e o conceito de análise essencial de sistemas
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
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
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
O que é um dicionário e como pode ajudar na APS? 7.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
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
Considerações sobre as informações Os três primeiros itens podem ser agrupados em informações gerais Os dicionários podem ter as mais diversas adequações e é recomendável que ferramentas de engenharia de software auxiliadas por computador sejam utilizadas O item descrição de conteúdo pode se comportar como sequência, seleção ou agrupamento 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
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] Extensão local = [2001 | 2002 | … | 2999] Número externo = 9 + [número local | número de longa distância] Número local = prefixo + número de acesso Número de longa distância = (1) + código de área + número local Prefixo = [795 | 799 | 874 | 877] Número de acesso = *qualquer série de quatro números*
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* *unidades: quilogramas; intervalo: 1-200* Nome: Número de peça Pseudônimo: Descrição: campo-chave que identifica singularmente uma peça específica no estoque Formato: Alfanumérico, 8 caracteres Localização: Relatório de estoque por execeção Estoque Reposição Nome: Reposição - quantidade Pseudônimo: Descrição: o número de unidades de uma determinada parte deverá ser reposto de uma só vez Formato: Numérico, 5 dígitos Localização: Relatório de estoque por execeção Estoque Reposição
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-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
Importância do dicionário de dados Documentação oficial e comunicação Evitar redundância Padronização Grande fonte de consulta
7.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
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
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
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 2 DADOS-DE-VENDA ocorre com TIPO-DE-ITEM que não coincide com CATEGORIA-DE-ITEM em CATEGORIAS-DE-IMPOSTOS Pós-condição 2 MENSAGEM-DE-ERRO é gerada
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
7.3 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
… 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 …
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)
Fases do modelo essencial Declaração de objetivos Diagrama de contexto Modelo ambiental Lista de eventos Análise essencial Dicionário de dados DFD por eventos Modelo comportamental DER Diagrama hierárquico