modelagem com a uml (unified modeling language)
DESCRIPTION
MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE). BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE PROJETO. 1. 2. 14. 15. Finalidades do UML. Visualizar Especificar Construir Documentar. 17. Elementos do UML. Itens - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/1.jpg)
1
MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)
BREVE HISTÓRICO
CARACTERÍSTICAS
CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS
MODELAGEM DE ANÁLISE E DE PROJETO
![Page 2: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/2.jpg)
2
I . BREVE HISTÓRICO
Em fi ns dos anos 80 e início dos anos 90 vários métodos orientados a objetos surgiram, entre eles os métodos de Grady Booch, J im Rumbaugh (OMT) e I var J acobson. A UML foi uma tentativa de unificar as notações destes três métodos. Foi concebida por esses profissionais. A idéia era produzir um padrão, com as melhores práticas adotadas pela indústria, levando mais desenvolvedores a modelar seus sistemas de sof tware antes de construí-los.
![Page 3: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/3.jpg)
![Page 4: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/4.jpg)
![Page 5: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/5.jpg)
![Page 6: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/6.jpg)
![Page 7: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/7.jpg)
![Page 8: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/8.jpg)
![Page 9: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/9.jpg)
![Page 10: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/10.jpg)
![Page 11: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/11.jpg)
![Page 12: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/12.jpg)
![Page 13: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/13.jpg)
![Page 14: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/14.jpg)
14
I I . CARACTERÍSTICAS A UML não é um método e pode ser utilizada por
dif erentes processos de desenvolvimento de sof tware A UML foi reconhecida pelo OMG (Object Management
Group) como uma linguagem de modelagem padrão. (OMG – uma associação aberta que desenvolve e mantém especificações utilizadas pela indústria da computação) Obtenha a especificação da UML em http://www.omg.org A UML utiliza conceitos de orientação a objetos.
![Page 15: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/15.jpg)
15
![Page 16: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/16.jpg)
![Page 17: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/17.jpg)
17
Finalidades do UML
-Visualizar
-Especificar
-Construir
-Documentar
![Page 18: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/18.jpg)
18
Elementos do UML
-Itens
-Relacionamentos
-Diagramas
![Page 19: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/19.jpg)
19
Itens do UML
-Estruturais-Comportamentais-Agrupamento-Anotacionais
![Page 20: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/20.jpg)
20
Itens Estruturais do UML (parte estática)
-Classes (conjunto de objetos com caract. Comuns)-Interface (serviços de uma classe ou componente)-Colaborações (comportamento colaborativo)-Caso de Uso (sequência de ações)-Classes Ativas (objetos com threads)-Componentes (pacotes físicos de elementos lógicos)-Nó (recurso computacional)
![Page 21: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/21.jpg)
21
Itens Comportamentais do UML (parte dinâmica)
-Interação (intercâmbio de dados)-Máquina de Estados
-Estados-Transições-Eventos-Atividades
![Page 22: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/22.jpg)
22
Itens de Agrupamento do UML (organizacional)
-Pacotes
![Page 23: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/23.jpg)
23
Itens Anotacionais do UML (explicativo)
-Nota
![Page 24: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/24.jpg)
24
Relacionamentos do UML
-Dependência (relacionamento semântico de dois itens)
-Associação (relacionamento estrutural)
-Generalização (hierarquia)
-Realização (contrato de uma das partes)
![Page 25: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/25.jpg)
25
Diagramas do UML
-Classes-Objetos-Casos de Uso-Sequência-Colaborações-Gráfico de Estados-Atividades-Componentes-Implantação
![Page 26: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/26.jpg)
26
Na programação orientada a objetos os dados a serem processados e os mecanismos de processamento destes dados devem ser analisados em conjunto.
Assim, programadores que utilizam o paradigma de
programação orientada a objetos criam e usam objetos.
Na abordagem orientada a objetos os dados são
subdivididos em objetos
III. CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS
![Page 27: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/27.jpg)
27
Cada objeto tem sua própria identidade. Assim, dois
livros, no sistema de venda de livros, por mais semelhanças que contenham constituem cada um, um único objeto
Objetos com a mesma estrutura de dados (atributos),
com o mesmo comportamento (operações) e relacionamentos são agrupados numa classe
Assim, uma classe Livro descreve o que é comum em
todos os livros no contexto de um determinado sistema.
![Page 28: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/28.jpg)
28
Devemos pensar em um objeto como algo que tem
responsabilidades. Objetos devem ser responsáveis por si mesmos e ter essas responsabilidades claramente defi nidas.
No nível conceitual um objeto deveria ser pensado
desta f orma: um objeto é um conjunto de responsabilidades.
![Page 29: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/29.jpg)
29
Como os objetos têm responsabilidades e são
responsáveis por si próprios, deve haver um modo de informá-los sobre o que devem fazer.
Objetos dispõem de dados para informá-los sobre si
mesmos e métodos para implementar f uncionalidades.
Alguns desses métodos podem ser invocados por
outros objetos. A coleção desses métodos é denominada interf ace pública do objeto.
![Page 30: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/30.jpg)
30
Comparando com a Progr. Orientada a Procedimentos: Na Progr. Orientada a Procedimentos é identificada a
taref a a ser realizada e através de refi namentos sucessivos, quebra-se essa taref a em subtarefas menores, e estas em subtarefas ainda mais simples até que estas subtarefas estejam simples o suficiente para que possam ser implementadas.
Após a implementação destas tarefas elas costumam
ser combinadas para f ormar procedimentos mais complexos.
![Page 31: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/31.jpg)
31
Na Programação Orientada a Objetos há três conceitos f undamentais:
Encapsulamento ou Ocultação de inf ormação
Herança
Polimorfismo
![Page 32: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/32.jpg)
32
Encapsulamento ou Ocultação de I nformação
Encapsulamento consiste na separação dos aspectos externos de um objeto, acessíveis por outros objetos, dos detalhes internos da implementação daquele objeto, que ficam ocultos dos demais objetos.
Pode-se desejar modificar a implementação de um
objeto para melhorar o desempenho ou retirar um erro, dentre outros motivos. O encapsulamento f acilita a realização dessas alterações, já que a implementação de um objeto pode ser modificada sem que isso af ete as aplicações que o utilizam.
![Page 33: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/33.jpg)
33
Na orientação a objetos um objeto encapsula dados,
operações, outros objetos, constantes e outras informações.
A idéia é que os usuários desse objeto possam
acessá-lo através de um conjunto de interfaces cuidadosamente documentadas, controladas e padronizadas.
Através do envio de mensagens pode-se solicitar a
esses objetos que façam algo. Por exemplo pode-se enviar a um objeto livro uma mensagem de atualização de preço. Objetos são responsáveis por f ornecer informações sobre si mesmos.
![Page 34: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/34.jpg)
34
C++, por exemplo, permite a restrição ao acesso a campos e
métodos em classes por intermédio de quatro modificadores de acesso: public, private, protected e sem modificador.
o Public: o campo ou método declarado com este modificador pode ser acessado ou executado a partir de qualquer outra classe.
o Private: o campo ou método declarado com este modificador
só pode ser acessado, modifi cado ou executado por métodos da mesma classe.
o Protected: funciona como o modificador private, exceto que
classes herdeiras ou derivadas também terão acesso ao campo ou método com este modifi cador.
![Page 35: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/35.jpg)
35
Herança
O mecanismo de herança é apropriado para relações “é um tipo de” entre classes.
A herança permite que uma classe herde atributos e
comportamento de outra.
![Page 36: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/36.jpg)
36
Considere que em um sistema de controle de consultas
médicas dois tipos de pagamento podem ser realizados em uma consulta: através de convênio ou particular
Todos os pagamentos estão relacionados a uma consulta mas
só o pagamento de convênio está relacionado ao convênio correspondente. J á no caso de pagamento particular, deverá ser anotado como foi realizado o pagamento (dinheiro, cheque).
Usando o mecanismo de herança, podemos declarar as
classes PagamentoConvenio e PagamentoParticular como sendo um tipo de Pagamento. Assim: - PagamentoConvenio e PagamentoParticular herdam todos
os campos e métodos da classe Pagamento. - A classe herdeira poderá acrescentar campos e métodos à
classe original.
![Page 37: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/37.jpg)
37
Herança Múltipla
I maginar a seguinte situação: o Personagem
Sof rem transformação espacial Recebem mensagens
![Page 38: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/38.jpg)
38
Problemas da Herança Múltipla
Ambigüidade (confl itos de métodos e atributos) Topologia (diamond shape / herança virtual)
o Ex. Mover veículos Problemas de Arquitetura
![Page 39: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/39.jpg)
39
Polimorfismo Através do polimorfi smo é possível se referir a
dif erentes derivações de uma classe do mesmo modo, obtendo no entanto o comportamento da classe derivada a que se está referindo.
Podemos, por exemplo, escreve um método que receba
uma instância da classe ObjetoGeometrico e ele é capaz de processar instâncias de qualquer classe que seja sua herdeira, como Retângulo ou Círculo.
![Page 40: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/40.jpg)
40
Ex: Suponha que temos um método imprimir que recebe um
uma instância da classe ObjetoGeometrico e calcula a área do objeto e imprime o valor obtido.
Em tempo de execução poderá ser processada uma
instância de um retângulo ou de círculo. Mas no código é f eita uma ref erência a uma instância de ObjetoGeometrico.
![Page 41: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/41.jpg)
41
Como já estudamos na 1ª parte do curso, podemos construir os modelos de análise e projeto. Vamos estudar a UML aprendendo como elaborar esses dois modelos.
IV. MODELAGEM DE ANÁLISE E DE PROJETO
![Page 42: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/42.jpg)
42
MODELO DE ANÁLISE De acordo com a abordagem de Pressman o modelo de análise é construído na Elaboração, atividade da Engenharia de Requisitos, a partir das inf ormações obtidas nas atividades de Concepção e Levantamento de requisitos. Nessas duas atividades é elaborado o diagrama de casos de uso.
![Page 43: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/43.jpg)
43
Para elaborar o modelo de análise de acordo com a abordagem orientada a objetos, utilizando a UML, vamos estudar os seguintes diagramas:
diagrama de casos de uso diagrama de classes diagrama de packages diagrama de estados diagrama de atividades diagrama de seqüência.
![Page 44: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/44.jpg)
44
MODELO DE PROJ ETO
O modelo de projeto inclui representações de dados, arquitetura, interf ace, componentes e implantação Este modelo é o principal produto produzido
durante o projeto de sof tware.
![Page 45: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/45.jpg)
Rational Rose
![Page 46: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/46.jpg)
Ambiente Rational Rose
![Page 47: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/47.jpg)
Visões de Modelo
Use Case View – Modelos de Análise
Logical View – Modelos de Projeto
Component View – Modelos de Implementação
![Page 48: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/48.jpg)
Modelo de Análise
Diagrama de packagesDiagrama de casos de usoDiagrama de classesDiagrama de estadosDiagrama de atividadesDiagrama de sequência
![Page 49: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/49.jpg)
Diagrama de Packages
![Page 50: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/50.jpg)
Sistema Livraria – Packages
![Page 51: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/51.jpg)
Diagrama de Casos de Uso
![Page 52: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/52.jpg)
Diagrama de Casos de Uso
![Page 53: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/53.jpg)
Especificação e Documentação Caso de uso: Faz Pedido
![Page 54: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/54.jpg)
Faz pedido para presentear
Valida pedido
Faz Pedido
Solicita cancelamento de Pedido
Diminui quantidade de um item do pedido
<<include>>
Paga f atura
Solicita cancelamento de f atura
Cliente
Comunica atraso no pagamento
Av alia cancelamento de f atura
Gerente
Fatura pedido
Funcionário
Comunica atraso
(v erif icação de itens pendentes)
<<extend>>
<<include>>
Controle de Pedidos - Diagrama de Casos de Uso
![Page 55: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/55.jpg)
Diagrama de Classes
![Page 56: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/56.jpg)
Diagrama de Classes
![Page 57: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/57.jpg)
itemFaturado
/ quantFaturada
(from Logical View)
Se uma f atura atende a um pedido, necessariamente os itens pedidos ligados à f atura dev em ser do pedido ao qual a f atura está relacionada.
Cliente
nomecpfCódigoendereçotelefoneEmailname
(from Logical View)Pedido
numPedidodataEmissãonomePresenteadoendereçoEntregadataCancelamentostatus
(from Logical View)
1..n1 1..n1
Faz
Fatura
numFaturadataEmissãodataVencimentovalorPagodataPagamentodataPedidoCancelamentodataCancelamentostatus
(from Logical View)
1
0..n
1
0..n
Livro
isbntítulodescriçãoquantEstoquepreçoprazoMédioEntrega
(from Logical View)
ItemPedido
quantidadePedidapreçoCobrado
(from Logical View)
1..n
0..n
1..n
0..n
1
0..n
1
0..n
Controle de Pedidos - Diagrama de Classes
![Page 58: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/58.jpg)
Diagrama de Estados
![Page 59: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/59.jpg)
Diagrama de Estados
![Page 60: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/60.jpg)
Diagrama de Estados Classe Pedido
Cliente paga fatura[ todas as faturas foram pagas ]
Pedido cancelado
Pedido criado
Pedido fechado
Pedido totalmente atendido
Pedido parcialmente atendido
Pedido com solicitação de cancelamento
Cliente solicita cancelamento de pedido
Funcionário fatura pedido[ Funcionário fatura pedido ]
Funcionário fatura pedido[ não foram enviados todos os l ivros ]
Funcionário fatura pedido[ não foram enviados todos os l ivros ]
Cliente solicita cancelamento de faturaCliente solicita cancelamento de fatura
Gerente avalia cancelamento de fatura[ foram enviados todos os l ivros e há fatura não paga ]
Gerente avalia cancelamento de fatura[ há faturas a serem avaliadas ]
Gerente avalia cancelamento de fatura[ há l ivros a enviar ]
Gerente avalia cancelamento de fatura[ o cancelamento é aprovado, foram enviados todos os livros e já tinham sido pagas as demais faturas ]
Gerente avalia cancelamento de fatura[ canceladas todas as faturas ]
![Page 61: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/61.jpg)
Diagrama de Atividades
![Page 62: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/62.jpg)
Diagrama de atividades Caso de uso: Solicita cancelamento de fatura
Informa se deseja confirmar
Informa o número da fatura Valida número
da fatura
fatura existe?
Comunica ao cliente que fatura não foi encontrada
[ não ]
Apresenta dados da fatura: número, data, emissão, status e valor pago
[ sim ]
verifica se solicitação já foi realizada
Solicitação já realizada?
Solicita confirmação
[ não ]
Comunica que a solicitação já foi realizada e informa a data...
[ sim ]
Comunica que não foi realizada a operação
Armazena a solicitação de cancelamento e a data da solicitação
Cliente confirmou?
[ sim ][ não ]
Informa que o pedido só será analisado após a devolução dos livros
SistemaCliente
![Page 63: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/63.jpg)
Diagrama de Sequência
![Page 64: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/64.jpg)
Diagrama de Sequência
![Page 65: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/65.jpg)
Diagrama de Sequência - Cenário:
Cliente solicita cancelamento de fatura válida Cliente : Cliente Sistema
1: Mostra janela inicial
2: Informa fatura
3: Verifica fatura
4: Apresenta dados da fatura
5: Solicita confirmação
6: Confirma
8: Informa que o pedido só será analisado após a devolução dos livros
7: Armazena a solicitação e dados
![Page 66: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/66.jpg)
Modelo de Projeto
Casos de Uso real
Diagrama de Sequência
Projeto Lógico de Banco de Dados
![Page 67: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/67.jpg)
Caso de Uso Real
![Page 68: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/68.jpg)
Caso de Uso RealSolicita cancelamento de fatura real
![Page 69: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/69.jpg)
Diagrama de Classes para Caso de Uso Real
![Page 70: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/70.jpg)
Diagrama de Classes: solicita cancelamento de fatura
Fatura_Proj
numFatura : intdataEmissao : java.util.DatedataVencimento : java.uti l.DatevalorPago : doubledataPagamento : java.util.DatedataPedidoCancelamento : java.uti l.Datestatus : StringnumPedido : int
recuperarPelaPK(numFatura : int) : Fatura_Projsol icitarCancelamento() : Void
(from Logical View)
ControladorDePedidos
obterFatura(numero : int) : Fatura_ProjcadastrarSolCancFatura(umaFatura : Fatura_Proj) : String
(from Logical View)JanelaSolicCancFatura
exibir() : void
(from Logical View)
JanelaPrincipal
main(args : String[]) : Void
(from Logical View)
FaturaNaoEncontradaExcepition(from Logical View)
SolicitacaoDeCancelamentoJaEfetuadoExcepition(from Logical View)
Conexao
conn : Connection = null(from Logical View)
![Page 71: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/71.jpg)
Diagrama de Sequênciasolicita cancelamento de fatura
![Page 72: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/72.jpg)
Cliente : Cliente
Janelaprincipal : JanelaPrincipal
JanelasolicCancFatura : JanelaSolicCancFatura
ControladorDePedidos : ControladorDePedidos
Fatura_Proj : Fatura_Proj
Conexao : Conexao
1: Apresenta menu
2: Seleciona opçao solicita cancelamento
3: exibir( )
4: Solicita numFatura
5: Informa numFatura6: numFatura = ControladorDePedidos.obterFatura(numFatura)
7: umaFatura = Fatura_Proj.recuperarPelaPK(numFatura)8: Conexao.getConexao()
9: umaFatura.getDataEmissao()
10: umaFatira.getStatus()
11: umaFatura.getValorPago()
12: apresenta dados da Fatura e pede confirmação de cancelamento
13: Confirma cancelamento
14: ControladorDePedidos.cadastrarSolCancFatura(umaFatura)
15: umaFatura.solicitaCancelamento()
16: Conexao.getConexao()17: confirma o cadastramento da solicitação e pede a devolução dos livros
![Page 73: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/73.jpg)
Projeto Lógico de Banco de Dados
Criação de tabelas relacionais através do add-in Oracle8
Criação de tabelas relacionais através do add-in Data Modeler
![Page 74: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/74.jpg)
Tabela Relacional no Oracle
![Page 75: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/75.jpg)
Tabela Relacional no Oracle
![Page 76: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/76.jpg)
Tabela Relacional no Oracle
![Page 77: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/77.jpg)
Criando Chave primária eChave estrangeira
Primary Key Foreign Key
![Page 78: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/78.jpg)
Diagrama do Projeto Lógico de Banco de Dados
![Page 79: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/79.jpg)
Diagrama do Projeto Lógico de Banco de Dados
<<FK>>
LIVROS
ISBN : VARCHAR2TITULO : VARCHAR2DESCRICAO : VARCHAR2QUANT_ESTOQUE : NUMBERPRECO : NUMBERPRAZO_MEDIO_ENTREGA : NUMBERLIVRO_PK = ISBN
<<RelationalTable>>
CLIENTE
ID : VARCHAR2CPF : VARCHAR2NOME : VARCHAR2ENDERECO : VARCHAR2TELEFONE : NUMBEREMAIL : VARCHAR2CLIENTE_PK = ID
<<RelationalTable>>
ITEM_PEDIDO
NUM_ITEM : NUMBERQUANT_PEDIDA : NUMBERPRECO_COBRADO : NUMBERITEM_PEDIDO_PK = ID_PEDIDO,NUM_ITEM
<<RelationalTable>>
ID_LIVRO = ISBNID_LIVRO = ISBN
ITEMPED_LIVRO_FK
<<FK>>
PEDIDO
ID : VARCHAR2DT_EMISSAO : DATENOME_PRESENTEADO : VARCHAR2ENDERECO_ENTREGA : VARCHAR2DT_CANCELAMENTO : DATESTATUS : VARCHAR2PEDIDO_PK = ID
<<RelationalTable>>
IDCLIENTE = IDIDCLIENTE = ID
PEDIDO_CLIENTE_FK
ID_PEDIDO = IDID_PEDIDO = ID
ITEMPED_PEDIDO_FK
<<FK>>
ITEM_FATURADO
QUANT_FATURADA : NUMBERITEM_FATURADO_PK = ID_FATURA,ID_ITEM,ID_PEDIDO
<<RelationalTable>>
ID_ITEM = NUM_ITEMID_PEDIDO = ID
ID_ITEM = NUM_ITEMID_PEDIDO = ID
ITEMFAT_ITEMPED_FK
<<FK>>
FATURA
ID : VARCHAR2DT_EMISSAO : DATEDT_VENCIMENTO : DATEVALOR_PAGO : NUMBERDT_PAGAMENTO : DATEDT_PEDIDO_CANCELADO : DATEDT_CANCELAMENTO : DATESTATUS : VARCHAR2FATURA_PK = ID
<<RelationalTable>>
ID_PEDIDO = IDID_PEDIDO = ID
FATURA_PEDIDO_FK
<<FK>>
ID_FATURA = IDID_FATURA = ID
ITEMFAT_FATURA_FK
<<FK>>
![Page 80: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/80.jpg)
Tabela Relacional no Data Modeler
Criando Database
![Page 81: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/81.jpg)
Tabela Relacional no Data Modeler
Criando Schema
![Page 82: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/82.jpg)
Criando Tabela no Data Modeler
![Page 83: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/83.jpg)
Tabelas no Data Modeler
![Page 84: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/84.jpg)
Tabelas no Data Modeler
Atributos Chaves Primárias e Estrangeiras
![Page 85: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/85.jpg)
Criando Relacionamentos (Chaves Estrangeiras) entre tabelas
Neste exemplo, este relacionamento identifica Foreign Key
![Page 86: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/86.jpg)
Diagrama com Data Modeler
ITEM_PEDIDO
NUM_ITEM : NUMBER(7, 0)QUANT_PEDIDA : NUMBER(9, 0)PRECO_COBRADO : NUMBER(9, 2)PEDIDO_ID : NUMBER(7, 0)LIVRO_ID : NUMBER(7, 0)
<<PK>> PK_ITEM_PEDIDO()<<FK>> ITEMPED_PEDIDO_FK()<<FK>> ITEMPED_LIVRO_FK()
CLIENTE
ID : NUMBER(7, 0)CPF : VARCHAR2(20)NOME : VARCHAR2(50)ENDERECO : VARCHAR2(50)TELEFONE : VARCHAR2(20)EMAIL : VARCHAR2(50)
<<PK>> PK_CLIENTE()
LIVRO
ISBN : NUMBER(7, 0)TITULO : VARCHAR2(50)DESCRICAO : VARCHAR2(1000)QUANT_ESTOQUE : NUMBER(9, 0)PRECO : NUMBER(9, 2)PRAZO_MEDIO_ENTREGA : NUMBER(9, 0)
<<PK>> PK_LIVRO()
PEDIDO
ID : NUMBER(7, 0)DT_EMISSAO : DATENOME_PRESENTEADO : VARCHAR2(50)ENDERECO_ENTREGA : VARCHAR2(50)DT_CANCELAMENTO : DATESTATUS : CHAR(1)CLIENTE_ID : NUMBER(7, 0)
<<PK>> PK_PEDIDO()<<FK>> PEDIDO_CLIENTE_FK()
0..*1 0..*1
PEDIDO_CLIENTE_FK
FATURA
ID : NUMBER(7, 0)DT_EMISSAO : DATEDT_VENCIMENTO : DATEVALOR_PAGO : NUMBER(9, 2)DT_PAGAMENTO : DATEDT_PEDIDO_CANCELAMENTO : DATEDT_CANCELAMENTO : DATESTATUS : CHAR(1)PEDIDO_ID : NUMBER(7, 0)
<<PK>> PK_FATURA()<<FK>> FATURA_PEDIDO_FK()
0..*
1
0..*
1
FATURA_PEDIDO_FK
ITEM_FATURADO
QUANT_FATURADA : NUMBER(9, 0)FATURA_ID : NUMBER(7, 0)ITEM_ID : NUMBER(7, 0)PEDIDO_ID : NUMBER(7, 0)
<<FK>> ITEMFAT_FATURA_FK()<<FK>> ITEMFAT_ITEMPED_FK()<<PK>> PK_ITEM_FATURADO()
0..*
1
0..*
1
ITEMFAT_FATURA_FK
0..*
1
0..*
1
ITEMPED_LIVRO_FK
0..*
1
0..*
1
ITEMPED_PEDIDO_FK
0..*
1
0..*
1ITEMFAT_ITEMPED_FK
![Page 87: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/87.jpg)
Geração de código no Rational Rose
Aplicado às classes do Modelo de Projeto
Linguagem: Java (nos exemplos)
![Page 88: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/88.jpg)
Configurando Pastas
![Page 89: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/89.jpg)
Configurando Pastas
Escolher pasta a ser associada aos arquivos de código.
![Page 90: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/90.jpg)
Configurações para Java
Tools > OptionsNeste tipo “Class” pode-se alterar alguns métodos de criação automática do Rose como construtores, finalizadores, etc.
![Page 91: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/91.jpg)
Configurações para Java
Nesta tipo “Attribute” pode-se permitir ao Rose gerar automaticamente os métodos públicos get/set.
![Page 92: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/92.jpg)
Checando Sintaxe
![Page 93: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/93.jpg)
Gerando código para uma Classe
![Page 94: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/94.jpg)
Gerando código para Várias Classes
![Page 95: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/95.jpg)
Associando a pasta
O arquivo .java será associado a uma pasta.
![Page 96: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/96.jpg)
Editando o código gerado
![Page 97: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/97.jpg)
![Page 98: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/98.jpg)
Geração de Script SQL
Aplicado as tabelas relacionais criadas com o add-in Oracle8
Aplicado as tabelas relacionais criadas com o add-in Data Modeler
![Page 99: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/99.jpg)
Geração de Script SQL com Oracle8
![Page 100: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/100.jpg)
Escolhendo tabelas e checando sintaxe (Oracle8)
![Page 101: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/101.jpg)
Visualização do Script (Oracle8)
![Page 102: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/102.jpg)
Gerando Script SQL com Data Modeler
![Page 103: MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813b1f550346895da3d3f5/html5/thumbnails/103.jpg)
Visualização do Script (Data Modeler)
CREATE TABLE CLIENTE (ID NUMBER ( 7 ) NOT NULL,CPF VARCHAR2 ( 20 ) NOT NULL,NOME VARCHAR2 ( 50 ) NOT NULL,ENDERECO VARCHAR2 ( 50 ) NOT NULL,TELEFONE VARCHAR2 ( 20 ),EMAIL VARCHAR2 ( 50 ),CONSTRAINT PK_CLIENTE PRIMARY KEY (ID))
/CREATE TABLE PEDIDO (
ID NUMBER ( 7 ) NOT NULL,DT_EMISSAO DATE NOT NULL,NOME_PRESENTEADO VARCHAR2 ( 50 ),ENDERECO_ENTREGA VARCHAR2 ( 50 ) NOT NULL,DT_CANCELAMENTO DATE,STATUS CHAR ( 1 ) NOT NULL,CLIENTE_ID NUMBER ( 7 ) NOT NULL,CONSTRAINT PK_PEDIDO PRIMARY KEY (ID))
/ALTER TABLE PEDIDO ADD ( CONSTRAINT PEDIDO_CLIENTE_FK FOREIGN KEY (CLIENTE_ID)
REFERENCES CLIENTE (ID))/
CREATE TABLE FATURA (ID NUMBER ( 7 ) NOT NULL,DT_EMISSAO DATE NOT NULL,DT_VENCIMENTO DATE NOT NULL,VALOR_PAGO NUMBER ( 9, 2 ),DT_PAGAMENTO DATE,DT_PEDIDO_CANCELAMENTO DATE,DT_CANCELAMENTO DATE,STATUS CHAR ( 1 ) NOT NULL,PEDIDO_ID NUMBER ( 7 ) NOT NULL,CONSTRAINT PK_FATURA PRIMARY KEY (ID))
/ALTER TABLE FATURA ADD ( CONSTRAINT FATURA_PEDIDO_FK FOREIGN KEY
(PEDIDO_ID) REFERENCES PEDIDO (ID))/
.
.
.