u m l - cesarbt.xpg.com.br · – amplo uso da internet; – programas extensos; – filosofia de...
TRANSCRIPT
2
Bibliografia
• “Desenvolvendo Aplicações com UML”Ana Cristina MeloEditora Brasiport
• “Guia de Consulta Rápida”Douglas Marcos da SilvaNovatec Editora
• www.rational.com• www.cmm.com
3
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
4
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
5
Objetivo
“Situar a UML no processo histórico da Computação, mostrando que o
incremento da complexidade dos sistemas levou à necessidade de
métodos de Análise & Projeto, que se adequassem às novas exigências.”
6
Histórico
• Década de 40
– Hardware de elevado custo e simples;– Aplicações sem interface;– Programação em linguagem de máquina;– Ausência de Metodologia;– Grande quantidade de erros de programação;– Ênfase em algoritmos;
7
Histórico
• Início da Computação Digital:– Tecnologia de Alto Custo;– Só Governo poderia financiar o desenvolvimento;– Utilização militar do computador:
• Cálculos Balísticos;• Criptografia e Decriptografia;
– Item inacessível;
• Pesquisa em Hardware barateou custos;
8
Histórico
• Décadas de 50/60
– Confirmação do Computador comercialmente;– Redução de custo de hardware;– Aumento da complexidade dos programas;– Ênfase no armazenamento e processamento de dados;– Uso de linguagens de programação;– Especificação Estruturada;
9
Histórico
• Válvulas, transistores, CI ;
• Diminuição do custo do hardware:– Utilização por grandes empresas e universidades;– Pesquisa por linguagens de programação:
• COBOL;• FORTRAN;
– Necessidade de aumento de produtividade;– Início da utilização comercial dos computadores;
• Produção de Sistemas Corporativos;
10
Histórico• Década de 70
– Programas mais complexos;– Operações mais complexas com dados;– Introdução do PC;– Análise Estruturada;
11
Histórico
• Década de 80
– Constatação da necessidade de documentação de SW;– Constatação do custo do retrabalho em programação;– Análise Essencial;– Pesquisa do modelo CMM;– Início real da era da Informação;– Disseminação de redes de computadores;
12
Histórico
• Década de 90
– Orientação a objetos para o trato com a complexidade;– Programas extremamente complexos;– Necessidade de aumento de produtividade;– Uso de COTS, c/necessidade de programação constante;
13
Histórico
• Século XXI
– Computador como eletrodoméstico;– Empresas totalmente dependentes de computação;– Aplicações distribuídas;– Amplo uso da Internet;– Programas extensos;– Filosofia de componentes – Qualidade de SW;
15
Histórico• Etapas do emprego do computador:
– Empresa de processamento de dados;– CPD;– Uso do computador “quase” em cada mesa de trabalho;
• Metodologias:
– Ausência;– Especificação Funcional;– Análise Estuturada / Análise Essencial;– Paradigma OO;
17
Histórico
• Evolução Tecnológica:
– Interface gráfica c/o usuário (GUI);– Multimídia;– Acesso a Bancos de dados;– Conectividade;– Programas mais complexos;
• Evolução Tecnológica = Programas mais complexos;
19
Histórico• A complexidade dos programas atuais:
– Linguagens com mais recursos;– Ferramentas de software;– Capacidade de conectividade;– Alto poder computacional;– Acesso a BD;– Usuários mais exigentes;
• OO visa:– tratar a complexidade;– Adaptar-se aos novos paradigmas;
• Produtividade Reutilização de componentes;
20
Conceitos Básicos• Enfoque OO:
– Modelagem próxima da realidade do usuário;– Baseia-se na interação dos objetos do mundo real; – O mundo é uma coletânea de objetos que interagem;
• Características dos Objetos:– atributos (qualificadores); e – métodos (operações).
21
Princípios Básicos da OO
• Não há controle central;
• Não há dados globais;
• Processamento descentralizado:
• Comunicação entre os objetos é feita por mensagens.
22
Princípios Básicos da OO
“OO é uma nova maneira de pensar os problemas utilizando modelos organizados a partir de conceitos
do mundo real. O componente fundamental é o objeto que combina estrutura e comportamento em
um única entidade". [Rumbaugh]
23
Benefícios da abordagem OO:
• Modelagem próxima ao funcionamento do mundo;
• Suave TransiçãoAnáliseProjetoImplementação;
• Não requer reorganização do modelo entre as fases;
• Favorece a reutilização;
• Facilitar a extensão.
24
Vantagens da Orientação a Objetos:
• Facilidade de Particionamento do sistema;
• Modelagem isolada de restrições de implementação;
• Clara fronteira entre físico e lógico;
• Redução do tempo de análise;
• Modelagem de dados e processos sincronizada;
25
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
28
Paradigma OO
Nome: ___Nome: ___Tel: ______Tel: ______
[Salvar][Salvar]
Sistema.exeSistema.exe
Objeto XObjeto X
Nome, tel
MétodoobjetoX.Gravar()
Objeto YObjeto Y
OKMétodo
Y.Validar()OK
29
Capítulo I
1.1 – Paradigmas de Desenvolvimento de Sistemas;
1.2 – Linguagens OO;
1.3 – Principais Conceitos OO;
30
1.1 – Paradigmas de Desenvolvimento de Sistemas
• Primeiros sistemas desenvolvidos décadas de 40/50;
• Até década de 70:
– Aplicações de pequena dimensão;– Máquinas limitadas;– A&P sem formalismos e métodos;– Modelagem texto descritivo (novela);– Única ferramenta Fluxograma;– Passagem da Análise p/o Projeto de forma empírica;
• 1968 Crise do software
31
• 1968 Crise do software:
– Dijkstra escreve sobre programação estruturada;– Importância à complexidade dos sistemas;
• Marcos importantes até a década de 70:
– Codd escreveu o modelo relacional;– Niklaus Wirth desenvolveu o Pascal;– Kernighan & Ritchie desenvolvem a linguagem C;– Fundação da Microsoft;– Tom de Marco populariza a Análise Estruturada;– Ferramentas: DFD, DER
32
• Aumento da complexidade dos Sistemas:
– Necessidade de maior esmero na A&P;– Desenvolvimento de produtos de maior qualidade;– Buscar evitar o retrabalho;
• AE introduziu avanços, possuindo imperfeições:
– Dificuldade de migração Análise Projeto;– Dificuldade de migração Projeto Implementação;– Dificuldade de correção dos modelos gerados;– Ferramentas não ajudam comunicação usuários X projetistas;– Processos e dados são vistos de forma independente;
33
• Aplicações antigas eram menores, minimizando os problemas;
• Aplicações atuais extensas e complexas:
– Urgência;– Adaptabilidade a novas situações e tecnologias;– Necessidade de evolução contínua;
• Paradigma atual de desenvolvimento de SW:
– Gastar menos tempo de desenvolvimento;– Economia de hardware;– Oferecer algo mais Diferencial competitivo;
34
• Década de 70 Início do paradigma OO;
• OO procura:
– Usar os mesmos modelos para Análise, Projeto e Implementação;– Usar os principais diagramas em todas as fases;– Unificação da perspectiva de dados e funções;– Melhoria da comunicação usuários X desenvolvedores;– Minimizar surpresas no produto;
35
Dados
Métodos
OBJETO
Comparação de Linguagens Tradicionais e OO
Procedurex
Procedurey DADOS
Procedurez
Dados
Métodos
OBJETO
Dados
Métodos
OBJETO
38
ObjetoÉ uma entidade tangível, que representa uma ocorrência específica (instância) de uma classe, e exibe um comportamento bem definido. Ele possui atributos, que são os seus dados e comportamentos, que são os seus processos. Estes comportamentos são ativados através de mensagens que são trocadas entre os objetos. Exemplo de objetos:
39
Objeto
“Um objeto é a abstração de elementos concretos ou abstratos, existentes no mundo real.”
Exemplos:Exemplos:
DisciplinaDisciplina
40
Objeto
• Um objeto é composto por:– Atributos (Características);– Operações (serviços);
Exemplos:Exemplos:
AutomóvelAutomóvel
ATRIBUTOS:
•Nº DE PORTAS = 2
•COR = VERMELHO
•ANO = 1990
•...
41
ClassesRepresentação de um conjunto de objetos que compartilham a mesma estrutura
Exemplo : Classe : Funcionário Objetos : Ciro, Marina, Paloma, Pedro
42
Classes
Objeto 2
representação
ClasseClasseAutomovelAutomovel
numeroPortasnumeroPortascorcorfabricantefabricanteanoanoplacaplaca
Objeto 1
43
Classes
• Ponto de partida p/a identificação de classes:
– Substantivos que aparecem numa definição de requisitos;– Podem ser objetos físicos (livros,...);– Verifica quais desses objetos tem relevância para o problema;
• Qualificação das Classes:
– Identificar requisitos mais importantes dos objetos relevantes;
• O processo é gradativo e incremental;
44
Encapsulamento• Usar o objeto sem conhecer seu conteúdo,apenas a interface;
• Encapsular significa ocultar:
– Estado do objeto;– Implementação de suas operações;– Um atributo só é modificado por operações;
• Vantagem de se utilizar o encapsulamento:
– Manutenções localizadas;
46
Herança• Herança de atributos e métodos pertencentes a uma classe existente;
• Permite a criação de classes complexas sem que seja necessário repetir o código, pois a nova classe herda seu nível base de características de um antepassado na hierarquia de classe.
• A estrutura de herança organiza as classes em relações de generalização e especialização, isto é, subclasses especializam uma classe e superclasses generalizam uma classe.
• Na superclasse ficam todos os atributos que são comuns as diversas subclasses, e qualquer alteração no atributo da superclasse reflete automaticamente nas subclasses.
48
Polimorfismo• Permite a utilização da mesma operação entre classes genéricas e
específicas, porém com implementações (métodos) diferentes..
49
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
50
Capítulo II
2.1 - Histórico da UML
2.2 - Conhecendo a UML
2.3 - Modelando com a UML
2.4 - Modelagem de Arquitetura
51
2.1 – Histórico da UML• Desde os primórdios da OO, apareceram vários métodos;
• A maior parte cometeu o erro de tentar estender o paradigma estruturado “Guerra dos Métodos”;
• A partir de 90 apareceram métodos realmente OO, ganhando cada um, uma fatia diferente do mercado;
• As tentativas de unificação foram infrutíferas;
• 1993 Métodos mais populares: Booch 93 / OMT-2 / OOSE;
52
• 1994 Início dos esforços para unificação na Rational:– James Rumbaugh (método OMT);– Grady Booch (método Booch);
• Out/95 Lançamento do Método Unificado, versão 0,8;– Jacobson junta-se à equipe (método OOSE);
• Jun/96 Lançamento da versão 0,9 da UML;
• Jan/97 Rational lança a versão 1.0 da UML;
• A evolução vem sendo contínua desde então;
53
2.2 – Conhecendo a UML• Os métodos normalmente compreendem:
– Linguagem de Modelagem (notação gráfica);e– Processo (passos p/elaboração de um projeto);
• A UML é só uma linguagem de modelagem, para:
– especificação, visualização, construção e documentação de artefatos (requisitos, arquitetura, projeto, código-fonte,...) de sistemas de software;
• A UML procura terminar c/as diferenças entre os métodos anteriores e unificar as perspectivas de modelagem de negócios e de software;
54
• Metas que a UML procura atingir:
– Prover à comunidade uma linguagem de modelagem visual;
– Possibilitar extensibilidade e mecanismos de especialização;
– Suportar especificações que são independentes de processos de desenvolvimento e linguagem de programação particulares;
– Prover uma base formal p/entendimento da linguagem de modelagem;
– Encorajar o crescimento do mercado de ferramentas de objetos;
– Suportar alto nível de conceitos de desenvolvimento como componentes, colaborações, estruturas e padrões;
– Integrar melhores práticas;
55
2.3 – Modelando com a UML
• Elementos do Modelo:
– Elementos Básicos do Modelo;
– Relacionamentos;
56
• Elementos Básicos do Modelo:– Estruturais:
• Classes;• Interfaces;• Colaborações;• Casos de uso;• Classes ativas (atividades de controle – thread);• Componentes;• Nós;
– Comportamentais:• Interação;• Estado;
– Agrupamento pacotes;– Anotacionais Notas;
57
• Relacionamentos:
– Dependência Indica que a mudança de um elemento afeta outro;
– Associação Envolve conexão entre instâncias;
– Generalização Elemento mais genérico e outro mais específico;
– Realização Relaciona uma especificação e sua implementação;
58
• Diagramas:
– Estáticos:
• Diagrama de Classes;• Diagrama de Objetos;• Diagrama de Componentes;• Diagrama de Implantação;
– Dinâmicos :
• Diagrama de Casos de Uso;• Diagrama de Seqüências;• Diagrama de Atividades;• Diagrama de Colaborações;• Diagrama de Gráficos de Estados;
59
2.4 – Modelagem de Arquitetura
VISÃO DE
PROJETO
VISÃO DE
IMPLEMENTAÇÃO
VISÃO DO
PROCESSO
VISÃO DA
IMPLANTAÇÃO
VISÃODE
CASOS DE USO
60
TOPOLOGIA DO SISTEMADISTRIBUIÇÃOFORNECIMENTOINSTALAÇÃO
IMPLANTAÇÃOINTERAÇÃOGRÁFICO DE ESTADOSATIVIDADES
NÓSVISÃO
DEIMPLANTAÇÃO
GERENCIAMENTO DA CONFIGURAÇÃO DAS VISÕESMONTAGEM DO SISTEMA
COMPONENTESINTERAÇÃOGRÁFICO DE ESTADOSATIVIDADES
COMPONENTESARQUIVOS
VISÃODE
IMPLEMENTAÇÃO
DESEMPENHOESCALABILIDADERENDIMENTO
CLASSESOBJETOSINTERAÇÃOGRÁFICO DE ESTADOSATIVIDADES
CLASSES ATIVASVISÃO
DOPROCESSO
VOCABULÁRIO DO SISTEMAFUNCIONALIDADE
CLASSESOBJETOSINTERAÇÃOGRÁFICO DE ESTADOSATIVIDADES
CLASSESINTERFACESCOLABORAÇÕES
VISÃODE
PROJETO
COMPORTAMENTODO
SISTEMA
CASOS DE USOINTERAÇÃOGRÁFICO DE ESTADOSATIVIDADES
CASOS DE USOVISÃO
DECASOS DE USO
ENFOQUEDIAGRAMASELEMENTOSVISÕES
61
Proposta de Processo
• Levantamento de Requisitos• Análise• Projeto• Implementação• Testes• Entrega• Manutenção
62
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
63
Capítulo III
3.1 – Levantamento de Requisitos3.2 – O que é um caso de uso3.3 – Relacionamento entre Casos de Uso e Atores3.4 – Modelando requisitos com Casos de Uso3.5 – Criando o Diagrama de Casos de Uso3.6 – A Importância dos Protótipos3.7 – Estudo de caso
64
3.1 – Levantamento de Requisitos
• Não é uma tarefa fácil;
• A linguagem é cheia de ambigüidades;
• Importante o uso de uma boa técnica: brain-storming, JAD;
65
3.2 – O que é um caso de Uso
• Descreve uma seqüência de ações que representam um cenário principal (perfeito) e cenários alternativos, com o objetivo de demonstrar o funcionamento de um sistema (ou parte dele), através de interações com atores;
• O caso de uso deve descrever uma rotina bem definida do sistema e deve ser totalmente compreensível p/a equipe de desenvolvimento, quanto p/os clientes que detêm o conhecimento do domínio do sistema.
• Não existe na UML um padrão único para descrição de casos de uso;
66
Exemplo de Caso de Uso
Caso de Uso : Reserva de um Restaurante• Ator: Setor de Atendimento ao Cliente• Cenário Principal:
1. O Cliente informa ao atendente a data da reserva, que é repassada ao sistema;
2. O sistema mostra o mapa do salão do restaurante, indicando as mesas já reservadas e as que estão livres. O sistema calcula e exibe o número de reservas ainda disponíveis;
3. Um ou vários lugares disponíveis são escolhidos p/reserva;4. Um sistema solicita o CPF do cliente p/sua identificação no sistema. O
sistema pesquisa o cliente e mostra nome e telefones de contato, para confirmação;
5. Após confirmação, a reserva é efetuada em nome do cliente.
67
• Cenários Alternativos:
Alternativa: Data não disponível para reserva1a) O sistema verifica se p/a data informada, é possível efetuar
reservas. Caso negativo, uma nova data deve ser solicitada;
Alternativa: Reservas Esgotadas1a) O sistema verifica se para o dia informado, as reservas estão
esgotadas. O sistema deve possibilitar que seja informada nova data ou que se encerre a solicitação de reserva.
68
3.3 – Relacionamento entre casos de uso e atores
• Casos de Uso são conjuntos bem definidos de funcionalidades do sistema, que não podem trabalhar sozinhas no contexto, precisando se relacionar um c/os outros;
• Tipos de Relacionamentos:– Entre casos de Uso:
• Generalização;• Extensão;• Inclusão;
– Entre Atores Generalização;– Entre Atores e casos de uso Associação;
69
3.4 – Modelando requisitos com casos de uso
• Não existe ordem predefinida, dizendo que diagramas devem ser modelados primeiro (Casos de Uso ou Classes);
• Todos os casos de uso possuem um nome que os identifica;
• Dados um ator, descobrimos os casos de uso, fazendo vários questionamentos sobre ele;
• Após identificados os casos de uso, nos concentraremos em descrever os cenários principais;
• A partir dos cenários principais identificamos os alternativos;
70
3.5 – Criando o Diagrama de Casos de Uso
Reserva deRestaurante
Mostrar mapado salão
Cadastrar ClienteReserva
Criado em .....
“include”
“extend”Balcão
72
Emitir resultadode provas
Lançar resultadode provas
Aluno
Secretaria
Fronteira do Sistema
Professor
73
Uso de Pacotes
CadastrarAluno
MatricularAluno
Secretaria
Controle Acadêmico
Emitir HistóricoEscolar
74
3.6 – A Importância dos Protótipos
• O Produto final é sempre distante dos requisitos do usuário;
• O uso de protótipos (+ RAD):
– Facilita o desenvolvimento;– Reduz custos;– Aproxima o sistema final da especificação;– Facilita o levantamento de requisitos;
75
3.7 – Estudo de Caso“Uma empresa especializada em montagem de concursos públicos, necessita de um sistema que controle todo o processo seletivo. O sistema necessita receber os seguinte dados do processo seletivo:
– Razão social da empresa;– Nº do edital do concurso;– Localidade de trabalho;– .....
O sistema fornece os seguinte produtos:– Lista de candidatos X locais de prova X nº de vagas;– Cartão de confirmação do candidato;– Gabarito oficial;– Resultado parcial e final;– Resultado financeiro;
76
• Com base na situação foram detectados os seguintes casos de uso:
– Cadastrar concurso;– Cadastrar Inscrição de Candidato;– .....– Alocar candidatos nos locais de prova;– Cadastrar gabarito oficial;– .....– Emitir listagem de candidatos x locais de prova;– ....– Emitir cartão de confirmação do candidato;– .....– Listar resultado final;
77
Cadastrar Concurso
• Objetivo:Realizar o cadastramento prévio dos dados de um novo concurso, preparando o sistema para receber inscrições dos candidatos;
• Ator:Departamento de Seleção (identificado como usuário)
• Cenário Principal:– Usuário cadastra razão social da empresa;– Usuário cadastra dados do concurso;– ........
• Cenário Alternativo:– Prova sem cadastro de local de prova;
79
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
80
Capítulo 4 – Diagrama de Classes
4.1 – Conceitos Gerais
4.2 – Criando Diagramas de Classe
4.3 – Conceitos Avançados
4.4 – Modelando um Diagrama de Classes
4.5 – Estudo de Caso
81
4.1 – Conceitos Gerais
• Visibilidade Quem enxerga uma propriedade:
– Público;– Protegido;– Privado;
• Multiplicidade Cardinalidade de um relacionamento;
• Notas Informação textual;
82
4.2 – Criando Diagramas de Classe
Nome da Classe
Atributos
•Nome• ......
Operações
•Incluir ();• ........
Responsabilidades
•Controlar o acesso ......• ........
84
4.3 – Conceitos Avançados
• Classe de Associação:
Representa uma associação que possui propriedades de classe, tais como: atributos, operações e outras associações
CURSO DISCIPLINA
PERÍODO
•CARGA HORÁRIA PRÁTICA;
•CARGA HORÁRIA TEÓRICA
85
4.4 – Modelando um Diagrama de Classes
• Na Análise de Requisitos devemos nos preocupar em:
– Identificar as classes;
– Identificar os atributos das classes;
– Analisar os atributos, identificando aqueles que podem ser relacionamentos;
– Identificação preliminar de operações ;
– Identificação de classes semelhantes, identificando relacionamentos de herança;
– Lançamento de detalhes dos atributos;
86
4.5 – Estudo de Casos• Exemplo de classe do caso de realização de concursos:
CANDIDATOS À CLASSE CANDIDATOS À ATRIBUTOS
•EMPRESA;
•NR DO EDITAL;
•PERÍODO DE INSCRIÇÃO;
•MÍNIMO DE ACERTOS;
•LISTA DE CARGOS;
•STATUS
CONCURSO PÚBLICO
87
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
88
Criando Diagrama de Objetos
• Consiste numa instância do Diagrama de Classes;• São úteis para modelar estruturas complexas de dados;• O relacionamento entre os objetos é feito através de links;• Um link é uma instância de uma associação, não mostram multiplicidades;
Nome do objeto : Nome da Classse
Descrição = “Saia”
Cor = “Azul”
Tamanho = 40
Preço = R$ 50,00
89
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
90
Capítulo 6
6.1 – Diagrama de Seqüências
6.2 – Diagrama de Colaboração
6.3 – Modelando Diagramas de Seqüências
91
6.1 – Diagrama de Seqüências • Sua representação gráfica é baseada em 2 dimensões:
– Eixo Y msg trocadas no decorrer de um tempo de vida;– Eixo X Objetos participantes das insterações;
• As msg correspondem a chamadas de serviços dos objetos (ou seja suas operações);
Tela de Relatóriode Comissão Vendas Vendedor
GerenteRelatório de
comissão do Mês X
Relatório de Comissões
Total vendas (mês)
Lista de vendas
Nome do vendedor
*(Para cada vendedor)
93
6.2 – Diagrama de Colaboração
Curso X : Curso
Coordenador
Turma 1 : Turma
Disc 1 : Disciplina
2:(Para cada disciplina) Obter info da disciplina
1: Obter Grade ()
3: (Disciplina com pre-req.) Obter pre_requisito ()
4: Obter Turmas Ativas(Curso X)
94
6.3 – Modelando Diagrama de Seqüências
• O Diagrama de Seqüências pode ser desenhado de forma gradativa;
• Para cada mensagem surgida, verifica-se a existência de um objeto instanciado ou não, procedendo-se à sua criação, se necessário;
• O uso mais freqüente do DS é a representação de cenários de casos de uso;
95
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
97
7.1 - Estado• O Diagrama de Gráfico de Estado descreve o comportamento de
objetos, como reação a eventos discretos, por meio de seqüências de estados e ações que ocorrem durante a sua vida;
• Estado condição ou situação existente na vida de um objeto, durante a qual o estado satisfaz alguma condição, executa alguma atividade ou espera por algum evento;
BEBÊNascimento
98
7.2 - Transições
• Transição Relacionamento entre 2 estados, indicando que houve mudança de estado e determinadas ações serão executadas, quando um evento específico ocorrer, garantindo que condições foram satisfeitas;
• Evento Especificação de um tipo de ocorrência observável:– Condição ( V ou F);
– Recepção de um sinal;
– Outros;
99
7.3 – Estado Composto
• Estado Composto Estado que possui uma decomposição gráfica em 2 ou mais subestados concorrentes (sobrepostos) ou seqüênciais (disjuntos);
100
DE de Concurso Público
Aguardando Inscriçõesde Candidatos
Aguardando Definiçãodos Locais de prova
Aguardando realização da prova
Inscrições encerradas
Locais Lançados
Cadastrodo Concurso
102
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
103
Modelando o Diagrama de Atividades
• É um caso especial de diagrama de estados no qual todos os estados são ações ou subatividades;
Abrindo Arquivo
Carregando Texto Exibindo Texto
Liberando Ediçãodo texto
104
Identificarconta a pagar
Checar situação de pagamento
Lançar dados dopagamento
Alterar dados do pagamento
Atualizar Status da Conta
[já paga]
[não paga]
106
SUMÁRIO
CAP 0 - INTRODUÇÃOCAP I - CONCEITOS DE OOCAP II - VISÃO GERAL DA UMLCAP III - DIAGRAMAS DE CASO DE USOCAP IV - DIAGRAMA DE CLASSESCAP V - DIAGRAMA DE OBJETOSCAP VI - DIAGRAMAS DE INTERAÇÃOCAP VII - DIAGRAMA DE GRÁFICO DE ESTADOSCAP VIII - DIAGRAMA DE ATIVIDADESCAP IX - DIAGRAMAS DE IMPLEMENTAÇÃO
107
Capítulo 9
9.1 – Diagrama de Componentes
9.2 – Diagrama de Implantação
“Diagramas de Implementação mostram aspectos de implementação física, incluindo a estrutura de
componentes e a estrutura em tempo de execução.”
108
9.1 – Diagrama de Componentes
• Mostra a estrutura dos componentes, incluindo os classificadores que eles especificam e os artefatos que eles implementam;
• Componente Representa um módulo físicco, implementável e substituível, que corresponde à parte de um sistema. O componente encapsula a implementação e exibe um conjunto de interfaces
PEDIDOS.EXE
109
9.2 – Diagrama de Implantação
• Mostram a estrutura de nós nos quais os componentes são implantados;
• Mostram a configuração de elementos de processamento em tempo de execução;
• Um DI é um gráfico de nós conectados por associações de comunicação;
• Nó Objeto físico que representa um recurso de processamento;
SERVIDOR NOTES
112
Mapeamento
type TContaAPagar = class private FValorTotal: real; FValorParcial: real; FDescricao: string; FDataVencimento: TDateTime; FTipoConta: TTipoConta; procedure SetDataVencimento(const Value: TDateTime); procedure SetDescricao(const Value: string); procedure SetValorParcial(const Value: real); procedure SetValorTotal(const Value: real); procedure SetTipoConta(const Value: TTipoConta); public procedure lancar; procedure registrarPagamento; property DataVencimento: TDateTime read FDataVencimento write
SetDataVencimento; property Descricao: string read FDescricao write SetDescricao; property ValorTotal: real read FValorTotal write SetValorTotal; property ValorParcial: real read FValorParcial write SetValorParcial; property TipoConta: TTipoConta read FTipoConta write SetTipoConta;
113
procedure TFormCadastro.btnCadastrarClick(Sender: TObject);begin oConta.Descricao := editDescricao.Text; oConta.ValorTotal := edtValor.Text; oConta.DataVencimento := edtDataVencimento.Text;
oConta.Lancar;end;
115
Mapeamento
CLASSE TABELA
ATRIBUTO CAMPO DA TABELA
MÉTODO PODE SER IMPLEMENTADO COMO FUNÇÕES DO BANCO
RELACIONAMENTOS ATRIBUTOS DE CLASSE OU MÉTODOS
116
Processo OO
• Análise de Requisitos;• Análise;• Design (projeto);• Programação (implementação);• Testes;• Entrega;• Manutenção;