• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Analise e projetos orientados a objetos
 

Analise e projetos orientados a objetos

on

  • 10,096 views

 

Statistics

Views

Total Views
10,096
Views on SlideShare
10,080
Embed Views
16

Actions

Likes
2
Downloads
438
Comments
0

4 Embeds 16

http://mmelqui.blogspot.com.br 8
http://mmelqui.blogspot.com 5
http://tecnologia-de-valor.blogspot.com 2
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Analise e projetos orientados a objetos Analise e projetos orientados a objetos Document Transcript

    • – APOO – (OOA&D) Análise e Projeto de Sistemas Orientados a Objetos (Object-Oriented Analysis & Design ) Prof. Ricardo Luiz Carga Horária: 32 horas/aula 1APOO - Análise e Projeto de Sistemas Orientados a Objetos EMENTA• CICLO DE VIDA DE UM SISTEMA• MODELO DE NEGÓCIO• DEFINIÇÃO DOS REQUISITOS• ANÁLISE E PROJETO• O MODELO OBJETO• CONCEITOS DO PARADIGMA OBJETO• UML: TÉCNICAS, MÉTODOS E METODOLOGIAS• FERRAMENTAS DE ANÁLISE: EVOLUÇÃO E ESTADO ATUAL• EXERCÍCIOS DE PRÁTICA UTILIZANDO FERRAMENTAS CASE VOLTADAS PARA A ANÁLISE E PROJETO DE SISTEMAS ORIENTADOS A OBJETOSProf. Ricardo Luiz 2APOO - Análise e Projeto de Sistemas Orientados a Objetos BIBLIOGRAFIA• Bibliografia Básica: WAZLAWICK, Raul Sidnei. Análise e projetos de sistemas de informação orientados a objetos. Rio de Janeiro: Elsevier, 2004. BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: guia do usuário. 2.ed. Rio de Janeiro: Elsevier, 2005.Prof. Ricardo Luiz 3 1
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos BIBLIOGRAFIA• Bibliografia Complementar: LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos. 2.ed. Porto Alegre: Bookman, 2004. FOWLER, Martin et al. UML essencial. 3.ed. Porto Alegre: Bookman, 2005. KRUCHTEN, Phillippe. Introdução ao RUP: rational unified process. Rio de Janeiro: Ciência Moderna, 2003. CARDOSO, Caíque. UML na prática: do problema ao sistema. Rio de Janeiro: Ciência Moderna, 2003. GUEDES, Gilleanes. UML 2: guia de consulta prática. 2.ed. São Paulo: Novatec, 2005.Prof. Ricardo Luiz 4APOO - Análise e Projeto de Sistemas Orientados a Objetos LINKS ÚTEIS www.wthreex.com/rup/index.htm www.mundooo.com.br www.aspercom.com.br www.cpgei.cefetpr.br/~stad/Apostila%20de%20UML%20CEF ET.pdf https://jude.change-vision.com/jude- web/product/community.html www.uml.orgProf. Ricardo Luiz 5APOO - Análise e Projeto de Sistemas Orientados a Objetos PLANO DE AULA• Introdução aos Conceitos da Orientação a Objetos• Os Softwares nos Dias Atuais• Crise do Software• Metodologia RUP• Linguagem de Modelagem UML• Diagramas da UML• Apresentação da Ferramenta CASE : JUDE• Exercícios de Prática Utilizando JUDEProf. Ricardo Luiz 6 2
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos AVALIAÇÃO• DIVIDIDA EM DUAS PARTES: • PROVA ESCRITA • VALOR: 4,0 PONTOS • DATA DE APLICAÇÃO: 29/08/2006 • TRABALHO PRÁTICO • VALOR: 6,0 PONTOS • DATA DE ENTREGA: 04/09/2006Prof. Ricardo Luiz 7APOO - Análise e Projeto de Sistemas Orientados a Objetos TRABALHO PRÁTICOELABORAR A ANÁLISE E O PROJETO DE UM SOFTWARE EMEQUIPE UTILIZANDO UMA FERRAMENTA CASE, PREVENDOFUNCIONALIDES WEB.• ELEMENTOS DO TRABALHO: • PROPOSTA DE ESPECIFICAÇÃO DE SOFTWARE (CONFORME DOCUMENTO-MODELO!) • 1 DIAGRAMA DE CASO DE USO DE NEGÓCIO • 1 DIAGRAMA DE CASO DE USO • OS CASOS DE USO MANTER, CONSULTAR e EMITIR RELATÓRIOS DEVEM SER TODOS PREVISTOS! • 1 ESPECIFICAÇÃO DO CASO DE USO(PRINCIPAL) (CONFORME DOCUMENTO-MODELO!) • ELEMENTOS: ATOR(ES) ; FLUXOS PRINCIPAL, ALTERNATIVOS E DE EXCEÇÕES; PRÉ-CONDIÇOES E PÓS-CONDIÇÕES; LISTA DAS CLASSES ENVOLVIDAS; REFERÊNCIAS AOS CASOS DE USOS RELACIONADOS. • 1 DIAGRAMA DE CLASSES 8APOO - Análise e Projeto de Sistemas Orientados a ObjetosOO - PARADIGMA ORIENTADO A OBJETOSProf. Ricardo Luiz 9 3
    • APOO - Análise e Projeto de Sistemas Orientados a ObjetosOO - PARADIGMA ORIENTADO A OBJETOSCONTEXTO Solucionar problemas existentes no desenvolvimento de Softwares Complexos com baixo custo de desenvolvimento e manutenção Mundo Real é formado por objetos que se interagem Representar esses objetos em um software é mais natural e permanente do que representar a sua funcionalidade (decomposição funcional), pois essa é mutávelProf. Ricardo Luiz 10APOO - Análise e Projeto de Sistemas Orientados a ObjetosOO - PARADIGMA ORIENTADO A OBJETOSPARADIGMA TRADICIONAL X OO Procedure Dados Dados X Métodos Métodos Procedure Dados Y Dados Procedure Z Métodos ObjetoProf. Ricardo Luiz 11APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOSOBJETO Definição Qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e métodos que os manipulam Exemplo: cachorro Bilu, casa do Ricardo, carro da Ana, etc. Atributos(c/valores): Métodos: •Placa = LVY-1234 •Ligar o Motor() •Proprietário = João •Andar() •Cor = Vermelha •Freiar() •Ano = 2002 •Desligar o Motor() • ... • ...Prof. Ricardo Luiz 12 4
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOSCLASSE Definição Abstração de um conjunto de objetos similares do mundo real Exemplo: cachorro, casa, carro, etc. Atributos(s/valores): Operações: •Placa •Ligar o Motor() •Proprietário •Andar() •Cor •Freiar() •Ano •Desligar o Motor() • ... • ...Prof. Ricardo Luiz 13APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOSRELAÇÃO CLASSE x OBJETO Todo objeto é uma instância de uma Classe Todas as instâncias de uma classe têm valores próprios para os atributos especificados na classe Os objetos representados por determinada classe diferenciam-se entre si pelos valores de seus atributosProf. Ricardo Luiz 14APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOSRELAÇÃO CLASSE x OBJETOCLASSE LivroOBJETOS Bíblia Relatório DicionárioProf. Ricardo Luiz 15 5
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOSRELAÇÃO CLASSE x OBJETOCLASSE CASA Nome Portas Quartos Salas Localização Atributos Cozinha Telhado Reformar Pintar Limpar Mobiliar OperaçõesOBJETOSProf. Ricardo Luiz 16APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOSRELAÇÃO CLASSE x OBJETOProf. Ricardo Luiz 17APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOSHERANÇA Definição Mecanismo que permite definir uma nova classe (subclasse) a partir de uma classe já existente (superclasse) Comportamento Ao se estabelecer uma Especialização (subclasse) de uma classe, a subclasse herda as características comuns da superclasse A subclasse pode adicionar novos atributos e métodos, como também reescrever métodos herdados Tipos: Herança Simples: uma classe é subclasse de somente uma superclasse Herança Múltipla: uma classe é subclasse de várias superclasses 18Prof. Ricardo Luiz 6
    • Generalização (Superclasse) Portas Quartos Reformar Pintar Salas Localização Limpar Mobiliar Cozinha Telhado CASA PRAIA FAVELA MANSÃO Limpar Piscina Contratar Criadagem (Subclasses) Piscina Quadras Especialização 19 Animal superclasse Selvagem Doméstico subclassesHierarquia de Classes Gato Cão De Raça Vira-Lata Objeto Rex Rex instância da classe Vira-Lata 20 VeículoHierarquia de Classes Véiculo de Veículo à Veículo Rodas Motor Aéreo Bicicleta Caminhão Vapor Avião Planador Caminhão Caminhão Caminhão VW Ford GM 21 7
    • Hierarquia de Classes Ex: Sistema de Administração Universitária Nome, Data de Nasc. RG Nascer, Comer, Dormir, Morrer Pessoa RG (registro) Cursar Estudante Docente Funcionário Graduação Pós-Graduação Herança Múltipla Assistente 22 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS ENCAPSULAMENTO DE DADOS Definição Os DADOS e os MÉTODOS são empacotados sob um NOME e podem ser reusados como uma especificação ou componente de programa Os atributos de um objeto só podem ser manipulados pelos próprios métodos do objeto Vantagens Nome CASA Segurança de acesso Portas Quartos aos dados de um objeto Facilita o reuso de código Atributos Salas Localização Cozinha Telhado Reformar Pintar Métodos Limpar Mobiliar 23 Prof. Ricardo Luiz APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS POLIMORFISMO (VÁRIAS FORMAS) Definição Capacidade de uma mensagem(mecanismo de comunicação entre os objetos) ser executada de acordo com as características do objeto que está recebendo o pedido de execução do serviço (Superclasse) FIGURA DESENHAR( ) Operação - Definição do Método (Subclasses) CÍRCULO QUADRADO TRIÂNGULOImplementações do Método DESENHAR( ) DESENHAR( ) DESENHAR( ) 24 Prof. Ricardo Luiz 8
    • APOO - Análise e Projeto de Sistemas Orientados a ObjetosProf. Ricardo Luiz 25APOO - Análise e Projeto de Sistemas Orientados a Objetos O SOFTWARE NOS DIAS ATUAIS• COMBUSTÍVEL DOS NEGÓCIOS MODERNOS• AJUDA A CRIAR, ACESSAR E VISUALIZAR A INFORMAÇÃODE FORMAS ANTERIORMENTE INCONCEBÍVEIS• BOA NOTÍCIA: A ECONOMIA MUNDIAL DEPENDE CADAVEZ MAIS DO SOFTWARE• MÁ NOTÍCIA: OS SISTEMAS CRESCEM EM TAMANHO,COMPLEXIDADE, DISTRIBUIÇÃO E IMPORTÂNCIA MAISRÁPIDOS QUE O APRENDIZADO DE DESENVOLVIMENTOProf. Ricardo Luiz 26APOO - Análise e Projeto de Sistemas Orientados a ObjetosProf. Ricardo Luiz 27 9
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos A CRISE DO SOFTWARERazões para a Crise do Software Estimativas de calendário e custos pouco precisos Produtividade mal controlada Qualidade baixa Dificuldade de manutençãoProf. Ricardo Luiz 28APOO - Análise e Projeto de Sistemas Orientados a Objetos A CRISE DO SOFTWARECausas da Crise Natureza lógica e não física Proveniente de trabalho de equipe Ineficiente definição do que o usuário pretende Deficiente formação dos técnicos envolvidosProf. Ricardo Luiz 29APOO - Análise e Projeto de Sistemas Orientados a Objetos OS MITOS DO SOFTWAREDos Gestores Possuímos normas, então está tudo controladoDos Usuários Basta definir em geralDos Analistas e Programadores Quando um programa funciona, então está prontoProf. Ricardo Luiz 30 10
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos CRISE DO SOFTWAREConseqüências Prazos de desenvolvimento não são cumpridos 31% dos projetos de software não terminam 53% custam 200% do valor original estimado Empresas e governo americanos gastaram em 1995, U$ 81 bi em projetos de software que foram cancelados FASES CUSTO DE MANUTENÇÃO DEFINIÇÃO 1x DESENVOLVIMENTO 1.5 - 6x MANUTENÇÃO 60 - 100xProf. Ricardo Luiz 31APOO - Análise e Projeto de Sistemas Orientados a ObjetosSOLUÇÃO PARA A CRISE DO SOFTWARE Adoção de uma Metodologia de Desenvolvimento de Software Rational Unified Process (Processo Unificado da Rational* Software Corporation) Empresa fundada em 1981 pelos autores da UML Grady BOOCH, James RUMBAUGH, Ivar JACOBSON * Metodologia adquirida pela IBM em 2003. Agora IBM RationalProf. Ricardo Luiz 32APOO - Análise e Projeto de Sistemas Orientados a Objetos METODOLOGIA RUPPráticas adotadas Desenvolver o software iterativamente Gerenciar os requisitos Usar arquiteturas baseadas em componentes Modelar visualmente o software Verificar continuamente a qualidade do software Controlar mudanças do softwareProf. Ricardo Luiz 33 11
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS1 - Desenvolver o software iterativamente Baseado no Ciclo de Vida Iterativo e Incremental Foco da iteração depende da Fase 34APOO - Análise e Projeto de Sistemas Orientados a Objetos REVISÃO DOS CICLOS DE VIDACiclo de Vida em Cascata (Clássico)Levantamento de Projetos reaisRequisitos raramente Análise de seguem o fluxo Requisitos seqüencial que Projeto o modelo propõe CodificaçãoO cliente deve ter Testespaciência. Uma Implantaçãoversão executável dosoftware só fica Manutençãodisponível numaetapa avançada dodesenvolvimentoProf. Ricardo Luiz 35APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS2 - Gerenciar os requisitos Requisito : "uma condição ou capacidade na qual o sistema deve estar em conformidade". Atividades a serem desempenhadas Analisar o problema Entender a necessidade do usuário Definir o sistema Gerenciar o escopo do projeto Refinar a definição do sistema Gerenciar as mudanças nos requisitos Desenvolvimento por Casos de Uso(UML)Prof. Ricardo Luiz 36 12
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS3 - Usar arquiteturas baseadas emcomponentes Componentes - grupos de código coesos e com interfaces bem definidas que encapsulam seus conteúdos Vantagens Arquiteturais Ter o controle intelectual do projeto Reuso em larga escala Base para o gerenciamento de projetosProf. Ricardo Luiz 37APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS4 - Modelar visualmente o software Uso de componentes semânticos (gráficos e textos) para capturar a complexidade do sistema. Linguagem utilizada: UMLProf. Ricardo Luiz 38APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS5 - Verificar continuamente a qualidade dosoftware Qualidade dos artefatos bem como das atividades que os produzem Qualidade de Produto Qualidade de Processo Medindo a Qualidade Avaliando a QualidadeProf. Ricardo Luiz 39 13
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS6 - Controlar mudanças do software Coordenar atividades e artefatos Coordenar alterações e releasesProf. Ricardo Luiz 40APOO - Análise e Projeto de Sistemas Orientados a Objetos Unified Modeling Language (Linguagem de Modelagem Unificada) Padronizada pela OMG* - Object Management Group * OMG – Organismo Internacional Não-Lucrativo da Indústria de Computadores aberto a novos membrosProf. Ricardo Luiz 41APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Importância da Modelagem (Criar Modelos) Um modelo é uma simplificação da realidade. A modelagem é uma técnica de engenharia aprovada e bem aceitaProf. Ricardo Luiz 42 14
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling LanguageImportância da Modelagem (Criar Modelos) Criamos modelos para compreender melhor o que queremos construir MODELO OBJETO REALProf. Ricardo Luiz 43APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language O que é ? Linguagem de modelagem unificada utilizada para visualizar, especificar, construir e documentar sistemas Orientados a Objetos.Prof. Ricardo Luiz 44APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling LanguageCaracterísticas Visualizar Ferramenta gráfica que facilita o entendimento do projeto Afinal : “Uma imagem vale mais do que mil palavras” Especificar Ajuda a construir modelos mais precisos Construir Seus modelos podem ser diretamente conectados a linguagens de programação Documentar Documenta-se a arquitetura do sistema e seus detalhesProf. Ricardo Luiz 45 15
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Principais Autores Grady BOOCH James RUMBAUGH Ivar JACOBSONProf. Ricardo Luiz 46APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language BOOCH RUMBAUGH JACOBSONOMT - Object Modeling TechniqueOOSE -Object Oriented Software EngineeringProf. Ricardo Luiz 47APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling LanguageHistórico da UMLProf. Ricardo Luiz 48 16
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling LanguageBlocos de Construção da UMLO vocabulário da UML abrange três tipos de Blocos de construção:1. Itens2. Relacionamentos3. DiagramasProf. Ricardo Luiz 49APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling LanguageBlocos de Construção da UML1. Itens Estruturais Comportamentais Agrupamento Anotacionais2. Relacionamentos Dependência Associação Generalização RealizaçãoProf. Ricardo Luiz 50APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling LanguageBlocos de Construção da UML3. Diagramas (9 – vs. 1.4 / 13 vs. 2.0) Diagramas Estruturais Diagramas Dinâmicos Classes Casos de Uso Objetos Atividades Componentes Estados Implantação Diagramas de Interação Pacotes* Seqüências Estruturas Compostas* Visão Geral* Temporal* Comunicação*(Colaboração)* Novos Diagramas da UML 2.0Prof. Ricardo Luiz 51 17
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃOItens Estruturais Partes mais estáticas do modelo, representam os elementos conceituais ou físicos Existem 7 tipos de itens estruturaisProf. Ricardo Luiz 52APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃOItens Estruturais (7) 1. Classes: São descrições como conjunto de objetos Graficamente: 2. Interface: Coleção de operações que especificam serviços de uma classe Graficamente: 3. Colaborações: Definem interações Graficamente: 4. Caso de uso: É a descrição de um conjunto de ações Graficamente:Prof. Ricardo Luiz 53APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃOItens Estruturais (7) 5. Classes ativas: São classes cujos objetos têm um ou mais processos e, portanto, podem iniciar atividade de controle Graficamente: 6. Componentes: São partes físicas e substituíveis de um sistema Graficamente: 7. Nó: Elemento físico existente em tempo de execução Graficamente:Prof. Ricardo Luiz 54 18
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃOItens Comportamentais (2) 1. Interação: Abrange um conjunto de mensagens trocadas entre um conjunto de objetos. Graficamente: exibir 2. Máquina de estado: Especifica as seqüências de estados pelas quais os objetos ou interações passam . Graficamente:Prof. Ricardo Luiz 55APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃOItem de Agrupamento (1) 1. Pacote: Organização de elementos em grupos Graficamente:Item Anotacional (1) 1. Nota: Símbolo para representar restrições e comentários anexados a um elemento Graficamente:Prof. Ricardo Luiz 56APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃORelacionamentos (4) 1. Dependência: Relacionamento semântico entre dois itens. Graficamente 2. Associação: Relacionamento estrutural que descreve um conjunto de ligações. Graficamente ASSOCIAÇÃO AGREGAÇÃO COMPOSIÇÃO 3. Generalização: Relacionamento de especialização/generalização. Graficamente 4. Realização: Relacionamento semântico entre classificadores. GraficamenteProf. Ricardo Luiz 57 19
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃODiagramas •O uso de diagramas permite a visualização de um sistema de vários pontos de vista •Um diagrama é a representação gráfica de um conjunto de elementos (Blocos de Construção) •A UML permite combinar tipos diferentes de diagramas para focalizar diferentes aspectos de um sistema, podendo ser criados novos tiposProf. Ricardo Luiz 58APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – DIAGRAMAS Apresentação Rápida1. Diagrama de Casos de UsoProf. Ricardo Luiz 59APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida2. Diagrama de AtividadesProf. Ricardo Luiz 60 20
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida3. Diagrama de SeqüênciasProf. Ricardo Luiz 61APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida4. Diagrama de Comunicação(antigo Colaboração)Prof. Ricardo Luiz 62APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida5. Diagrama de ClassesProf. Ricardo Luiz 63 21
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida6. Diagrama de ObjetosProf. Ricardo Luiz 64APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida7. Diagrama de EstadosProf. Ricardo Luiz 65APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida8. Diagrama de PacotesProf. Ricardo Luiz 66 22
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida9. Diagrama de ComponentesProf. Ricardo Luiz 67APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida10. Diagrama de Implantação comunicação dependência nóProf. Ricardo Luiz 68APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida11. Diagrama TemporalProf. Ricardo Luiz 69 23
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida12. Diagrama de Estruturas CompostasProf. Ricardo Luiz 70APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida13. Diagrama de Visão GeralProf. Ricardo Luiz 71APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – DIAGRAMASPrincipais Diagramas 1. Diagrama de Casos de Uso 2. Diagrama de ClassesProf. Ricardo Luiz 72 24
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos CARACTERÍSTICAS DOS DIAGRAMAS1. Diagrama de Casos de Uso Exibe um conjunto de casos de uso, atores e seus relacionamentosProf. Ricardo Luiz 73APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOElementos Ator Caso de Uso RelacionamentoProf. Ricardo Luiz 74APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOAtor Necessariamente usuário do sistema Entidade externa(pessoas, órgãos, equipamentos ou outros sistemas) que interage diretamente com o sistema para conseguir um objetivo desejado Pode existir o relacionamento de herança entre atores Nome do Ator (Substantivo)Prof. Ricardo Luiz 75 25
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOAtor Exemplos: pessoa órgão equipamento sistema Cliente Prefeitura Leitora de CEP dos Correios Gabaritos WebProf. Ricardo Luiz 76APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOAtor Exemplos de Relacionamento(Herança): Cliente MédicoCliente Caixa Cliente WEB Oftalmologista Cardiologista EletrônicoProf. Ricardo Luiz 77APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOCaso de Uso Conjunto de seqüências possíveis das interações entre o sistema e seus atores externos, relacionadas a um determinado objetivo Na prática, é que o acontece quando o ator interage com o sistema Podem existir os relacionamentos de Herança ou Dependência entre Casos de Uso Nome do Caso de Uso(Ação)Prof. Ricardo Luiz 78 26
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Exemplos: Cadastrar Pacientes Efetuar Login Realizar Pedido Emitir Relatório de VendasProf. Ricardo Luiz 79APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Relacionamentos: Herança A B Dependência Inclusão (Include) <<include>> A B Extensão (Extend) <<extend>> A BProf. Ricardo Luiz 80APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Exemplos de Relacionamento(Herança): Cadastrar Cadastrar Pessoa Funcionário Cadastrar Cadastrar Cadastrar CadastrarPessoa Física Pessoa Jurídica Funcionário Funcionário Público TerceirizadoProf. Ricardo Luiz 81 27
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOCaso de Uso Exemplos de Relacionamento(Dependência): Inclusão(Include) Extensão(Extend) <<include>> <<extend>> Consultar SPC Pesquisar Produto <<extend>>Cadastrar <<include>> Cliente Consultar Realizar Venda Imprimir Orçamento SERASA USA PODERÁ USAR Prof. Ricardo Luiz 82 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USORelacionamento (Ator e Caso de Uso) Chamado de Associação (de Comunicação) Uma associação pode ser em: ambas as direções (sem navegabilidade) uma direção (com navegabilidade), indicando o sentido da comunicação Cadastrar Registrar Cliente NotasSecretária Professor Aluno Prof. Ricardo Luiz 83 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOExemplo 1: Biblioteca WEB Prof. Ricardo Luiz 84 28
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USOExemplo 2: Sistema Bancário WEBProf. Ricardo Luiz 85APOO - Análise e Projeto de Sistemas Orientados a Objetos CARACTERÍSTICAS DOS DIAGRAMAS2. Diagrama de Classes (de Entidade) Apresenta as classes e os relacionamentos entre elas Elementos Classe RelacionamentoProf. Ricardo Luiz 86APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Estereótipos de Classes Classe Fronteira (<<boundary>>) Modelam as interfaces entre sistema e atores Classe de Controle (<<control>>) Controlam o fluxo operacional do programa Classe de Entidade (<<entity>>) Modelam entidades do mundo real. Criam objetos que gerenciam dados.Prof. Ricardo Luiz 87 29
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSESDiagrama de Classes com EstereótiposProf. Ricardo Luiz 88APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação Significa que há uma ligação entre os objetos das classes associadas Uma associação entre Cliente e Conta Corrente significa que os objetos da classe Cliente estão conectados aos objetos da classe Conta Corrente São representados por linhas ligando as classesProf. Ricardo Luiz 89APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação (Continuação) Multiplicidade Representa a cardinalidade das associações em um diagrama de classes Especifica quantas instâncias de uma classe podem participar da associaçãoProf. Ricardo Luiz 90 30
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação (Continuação) Multiplicidade Exemplos: Classe AssociativaProf. Ricardo Luiz 91APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação (Continuação) Classe Associativa Representa a associação entre classes Ocorre geralmente quando: a Multiplicidade entre as classes é maior que 1 em ambos os lados existem atributos surgidos a partir da associação Classe AssociativaProf. Ricardo Luiz 92APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Agregação É um relacionamento entre o todo e suas partes Um pequeno losango em branco é desenhado ao lado da classe que representa o todo Há uma certa subordinação entre as classes Relacionamento por referência O Todo “Nasce” SEM as Partes!Prof. Ricardo Luiz 93 31
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Composição É um relacionamento entre o todo e suas partes Um pequeno losango preto é desenhado ao lado da classe que representa o todo Relacionamento por valor O Todo “Nasce” COM as Partes!Prof. Ricardo Luiz 94APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Generalização Conhecido também como Herança refere-se a 1Prof. Ricardo Luiz 95APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Papéis nas Associações A extremidade de uma associação, na conexão com a classe, é denominada : “o papel que a classe desempenha na associação”Prof. Ricardo Luiz 96 32
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Navegabilidade nas Associações Unidirecional Apenas uma classe conhece a outra Cliente não tem Pedido tem a responsabilidade de responsabilidade de identificar seus pedidos identificar seu Cliente Bidirecional As duas classes se “conhecem” /* em JAVA -------- /* em JAVA -------- Class Cliente { Class Pedido { Private set peds Private Cliente cli Public set ObterPedidos( )} Public Cliente ObterCli ( )}Prof. Ricardo Luiz 97APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Atributos e Métodos Estereótipo <<entity>> Nome Venda Atributos -data: date -status: Integer -obs: String -valorTotal: Float Métodos +calcImposto() +calcTotal() -calcSubTotal() +setCliente(cliente: Cliente) +inserirItem(item: ItemVenda)Prof. Ricardo Luiz 98APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade Conceito Como uma classe, atributo ou método pode se visto e usado por outros elementos <<entity>> Tipos Venda -data: date Privada (-) -status: Integer -obs: String Protegida (#) -valorTotal: Float de Pacote (~) +calcImposto() +calcTotal() Pública (+) -calcSubTotal() +setCliente(cliente: Cliente) +inserirItem(item: ItemVenda)Prof. Ricardo Luiz 99 33
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos Privada Somente os objetos da própria classe podem vê-los Símbolo: (-) <<entity>> Venda -data: date -status: IntegerAtenção! Regra Geral para Atributos: -obs: String -valorTotal: FloatVia de Regra, Todos os Atributos de uma +calcImposto()Classe devem ser Privados !!! +calcTotal() -calcSubTotal() -setCliente(cliente: Cliente) Mas por quê ? -inserirItem(item: ItemVenda) Resposta: Para Manter o Encapsulamento da Classe! Prof. Ricardo Luiz 100 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos Protegida Somente os objetos da própria classe e das suas subclasses podem vê-los Símbolo: (#) <<entity>> Venda -data: date -status: Integer -obs: String -valorTotal: Float +calcImposto() +calcTotal() -calcSubTotal() # setCliente(cliente: Cliente) #inserirItem(item: ItemVenda) <<entity>> Venda Consignada Prof. Ricardo Luiz 101 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos de Pacote Somente os objetos de classes do mesmo pacote podem vê-los Símbolo: (~) Recursos Humanos Vendas <<entity>> Venda <<entity>> -data: date Cliente -status: Integer -razaoSocial: String -obs: String -cpf: String 1 0..* -valorTotal: Float +getRazaoSocial() +calcImposto() +setRazaoSocial(razaoSocial: String) +calcTotal() -calcSubTotal() ~ setCliente(cliente: Cliente) ~inserirItem(item: ItemVenda) Prof. Ricardo Luiz 102 34
    • APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos Pública Todos os objetos de qualquer classe podem vê-los Símbolo: (+)RecursosHumanos Vendas <<entity>> Venda <<entity>> -data: date Cliente -status: Integer -razaoSocial: String -obs: String -cpf: String 1 0..* -valorTotal: Float +getRazaoSocial() +calcImposto() +setRazaoSocial(razaoSocial: String) +calcTotal() -calcSubTotal() + setCliente(cliente: Cliente) +inserirItem(item: ItemVenda)Prof. Ricardo Luiz 103APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Diagrama de Classes com Atributos e Métodos <<entity>> Venda -data: date <<entity>> -status: Integer Cliente -obs: String <<entity>> -valorTotal: Float Pagamento -razaoSocial: String -cpf: String 0..* +calcImposto() 1 -quantia: Float 1 1..* +getRazaoSocial() +calcTotal() +getQuantia() +setRazaoSocial(razaoSocial: String) -calcSubTotal() +setCliente(cliente: Cliente) +inserirItem(item: ItemVenda) <<boundary>> FormVenda 1 <<entity>> <<entity>> +criarVenda() Cartao Cheque +gravarVenda() 1..* -numero: Integer -banco: Integer -tipo: Integer <<entity>> ItemVenda <<entity>> Produto 1 0..* -qtd: Integer <<entity>> -descricao: String +setQuantidade(qtd: Integer) Dinheiro +setProduto(produto: Produto)Prof. Ricardo Luiz 104 35