Paradigmas de Programação

Documentos relacionados
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Modelagem Orientada a Objeto

Programação Orientada a Objetos

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Linguagem de Programação I Apresentação da Disciplina

Modelagem de Casos de Uso (Parte 1)

Introdução ao Java. Prof. Herbert Rausch Fernandes

Conceitos de Programação Orientada a Objetos

Orientação a Objetos (OO)

Modelagem ou Diagrama de Caso de Uso

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

Programação Orientada a Objetos

Introdução à Orientação a Objetos

Requisitos de sistemas

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Desenvolvimento de Aplicações Desktop

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

Análise e Projeto de Sistemas

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Introdução à Orientação a Objetos

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

S15 - Engenharia de Requisitos continuação cap.6

Programação Orientada a Objetos

Introdução. Lições da década de 80. Realidade atual

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Análise e projeto de sistemas

Modelagem de Casos de Uso. Sistemas de Informação

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Alguns Exercícios Resolvidos

Capítulo 5 Modelação do Sistema 1

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

Engenharia de Software. UML Unified Modeling Language

UML Diagrama de Casos de Uso (Use Case)

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Use Case (Casos de Uso) Use Case (Casos de Uso) Cenários. Análise e Projeto de Sistemas OO

Daniel Wildt

Prof: Ricardo Quintão Site:

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Orientação a objetos. Objetos ou Instâncias I

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos

Análise de Sistemas. Aula 5

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Introdução à UML. Prof. Jesus José de Oliveira Neto

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem de Modelagem Unificada UML

2. Introdução à Programação e Análise. Orientada a Objetos

ACH2002. Orientação a Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Modelagem de Casos de Uso

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

UML Aula I Diagramas de Caso de Uso. Ricardo Argenton Ramos

UML. Diagrama de Classe

Protótipo de Editor Gráfico de Fluxogramas para Representação de Comandos da Linguagem Portugol

DIAGRAMAS DE CLASSE UML

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

UML (Linguagem unificada de modelagem)

Engenharia de Software II e III - Material para estudo Diagrama de Classe

Análise de Sistemas 4º Bimestre (material 3)

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno

Informática. Professor: Diego Oliveira. Conteúdo 04: Orientação a Objetos

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

Introdução a UML e seus diagramas

Aula II Orientação a Objetos. Pedro Baesse Alves Pereira

Marcelo Henrique dos Santos

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Programação Orientada a Objetos

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Modelo do Mundo Real. Abstração. Interpretação

O PARADIGMA ORIENTADO POR OBJETOS

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método

Prof. Esp. Fabiano Taguchi

Lógica de Programação UML Caso de Uso

Programação Orientada a Objeto

Introdução a UML (Unified Modeling Language)

Linguagem de Programação. Diagrama de classes

Engenharia de Software Projeto de software

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Programação Java (nível intermediário) 4. Polimorfismo

Aula 7 - Análise de Requisitos: descrição de casos de uso. Análise de Sistemas Prof. Filipe Arantes Fernandes

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

UML (Unified Modelling Language)

Projeto Orientado a Objetos

Transcrição:

Paradigmas de Programação Aula 8 Paradigma Orientado a Objetos Baseado no material : Texto Programação OO Apostila Embrapa Método de Desenvolvimento de sistemas OO Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br

Orientação ao objeto Extensão natural da programação modular Início da década de 70, originário da Simula Linguage, concebida na Noruega no início da década de 60, criada para fazer simulação SIMULA e depois Smalltalk - criada pela XEROX foram as primeiras linguagens a implementarem os conceitos de OO Foi utilizada para diminuir os custos de manutenção corretiva de sistemas A técnica é utilizar objetos existentes (reuso e modularidade)

Definição de objeto Um ente ativo dotado de certas características que o tornam inteligente a ponto de tomar certas decisões. Uma unidade dinâmica, composta por um estado interno privativo (estrutura de dados) e um comportamento (conjunto de operações) Um objeto em particular é como um processador com memória própria e independente de outros objetos (Price) Objeto é um bloco da dados privados envolvidos por códigos ( ente encapsulado descrito através de rotina)

Conceitos básicos Abstração - habilidade de modelar características do mundo real do problema a ser resolvido (mesa - não interessa se é de vidro, madeira,etc) Encapsulamento - base da abordagem OO - Um dado esta encapsulado quando envolvido por código de forma que, só é visível na rotina onde foi criado. Por outro lado, a rotina encapsulada, suas operações internas são invisíveis às outras rotinas. Não interessa saber como é o funcionamento interno da classe e sim sua função (ex: a tecla de replay de vídeo, não interessa como funciona internamente mas sim de que para qualquer marca sua função será de leitura da fita).

Conceitos básicos Herança - é um mecanismo que permite alto grau de reutilização de código. Conjunto de instâncias criadas a partir de um outro com características semelhantes e os elementos desse subconjunto herdam todas as características do conjunto original. Define novas classes a partir de uma já existente (propriedades e métodos da classe mãe). Ex: (manter a matriz ser humano mudando as suas vestimentas e adornos).

Herança Herança possibilita a criação de uma nova classe de modo que essa classe denominada subclasse herda as características da classe-mãe denominada superclasse ou primitiva. Define um relacionamento entre classes onde uma classe compartilha a estrutura e/ou comportamento (atributos, operações e relacionamentos) de uma outra. É um conjunto de instâncias criadas a partir de um outro conjunto com características semelhantes, e os elementos desse subconjunto herdam todas as características do conjunto original Instância - sucessão de ações que um sistema executa e leva a um resultado particular. Ex: professor substituto herda os atributos do professor

Conceitos básicos Polimorfismo - do grego quer dizer várias formas. No conceito de OO é definido como sendo um código que possui vários comportamentos, ou seja, um código que pode ser aplicado à várias classes de objetos. Ex: Código moer carne (moedor de carne) não importa o tipo de classe (carne) o resultado será sempre carne moída.

Diagrama de classes de objetos Descreve a estrutura estática das classes e seus relacionamentos Uma classe de objetos descreve um grupo de objetos com propriedades similares (atributos), comportamento comum (operações), relacionamentos comuns com outros objetos (associação e agregação) e semânticas idênticas. Um atributo é uma propriedade dos objetos de uma classe. Uma operação é uma ação aplicada aos objetos da classe. Cada objeto de uma classe é denominado instância.

Exemplo dos conceitos Um objeto é membro de uma classe muito maior de objetos. Ex: cadeira (objeto) é uma instância de uma classe mobiliário. Um conjunto de atributos pode ser associado a cada objeto da classe mobiliário: custo, dimensões, peso, cor. Esses atributos podem ser aplicados a mesa, sofá, armário..etc. Cadeira herda todos atributos definidos p/ a classe mobiliário.

Diagrama de classes de objetos A sua elaboração envolve as seguintes atividades: Identificar as classes de objetos Desenhar diagrama de classes de objetos Identificar relacionamentos entre classes de objetos Identificar atributos de classes de objetos Identificar operações Organizar e simplificar classes de objetos utilizando herança Verificar os caminhos de acesso existentes para consultas Validar o diagrama com os usuários Refinar o diagrama de classes de objetos e definir pacotes.

Identificar classes de objetos As classes de objetos devem ser identificadas a partir da análise dos casos de uso e dos cenários desenvolvidos para o sistema. Uma classe é representada por um retângulo dividido em três seções: 1º seção - nome da classe 2º seção - atributos (estrutura) 3º seção - operações (comportamento) - se houver necessidade

Herança de classe para objeto Classe: Mobiliário Custo Dimensões Peso Localização Cor O objeto herda todos atributos da classe Objeto: Cadeira Custo Dimensões Peso Localização Cor

O objeto herda todos atributos e operações da classe Classe: Mobiliário Custo Dimensões Peso Localização Cor Comprar Vender Pesar Objeto: Mesa Custo Dimensões Localização Cor Comprar Vender Pesar Objeto: Cadeira Custo Dimensões Peso Localização Cor Comprar Vender Pesar

Tipos de Objetos Entidades externas-sistemas, dispositivos, pessoas que produzem ou consomem informações a serem usadas por um sistema baseado em computador. Coisas - relatórios, displays, cartas que fazem parte do domínio de informações do problema. Ocorrências ou eventos - transferência de problemas ou a conclusão de uma série de movimentos que ocorre dentro de um contexto de operação do sistema. Papéis - gerente, engenheiro, vendedor, pessoas que interagem com o sistema. Unidades organizacionais - grupos, equipes que são pertinentes a organização.

Objetos Estruturas - definem uma classe de objetos ou classes relacionadas de objetos Coisas Ocorrências Entidades externas Papeis Lugares Estruturas Unidades organizacionais Nome do objeto Atributos Operações

Objeto de dados Um objeto de dados pode ser entidades externas, coisas, ocorrências, eventos, papeis, unidades organizacionais, lugares ou estruturas O objeto de dados pode ser representado como uma tabela. O corpo da tabela representa instâncias específicas do objeto de dados. Ex: Pessoa e um carro podem ser considerados como um objeto de dados sendo definidos por conjunto de atributos. Uma pessoa pode possuir carro, onde o relacionamento possuir é uma conexão específica entre pessoa e carro.

Análise de requisitos Compõe-se dos seguintes diagramas Diagrama de casos de uso Diagrama de seqüência Diagrama de colaboração Para realizar a análise de requisitos, deve-se: Identificar objetivo e características do sistema Identificar os requisitos essenciais Descrever as necessidades do usuário Elaborar diagrama de caso de uso, de seqüência e de colaboração

Objetivo e característica do sistema Deve ser elaborada em conjunto com os usuários solicitar ao grupo de usuários que descreva o problema Questões básicas para formulação do objetivo: O que você espera que o sistema automatizado faça? Por que informatizar as atividades relacionadas? Quais os benefícios esperados? Aonde deseja utiliza-lo? (local de uso)

Objetivo e característica do sistema Para obter as principais características, pergunte: Quais informações gostaria de controlar? Como pretende utilizá-las p/ conduzir o negócio? Como simplificar as suas atividades? O que fazer para ajudá-lo a conduzir o negócio? Que tipo de análise de resultados pode aumentar eficientemente o seu negócio? Com quais outros sistemas você trabalha e se interage? O processo de trabalho está bem definido? Relacione necessidades específicas?

Objetivo e característica do sistema Discutir e validar a descrição do problema e do processo de negocio O grupo de análise deve buscar outras fontes de informação, tais como: Planejamento estratégico formulários, normas e manuais regimentos internos Documentação de especificação do problema Literatura relevante sobre o domínio do problema Sistemas já existentes que possam interagir

Descrição de um processo de identificação de eventos Nome do sistema: Sistema de matrícula Origem: secretaria da universidade Objetivo: fornecer os cursos oferecidos pela Universidade p/ semestre p/ subsidiar a matrícula do aluno Envolvidos no evento: alunos, professores e secretaria Pré-condições para realização do evento: existência do curso oferecido p/ o semestre Dados de entrada: matrícula, semestre, ano e turno

Descrição de requisição de informação Nome do sistema: Sistema de matrícula Consulta ou relatório: emitir catálogo de cursos Origem: Secretaria da universidade Objetivo: emitir um catálogo de cursos oferecidos num determinado semestre para aluno solicitante Participantes: secretaria e alunos Dados de entrada: matricula do aluno, semestre e ano e turno Derivação: cadastramento dos cursos oferecidos Saída: Catálogo impresso dos cursos oferecidos

Diagrama de caso de uso É um modelo das funções pretendidas de um sistema e sua periferia (atores). É a seqüência de transações realizadas num sistema O papel do diagrama é comunicar a funcionalidade e o comportamento do sistema p/ o cliente. Benefícios: Proporciona um aceite do sistema Assegura um entendimento mútuo s/ os requisitos Identificar quem fará interação com o sistema Se todos os requisitos foram identificados

Representação de um caso de uso de acordo com UML uses Uses é usado para representar um comportamento ou ação relacionados. Matricular em curso Calcular dígito verificador A elaboração do diagrama de caso de uso envolve as seguintes atividades:.analisar as informações coletadas.identificar atores e casos de uso.desenhar e documentar o diagrama de caso de uso.definir o fluxo de evento para cada caso de uso.validar os casos de uso identificados.

Identificar atores Questões básicas Quem está interessado nesse evento? Onde o sistema será utilizado? Quem vai fornecer, utilizar ou excluir informação? Quem vai utilizar? O sistema utiliza algum recurso externo? Que atores são requeridos pelo caso de uso? Algum ator desempenha mais de um papel? Diversos atores desempenham o mesmo papel? Neste caso é computado como apenas um ator.

Exemplo de diagrama de caso de uso do sistema de matrícula Sistema de cobrança Calcular dígito verificador Requerer escala de curso uses Professor Aluno Universitário Matricular em curso Manter inf. de professor Selecionar curso a lecionar Manter inf. Curso Mante inf. de aluno Oficial de matrícula extends Gerar catálogo de curso

FORNECEDORES ENTRADA PROCESSO SAÍDAS CLIENTES Pósgraduando Insumos p/ confecção da carta Solicita;áo de pedido de benefício Carta elaborada DGP/CEC DGP/CEC Carta elaborada e norma de PG Análise do pedido de benefício Parecer elaborado DGP/CEC DGP/CEC Parecer indeferido ao atendimento Orientação de Procedimento Solicitação reformulada Pós-graduando DGP/CEC Parecer deferido dados p/ cálculo Cálcular valor do benefício valor cálculado DGP/SIRH DGP/SIRH dados cálculados se pagamento no país Incluir na folha de pagamento e arquivar Documentos arquivados DGP/CEC DGP/CEC Valor calculado se pagamento no exterior Preenchimento e encaminhamento de FAP FAP DAF DAF FAP Pagamento e Arquivamento Documento pago e arquivado DAF

Diagrama de seqüência Representa as mensagens trocadas por um conjunto de objetos durante um cenário. Um objeto possui estado, comportamento e identidade única. O estado de um objeto é uma das possíveis condições nas quais um objeto pode existir. Mensagem é uma chamada de operação sobre um objeto, compreendendo um nome de operação. As mensagens entre objetos são representadas por uma seta que parte de um objeto origem para o objeto destino.

Diagrama de seqüência Identificar as mensagens trocadas entre os objetos Nesta etapa, devem ser identificadas as mensagens existentes entre objetos As mensagens representam as interações entre objetos Desenho do diagrama de seqüência É uma forma de visualizar um cenário na ordem em que ele acontece em determinado tempo. Objetos são desenhados com retângulos A linha de vida é representada por uma linha vertical ligada ao objeto. Mensagens são identificadas pelas setas horizontais que interagem aos objetos.

Diagrama de seqüência aluno matrícula Horário Curso Registro Cobrança 1-fornece informações 2-valida 3-informa semestre 4-mostra 5-recupera 6-seleciona 7-processa 8-recupera 9-Requisitos satisfeitos 11-matricula aluno 10-adiciona aluno Envia p/ o sistema de cobrança

Diagrama de colaboração Mostra as mensagens trocadas por um conjunto de objetos durante um cenário. Contém: Objetos - representados por retângulos Ligações entre objetos, representadas p/ uma linha de conexão Mensagens trocadas entre objetos numa seqüência ordenada Fluxo de dados entre objetos, se houver.

Diagrama de Colaboração 2. Valida matrícula 1.fornece matrícula 3.informa semestre 4.cria novo horário Formulário de matrícula 12.matrícula completa 7.seleciona 8.processa 5.mostra Cursos disponíveis 6.recupera cursos Um curso 9.recupera Formulário horário 10.pré-requisito satisfeito Reg. de aluno 11.seleciona aluno 14.envia p/ sist. de cobrança 13.imprime horário Informação cobrança horário Lista de curso

Classe de ligação É usada para conter a informação que pertence à ligação entre objetos. São freqüentemente usadas em associação muitos-para-muitos. Aluno nome data nasc. matrícula 0..* Participa 1...* Curso nome horário Nota

Atributos de classe de objetos Os atributos são propriedades da classe de objetos. Ex: nome, peso, idade são atributos da classe de objetos pessoa Cada atributo possui um valor para cada instância da classe de objetos. Ex: idade tem valor 25 para o objeto João Relacione os atributos relevantes e elimine os desnecessários e incorretos

Exemplo da superclasse mamífero e subclasse Mamíferos Nome Idade aleitar Comunicar Superclasse: mamífero Subclasses: homem,cão e Gato Comunicar é herdado pelas subclasses polimorfismo: falar para o homem, latir p/ cão e miar p/ os gatos. Homem Casado Rir Falar Cão cauda Morder Latir Gato Cauda Arranhar Miar

Diagrama de classes do sistema de matrícula Horário Registro de Aluno 1 1 Cria 1 Acesse Oficial de Matrícula 1 Inclui estudante Aluno nome data-nasc matrícula Participa Curso nome horário Nota