510 likes | 632 Views
Análise e Projeto de Sistemas. Renato O. Violin. Porque modelagem?. Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse . Os modelos permitem especificar a estrutura ou o comportamento de um sistema. Os modelos proporcionam um guia para a construção do sistema.
E N D
Análise e Projeto de Sistemas Renato O. Violin
Porque modelagem? • Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse. • Os modelos permitem especificar a estrutura ou o comportamento de um sistema. • Os modelos proporcionam um guia para a construção do sistema. • Os modelos documentam as decisões tomadas.
Atenção! • Deve-se descrever o sistemasemconsiderarqualquertipo de restriçãotecnológica. • Linguagem de programação. • Framework. • Sistemaoperacional. • Banco de dados.
Técnicas de Análise • Análise tradicional: • Apenas perspectiva funcional. • Utilizava como ferramentas textos e fluxogramas. • Análise estrutural: • Perspectiva funcional e de dados. • Utilização de DFD, dicionário de dados etc. • Análise essencial: • Perspectiva funcional, de dados e controle. • Utiliza tabelas de eventos e diagramas de transição.
Introdução • Modelo essencial está focado nos aspectos mais essenciais e fundamentais do problema. • Organiza o estudo do problema em: • Modelagem ambiental (visão externa). • Modelagem comportamental (visão interna).
Atividades da Modelagem Ambiental A1. Elaborar a declaração dos objetivos do sistema. A2. Elaborar o diagrama de contexto. A3. Construir a lista de eventos.
Atividades da Modelagem Comportamental C1. Elaborar o Diagrama do Modelo Entidade-Relacionamento; C2. Elaborar o Diagrama de Estrutura de Dados; C3. Normalizar as Estruturas de Dados; C4. Elaborar o Dicionário de Dados; C5. Elaborar o Diagrama de Fluxo de Dados; C6. Elaborar as Miniespecificações; C7. Elaborar o Diagrama de Transição de Estados.
A1. Declaração dos objetivos do sistema • Especificar o que o sistema deverá responder frente aos problemas existentes na organização. • Deve refletir os principais desejos dos usuários. • Primeiro contato com o cliente. • Entrevistas com os principais usuários.
A1. Declaração dos objetivos do sistema • O analista deve redigir um texto breve para a: • A gerência; • A equipe de desenvolvimento do projeto; • Os representantes da empresa que solicitaram o sistema; • Os futuros usuários.
A1. Declaração dos objetivos do sistema • Exemplo: • O objetivo deste sistema é apoiar o controle acadêmico da Escola de Línguas Fale Fácil, atuando nos processos de matrícula, acompanhamento de alunos e controle de caixa, disponibilizando informações estratégicas para que a Diretoria administre a instituição.
A2. Diagrama de Contexto • Apresenta uma visão de alto nível do sistema analisado, mostrando-o como uma “caixa-preta”. Ainda não sabemos o que ocorre internamente. • Mostra os limites de atuação do sistema.
A2. Diagrama de Contexto • Entidade externa: • Fonte ou destino do fluxo. • Algo situado fora do sistema. • Pode ser usuários ou outros sistemas. • Fluxo de dados: • Mostra os dados que estão entrando/saindo. • Utiliza breves descrições.
A3. Lista de Eventos • Baseado no levantamento de requisitos. • Entrevistas com usuários. • Observação da execução dos processos. • Análise de documentos. • Brainstorm. • O requisito deve ser descrito na forma: • O sistema deve emitir relatório de vendas. • O sistema deve cadastrar notas do aluno. • O sistema deve cadastrar faltas do aluno. • O sistema deve emitir boletim do aluno.
A3. Lista de Eventos • O sistema deve responder às solicitações (estímulos). • Os estímulos são os ativadores do sistema. • Cada estímulo é associado um evento externo. • Todo estímulo dispara uma função do sistema. • Todo estímulo produz uma resposta.
A3. Lista de Eventos • Exemplo: • Quando uma secretária matricula um aluno, temos um evento. • A matrícula do aluno é o estímulo. • A resposta do sistema é responder se o aluno foi ou não matriculado
A3. Lista de Eventos • Tipos de eventos: • Eventos orientados a fluxo de dados. • Eventos temporais. • Eventos orientados a fluxo de controle.
A3. Lista de Eventos • Eventos orientados a fluxo de dados: • São aqueles disparados por entidades externas que enviam solicitações de manutenção de dados (inclusão, alteração ou exclusão), consultas ou relatórios. • Exemplos: • Secretária matricula aluno; • Secretária altera dados de aluno; • Gerente emite relatório de fechamento de caixa.
A3. Lista de Eventos • Eventos temporais: • São disparados por uma informação relativa a um determinado intervalo de tempo predefinido. • Exemplo: • É hora de cancelar a reserva do hospede. • É hora de gerar relatório de fechamento de despesas do hóspede.
A3. Lista de Eventos • Eventos orientados a fluxo de controle: • Tem como característica a ativação por um fluxo de controle na forma de uma variável binária. • Exemplos: • A diretoria autoriza o pagamento de uma fatura; • O nível mínimo do estoque é atingido.
C1. Modelagem Entidade-Relacionamento • É um dos instrumentos de análise mais importante do modelo essencial, e apresenta três construtores para a representação da semântica dos dados: • Entidades. • Atributos. • Relacionamentos.
C1. Modelagem Entidade-Relacionamento • Para começar, devemos tomar todas as funções de entrada/processamento/saída. • Essas funções foram levantadas na lista de eventos e requisitos do sistema.
C1. Modelagem Entidade-Relacionamento • Da lista anterior, localizar quais seriam as possíveis entidades. • Professores. • Turmas. • Alunos. • Matrículas. • Recebimentos. • Presença. • Notas.
C1. Modelagem Entidade-Relacionamento N N Modelo Entidade-Relacionamento
C1. Modelagem Entidade-Relacionamento • Outro exemplo: Modelo Entidade-Relacionamento
C2. Diagrama de Estrutura de Dados • Também conhecido como modelo lógico de dados. • É um esquema que representa o projeto de um banco de dados, especificando sua estrutura lógica: • Atributos chave. • Chave estrangeiras. • Relacionamentos.
C2. Diagrama de Estrutura de Dados • Exemplo: • Usuários= {Código do usuário, nome do usuário, login, senha, perfil do usuário} • Cursos = {Código do curso, nome do curso} • Turmas = {Código da turma, Ano, Semestre, Data de início, Código do Curso, Código do Professor} • Professores= {Código do professor, nome do professor}
C3. Normalização dos Dados • É um processo para derivar tabelas e eliminar ambiguidades. • Objetivos: • Garantir a integridade dos dados. • Organizar e dividir as tabelas de maneira eficiente, eliminando redundâncias. • Formas normais: 1FN, 2FN, 3FN, 4FN, 5FN.
C4. Dicionário de Dados • É um repositório de informações sobre os componentes do sistema • Detalhamos cada atributo das entidades.
C5. Diagrama de Fluxo de Dados (DFD) • No Diagrama de Contexto temos uma visão gráfica do modelo funcional do sistema. • No DFD, vamos detalhar melhor o processo de entrada/processamento/saída dos dados: • Entidades externas. • Processos. • Fluxo de dados. • Depósito de dados.
C5. Diagrama de Fluxo de Dados (DFD) • Entidades externas: • É um elemento do ambiente que atua como fonte ou destino de dados e informações que entram ou saem do sistema. • Pode ser uma entidade Pessoa, outro Sistema ou outro Setor dentro da empresa.
C5. Diagrama de Fluxo de Dados (DFD) • Fluxo de Dados: • Representa os dados que entram e saem dos processos para uma entidade externa ou um repositório.
C5. Diagrama de Fluxo de Dados (DFD) • Processos: • É a entidade mais importante do diagrama. • É a partir dela que as entradas são transformadas nas saídas desejadas. • Deve ser descrito em uma única palavra ou sentença simples e com verbos no infinitivo.
C5. Diagrama de Fluxo de Dados (DFD) • Depósito de Dados: • Representa uma estrutura para armazenamento e recuperação de dados. • Pode ser consultado ou pode receber novos dados, mas não pode exercer nenhuma ação por si próprio. • Seta em direção ao depósito, é sinal de inclusão, alteração ou exclusão de dados. • Seta em direção ao processo, é sinal de consulta ou leitura de dados.
C5. Diagrama de Fluxo de Dados (DFD) • Exemplo:
C5. Diagrama de Fluxo de Dados (DFD) • Outro exemplo:
C5. Diagrama de Fluxo de Dados (DFD) • Outro exemplo:
C5. Diagrama de Fluxo de Dados (DFD) • Outro exemplo:
C6. Miniespecificações • Tem como objetivo descrever os processos em uma linguagem que os envolvidos no projeto, especialmente programadores, possam entender facilmente. • Trata especificamente das regras de negócio. • Enquanto o DFD mostra como as entidades interagem, a especificação diz exatamente o que o processo faz.
C6. Miniespecificações • Técnicas de especificação: • Português Estruturado. • Pseudocódigo. • Tabela de decisão. • Arvore de decisão.
C6. Miniespecificações 1. Português estruturado: • Uma versão adaptada do nosso idioma, com ênfase em verbos – de preferência no modo imperativo.
C6. Miniespecificações • Exemplo: Emitir aviso de situação do aluno Para cada aluno no arquivo de alunos: 1. Coloque a matrícula, nome e endereço do aluno no formulário de aviso. 2. Para cada código da disciplina cursada pelo aluno, existente no arquivo de avaliações: Obtenha, a partir do arquivo de disciplinas, o nome da disciplina. Obtenha, a partir do arquivo de avaliações, a média final do aluno na disciplina. Coloque, no formulário de aviso o código, o nome e a média final da disciplina cursada pelo aluno. 3. Calcule o total de disciplinas em que o aluno obteve média final menor que 5 • (CASO 1) nenhuma disciplina com média final menor do que 5. • Coloque no formulário a expressão "APROVADO". • (CASO 2) mais de três disciplinas com médias finais menores que 5. • Coloque no formulário a expressão "REPROVADO". • (CASO 3) menos de quatro disciplinas com médias finais menores que 5. • Coloque no formulário a expressão "EM RECUPERAÇÃO".
C6. Miniespecificações 2. Pseudocódigo: • Mais popular e bem próxima de uma linguagem de programação.
C6. Miniespecificações 3. Tabela de decisão: • Expressar em forma de tabela um conjunto de condições necessárias para executar determinada ação.
C6. Miniespecificações 4. Árvore de decisão: • Representação alternativa para a tabela de decisão.
C7. Diagrama de Transição de Estados • Utilizado para modelar sistemas em tempo real, onde depende-se do tempo e estado de execução: • Controle de tráfego aéreo. • Sistemas militares. • Sistemas de navegação de automóveis.