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: hyggo@dee.ufcg.edu.br 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

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

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

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

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

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

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

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

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

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

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

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

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

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

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

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

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

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

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

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

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

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 Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

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

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

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

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

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

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

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

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Notas de Aula 04: Casos de uso de um sistema

Notas de Aula 04: Casos de uso de um sistema Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

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

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

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

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

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

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

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

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

Leia mais

Mapa Mental de Engenharia de Software - Diagramas UML

Mapa Mental de Engenharia de Software - Diagramas UML Mapa Mental Engenharia Software - Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental UML - Diagramas, Fases e Detalhes Resolvi juntar

Leia mais

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem

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

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

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

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

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

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

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

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

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D. UML Diagramas Um diagrama é a apresentação gráfica de um conjunto de elementos, onde os vértices são ITENS e os arcos RELACIONAMENTOS UML 2.0 possui os seguintes diagramas: Diagrama de Classes (Class Diagram)

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

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

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

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Herança O que é herança? Herdar é derivar características de gerações precedentes.

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

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

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

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Informática I Aula 6 http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

Leia mais

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

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

UML: Casos de Uso. Projeto de Sistemas de Software

UML: Casos de Uso. Projeto de Sistemas de Software UML: Casos de Uso Projeto de Sistemas de Software UML Casos de Uso Introdução Casos de uso Elementos do diagrama de casos de uso Descrição de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia

Leia mais

ProgramaTchê Programação OO com PHP

ProgramaTchê Programação OO com PHP Roteiro 1 Objetivos: * Apresentar conceitos de orientação a objetos; * Representar classes e objetos usando UML; Este roteiro tem como objetivo abordar os conceitos básicos de orientação a objetos. 1 Introdução

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

Leia mais

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

MC536 Bancos de Dados: Teoria e Prática

MC536 Bancos de Dados: Teoria e Prática Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #3 : MER e MER Estendido Profs. Anderson Rocha e André Santanchè Campinas, 1 de Agosto

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

Leia mais

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this. Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Modelagem de Casos de Uso (Parte 1)

Modelagem de Casos de Uso (Parte 1) Modelagem de Casos de Uso (Parte 1) Roteiro Introdução Descrição: Sistema de Ponto de Vendas Casos de Usos Atores Fluxo de Eventos Cenários Formato de Documentação de Casos de Uso Diagramas de Casos de

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

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

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS 1 REQUISITOS São os serviços fornecidos para um sistema. São classificados em requisitos

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

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

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

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais