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.
Download

Modelo Essencial