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
2
14
15
17 Finalidades do UML -Visualizar -Especificar -Construir -Documentar
18 Elementos do UML -Itens -Relacionamentos -Diagramas
19 Itens do UML -Estruturais -Comportamentais -Agrupamento -Anotacionais
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)
21 Itens Comportamentais do UML (parte dinâmica) -Interação (intercâmbio de dados) -Máquina de Estados -Estados -Transições -Eventos -Atividades
22 Itens de Agrupamento do UML (organizacional) -Pacotes
23 Itens Anotacionais do UML (explicativo) -Nota
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)
25 Diagramas do UML -Classes -Objetos -Casos de Uso -Sequência -Colaborações -Gráfico de Estados -Atividades -Componentes -Implantação
26 III. CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 IV. MODELAGEM DE ANÁLISE E DE PROJETO
42
43
44
Rational Rose
Ambiente Rational Rose
Visões de Modelo Use Case View – Modelos de Análise Logical View – Modelos de Projeto Component View – Modelos de Implementação
Modelo de Análise Diagrama de packages Diagrama de casos de uso Diagrama de classes Diagrama de estados Diagrama de atividades Diagrama de sequência
Diagrama de Packages
Sistema Livraria – Packages
Diagrama de Casos de Uso
Especificação e Documentação Caso de uso: Faz Pedido
Controle de Pedidos - Diagrama de Casos de Uso
Diagrama de Classes
Controle de Pedidos - Diagrama de Classes
Diagrama de Estados
Diagrama de Estados Classe Pedido
Diagrama de Atividades
Diagrama de atividades Caso de uso: Solicita cancelamento de fatura
Diagrama de Sequência
Diagrama de Sequência - Cenário: Cliente solicita cancelamento de fatura válida
Modelo de Projeto Casos de Uso real Diagrama de Sequência Projeto Lógico de Banco de Dados
Caso de Uso Real
Caso de Uso Real Solicita cancelamento de fatura real
Diagrama de Classes para Caso de Uso Real
Diagrama de Classes: solicita cancelamento de fatura
Diagrama de Sequência solicita cancelamento de fatura
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
Tabela Relacional no Oracle
Criando Chave primária e Chave estrangeira Primary KeyForeign Key
Diagrama do Projeto Lógico de Banco de Dados
Tabela Relacional no Data Modeler Criando Database
Tabela Relacional no Data Modeler Criando Schema
Criando Tabela no Data Modeler
Tabelas no Data Modeler
Atributos Chaves Primárias e Estrangeiras
Criando Relacionamentos (Chaves Estrangeiras) entre tabelas Neste exemplo, este relacionamento identifica Foreign Key
Diagrama com Data Modeler
Geração de código no Rational Rose Aplicado às classes do Modelo de Projeto Linguagem: Java (nos exemplos)
Configurando Pastas
Escolher pasta a ser associada aos arquivos de código.
Configurações para Java Tools > Options Neste tipo Class pode-se alterar alguns métodos de criação automática do Rose como construtores, finalizadores, etc.
Configurações para Java Nesta tipo Attribute pode-se permitir ao Rose gerar automaticamente os métodos públicos get/set.
Checando Sintaxe
Gerando código para uma Classe
Gerando código para Várias Classes
Associando a pasta O arquivo.java será associado a uma pasta.
Editando o código gerado
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
Geração de Script SQL com Oracle8
Escolhendo tabelas e checando sintaxe (Oracle8)
Visualização do Script (Oracle8)
Gerando Script SQL com Data Modeler
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 ), 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)) /.