Upload
internet
View
106
Download
2
Embed Size (px)
Citation preview
Construção
Projeto Final - APGS
Adriana P. de Medeiros
2Análise, Projeto e Gerência de Sistemas Projeto Final
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
3Análise, Projeto e Gerência de Sistemas Projeto Final
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
4Análise, Projeto e Gerência de Sistemas Projeto Final
Análise e Projeto (Continuação)
Construção
5Análise, Projeto e Gerência de Sistemas Projeto Final
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
6Análise, Projeto e Gerência de Sistemas Projeto Final
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
7Análise, Projeto e Gerência de Sistemas Projeto Final
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
8Análise, Projeto e Gerência de Sistemas Projeto Final
Modelo de Dados Relacional
Pedido de Venda
Item de Pedido
composição
referência Produto
Cliente solicitação Funcionáriopreenche
código
nome e-mail
número data matrícula nome
cargo
código
quantidade
valor
código descrição
(1,1) (0,N) (0,N) (1,1)
(1,1)
(1,N)
(1,N)
(0,N)
9Análise, Projeto e Gerência de Sistemas Projeto Final
Projeto Lógico
Cliente (codCliente, nome, e-mail)
PedidoVenda(numPedido, data, codCliente)
ItemPedido(codProduto, numPedido, quantidade, valor)
Produto(codProduto, descricao)
Funcionario(matricula, nome, cargo)
10Análise, Projeto e Gerência de Sistemas Projeto Final
Projeto Físico das Tabelas Descrever a estrutura das tabelas do modelo de dados relacional
Exemplo:
Nome LógicoNome FísicoVolume inicialCrescimento previsto
ContratoT_Contrato_0012000100/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
11Análise, Projeto e Gerência de Sistemas Projeto Final
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
12Análise, Projeto e Gerência de Sistemas Projeto Final
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 Limpeza Histórico
FaturaNo primeiro trimestre, das faturas do ano anterior
Fita magnética DDS2 4mm por 5 anos
PedidoNo início de cada mês, de todos os
pedidos atendidos no mês anterior
Fita magnética DDS2 4mm por 1 ano
ClienteNo início de cada ano, dos clientes que não compraram no ano anterior
Fita magnética DDS2 4mm por 1 ano
13Análise, Projeto e Gerência de Sistemas Projeto Final
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
14Análise, Projeto e Gerência de Sistemas Projeto Final
Padronização
Definir padrão para Uso das teclas
Efeitos especiais sons, piscante, tipo de ícone, etc.
Mensagens apresentadas ao usuário 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
<ESC> = retorna<ENTER> = aceita o dado/seleciona a opção<F1> = aciona a tela de ajuda do sistema
15Análise, Projeto e Gerência de Sistemas Projeto Final
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
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
16Análise, Projeto e Gerência de Sistemas Projeto Final
Projeto da Interface
Deve conter as seguintes documentações
Revisão do Sistema
Diagrama de Navegação
Descrição da Janela
Mini-Especificação da Janela
Especificação de Campos
Revisão da Aplicação
Desenho da Janela
17Análise, Projeto e Gerência de Sistemas Projeto Final
Diagrama de Navegação
Janela A Janela B
Janela C
M
Ir p/ B
função/restrição
Resultado
Ação
18Análise, Projeto e Gerência de Sistemas Projeto Final
Desenho da Janela
Manutenção da Lista de Preços
SudesteRegião
Gravar Cancelar Sair
Produto Preço
Produto
Preço
Novo Editar Pesquisar
Vigência
19Análise, Projeto e Gerência de Sistemas Projeto Final
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.
Descrição da Janela
20Análise, Projeto e Gerência de Sistemas Projeto Final
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
Mini-Especificação da Janela
Habilitado Evento
GridProduto
Se Modo = respostapesquisa
Apresenta o Grid classificado
por Produto ou Preço,dependendo da coluna emque for efetuado o DoubleClick
Comportamento
Double Click
Botão Novo
Modo = abertura Click Modo = inclusãoHabilita todos os campos para digitação de dadosHabilita os botões ...
21Análise, Projeto e Gerência de Sistemas Projeto Final
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
Especificação de Campos
22Análise, Projeto e Gerência de Sistemas Projeto Final
Implementação
Construção
23Análise, Projeto e Gerência de Sistemas Projeto Final
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)
Produtividade
Eficiência
Portabilidade
Controle de Versões
Controle de Concorrência
Controle de Acesso
Aspectos a considerar:
24Análise, Projeto e Gerência de Sistemas Projeto Final
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.
25Análise, Projeto e Gerência de Sistemas Projeto Final
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
26Análise, Projeto e Gerência de Sistemas Projeto Final
Implementação
Portabilidade
Importante quando se deseja ter versões do mesmo
programa em equipamentos (ambientes) diferentes
27Análise, Projeto e Gerência de Sistemas Projeto Final
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.
28Análise, Projeto e Gerência de Sistemas Projeto Final
Implementação Controle de Acesso
Exemplo:
Especificar os perfis de usuário e as operações permitidas
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:
Atividades
Classes de Usuário
Administrador Gerente Técnico
Registrar Pedido X X
Listar total de vendas por vendedor X
Gerar back-up 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.
29Análise, Projeto e Gerência de Sistemas Projeto Final
Teste
Construção
30Análise, Projeto e Gerência de Sistemas Projeto Final
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
31Análise, Projeto e Gerência de Sistemas Projeto Final
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
32Análise, Projeto e Gerência de Sistemas Projeto Final
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)
33Análise, Projeto e Gerência de Sistemas Projeto Final
Técnicas de Teste
Caixa Branca
Caixa Preta
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
Verifica os requisitos funcionais do sistema
Testa-se as funcionalidades do sistema,
verificando sua correta operação segundo uma
ótica externa a implementação
34Análise, Projeto e Gerência de Sistemas Projeto Final
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
35Análise, Projeto e Gerência de Sistemas Projeto Final
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...
36Análise, Projeto e Gerência de Sistemas Projeto Final
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, ...
37Análise, Projeto e Gerência de Sistemas Projeto Final
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:
...
38Análise, Projeto e Gerência de Sistemas Projeto Final
Manual do Usuário
Construção
39Análise, Projeto e Gerência de Sistemas Projeto Final
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)
40Análise, Projeto e Gerência de Sistemas Projeto Final
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
41Análise, Projeto e Gerência de Sistemas Projeto Final
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
42Análise, Projeto e Gerência de Sistemas Projeto Final
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
43Análise, Projeto e Gerência de Sistemas Projeto Final
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
44Análise, Projeto e Gerência de Sistemas Projeto Final
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