Apresentação do curso

Tamanho: px
Começar a partir da página:

Download "Apresentação do curso"

Transcrição

1 Orientação a Objetos Hyggo Oliveira de Almeida Laboratório de Sistemas Embarcados e Computação Pervasiva Centro de Engenharia Elétrica e Informática Universidade Federal de Campina Grande Apresentação do curso Motivação para o curso Objetivos do curso Estudo de caso Conteúdo Resultado esperado Avaliação Bibliografia Dúvidas??? 1

2 Motivação para o curso Por que orientação a objetos??? Voltemos um pouco no tempo nos anos 80 e antes disso! O que é que está na moda? Paradigma estruturado!!! Análise (Entender o problema) Projeto (Modelar a solução) Programação (Implementar a solução) Pós-Sistemas de Informação - FAL 3 Motivação para o curso Entidades de abstração Funções e procedimentos Sistemas comerciais tradicionais Controle de estoque, por exemplo Linguagens Pascal, Cobol, C, Fortran Pós-Sistemas de Informação - FAL 4 2

3 Motivação para o curso Conjunto de procedimentos e funções invocados com base em uma seqüência Nível de complexidade dos sistemas condiz com o suporte do paradigma Problema Calcular o total do estoque Solução calculartotalestoque(); Pós-Sistemas de Informação - FAL 5 Motivação para o curso Problemas Aumento da complexidade dos sistemas Difícil gerenciamento Entidade de abstração muito granular Função Sistema corporativo Calcular lucro das vendas Recuperar informações das filiais Transmitir dados via rede Recuperar informações de câmbio Recuperar informações de taxas de juros... Pós-Sistemas de Informação - FAL 6 3

4 Motivação para o curso SIMULA 67 Simulação de objetos do mundo real Objetos e relacionamento entre eles Que tal aproveitar a abstração??? Cadeira Sala Mesa Funções e dados dispersos e não coesos Enxergar o problema... pensando em objetos!!! Pós-Sistemas de Informação - FAL 7 Objetivo do curso Convencê-los de que OO é uma boa ferramenta para o desenvolvimento de sistemas de informação Introduzir conceitos básicos de OO Noções de... Análise orientada a objetos Projeto orientado a objetos Programação orientada a objetos Notação UML diagramas mais usados Pós-Sistemas de Informação - FAL 8 4

5 Estudo de caso Sistema de informação, em geral, possui complexidade de projeto Maior que a complexidade algorítmica De acordo com o tempo de curso......foco em aprender os conceitos...saber como aplicá-los Vamos desenvolver uma agenda simples Nomes, endereços e telefones Pós-Sistemas de Informação - FAL 9 Conteúdo do curso (Parte I) OO - Conceitos básicos Visão abstrata Classificação Especialização Polimorfismo Visão concreta Encapsulamento, information hiding, passagem de mensagem Herança Ligação dinâmica, variáveis polimórficas Entendendo o estudo de caso com OO! Pós-Sistemas de Informação - FAL 10 5

6 Conteúdo do curso (Parte II) Análise Orientada a Objetos Análise de requisitos UML O que é? Pra que serve? Diagrama de casos de uso Modelo conceitual Analisando o estudo de caso! Pós-Sistemas de Informação - FAL 11 Conteúdo do curso (Parte III) Projeto Orientado a Objetos Explodindo casos de uso: diagramas de interação Diagrama de seqüência Diagrama de colaboração Definindo classes, atributos e métodos: diagrama de classes Projetando o estudo de caso! Pós-Sistemas de Informação - FAL 12 6

7 Conteúdo do curso (Parte IV) Programação Orientada a Objetos Introdução à linguagem Java Mapeando conceitos para elementos da linguagem Oi, eu sou um programa Java! Programando o estudo de caso! Pós-Sistemas de Informação - FAL 13 Ao terminar o curso vocês devem... conhecer conceitos básicos da orientação a objetos! entender por que OO pode ser uma boa solução para o desenvolvimento de software saber realizar uma análise orientada a objetos entender conceitos de projeto orientado a objetos ter noções básicas de programação orientada a objetos Pós-Sistemas de Informação - FAL 14 7

8 Avaliação (em dupla) Entendendo o estudo de caso com OO! Exercício: 2,5 pontos Analisando o estudo de caso! Exercício: 2,5 pontos Projetando o estudo de caso! Exercício: 2,5 pontos Programando o estudo de caso! Exercício: 2,5 pontos Pós-Sistemas de Informação - FAL 15 Bibliografia Livros Object-Oriented Analysis and Design with Applications, Grady Booch,1993 Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, Larman, Prentice-Hall, 1998 UML Guia do usuário, James Rambaugh, Campus, 2000 Java How to Program, Harvey M. Deitel Paul J. Deitel, Prentice Hall, 2002 Artigos Object Orientation Revealed!, Dr Ashley M. Aitken, School of Information Systems, Curtin University of Technology, Perth, Australia Outras fontes Internet!!! Pós-Sistemas de Informação - FAL 16 8

9 Dúvidas sobre o curso??? Dúvidas sobre o conteúdo... É só isso??? Isso tudo professor??? E vai dar tempo??? Meu de contato: Pós-Sistemas de Informação - FAL 17 Conceitos Básicos de Orientação a Objetos Visão abstrata Classificação Especialização Polimorfismo Visão concreta Encapsulamento Information hiding Passagem de mensagem Herança Ligação dinâmica Variáveis polimórficas Entendendo o estudo de caso com OO! 9

10 Visão abstrata Por que visão abstrata? Em geral, os conceitos de orientação a objetos são ensinados utilizando a tecnologia que dá suporte à OO Java em 15 dias e meio C++ e OO, sem desespero Agora vai! PHP com OO É pra amanhã? Java e OO em uma noite! Problema! Não se sabe a diferença entre conceito e tecnologia É possível implementar um código Java que não é orientado a objetos!!! Pós-Sistemas de Informação - FAL 19 Visão abstrata Os conceitos de OO são independentes de tecnologia O paradigma de OO define uma nova maneira de enxergar o mundo (leia-se, contexto do problema) Primeiro vamos aprender a enxergar o mundo pensando em objetos depois aprendemos uma tecnologia para tornar a implementação possível Em Java! Pós-Sistemas de Informação - FAL 20 10

11 Visão abstrata Orientação a objetos é... enxergar e modelar o mundo como um conjunto de objetos interrelacionados e em interação Pós-Sistemas de Informação - FAL 21 Visão abstrata Uma vez que já vemos o mundo desta forma... tornase bem conveniente Enxergar o mundo ou qualquer outro sistema... inclusive um sistema de software. Pós-Sistemas de Informação - FAL 22 11

12 Visão abstrata Ok... mas o que são objetos? Árvore Casa Pessoa Bicicleta Churrasqueira Carro Árvore Pós-Sistemas de Informação - FAL 23 Visão abstrata Um objeto é uma entidade física ou conceitual que possui uma identidade, propriedades e operações. E que pode ser construído e destruído. Pós-Sistemas de Informação - FAL 24 12

13 Visão abstrata Identidade define a unicidade do objeto! MinhaÁrvore MinhaCasa MeuPai Minha Bicicleta Minha Churrasqueira MeuCarro MinhaOutra Árvore Pós-Sistemas de Informação - FAL 25 Visão abstrata Propriedades definem o estado do objeto!!! cor: verde espécie: pé de mato cor: marrom valor: nome: João profissão: jogador idade: 45 cor: preta marchas:32 grelhas: 4 material: ferro cor: azul marca: ford ano: 1975 quilometragem: 5000 cor: verde espécie: pé de pau! Pós-Sistemas de Informação - FAL 26 13

14 Visão abstrata Operações definem os comportamentos que podem ser desempenhados pelo objeto!!! germinar fazer sombra andar comer beber acelerar frear assar acelerar frear ligar desligar germinar fazer sombra Pós-Sistemas de Informação - FAL 27 Visão abstrata Mas eu preciso sempre enxergar todos os objetos do meu mundo (ou do meu sistema)??? Não!!! A maneira como eu enxergo o mundo depende do contexto do problema!!! Pós-Sistemas de Informação - FAL 28 14

15 Visão abstrata De que ferramenta eu preciso pra enxergar o mundo de acordo com o contexto??? Abstração Exercício intelectual de seleção de alguns aspectos de domínio do problema, desconsiderando outros aspectos não interessantes para o problema em questão Conceito fundamental da OO Pós-Sistemas de Informação - FAL 29 Visão abstrata Mundo Apenas o que interessa no mundo... Contexto do problema... de acordo com o contexto! Pós-Sistemas de Informação - FAL 30 15

16 Visão abstrata Objeto Propriedades: Modelo Descrição Custo Preço de venda Propriedades: Tamanho Velocidade Número Instruções Vendedor Estudante Pós-Sistemas de Informação - FAL 31 Visão abstrata Objeto Operações: faturar garantir requisitar Operações: somar subtrair multiplicar dividir Abstração Vendedor Enxergar os objetos de acordo com o contexto Estudante Pós-Sistemas de Informação - FAL 32 16

17 Visão abstrata Outros conceitos fundamentais da OO Classificação Orientação a Objetos Especialização Polimorfismo Pós-Sistemas de Informação - FAL 33 Visão abstrata Classificação Agrupamento de objetos que possuem um conjunto de propriedades e operações em comum. Define um tipo de objetos pelo conjunto de propriedades e operações cor: verde espécie: pé de mato germinar fazer sombra cor: verde espécie: pé de pau! Pós-Sistemas de Informação - FAL 34 17

18 Visão abstrata Classificação Tipo: árvore Propriedades: cor e espécie Operações: germinar e fazer sombra Objetos que são do tipo árvore Pé de mato Pé de pau Pós-Sistemas de Informação - FAL 35 Visão abstrata Especialização Identificação de um subconjunto de objetos dentro de uma classificação (tipo) que possui um conjunto adicional de propriedades e operações. Define um subtipo do tipo original Propriedades originais + propriedades adicionais Operações originais + operações adicionais Pós-Sistemas de Informação - FAL 36 18

19 Visão abstrata Especialização Tipo: árvore Propriedades: cor, espécie Operações: germinar, fazer sombra Subtipo: árvore frutífera Propriedades: cor, espécie e fruta Adicional Adicional Operações: germinar, fazer sombra e dar frutos Pós-Sistemas de Informação - FAL 37 Visão abstrata Especialização Tipo: árvore Especialização Pé de pau Pé de mato Subtipo: árvore frutífera Macieira Generalização Cajueiro Pós-Sistemas de Informação - FAL 38 19

20 Visão abstrata Especialização/Generalização Especialização Pessoa Formada Oftalmologista Generalização Veiculo Carro Carro de corrida Pós-Sistemas de Informação - FAL 39 Visão abstrata Polimorfismo acelerar frear É a habilidade de diferentes tipos de objetos realizarem as mesmas propriedades e operações de formas diferentes Tipo: veículo acelerar frear Subtipo: bicicleta Subtipo: carro Pós-Sistemas de Informação - FAL 40 20

21 Visão abstrata Polimorfismo Veículo pode acelerar e frear. Acelerar e frear possuem formas diferentes pra cada subtipo Subtipo: bicicleta Subtipo: carro acelerar = pedalar!!! frear = apertar o freio!!! frear = pisar no freio!!! acelerar = pisar no acelerador!!! Pós-Sistemas de Informação - FAL 41 Visão abstrata Entenderam os conceitos abstratos??? Observem que os conceitos são independentes de tecnologia Se aplicam a qualquer tipo de sistema Nenhuma linguagem de programação foi utilizada!!! Pensar orientado a objetos é independente de programar usando uma linguagem com suporte à orientação a objetos!!! Sendo assim... É possível entender a orientação a objetos, sem saber programar em nenhuma linguagem!!! Pós-Sistemas de Informação - FAL 42 21

22 Visão abstrata Mão na massa!!! Enxergue um dos objetos presentes na imagem abaixo de acordo com o triângulo de orientação a objetos! Menos os veículos, é claro!!! Classificação OO Polimorfismo Especialização Pós-Sistemas de Informação - FAL 43 Visão concreta Como construir objetos do mundo real usando objetos de software???? Pós-Sistemas de Informação - FAL 44 22

23 Visão concreta Em primeiro lugar... teremos que criá-los! Certo??? Nem tudo é observação!!! Sistema de controle de estoque produto item estoque Sistema de acadêmico aluno professor matrícula nota Sistema de controle de tráfego carro rua vaga Pós-Sistemas de Informação - FAL 45 Visão concreta Precisamos ter noção de como os objetos são criados mais ainda, precisamos de um modelo pra criação de objetos diferentes de acordo com um mesmo tipo! Na visão concreta... precisamos de uma CLASSE!!! Pós-Sistemas de Informação - FAL 46 23

24 Visão concreta Uma classe é um modelo, um protótipo para a criação de exemplares ou instâncias de um mesmo tipo. Um objeto é um exemplar de uma classe Classe Objetos new Pé-de-pau B Modelo de pé de pau new Pé-de-pau A Pé-de-pau C Meu pé-de-pau Pós-Sistemas de Informação - FAL 47 Visão concreta Apesar da semelhança, classe é diferente de tipo Uma classe define, automaticamente, um tipo e uma implementação Tipo:Carro Define o que Classe:Carro Define como frear = pisar no freio!!! acelerar = pisar no acelerador!!! Pós-Sistemas de Informação - FAL 48 24

25 Visão concreta Todo objeto, instância de uma classe, terá: as mesmas propriedades/atributos da classe as mesmas operações/métodos da classe A classe então é uma ferramenta para padronizar a criação de objetos de um determinado tipo E aí? Entenderam pra que serve uma classe? Dúvidas sobre a construção de objetos? Relação objeto x classe? Podemos seguir na visão concreta de OO? Pós-Sistemas de Informação - FAL 49 Visão concreta Além da classe, para tornar os conceitos abstratos definidos anteriormente em tecnologia... Linguagem de programação Modelagem Modelos de banco de dados Modelos formais Etc... Especialização Classificação OO Polimorfismo... as seguintes ferramentas devem ser providas: Encapsulamento, information hiding, passagem de mensagem, herança, variáveis polimórficas e ligação dinâmica Pós-Sistemas de Informação - FAL 50 25

26 Visão concreta As ferramentas da visão concreta dão suporte às diferentes fundações da visão abstrata Encapsulamento Information Hiding Classificação Passagem de mensagem OO Herança Especialização Polimorfismo Variáveis polimórficas Ligação dinâmica Pós-Sistemas de Informação - FAL 51 Visão concreta Concretizando classificação: Encapsulamento Agrupamento de atributos e métodos dentro de um objeto Objeto Métodos Acesso aos atributos apenas via métodos! Atributos O que você comeu no almoço? Pós-Sistemas de Informação - FAL 52 26

27 Visão concreta Concretizando classificação: Information Hiding Mostre ao cliente apenas o que ele pode ver!!! Objeto Métodos Privados/Protegidos Acesso apenas aos Métodos públicos! Atributos Pós-Sistemas de Informação - FAL 53 Visão concreta Concretizando classificação: Passagem de mensagem Diga ao objeto o que ele tem de fazer!!! Cliente (outro objeto) Objeto, me dá o teu nome pra eu mostrar na tela!!! getnome Objeto Cliente (outro objeto) Objeto, imprima seu nome na tela!!! imprimirnome Objeto Pós-Sistemas de Informação - FAL 54 27

28 Visão concreta Concretizando especialização: Herança Inclua os atributos e métodos de uma (super)classe em suas (sub)classes Classe A A herda de B ou A estende B Classe B Herança Compartilhamento Pós-Sistemas de Informação - FAL 55 Visão concreta Concretizando polimorfismo: Variáveis polimórficas Variáveis/Atributos podem manipular objetos de mais de um tipo específico Pessoa p Polimorfismo p = new Pessoa p = new Aluno Mesmo tipo Subtipo Tipo Nome p = new Professor Pós-Sistemas de Informação - FAL 56 28

29 Visão concreta Concretizando polimorfismo: Ligação dinâmica Que método executar em tempo de execução??? Veiculo p acelerar Polimorfismo p = new Veiculo acelerar p = new Carro acelerar p = new Bicicleta acelerar Pós-Sistemas de Informação - FAL 57 Visão concreta Mão na massa!!! Utilize objetos da figura para exemplificar cada um dos conceitos concretos definidos anteriormente Pós-Sistemas de Informação - FAL 58 29

30 Avaliação Mão na massa!!! Entendendo o estudo de caso com OO! Identifique cada um dos conceitos aprendidos e enxergue o estudo de caso utilizando orientação a objetos Classificação Especialização Polimorfismo Pós-Sistemas de Informação - FAL 59 Análise Orientada a Objetos Análise de requisitos Descrição dos requisitos Métodos de análise UML O que é? Pra que serve? Diagrama de casos de uso Modelo conceitual Analisando o estudo de caso! 30

31 Análise de requisitos Independente do paradigma utilizando, no contexto de desenvolvimento de software, tem-se uma análise de requisitos O que desenvolver? Como funciona o software? Quais são seus requisitos funcionais e não-funcionais? Quem são os usuários do sistema? Quais as funcionalidades referentes a cada usuário do sistema? Quem manda??? O cliente!!!! Pós-Sistemas de Informação - FAL 61 Análise de requisitos Durante a análise de requisitos, como descrever as informações obtidas (do cliente) Linguagem conhecida por todos os desenvolvedores Compartilhamento dos requisitos deve ser simples Novos desenvolvedores podem entrar na equipe A equipe pode ser completamente alterada Pós-Sistemas de Informação - FAL 62 31

32 Descrição dos requisitos Análise estruturada Modelo Entidade-Relacionamento Diagrama de Fluxo de Dados Envia sinal Requisita cliente Cliente Se recebeu dados Espera recepção de dados Se não recebeu dados Consulta Armazenamento Dados em memória Analisa dados Memoriza Processos Devolve Pós-Sistemas de Informação - FAL 63 posição Descrição dos requisitos Análise estruturada Modelo de fluxo de controle Sistemas dirigidos a eventos CSPEC Especificação de controle PSPEC: especificação de processo Texto narrativo, equações, tabelas... Ex.: processar senha... Dicionário de dados Listagem organizada das definições de todos os elementos pertinentes ao sistema Pós-Sistemas de Informação - FAL 64 32

33 Métodos de análise Análise orientada a objetos É necessário haver uma forma de mapear os requisitos em entidades do mundo real Se estamos no mundo de objetos, o fluxo de controle/dados utilizado anteriormente não é suficiente Precisamos mapear os mundos dos requisitos para os modelos conceituais de objetos Enfim...como descobrir classes a partir de um conjunto de requisitos??? Pós-Sistemas de Informação - FAL 65 Métodos de análise Principais métodos OMT - Rumbaugh Booch Fusion (HP) Objectory - Jacobson Coad / Yourdon Martin / Odell Shlaer / Mellor Pós-Sistemas de Informação - FAL 66 33

34 Métodos de análise O objetivo do curso não é apresentar processos de desenvolvimento portanto, o ciclo padrão de desenvolvimento de software, com Análise, Projeto e Implementação será seguido. Simplificação do CDI Documentação???? UML!!!! Redefinição de fases para processos atuais RUP Fases diferentes: Análise, Elaboração, Implementação e Implantação XP Foco inicial em testes, fase de refatoramento Pós-Sistemas de Informação - FAL 67 Unified Modeling Language Linguagem de Modelagem Unificada OMG 1994 Booch, Rambaugh, Jacobson ( Três amigos ) Unificação de várias outras linguagens (Objectory, Booch, OMT,...) Não define um processo... é apenas uma linguagem!!! Processos: Rational Unified Process (RUP) Três amigos extreme Programming (XP) Agile Modeling (AM) Ciclo de Desenvolvimento Iterativo (CDI) Object Modeling Technique (OMT) Pós-Sistemas de Informação - FAL 68 34

35 Unified Modeling Language UML serve para Comunicação Desenvolvedores compartilham idéias e informações Documentação Facilidade de manutenção e atualização do software Construção Facilita o processo de definição do projeto de software Especificação Facilita a especificação dos requisitos do software Concepção Facilita a atividade de abstração e mapeamento do problema para o mundo de objetos Pós-Sistemas de Informação - FAL 69 Unified Modeling Language Elementos da UML Estruturais Qual o desenho do software? Comportamentais Como o software funciona? Agupamento Como as entidades lógicas (objetos) e físicas (entidades computacionais) são agrupadas Pós-Sistemas de Informação - FAL 70 35

36 Unified Modeling Language Diagramas da UML (Modelo estático) Casos de Uso Descrição das funcionalidades do sistema Classe Qual o modelo de classes do sistema? Objetos. Qual o modelo de objetos do sistema, ou seja, como as instâncias das classes se relacionam em tempo de execução? Componentes Como as classes estão organizadas em componentes binários??? Implantação Como é a arquitetura física do sistema??? Pós-Sistemas de Informação - FAL 71 Unified Modeling Language Diagramas da UML (Modelo dinâmico) Seqüência Como ocorre a interação entre as entidades em relação ao tempo? Colaboração Como ocorre a interação entre as entidades em relação à agrupamentos funcional, organização ou conjunto de classes? Estados Quais os retratos do estado do sistema e de cada instância de classe em tempo de execução? Atividades Quais as atividades relacionadas à execução do sistema, em termos dos seus estados? Pós-Sistemas de Informação - FAL 72 36

37 Unified Modeling Language Os diagramas UML serão apresentados durante o curso de acordo com a necessidade de uso Voltemos ao foco de análise lembram??? Precisamos de uma maneira de descobrir possíveis classes a partir de requisitos De acordo com o CDI... Diagrama de Casos de Uso Modelo conceitual Pós-Sistemas de Informação - FAL 73 Diagramas de casos de uso Técnica simples e intuitiva Identificação dos requisitos de um sistema Mais especificamente, serve para: captar os requisitos dos usuários; identificar objetos e suas propriedades; particionar um sistema em partes conhecidas e compreendidas pelos usuários; facilitar a definição da melhor alternativa de projeto. Pós-Sistemas de Informação - FAL 74 37

38 Diagramas de casos de uso Mais especificamente, serve para: elaborar o plano de testes e aceitação do sistema; descrever a funcionalidade do sistema e criar a documentação para os usuários; estimar porte e esforço de desenvolvimento do sistema. Pós-Sistemas de Informação - FAL 75 Diagramas de casos de uso O que é um caso de uso??? Casos de uso são cenários que descrevem as diversas situações em que os usuários utilizam o sistema. O conjunto desses cenários descreve a funcionalidade do sistema. Pós-Sistemas de Informação - FAL 76 38

39 Diagramas de casos de uso Notação de casos de uso Sistema Ator 1 Caso de uso 1 Fronteira do sistema Atores Caso de uso 2 Ator 2 Ator 3 Caso de uso 3 Casos de uso Pós-Sistemas de Informação - FAL 77 Diagramas de casos de uso O que é descrito num diagrama de casos de uso? Seqüência de ações / interações que ocorrem durante uma determinada execução do sistema. Conjunto de cenários mostrando as diversas seqüências de interação entre os atores e o sistema. Diálogo realizado entre um usuário e o sistema para se atingir algum objetivo. Pós-Sistemas de Informação - FAL 78 39

40 Diagramas de casos de uso Exemplo: Sistema de vendas (Loja) Sistema Cliente Comprar produto Notificar promoções... Gerente Adicionar/Remover produto... Pós-Sistemas de Informação - FAL 79 Diagramas de casos de uso Exemplo: Sistema de agência de viagens Sistema Passageiro Comprar passagem Adquirir Ticket... Listar passageiros Atendente... Pós-Sistemas de Informação - FAL 80 40

41 Diagramas de casos de uso Exemplo: Sistema acadêmico Sistema Ver notas Aluno Professor... Gerenciar Notas... Gerenciar disciplina Administrador... Pós-Sistemas de Informação - FAL 81 Diagramas de casos de uso Detalhando casos de uso Gerenciar Disciplina Adicionar Disciplina Gerenciar Disciplinas Remover Disciplina Editar Disciplina Pós-Sistemas de Informação - FAL 82 41

42 Diagramas de casos de uso Casos de uso: versão estendida Caso de uso: Adicionar disciplina Atores: Administrador Descrição: O administrador solicita a adição de disciplina ao sistema, repassando o nome e o código da disciplina a ser adicionada. O sistema retorna um ok caso a operação tenha sucesso. Seqüência de eventos Ação do ator 1. Administrador solicita adição de disciplina repassando nome e código. Resposta do Sistema 2. Sistema verifica se não há outra disciplina com mesmo código e adiciona disciplina. 3. Sistema retorna ok para Administrador. Pós-Sistemas de Informação - FAL 83 Diagramas de casos de uso Mão na Massa!!! Crie um diagrama de casos de uso para o sistema de informação de sua empresa Identifique os atores Identifique as funcionalidades do sistema Relacione as funcionalidades aos atores Escolha 3 casos de uso para descrevê-los de forma estendida! Pós-Sistemas de Informação - FAL 84 42

43 Modelo conceitual Já sabemos analisar os requisitos do software......vamos agora enxergar o problema de acordo com os conceitos da orientação a objetos Objetivo: identificar as classes que fazem parte do sistema Através da identificação de objetos Aplicação do triângulo da OO Para descrever os objetos que fazem parte do modelo utilizaremos a notação UML Pós-Sistemas de Informação - FAL 85 Modelo conceitual Notação UML para classe Bicicleta Bicicleta marchas cor Nome Atributos Bicicleta marchas cor pedalar frear Métodos Pós-Sistemas de Informação - FAL 86 43

44 Modelo conceitual Em análise, os métodos das classes podem ser omitidos A idéia do modelo conceitual é ter uma primeira visão de como os objetos do sistema se relacionam Relacionam???? Tipos de relacionamento: Herança Associação Agregação/Composição Pós-Sistemas de Informação - FAL 87 Modelo conceitual Descrevendo herança (relacionamento é um ) Veiculo Veiculo Bicicleta Bicicleta Carro CarroEsportivo CarroCorrida Pós-Sistemas de Informação - FAL 88 44

45 Modelo conceitual Associação (relacionamento comum) Aluno estuda Assunto Bidirecional Rótulos matricula-se Disciplina ensina Direção do relacionamento Professor Pós-Sistemas de Informação - FAL 89 Modelo conceitual Agregação/Composição ( é composto de ) Carro Roda Motor Painel Velocimetro Relógio Porta luvas Pós-Sistemas de Informação - FAL 90 45

46 Modelo conceitual Cardinalidade Carro * 0..* Motorista Roda Motor Painel Velocimetro Relógio Porta luvas Pós-Sistemas de Informação - FAL 91 Modelo conceitual Mão na Massa!!! Crie um modelo conceitual para o sistema de informação de sua empresa Identifique as entidades do modelo Identifique as classes envolvidas Defina as associações entre as classes Pós-Sistemas de Informação - FAL 92 46

47 Avaliação Mão na Massa!!! Realize uma análise orientada a objetos do estudo de caso Casos de uso Modelo conceitual Pós-Sistemas de Informação - FAL 93 Projeto Orientado a Objetos Explodindo casos de uso: diagramas de interação Definindo classes, atributos e métodos: diagrama de classes Agrupando funcionalidades: pacotes Diagrama de pacotes Diagramas de Implementação Projetando o estudo de caso! 47

48 Explodindo casos de uso: diagramas de interação Como mapear os requisitos descritos nos casos de uso em métodos das classes??? Ator 1 Ator 2 Caso de uso 3... Caso de uso 2... Classe A Classe B Classe C Ator 3 Caso de uso 1... Classe D Pós-Sistemas de Informação - FAL 95 Explodindo casos de uso: diagramas de interação Diagramas de interação modelagem dos aspectos dinâmicos do sistema mostra uma interação formada por um conjunto de objetos e seus relacionamentos, incluindo as mensagens que poderão ser trocados entre eles Interação = Objetos + Vínculos + Mensagens Dois tipos Diagramas de seqüência Diagramas de colaboração Pós-Sistemas de Informação - FAL 96 48

49 Explodindo casos de uso: diagramas de interação Diagramas de Seqüência Descrevem um comportamento interno Mostram os eventos entre objetos Descrevem uma interação no tempo Ideal para especificações de tempo real Não mostram os tipos de associação entre objetos Pós-Sistemas de Informação - FAL 97 Explodindo casos de uso: diagramas de interação Diagramas de Seqüência Possui duas características que os diferencia de diagramas de colaboração: Linha de vida do objeto Representa a existência de um objeto de acordo com o tempo Foco de controle Representa o período em que o objeto está executando algum processamento Pós-Sistemas de Informação - FAL 98 49

50 Explodindo casos de uso: diagramas de interação Diagramas de Seqüência Que interação/cenário iremos modelar? Conexão telefônica! 1 2 tuuuuuuuuuuuuuu... uuuuuuuuuu... 3 O chamador inicia a chamada 6 Sinal de linha 5 trimmm... trimmm Discar 4 trimmm... trimmm Conexão estabelecida! Toca no chamador Toca no receptor Pós-Sistemas de Informação - FAL 99 Explodindo casos de uso: diagramas de interação Diagramas de Seqüência Objetos Ator Chamador :Telefone :Recebedor Linha de tempo t = 0s t = 5s t = 15s t = 20s levanta telefone ouve o sinal disca toca campainha atende toca campainha pare de tocar Linha de vida Período de atividade t = 30s pare de tocar Fim da linha! Pós-Sistemas de Informação - FAL

51 Explodindo casos de uso: diagramas de interação Diagramas de Colaboração Representam interações entre classes O eixo dos tempos não está explicito As classes/objetos trocam mensagens, através de vínculos, ligações estabelecidas entre elas São semelhantes aos diagramas de seqüência, contendo as mesmas informações Pós-Sistemas de Informação - FAL 101 Explodindo casos de uso: diagramas de interação Diagramas de Colaboração Possui duas características que os diferencia de diagramas de seqüência: Caminho Existe o caminho para indicar como um objeto esta vinculado a outro Número de seqüência Ordem temporal de uma mensagem Pós-Sistemas de Informação - FAL

52 Explodindo casos de uso: diagramas de interação Diagramas de Colaboração Seqüência Objetos 1:procura assunto :GerenteMaterial 2:fornece opções 3:pede detalhes Usuário 3.2:detalhes 3.1:pede detalhes :Livro Ator Pós-Sistemas de Informação - FAL 103 Explodindo casos de uso: diagramas de interação Voltemos à pergunta: Como mapear os requisitos descritos nos casos de uso em métodos das classes??? Exemplo: Sistema acadêmico Ver boletim Aluno Professor... Gerenciar Notas... Administrador Gerenciar disciplina... Pós-Sistemas de Informação - FAL

53 Explodindo casos de uso: diagramas de interação Explodindo Ver boletim Ver boletim Quais as entidades envolvidas? Atores Aluno Entidades do modelo conceitual Aluno Nota Boletim Disciplina Pós-Sistemas de Informação - FAL 105 Explodindo casos de uso: diagramas de interação Descrição estendida do caso de uso Caso de uso: Ver notas Descrição: o aluno solicita ao sistema a visualização do boletim, o sistema retorna o boletim do aluno de acordo com as disciplinas que ele faz parte. Seqüência de eventos: Ação do ator 1. Aluno solicita a visualização do seu boletim repassando sua matrícula. Resposta do sistema 2. Sistema recupera boletim do aluno. 3. Sistema exibe o boletim ao aluno. Pós-Sistemas de Informação - FAL

54 Explodindo casos de uso: diagramas de interação Mão na massa!!! Crie um diagrama de seqüência e um diagrama de colaboração para o caso de uso ver boletim. Atores Entidades do modelo conceitual Aluno Nota Aluno Boletim Disciplina Pós-Sistemas de Informação - FAL 107 Explodindo casos de uso: diagramas de interação Diagrama de seqüência aluno1:aluno Aluno novo( Hyggo ) exibir() :Boletim :Nota getvalor() retorna valor getnome() retorna nome mostrarnatela :Disciplina Pós-Sistemas de Informação - FAL

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Linguagem de Modelagem Unificada A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem para especificação, É uma linguagem para

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição

Leia mais

Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos

Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: Introdução à Orientação a Objetos Introdução Paradigmas de programação Programação Estruturada Composição

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

Lab de Programação de sistemas I

Lab de Programação de sistemas I Lab de Programação de sistemas I Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Orientação a Objetos Conceitos e Práticas Programação OO

Leia mais

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura

Leia mais

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language) Programação com Objectos Processamento de Dados I 3. UML (Unified Modeling Language) 1 Modelo UML Diagrama de classes Programação com Objectos / Processamento de Dados I 2 Modelo O desenvolvimento de programas

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década

Leia mais

Linguagem de Programação I. Orientação a Objetos em Java

Linguagem de Programação I. Orientação a Objetos em Java Linguagem de Programação I Orientação a Objetos em Java Roteiro Introdução Classes e Objetos Declaração de Classes e Instanciação de um Objeto de uma Classe Declarando métodos com parâmetros Atributos,

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê? Bibliografia Desenvolvimento Orientado a Objetos Prof.: Edson dos Santos Cordeiro LARMAN, Graig. Utilizando UML e padrões. Porto Alegre: Bookman, 2000. STAA, Arndt von. Programação modular. Rio de Janeiro:

Leia mais

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software POO com UML Java Uso da linguagem UML(Unified Modeling Language) A UML, ou Linguagem de Modelagem Unificada, é a junção das três mais conceituadas linguagens de modelagem orientados a objectos (Booch de

Leia mais

ANÁLISE ORIENTADA À OBJETO Conceitos do Paradigma de Orientação a Objetos

ANÁLISE ORIENTADA À OBJETO Conceitos do Paradigma de Orientação a Objetos ANÁLISE ORIENTADA À OBJETO Conceitos do Paradigma de Orientação a Objetos FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva http://www.elvio.pro.br elvio@fmr.edu.br

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

Introdução à Orientação a Objetos e UML

Introdução à Orientação a Objetos e UML Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação SSC 526: Análise e Projeto Orientados a Objetos Introdução à Orientação a Objetos e UML Profa. Dra. Elisa Yumi Nakagawa 2º semestre

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos O que é Análise e Projeto? Análise o quê Investigação

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Análise Orientada a Objetos

Análise Orientada a Objetos Análise Orientada a Objetos Breve Histórico: Fim da década de 80: amadurecimento da Orientação a Objeto Década de 1990: diversas proposições a partir de diversos autores, como Booch, Rumbaugh e Jacobson.

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software O software é algo abstrato, pois são as instruções que quando executadas atingem o propósito desejado no sistema computacional. (Algoritmo). As principais características são: Complexidade:

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br MC302A Modelagem de Sistemas com UML Prof. Fernando Vanini vanini@ic.unicamp.br Modelamento de Sistemas e Orientação a Objetos O paradigma de Orientação a Objetos oferece um conjunto de características

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2) Diagrama de Classes Diagrama de Classes Modelo de classes de especificação Perspectiva de Projeto Ilustra as especificações de software para as classes e interfaces do sistema. É obtido através da adição

Leia mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Tópicos em Engenharia de Computação

Tópicos em Engenharia de Computação Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

Levantamento, Análise e Gestão Requisitos. Aula 04

Levantamento, Análise e Gestão Requisitos. Aula 04 Levantamento, Análise e Gestão Requisitos Aula 04 Agenda Linguagem de Modelagem Unificada (UML) Modelagem Visual Síntese Histórica da UML Conceitos da UML Notações da UML Diagramas Estruturais Diagramas

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

Leia mais

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em

Leia mais

Sobre o Professor Dr. Sylvio Barbon Junior

Sobre o Professor Dr. Sylvio Barbon Junior 5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

UML (Unified Modeling Language) Linguagem de Modelagem Unificada UML (Unified Modeling Language) Linguagem de Modelagem Unificada Introdução É a padronização das metodologias de desenvolvimento de sistemas baseados na orientação a objetos. Foi criada por três grandes

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do

Leia mais

PHP: Programando com Orientação a Objetos

PHP: Programando com Orientação a Objetos PHP: Programando com Orientação a Objetos Pablo Dall'Oglio Adianti Solutions www.adianti.com.br Roteiro Conceitos de Orientação a Objetos; Classes, objetos, propriedades, métodos; Métodos construtores

Leia mais

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Classe e Objeto Atributo Operação Associações (Delegações [SANTOS, 2003]) Dependência Simples: multiplicidade, papel, navegabilidade Com valor semântico adicional: agregação

Leia mais

Análise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org. www.tiagodemelo.info

Análise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org. www.tiagodemelo.info Análise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org www.tiagodemelo.info Roteiro Conceitos de Orientação a Objetos (OO) Visão Geral da UML Diagrama de Classes Diagramas

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Modelando com UML Unified Modeling Language

Modelando com UML Unified Modeling Language Modelando com UML Unified Modeling Language AHMED ALI ABDALLA ESMIN 1 1 ILES ULBRA Instituto de Informática - Universidade Luterana do Brasil de Informática Cx. Postal 271 CEP 78.9860-000 Ji-Paraná (RO)

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

Lógica e Programação Java

Lógica e Programação Java Lógica e Programação Java Agenda Orientação a Objetos Parte 2 UML (software astah) Diagramas Estruturais Diagramas Comportamentais Diagramas de Interação astah Diagrama de Classes Antigo Jude Versão Community

Leia mais

Paradigma Orientado a Objetos

Paradigma Orientado a Objetos Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Paradigma Orientado a Objetos Professor Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado

Leia mais

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado

Leia mais

Capítulo 3. Programação por objectos em Java

Capítulo 3. Programação por objectos em Java Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas

Leia mais

Uma visão mais clara da UML Sumário

Uma visão mais clara da UML Sumário Uma visão mais clara da UML Sumário 1 Método...2 2 Análise de requisitos...2 2.1 Diagramas de Casos de Uso...3 2.1.1 Ator...3 2.1.2 Casos de Uso (Use Case)...4 2.1.3 Cenário...4 2.1.4 Relacionamentos...6

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Introdução a UML. Agenda. Definição Histórico Contribuições Diagramas Observações. Cleidson de Souza (Rodrigo Reis)

Introdução a UML. Agenda. Definição Histórico Contribuições Diagramas Observações. Cleidson de Souza (Rodrigo Reis) Agenda Introdução a Cleidson de Souza (Rodrigo Reis) Definição Contribuições Diagramas Observações Definição A (Unified Modeling Language) é uma notação para descrição de sistemas orientados: The Unified

Leia mais

Análise e Design OO com UML

Análise e Design OO com UML Análise e Design OO com UML Histórico de revisões Data Versão Descrição Autor 03/01/2015 1.3 Revisão e atualização HEngholmJr 24/12/2011 1.0 Criação da primeira versão HEngholmJr 9/1/2012 1.1 Correção

Leia mais

Java TM e o Modelo de Objetos

Java TM e o Modelo de Objetos Java TM e o Modelo de Objetos Java Deployment Course: Aula 1 por Jorge H C Fernandes (jorge@dimap.ufrn.br) DIMAp-UFRN Java e o Modelo de Objetos Objetivos desta Aula Introduzir conceitos básicos do modelo

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

UML Visão Geral. Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto.

UML Visão Geral. Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto. UML Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto. 1 Índice Introdução Diagramas O que é a UML? Diagrama de casos de uso

Leia mais

Programa Analítico. Introdução. Origens da programação Orientada a Objetos. Paradigma procedural. Paradigma Orientado a Objetos.

Programa Analítico. Introdução. Origens da programação Orientada a Objetos. Paradigma procedural. Paradigma Orientado a Objetos. Programação II Prof. Gustavo Willam Pereira e-mail: gustavowillam@gmail.com ENG10082 Programação II 1 Ementa Programação orientada a objetos: classes e objetos, atributos e métodos, especificadores de

Leia mais

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso Casos de Uso O que é Casos de Uso Descrições narrativas de processos do domínio da aplicação Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Unified Modeling Language Benno Eduardo Albert benno@ufrj.br O que é modelagem Tripé de apoio ao desenvolvimento. Notação: UML Ferramenta: Rational Rose. 2 O que é modelagem

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos

Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos Marco Aurélio Wehrmeister mawehrmeister@inf.ufrgs.br Roteiro Introdução Orientação a Objetos UML Real-Time UML Estudo de Caso: Automação

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Análise Orientada a Objeto

Análise Orientada a Objeto Análise Orientada a Objeto Análise Orientada a Objeto ANÁLISE ORIENTADA A OBJETO É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos,

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Orientação a Objetos em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução; Orientação a Objetos; Orientação a Objetos em Java; Leonardo Murta Orientação a Objetos em Java 2 Agosto/2007

Leia mais

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA Introduçãoa Engenhariade Software Prof. Anderson Cavalcanti UFRN-CT-DCA O que é Software? O que é software? São programas de computadores, em suas diversas formas, e a documentação associada. Um programa

Leia mais

Sumário. Uma visão mais clara da UML

Sumário. Uma visão mais clara da UML Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da

Leia mais

UML. http://www.uml.org/#uml2.0 Aula de Luiz Eduardo Guarino de Vasconcelos

UML. http://www.uml.org/#uml2.0 Aula de Luiz Eduardo Guarino de Vasconcelos UML http://www.uml.org/#uml2.0 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos História Tecnologia OO UML Pacotes Diagrama de Classe Atributos Métodos Visibilidade História 6070 COBOL, FORTRAN, C

Leia mais

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do

Leia mais

Classes de Entidades Persistentes JDB

Classes de Entidades Persistentes JDB Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Micro Mídia Informática Fevereiro/2009

Micro Mídia Informática Fevereiro/2009 Micro Mídia Informática Fevereiro/2009 1 UML Introdução Fases de Desenvolvimento Notação Visões Análise de Requisitos Casos de Uso StarUML Criando Casos de Uso Orientação a Objetos Diagrama de Classes

Leia mais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Tipos de Dados Aula 5 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Tipos de Dados Sistema de tipos Tipos de Dados e Domínios Métodos

Leia mais

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010 Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Fundamentos de Banco de Dados e Modelagem de Dados

Fundamentos de Banco de Dados e Modelagem de Dados Abril - 2015 Universidade Federal de Mato Grosso Instituto de Computação Pós Graduação Lato Sensu em Banco de Dados Fundamentos de Banco de Dados e Modelagem de Dados Prof. Dr. Josiel Maimone de Figueiredo

Leia mais

1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5.

1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5. 1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5. Fases do Desenvolvimento de um Sistema em UML 1. Análise

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais