Escolar Documentos
Profissional Documentos
Cultura Documentos
Araújo 1 Araújo 2
Araújo 3 Araújo 4
... Introdução ... ... Introdução ...
Modelo de dados Mundo real Abstração Modelo de dados
• Conjunto de conceitos que descrevem a estrutura e as
operações de um banco de dados Projetos Aloca Funcionários
• Representa o entendimento que se faz a respeito de
entidades do mundo real
Fornece Lota
• Modelo de dados é uma representação abstrata e
simplificada dos objetos do mundo real adequada às
aplicações que usarão o banco de dados
Produtos Fornecedores Departamentos
Araújo 5 Araújo 6
ed TrialPedido
Version ItemDoPedido
1..*
Araújo 13 Araújo
ed Trial Version 14
Araújo 15 Araújo 16
... Conceitos de OO ... ... Conceitos de OO ...
...Tipos de Método: ...
Tipos de Método: ... (Método–implementação de
class Livro { // sem encapsulamento
Operação)
String nmLivro; // atributos
Construtor (do tipo NEW) String nmAutor;
• Tem o mesmo nome da classe }
• É executado quando um objeto é criado public class TestLivro { // classe p/ testar Livro
public static void main (String [ ] args) {
• Usualmente inicializa variáveis de objeto Livro lv = new Livro(); // lv-nova instância de Livro
Destrutor (do tipo DELETE) lv.nmLivro = ("O Guarani");
• É executado quando um objeto é destruído lv.nmAutor = ("José de Alencar");
• Usado para liberar recursos do sistema (RAM) System.out.println("Nome Livro = " + lv.nmLivro);
System.out.println("Nome Autor = " + lv.nmAutor); }
• Nem todas LPOO suportam }
Araújo 17 Araújo 18
Araújo 23 Araújo 24
... Conceitos de OO ... ... Conceitos de OO ...
...MENSAGEM... ...MENSAGEM
• Meio através do qual um objeto Ob1 pede a outro • Formato de mensagem:
objeto Ob2 que execute uma de suas operações objDestino.oper (argsEntrada, out argsSaida)
• Para enviar mensagem a Ob2, Ob1 deve saber: Ex.: produto.obterPreco(), conta.depositar(val)
- o OID de Ob2 (armazenado em uma variável)
- o nome da operação de Ob2 a ser executada • Notação UML objeto
- os argumentos necessários à execução da oper.
obterPreco ( )
it:ItemNF p:Produto
Cliente obtervlNF( ) NotaFisc obtervlLinNF( ) LinNF
• call obter vlNF (nf) – seria o equivalente não OO obterPreco () é uma operação da classe Produto
Araújo 25 Araújo 26
Araújo 33 Araújo 34
Araújo 35 Araújo 36
... Conceitos de OO ... ... Conceitos de OO ...
Definição da classe Conta
... CLASSE X OBJETO
class Conta {
Instanciação // definindo atributos
String nrCta;
double vlSld;
Classificação
// definindo métodos
void Creditar (double val) {vlSld = vlSld + val;}
Classe Objetos void Debitar (double val) {vlSld = vlSld - val;}
}
Araújo 37 Araújo 38
Araújo 49 Araújo 50
Araújo 67 Araújo 68
Modelagem OO ... ... Modelagem OO ...
• A modelagem tradicional tende a quebrar os Por que OO?
objetos para facilitar a implementação • Linguagem do pessoal de TI coincide com a
• A modelagem OO mantém a mesma linguagem do usuário: ambas tratam de objetos
representação de alto nível da aplicação, da do mundo real
análise à implementação. • A modelagem OO fornece uma representação
• BD visto como uma coleção de objetos mais natural do mundo real
complexos inter-relacionados • Do mundo real à máquina não precisa mudar
notação de modelagem (mapeamento)
• Facilita reuso e manutenção
Araújo 69 Araújo 70
... Modelagem OO
Análise de Sistemas Tradicional
• Possibilidade de reuso dos objetos em mais de
uma aplicação Perspectiva dos Dados Perspectiva dos Processos
- MER - Análise dos requisitos
• A análise de sistemas OO é basicamente uma - MER Æ MR - DFD
técnica de abstração para identificação de - Esquema Relacional - Codificação
classes de objetos e os relacionamentos entre
elas que permitem a troca de mensagens entre
os objetos para a realização das funcionalidades DD integra as
duas perspectivas Dicionário de Dados
e mantém a con- - Repositório de Informações
- Preservação de Consistência
sistência
Araújo 71 Araújo 72
Análise de Sistemas OO ... ...Análise de Sistemas OO...
Identificação de Casos de Uso
Perspectiva da Orientação a Objeto • Identificar as funcionalidades (requisitos funcionais)
do sistema que serão descritas e implementadas
- Identificação de Casos de Uso através dos Casos de Uso (seqüência de operações)
- Identificação de Objetos e seus Atributos • Ex.: matricular aluno numa disciplina,
- Identificação de Relacionamentos trancar matrícula,
- Identificação das Operações de cada Objeto alterar cargo do funcionário,
transferir funcionário entre departamentos
Araújo 73 Araújo 74
Araújo 79 Araújo 80
... Análise de Sistemas OO Introdução a UML ...
O modelo de caso de uso:
Relacional Orientado a Objeto
FUNC(nom, dtnasc, sal) • documenta o comportamento de um sistema,
PESSOA(nom, dtnasc)
• morrer isto é, suas funcionalidades
• morrer
• casar • casar • mostra as funções do sistema (casos de uso)
• receber salário • mostra o ambiente externo ao sistema (atores)
FUNC(salario)
ALUN(nom, dtnasc, nota)
• receber salário • exibe os relacionamentos entre atores e casos
• morrer
ALUNO(nota) de uso (diagrama de casos de uso)
• casar
• ser avaliado (6 proc) • ser avaliado (4 proc)
Araújo 81 Araújo 82
Araújo 83 Araújo 84
... Introdução a UML ... ... Introdução a UML ... P ed ido
P a gam e nto
DIAGRAMA DE CONTEXTO
Identificação de atores (entidades externas) De v oluç ão
P ed ido ao
Fo rn ec e do r
C lie nte
tarefas? F atu ra d o
1
E ntr ad a
F a tur a do
F o rn ec e do r
C om pr a
Araújo 91 Araújo 92
... Introdução a UML ... ... Introdução a UML ...
Caso de uso PROCESSAR PEDIDO (descrição sucinta) Casos de uso
• Descrição • Na fase exploratória do projeto, caso se deseje
– Inicia quando um cliente faz um pedido
– Efetua os procedimentos necessários para registro e atendimento usar Análise de Pontos de Caso de Uso para
de um pedido estimar o tamanho do software, é necessário
– Termina quando o vendedor completa o atendimento (a sessão)
do cliente identificar os cenários de cada caso de uso,
• Pré-condição conforme modelo a seguir
– Vendedor se loga ao sistema
Cenários são caminhos (seqüências de ações)
• Pós-condição
– Pedido é gravado no sistema possíveis num caso de uso
– Estoque é atualizado
Araújo 93 Araújo 94
Araújo 95 Araújo 96
... Introdução a UML ... ... Introdução a UML ...
• Cliente faz pedido ( Evento da Análise Essencial) • Cliente faz pedido ( Evento da Análise Essencial)
3 2
Cliente Processar Pedido 1
1 4 ... 7
2 3 3e 2e
Cenários
Cenários
1 – Cliente solicita produtos pagando no crediário sem entrada
1 – Cliente solicita produtos pagando no crediário sem entrada
2 – Cliente solicita produtos pagando com cartão de crédito 2 – Cliente solicita produtos pagando com cartão de crédito
3 – Cliente solicita produtos pagando com cheque pré-datado 2e– Cliente solicita produtos pagando com cartão de crédito bloqueado
4 – Cliente solicita produtos pagando ... 3 – Cliente solicita produtos pagando com cheque pré-datado
3e – Cliente solicita produtos pagando com cheque pré-datado, no SERASA ...
Araújo 97 Araújo 98
Rational
Araújo 99 Araújo 100
... Introdução a UML ... ... Introdução a UML ...
• Fluxo de eventos – sucessão de ações que Fluxo de eventos do caminho principal do caso de
uso PROCESSAR PEDIDO ...
ocorrem durante a realização de um caso de
• Pré-condições
uso ou de um cenário
– Vendedor se loga
• Na fase evolutiva, em tempo de análise • Fluxo ...
detalhada, vale a pena descrever fluxo de – Cliente informa seu número de cliente ou CPF ou
eventos para os cenários dos casos de uso, nome e data de nascimento
conforme modelo a seguir. – Sistema identifica o crédito do cliente como OK e o
respectivo valor disponível para compra no crediário
Encerrar Exercício
Araújo 109 Araújo 110
Exibir Call Id
Inicializar o Sistema Fazer Ligação Telefônica Destino1 Fazer Conferência
Caso de uso concreto Caso de uso abstrato Caso de uso concreto Caso de uso abstrato
<<Realiza>>
Colaboração EA 6.5 Unregistered Trial Version EA 6.5 Unregistered
representa os Efetuar pagamento
Transferir Dinheiro Colaboração Transferir Diagramas de Emitir Extrato EA 6.5 Unregistered Trial Version EA 6.5 Unregistered
Sacar dinheiro
Dinheiro Classe e de executado 300 EA 6.5 Unregistered Trial Version EA 6.5 Unregistered
Sequência vezes por dia
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered
<<entity>>
Cliente
C liente +por dia Efetuar transferencia
<<control>>
CtlTrf
(from Logical View) Cliente Emite EA 6.5300
Unregistered Trial Version EA 6.5 Unregistered
nrCli
<<boundary>>
iniciarTrf()
nmCli
dsU serID
2 Extratos por EA 6.5 Unregistered Trial Version EA 6.5 Unregistered
FrmTrf
habilitarC tas()
transferir()
password
ctasC li
mês
verifD isponib() EA 6.5 Unregistered 2Trial Version Consultar
EA 6.5saldo
Unregistered
confirmarTrf() obte rCta sCli() +por mês
<< entity>>
sldCta Fronteira EA 6.5 Unregistered Trial Version EA 6.5 Unregistered
LogTrf
obterSld()
debitarTrf ()
gravarLo g()
Araújo creditarTrf () 123 Araújo EA 6.5 Unregistered Trial Version EA 6.5 Unregistered 124
... Introdução a UML ... ... Introdução a UML ...
Granularidade dos Casos de Uso Hotel
Cadastrar Hóspede
• Casos de uso não devem ser muito pequenos Registrar Despesa
Estornar Despesa
nem muito grandes, devem ter o tamanho
suficiente para produzir um resultado de valor Fazer Reserva
<<extend>>
<<extend>> • Registram o que o sistema deve fazer
Usuário <<include>>
• São úteis durante todo o ciclo de desenvolvimento
<<extend>> do sistema: análise, projeto, implementação, teste
Encaminhar mensagem documentação
<<extend>>
Ler Mensagem
Araújo Desencriptar Mensagem 127 Araújo 128
... Introdução a UML ... ... Introdução a UML ...
Objeto
Desenvolvimento Dirigido por Caso de Uso
• é a representação de uma entidade
• pode representar algo concreto (veículo, cliente, produto) ou um
conceito (pedido, transação bancária, histórico escolar)
Casos Classes de Classes de Código Executáveis
De Uso Análise Projeto Fonte
• possui as características: atributos (dados), comportamento
(operações), estado e identidade
• encapsula dados e comportamento
Exemplos de objetos
Num sistema de recursos humanos:
• funcionário, departamento, dependente, projeto, cargo, ...
Num sistema de controle acadêmico:
• aluno, histórico escolar, professor, turma, disciplina
ofertada, ...
Componentes
Araújo 129 Araújo 130
satisfeitos
• Informar se faltar algum pré-requisito <<entidade>>
+motorista
Pessoa Empresa
funcionário empregador
Pessoa +empregado +empregador Empresa
0 ..* 1
emprega
Historico Leitura
Classe
nota, período Associativa Classe associativa
Araújo 163 Araújo 164
... Introdução a UML ... ... Introdução a UML ...
Relacionamento quaternário Classe e Interface (operações abstratas) em UML
<<estereótipo>> << classe>> << interface>>
Cliente Funcionario NomeDaClasse Pessoa IPessoa
Atributo de Classe qtPessoas
+ Atrib Publico + cdPessoa
- Atrib Privado - nmPessoa
Aplicacao Tarefa # Atrib Protegido # dtNascPessoa
Operação de Classe obterQtPessoas obterQtPessoas
+ Oper Publica + getnmPessoa() + getnmPessoa()
OrdemServ - Oper Privada - getcdPessoa() + getcdPessoa()
Classe associativa # Oper Protegida # setnmPessoa() + setnmPessoa()
Araújo 165 Araújo 166
ProPed Produto
Cliente Pedido qtd cdP
cli : Cliente val dsP
5: Selec ionaLeitor
6: SelLeitor
Anônimo – não recebe um nome específico : Cliente 7: ValidarLeitor
8: SelLivro
13: AltStLeitor
14: AltStLivro
opcao Trf
: FrmTrf : C tlTrf : C liente : C onta : LogTrf
transferir( )
obterS ld( )
• O topo do retângulo indica o início da execução da verifD isponib( )
da operação confirmarTrf( )
debitarTrf( )
l VAraújo
i EA 7 1 U i t dT i 201 Araújo 202
: ProcCredit
Script : Cli : frmCred : SistCartCred : fr mConfir m fr mNe ga cao
entrDadosCred( )
verCred( )
ve rifCr ed ( )
se cred O K
marcarAssento( )
exibirLocalizador( )
confirma( )
se cred n O K negarCredit( )
EA 6.5:Aluno
Unregistereda:Aluno
Trial Vers
EA 6.5 Unregistered
Instância não Trial Vers
Instância da
identificada da classe Aluno com
classe Aluno o nome a
EA 6.5 Unregistered Trial Vers
Araújo 205 Araújo 206
EA 6 5 Unregistered Trial Vers
alunos:ArrayList<Aluno> alunos[i]:Aluno
Version EA 6.5 Unregistered Tria
registered
opM1 Trial Version
opN1 EA 6.5 Unregistered T
loop
registered Trial Version EA 6.5 Unregistered T
[x < 20] opP1
<<entity>>
4 : novo curso Mensagem de:
Usuario
oCurso : :ctlCurso . Ator para um form não define
usu : char
Curso senha : char uma operação no form
. Form para objeto de controle
validarUsu(usu : char, senha : char) : boolean
define operação neste
Araújo 213 Araújo 214
Pseudoestado
Superestado Histórico (armazena
último subestado)
Araújo 225 Araújo 226
a transição ocorrer
Araújo 227 Araújo 228
... Introdução a UML ... ... Introdução a UML ...
Intercalação Fim
Junção Encerrar
Araújo Pedido 233 Araújo 234
Escolher
Contato
Atualizar
Es toque
Araújo 237 Araújo 238
Para estimar tempo usando UCPA... ...Para estimar tempo usando UCPA
Caso de uso PROCESSAR PEDIDO... ...Caso de uso PROCESSAR PEDIDO
• Caminho (cenário) principal • Caminhos de exceção
– Cliente solicita produtos com pagamento no – Cliente solicita produtos com pagamento com cartão
crediário, sem entrada e este está bloqueado
• Caminhos alternativos – Cliente solicita produtos com pagamento no crediário,
– Cliente solicita produtos com pagamento via cartão mas está registrado no SPC
– Cliente solicita produtos com pagamento no – Cliente solicita produtos com pagamento com cheque
crediário com entrada pré e tem registro de cheque devolvido
– Cliente ... com pagamento via cheque pré-datado
Araújo 267 Araújo 268
... O Método ... ... O Método ...
Diagrama de Classes ...
• A fase evolutiva consiste de iterações de • Determinar que casos de uso farão parte de
desenvolvimento que devem durar de duas a cada iteração de desenvolvimento na fase
oito semanas cada uma evolutiva (um caso de uso pode ser feito,
• Cada iteração tem as etapas de análise, parte em uma iteração, e parte noutra iteração)
projeto, programação e teste e ao final é
liberada para o usuário final ou só internamente • Estimar o tempo gasto para liberação de cada
iteração de desenvolvimento (entre duas e oito
• Nas iterações iniciais incluir casos de uso que semanas cada uma)
oferecem riscos tecnológicos e os de maior
retorno para a organização
Araújo 287 Araújo 288
... O Método ... ... O Método ...
... Planejamento da Fase Evolutiva ...
• Iteração 01 (4 semanas) • Iteração 03 (2 semanas)
– Registrar venda à vista – Receber pagamento de
prestação Fase Exploratória Fase Evolutiva
– Calcular comissão de
vendedores – Agendar pagamento de 9 Declaração de Objetivos Várias iterações com:
– Receber mercadoria duplicata
(atualiza estoque mas não – Registrar pagamento de 9 Diagrama de Casos de Uso ¾ Análise
verifica pedido de compra) duplicata 9 Diagrama de Classes
• Iteração 02 (3 semanas) • Iteração 04 (3 semanas)
• Projeto
– Aprovar crédito de cliente – Registrar cliente no SPC
9 Ambiente tecnológico • Programação
– Registrar venda a prazo – Regularizar cliente no SPC 9 Planejamento da fase
(contrato) evolutiva • Teste
– Emitir sugestão de compra
– Receber mercadoria
(verifica pedido de compra)
frmRecMerc : :Produto
: Almoxarife RecebMerc
1 : Abrir
2 : Consulta Produtos
3 : Seleciona Produto
4 : Obter Produto
5: Qtd. Entrada
6: Calc. Estoque. Atual
7 : Confirmar
8 : Atualizar estoque
VOPC LogTrf
obterSld()
debitarTrf ()
gravarLo g() creditarTrf ()
Araújo 317 Araújo 318
Alternativa 3
CONTR(idC, endereco, cpf, nome, dtNasc, cnpj, razaoSocial, tpContr)
Araújo 325 Araújo 326
Classe Associativa 1 +lider 0..1 Fazer projeto final da interface com o usuário
Func
Proj
ma t
nmP
nome
ver ba
d tAd m 0..n 1..n
Trabalha
ca rg aHor
PROJ (idP, nmP, verba, idLider) remun
FUNC (idF, mat, nome, dtAdm)
TRABALHA (idT, idF, idP,cargaHor, remun)
Araújo 329 Araújo 330
METÁFORAS CONSISTÊNCIA...
• Metáforas ajudam ao usuário a utilizar a IU • Mesmas cores
• Exemplo de metáfora: uma lente de aumento • Mesmo significado para ícones
como ícone é uma bela metáfora para indicar
como dar um zoom • Mesmo significado para atalhos
• Uma metáfora mal escolhida é pior que nenhuma • Mesmos nomes para rótulos de campos
metáfora • Mesma posição para mensagens de erro
• My Briefcase (ícone do Windows 95) não é uma • Mesma posição de botões em todas as páginas
boa metáfora
...CONSISTÊNCIA... ...CONSISTÊNCIA...
• Consistência facilita treinamento e operacionalidade da IU • Consistência tem a ver com modelo mental do
• Exemplo de falta de consistência para encerrar usuário coincidir com o do software: daí a
programas:
facilidade de aprendizagem e uso
– q!
– [CTRL] + X • A criatividade dos projetistas de IU conspira
– [CTRL] + C contra a consistência
– F3 • Usar padrões em IU significa consistência:
– quit não vale a pena reinventar a roda
– stop
• Testar a codificação produzida na etapa • Teste de Unidade – testa unidade que é formada por
chamadas de métodos e de dados de entrada e saída
anterior • Teste de Integração – verificação após a integração de
• Integrar o código testado ao já existente de um novo módulo a módulos testados anteriormente
• Teste Estrutural (caixa branca) – verificação dos
iterações anteriores diversos caminhos (fluxos) em um programa
• Teste Funcional (caixa preta) – verificação da
• Fazer testes de integração implementação de atendimento a requisito funcional
• Desenhar Diagrama de Componentes • Teste de Sistema – verificação completa do sistema
após os demais testes
• Desenhar Diagrama de Implantação • Teste de Stress – verificação do funcionamento do
sistema em situações limite (dados, usuários,...)
páginas client e
Trial Version EA 7.1 Unregiste
PlacaMae
server para <<DLL>> classes:Cliente,
Servidor Imonitor
procurar vôo e Vôo, ListadoVôo Iteclado
DeVôo
exibir dados ...
Trial Version EA 7.1 Unregiste
Araújo 349 Araújo 350
• Elementos do diagrama: nós e conexões < < TCP /IP > >
WE B S e rv e r
S Q l Se r ve r 2 00 0
Araújo 351 Araújo M a trícu l a 352
... O Método Diagrama de Estrutura Composta
... Teste EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial V
class Diag Classe
Ve rifica Cre d
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial V
Araújo 353 Araújo 354
Sinal de Trânsito
Trial Version
Ini EA 7.1 Unregistered Trial Version EA 7.1 Unregistered EA 7.1 Unregistered
Verde
Trial Version
Amarelo
EA 7.1 UnregisteredVerde
Vermelho
Trial Version EA 7.1Vermelho
Amarelo
Unregistered T
[Cli Cadastrado]
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered T
Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered
Seg 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135
1 40
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered T
ref
Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered
Fazer Pedido EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered T
sd Tempo
Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered T
Sinal de Trânsito
Verde
Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered T
Amarelo
Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered T
Vermelho
Fim Seg 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135
1 40
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered T
Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered
Araújo 355 Araújo 356
Breve Resumo ... ... Breve Resumo ...
Técnicas OO - quando usar ... ... Técnicas OO - quando usar ...
Diagrama Para examinar o comportamento de vários objetos num
Diagrama de Na definição do escopo da aplicação de caso de uso
Casos de Uso Na captura de requisitos Interação Para identificar a colaboração entre os objetos
No planejamento e controle de um projeto iterativo
Diagrama Em diagramas de classe que não cabem em uma folha
de Pacotes A4
Diagrama de Na fase exploratória Em grandes projetos, para subdividir em subsistemas,
Classes Na fase evolutiva, em tempo de análise por exemplo
Ao desenhar modelos de especificação Diagrama Para descrever o comportamento de um objeto ao
Ao desenhar modelos conceituais de Estado longo de vários casos de uso
Para modelar objeto dotado de comportamento muito
dinâmico
Araújo 357 Araújo 358
Exercício 1 Exercício 2
1. A seu ver, as maiores vantagens em se adotar a Orientação a Relacionar as principais propriedades (atributos) e operações, para:
Objeto são... Veículo
Propriedades... Operações...
2. O que você entende por:
Carteira de Habilitação
a) Encapsulamento ... Propriedades... Operações...
Guarda de trânsito
b) Polimorfismo ... Propriedades... Operações...
Exame
c) Herança ... Propriedades... Operações...
Infração
Propriedades... Operações...
Exercício 5 Exercício 6
1. Após definir e implementar uma classe M, surgiu uma classe N Na informatização de uma biblioteca é necessário registrar as datas
idêntica (mesmas operações e atributos de M) tendo a mais apenas de empréstimo e de devolução dos livros. É preciso ainda poder
localizar os livros consultando por autor, título, editora, assunto
novos três atributos e três operações. A forma mais racional de principal. Deve ser armazenado um resumo de cada livro com até 200
aproveitar M na implementação de N, sem duplicar esforço de caracteres. Os periódicos não são emprestados. Devem-se controlar
desenvolvimento, é a característica OO : as reservas de livros. Deseja-se poder responder às questões:
. Que periódicos são referenciados pelo periódico P?
( ) agregação ( ) encapsulamento . Quais os autores do livro L?
( ) herança ( ) ocultação de informação . Quais os livros cujo assunto principal é Banco de Dados
2. Numerar a coluna da direita conforme a da esquerda: relacional?
1. Classe ( ) :Aluno . Que livros são referenciados pelo periódico P?
. Quais os autores do periódico P?
2. Um dado objeto ( ) José Carlos Aparecido da Silva e Lima Desenhar um diagrama de casos de uso para o enunciado acima.
3. Objeto ( ) oAluno : Aluno Desenhar um diagrama de classe para o enunciado acima.
( ) Aluno
Araújo 367 Araújo 368
Exercício 7 Exercício 8
1. Numerar a coluna da direita conforme a da esquerda: 1. Numerar a coluna da direita conforme o número do diagrama da
1. Ator ( ) Instância de caso de uso esquerda:
2. Caso de uso ( ) Departamento de compras 1. Classe ( ) modela a interação entre objetos
3. Cenário ( ) Entidade externa 2. Seqüência ( ) modela a parte estática da aplicação
2. São estereótipos de classe em tempo de análise... 3.Caso de Uso ( ) modela o comportamento de um objeto
4. Estado ( ) modela a funcionalidade da aplicação
3. São estereótipos de relacionamentos entre casos de uso... 2. Um atributo derivado (nome iniciado por /), significa uma
redundância.... (F/V)
4. Num sistema de contabilidade, dar exemplos de: 3. Numa classe Pedido, numerar a coluna da direita conforme a da
1. Atores... esquerda:
2. Casos de uso... 1. vlPedido ( ) atributo de classe
3. Classes de entidade... 2. qtdDePedidos ( ) atributo de instância
4. Classes fronteira (relatórios)... 3. obterVlPedido ( ) operação de classe
5. Classes fronteira (telas)... 4. obterQtdDePedidos ( ) operação de instância
Araújo 369 Araújo 370
Exercício 9 Exercício 10
Uma aplicação controla as despesas de viagens feitas pelos 1. Cenários são melhor documentados via...
funcionários de uma empresa a partir de relatórios que registram as 2. Fluxo de evento é documentado via...
despesas. Cada relatório compõe-se de uma ou mais linhas de despesa 3. Multiplicidade é...
com data, tipo de despesa (táxi, refeição, ...) e valor. Cada linha contém
apenas um tipo de despesa. Os funcionários têm um limite máximo de 4. Identificar os caminhos (cenários) do caso de uso Alugar Fitas numa
despesas por relatório (viagem). Há limite também por tipo de despesa Locadora de vídeo.
para cada funcionário (Ex.: funcionário X pode gastar um máximo de R$ 5. Numerar a coluna da direita conforme a da esquerda:
100,00 com táxi numa viagem). Alguns tipos de despesa têm um limite 1. Agregação ( ) discriminador
que vale para todos os funcionários (Ex.: o máximo valor gasto com 2. Generalização ( ) uma empresa tem funcionários
refeição por qualquer funcionário é R$ 500,00). Cada relatório, após 3. Associação ( ) uma nota fiscal tem itens da nota
preenchimento, pode estar em um dos estados: aguardando aprovação, 6. Numerar a coluna da direita conforme a da esquerda:
aprovado ou rejeitado. Funcionário preenche relatório de despesas de 1. Caso de uso ( ) Caminho através do fluxo de eventos
viagem via web e seu gerente aprova ou rejeita relatório de despesas de 2. Ator ( ) Processo
viagem via web. Desenhar DCU e DCL. 3. Cenário ( ) Aplicativo
Araújo 371 Araújo 372
Exercício 11 Exercício 12
Uma empresa de confecção de médio porte fabrica calças, camisas, bermudas, bonés, cuecas, ... As
vendas são efetuadas por representantes da empresa que fazem pedidos para cada loja. Um representante 1. Marcar com V os tipos de relacionamentos válidos num diagrama de
atende a várias empresas e cada empresa tem várias lojas. Uma empresa é atendida por um único classes e com F os inválidos:
representante. É necessário saber a quantidade em estoque na indústria, de cada produto, de cada cor e cada ( ) associação ( ) agregação ( ) generalização
tamanho, isto é, ao tirar um pedido via Internet, de 12 calças de linho branco tamanho 42, um representante ( ) dependência ( ) realização ( ) comunicação
deve saber se há esta quantidade disponível para imediato atendimento. O representante pode também 2. O relacionamento Generalização pode existir entre:
cancelar um pedido ou consultar a posição do mesmo. O lojista também pode consultar a posição de seus
pedidos, vendo via Internet, as datas de solicitação, de expedição e de previsão de chegada à loja, além do
( ) classes ( ) atores ( ) casos de uso
status atual do mesmo (cancelado, expedido, solicitado). Um pedido só é expedido para a loja cliente quando ( ) pacotes ( ) interfaces ( ) relacionamentos
todos os itens desse pedido estiverem disponíveis. Este site fica numa máquina fora da rede da indústria, 3. Realização pode haver entre:
havendo troca de arquivos entre o servidor da rede da indústria e o servidor de banco de dados do site, duas ( ) classe e interface ( ) classes
vezes por dia. Do site para o servidor da indústria são enviados os dados de pedidos efetuados pelos ( ) pacote e interface ( ) componente e interface
representantes enquanto da indústria para o site são enviados dados de preços, novos produtos, quantidade
disponível de itens em cada cor e tamanho, além da expedição de pedidos. O industrial pode consultar via
( ) caso de uso e realização de caso de uso
Internet, enquanto viaja: - 4. Numerar a coluna da direita conforme a da esquerda:
- resumo dos pedidos feitos (quantidade e valor), por representante, por mês 1. Diagrama de seqüência ( ) núm. de seqüência nas mensagens
- resumo dos pedidos feitos (quantidade e valor), por empresa, por mês 2. Diagrama de comunicação ( ) controle de foco
- resumo dos pedidos feitos no mês atual (quantidade e valor) por status 3. Diagrama de classe ( ) dependência
Desenhar um Diagrama de Casos de Uso e um Diagrama de Classe ( ) linha da vida
Exercício 13
1. Um atributo estático é compartilhado por todas as
instâncias da classe... (F/V)
2. O diagrama de atividade também é usado pelas
ferramentas CASE para geração de código... (F/V)
3. Uma classe que só tem associações unidirecionais
chegando nela, é bem mais reusável... (F/V)
4. O que poderia haver de errado numa hierarquia de
classes, com superclasse Carro e subclasses Pneu e
Porta?
5. Identificar os caminhos (cenários) do caso de uso
Matricular um Aluno numa Disciplina num Sistema de
Controle Acadêmico de uma universidade.
Araújo 375