Facetas da Reusabilidade de Software
|
|
|
- Cássio Barbosa Paiva
- 7 Há anos
- Visualizações:
Transcrição
1 Facetas da Reusabilidade de Software Daremos um breve panorama da disciplina inteira: reusabilidade de software Qual é o problema? Fazer software é difícil Fazer software é lento e caro Não temos tecnologia ainda para fazer software grande do zero, rapidamente e com poucos bugs Qual é a solução? O reuso é "o" caminho mais freqüentemente apontado As mesmas idéias básicas devem ter sido projetadas e reprojetadas pela mesma pessoa ou pessoas diferentes muitas vezes, com certeza! Será que temos que começar tudo de novo, sempre??? Por que a solução não é fácil? Reuso não acontece automaticamente! Para reusar, tem que: Bolar boas abstrações (i.e., abstrações úteis); e Empacotá-las para facilitar o reuso Como reutilizar bem tem sido meio misterioso ao longo dos anos Como fazer isso? Que técnicas usar? Orientação a Objeto prometeu muito mas não cumpriu a promessa Porque não é fácil Pouca gente conseguiu bons resultados Ficou mais no marketing (com exceção de alguns bons programadores) Página 1 de 8
2 Por que é difícil? Sugestões de William Opdyke em "Refactoring, Reuse, and Reality": Técnicos podem não entender o que reusar ou como reusá-lo; Técnicos podem não se motivar a aplicar técnicas de reuso a não ser que benefícios de curto prazo sejam alcançáveis (porém, o reuso é mais um investimento em longo prazo); Overhead, curva de aprendizado e custos de descobrimento devem ser endereçados para que o caminho do reuso seja bem sucedido. O que mudou recentemente? Na metade da década de 90, as lições e caminhos cristalizaram-se com: Patterns (principalmente Design Patterns) Frameworks Frameworks são mais antigos, datando do final de 80 mas explodiram apenas recentemente devido ao casamento com design patterns Componentes Só recentemente (digamos desde 1999), estamos saindo do uso de componentes apenas na interface gráfica Tipos de reuso Falaremos das técnicas historicamente empregadas para atingir o reuso Do mais simples/antigo para mais sofisticado/novo A granularidade de reuso mudou radicalmente ao longo dos anos Fase infantil (500 AC até anos 1960) Reuso da solução do vizinho numa prova :-) Página 2 de 8
3 Fase pré OO: O que é reutilizado: linhas de código roubadas de um programa e usadas em outro Nome (moderno) da técnica: Cut-and-Paste O que é reutilizado: código comum de um programa Nome da técnica: Subrotinas O que é reutilizado: funções inteiras genéricas, relacionadas, para servir em várias situações em programas diferentes Nome da técnica: Bibliotecas Fase da revolução O-O: 1980 O que é reutilizado: conceitos inteiros através de classes Nome da técnica: herança, composição/delegação Permite fazer Programming-by-Difference O que é reutilizado: Contratos de relacionamento entre objetos Nome da técnica: Interfaces (originalmente chamado Protocolo) Interface como conceito de "Plug Point" Interface como conceito de "barreira de desacoplamento" Uma lei fundamental da programação: "Program to an Interface, not to an Implementation" Classes abstratas são usadas para criar interfaces em algumas linguagens, mas deve-se diferenciar bem dois conceitos que classes abstratas podem implementar: Classes puramente abstratas definem uma interface (um tipo abstrato de dados); Herança de tipo Classes abstratas com alguma implementação são usadas para fatorar código comum Página 3 de 8
4 Herança de implementação O primeiro conceito é o mais importante, já que o segundo pode ser feito com composição/delegação Lembre: classe = implementação, interface = contrato Em Java: Classes abstratas são usadas apenas para herança de implementação Interfaces são usadas para herança de tipo Late binding (polimorfismo) permite melhor reuso pois desvincula o uso da implementação Qualquer implementação da interface pode pintar em tempo de execução e ser usada Se fôssemos forçados a escolher (isto é, fazer o binding) em tempo de compilação, teríamos amarração a uma implementação (classe) particular; Com late binding, mais objetos podem trabalhar uns com os outros, pois eles sabem menos coisas uns dos outros Situação no final da década de 1980: OO resolveu? Porém, no final da década de 80, as técnicas acima ainda não cumpriram a promessa de reuso completamente Quais são as coisas que ainda dificultam a reutilização de software? São situações novas que forçam um redesign Exemplos seguem Criar um objeto especificando sua classe explicitamente O código se compromete com uma implementação particular Dependência de operações específicas Página 4 de 8
5 Especificar uma operação particular diz como fazer algo e não apenas qual é o efeito desejado É melhor "programar por intenção" dizendo "o quê" e não "como" Dependência de plataformas de hardware ou software específicas As APIs são diferentes Dependência da representação ou implementação de objetos Clientes que sabem como um objeto é representado, armazenado, localizado ou implementado terão que mudar se o cliente mudar Dependências algorítmicas Objetos que dependem de um algoritmo devem mudar quando o algoritmo é estendido, otimizado ou trocado durante a manutenção Acoplamento forte O reuso isolado de classes que têm acoplamento forte é freqüentemente impossível No extremo, temos um sistema monolítico (puxa um fio e tudo vem atrás) Extensão de funcionalidade através da herança Cria um forte acoplamento entre a superclasse e as subclasses Dificuldade de alterar classes convenientemente Pode não ter código fonte ou não querer mudar uma classe Fase: após o "deslumbramento OO": 1990 Técnicas foram inventadas e catalogadas para "resolver" os problemas mencionados acima Catalogação das "boas idéias de projeto" que os melhores programadores do mundo tiveram ao longo dos anos Página 5 de 8
6 São micro-arquiteturas que definem as colaborações entre classes e objetos Chamados Design Patterns (Padrões de Projeto) A granularidade de reuso está aumentando de "classes individuais" (ou hierarquias de classes) para "várias classes e suas colaborações" Exemplo: Padrão Iterator para varrer um objeto sem saber sua implementação Não se reutiliza código aqui, só idéias São soluções boas aos problemas de reuso apresentados acima Meta-padrão: Design patterns especificam formas de separar e isolar o que é igual do que é diferente entre situações São soluções boas aos dois problemas: "Bolar boas abstrações" e "Empacotá-las para facilitar o reuso" Resolvem particularmente bem o segundo problema Aumentando ainda mais a granularidade: frameworks Para reusar: análise, arquitetura, design inteiro, semântica de interação e até testes! É muito reuso! Imagine analisar, projetar, implementar e testar várias aplicações semelhantes De um mesmo Domínio de Problema Após implementar e testar as várias aplicações, fatora o que elas têm de comum num código único e deixe ganchos para enxertar as diferenças Você acabou de criar um framework Frameworks estão explodindo no final da década de 90 pois ficou mais claro como criá-los usando Design Patterns Junção das duas técnicas Reutilização de abstrações inteiras plugáveis Componentes Cuidado! A palavra é usada de várias formas! Página 6 de 8
7 De forma geral, significa alguma abstração plugável Para nós, a semântica é um pouco mais restrita: Objetos manipuláveis em Design Time Novo conceito: Design Time Para se somar a Compile Time e Execution Time Queremos, em tempo de design, instanciar abstrações (objetos, talvez?), configurá-los e utilizá-los num programa Uso freqüente de ferramentas visuais para criar componentes Apareceu para bolar interfaces gráficas mais rapidamente Pioneirismo de Visual Basic Componentes permitiram a revolução chamada RAD (Rapid Application Development) Hoje: uso estendido para "Server Components" que nem sequer têm interface gráfica Palavras finais: Implantação da cultura de reuso nas empresas Nessa nova cultura, uma empresa se foca em construir e melhorar seu patrimônio de reuso Isto deve ser encarado como investimento Um conceito novo na área de desenvolvimento de software Generalizar algo para ser reutilizado não se justifica se for considerado apenas o objetivo original proposto Requer o alargamento dos requisitos originais Requer coisas novas: Um processo de desenvolvimento adequado Além de desenvolver um produto, queremos criar abstrações reutilizáveis e aumentar o patrimônio da empresa Página 7 de 8
8 programa Novos papéis Para coordenar o reuso entre times diferentes Treinamento Incentivos apropriados para o reuso Por que atrapalhar meu cronograma só para que o que faço seja reutilizado por outra equipe depois? Página 8 de 8
Introdução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Interface vs. Implementação Herança vs. Composição
Interface vs. Implementação Herança vs. Composição O que vimos na última aula? Padrões GRASP Expert Creator Low Coupling High Cohesion 2 O que veremos hoje? Interface e Polimorfismo Interface como uma
3 Arquitetura para a Coordenação e a Composição de Artefatos de Software
Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,
Unidade: sobrecarga, construtores e herança
Unidade: sobrecarga, construtores e herança 0 Unidade: sobrecarga, construtores e herança Sobrecarga Sobrecarregar (do inglês overload) um método é criar mais métodos com o mesmo nome, porém com assinaturas
Introduçã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
Programaçã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
Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato [email protected] Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos
Técnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
REUSO E REUSABILIDADE
REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.
Daniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Requisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
SOFTWARE REUSE. Ian Sommerville, 8º edição Capítulo 18. Aula de Luiz Eduardo Guarino de Vasconcelos
SOFTWARE REUSE Ian Sommerville, 8º edição Capítulo 18 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Explicar os benefícios e alguns problemas do reuso de software Descrever diferentes tipos de
Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Reutilização de Software
DCC / ICEx / UFMG Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reutilização de Software Abordagem de desenvolvimento com o objetivo de maximizar o uso de software pré-existente
Capítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
Problema: Problema: FRAMEWORK. Problema: Motivação. O que é um framework
Problema: Construir a simulação do comportamento de caixas de supermercado. FRAMEWORK Problema: Construir a simulação do comportamento de caixas de supermercado. for( ; time < fim ; ) { e = lista.getprimeiro();
Desenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de
Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto
Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça Introdução Padrões de projeto Algumas definições... Um padrão de projeto (design pattern) é uma solução geral reutilizável
Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato [email protected] Programação Procedimental x Orientada a Objetos Objetivos e Benefícios
AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões
DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para
Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education
Reúso de Software Adaptado de Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reúso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio
Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes
Engenharia de Software Aula 09 Tópicos da Aula Projeto de Software Revisão de orientação a objetos Projeto orientado a objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 04
Projeto de Linguagem. Linguagens de Programação
Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem
Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira
Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança
Reuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] Componentes Modelos de Componentes
Projeto de software Estrutura do software e arquitetura SWEBOK
Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design
Objetivos. Explorar os conceitos fundamentais acerca do uso herança na linguagem Java
Objetivos Explorar os conceitos fundamentais acerca do uso herança na linguagem Java Como a herança reutiliza código, vantagens e desvantagens, o problema weak base-class, acoplamento com herança, o uso
ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software
ENGENHARIA DE SOFTWARE Aula 17 Reuso de software OBJETIVOS Entender os benefícios e problemas de reuso de software durante o desenvolvimento de novos sistemas; Entender o conceito de um framework de aplicações
Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Arquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59
Sumário Capítulo 1 Introdução 29 1.1 O que é programação? 30 1.2 A anatomia de um computador 31 1.3 Traduzindo programas legíveis pelo homem em código de máquina 36 1.4 A linguagem de programação Java
Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.
Análise Estruturada Modelo Essencial ou Lógico constitui-se de dois sub-modelos (Modelo Ambiental e Modelo Comportamental) e um Dicionário de Dados. Linguagens: Fortran, Cobol, C, etc. Orientada a Objetos
C com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Aula 12: Princípios da Coesão de Pacotes
Aula 12: Princípios da Coesão de Pacotes Programação Modular Jefersson Alex dos Santos ([email protected]) Roteiro Projeto de classes Modularização fundamental para garantir a qualidade de software
O PARADIGMA ORIENTADO POR OBJETOS
O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos
Capítulo 7 Conceção e Implementação 1
Capítulo 7 Conceção e Implementação Capítulo 7 Conceção e Implementação 1 Assuntos abordados Design orientado a objetos com recurso ao UML Padrões de design Questões de implementação Desenvolvimento de
Visões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados
Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa
Programação Estruturada Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected]
Model Driven Development (MDD)
Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros [email protected] Sumário Introdução Desenvolvimento de Software
Linguagens de Programação 10 Avaliação de Linguagens
Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Conceitos de Orientação a Objetos
Conceitos de Orientação a Objetos I. Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava alguns conceitos da
Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
CONCEITOS BÁSICOS E MODELO DE PROJETO
CONCEITOS BÁSICOS E MODELO DE PROJETO Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Na aula passada... Abstração Arquitetura Padrões de Projeto Separação por interesses (por afinidades) Modularidade
Orientação a Objetos (OO)
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.
Frameworks. Viviane Torres da Silva
Frameworks Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/es1 Frameworks Motivação Definição Classificação Características Propriedades Técnicas de Customização Frameworks
Paradigmas de Linguagens
Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens
Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Programação orientada a objetos
Programação orientada a objetos Neste capítulo: conceitos-chave que caracterizam as linguagens de programação orientadas a objetos; pragmática da programação orientada a objetos; o projeto de duas importantes
Aula 4 Encapsulamento e Relacionamento Cleverton Hentz
Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Sumário } Encapsulamento } Propriedades } Relacionamentos } Composição } Herança 2 O que é encapsulamento? } O que vocês entendem por encapsular?!
Modelagem Orientada a Objeto
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelagem Orientada a Objeto Engenharia de Software 2o. Semestre de
Levantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Fundamentos de Orientação à objetos
Fundamentos de Orientação à objetos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Objeto Um objeto, como um substantivo, pode ser uma pessoa, local ou
Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno
Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos Prof. Bruno Moreno [email protected] Engenharia de Requisitos É, talvez, o maior problema da indústria de SW; Está relacionada
Curso online de Fundamentos em Android. Plano de Estudo
Curso online de Fundamentos em Android Plano de Estudo Descrição do programa A Certificação Android ensina como usar as ferramentas necessárias para projetar e implantar aplicativos Android para dispositivos
PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 5 6 7 Padrão de Desenvolvimento? O Conceito de Padrão de Projeto Padrão MVC Persistência MVC Nível
Programação Orienta a Objetos
Programação Orienta a Objetos Linguagem de Programação 1 Os atores principais do paradigma de projetos orientados a objetos são chamados de objetos. Um objeto se origina de uma classe, que é uma especificação
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Computação II - Python Aula 1 - Apresentação do curso e revisão de programação modular
Computação II - Python Aula 1 - Apresentação do curso e revisão de programação modular Carla A. D. M. Delgado João C. P. da Silva Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/
AULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
