Escolar Documentos
Profissional Documentos
Cultura Documentos
Caso de uso
Ator
Definio de Ator
Vrias pessoas podem ser representadas por um nico ator
Definio de Ator
Uma pessoa pode atuar como mais de um ator
Definio de Ator
Ator
Ator
Considere um sistema de uma faculdade. Existem dois tipos de pessoa que operam o sistema: O administrador do sistema e a secretria. O aluno no interage diretamente com o sistema. por intermdio da secretria que o aluno faz solicitaes. Entre elas, o aluno pode pedir o histrico escolar e o relatrio de faltas por disciplina. Os professores tambm interagem diretamente com o sistema, lanando as notas e faltas dos alunos. Ao administrador, permitido cadastrar cursos, professores, alunos e disciplinas. Define os atores e os casos de uso do sistema.
Gabarito
10
11
12
13
14
15
16
L-se: um cliente faz 0 ou vrios saques, um saque feito por somente um cliente. Idem para depsito.
17
18
Complete o diagrama de casos de uso, definindo o relacionamento entre os atores e casos de uso.
19
Gabarito
20
Um cliente poder abrir uma conta, depositar, fazer saques (manual e automtico), consultar saldo, alterar sua senha e aplicar em fundos (em terminais ou Internet). O gerente far a abertura da conta e a consulta ao saldo do cliente. O caixa far o saque manual, a alterao da senha e a consulta ao saldo.
21
Gabarito
22
23
25
26
27
28
29
30
31
32
33
Realizar Pedido
Descrio: Permite inserir novos pedidos no sistema, sempre que solicitado por um cliente. Os pedidos so inseridos no sistema por intermdio de um atendente. Caso de Uso Geral: No tem. Ator Principal: Cliente. Ator Secundrio: Atendente. Pr-condies: O usurio deve estar identificado por um dos mtodos disponveis. Ps-condies: Pedido cadastrado no sistema
34
Realizar Pedido
Fluxo Principal (ou Bsico): 1. Incluir o caso de uso Validar Usurio; 2. Para cada item, coletar os dados de produto e quantidade; 3. Definir a prioridade do pedido; 4. Submeter pedido para processamento; 5. Terminar caso de uso.
35
Realizar Pedido
Fluxos Secundrios (ou Alternativos): A1: Usurio Invlido 1. No passo 1, se o caso de uso Validar Usurio retornar usurio invlido ou no autorizado, o caso de uso terminado. A2: Produto Inexistente ou Fora de Estoque 1. Para cada item, no passo 2, verificar-se- se o produto comercializado pela empresa e se o estoque maior que zero. Caso no seja comercializado ou o estoque esteja zerado, informar ao usurio sobre a situao e permanecer no recebimento de produto.
36
Realizar Pedido
Fluxos Secundrios (ou Alternativos): A3: Quantidade Solicitada Indisponvel 1. Para cada produto vlido, no passo 2, verificar-se- se a quantidade solicitada encontra-se disponvel. Caso a quantidade em estoque seja menor do que a solicitada, o usurio sera informado e o sistema volta a receber a quantidade para o produto j escolhido. A4: Pedido Urgente 1. No passo 3, quando o produto for definido como urgente, o caso de uso Definir Pedido como Urgente ser acionado.
37
38
Regras de negocio
So polticas, condies ou restries que devem ser consideradas na execuo dos processos existentes em uma organizao. Exemplo:
O valor total de um pedido igual a soma dos totais dos itens do pedido acrescido de 10% de taxa de entrega. Um cliente do banco no pode tirar mais de R$ 1.000,00 por dia de sua conta. Os pedidos para um cliente no especial devem ser pagos antecipadamente. O numero mximo de alunos por turma igual a 30. Um aluno deve ter a matricula cancelada se obtiver dois conceitos D no curso.
39
Diagrama de Classe
40
Diagrama de Classe
41
Diagrama de Classe
Representao dos dados manipulados e armazenados pelos programas de acordo como os conceitos de Orientao a Objetos Notao fortemente baseado no Diagrama Entidade-Relacionamento de Peter Chen
42
43
. Correntista Correntista
. Lanamento Lancamento
44
45
. Conta Corrente ContaCorrente numero agencia dataAbertura senha ... abrirConta() bloquearConta() validarSenha(senha) ...
. Lanamento Lancamento data tipo valor numDocumento ... lancar() listarLancamen tos(periodo) ...
cadastrar() ...
46
47
48
49
Generalizao / Especializao
um relacionamento entre um elemento mais geral e um elemento mais especfico.
50
Herana Mltipla
Classes herdando de mais de uma Classe.
Mamfero
AnimalVoador
Herana mltipla
Cachorro
Gato
Morcego
Passarinho
Gaviao
51
Dependncia
Uma dependncia entre dois elementos indica que mudana em um elemento pode causar mudanas no outro.
52
Todo
Parte
53
54
Multiplicidade
Exemplo de utilizao dos smbolos de multiplicidade
55
56
57
Gabarito
58
Classes associativas
Salario e data de contratao, no so uma caracterstica de Pessoa e nem uma caracterstica de Empresa, e sim uma propriedade do relacionamento existente entre ambos.
59
Nessa associao, ha objetos que assumem o papel de supervisor e outros objetos que assumem o papel de supervisionado.
60
Comanda eletrnica As informaes a seguir se referem a uma aplicao de controle de comanda eletrnica da padaria Doce Sabor do Seu Joaquim. O cliente usa uma comanda eletrnica durante suas compras na Padaria. A cada produto consumido, o atendente registra em sua comanda (que possui uma numerao) o produto e a quantidade. Ao passar no caixa na sada da padaria, a caixa l os gastos da comanda, finalizando a compra. Na leitura da comanda, verifica-se o valor unitrio de cada produto a fim de calcular o valor total da compra. Exerccio: Identifique as classes e atributos desse cenrio.
61
Gabarito
62
Diagrama de Sequncias
63
Diagrama de Sequncias
Diagrama de Sequncias so primariamente utilizados para a atribuio responsabilidades a cada um dos objetos do sistema identificar operaes. Completam o trip da anlise:
de
Casos de Uso - comportamento externo (funcional) Diagrama de Classes - viso esttica Diagrama de Sequncias - viso dinmica
64
Diagrama de Sequncias
Fazemos um Diagrama de Sequencia mostrando a interao dos objetos em um determinado cenrio, ou seja, para cada cenrio de um Caso de Uso teremos um Diagrama de Sequencia.
65
Diagrama de Sequncias
Diagrama de Classes Caso de Uso
Nome: Reservando Passagem Atores: Agente Curso de Eventos 1- Ujfsaj jfklsdj jfdkkj fl als ;a f a; 2- jfaskdjf lj kl;k kdfjasdkl lkssss 3- jsdkfklk lkkkk lopjfa[ pokfsao opw 4- skdjfI)kkk;PIO lkkfapp kjadfp 5- lkLKO oeppae fokkzp;xp pokf ;lp[ Alternativas 1- Ijfksa kJFKJ a;lkj ;kjfklasojk;a
MeioTransporte
...
Carro
Navio
Operaes
Diagrama de Seqncia
Janela de Entrada de Pedido criar() * criar() verifica () [verfifica = true] retirar_item() refabricar_item() um Pedido uma linha de Pedido um item em Estoque
Objetos
um Item de Entrega
Interao
Cenrio
66
Diagrama de Sequncias
67
Diagrama de Sequncias
: TelaSaque
Correntista senha
C1: ContaCorrente
L1: Lancamento
validarSenha(senha)
saque verificarSaldo()
bloquearValor(saque) efetuarLancamento(C1)
debitarValor(saque) efetuarLancamento(C1)
aviso de liberao
68
Considere um processo X qualquer, na qual trabalham os funcionrios Antnio, Joo e Carlos. Num dado instante, o Gerente da Empresa solicita ao Antnio que prepare um relatrio de comisses para um determinado ms. Entretanto, para que o Antnio consiga preparar esse relatrio, ele precisa do total da cada vendedor, obtido no ms em foco, e essa informao quem tem o Joo. Ento, Antnio passa um e-mail para o Joo pedindo essa informao. Joo quando recebe essa mensagem (eletrnica) inicia os procedimentos necessrios para relacionar as vendas de cada vendedor. Todavia, ele s possui em mos a matrcula de cada vendedor e o seu total vendido. Mas ele pode conseguir o nome de cada vendedor com o Carlos. Assim, Joo passa um e-mail para o Carlos, enviando no corpo da mensagem a lista de matrculas que ele possui, solicitando que seu colega diga a quem pertence. Carlos, ao receber a mensagem, procura em suas fichas os nomes dos vendedores. De posse desses nomes, ele responde ao e-mail de Joo, acrescentando os nomes dos vendedores. Joo ao receber a resposta de Carlos, responde a mensagem original de Antnio, acrescentando no corpo da mensagem a lista de vendedores (matrcula e nome) acompanhada dos totais de vendas de cada um.
69
Joo
Antnio
Resposta
Resposta
Resposta
Carlos
UCB - Universidade Castelo Branco 70 Prof.: Kleber Pereira
Gabarito
71
Este exemplo refere-se a um Controle das vendas efetuadas por um conjunto de vendedores de uma loja de R$ 1,99. Nesse caso, no se controla os produtos vendidos. Ele contempla o Caso de Uso Registrar vendas
72
Registrar vendas Sumario: Permite cadastrar as vendas efetuadas pelos vendedores. Ator Primrio: Assistente de gerencia Precondies: O assistente esta identificado pelo sistema Fluxo principal 1. 2. 3. O sistema prepara uma lista dos vendedores cadastrados na loja O usurio informa o numero da venda O usurio informa ainda: 3.1. Data de venda 3.2. Valor da venda 4. O usurio seleciona o vendedor que efetuou a venda, a partir da lista j montada pelo sistema 5. O sistema efetua a gravao da venda Fluxo de Exceo (2): Venda j cadastrada a) Se o numero da venda j estiver cadastrado, informar ao usurio, mostrar as informaes da venda na tela e entrar em modo de alterao dos dados. Pos-condies: A venda efetuada pelo vendedor e cadastrada.
73
Gabarito
74
75
Diferenas
Modelo Relacional:
76
77
Transposio de Associaes
Gerenciado 1 0..1 Departamento -sigla : String -nome : String 1 Trabalha Empregado -matrcula : String -CPF : String -nome : String -endereo : String -CEP : String *
Alocado * *
78
79
Departamento(id, sigla, nome, idEmpregadoGerente ) Empregado( id, matrcula, CPF, nome, endereo, CEP )
80
81
Empregado -matrcula : String -CPF : String -nome : String -endereo : String -CEP : String *
Departamento( id, sigla, nome, idEmpregadoGerente ) Empregado(id, matrcula, CPF, nome, endereo, CEP, idDepartamento)
82
83
Alocado * *
Departamento(id, sigla, nome, idEmpregadoGerente) Empregado(id, matrcula, CPF, nome, endereo, CEP, idDepartamento) Alocao(idProjeto, idEmpregado) Projeto(id, nome, verba) Departamento(id, sigla, nome, idEmpregadoGerente) Empregado(id, matrcula, CPF, nome, endereo, CEP, idDepartamento) Alocao(id, idProjeto, idEmpregado) Projeto(id, nome, verba)
84
85
Carro (id, codigo, marca, modelo) Roda (id, tipoPneu, tipoMaterial, id_carro) Volante (id, material, id_carro)
86
87
Fatura (id, numeroFatura, data) Item (id_Fatura, id, numeroItem, produto, preo, )
88
1 * supervisionado
89
* Computador -modelo
Tcnico(id, nome) Projeto(id, nome, verba) Computador(id, modelo) Alocao(id, idProjeto, idTcnico, idComputador)
90
lder
Utilizao dataUso
Empregado(id, matrcula, nome) Projeto(id, sigla, nome, verbaAnual, idEmpregadoLder) Ferramenta(id, nome, descrio) Utilizao(id, idFerramenta, idProjeto, dataUso ) idEmpregado, idProjeto, cargaHorria, Trabalho(id, remunerao)
91
Contribuinte(id, endereo) PessoaFsica(id, nome, dataNascimento, CPF, idContribuinte) PessoaJurdica(id, CNPJ, razoSocial, idContribuinte) Pessoa(id, nome, endereo, dataNascimento, CPF, CNPJ, razoSocial, tipo) PessoaFsica(id, dataNascimento, nome, endereo, CPF) PessoaJurdica(id, CNPJ, endereo, razoSocial)
92
93
Gabarito
Caixa (id_caixa, numero) Transao (id_transao, numero, data, hora, tipo_operao, montante, id_caixa) Movimento (id_movimento, numero, id_transao, id_carto) Carto (id_carto, numero, limite, id_conta) Conta (id_conta, numero, saldo, limite_dirio)
94
95
Gabarito
Escola (id_escola, nome, endereo, telefone) Departamento (id_escola, id_departamento, nome) Aluno (id_aluno, matricula, nome, endereo, telefone, id_escola) Curso (id_curso, cdigo, nome, id_dpto) Instrutor_Curso (id_instrutor, id_curso) Curso_Aluno (id_curso, id_aluno) Instrutor (id_instrutor, nome, especialidade)
96
97
Gabarito
Pessoa (id_pessoa, nome, email) Aluno (id_aluno, matricula, id_pessoa) Professor (id_professor, titulao, id_pessoa) Habilitado (id_professor, id_disciplina) Avaliao (id_avaliao, cdigo, data, grau, id_pessoa, id_aluno, id_turma) Turma (id_turma, ano, perodo, cdigo, id_pessoa, id_professor, id_disciplina) Disciplina (id_disciplina, nome, cdigo, ementa)
98
99
Gabarito
Publicao (id_publicao, id_projeto) Projeto (id_projeto, ttulo, dt_inicio, dt_termino, financiadora, valor, objetivo, descrio, status) Colaborador (id_colaborador, nome, email, login, senha) Colabora (id_publicao, id_colaborador) Professor (id_professor, id_colaborador) Aluno (id_aluno, dt_ingresso, id_colaborador, id_orientao) Aluno_Pos (id_aluno_pos, regine, isDoutorando, id_colaborador, id_aluno) Aloca (id_colaborador, id_projeto) Orientao (id_orientao, descrio, ttulo, ano, id_professor )
100