Escolar Documentos
Profissional Documentos
Cultura Documentos
Analise PDF
Analise PDF
ESCOLA
Anlise
de Sistemas
1
Anlise de Sistemas
Sumrio
1 INTRODUO................................................................................................................................ 2
2 OS SISTEMAS................................................................................................................................. 2
2.1 Viso geral..................................................................................................................................................................... 2
2.2 Definio de Sistemas..................................................................................................................................................... 2
2.3 O que um sistema........................................................................................................................................................ 3
3 Sistemas Naturais................................................................................................................ 4
3.1 Sistemas feitos pelo Homem........................................................................................................................................... 4
3.2 Sistemas Automatizados................................................................................................................................................. 4
3.2.1 Tipos de Sistemas Automatizados................................................................................................................................ 4
4 Processo de desenvolvimento de Software....................................................... 5
4.1 Anlise de Sistemas......................................................................................................................................................... 5
4.2 A Equipe de Desenvolvimento........................................................................................................................................ 5
4.2.1 O Analista de Sistemas................................................................................................................................................. 5
5 Fases do Desenvolvimento de Sistemas de Informao............................... 7
5.1 Diagrama de Fluxo de Dados DFD.............................................................................................................................. 7
5.1.2 Elementos Bsicos do DFD......................................................................................................................................... 7
5.2 Exploso para um nvel de funo principal................................................................................................................ 10
5.3 Exploso das funes principais................................................................................................................................... 11
6 O Paradigma da Orientao a Objeto..................................................................... 12
6.1 Classes e Objetos.......................................................................................................................................................... 12
6.2 Modelagem de Sistemas .............................................................................................................................................. 12
7 A linguagem de Modelagem Unificada - UML.................................................... 13
7.1 Fases do Desenvolvimento de um Sistema em UML................................................................................................... 13
7.2 Vises de um sistema.................................................................................................................................................... 14
8. Diagramas da UML............................................................................................................... 14
8.1 Diagrama Use-Case (Caso de Uso)............................................................................................................................... 14
8.2 Diagrama de Classes..................................................................................................................................................... 16
8.3 Diagrama de SeqUncia................................................................................................................................................ 18
9 Modelagem de Dados........................................................................................................ 18
10 A MODELAGEM DE DADOS................................................................................................... 18
10.1 O Modelo conceitual de dados................................................................................................................................... 19
10.1.1 Componentes do modelo conceitual de dados........................................................................................................ 19
6 DIAGRAMA DE ENTIDADE-RELACIONAMENTO (DER)................................................. 21
Exemplo Prtico de Anlise............................................................................................ 23
Locao de Fitas................................................................................................................................................................. 23
1
Escola Alcides Maya - Segundo Mdulo
1 INTRODUO
Este material foi desenvolvido para a rea (disciplina) de anlise e projeto de sistemas. Ele pressupe um conhecimento
razovel dos conceitos e da terminologia de computao. O material foi previsto como apoio ao aluno iniciante rea.
A primeira tarefa do iniciante adquirir uma percepo do processo bsico de analisar e projetar sistemas. Vrios livros
de texto abrangem o tradicional ciclo de vida do sistema, e muitos so bastante bons; infelizmente, poucos incorporam as
metodologias estruturadas. H muitos livros excelentes sobre as tcnicas estruturadas, mas pouco incorporam os princpios
bsicos da anlise e projeto, to essenciais ao iniciante. Este material introduz ao aluno as metodologias estruturadas dentro
do contexto do tradicional ciclo de vida de um sistema.
A anlise de sistemas uma profisso desafiadora e emocionante. Como qualquer outra profisso, a anlise de sistemas
exige dedicao e muito trabalho.
2 OS SISTEMAS
2
Anlise de Sistemas
2.3 O que um sistema
3
Escola Alcides Maya - Segundo Mdulo
3 Sistemas Naturais
A maioria dos sistemas no feitos pelo homem, e sim encontrados na natureza e com propsito prprio. So
basicamente:
Sistemas fsicos: sistemas estrelares, geolgicos, etc.
Sistemas vivos: sistema reprodutor, ingestor, etc.
4
Anlise de Sistemas
Variaes dos sistemas on-line. Controlam um ambiente pelo recebimento de dados, seu processamento e apresentao
dos resultados com rapidez suficiente para afetar o ambiente naquele momento. Alm da velocidade, este sistema interage
tanto com pessoas quanto com o ambiente.
c) Sistemas de apoio deciso
So sistemas tipicamente passivos no sentido de que no funcionam de uma forma regular, em vez disso, so utilizados
quando isso se faz necessrio. So utilizados pelos diretores para avaliar a misso da empresa, fornecendo informaes mais
amplas e gerais sobre clientes, comportamento dos competidores, etc.
d) Sistemas baseados no conhecimento
Tambm conhecidos como sistemas especialistas, so construdos habitualmente para terem a capacidade de explicar as
linhas de raciocnio que conduzem a suas decises.
Alguns podem at mesmo explicar porque rejeitaram certas linhas de raciocnio e escolheram outras. Neste tipo de
sistema se armazena dados e regras. Ex.: Sistemas de aprovao de crditos bancrios a deciso do gerente do banco.
e) Sistemas Artificiais
Normalmente so chamados de Sistemas de Informao, justamente porque seu maior objetivo fornecer, controlar,
prover, pesquisar, analisar informaes.
Estes sistemas so criados dentro ou para organizaes sociais (empresas), considerando dois aspectos: os componentes
da empresa e o nvel de deciso da empresa.
a) Componentes da empresa: correspondem aos diversos setores que executam as diferentes funes necessrias ao seu
funcionamento ( RH, Vendas,Marketing).
b) Nveis de Deciso: obedecem a hierarquia existente na empresa e so conhecidos como: nvel estratgico, ttico e
operacional.
Uma pessoa que atua como analista de sistemas um bom facilitador e possui habilidades de comunicao acima da
mdia. fundamental que os profissionais que desempenham este papel tenham conhecimento dos domnios do negcio e
da tecnologia.
5
Escola Alcides Maya - Segundo Mdulo
Analista
Usurio Programador
A maior desvantagem em estabelecer uma lista de requisitos como esta que jamais se encontrar algum que venha
a possuir todos eles. Mesmo assim, no se pode esquecer este panorama, e deve-se tentar conciliar o mximo possvel a
presena destes requisitos na sua formao profissional.
Para uma boa atuao como Analista de Sistemas, conveniente observar algumas diretrizes de conduta, que serviro
para facilitar seu trabalho:
Procure ser aceito profissionalmente, do nvel mais alto ao nvel mais baixo da empresa.
Tente entender o que o usurio quer dizer e no o que voc pensa que ele quer dizer.
Escute muito primeiro, fale muito pouco depois!
Esteja sempre familiarizado com os ltimos progressos da tecnologia de informao e compreenda como aplic-los
na sua empresa.
Seja capaz de explicar conceitos complexos em termos simplificados.
No se esconda em jarges da Informtica; fale a linguagem da empresa.
Conhea a rea de negcios para a qual desenvolver sistemas, passando boa parte do seu tempo com o usurio.
Sugira solues inovadoras aos requisitos de informao e desenvolva com clareza, analisando sempre a relao
custo/benefcio e utilizando alternativas viveis.
6
Anlise de Sistemas
5 Fases do Desenvolvimento de Sistemas de
Informao
O processo de desenvolvimento de sistemas de informao, tambm chamado de ciclo de vida, abrange todas as atividades
necessrias para definir, desenvolver, testar, operar e manter um sistema. Veja abaixo as fases do ciclo de vida de um Sistema
de Informao:
a) Anlise
A proposta desta fase definir e modelar o que o sistema ir fazer, independente da tecnologia que ser utilizada. Em
acrscimo ao modelo do sistema descrevendo os requisitos do usurio, um mais cuidadoso e detalhado conjunto de oramento
e clculo de custo benefcio preparado, geralmente, ao final da fase de anlise.
b) Projeto
Nesta fase, o objetivo de definir a melhor tecnologia, levando-se em conta todas as caractersticas do sistema (conforme
obtido na fase de anlise). A atividade de projeto ocupa-se de partes da especificao aos processadores apropriados e para
tarefas apropriadas no interior de cada processador. Em cada tarefa, a atividade de projeto ocupa-se com o desenvolvimento
de uma hierarquia apropriada de mdulos de programa e interface entre estes mdulos para implementar a especificao
criada na atividade de anlise. Alm disso, a fase de projeto ocupa-se com a transformao de modelos de dados de entidade
- relacionamento em um projeto de banco de dados.
c) Implementao
Codificar, integrar mdulos e criar banco de dados so os objetivos desta fase. Esta , tipicamente, uma atividade em que
o analista de sistemas no est envolvido, embora muitas vezes todas as fases sejam realizadas pela mesma pessoa.
d) Implantao
O objetivo desta fase implantar o sistema nas instalaes do usurio. Nesta etapa so prontificados os manuais, os
arquivos so carregados, o sistema instalado e os usurios so devidamente treinados.
e) Manuteno
Todo trabalho efetuado aps a fase de implantao. A manuteno pode ser de dois tipos: corretiva ou evolutiva. Ela ser
corretiva, a partir do momento em que o propsito a correo de erros encontrados no sistema. Ela ser evolutiva, a partir
do momento em que o propsito incluir novas funcionalidades no sistema, mesmo depois de implantado.
b) Fluxo de dados: dados que fluem entre processos, entre processos e arquivos de dados ou ainda entre processos e
7
Escola Alcides Maya - Segundo Mdulo
entidades externas, sem nenhuma especificao temporal (por exemplo ocorrncia de processos simultneos, ou todas as
semanas).
c) Depsito de dados: meio de armazenamento de dados para posterior acesso e/ou atualizao por um processo.
Dn
n
d) Processo: recebe dados de entrada e transforma estes dados num fluxo de sada.
nr nr
8
Anlise de Sistemas
c) Atualizar d) Excluir
Observe que o processo no necessariamente um programa. Um nico processo poder representar uma srie de
programas, um nico programa, ou um mdulo dentro de um programa; ele poder at representar um processo manual, tal
como a perfurao ou a conferncia visual dos dados. Note, tambm, que o depsito de dados no o mesmo que um arquivo.
Aquele poder representar o arquivo, uma parcela do arquivo, elementos em uma base de dados, ou mesmo uma parcela de
um registro. O depsito de dados poder residir em disco, fita magntica, memria principal, carto perfurado, ou qualquer
outro meio (inclusive o crebro humano).
Qual a diferena entre o depsito de dados e o fluxo de dados? O fluxo de dados representa os dados em movimento; o
depsito de dados representa dados em repouso. Em outras palavras, so meramente dois estados da mesma coisa. Voltaremos
a esta idia posteriormente.
Em nome da facilidade de leitura do DFD, conveniente usar sempre a mesma notao para cada um de seus
componentes.
Muitas vezes, ao desenhar um DFD complexo, nos deparamos com a possibilidade de cruzamento de linhas que
representam os fluxos de dados, o que dificulta a inteligibilidade do diagrama. Para resolver este problema, a sada costuma
ser a repetio, em outro ponto do DFD, de algumas das figuras que representam os seus componentes, da seguinte forma:
a) Para duplicao de entidades externas, costuma-se acrescentar ao smbolo uma linha diagonal para cada repetio
utilizada, como a seguir:
b) Para duplicao dos depsitos de dados, costuma-se acrescentar ao smbolo uma linha paralela para cada repetio
utilizada, como a seguir:
c) Nos casos em que for inevitvel o cruzamento de linhas, uma soluo que pode ser usada o de desenhar uma Ponte
(by pass), como a seguir :
d) No faz sentido duplicar processos. Isto geraria confuso quanto ao entendimento do diagrama.
Para ilustrar as situaes acima descritas, observar o DFD a seguir:
9
Escola Alcides Maya - Segundo Mdulo
Como os fluxogramas lgicos tradicionais, a direo do fluxo de cima para baixo e da esquerda para a direita. Um bom
DFD tende a seguir uma conveno semelhante, com os dados deslocando-se de sua origem (na parte superior esquerda) at
seu destino (na parte inferior direita), mas as regras so muito menos rgidas. Por exemplo, os dados s vezes fluem de volta
at sua fonte. Uma maneira de indicar isso desenhar uma longa linha de fluxo de um lado do diagrama para o outro. Como
alternativa, o smbolo para a origem do dado simplesmente poder ser repetido em outras palavras, o mesmo smbolo
representando a mesma fonte de dados pode aparecer mais de uma vez no DFD.
cliente gerncia
Dados Cliente
Lista de Cliente
1
cadastrar Dados Cliente
cliente Vlido
D1 Clientes 2
gerar
Dados Cliente Relatrio
n
Vlido cliente
10
Anlise de Sistemas
Observe que dois depsitos de dados foram acrescentados ao novo DFD. Processar transaes precisa de dados do
estoque; assim temos o depsito de dados conhecido por estoque. Voc se lembra da diferena do tempo entre o processamento
das transaes de estoque e a gerao do relatrio de reposio? Por causa desta diferena, informaes de reposio tero de
ser armazenadas; por isso, temos o depsito de dados reposio.
A Figura acima ilustra diversas convenes utilizadas para desenhar o DFD. Os processos so numerados para facilidade
de consulta. Os depsitos de dados so rotulados com D seguido de um nmero; mais uma vez, esses rtulos so apenas
para fins de consulta. Os nomes dos depsitos, origens e destinos de dados so todos escritos em letras maisculas, enquanto
os nomes dos processos e de fluxos de dados so, exceto a primeira letra, escritos em letras minsculas. Estas convenes
ajudam a tornar o DFD mais fcil de ser seguido.
Os nomes dos vrios fluxos de dados so escritos dentro de seu diagrama. Como os processos, origens, destinos e
depsitos de dados, eles so derivados da descrio do problema. Considere um desses fluxos reposio. Reposio um
fluxo de dados ou um depsito de dados? primeira vista, distinguir entre depsitos e fluxos poder parecer confuso. No se
preocupe a respeito. O fluxo de dados so dados em movimento; o depsito de dados so dados em repouso (armazenados).
Que elementos so encontrados no depsito de dados? Apenas aqueles elementos que entraram no depsito de dados atravs
de um fluxo de dados. Em outras palavras, o depsito e o fluxo de dados so apenas duas verses diferentes da mesma
coisa.
11
Escola Alcides Maya - Segundo Mdulo
Observe como os processos foram numerados no DFD explodido. Os processos 1.1, 1.2 e 1.3 so partes componentes do
que era o processo 1. Se o processo 2 fosse explodido, seus componentes seriam numerados 2.1, 2.2, e assim por diante.
Devemos explodir o segundo processo, gerar relatrio? No. relativamente fcil de visualizar o que o processo de gerao
de relatrio far. Embora voc possa imaginar diversos meios diferentes de gerar o relatrio utilizando uma classificao ou
outro mecanismo qualquer de seqenciamento, tais detalhes envolvem especificaes fsicas e no so apropriados no DFD.
Devemos explodir os processos apresentados na figura anterior para um nvel ainda mais baixo? Provavelmente no.
Por qu? Como saber quando j desceu ao nvel suficiente? Considere o processo 1.1, aceitar transao. Tente imaginar a
decomposio desse processo sem pensar como voc vai aceitar as transaes, ou de onde (fisicamente) essas transaes
viro. Quando voc atingir o ponto em que uma maior subdiviso o levar a pensar em como implementar o processo, ser
o suficiente.
Qual o detalhamento do Diagrama do Fluxo de Dados? O exemplo apresentado neste mdulo relativamente trivial; o
que aconteceria se o DFD contivesse dezenas de processos e depsitos de dados? Esse diagrama seria muito difcil de seguir,
prejudicando, assim, uma importante finalidade a comunicao.
Diversos estudos sugerem que as pessoas encontram dificuldade em seguir um DFD contendo mais de 7+/-2 processos.
Esses estudos sugerem uma estratgia. Comece com um diagrama de alto nvel. Exploda at o nvel funcional. Se a exploso
de todas as funes para o seu nvel seguinte de detalhamento fizer com que voc supere o limite de 9 processos, no exploda
o DFD. Ao invs disso, tome cada funo, uma de cada vez, e desenvolva um subdiagrama, apresentando apenas a exploso
de um nico processo. Repita este passo para cada processo. O DFD de nvel funcional pode ento ser utilizado para fornecer
uma viso global lgica do sistema como um todo. Se o usurio ou o gerente quiser saber o que acontece dentro de um
processo dado, o subdiagrama apropriado pode ser apresentado.
12
Anlise de Sistemas
7 A linguagem de Modelagem Unificada - UML
A UML uma tentativa de padronizar a modelagem orientada a objetos de uma forma que qualquer sistema, seja qual
for o tipo, possa ser modelado corretamente, com consistncia, fcil de se comunicar com outras aplicaes, simples de ser
atualizado e compreensvel.
A UML uma linguagem visual para modelar sistemas orientados a objetos. Isso quer dizer que a UML uma linguagem
constituda de elementos grficos (visuais) utilizados na modelagem que permitem representar os conceitos do paradigma da
orientao a objetos. Atravs de elementos grficos definidos nesta linguagem pode-se construir diagramas que representam
diversas perspectivas de um sistema.
8. Diagramas da UML
O objetivo dos diagramas apresentar mltiplas vises do sistema sendo que este conjunto de mltiplas vises chamado
de modelo. Podemos dizer que um modelo UML pode ser visto como um conjunto de diagramas que podem ser examinados
e modificados a fim de compreender e desenvolver um sistema de software.
Um modelo UML descreve o que o sistema far, mas no diz nada como implementar o sistema.Um diagrama prov uma
parcial representao do sistema. Ele ajuda a compreender a arquitetura do sistema em desenvolvimento.
Vejamos s seguir os diagramas da UML
Estticos:
Diagramas de Use Cases
Diagramas de Classes
Diagramas de Pacotes
Dinmicos:
Diagramas de Interao
Diagramas de Sequncia
Diagramas de Colaborao
Diagramas de Estado (Statechart)
Diagramas de Atividade
14
Anlise de Sistemas
Atores
Um ator representado por um boneco e um rtulo com o nome do ator. Um ator um usurio do sistema, que pode ser
um usurio humano ou um outro sistema computacional.
Ator
Use case
Um use case representado por uma elipse e um rtulo com o nome do use case. Um use case uma funcionalidade do
sistema.
Relacionamentos
Ajudam a descrever os use cases.
1) Entre um ator e um use case:
a. Associao
Define uma
funcionalidade do
sistema do ponto de
vista do usurio.
Use Case
Ator
2) Entre atores:
a. Generalizao
15
Escola Alcides Maya - Segundo Mdulo
3) Entre use cases:
a. Include
Um relacionamento include de um use case A para um use case B indica que B essencial para o comportamento de A.
b. Extend
Um relacionamento extend de um use case A para um use case B indica que o use case A pode ser acrescentado para
descrever o comportamento de B (no essencial). A extenso inserida no ponto de extenso do use case B.
Ponto de extenso em um use case uma indicao de que outros use cases podero ser adicionados a ele. Quando o use
case for invocado, ele verificar se suas extenses devem ou no serem invocadas.
c. Generalizao ou Especializao (_um)
Use case B _um use case A (A uma generalizao de B, ou B uma especializao de A).Um relacionamento entre um
use case genrico para um mais especfico, que herda todas as caractersticas de seu pai.
Sistema
Limites do sistema: representado por um retngulo envolvendo os use cases que compem o sistema.
Nome do sistema: Localizado dentro do retngulo.
16
Anlise de Sistemas
Notao:
a) Nome da classe: Um identificador para a classe, que permite referenci-la posteriormente -- por exemplo, no momento
da criao de um objeto.
b) Atributos: O conjunto de propriedades da classe. Para cada propriedade, especifica-se:
a. Nome: um identificador para o atributo.
b. Tipo: o tipo do atributo (inteiro, real, carter, outra classe, etc.)
c. valor_default: opcionalmente, pode-se especificar um valor inicial para o atributo.
d. Visibilidade: opcionalmente, pode-se especificar o quanto acessvel um atributo de um objeto a partir de outros
objetos. Valores possveis so:
- (privativo), nenhuma visibilidade externa;
+ (pblico), visibilidade externa total;
# (protegido), visibilidade externa limitada.
c) Mtodos ( Operaes) : tambm so exibidos com pelo menos seu nome, e podem tambm mostrar seus parmetros
e valores de retorno. Operaes podem, como os Atributos, mostras sua visibilidade:
+ indica operaes pblicas
# indica operaes protegidas
- indica operaes privadas
17
Escola Alcides Maya - Segundo Mdulo
Conta
-agencia: int
-contacorrente: char
+depositar()
+saldo()
Cliente
-CPF: int
ContaPoupanca -nome: string
-telefone: char
-DiaDeposito: int
+MostrarCPF()
+VerLucro() +VerSaldo()
9 Modelagem de Dados
O modelo de entidade-relacionamento (MER) baseado na percepo do mundo real que consiste em um conjunto de
objetos bsicos chamados entidades e nos relacionamentos entre estes objetos.
10 A MODELAGEM DE DADOS
Trata-se de parte do trabalho do analista de sistemas, cujo propsito buscar especificar, a partir dos fatos essenciais que
estejam associados ao domnio de conhecimento analisado, a perspectiva dos dados, permitindo organiz-los em estruturas
bem definidas, estabelecer as regras de dependncia e restries entre eles, produzindo um modelo expresso por uma
representao, ao mesmo tempo, descritiva e diagramtica.
18
Anlise de Sistemas
Na literatura de Informtica, de um modo geral, os termos dado e informao costumam ser utilizados como sinnimos,
porm, trata-se de coisas distintas, cada qual com seu conceito.
Os dados podem ser vistos como uma coleo de smbolos organizados intencionalmente para representar uma parte da
realidade de que estivemos tratando.
Podemos definir informao como sendo conhecimento novo. Por ser conhecimento, a informao existe apenas na
mente das pessoas, ou seja, a informao s pode ser assim chamada se representar acrscimo de conhecimento para algum.
Os dados podem ser usados para representar informaes, aumentando, desta forma, o conhecimento de algum a respeito
de algum assunto ou situao.
A modelagem de dados, comea no momento em que um analista de sistemas define algum depsito de dados
no DFD particionado por evento. Tal fato significa que o analista, ao examinar o domnio de seu problema no mundo real,
interpretou que, para aquele determinado evento, haveria a necessidade de se armazenar alguma informao sobre algo. Esta
interpretao do analista chamada de viso a nvel conceitual, cuja inteno espelhar a realidade. Deste fato decorre um
processo a nvel de dados conhecido por abstrao de dados, ou seja, se tenho um usurio no sistema, devo verificar se
necessrio armazenar dados sobre ele. Em caso afirmativo, pergunto quais dados sobre este usurio devo armazenar? A
resposta : certamente aqueles que so relevantes para o seu sistema.
Esta idia conceitual, ainda que preliminar, sobre os dados a serem armazenados, segundo uma viso interpretada do
mundo real, a chamada abstrao de dados.
Entidade:
1. aquilo que constitui a essncia de uma coisa, existncia, individualidade, ente, ser;
2. tudo quanto existe ou pode existir.
Assim, uma entidade alguma coisa que desempenha um papel especfico no sistema que est sendo modelado. algo
sobre o qual desejamos guardar informaes. A existncia e a identificao de uma entidade dependem inteiramente do
19
Escola Alcides Maya - Segundo Mdulo
contexto em que ela estiver inserida. Por exemplo, em um sistema acadmico, uma pessoa (que seria uma entidade) pode ter o
papel de aluno ou professor. Esta mesma pessoa, em um sistema de arrecadao de atributos, ser, digamos, um contribuinte,
enquanto em um sistema de competies esportivas, ela poder ser um atleta. Como vemos, nenhuma entidade pode ser
identificada independentemente de um universo de interesse.
Uma entidade pode ser:
a) um objeto real, como um livro, uma mquina, um lugar, um avio;
b) uma pessoa, como um empregado, um contribuinte, um aluno, um cidado;
c) um conceito abstrato, como um curso, uma cor, uma disciplina;
d) um acontecimento, isto , uma situao em que algo est ocorrendo ou est planejado, como o fornecimento de uma
encomenda, a inscrio de um aluno em um curso, uma reunio, um casamento, etc.
Um grupo de entidades possuindo os mesmos atributos forma um conjunto de entidades. Um conjunto de entidades
deve ser encarada como uma reunio (famlia, conjunto) de entidades (elementos) com caractersticas comuns. Assim, a
classe de entidades pessoa teria as entidades Joo, Virgnia, Jos, Teresa, etc.
Exemplos de entidades:
o conjunto de todos os empregados;
o conjunto de todos os fornecedores;
o conjunto de todos os departamentos;
o conjunto de todos os alunos.
Relacionamento
Dentro do contexto de um sistema, os conjuntos de entidades relacionam-se entre si. Definiremos relacionamento
como uma associao entre duas entidades. Por exemplo, o relacionamento que expressa todas as encomendas feitas a um
fornecedor pode ser expresso:
Fornecedor fornece encomenda ou
Encomenda fornecida por fornecedor,
Onde Fornecedor e Encomenda so conjuntos de entidades. Por outro lado, fornece e fornecida por representam o
relacionamento entre as duas entidades.
Atributo
Conforme j dissemos, nosso interesse em identificar entidades est no fato de desejarmos armazenar dados a seu respeito.
Tais dados representam caractersticas destas entidades. Assim, n-de-matrcula, nome, data-de-nascimento e endereo
podem ser, por exemplo, caractersticas da entidade empregado. As caractersticas ou propriedades das entidades recebem a
denominao de atributo. Atributo pode ser entendido como sendo aquilo que o intelecto percebe a respeito da entidade como
constituindo a essncia dela, isto , a determinao de uma propriedade essencial da entidade. Desta forma, cada empregado
uma entidade que possui os atributos mencionados. Todas as entidades de um determinado conjunto possuem os mesmos
atributos.
A cada atributo de uma entidade associado um domnio de valores. Estes domnios podem ser um conjunto de nmeros
inteiros, nmeros reais, cadeia de caracteres ou qualquer outro tipo de valores. Por exemplo, as entidades do conjunto de
entidades fornecedor podem ter atributos como:
razo social (uma cadeia de caracteres);
capital social (um nmero real);
data de fundao da empresa (uma data), etc.
O domnio o conjunto de valores vlidos para um determinado atributo. O atributo nome-do-empregado tem como
domnio (Joo, Jos, Maria, ...). Isto , Joo, Jos, Maria, etc. so valores que podem ser atribudos ao nome do empregado.
O atributo cor-do-carro tem como domnio (azul, verde, amarelo, ...), ou seja, azul, verde, amarelo, etc. so valores possveis
para a cor do carro.
Ele foi desenvolvido para facilitar o projeto de banco de dados, permitindo a especificao de um esquema de negcio,
onde tal esquema representa a estrutura lgica geral do banco de dados.
20
Anlise de Sistemas
6 DIAGRAMA DE ENTIDADE-RELACIONAMENTO (DER)
Integrantes do Modelo:
Entidades: Conjuntos de coisas que possuem caractersticas prprias.
Atributos: Representam as caractersticas que qualificam uma Entidade.
Relacionamentos: Condies que permitem o estabelecimento do nvel de associao entre Entidades.
Entidades:
O conceito fundamental da abordagem entidade-relacionamento (E-R) o conceito de entidade.
Conjunto de objetos da realidade modelada sobre os quais deseja-se colecionar dados no banco de dados
Pode ser concreta (pessoa, disco,...) ou abstrata (curso, conceito, circulao, ...)
Uma entidade representa um conjunto de objetos que se deseja guardar dados
Exemplo:
Sistema bancrio as entidades podem ser: clientes, contas correntes, cheques, agncias.
Cliente representa o conjunto de clientes que se deseja manter dados no banco de dados
Exemplo:
Cliente cada ocorrncia de cliente ter associado exatamente os seus atributos (nome, CPF, telefone, endereo)
Aluno
matricula nome
Chave
um ou mais atributos que permite identificar unicamente uma entidade no conjunto de entidades.
Relacionamento
Conjunto de associaes entre entidades.
Um conjunto de relacionamentos uma coleo de ocorrncias das entidades relacionadas.
A funo que uma entidade exerce em um relacionamento chamada de papel, normalmente implcito, mas muito
esclarecedor.
Tambm pode ter atributos descritivos (por exemplo: data, hora, etc.)
A ocorrncia de um relacionamento particular dentro de um conjunto de relacionamentos de um mesmo tipo chamada
de instncia do relacionamento.
Exemplo:
Suponha o relacionamento lotao entre as entidades Departamento e Pessoa.
Este exemplo expressa que o BD armazenar dados sobre:
um conjunto de objetos classificados como pessoa entidade Pessoa;
um conjunto de objetos classificados como departamentos entidade Departamento;
21
Escola Alcides Maya - Segundo Mdulo
um conjunto de associaes entre cada pessoa e um departamento;
relacionamento lotao
lotao
Cardinalidade
uma restrio de mapeamento que expressa o nmero de entidades as quais outras entidades pode ser associadas via
um conjunto de relacionamentos.
Um para um (1:1): uma entidade de A est associada a uma nica entidade de B, e uma entidade de B est associada a
uma nica entidade de A.
Um para muitos (1:N): uma entidade de A est associada a qualquer quantidade da entidade de B, e uma entidade de B
esta associada somente a uma nica entidade de A.
Muitos para um (N:1): uma entidade de A est associada a uma nica entidade de B, e uma nica entidade de B pode
estar associada a qualquer quantidade de entidades de A.
Muitos para muitos (N:M): uma entidade de A est associada a qualquer quantidade de entidades de B, e uma entidade
de B esta associada a qualquer quantidade de entidades de A.
Observe:
a b a b
a1 b1 a1 b1
a2 b2 a2 b2
a3 b3 a3 b3
b4
b a b
a
a1 b1 a1 b1
a2 b2 a2 b2
a3 b3 a3 b3
a4 a4 b4
22
Anlise de Sistemas
Locao de Fitas
Desenvolva um Diagrama de Casos de Uso para um sistema de vdeo locadora equivalente ao mdulo de locao de fitas
de filmes de acordo com as seguintes afirmaes:
a) Ao realizar uma locao, o scio deve primeiro informar seu cdigo para que o atendente possa verificar se este se
encontra cadastrado. Se o scio no estiver cadastrado, ento a locao dever ser recusada e o scio ser informado de como
proceder para se cadastrar. Caso esteja cadastrado, o atendente deve verificar se o scio em questo j devolveu todas as
locaes feitas anteriormente, se no o tiver feito, a locao dever ser recusada.
b) Caso o scio tenha quitado todas as locaes anteriores, ento este dever informar os nmeros das cpias dos filmes
que deseja locar. Em seguida o atendente registrar a locao e fornecer as cpias em questo para o scio.
c) responsabilidade de o atendente realizar a manuteno dos filmes e de suas respectivas cpias, registrando os novos
filmes adquiridos pela locadora, por exemplo.
CadastrarSocio
RealizarLocacao
Cliente Atendente
ManterFilmes
23
Escola Alcides Maya - Segundo Mdulo
Desenvolva um diagrama de classes para um sistema de vdeo locadora equivalente ao mdulo de locao de fitas de
filmes de acordo com as seguintes afirmaes:
a) Um filme tem obrigatoriedade de pelo menos uma cpia, mas pode possuir diversas delas, porm uma cpia refere-se
exclusivamente a um determinado filme.
b) Um scio pode realizar muitas locaes enquanto permanecer scio da locadora, mas uma locao refere-se unicamente
a um determinado scio.
c) Cada locao deve obrigatoriamente referenciar-se ao menos a uma cpia de um filme, podendo referenciar-se a
muitas cpias, no entanto uma mesma cpia pode ter sido locada diversas vezes, em pocas diferentes obviamente.
1..* Contem
Locacao
Socio
+DataLoc: Date
+Nome: char[40] Realiza +DataDev: Date
+Endereco: char[40] +Valor: float
+Telefone: char[15] 1..* +Situacao: int
+Consulta(nome: char): int +Locar(): int
+VerPendencias(): int
Desenvolva o diagrama de sequncia para um sistema de vdeo locadora de acordo com os fatos j descritos anteriormente
e nos seguintes fatos complementares:
a) Primeiramente o atendente deve verificar se o scio est cadastrado, se este no estiver, a locao deve ser recusada.
b) Em seguida deve verificar se o scio possui alguma locao pendente, caso que tambm recusar o emprstimo.
c) Se o scio existir e no tiver locaes pendentes, ento a locao dever ser registrada e as cpias emprestadas ao
scio.
d) Durante o registro da locao, devero ser registrados tambm todos os tens da locao.
24
Anlise de Sistemas
: Atendente
1 : Verificar scio()
2 : Consulta()
3 : VerPendencias()
4 : falso
5 : Verdadeiro
7 : Registrar Locao()
loc1 : Locacao
8 : Locar()
10 : itens registrados
11 : verdadeiro
25