Construção
Projeto Final - APGS
Adriana P. de Medeiros
Construção

Objetivo

Projeto (continuação)

Projeto de Banco de Dados

Projeto da Interface com Usuário

Implementação (Prototipação)

Teste

Manual do Usuário

Documentação
Análise, Projeto e Gerência de Sistemas
Projeto Final
2
Objetivo

Tornar o sistema executável
Necessário:





construir o projeto do banco de dados
construir o projeto da interface com usuário
implementar o protótipo
preparar o plano de testes
começar a construir o manual do usuário
Análise, Projeto e Gerência de Sistemas
Projeto Final
3
Construção
Análise e Projeto
(Continuação)
Análise, Projeto e Gerência de Sistemas
Projeto Final
4
Projeto de Banco de Dados
Definir:

Nomenclatura

para nomes de tabelas, campos, visões, triggers, etc.

Modelo de Dados Relacional

Projeto Lógico

Projeto Físico das Tabelas

Mapeamento das Classes para Tabelas

Regras de Integridade

Dicionário de Dados

Limpeza das Tabelas

Políticas de Backup Utilizadas
Análise, Projeto e Gerência de Sistemas
Projeto Final
5
Projeto de Banco de Dados

Definir as Entidades, Relacionamentos e Atributos
(Peter Chen)

Considerar

mapeamento das classes para tabelas

mapear várias classes para uma só tabela ou

mapear uma classe para cada tabela

inclusão de chaves para cada tabela

conversão de atributos multivalorados em tabelas

utilização de tabelas para modelar as associações
muitos-para-muitos
Análise, Projeto e Gerência de Sistemas
Projeto Final
6
Nomenclatura

Definir a lei de formação para os nomes das tabelas,
campos de tabela, visões, triggers, etc.
Exemplo: T_N_nnn, onde:
T = tabela
N = nome lógico
nnn = numeração sequencial
ex: T_Pedido_001
Análise, Projeto e Gerência de Sistemas
Projeto Final
7
Modelo de Dados Relacional
código
Cliente
número
(1,1)
(0,N)
solicitação
data
matrícula
(0,N)
Pedido de Venda
(1,1)
preenche
nome
Funcionário
(1,1)
nome e-mail
cargo
composição
quantidade
(1,N)
código
Item de Pedido
valor
(0,N)
referência
Análise, Projeto e Gerência de Sistemas
Projeto Final
código
(1,N)
descrição
Produto
8
Projeto Lógico
Cliente (codCliente, nome, e-mail)
PedidoVenda(numPedido, data, codCliente)
ItemPedido(codProduto, numPedido, quantidade, valor)
Produto(codProduto, descricao)
Funcionario(matricula, nome, cargo)
Análise, Projeto e Gerência de Sistemas
Projeto Final
9
Projeto Físico das Tabelas

Descrever a estrutura das tabelas do modelo de dados relacional
Exemplo:
Nome Lógico
Nome Físico
Volume inicial
Crescimento previsto
Contrato
T_Contrato_001
2000
100/mês
Descrição: Tabela que armazena informações dos contratos assinados para o atendimento
de um determinado pedido
Estrutura
Chave
Item
Tipo (tamanho)
Nulo
PK
NR_Contrato
char (11)
NOT NULL
FK
CD_Empresa
int
NOT NULL
FK
NR_Pedido
char(10)
NOT NULL
VL_Contrato
numeric(10,2)
DT_Assinatura
datetime
Análise, Projeto e Gerência de Sistemas
Projeto Final
10
Quadro de Classes vs Tabelas
Classes
Tabelas
Contrato
T_Contrato_001
Empresa
T_Empresa_001
Pedido
T_Pedido_001
Nota Fiscal
T_Nota_Fiscal_001
Análise, Projeto e Gerência de Sistemas
Projeto Final
11
Limpeza das Tabelas

Explicitar os critérios para limpeza das tabelas do
sistema
Exemplo: A limpeza das diversas tabelas do sistema será
realizada de acordo com os critérios indicados na
tabela abaixo.
Tabelas
Fatura
Pedido
Cliente
Limpeza
Histórico
No primeiro trimestre, das faturas do
ano anterior
Fita magnética DDS2 4mm
por 5 anos
No início de cada mês, de todos os
pedidos atendidos no mês anterior
Fita magnética DDS2 4mm
por 1 ano
No início de cada ano, dos clientes
que não compraram no ano anterior
Fita magnética DDS2 4mm
por 1 ano
Análise, Projeto e Gerência de Sistemas
Projeto Final
12
Projeto da Interface com o Usuário
Definir:

Nomenclatura

para telas, controles, relatórios, formulários, etc.

Padronização

Níveis de Ajuda (help) necessários e Parametrizações permitidas

Projeto da Interface

Diagrama de Navegação

Desenho das Janelas

Descrição das Janelas

Mini-Especificação das Janelas

Especificação dos Campos
Análise, Projeto e Gerência de Sistemas
Projeto Final
13
Padronização

Definir padrão para

Uso das teclas
<ESC> = retorna
<ENTER> = aceita o dado/seleciona a opção
<F1> = aciona a tela de ajuda do sistema

Efeitos especiais


Mensagens apresentadas ao usuário


sons, piscante, tipo de ícone, etc.
definir os tipos de situação nas quais serão apresentadas
mensagens ao usuário (ajuda, erro, confirmação, etc)
Críticas na entrada de dados

críticas campo a campo ou do conjunto inteiro
Análise, Projeto e Gerência de Sistemas
Projeto Final
14
Níveis de Ajuda e Parametrizações
Identificação dos
níveis de ajuda
necessários
Parametrização para
atender os diferentes
ambientes e usuários
Análise, Projeto e Gerência de Sistemas
 Usuário ocasional: necessita de
ajuda passo a passo
 Usuário novato: necessita de ajuda
detalhada, passo a passo
 Usuário experiente: prescinde de
ajuda e requer flexibilidade para
navegação pelo sistema




Configuração de buffers
Configuração de cores
Configuração de impressora
Configuração de uso/não uso de
mouse
Projeto Final
15
Projeto da Interface

Deve conter as seguintes documentações
Revisão do
Sistema
Revisão da
Aplicação
Diagrama de
Navegação
Descrição
da Janela
Análise, Projeto e Gerência de Sistemas
Mini-Especificação
da Janela
Projeto Final
Desenho da
Janela
Especificação
de Campos
16
Diagrama de Navegação
Janela A
M
Janela B
função/restrição
Janela C
Ação
Ir p/ B
Resultado
Análise, Projeto e Gerência de Sistemas
Projeto Final
17
Desenho da Janela
Manutenção da Lista de Preços
Região Sudeste
Produto
Preço
Produto
Vigência
Preço
Novo
Análise, Projeto e Gerência de Sistemas
Editar
Pesquisar
Gravar
Projeto Final
Cancelar
Sair
18
Descrição da Janela
Título da Barra: Manutenção da Lista de Preços
Menu: Nenhum
Tipo de Janela: Filha
A janela de Manutenção da Lista de Preços é usada para ………
A janela é aberta a partir da janela Principal. Se o usuário tiver aberto
anteriormente a janela ………. Será apresentado ……. Caso contrário, a
janela é aberta com a ……
O campo Região é uma combo que apresenta os valores das regiões
cadastradas.
A parte inferior da janela apresenta uma lista de ……..
Para excluir um item da lista o usuário marca ……….
O botão Gravar atua sobre……. O botão Sair retorna o usuário para a janela
Principal.
Análise, Projeto e Gerência de Sistemas
Projeto Final
19
Mini-Especificação da Janela
Janela: Manutenção da Lista de Preços
Parâmetros: Modo [ valores = abertura, inclusão, alteração, ...]
Abertura: Modo = abertura
Todos os campos em branco. Estarão habilitados Produto e Preço e
botões Novo, Pesquisar e Sair.
Controle
Grid
Produto
Botão
Novo
Habilitado
Evento
Comportamento
Se Modo = resposta
pesquisa
Double Click
Apresenta o Grid classificado
por Produto ou Preço,
dependendo da coluna em
que for efetuado o Double
Click
Click
Modo = inclusão
Habilita todos os campos
para digitação de dados
Habilita os botões ...
Modo = abertura
Análise, Projeto e Gerência de Sistemas
Projeto Final
20
Especificação de Campos
Para áreas de display, a especificação pode conter:
• nome do campo da tabela correspondente
• estilo de apresentação (tabular, livre)
• se tabular, ordem de apresentação, filtros, supressão de valores repetidos,
critério de seleção, critério de agrupamento
Para elementos de dados presentes na interface, a especificação pode conter:
• nome do campo
• indicação se o campo é obrigatório ou não e em que condições;
• indicação se o campo é visível ou não e em que condições;
• indicação se o campo pode ser atualizado pelo usuário e quando deixará de
poder ser atualizado
• definição e como o campo é calculado, editado e das regras aplicáveis
Análise, Projeto e Gerência de Sistemas
Projeto Final
21
Construção
Implementação
Análise, Projeto e Gerência de Sistemas
Projeto Final
22
Implementação

Implementar:


A árvore de telas (usadas no protótipo)
O sub-conjunto de funções que for combinado com o(a)
orientador(a)
Aspectos a considerar:
 Produtividade
 Eficiência
 Portabilidade
 Controle de Versões
 Controle de Concorrência
 Controle de Acesso
Análise, Projeto e Gerência de Sistemas
Projeto Final
23
Implementação

Produtividade
Depende do uso de técnicas de programação e da
linguagem utilizada
Ferramentas de desenvolvimento podem encurtar o tempo
necessário para gerar código fonte e melhorar a qualidade
do código.
Análise, Projeto e Gerência de Sistemas
Projeto Final
24
Implementação

Eficiência
Torna-se crítica quando se trabalha com grandes volumes
de dados ou com sistemas em tempo real
Analisar:

Acesso a arquivos

Uso de buffers

Acesso ao banco de dados

Algoritmo utilizado
Análise, Projeto e Gerência de Sistemas
Projeto Final
25
Implementação

Portabilidade
Importante quando se deseja ter versões do mesmo
programa em equipamentos (ambientes) diferentes
Análise, Projeto e Gerência de Sistemas
Projeto Final
26
Implementação

Controle de Concorrência
Importante quando se tem acesso concorrente a dados do
sistema
 Quando necessário, definir mecanismos para o
controle de concorrência.
Análise, Projeto e Gerência de Sistemas
Projeto Final
27
Implementação

Controle de Acesso
Especificar os perfis de usuário e as operações permitidas
Exemplo:
O acesso ao sistema deve ser efetuado mediante a identificação do usuário e a
validação de sua senha. A operações que o usuário pode executar depende da classe
que lhe foi associada, conforme a tabela abaixo:
Classes de Usuário
Atividades
Administrador
Gerente
Registrar Pedido
X
Listar total de vendas por vendedor
X
Gerar back-up
Técnico
X
X
Serão criadas atividades de auditoria para o controle de operações realizadas pelos
usuários no sistema e para detectar possíveis violações ao sistema.
Análise, Projeto e Gerência de Sistemas
Projeto Final
28
Construção
Teste
Análise, Projeto e Gerência de Sistemas
Projeto Final
29
Teste do Sistema



Um processo de avaliação do sistema que pode ser

manual

automático
Objetivo:

encontrar erros ainda não descobertos e

verificar se o sistema atende às necessidades especificadas
Identifica eventuais diferenças entre os resultados
esperados e os resultados reais
Um meio de assegurar a qualidade do sistema
Análise, Projeto e Gerência de Sistemas
Projeto Final
30
Fases de Teste

Teste de unidade


verifica uma fração do sistema isoladamente, podendo ser um
programa ou um módulo
Teste de integração

verifica o funcionamento de um conjunto de programas ou módulos
Análise, Projeto e Gerência de Sistemas
Projeto Final
31
Fases de Teste

Teste de sistema



verifica se as funcionalidades especificadas estão
corretamente implementadas no sistema
envolve diferentes testes

teste de recuperação

teste de segurança

teste de desempenho

teste de carga
Teste de aceitação

verifica a disponibilidade do sistema para entrada em produção
(teste do usuário)
Análise, Projeto e Gerência de Sistemas
Projeto Final
32
Técnicas de Teste

Caixa Branca
Verifica a estrutura lógica do código-fonte
Testa-se os IF, WHILE e todas as estruturas de
controle, acesso a dados e interface

Caixa Preta
Verifica os requisitos funcionais do sistema
Testa-se as funcionalidades do sistema,
verificando sua correta operação segundo uma
ótica externa a implementação
Análise, Projeto e Gerência de Sistemas
Projeto Final
33
Plano de Testes do Sistema

Define o plano para execução dos testes do sistema e
deve conter:

Introdução

objetivos do plano de testes, escopo, estratégia e técnicas de teste
utilizadas

Responsabilidades de cada integrante do teste

Cronograma para as atividades

Ambiente de teste (hardware e software necessários)

Necessidade de treinamento

Funcionalidades a serem testadas

descrição dos casos de testes e dos resultados esperados
Análise, Projeto e Gerência de Sistemas
Projeto Final
34
Plano de Testes do Sistema

Exemplo
Introdução
Este plano de testes tem como objetivo definir as atividades e as técnicas utilizadas
para a validação de todas as funcionalidades implementadas para o Sistema de
Gestão de Pedidos.
O escopo de testes deve abranger todas as funções desenvolvidas para atender os
requisitos funcionais descritos na documentação de projeto do sistema.
Serão realizados os seguintes testes: teste de unidade, teste de integração, teste
de sistema, teste de recuperação, teste de desempenho e teste de aceitação. Estes
testes serão realizados utilizando-se as técnicas de teste de caixa branca e de caixa
preta.
Os testes de unidade serão realizados pelos programadores ...
Responsabilidades
...
Análise, Projeto e Gerência de Sistemas
Projeto Final
35
Plano de Testes do Sistema

Exemplo (cont.)
Responsabilidades
Ação
Responsável
Data Prevista
Elaborar casos de teste
Analista
08/08 a 10/08/2003
Preparar dados para testes
Analista e DBA
12/08/2003
Configurar ambiente de testes
Programador
13/08/2003
Testar
Analista e Programador
15/08 a 20/08/2003
Ambiente de teste
Hardware – 2 microcomputadores Pentium III, ...
Análise, Projeto e Gerência de Sistemas
Projeto Final
36
Plano de Testes do Sistema

Exemplo (cont.)
Funcionalidades (Casos de Teste)
Consulta de Pedidos:
Casos
Resultados esperados
Informa número de um pedido
cadastrado
Mostra linha com os dados do pedido
Informa número de um pedido não
cadastrado
Exibe mensagem “Pedido não
cadastrado”
Atualizar dados do Pedido:
...
Análise, Projeto e Gerência de Sistemas
Projeto Final
37
Construção
Manual do Usuário
Análise, Projeto e Gerência de Sistemas
Projeto Final
38
Manual do Usuário
 Informação geral sobre o sistema
 Descrição dos usuários
 Instruções para entrar no sistema
 Layouts das telas e relatórios
 Descrições das telas
 Instruções de uso
 Instruções para navegação
 Instruções para sair do sistema
 Instruções sobre como obter ajuda
 Instruções sobre procedimentos de segurança e
recuperação de dados (no caso dos micros)
Análise, Projeto e Gerência de Sistemas
Projeto Final
39
Manual do Usuário

Caso exista algum usuário que não interage diretamente
com o sistema automatizado, acrescentar
 Informação geral sobre o sistema e seu funcionamento
 Definição das responsabilidades de cada usuário
 Modelos de documentos e instruções de preenchimento
 Instruções de encaminhamento para processamento
 Instruções para análise do processamento e correção de erros
 Cronograma de execução
 Como proceder para esclarecimento de dúvidas
Análise, Projeto e Gerência de Sistemas
Projeto Final
40
Manual de Operação
 Informação geral sobre o sistema e seu funcionamento
 Especificação dos procedimentos em lote, cronogramas de
execução e pré-requisitos
 No caso de sistemas com informação de dados em lotes,
deve conter instruções sobre recepção, transcrição de dados
e devolução de documentos
 Especificação do encaminhamento dos relatórios produzidos
em lotes
 Especificação dos critérios para avaliação da execução dos
procedimentos em lote
 Especificação dos procedimentos para recuperação de falhas
 Identificação do mantenedor
Análise, Projeto e Gerência de Sistemas
Projeto Final
41
Documentação Gerada
 Introdução
 Apresentação da empresa (o cliente)
 Objetivos gerais do projeto
 Estrutura do documento
 Modelagem de Negócio
 Características da empresa (descrição, estrutura organizacional,
processo atual, recursos de informática e expectativa do cliente)
 Processos de negócio (Casos de uso de negócio)
 Problemas identificados
 Necessidades detectadas
 Requisitos
 Diagrama de Casos de Uso de sistema e Descrições
 Requisitos Suplementares
 Alternativas de Solução




Descrição de cada alternativa
Análise comparativa das alternativas
Alternativa recomendada pela equipe
Alternativa escolhida pelo usuário e critério de escolha
Análise, Projeto e Gerência de Sistemas
Projeto Final
42
Documentação Gerada
 Análise e Projeto
 Modelo Conceitual
 Modelo de Projeto
- Diagrama de Classes de Projeto
• tipos de atributos e operações
• classes abstratas e interfaces
• padrões de projeto
• pacotes, etc.
- Justificativa para uso de Padrões de Projeto
- Diagramas de Sequência
- Diagrama de Estados (se necessário)
-Proposta de Componentes
 Projeto de Banco de Dados
 Projeto de Interface com o Usuário
 apenas para as telas do protótipo
Análise, Projeto e Gerência de Sistemas
Projeto Final
43
Documentação Gerada
 Implementação
 Nomenclatura utilizada
 Controle de Concorrência
 Controle de Acesso
 Teste
 Plano de Teste
 Glossário
 Anexos
+ Manual do Usuário
Análise, Projeto e Gerência de Sistemas
Projeto Final
44
Download

Projeto Lógico