Você está na página 1de 43

ENGENHARIA DE SOFTWARE

EMENTA
SOFTWARE E ENGENHARIA DE SOFTWARE
O DESENVOLVIMENTO DE SISTEMAS E SUAS ETAPAS
A IMPORTNCIA DA MODELAGEM DE DADOS E DA ANLISE DAS FUNES
AS LINGUAGENS DE PROGRAMAO E A CODIFICAO
TCNICAS DE TESTES E DE MANUTENO
A ORIENTAO A OBJETOS E A ENGENHARIA DE SOFTWARE
A QUALIDADE DE SOFTWARE
GERENCIAMENTO DE PROJETOS: MTRICAS E ESTIMATIVAS
NOVAS PERSPECTIVAS EM ENGENHARIA DE SOFTWARE

GEEK BRASIL - http:/www.geekbrasil.com.br

SOFTWARE E ENGENHARIA DE SOFTWARE

A IMPORTNCIA DO SOFTWARE

EVOLUO
CARACTERSTICAS E COMPONENTES
PROBLEMAS E CAUSAS
DEFINIO DE ENGENHARIA DE SOFTWARE

GEEK BRASIL - http:/www.geekbrasil.com.br

A IMPORTNCIA DO SOFTWARE

AVANOS DA MICROELETRNICA

MAIOR PODER DE
COMPUTAO A CUSTO
BAIXO

ASSOMBROSA QUALIDADE DE ARMAZENAMENTO E


PROCESSAMENTO

O SOFTWARE O MECANISMO QUE POSSIBILITA APROVEITAR E


DAR VAZO A ESSE POTENCIAL

GEEK BRASIL - http:/www.geekbrasil.com.br

EVOLUO

SISTEMAS DE
DESK-TOP
PODEROSOS
TECNOLOGIAS
ORIENTADAS
A OBJETOS

SISTEMAS
DISTRIBUDOS

ORIENTAO
A BATCH
DISTRIBUO
LIMITADA
SOFTWARE
CUSTOMIZADO

1950

MULTIUSURIO
TEMPO REAL
BANCO DE DADOS
PRODUTOS DE
SOFTWARE

INTELIGNCIA
HARDWARE
DE
BAIXO CUSTO

IMPACTO DE
CONSUMO

1960

1970

SISTEMAS
ESPECIALISTAS
REDES
NEURAIS
ARTIFICIAIS
COMPUTAO
PARALELA

1980

GEEK BRASIL - http:/www.geekbrasil.com.br

2000

CARACTERSTICAS E COMPONENTES

O SOFTWARE DESENVOLVIDO OU PROJETADO POR ENGENHARIA, NO


MANUFATURADO NO SENTIDO CLSSICO ( NO PROCESSO MECNICO)
O SOFTWARE NO SE DESGASTA
A MAIORIA DOS SOFTWARES FEITO SOB MEDIDA EM VEZ DE SER
MONTADO DE COMPONENTES EXISTENTES

COMPONENTES DO SOFTWARE
SO CRIADOS POR MEIO DE UMA SRIE DE CONVERSES QUE MAPEIAM AS
EXIGNCIAS DO CLIENTE PARA CDICO EXECUTVEL EM MQUINA

O MODELO DAS EXIGNCIAS

GEEK BRASIL - http:/www.geekbrasil.com.br

PROJETO

CODIFICAO EM LINGUAGEM

AS LINGUAGENS EM USO SO:


LINGUAGENS DE MQUINA :
LINGUAGENS DE ALTO NVEL: Pascal, C, ADA, C++, Object Pascal, Eiffel, LISP,
PROLOG, etc...
E NO PROCEDIMENTAIS: Linguagens de Banco de Dados

EXIGNCIA: REUSABILIDADE
APLICAES EM SOFTWARES

SOFTWARE BSICO
COMPILADORES, EDITORES DE TEXTOS, SISTEMAS OPERACIONAIS, etc...
SOFTWARE DE TEMPO REAL
RESPONDE DENTRO DE RESTRIES DE TEMPO ESTRITAS.
SISTEMA DE CONTROLE DE VO E DE SINALIZAO DE TRNSITO
SOFTWARE COMERCIAL

GEEK BRASIL - http:/www.geekbrasil.com.br

FOLHA DE PAGAMENTO, CONTAS A PAGAR E A RECEBER, ESTOQUE,


EVOLUINDO PARA MIS - OPERAES COMERCIAIS E DE APOIO A
DECISO
SOFTWARE CIENTFICO E DE ENGENHARIA
SISTEMA DE ASTRONOMIA, SISTEMA DE CONTROLE DA DINMICA
ORBITAL DE NAVES ESPACIAIS, SISTEMAS DE MANUFATURA
AUTOMATIZADA, CAD, etc...
SOFTWARE EMBUTIDO
FUNES DIGITAIS EM AUTOMVEIS (CONTROLE DE COMBUSTVEL,
SISTEMA DE FREIOS, CONTROLE DE TECLADO PARA FORNOS
MICROONDAS
SOFTWARE DE COMPUTADOR PESSOAL
PROCESSAMENTO DE TEXTOS, PLANILHA ELETRNICA, GERENCIADOR
DE DADOS, etc...
SOFTWARE DE INTELIGNCIA ARTIFICIAL
SOFTWARE BASEADO EM CONHECIMENTO
PROBLEMAS E CAUSAS
ANALISTA

AS ESTIMATIVAS DE PRAZO E DE
CUSTO SO FREQUENTEMENTE
IMPRECISAS

A PRODUTIVIDADE DAS PESSOAS


DA REA DE SOFTWARE NO TEM
ACOMPANHADO A DEMANDA POR
SERVIOS
A QUALIDADE DE SOFTWARE
MENOS QUE A ADEQUADA
NO SE DEDICA TEMPO COLETA
DE DADOS ( ERRA-SE
GEEK NO
BRASIL - http:/www.geekbrasil.com.br
PLANEJAMENTO )
INSATISFAO DO CLIENTE COM O

USURIO

CAUSAS
EXPERINCIA POUCO MAIS DE 40 ANOS
PROFISSIONAIS DE INFORMTICA COM POUCO TREINAMENTO FORMAL
EM TCNICAS PARA DESENVOLVIMENTO DE SOFTWARES
GERENTES SEM BACKGROUND
TUDO DEVE SER FEITO PARA ONTEM
ENGENHARIA DE SOFTWARE

O estabelecimento e uso de slidos princpios de engenharia para que se


possa obter economicamente um software que seja confivel e que funcione
eficientemente em mquinas reais.
Fritz Bauer
GEEK BRASIL - http:/www.geekbrasil.com.br

uma disciplina que integra mtodos, ferramentas e


procedimentos para o desenvolvimento de software de computador.
mtodos: envolvem um amplo conjunto de tarefas que incluem:
planejamento e estimativa de projeto, anlise de requisitos de
software e de sistemas, projeto de estrutura de dados,
especificao e codificao de programas, teste e manuteno.

ferramentas : CASE- Computer-Aided Software Enggineering

procedimentos : constituem o elo de ligao que mantm juntos os


mtodos e as ferramentas para desenvolvimento do software.

CICLO CLSSICO DA ENGENHARIA DE SOFTWARE

GEEK BRASIL - http:/www.geekbrasil.com.br

Engenhariade
Software
Anlisede
Sistemas
Projeto
Codificao
Teste
Manuteno

Prototipao
GEEK BRASIL - http:/www.geekbrasil.com.br

PROCESSO QUE CAPACITA O DESENVOLVEDOR A CRIAR UM MODELO DO


SOFTWARE QUE SER IMPLEMENTADO.

Fim

Incio

Coleta e
refinamento
dos requisitos

Projeto
Rpido

Engenharia
do
Produto
Construo
do
Prottipo
Refinamento
do Produto

Avaliao do
Prottipo pelo
Cliente

GEEK BRASIL - http:/www.geekbrasil.com.br

O MODELO ESPIRAL
Planejamento
dos riscos

Anlise

Coleta inicial dos


requisitos e
planejamento do
projeto

Anlise dos riscos


baseada nos requisitos
iniciais

Anlise dos riscos


baseada na reao do
cliente

Planejamento
baseado nos
comentrios do
cliente

Deciso de prosseguir/
no prosseguir
Na direo de um
sistema concludo

Avaliao do cliente

Anlise do cliente

Engenharia

Prottipo de software
inicial
Prottipo no nvel
seguinte
Sistema construdo
pela engenharia

GEEK BRASIL - http:/www.geekbrasil.com.br

TCNICAS DE QUARTA GERAO

Coletade
requisitos
Estratgiade
projeto
Implementao
usando4GL
Testes

As novas ferramentas CASE agora suportam o uso das 4GT.


Gerao de Cdigo Automtica

GEEK BRASIL - http:/www.geekbrasil.com.br

COMBINANDO PARADIGMAS

OBTENO
PRELIMINAR DOS
REQUISITOS

ANLISE DE
REQUISITOS

PROTOTIPAO

4GT

MODELO
ESPIRAL

4GT

PROJETO
PROTOTIPAO
ENSIMA
ITERAO

MODELO ESPIRAL
ENSIMA ITERAO

CODIFICAO
4GT

REALIZAO DE
TESTES
SISTEMA
OPERACIONAL

MANUTENO

GEEK BRASIL - http:/www.geekbrasil.com.br

O DESENVOLVIMENTO DE SISTEMAS E AS SUAS ETAPAS


por Roger S. Pressman

Fase de Definio=> planejamento do software: descrio do escopo, anlise


do esforo, anlise de riscos, levantamento dos recursos exigidos, estimativas
de custos e de prazos. O objetivo fornecer uma indicao da viabilidade do
software; fase de anlise e requisitos do software: a anlise forma do domnio
da informao utilizada para estabelecer modelos de fluxo de dados e da
estrutura da informao. Alternativamente pode ser feito um prottipo. Estes
modelos so detalhados para se tornar uma especificao do software, que
o documento produzido com resultado desta fase.

FUNCES DO
SISTEMA

PLANEJAMENTO
DO PROJETO DE
SOFTWARE

REVISO

ANLISE DE
REQUISITOS OU
PROTOTIPAO

REVISO

Fase de Desenvolvimento=>descrio de estrutura modular, definio de


interfaces, uma estrutura de dados estabelecida. Uma especificao de
projeto produzida. E a codificao realizada.
PROJETO DE
ARQUITETURA

REVISO

PROJETO
PROCEDIMENTAL

REVISO

GEEK BRASIL - http:/www.geekbrasil.com.br

CODIFICAO

REVISO

Fase de Verificao, Liberao e Manuteno=>realizao de testes para


descobrir o mximo de erros. Faz-se a manuteno do software ao longo da
sua vida til.
TESTES DE
UNIDADES, DE
INTEGRAO E
VALIDAO

DEPURAO

LIBERAO
E
DISTRIBUIO

REVISO

MANUTENO

O DESENVOLVIMENTO DE SISTEMAS E AS SUAS ETAPAS

(continuao) por S. Pompilho


Anlise de Sistemas=>determinao de quais os requisitos do sistema. O
que o sistema deve fazer.
Projeto de Sistemas=>determinao de como o sistema funcionar para
atender aos requisitos especificados na fase de anlise.
Implementao de Sistemas=>construo efetiva do sistema.

Metodologias de Desenvolvimento
maneira de se utilizar um conjunto
coerente e coordenado de mtodos para atingir um objetivo. Em outras
palavras, a metodologia deve definir quais as fases de trabalho previstas no
desenvolvimento de sistemas.
Mtodo um procedimento a ser adotado para se atingir um objetivo.
Tcnica um modo apropriado de se investigar sistematicamente um
determinado universo de interesse ou domnio de um problema. Ex: anlise
estruturada, anlise essencial e projeto estruturado.
Ferramentas
Diagrama de Fluxo de Dados
Diagrama Entidade
Relacionamento
Diagrama de Transio de
GEEKEstados
BRASIL - http:/www.geekbrasil.com.br

PRODUO DE MODELOS. EXEMPLOS: MODELO FUNCIONAL, MODELO CONCEITUAL DE


DADOS

Notao um conjunto de caracteres, smbolos e sinais formando um


sistema convencionado de representao.
METODOLOGIA DEVE ESTABELECER QUAIS OS PONTOS DE CONTROLE E PADRES DE
QUALIDADE

O DESENVOLVIMENTO DE SISTEMAS E AS SUAS ETAPAS

(continuao)
TCNICAS
ANLISE TRADICIONAL

ABORDAGENS
FUNCIONAL

ANLISE ESTRUTURADA FUNCIONAL


DADOS

ANALISE ESSENCIAL

FUNCIONAL
DADOS
CONTROLE

FERRAMENTAS
TEXTOS
E
FLUXOGRAMAS
DIAGRAMA
DE
FLUXO DE DADOS
DIAGRAMA
DE
ESTRUTURA
DE
DADOS
NORMALIZAO
DICIONRIO
DE
DADOS
TABELA
DIAGRAMA
E
FLUXO DE DADOS
DIAGRAMA
DE
ENTIDADERELACIONAMENTO
DIAGRAMA
DE
TRANSIO
DE
ESTADOS

GEEK BRASIL - http:/www.geekbrasil.com.br

IMPORTNCIA DA MODELAGEM DE DADOS E DA ANLISE

Modelagem de Dados Conceitual e seus Elementos


Entidade
uma representao de um objeto do mundo real que tem muita importncia para
a vida do sistema e que independe da existncia de quaisquer outros elementos. Segundo
Setzer, uma entidade pode ser a representao de um ser, de um fato, de uma coisa, etc...
EXEMPLO:
1- Considere a informao a seguir para um determinado sistema de controle
acadmico com o objetivo de gerar um relatrio contendo para cada alunos disciplinas que
este faz.

Maurcio cursa Pascal.


2- Considere as informaes a seguir para um determinado sistema de controle da
venda de produtos e uma loja com o objetivo de gerar um relatrio contendo para cada
cliente os produtos comprados.

O cliente Luiz comprou 2 quilos do produto acar.


GEEK BRASIL - http:/www.geekbrasil.com.br

A cliente Marieta comprou um quilo de farinha de trigo.


Relacionamento
Segundo Setzer, uma estrutura abstrata que indica a associao entre elementos
de duas ou mais entidades. Um relacionamento binrio um par ordenado (e1, e2), onde e1
e e2 so respectivamente os elementos de E1 e E2 (que so s conjuntos de entidades
envolvidas).
Um relacionamento dependente das entidades, as quais associa.
Entidade-tipo
um conjunto de entidades da mesma natureza ou caractersticas. Por exemplo,
alunos pode ser o nome dado ao conjunto de entidades do tipo aluno.
Relacionamento-tipo
um conjunto de relacionamentos da mesma natureza. Isto , um conjunto de
relacionamentos que tenham o mesmo significado semntico. Cursam pode ser o nome
dado ao conjunto dos relacionamentos do mesmo tipo cursa.
Atributo
uma caracterstica (ou propriedade) de uma entidade ou relacionamento.
Exs: nome do aluno, endereo de um cliete, etc. Os atributos so escolhidos de acordo com
os objetivos de cada sistema.
Estudos de caso
a- Considere as informaes a seguir sobre um
sistema de controle acadmico.
1- A aluna Rita da matrcula 0134-9, que mora
na Rua Luez Bastos em Sta. Teresa, cursa Ingls || de
cod=cod1 e carga horria igual a 60 horas.
2- Carlos de matrcula 0158-7, que mora na
Rua Edgar Matos no Flamengo, cursa Mat | de cod=cod3 e carga
horria igual a 80 horas.
3- A professora Carla de cdigo 33-0, que
mora em Itabora, leciona ingls ||, de cod=cod1 e carga
horria igual a 60 horas.
GEEK BRASIL - http:/www.geekbrasil.com.br

4- O professor Rubens de cdigo 44-7, que


mora em Niteri, leciona Mat ||, de cod=cod5 e carga horria
igual a 60 horas.

Objetivos do sistema:
1) gerar um relatrio contendo, para
cada aluno, sua matrcula, seu nome, endereo e
as disciplinas que este cursa e
2) gerar uma listagem contendo para
cada
professor,
seu
cdigo,
nome
e
as
disciplinas que leciona, considerando que um
professor leciona apenas uma disciplina e uma
disciplina s pode ser leciona por um professor.
Interessa saber qual o professor de um
aluno numa determinada disciplina.

GEEK BRASIL - http:/www.geekbrasil.com.br

.0134-9
Rita
Luiz Bastos 74
Sta. Teresa
Cod1
Ingls ||
60 horas

Repetio
de Dados
da Disciplina
Ingls

.0158-7
Carlos
Edgar Matos 8
Flamengo
Cod1
Ingls ||
60 horas

ALUNOS

Ingls ||
Cod 1
60 horas
Mat |
Cod 3
80 horas
Mat ||
Cod5
60 horas
DISCIPLINAS

GEEK BRASIL - http:/www.geekbrasil.com.br

.
. 0134-9

Rita
Luiz Bastos 74
Sta. Teresa

0158-7
Carlos
Edgar Matos 8
Flamengo

.
.
.

Ingls ||
Cod 1
60 horas
Mat ||
Cod 5
60 horas

CURSAM

ALUNOS

Mat |
Cod 3
80 horas

DISCIPLINAS

33-0
Carla
Itabora
44-7
Rubens
Niteri
PROFESSORES

GEEK BRASIL - http:/www.geekbrasil.com.br

.
.
.

Rita

Ingls

Mat ||

Carlos

Mat |

ALUNOS

CURSAM

DISCIPLINAS

.
.
.

Carla
Mrcia
Rubens

LECIONAM

PROFESSORES

b- Sistema

Acadmico

O aluno Joo que entrou em 85 cursou PES em 89.


O aluno Pedro que entrou em 87 cursou Pascal em 88.

Objetivo do sistema: gerar uma listagem contendo


para cada aluno, seu nome, matrcula, o ano em que
entrou e as disciplinas que cursou e em que ano.

GEEK BRASIL - http:/www.geekbrasil.com.br

035115-9
Joo
85
0352-7
Pedro
87
Alunos

01
Pes
02
Pascal
Disciplinas

0351-9

01

Joo
85

Pes

0352-7
Pedro
87

02
Pascal

ALUNOS

CURSARAM

DISCIPLINAS

GEEK BRASIL - http:/www.geekbrasil.com.br

01
Pes

A
B
C
D
E

CURSARAM

ALUNOS

DISCIPLINAS

...

Cdigo

Nome

1000

0351-9*
Joo
85
0352-7
Pedro
87

89
01

ALUNOS

Pes
88
CURSARAM

02
Pascal
DISCIPLINAS

GEEK BRASIL - http:/www.geekbrasil.com.br

c- Sistema de controle de uma associao de


feirantes.
O vendedor Marcos que mora em Tijuca vendeu 1206
abacaxis.
A vendedora Marisa que mora em Vila Isabel vendeu 561
abacaxis.
A vendedora Rita que mora em Copacabana vendeu 1951
jacas.
Objetivo do sistema: gerar uma listagem contendo, para
cada vendedor, seu nome, o Municpio em que mora, a fruta
que vendeu e a quantidade vendida.

01 Marcos
Tijuca

Abacaxi

1206

02
Vila Isabel
03
Rita
Copacabana

002
Jacas

561
1951

001

FRUTAS

VENDERAM
VENDEDORES

se a informao e o objetivo fossem:


O vendedor Heitor vendeu, durante o ms
janeiro, abacaxis no bairro de Copacabana.

de

Objetivo do sistema: gerar uma listagem contendo para cada


vendedor, o nome, a fruta que vendeu, o ms e o bairro.

GEEK BRASIL - http:/www.geekbrasil.com.br

soluo 1:

Lucas

Maro

Heitor

Janeiro

Jaca
Abacaxi

VENDERAM

FRUTAS

FEIRANTES
So
Lus
Copacabana
BAIRROS
soluo 2:

Lucas*

So Lus
*
Maro

Heitor *

Janeiro
*
Copacabana

FEIRANTES

VENDERAM

* Jaca

* Abacaxi

FRUTAS

GEEK BRASIL - http:/www.geekbrasil.com.br

Descrio do Mini-mundo
Deseja-se construir um sistema de ganhos dos
proprietrios de lojas de um novo shopping.
Cada loja, identificada pelo nmero de box e
razo social, possui um ou mais proprietrios, identificados
por nome e telefone. Cada proprietrio recebe os lucros
mensais em funo da participao em cada uma de suas lojas.
Deseja-se construir um sistema que:
registre
a
participao
de
cada
proprietrio em suas lojas
e o lucro mensal recebido de cada
loja, com o objetivo de saber o fator de crescimento
de um determinado ms em relao ao anterior ou o
total recebido no ano corrente.

A loja de box 3am e razo social C&S obteve


um lucro de 30 mil dlares no ms de junho.
Participao (proprietrio, valorporc, loja)
Lucro (loja, valorlucro, meses)

GEEK BRASIL - http:/www.geekbrasil.com.br

3am
C&S
30%

Ricardo

LOJA
PROPRIETRIO

PARTICIPAO

jun

30.000

MESES

PROPRIETRIO

LUCRO

PARTICIPAO

LOJA

nome

nbox
valorporc

LUCRO

cod

razo soc
MESES

valorLucro

numero

GEEK BRASIL - http:/www.geekbrasil.com.br

Notao do MER pelo

Peter Chen

Restries de Integridade
O
modelo conceitual de dados deve conter as restries,
isto , as normas ou leis que regem a realidade em estudo.
Essas restries preservam a integridade desta realidade ao
se automatizar a soluo para o problema.
Por exemplo, uma realidade acadmica, pode sofrer as
seguintes restries: um professor de um determinado curso s
pode lecionar, no mximo, trs disciplinas; um professor s
pode estar lecionando disciplinas para as quais esteja
habilitado; um aluno pode estar matriculado em nenhuma
disciplina e, no mximo, em N=7.
Cardinalidade
Cardinalidade de uma entidade-tipo X o nmero mnimo e
mximo de vezes que uma entidade e da entidade-tipo X pode
estar associado a um relacionamento-tipo R.

ALUNO

0,N

0,N

DISCIPLINA

Cursa

Nome

Nome

Matr

Cod

O MODELO DE DADOS CONCEITUAL COM CARDINALIDADES


0,N
PARTICIPAO

PROPRIETRIO
1,N

LOJA
0,N

nome

nbox
valorporc

cod

LUCRO

GEEK BRASIL - http:/www.geekbrasil.com.brrazo soc


MESES

valorLucro

0,N

RIER-Restrio
Relacionamento

de

PROFESSOR

Integridade

HABILITAO

por

Existncia

de

DISCIPLINA

LECIONA

RINER-Restrio
Relacionamento
Cod

Desc

de

Integridade

O,N
Venda

por

no

O,N
Data-Venda

O,N

Lugar

Reserva

Existncia

Cod

O,N
Data-Reserva.

Nome

Pea de Teatro

GEEK BRASIL - http:/www.geekbrasil.com.br

de um

Venda

0,N

Dt

Mquina

Desc

0,N

Nf
Cliente

0,N

0,N

Cod

Cod-C

Aluguel
Dt-i

Dt-f

Auto-Relacionamento
Uma
entidade de um determinado tipo relaciona-se com uma
entidade do mesmo tipo

DISCIPLINA

PRE-REQUISITO

Entidades Fracas
So entidades que dependem de outras para existir e/ou ser
indentificadas.

Cdigo
Nome
DT-Fundao
Capital

GEEK BRASIL - http:/www.geekbrasil.com.br


BANCO

Entidade associativa ou agregada


Uma entidade dita associativa quando no existe por si s.
Sua existncia est condicionada existncia de duas ou mais
entidades, a partir das quais concebida.
Resulta da associao entre duas ou mais entidades, a partir
das quais concebida.

CODMAT

CODSETOR
DT-CRIAO

SETOR

DT

REQUISIO

DESCRIO

MATERIAL

DEU ORIGEM

PEDIDO GERAL DE
COMPRA

No.PEDIDO
DT-PEDIDO

Uma entidade da Entidade-tipo PEDIDO GERAL DE COMPRA no


deve ser associada nem com SETOR nem com MATERIAL
separadamente, mas com o relacionamento REQUISIO. Neste
caso, este relacionamento tratado como se fosse uma
entidade, chamada entidade associativa ou agregada.
GEEK BRASIL - http:/www.geekbrasil.com.br

Generalizao/Especializao ou Supertipo/Subtipo:

No. SCIO
DT-ASSOC.

SCIO

SCIO
PESSOA-FSICA

SCIO
PESSOA-JURDICA

CPF
NOME
NASC.
SEXO

CGC
RAZO
RAMO

MATRIC.
NOME
NASC.

ENGENHEIRO

SALARIO

REGISTRO-CREA
DT-FORMAO
UNIVERSIDADE

FUNCIONRIO
PILOTO

GEEK BRASIL - http:/www.geekbrasil.com.br

No. HABILITAO
ENTIDADE-EMISSORA
DT-EMISSO

ALTERNATIVA DE NOTAO

EMPREGADO

GOVERNADOR

DE GALINHA

DEPARTAMENTO

ESTADO

REMDIO

EFEITO
COLATERAL

PASSAGEIRO

POLTRONA

GEEK BRASIL - http:/www.geekbrasil.com.br

MINI-MUNDO S PROPOSTO S COMO ESTUDO S DE CASO


1)

Um restaurante necessita de automatizar algumas de suas


atividades. Desta forma, solicitou um sistema que controlasse
o pedido de encomendas feitas pelo cliente, atravs do
telefone, o fornecimento e a compra de ingredientes para
fazer os pratos e a composio de cada prato.
Toda encomenda feita pelo cliente, naturalmente, possui um
nmero para identific-la. Ao fazer uma encomenda, o cliente
informa seu nome, endereo, telefone e os pratos que deseja,
com a respectivas quantidades. Por exemplo, a encomenda 123
do cliente Pedro constituda de 3 saladas mistas e 2
frangos grelhados simples. Cada prato possui o seu preo
unitrio.
Um dos objetivos do sistema registrar para cada prato, os
ingredientes que o compem, com as respectivas quantidades.
Ou seja, um pudim composto de duas latas de leite
condensado.
Outro objetivo gerar uma listagem, contendo para cada
fornecedor, os ingredientes que fornece. E, tambm, interessa
que seja gerado um relatrio contendo, para cada encomenda, o
nome do cliente, o endereo, o telefone e os pratos pedidos
com as respectivas quantidades e preos. O sistema deve
registrar a compra de ingredientes, guardando o nmero da
nota fiscal, a quantidade comprada de cada ingrediente, a
data de compra e o nome do fornecedor, a fim de contabilizar
o custo com a compra de ingredientes.
GEEK BRASIL - http:/www.geekbrasil.com.br

2)

Numa empresa que deseja automatizar algumas de suas


atividades, existem duas categorias de pessoas: os empregados
e os dependentes destes empregados. Os empregados, por sua
vez, podem ser classificados como assalariados, permanentes e
temporrios. Todos os empregados so cadastrados com nome,
endereo, telefone do escritrio e salrio. Dos assalariados,
interessa guardar o nvel de salrio e o nvel de
bonificao. Do empregado permanente, interessa guardar seu
ttulo e do temporrio, de onde veio e quando tempo est
emprestado. Somente os empregados permanentes podem chefiar
um
departamento,
mas
todos,
obrigatoriamente,
esto
vinculados a um. Um empregado pode supervisionar outro e
todos os empregados, de alguma maneira participam(trabalham
em projetos). Todo projeto tem um gerente, que pode ser
qualquer empregado.
Os objetivos do sistema so: 1)gerar uma listagem contendo,
para cada departamento, seu cdigo, nome, o nome e endereo
de seus empregados; 2)gerar uma listagem contendo, para cada
departamento, o nome de seu chefe, com a data em que iniciou
na chefia; 3)gerar um relatrio, contendo para cada projeto,
seu cdigo, nome, data de incio, durao provvel em meses,
o nome do gerente e os empregados que trabalham no mesmo e
4)gerar
uma
listagem
contendo,
para
cada
empregado
temporrio, seu nome, telefone , de onde veio e a data de
incio do seu emprstimo e quanto tempo deve ficar
emprestado, para se ter uma idia de quanto tempo mais
podemos contar com ele na empresa.

GEEK BRASIL - http:/www.geekbrasil.com.br

A IMPORTNCIA DA MODELAGEM DE DADOS E DA ANLISE


DAS FUNES

Perda de Informao

Suponha que se tenha modelar um sistema acadmico com o


objetivo de saber para um determinado aluno, as disciplinas
que cursa e com que professor ele.

SE
por apenas
disciplina.

a situao for: uma disciplina lecionada


um

professor

um

professor

GEEK BRASIL - http:/www.geekbrasil.com.br

leciona

uma

aluno

professor

disciplina
cursa

SE

leciona

situao

for:

uma

disciplina

pode

ser

lecionada por vrios professores, mas um professor leciona


apenas uma disciplina. Neste caso, suponha que se queira
aproveitar o modelo de dados acima:

perda de informao: no com que professor A cursa a disciplina D


A

ALUNO

D
D

CURSA

DISCIPLINA

P1
P2

COM

PROFESSOR

Soluco:

aluno

cursa com

disciplina

professor
leciona

GEEK BRASIL - http:/www.geekbrasil.com.br

SE

for a situao em que: um professor pode

lecionar vrias disciplinas e uma disciplina pode ser


lecionada por vrios professores.
Neste caso, tambm, suponha que se queira aproveitar o modelo
de dados anterior: ocorrer a perda de informao: no se
saber qual a disciplina que o aluno fez. Ento, a soluo
ser um relacionamento triplo.
perda de informao: no com que professor A cursa a disciplina D
A

ALUNO

P
D

d1
d2

CURSA PROFESSOR LECIONA DISCIPLINA

Soluo:
aluno

cursa com

professor

disciplina

Restries de Integridade e Operaes


OPERAES sobre o Modelo de Dados: incluso
excluso
GEEK BRASIL - http:/www.geekbrasil.com.br

consulta
alterao
1.Cardinalidade e operao de incluso de entidades
min igual a O: no precisa criar relacionamento.
Exemplo:

insDisciplina(ent:codDisc:t-cod,
nomeDisc:t-nome,
chDisc:t-ch;
sai:codRet:{ok, disciplina j existe}
)
descrio: verificar se a disciplina existe. Se no existir,
incluir a disciplina com os atributos fornecidos como
entrada.
min # 0 :tem que criar relacionamento

Exemplo:inserir proprietrio do sistema de shopping

insProprietrio(ent:codProp:t-cod,
nomeProp:t-nome,
endProp:t-end,
porcent:t-port,
codLoja:t-loja ;
sai:codRet:{ok, proprietrio j existe,
loja no existe}
)

GEEK BRASIL - http:/www.geekbrasil.com.br

descrio: verificar se o proprietrio existe. Se no


existir, verificar se a loja existe. Se existir, incluir o
proprietrio com os atributos fornecidos como entrada e criar
o relacionamento do tipo participao entre o proprietrio e
a loja fornecidos.
2.Cardinalidade

e a excluso de entidades

min igual a O ou 1, com a entidade associada com min igual a


0: desfazer os relacionamentos e excluir apenas a entidade em
questo.
Exemplo:excluso disciplina de um sistema acadmico.

excDisciplina(ent:codDisc:t-cod,

sai: codRet:{ok, disciplina no existe}


)

descrio: verificar se a disciplina existe. Se no existir,


verificar se existem relacionamentos, se existirem, desfazlos e excluir a disciplina, cujo cdigo foi fornecido.

min igual a O ou 1, com a entidade associada com min igual a


1: verificar se tem que excluir as entidades que esto
associadas, depois de desfazer relacionamento e, por fim,
excluir a entidade em questo.
Exemplo:excluir loja do sistema de shopping

excLoja(ent:codLoja:t-cod;sai:codRet:{ok, loja no existe})


descrio: verificar se a loja existe. Se existir, verificar
se existem relacionamentos do tipo lucro. Se existirem,
desfaz-los. Verificar se existem relacionamentos do tipo
GEEK BRASIL - http:/www.geekbrasil.com.br

participao. Se existirem, para cada proprietrio associado


loja em questo, verificar se ele tem mais de um
relacionamento
desse
tipo.
Se
tiver,
desfazer
o
relacionamento. Do contrrio, desfazer o relacionamento e
excluir o proprietrio em questo. Ao final, excuir a loja
cujo cdigo fornecido com entrada.
3.RIER e RINER e as operaes:
Exemplo: considere o modelo de dados em que um professor tem
possuir habilitao em uma disciplina para poder lecion-la.

PROFESSOR

HABILITAO

DISCIPLINA

LECIONA

insLeciona(ent:codDisc:t-cod,codProf:t-prof;
sai: codRet:{ok, disciplina no existe, professor
no existe, habilitao no existe})
descrio: verificar se o professor existe. Se existir,
verificar se a disciplina existe. Se existir, verificar se
existe relacionamento do tipo habilitao. Se existir,
incluir
o
relacionamento
leciona
entre
professor
e
disciplina.

GEEK BRASIL - http:/www.geekbrasil.com.br