51
Análise e Projeto de Sistemas

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

Embed Size (px)

Citation preview

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

Análise e Projeto de Sistemas

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

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

O Modelo Essencial

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

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

A2. Diagrama de Contexto

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

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

A3. Lista de Eventos

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

É 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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

C1. Modelagem Entidade-Relacionamento

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

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

C1. Modelagem Entidade-Relacionamento

N

N

Modelo Entidade-Relacionamento

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

Outro exemplo:

C1. Modelagem Entidade-Relacionamento

Modelo Entidade-Relacionamento

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

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

É 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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

É 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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

Exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

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

Outro exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

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

Outro exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

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

Outro exemplo:

C5. Diagrama de Fluxo de Dados (DFD)

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

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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.  Os modelos ajudam a visualizar como o sistema é ou como desejamos que ele fosse.  Os modelos permitem especificar a

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