51
Análise e Projeto de Sistemas Renato O. Violin

Análise e Projeto de Sistemas Renato O. Violin. Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse. Os modelos permitem

Embed Size (px)

Citation preview

Page 1: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Análise e Projeto de Sistemas

Renato O. Violin

Page 2: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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.

Porque modelagem?

Page 3: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Deve-se descrever o sistema sem considerar qualquer tipo de restrição tecnológica. Linguagem de programação. Framework. Sistema operacional. Banco de dados.

Atenção!

Page 4: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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.

Técnicas de Análise

Page 5: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

O Modelo Essencial

Page 6: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Introdução

Page 7: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

A1. Elaborar a declaração dos objetivos do sistema.

A2. Elaborar o diagrama de contexto.

A3. Construir a lista de eventos.

Atividades da Modelagem Ambiental

Page 8: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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.

Atividades da Modelagem Comportamental

Page 9: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 10: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 11: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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.

A1. Declaração dos objetivos do sistema

Page 12: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 13: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 14: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

A2. Diagrama de Contexto

Page 15: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 16: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 17: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 18: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Tipos de eventos: Eventos orientados a fluxo de dados. Eventos temporais. Eventos orientados a fluxo de controle.

A3. Lista de Eventos

Page 19: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 20: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 21: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 22: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

A3. Lista de Eventos

Page 23: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

É 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

Page 24: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

C1. Modelagem Entidade-Relacionamento

Page 25: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 26: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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 alunoem 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

Page 27: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Da lista anterior, localizar quais seriam as possíveis entidades. Professores. Turmas. Alunos. Matrículas. Recebimentos. Presença. Notas.

C1. Modelagem Entidade-Relacionamento

Page 28: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

C1. Modelagem Entidade-Relacionamento

N

N

Modelo Entidade-Relacionamento

Page 29: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Outro exemplo:

C1. Modelagem Entidade-Relacionamento

Modelo Entidade-Relacionamento

Page 30: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 31: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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}

C2. Diagrama de Estrutura de Dados

Page 32: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

C3. Normalização dos Dados

Page 33: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

É um repositório de informações sobre os componentes do sistema

Detalhamos cada atributo das entidades.

C4. Dicionário de Dados

Page 34: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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)

Page 35: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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)

Page 36: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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)

Page 37: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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)

Page 38: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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)

Page 39: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

Page 40: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Outro exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

Page 41: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Outro exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

Page 42: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Outro exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

Page 43: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 44: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 45: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

1. Português estruturado: Uma versão adaptada do nosso idioma, com ênfase

em verbos – de preferência no modo imperativo.

C6. Miniespecificações

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 segueCaso 1: ... faça o que segue

Page 46: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

Exemplo: Emitir aviso de situação do alunoPara 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

Page 47: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

2. Pseudocódigo: Mais popular e bem próxima de uma linguagem de

programação.

C6. Miniespecificações

Estrutura de sequência Estrutura de decisão

INÍCIO ação 1 ação 2FIM.

INÍCIO SE condição ENTÃO ação 1 SENÃO ação 2FIM.

Page 48: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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

Page 49: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

4. Árvore de decisão: Representação alternativa para a tabela de decisão.

C6. Miniespecificações

Page 50: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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.

C7. Diagrama de Transição de Estados

Page 51: Análise e Projeto de Sistemas Renato O. Violin.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem

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.

Concluindo...