Modelo Essencial
Download
Report
Transcript Modelo Essencial
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 sistema sem considerar
qualquer tipo de restrição tecnológica.
Linguagem de programação.
Framework.
Sistema operacional.
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.
O Modelo Essencial
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 EntidadeRelacionamento;
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 “caixapreta”. 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.
A2. Diagrama de Contexto
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.
A3. Lista de Eventos
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
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
Lista de eventos
Funções encontradas
1. A secretária cadastra professor
1. Cadastro de professores.
2. A secretária cadastra turma
2. Cadastro de turmas.
3. A secretária cadastra aluno
3. Cadastro de alunos.
4. A secretária matricula aluno
em turma
4.Cadastro de matrículas.
5. A secretária recebe mensalidade e
emite recibo
5. Registro de recebimento e emissão de
recibo.
6. A secretária registra as
presenças e faltas dos alunos
6. Registro de presença/falta dos alunos.
7. A secretária registra as notas
das avaliações
7. Registro de notas.
8. A secretária emite o boletim do
aluno
8. Emissão do boletim.
9. O diretor emite relatórios de
fechamento de caixa
9. Emissão de relatórios de fechamento
de caixa.
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:
1. Português Estruturado.
2. Pseudocódigo.
3. Tabela de decisão.
4. 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.
Sintaxe
Português estruturado
Instruções
Obtenha, calcule, coloque...
Repetição
Para cada... faça o que segue
Seleção/decisão
Se ... então faça o que segue
Caso 1: ... faça o que segue
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.
Estrutura de sequência
INÍCIO
ação 1
ação 2
FIM.
Estrutura de decisão
INÍCIO
SE condição ENTÃO
ação 1
SENÃO
ação 2
FIM.
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.
Concluindo...
Vimos as ferramentas que permitem examinar o
sistema do ponto de vista de funções e de fluxo
de dados.
Modelagem ambiental: visão geral do sistema e
sua comunicação com entidades externas.
Modelagem comportamental: visão detalhada
de como implementar as funções do sistema.
Próximo assunto:
UML e a abordagem Orientada a Objetos.