Linguagens e Técnicas de Programação II
|
|
- Edison Raminhos Caminha
- 7 Há anos
- Visualizações:
Transcrição
1 Linguagens e Técnicas de Programação II Modelagem Orientada a Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Sistemas de Informação
2 Lembrando Na Unidade I Gerenciando a Complexidade, vimos: Um sistema de software é inerentemente complexo e muitas vezes ultrapassa a capacidade intelectual humana. Sistemas complexos podem ser analisados a partir de sua decomposição em coisas, os objetos, que têm estado e comportamentos próprios. A complexidade da decomposição pode ser organizada na forma de uma hierarquia com duas relações básicas: é um tipo de e é parte de ; Os sistemas complexos geralmente evoluem a partir de formas estáveis mais simples. 2/42
3 Unidade II Na Unidade II Modelagem Orientada a Objetos, veremos: Como utilizar a metodologia OO para organizar a complexidade de sistemas de software. Quais os principais mecanismos que poderão ser utilizados para isso. Uma introdução à análise e ao projeto orientado a objetos. 3/42
4 Unidade II Unidade II Modelagem Orientada a Objetos: A Evolução dos modelos orientados a objetos. A abstração de objetos: encapsulamento, interface e implementação. Reutilizando a implementação. Reutilizando a interface por intermédio de herança. Objetos intercambiáveis: polimorfismo. Introdução à Análise e ao Projeto Orientado a Objetos u- tilizando a UML (Unified Modeling Language). 4/42
5 Modelos OO Evolução A análise e o projeto orientados a objetos constituem uma metodologia que nos leva a uma decomposição orientada a objetos de um sistema. Os modelos resultantes serão centrados nos objetos (coisas/entidades) que compõem o sistema. A análise OO é bastante diferente da análise estruturada, que é centrada nos procedimentos. 5/42
6 Modelos OO Evolução Vários tipos de modelos, cada um capturando aspectos distintos do sistema, poderão ser criados: Modelo Lógico: estrutura de classes e objetos. Modelo físico: módulos e processos. Os modelos OO surgiram como consequência da própria evolução das linguagens de programação... 6/42
7 Modelos OO Evolução O processo de abstração também evoluiu! Lembrando: Abstrair consiste no processo de retirar do domínio do problema os detalhes relevantes e representá-los não mais na linguagem do domínio, e sim na linguagem da solução. 7/42
8 Modelos OO Evolução No contexto da engenharia, abstrair corresponde a criar modelos que serão utilizados para a resolução do problema. Problema ABSTRAÇÃO Modelo 8/42
9 Modelos OO Evolução Diferentes Abstrações 9/42
10 Modelos OO Evolução O processo de abstração também evoluiu: Todas as linguagens de programação fornecem meios para a criação de abstrações. A linguagem Assembly é uma pequena abstração da máquina na qual os programas são executados. Linguagens imperativas, como BASIC, FORTRAN e C, são abstrações da linguagem Assembly: Nessas linguagens, é necessário pensar em termos da estrutura do computador, ao invés de se pensar em termos da estrutura do problema a ser resolvido! 10/42
11 Modelos OO Evolução O processo de abstração também evoluiu: O programador deve estabelecer uma associação entre o modelo da máquina (no espaço da solução) e o modelo do problema que está sendo resolvido (no espaço do problema). O esforço para fazer esse mapeamento pode ser grande... 11/42
12 Modelos OO Evolução O processo de abstração também evoluiu: A programação orientada a objetos tenta trazer o espaço da solução para o espaço do problema: ambos são representados como objetos! O programa permite adaptação ao problema por meio da adição de novos tipos ao espaço da solução que mapeiam os tipos existentes no espaço do problema: descreve-se o problema em termos do problema e não em termos da solução! Vocês conseguem perceber como isso é fantástico? 12/42
13 Modelos OO Evolução O processo de abstração também evoluiu: Cada objeto funciona como uma pequena parte do problema, possuindo seu estado e suas operações, o que é semelhante ao que acontece com os objetos do mundo real, que possuem características e comportamentos. O mundo computacional se aproxima mais do mundo real... 13/42
14 A Abstração de Objetos O que são objetos? 14/42
15 A Abstração de Objetos Um objeto é uma variável, e armazena dados... Então, uma struct é um objeto? Sim, uma struct é um objeto. Entretanto, um objeto é mais abrangente do que uma struct: pode-se pedir que determinadas operações sejam realizadas sobre os objetos. Assim, um objeto possui atributos, que são os dados, e comportamentos, que são os métodos, procedimentos ou funções que atuam sobre ele. Exemplos de objetos: pessoas, carros, empresas, etc.. 15/42
16 A Abstração de Objetos Programação Estruturada Programação Orientada a Objetos Objeto Dados Funções Atributos (Dados) Métodos (Funções) 16/42
17 A Abstração de Objetos O QUE É UM PROGRAMA EM LINGUAGEM OO? 17/42
18 A Abstração de Objetos Um programa em linguagem OO é um conjunto de objetos dizendo uns para os outros o que fazer por meio do envio de mensagens... As mensagens, na verdade, podem ser enxergadas como chamadas a funções que pertencem a um objeto específico. Cada objeto tem sua própria região de memória, que pode, inclusive, ser composta por outros objetos, e tem um tipo, isto é, pertence a uma classe. 18/42
19 Objetos e Interfaces Os objetos, apesar de únicos, fazem parte de uma classe de objetos, possuindo, portanto, características comuns. A criação de tipos abstratos de dados, as classes, constitui um conceito fundamental da programação OO: Tipos de dados abstratos funcionam de maneira similar aos tipos fundamentais: Podem ser criadas variáveis do tipo: objetos/instâncias. As variáveis podem ser manipuladas. 19/42
20 Objetos e Interfaces Os objetos de cada classe possuem algumas coisas em comum: Toda conta possui um extrato, todo caixa pode aceitar um depósito... Todo objeto tem seu próprio estado: Cada conta tem um extrato diferente, cada caixa tem o seu nome... Assim, caixas, clientes, contas, transações podem, cada um, ser representados por uma única entidade no programa, o objeto. 20/42
21 Objetos e Interfaces Cada objeto pertence a uma classe, que define o seu comportamento e as suas características. 21/42
22 Classes 22/42
23 Objetos e Interfaces Depois que uma classe é criada, podem ser criados tantos objetos da classe quanto necessários, que podem ser manipulados como se fossem elementos existentes no problema que está sendo solucionado. Mas como fazer um objeto realizar um trabalho útil? 23/42
24 Objetos e Interfaces Cada objeto possui métodos (funções) para desempenhar suas atividades. Cada objeto somente pode responder a determinadas requisições. O conjunto de métodos de um objeto é conhecido como sua interface. 24/42
25 Objetos e Interfaces Lâmpada Lampada Nome da classe UML liga(); desliga() aumenta_luminosidade(); diminui_luminosidade(); Interface Instanciando um objeto e chamando um método: Lampada Luz; Luz.liga(); 25/42
26 Objetos e Interfaces Que métodos (funções) podem ser chamados? Isso é a interface! Onde esses métodos estão codificados, como são implementados? Isso é a implementação! Geralmente não interessa a quem utiliza o objeto conhecer os detalhes da implementação... 26/42
27 Interface, Implementação e Encapsulamento Um objeto pode ser encarado como um servidor, programado pelo criador da classe. O cliente do objeto utiliza os métodos por meio de sua interface. O criador da classe expõe o mínimo da interface para o cliente, escondendo o resto. Por quê? Porque se está escondido, pode ser mudado sem que o programa do cliente seja quebrado. Se fosse dado total acesso à implementação interna, o cliente poderia quebrar a integridade do objeto. 27/42
28 Encapsulamento A estratégia utilizada para garantir que determinadas partes de uma classe não possam ser a- cessadas pelo público em geral é chamada controle de acesso... A interface não apresenta necessariamente todos os métodos de um objeto, mas apenas aqueles que podem ser acessados pelo público em geral, os métodos públicos. Os métodos internos aos objetos são os métodos privados. 28/42
29 Encapsulamento Videocassete público: Play(); FastForward(); Rewind(); Record();... privado: PosicionaCabecaGravacao(posicao); GiraMotor(velocidade);... Público x Privado 29/42
30 Encapsulamento 30/42
31 Reutilizando a Implementação Uma vez que uma classe foi criada e testada, ela pode ser utilizada para auxiliar na implementação de outras classes. Essa é uma das principais vantagens da Programação Orientada a Objetos. 31/42
32 Reutilizando a Implementação A forma mais simples de reutilização é utilizar um objeto daquela classe diretamente. Exemplos: janela no Windows, matriz em um programa de cálculo, etc... Pode-se, também, utilizar um objeto de uma classe dentro de uma nova classe: Sua classe pode ser composta pelo número e tipo de objetos que se fizerem necessários! Composição 32/42
33 Reutilizando a Implementação REUTILIZAÇÃO UTILIZAR O OBJETO DA CLASSE DIRETAMETE UM CARRO CONTÉM 4 RODAS, UM MOTOR, UMA LATARIA... UTILIZAR UM OBJETO DE UMA CLASSE DENTRO DE UMA NOVA CLASSE COMPOSIÇÃO VERBOS ASSOCIADOS: CONTER, POSSUIR 33/42
34 Reutilizando a Implementação Composição Notação UML Carro Videocassete CabecaDeGravacao ControleDeMotor Roda Motor Lataria Motor CabecaDeLeitura 34/42
35 Reutilizando a Interface Herança A herança permite a criação de uma hierarquia de classes: classes mais especializadas as classes filhas, herdam propriedades da classe mais geral a classe pai. Pode-se compartilhar automaticamente métodos e dados entre diferentes classes, subclasses e objetos Cria-se uma nova classe programando-se apenas as diferenças entre a classe e a classe pai: a classe filha herda a interface da classe pai, podendo substituí-la quando se espera um objeto da classe pai!!! EXPRESSÃO TÍPICA: É UM TIPO DE... 35/42
36 Reutilizando a Interface Herança Herança Exemplo 1 Ave é um tipo de Animal. Mamífero é um tipo de Animal. Ave come, dorme, voa e botaovo. Mamífero come, dorme e mama. Uma Ave, ou um Mamífero, podem substituir um Animal, pois são tipos de Animal, e, portanto, possuem a mesma interface base! Que delícia crocante!!! 36/42
37 Reutilizando a Interface Herança Herança Exemplo 2 Triangle, Square e Circle são tipos de Shape, possuem a mesma interface base, e podem substituir Shape... 37/42
38 Reutilizando a Interface Herança Herança Exemplo 2 Cada tipo de Shape deve ter o seu próprio método draw, pois cada uma se desenha de modo diferente! Os métodos podem ser sobrescritos nas classes derivadas! Deseja-se utilizar a mesma interface, mas com um comportamento um pouco diferente para a classe derivada. Que delícia crocante de novo!!! 38/42
39 Objetos Intercambiáveis: Polimorfismo Quando trabalhamos com hierarquias, em muitas vezes queremos tratar um objeto não por seu tipo específico, mas por seu tipo base: isso permite escrever código que não depende do tipo específico e, consequentemente, a adição de novos tipos sem maiores dificuldades: Por exemplo, no caso das Shapes, poderíamos escrever código genérico que as manipulasse, mandando-as se desenharem, por exemplo, sem nos preocuparmos se são triângulos, círculos ou qualquer outra coisa... Adicionar novos tipos é uma das formas mais comuns de estender um programa orientado a objetos para tratar novas situações! 39/42
40 Objetos Intercambiáveis Polimorfismo Isso é o polimorfismo o que possui várias formas : Propriedade de se utilizar o mesmo nome para métodos diferentes, implementados em diferentes níveis de uma hierarquia de classes. Para cada classe, tem-se um comportamento específico para o método. 40/42
41 Mensagem Final Não se preocupem demais, no momento atual, com os conceitos: tudo ficará claro depois! 41/42
42 Importante Esta apresentação é uma adaptação do material originalmente desenvolvido pelo professor Renato Cardoso Mesquita, do Departamento de Engenharia Elétrica da Universidade Federal de Minas Gerais. 42/42
2. Introdução à Programação e Análise. Orientada a Objetos
Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. Introdução
Leia maisProgramação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do
Leia mais- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br
Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos Novas classes
Leia mais7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela.
1. O que são classes? Dê exemplos. R.: Classe é um tipo abstrato de dados. Encapsula estrutura e comportamento. Ou seja: uma descrição de um conjunto de objetos que compartilham a mesma estrutura, os mesmos
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO
PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO A Programação Orientada ao Objeto deu seus primeiros passos ainda na década de 70. A sua origem vem da linguagem Simula (Simula Language) e como o nome indica
Leia mais1.1. Definição do Problema
13 1 Introdução Uma das principais preocupações de área de engenharia de software diz respeito à reutilização [1]. Isso porque a reutilização no contexto de desenvolvimetno de software pode contribuir
Leia maisHerança. Prof. Leonardo Barreto Campos 1
Herança Prof. Leonardo Barreto Campos 1 Sumário Introdução; Herança Simples; Tipos de Herança; Classe Abstrata; Conversão de Tipos entre Base e Derivada; Níveis de Herança; Herança Múltipla; Bibliografia;
Leia maisProgramação Orientada a Objetos. Professor Leonardo Cabral - Larback
Programação Orientada a Objetos Professor Leonardo Cabral - Larback Programação Orientada a Objetos O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay (http://pt.wikipedia.org/wiki/alan_kay),
Leia maisAnálise e Projeto de Sistemas OO
Análise e Projeto de Sistemas OO 25 26 27 28 29 30 31 32 35 36 34 Objetos no mundo real Podem ser definidos como objetos, entidades individuais que tenham características e comportamento; Exemplo: Automóvel
Leia maisProporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;
Módulo 7 UML Na disciplina de Estrutura de Sistemas de Informação, fizemos uma rápida passagem sobre a UML onde falamos da sua importância na modelagem dos sistemas de informação. Neste capítulo, nos aprofundaremos
Leia maisAlgoritmos e Programação II
Algoritmos e Programação II Agenda Desenvolver Software Objetos Classes Estudo de algumas Classes da API Estudo de algumas Classes da API Pacotes Criando nossa primeira classe Desenvolver SOFTWARE GAP
Leia maisProgramação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
Leia maisProcesso de Desenvolvimento de Software
Processo de Desenvolvimento de Software Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Processo de Desenvolvimento de Software O desenvolvimento de software é uma
Leia maisIntrodução a Orientação a Objetos
EVOLUÇÃO DAS TÉCNICAS DE PROGRAMAÇÃO: Introdução a Orientação a Objetos A evolução da programação de computadores é marcada por três desenvolvimentos de enorme impacto nos seus parâmetros de produtividade
Leia mais3. Numerar a coluna da direita conforme a da esquerda 1) Classe (2) :Aluno 2) Um dado objeto (3) oaluno:aluno 3) Objeto (1) Aluno
INFORMAÇÕES GERAIS CURSO: ENGENHARIA DE SOFTWARE DISCIPLINA: ANÁLISE E PROJETO DE SISTEMAS PROFESSOR: OSVALDO MESQUITA ANO.SEMESTRE: 2016.1 1. O que você entende por: a) Polimorfismo. Significa aquilo
Leia maisLinguagem de Programação I
Linguagem de Programação I Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br C++ e POO Fundamentação de Orientação a Objetos (OO) Sintaxe básica de C++ Modelagem de sistemas orientada a
Leia maisTrabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!
ALGORITMOS E ESTRUTURAS DE DADOS I DCC/UFMG Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! Pedro O.S. Vaz de Melo May 29, 2013 1 DESCRIÇÃO DO PROBLEMA O objetivo deste trabalho
Leia maisProgramação Orientada a Objetos
Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida Aula II Orientação a Roteiro Paradigma de Programação Classes e Atributos e Métodos Perspectiva OO Fonte Principal:
Leia maisExemplo, ao invés de você ter centenas de funções no mesmo contexto para atividades diferentes, você agrupa em objetos com comportamentos semelhantes
Programação Orientada a Objetos O termo Programação Orientada a Objetos foi criado por Alan Kay, autor da linguagem de programação Smalltalk. Mas mesmo antes da criação do Smalltalk, algumas das idéias
Leia maisAlgoritmos APRENDENDO A PROGRAMAR COM C#
Algoritmos APRENDENDO A PROGRAMAR COM C# Alô Mundo AULA 01 Conhecendo o ambiente O objetivo principal desse programa não é mostrar a mensagem Alo Mundo. O objetivo é apresentar o ambiente de desenvolvimento
Leia maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisOrientação a Objetos
Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No
Leia maisMétodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções
Métodos Formais Relações e Funções por Mauro Silva Agenda Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções MF - Relações e Funções 2 1 Relações Binárias Definição
Leia maisNº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO
ANO: 10.º Curso Profissional Técnico de Informática de Gestão Disciplina: Linguagens de Programação ANO LECTIVO: 2008/2009 p.1/13 Módulo 1 Algoritmia 1 - Introdução à Lógica de Programação Lógica Sequência
Leia maisUnified Modeling Language. Pacotes. José Correia, Junho 2006 (http://paginas.ispgaya.pt/~jcorreia/) Um pacote é um mecanismo de agrupamento genérico
Unified Modeling Language Pacotes José Correia, Junho 2006 (http://paginas.ispgaya.pt/~jcorreia/) Pacotes Um pacote é um mecanismo de agrupamento genérico José Correia UML Pacotes 2 Exemplos Sales Customer
Leia maisAlgoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz
Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar
Leia maisIntrodução a Orientação a Objetos utilizando a Linguagem C++ Tecgº Carlos Henrique da Silva Santos henrique@dmo.fee.unicamp.br
Introdução a Orientação a Objetos utilizando a Linguagem C++ Tecgº Carlos Henrique da Silva Santos henrique@dmo.fee.unicamp.br Agradecimentos Ramo Estudantil IEEE da Eng. Elétrica (Alexandre) Capítulo
Leia maisBanco de Dados. Modelo Entidade Relacionamento Estendido DCC IME USP. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger
Banco de Dados Modelo Entidade Relacionamento Estendido João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger DCC IME USP MER X O MER X é uma extensão do MER, o qual adiciona: Abstração de Agregação
Leia maisFundamentos de Arquitetura e Organização de Computadores
Fundamentos de Arquitetura e Organização de Computadores Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se
Leia maisProgramação de Computadores I. Linguagem C Função
Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,
Leia maisSistemas Numéricos. Tiago Alves de Oliveira
Sistemas Numéricos Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Operações aritméticas binária e hexadecimal Operações lógicas binárias e decimais Representação Interna de
Leia mais5 - Qual é a principal vantagem de desenvolvimento de código por pares:
1 - Quais são os atributos essenciais de um bom software: a) Ser baseado numa boa linguagem de programação b) Fácil manutenção, segurança, eficiência e aceitabilidade c) Fácil manutenção e simplicidade
Leia maisPúblico Alvo: Empresas de micro e pequeno porte do setor de Tecnologia da Informação.
GESTÃO COMERCIAL Entidade Proponente: IEL/NR Minas Gerais e SEBRAE Minas Público Alvo: Empresas de micro e pequeno porte do setor de Tecnologia da Informação. OBJETIVOS Geral: Apresentar abordagens integradas
Leia maisEngenharia de Software. Ciclos de Vida do Software. 1. Sistemas
Engenharia de Software Profa. Dra. Lúcia Filgueiras Profa. Dra. Selma S. S. Melnikoff Ciclos de Vida do Software 1. Sistemas 2. Crise do software 3. Caracterização do software 4. Ciclos de vida do software
Leia maisAula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão
MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Custo de um algoritmo
Leia maisLINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.
INTRODUÇÃO O processo de engenharia de software define quem faz o quê, quando e como para atingir um determinado objetivo. Neste trabalho, iremos dissertar sobre o Rational Unified Process, ou RUP, que
Leia maisSistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais
Sistema Operacional Implementação de Processo e Threads O mecanismo básico para a criação de processos no UNIX é a chamada de sistema Fork(). A Figura a seguir ilustra como que o processo e implementado.
Leia mais2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos?
Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. O que
Leia maisEngenharia de Software Projeto de software
Instituto Federal de Minas Gerais Campus Ponte Nova Engenharia de Software Projeto de software Professor: Saulo Henrique Cabral Silva MODELANDO UM SOFTWARE 2 Uma figura vale por mil palavras Em construções
Leia maisAdministração Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Administração Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana Tema 01 Apresentação do PEA. Fundamentos
Leia maisUMA ABORDAGEM SOBRE A EVOLUÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO COM ÊNFASE EM ORIENTAÇÃO A OBJETO E ORIENTAÇÃO A ASPECTO
UMA ABORDAGEM SOBRE A EVOLUÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO COM ÊNFASE EM ORIENTAÇÃO A OBJETO E ORIENTAÇÃO A ASPECTO Anderson dos Santos Ferraz¹, Claudete Werner¹ ¹Universidade Paranaense (Unipar) Paranavaí
Leia maisProgramação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
Leia maisSistemas de Tempo Real
Escola de Computação 2000 - IME-USP Sistemas de Tempo Real Jean-Marie Farines Joni da Silva Fraga Rômulo Silva de Oliveira LCMI - Laboratório de Controle e Microinformática DAS - Departamento de Automação
Leia maisModelando sistemas em UML - Casos de uso.
Modelando sistemas em UML - Casos de uso. Neste artigo vou falar um pouco sobre modelagem de sistemas usando UML focando exclusivamente os diagramas de casos de uso. A primeira coisa que devemos ter em
Leia maisAvaliação e Desempenho Aula 1 - Simulação
Avaliação e Desempenho Aula 1 - Simulação Introdução à simulação Geração de números aleatórios Lei dos grandes números Geração de variáveis aleatórias O Ciclo de Modelagem Sistema real Criação do Modelo
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Gerenciando a Complexidade Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade I Unidade I Gerenciando a Complexidade: A complexidade
Leia maisParte 05 - Técnicas de programação (mapas de Veitch-Karnaugh)
Parte 05 - Técnicas de programação (mapas de Veitch-Karnaugh) Mapas de Veitch-Karnaugh Montar circuitos lógicos a partir de tabela verdade, embora seja tarefa fácil, geral um circuito extremamente grande.
Leia maisArquiteturas para Sistemas Distribuídos I
Arquiteturas para Sistemas Distribuídos I Pedro Ferreira Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Tópicos Estilos Arquiteturais: formas de desenhar o software do SD Organização
Leia maisPHP ORIENTADO A OBJETOS. 2º Encontro PHP MG 16 e 17 de Outubro / 2009. Charles Schaefer
PHP ORIENTADO A OBJETOS 2º Encontro PHP MG 16 e 17 de Outubro / 2009 Charles Schaefer Charles Schaefer Profissional PHP há 4 anos Sócio Diretor da UaiTI Instrutor dos cursos de PHP da PHPrime / Belo Horizonte
Leia maisSUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código
SUMÁRIO INTRODUÇÃO O processo de software.......21 0.1 INTRODUÇÃO AO PROCESSO DE SOFTWARE.21 0.1.1 As fases do processo de software.....21 0.1.2 Estilos do processo de software.......22 0.1.3 Procedimentos
Leia maisOBSERVAÇÕES: EXERCÍCIOS
OBSERVAÇÕES: 1. Esta lista de exercícios poderá ser resolvida individualmente ou em grupos de 2 pessoas. 2. A lista possui 25 exercícios, destes você deve responder os 5 primeiros exercícios e os outros
Leia maisGuia para Modelagem de Casos de Uso Metodologia CELEPAR
Guia para Modelagem de Casos de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiamodelagemcasosuso.odt Número de páginas: 14 Versão Data Mudanças Autor 1.0 25/04/07
Leia maisTermo genérico que se aplica a vários tipos de diagramas que enfatizam interações de objetos.
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 Seqüência Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisProgramação em JAVA. Subtítulo
Programação em JAVA Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras em
Leia maisIntrodução à Ciência da Informação
Introdução à Ciência da Informação Prof. Edberto Ferneda Software 1 Software Níveis de Software Hardware Software Aplicativos Software Tipos de Software Softwares Aplicativos de Sistema (Utilitários) Finalidades
Leia maisCurso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1
Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 5 Sistemas Biométricos 1. Sistema Biométrico Típico Qualquer que seja a característica
Leia maisHistórico e Evolução da Computação
Lista de Exercícios Introdução à Informática Professor: Sérgio Salazar Histórico e Evolução da Computação O 1º computador foi o ENIAC, utilizado para montar tabelas para o cálculo de projéteis na 2ª Guerra
Leia maisFundamentos de Programação
Fundamentos de Programação ET43I Aula 3 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos Abstração em computação, paradigmas de linguagens de programação. Conceitos de orientação a objetos. Universidade
Leia maisAlgoritmo e Pseudo-código
Departamento de Sistemas de Computação Universidade de São Paulo Algoritmo e Pseudo-código Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br) Objetivos do Curso Desenvolver o Pensamento Computacional
Leia maisRESOLUÇÃO. Artigo 2º - O Curso, ora criado, será oferecido no turno noturno, com 10 semestres de duração e com 50 vagas iniciais.
RESOLUÇÃO CONSEPE 27/2001 CRIA E IMPLANTA O CURSO DE ENGENHARIA DE COMPUTAÇÃO, NO CCT, DO CÂMPUS DE CAMPINAS. O Presidente do Conselho de Ensino, Pesquisa e Extensão - CONSEPE, no uso de suas atribuições
Leia maisUNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO
UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO SAD Sistemas de Apoio à Decisão 2011/02 Aula Cinco crishamawaki@yahoo.com.br Modelos de decisão Sistemas de
Leia maisLinguagens de Programação:
Capítulo I : Noções Gerais 11 Linguagens de Programação: Como comunicar com o computador? Linguagem Máquina: Conjunto básico de instruções, em código binário, características de cada computador, correspondentes
Leia maisInformação-Prova de Equivalência à disciplina de: Aplicações Informáticas B. 1. Introdução. Ensino Secundário. Ano letivo de 2011/12
Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B Ensino Secundário Ano letivo de 2011/12 1. Introdução O presente documento visa divulgar as características da prova de exame
Leia maisModulo II Padrões GRASP
Modulo II Padrões GRASP Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Padrões de Projeto
Leia maisOs conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro?
Resumo. O uso de uma variável é necessário quando você não sabe ainda um valor ou uma função, ou seja, quando há uma situação de mudança que impede a determinação direta destes valores. Uma variável pode
Leia maisEstruturas de Repetição
Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados
Leia maisPRO 528 - Pesquisa Operacional II
Pesquisa Operacional II 3. Software LINDO Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção Problemas em forma não padrão São 4 características de um problema na forma padrão, lembram-se?
Leia maisCapítulo 4 - Polimorfismo
Capítulo 4 - Polimorfismo 1. POLIMORFISMO: VAMOS NOS ADAPTAR... 1 1.1 APRENDENDO A PREVER O FUTURO... 1 1.2 O QUE É POLIMORFISMO... 1 1.3 TIPOS DE POLIMORFISMO... 4 1.4 PERGUNTAS - EXERCÍCIO... 5 1. Polimorfismo:
Leia maisModelos Conceituais de Dados
Modelos Conceituais de Dados Banco de Dados Motivação Objetivo da abordagem de BD: oferecer abstração dos dados separar aplicações dos usuários dos detalhes de hardware ferramenta utilizada: modelo de
Leia maisINE 5323 Banco de Dados I
UFSC-CTC-INE Curso de Ciências de Computação INE 5323 Banco de Dados I Ronaldo S. Mello 2006/1 http://www.inf.ufsc.br/~ronaldo/ine5323 Horário Atendimento: Quintas-feiras, das 17h30 às 19h Programa da
Leia maisMetodologias de Programação
Metodologias de Programação Bloco 1 José Paulo 1 Formador José António Paulo E-mail: questoes@netcabo.pt Telemóvel: 96 347 80 25 Objectivos Iniciar o desenvolvimento de raciocínios algorítmicos Linguagem
Leia maisConceitos básicos de programação
Tipos de dados estruturados Tipos estruturados vectores matrizes Estruturas (registos) Vectores e matrizes são estruturas homogéneas. Uma estrutura homogénea é uma sequência linear de elementos de mesmo
Leia maisPrograma de Matemática 2º ano
Programa de Matemática 2º ano Introdução: A Matemática é uma das ciências mais antigas e é igualmente das mais antigas disciplinas escolares, tendo sempre ocupado, ao longo dos tempos, um lugar de relevo
Leia maisUniversidade Paulista
Universidade Paulista Ciência da Computação Sistemas de Informação Engenharia de Software Análise Estruturada Sergio Petersen 22/4/2012 Sumário 1. Técnicas de Análise 3 2. Principais Autores 3 3. Análise
Leia maisMÉTRICAS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) MÉTRICAS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS TRABALHO DE CONCLUSÃO DE CURSO SUBMETIDO
Leia maisProgramação Linear - Parte 4
Mestrado em Modelagem e Otimização - CAC/UFG Programação Linear - Parte 4 Profs. Thiago Alves de Queiroz Muris Lage Júnior 1/2014 Thiago Queiroz (DM) Parte 4 1/2014 1 / 18 Solução Inicial O método simplex
Leia maisImplementação do Relatório de Falhas em SAP-PM
Implementação do Relatório de Falhas em SAP-PM Este artigo pretende apresentar um projecto de implementação do relatório de falhas no módulo PM do SAP. O conceito básico que presidiu ao desenvolvimento
Leia maisElementos básico de uma rede Samba - Local Master Browser
Servidor Samba Linux Samba é o protocolo responsável pela integração de máquinas Linux com Windows, permitindo assim a criação de redes mistas utilizando servidores Linux e clientes Windows. Samba, é uma
Leia maisBoas situações de Aprendizagens. Atividades. Livro Didático. Currículo oficial de São Paulo
Atividades Boas situações de Aprendizagens Livro Didático Currículo oficial de São Paulo LÓGICA NUMA CONCEPÇÃO QUE SE APOIA EXCLUSIVAMENTE EM CONTEÚDOS E ATIVIDADES Enfoque fragmentado, centrado na transmissão
Leia maisUSANDO O PYTHON PARA ESCREVER PLUG-INS PARA O GIMP
QUINTO RELATÓRIO DE ESTUDOS 01 DE FEVEREIRO DE 2012 Aluno: Francisco Gerson Amorim de Meneses Orientadores: Helena C. G. Leitão / Marcos Lage Tema sugerido: Comparação de Técnicas para Segmentação de Imagens
Leia maisPLANEJAMENTO SIMPLIFICADO DE PROJETOS
PLANEJAMENTO SIMPLIFICADO DE PROJETOS Nestor Nogueira de Albuquerque, MsC. Gestão e Desenvolvimento Regional V Encontro de Pós-GraduaP Graduação UNITAU 2005 Necessidade de um processo de Gestão de Projetos
Leia maisMétodo Simplex Revisado
Método Simplex Revisado Prof. Fernando Augusto Silva Marins Departamento de Produção Faculdade de Engenharia Campus de Guaratinguetá UNESP www.feg.unesp.br/~fmarins fmarins@feg.unesp.br Introdução Método
Leia mais4 A Ferramenta Computacional
4 A Ferramenta Computacional Para pôr em prática o Modelo Inteligente de Avaliação da Qualidade de Água e da Qualidade Biótica MIAQR-PALADINES programou-se uma ferramenta computacional utilizando a linguagem
Leia maisPadrões de Projeto. Factory Method
Padrões de Projeto Padrões de Criação Factory Method Prof. Eduardo N F Zagari Prof. Ivan Granja Factory Method Também conhecido como Construtor Virtual Em muitas aplicações OO, um objeto cliente precisa
Leia maisDEVF IT Solutions. Gerenciador de Log. Documento Visão. Versão 2.0. Projeto Integrador 2015/2 Engenharia de Software
1 Gerenciador de Log Documento Visão Versão 2.0 2 Índice 1. Histórico de Revisões...3 2. Objetivo do Documento...4 3. Sobre o Problema...4 4. Sobre o produto...4 4.1. Descrição Geral sobre o produto...4
Leia maisRoteiro. Modelagem com Entidade-Relacionamento Estendido. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa.
Roteiro Modelagem com Entidade-Relacionamento Estendido Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz
Leia maisIDEF é utilizado para criar uma descrição clara e detalhada de um processo ou um sistema.
IDEF0 Como fazer O QUE É IDEF é utilizado para criar uma descrição clara e detalhada de um processo ou um sistema. Nota: IEDF0 é um subconjunto da Técnica de Análise e Projeto estruturados (Structured
Leia maisO SOFTWARE R EM AULAS DE MATEMÁTICA
O SOFTWARE R EM AULAS DE MATEMÁTICA Renata Teófilo de Sousa (autora) Graduanda - Curso de Matemática UVA Arlécia Albuquerque Melo (co-autora) Graduanda - Curso de Matemática UVA Nilton José Neves Cordeiro
Leia maisQualidade de Produto. Maria Cláudia F. P. Emer
Qualidade de Produto Maria Cláudia F. P. Emer Introdução Qualidade diretamente ligada ao produto final Controle de qualidade Adequação do produto nas fases finais no processo de produção Software Atividades
Leia maisInformática Aplicada
Informática Aplicada Aula 1 Introdução Diogo Pinheiro Fernandes Pedrosa Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi-Árido Introdução Informática informação aplicada; Pressupõe
Leia maisLinguagens e Paradigmas de Programação
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Linguagens e Paradigmas de Programação Professor: César Melo Slides baseados em materiais preparados pelo
Leia maisBANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com
BANCO DE DADOS I AULA 2 Willamys Araújo willamysaraujo7@gmail.com Modelagem de Dados Modelagem de dados é o estudo das informações existentes em um contexto sob observação para a construção de um modelo
Leia mais