Documente Academic
Documente Profesional
Documente Cultură
PAULO BORGES
CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA
METODOLOGIAS
Atualmente as metodologias existentes para o desenvolvimento de sistemas so utilizadas para
orientar e ordenar o trabalho do Analista de Sistemas ao longo do processo de desenvolvimento. Uma
boa metodologia deve definir o processo de desenvolvimento, possui modelos para representar abstraes
(diagramas) e possuir diretivas para orientao do trabalho.
LEVANTAMENTO
ANLISE
PROJETO
IMPLEMENTAO (CODIFICAO)
TESTE
IMPLANTAO
MANUTENO
Planejamento
Descrio do sistema atual
Construo do modelo do sistema atual (Modelo Grfico)
Identificao dos problemas do sistema atual
Identificao das necessidades no atendidas pelo sistema atual
Definio dos requisitos para um novo sistema
Formulao de alternativas de soluo
Redao do plano do projeto (custo e prazo da soluo, responsabilidades, requisitos de qualidade,
cronograma)
ANLISE
Atividade para qual o analista deve dedicar a maior parte do seu tempo e esforo
Consiste em definir e modelar o que o sistema ir fazer, independente da tecnologia que ser
utilizada na implementao
feita uma reavaliao do plano de projeto, principalmente dos custos e benefcios quantificados na
fase anterior
PROJETO
IMPLEMENTAO (CODIFICAO)
TESTE
IMPLANTAO
MANUTENO
ANLISE DE REQUISITOS
o primeiro passo no modelo do processo. O que devo fazer e no a forma como ser
implementado. Serve como contrato entre o desenvolvedor e o comprador
o processo de aquisio, refinamento e verificao das necessidades do sistema
O objetivo sistematizar o processo de definio dos requisitos, obtendo uma especificao correta e
completa do mesmo para elaborao do Documento de Requisitos
REQUISITOS
um conjunto de necessidades estabelecido pelo cliente/usurio dos sistema que definem a estrutura
e o comportamento do software que ser desenvolvido
Os itens dos requisitos so: dados, processos, restries de negcio, pessoas envolvidas e o
relacionamento entre todos esses itens
Existem dois tipos de requisitos: Funcionais (Diretos) e No Funcionais (Indiretos)
As principais tcnicas para obteno dos requisitos so: Entrevista, Questionrio, Inspeo de
documentos utilizados nos processos existentes, Observao direta, BRAINSTORMING (reunio de
pessoas com diferentes nveis de informao e conhecimento sobre o sistema desejado. Essa
discusso conduzida por um mediador. Diversas cabeas pensam melhor do que uma)
REQUISITOS FUNCIONAIS
Definem a funcionalidade desejada do software, ou seja, definem funes, aes ou operaes que
podero vir a ser realizadas pelo sistema, seja por meio de comandos dos usurios ou pela
ocorrncia de eventos internos ou externos ao sistema
REQUISITOS NO FUNCIONAIS
CONCEITOS BSICOS
3
Dado
a representao de um evento.
Informao
o dado processado por um determinado Sistema de maneira que possa ser utilizado para a tomada
de alguma ao/deciso.
DADO
SISTEMA
PROCESSAMENTO
INFORMAO
BANCO DE DADOS
Definies
Funes de um SGBD
Facilidade de uso
o Aplicaes so desenvolvidas mais rapidamente e com mais segurana, aumentando a
produtividade da programao, tornando os programas mais simples e diminuindo o
tempo de manuteno.
Uso compartilhado
o Permitir que vrios usurios acessem o Banco de Dados ao mesmo tempo.
Portabilidade
o Ser independente do Sistema Operacional e de qualquer tipo de equipamento.
Utilitrios
o necessrio que existam ferramentas de apoio ao SGBD.
Desempenho
o O desempenho do SGBD pode ser medido pelo tempo de resposta e pela eficincia no
armazenamento dos dados. O desempenho depende principalmente da arquitetura
empregada e da implementao fsica.
Componentes de um SGBD
Dicionrio de Dados
o utilizado para descrever os dados e suas relaes em forma totalmente conceitual e
independente do seu envolvimento nas diversas aplicaes.
Utilitrios
o Programas auxiliares que realizam diversas operaes num Banco de Dados tais como:
compactar, reorganizar, recuperar dados, obter cpia do Banco de Dados etc.
Alm dos analistas e programadores existem profissionais que trabalham diretamente com o Banco
de Dados:
Administrador de Dados (AD)
5
MODELAGEM DE DADOS
Engenharia da Informao
Modelo
a representao abstrata e simplificada de um sistema real, com a qual se pode explicar ou testar
o seu comportamento, em seu todo, ou em partes.
ex. Planta baixa de um apartamento
Aeromodelo
Manequim
O Modelo tem como referncia o objeto observado, objeto este que pode ser uma empresa, um
departamento, uma funo da empresa, um sistema , etc.
Modelagem de Dados
Consiste no processo de levantamento de dados, investigao e anlise dos dados e seus
relacionamentos, enfocando quais informaes so necessrias para o funcionamento do objeto
observado, independentemente de como ele funciona. utilizada como meio para obteno das
estruturas de dados que nos levam ao projeto de banco de dados.
Ao longo do processo de modelagem temos 3 tipos distintos de modelos de dados:
Modelo Conceitual
EMPREGADO
Para se representar a Estrutura Lgica dos Dados foi introduzido por Bachman uma tcnica de
diagramao chamada de Diagrama de Estrutura de Dados. Essa tcnica tem a finalidade de obter
uma viso grfica do Modelo de Dados. So utilizados os seguintes smbolos:
Tipos de Associaes
Relao 1:1
A cada ocorrncia de uma entidade A corresponde uma nica ocorrncia de um outro tipo de
entidade B.
Exemplos:
HOMEM
PAS
casamento
presidncia
MULHER
PRESIDENTE
Relao 1:N
Define uma estrutura onde a cada ocorrncia de um tipo de entidade corresponde 0 a N
valores do outro tipo. a relao bsica de estruturas hierrquicas, alm de existir
freqentemente em estruturas rede.
Exemplos:
PAI
SISTEMA
paternidade
componentes-sistema
FILHO
PROGRAMA
Relao M:N
A relao M:N especifica que M ocorrncias de uma certa entidade aponta para N ocorrncias
de outra entidade.
Exemplos:
PROJETO
PEA
projeto-pessoal
MATRIA
pea-fornecedor
matria-aluno
PESSOAL
FORNECEDOR
ALUNO
As relaes M:N so muito comuns, mas no tem suporte direto pelos SGBD mais usuais.
necessrio a sua converso para diversas relaes 1:N com a criao de um novo tipo de entidade
(freqentemente denominada de entidade associativa) que passa a relacionar os tipos de entidades
anteriores.
Exemplos:
PROJETO
PESSOAL
PEA
FORNECEDOR
APROPRIAO DE
MO DE OBRA
PEDIDO
MATRIA
ALUNO
TURMA
Utiliza a teoria dos conjuntos como base formal para a descrio de Modelo
de Dados
Se baseia na lgebra relacional e no clculo relacional
Os dados so estruturados em tabelas (relaes) que so formadas de linhas
(tuplas) e colunas (atributos)
Estrutura de ndices separadas dos dados
Relaes so normalizadas
Integridade referencial mantida pelas aplicaes/SGBD
Permite auto-relacionamento
A Lei do Mundo
O mundo est cheio de coisas que possuem caractersticas prprias e que se relacionam entre si.
Conceitos Bsicos
na Lei do Mundo
Entidades
Classes
Instncias ou ocorrncias
Objetos
Caractersticas prprias
Inter-relacionamento de objetos
Atributos
Atributos
Relacionamentos
Associaes
ENTIDADES
So as coisas que existem no negcio, ou seja, descrevem o negcio em si e precisamos
armazenar dados a seu respeito.
a representao de um conjunto de informaes de mesma caracterstica e suas instncias
(ocorrncias) representam o conjunto dessas caractersticas (dados).
exemplo: Dado o texto abaixo, extrair as Entidades existentes:
Uma Clnica Mdica necessita controlar as consultas mdicas realizadas e marcadas pelos seus
mdicos e fazer o acompanhamento dos pacientes atendidos.
Soluo:
Consulta Mdica (data da consulta, mdico, paciente)
Mdico
Paciente
ENTIDADES FRACAS
Uma entidade chamada de fraca se a sua existncia depender de outra entidade (chamada de entidade
forte).
BANCO
Entidade Forte
1,1
POSSUI
1,N
10
AGNCIA
Entidade Fraca
1,M
1,N
FUNCIONRIO
PROJETO
ALOCAO
FUNCIONRIO
cdigo projeto
matrcula funcionrio
ATRIBUTOS
So as caractersticas inerentes a cada um dos objetos observados (entidades). Os atributos
possuem valor.
Atravs da anlise dos atributos, podemos enquadrar um objeto como pertencente a um
determinado conjunto distinto.
exemplos:
PESSOA
Escolaridade = nvel superior
Data Nascimento = 19/03/47
Cidade = Nova Friburgo
CARRO
Placa = VFC1234
Marca = Fiat
Modelo = Palio EX
RELACIONAMENTOS
o acontecimento que liga dois objetos no mundo real. Atravs do mapeamento dos
relacionamentos, podemos demonstrar como um objeto se comporta em relao aos demais, qual o seu
grau de dependncia de outros objetos e qual a associao de dados existente entre eles.
11
CARRO
PESSOA
1,1
PROPRIETRIA
0,N
CARRO
0,1
PESSOA
CASADA COM
0,1
GRAU OU CARDINALIDADE
PESSOA
PESSOA
1,1
DIRIGE
DIRIGE
0,N
DIRIGIDO
CARRO
CARRO
PETER CHEN
JAMES MARTIN
12
1,1
MARIDO
ESPOSA
CASADO
1,1
1,N
EMPRESA
FILIAL
POSSUI
1,M
1,N
ATLETA
ESPORTE
PRATICA
Exerccio:
Fazer o Diagrama Entidade-Relacionamento considerando as seguintes Entidades:
ALUNO
DISCIPLINA
PROFESSOR
CURSO
Observaes:
1 Uma disciplina pertence a somente um curso;
2 Um aluno pode cursar diversas disciplinas;
3 Um professor pode lecionar diversas disciplinas e uma disciplina pode ser lecionada por
diversos professores;
4 Considerar a existncia de 4 possveis notas;
5 Considerar freqncia como sendo somente um indicativo de aprovao/reprovao.
13
Soluo do Exerccio:
1,M
CURS
CURSA
A
ALUNO
1,N
DISCIPLINA
1,N
ALUNO / DISCIPLINA
PROFESSOR / DISCIPLINA
MINISTRA
1,M
PROFESSOR
14
ALUNO
1,M
1,N
DISCIPLINA
1,1
PROFESSOR
M
ALUNO
N
CURS
CURSA
DISCIPLINA
M
CD. ALUNO
CD. DISCIPLINA
CD. PROFESSOR
LECIONA
PROFESSOR
ALUNO
1,M
1,N
15
DISCIPLINA
NOTAS
ALUNO
CURSA
DISCIPLINA
CD. ALUNO
CD DISCIPLINA
CD. PROFESSOR
NOTA1,2,3,4
FREQUNCIA
LECIONA
1,N
TEM
PROFESSOR
16
1,1
CURSO
Obs.: Como sabemos quantas notas existem, apesar de fugir da normalizao, adotamos essa soluo
(redundncia controlada).
No exerccio anterior, criamos uma estrutura chamada de Agregao. A Agregao acontece quando
existe um relacionamento (M:N) entre entidades e por sua vez este relacionamento se relaciona com uma
outra entidade. Grficamente podemos representar essa situao de duas maneiras:
17
Exerccios:
1) Considerando as entidades:
FUNCIONRIO
PROJETO
FUNO
Temos o seguinte:
Um funcionrio pode trabalhar em vrios projetos simultaneamente e cada projeto pode
ter vrios funcionrios. Dependendo do projeto em que o funcionrio atue, o funcionrio pode ter
funes distintas. Todo funcionrio tem um gerente que tambm funcionrio.
Representar o Diagrama E-R.
2) Considerando as entidades:
EMPRESA
PESSOA
DEPARTAMENTO
Temos o seguinte:
A empresa formada por vrias pessoas que podem ser do tipo: executivos, acionistas,
funcionrios. Os funcionrios esto alocados pelos diversos departamentos da empresa.
Representar o Diagrama E-R.
18
FUNCIONRIO
1,M
1,N
PROJETO
ATUA
1,M
EXERCE
1,N
FUNO
1,1
M
FUNCIONRIO
1,N
ATU
ATUA
A
N
PROJETO
M
EXERCE
TEM GERENTE
1
19
FUNO
2)
EMPRESA
1,1
1,N
PESSOA
FORMADA POR
1,1
PERTENCE
FUNCIONRIOS
EXECUTIVOS
ACIONISTAS
1,N
1,1
1,N
DEPTO
20
Modelo Lgico
A partir do Modelo Conceitual elaborado atravs do Diagrama E-R, obteremos o Modelo Lgico
aplicando um conjunto de regras bem definidas. Essas regras atuaro basicamente em dois grupos
distintos de elementos: as estruturas de relacionamento, agregao e especializao de um lado e as
entidades e seus atributos de outro.
O Modelo Lgico pode ser obtido atravs dos seguintes passos:
1 - Obter o Modelo Conceitual
2 - Definir o tipo de implementao (Rede, Relacional, O-O)
3 - Aplicar as regras de derivao especficas
4 - Adaptar o modelo s necessidades (redundncia, desnormalizao, etc. So
artifcios criados para resolver problemas de desempenho, flexibilidade, independncia e segurana)
Modelo Relacional ou Abordagem Relacional
Proposto por Edgard F. Codd (anos 70) est baseado na Teoria dos Conjuntos (lgebra
Relacional). As operaes utilizadas para manuseio dos conjuntos podem ser utilizadas sobre estruturas
de dados. O Modelo Relacional utiliza o conceito de tabelas, ou seja, a tabela a viso tabular ou plana
representativa de uma relao. O termo Relacional advm do fato de as relaes serem implementadas
atravs de uma estrutura de dados relacional.
Os dados so representados em forma de tabelas (relaes) atravs de linhas (tuplas) e colunas
(domnios ou atributos).
Vantagens da Abordagem Relacional
- Independncia total dos dados
- Viso mltipla dos dados
- Reduo na atividade de desenvolvimento / manuteno
- Melhoria na segurana dos dados
Conceitos
- Chaves Candidatas
repetidas (tuplas).
- Chave Primria
Dentre as chaves candidatas, a coluna escolhida (ou mais de uma coluna)
que identifica univocamente uma tupla.
- Chave Estrangeira
uma chave, portanto identifica de modo nico uma tupla. Ela no est em
seu local original (local de origem) mas sim em um local para onde foi migrada (no estrangeiro). Ela
tem um local de origem e l possui suas caractersticas originais ( uma chave primria).
atravs da chave estrangeira que se estabelece o relacionamento entre duas
tabelas.
Obs.: No ambiente relacional uma tabela acessvel por qualquer campo (atributo)
independente deste ser declarado como chave ou no. Para isso usamos o recurso do ndice que um
recurso fsico visando otimizar a recuperao via um mtodo de acesso. Alguns autores chamam o ndice
de Chave Secundria.
exemplos:
21
1,1
1,N
AUTOR
LIVROS
PUBLICA
CDIGO AUTOR
NOME
ENDEREO
CDIGO LIVRO
TTULO
EDITORA
PREO
AUTOR
1,1
1,1
LIVROS
1,1
1,N
DEPTO
FUNCIONRIO
TEM
1,N
FUNCIONRIO
TEM GERENTE
1,1
Matrcula
Nome
Matrcula Gerente
100
200
300
400
500
Carlos
Maria
Ana
Joo
Irene
200
200
500
500
500
FUNCIONRIO
1,1
1,1
CHEFIA
23
DEPTO
1,1
PESSOA
CASADA COM
1,1
Cdigo Pessoa
Nome
Cdigo Cnjuge
100
200
300
400
500
600
Carlos
Maria
Ana
Joo
Irene
Jos
200
100
600
500
400
300
1,M
1,N
ALUNO
DISCIPLINA
CURSA
O relacionamento torna-se uma tabela, carregando os seus prprios atributos (se houver) e
os identificadores das Entidades que se relacionam.
f) Relacionamento M:N (envolvendo auto-relacionamento)
0,M
24
DISCIPLINA
PR-REQUISITO
0,N
Cdigo Disciplina
Cdigo Pr-Requisito
001
002
003
004
005
002
003
004
004
001
002
003
005
Anlise I
Anlise II
Anlise III
Anlise IV
Projeto I
Tabela Disciplina
Tabela Pr-Requisito
O relacionamento torna-se uma tabela, carregando os seus prprios atributos (se houver) e
o identificador da Entidade que se auto-relaciona.
g) Estrutura de Generalizao-Especializao
FUNCIONRIO
ENGENHEIRO
VENDEDOR
MOTORISTA
h) Estrutura de Agregao
AUTOR
TRABALHA
25
EDITORA
1
PUBLICA
LIVROS
Normalizao
Processo formal passo passo que examina os atributos de uma entidade (tabela) com o
objetivo de evitar anomalias observadas na incluso, alterao e excluso de tuplas especficas. um
processo necessrio implementao de estruturas relacionais.
Vamos considerar um formulrio de pedido que tivesse os atributos descritos abaixo e
em funo desses atributos aplicar as regras de normalizao.
- Nmero do Pedido
- Prazo de Entrega
- Nome do Cliente
- Endereo do Cliente
- Cidade do Cliente
- UF do Cliente
- CGC do Cliente
- Inscrio Estadual do Cliente
- Cdigo do Produto
- Fornecedor do Produto
- Unidade do Produto
- Quantidade do Produto
- Descrio do Produto
- Valor Unitrio do Produto
- Valor Total do Produto
- Valor Total do Pedido
- Cdigo do Vendedor
- Nome do Vendedor
- Quantidade do Produto no Estoque
PEDIDO
1,1
1,N
POSSUI
Anomalias da 1FN
27
ITEM PEDIDO
Incluso
. S possvel incluir um novo cliente caso ele faa um pedido.
. S possvel incluir um novo produto caso ele pertena a um item de
pedido.
. Se um mesmo cliente for includo em um outro pedido com dados
diferentes, as informaes desse cliente ficaro diferentes nos diversos
pedidos.
Excluso
. Se excluirmos um determinado pedido, perderemos as informaes do
cliente e do produto associados ao pedido.
Atualizao
. Se quisermos alterar informaes de um cliente ou de algum produto,
teremos que atualizar diversas tuplas da tabela.
Uma Tabela (Entidade) est na 2FN se est na 1FN e cada um dos seus atributos no
pertencentes chave primria for dependente parcialmente dessa chave (isso ocorre quando a chave
primria fomada por mais de um atributo).
No nosso exemplo, na entidade Item de Pedido, os atributos Fornecedor do Produto /
Unidade do Produto / Descrio do Produto e Valor Unitrio do Produto s dependem de Cdigo do
Produto, logo sugir uma nova entidade chamada Produto com os seguintes atributos:
Entidade Produto
- Cdigo do Produto
(Chave Primria)
- Fornecedor do Produto
- Unidade do Produto
- Descrio do Produto
- Valor Unitrio do Produto
- Quantidade do Produto no Estoque
Com isso a entidade Item de Pedido ficou com os seguintes atributos:
Entidade Item de Pedido
- Nmero do Pedido
(Chave Primria)
- Cdigo do Produto
(Chave Primria)
- Quantidade do Produto
- Valor Total do Produto
PEDIDO
1,1
1,N
POSSUI
28
ITEM PEDIDO
1,N
CONTM
1,1
PRODUTO
Anomalias da 2FN
Incluso
. S possvel incluir um novo cliente caso ele faa um pedido.
. Se um mesmo cliente for includo em um outro pedido com dados
diferentes, as informaes desse cliente ficaro diferentes nos diversos
pedidos.
Excluso
. Se excluirmos um determinado pedido, perderemos as informaes do
cliente associado ao pedido.
Atualizao
. Se quisermos alterar informaes de um cliente teremos que atualizar
diversas tuplas da tabela.
Uma Tabela (Entidade) est na 3FN se est na 2FN e se nenhum dos seus atributos
possui dependncia transitiva em relao a outro atributo que no participe da chave primria.
No nosso exemplo, na entidade Pedido, o atributo Nome do Vendedor depende do
Cdigo do Vendedor que no caso no pertence chave primria, logo surgir uma nova entidade
chamada de Vendedor. O mesmo raciocnio se aplica s informaes do cliente surgindo ento uma
nova entidade chamada de Cliente.
Entidade Vendedor
- Cdigo do Vendedor
- Nome do Vendedor
(Chave Primria)
Entidade Cliente
- Cdigo do Cliente
(Chave Primria)
- Nome do Cliente
- Endereo do Cliente
- Cidade do Cliente
- UF do Cliente
- CGC do Cliente
- Inscrio Estadual do Cliente
29
Entidade Pedido
- Nmero do Pedido
(Chave Primria)
- Prazo de Entrega
- Cdigo do Cliente
- Cdigo do Vendedor
- Valor Total do Pedido
PEDIDO
1,1
0,N
0,N
1,N
ITEM PEDIDO
POSSUI
TIRA
1,N
CONTM
1,1
1,1
FAZ
VENDEDOR
PRODUTO
1,1
CLIENTE
Anomalias da 3FN
Incluso
. Foram resolvidas as anomalias da 2FN
Excluso
30
31