Profª. Juliana Pinheiro Campos ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof.

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objetos

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

Por Que Orientação a Objetos?

Análise de Sistemas. Aula 5

Introdução a orientação a objetos

ORIENTAÇÃO A OBJETOS Histórico:

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. JAVA6 e Programação Orientada Pelos Objectos, F. Mário Martins, FCA, Julho de 2009.

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

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

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

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

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Orientação a Objetos. Programação em C++

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

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

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

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

UML Unified Modeling Language Linguagem de Modelagem Unificada

Aula 1 Introdução à Orientação a Objetos (OO) e UML

Requisitos de Sistemas

Programação Orientada a Objetos em Python

Introdução à Análise e Projeto de Sistemas

Engenharia de Software

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Tópicos Especiais em Sistemas de Telecomunicações IV

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

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

Princípios de Análise e Projeto Orientados a Objetos com UML

Linguagem de Programação I

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Introdução a Programação Orientada a Objetos

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

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

ANÁLISE E PROJETO DE SISTEMA

INTRODUÇÃO À ORIENTAÇÃO A OBJETOS E UML

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

Programação por Objectos Introdução. Introdução 1/18

Capítulo 2. Orientação a Objetos

Fundamentos de Programação 1

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

Fundamentos de Programação

Programação Orientada a Objetos

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

Histórico de Linguagens de Programação

UML e seus diagramas

Programação Orientada a Objeto POO

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

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Paradigmas de Programação

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

Complexidade do Software

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

IDENTIFICAÇÃO DO ESCOPO DE SOFTWARE A PARTIR DA ANÁLISE DE REQUISITOS UTILIZANDO A UML

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

UML Unified Modeling Language Linguagem de Modelagem Unificada Requisitos, Casos de Uso no ArgoUML

UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA

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.

Marcelo Henrique dos Santos

UML - Linguagem de Modelagem Unificada

Introdução a Orientação a Objetos

INF1404 MODELAGEM DE SISTEMAS

Engenharia de Software II

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

UML (Unified Modelling Language)

Introdução. Pacote. Classe. UML Diagrama de. Atributo. Classes. Método. Prof. Dr. Enzo Seraphim. Visibilidade

3. Introdução à Programação OO

Engenharia de Software. Herbert Rausch Fernandes

UML. Adriano J. Holanda 21/3/

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Análise e projeto de sistemas

I Análise de Sistemas

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Unidade: Introdução à POO (Programação Orientada a Objetos)

1 Analise de Sistemas

2. 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?

Conceitos de Programação Orientada a Objetos

Tecnologia de Objectos

Desenvolvimento de Software (Riscos) (II)

Paradigmas de análise e desenvolvimento de sistemas. Principais Paradigmas

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

Orientação a Objetos: Conceitos. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

FIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno

INF1013 MODELAGEM DE SOFTWARE

Transcrição:

1 Profª. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof. Clayton Vieira Fraga Filho

2 Paradigmas de programação Paradigmas de Programação Declarativo Imperativo Funcional Lógico Seqüencial/ Procedural Orientado a Objetos

Visão de desenvolvimento baseada em um modelo entrada-processamento-saída A computação ocorre através da execução de instruções passo a passo. Pode incluir subrotinas ou procedimentos como mecanismo de estruturação. Ex: C, Pascal. 3

4 Dados Dados Dados Processamento Resultado

Custo Total 5 Exemplo: Calcular a folha de pagamento de um departamento Adiantamento do João Salário do Pedro Dependentes da Maria Férias do Antônio Salário da Maria Demissão da Joana Processamento Prêmio da Helena

Exemplo: Domínio do problema gestão acadêmica Considerando o problema da gestão acadêmica, como resolvê-lo? Como implementá-lo? Definindo suas funcionalidades. - Lançar disciplinas. - Associar alunos à disciplinas. - Efetuar matrícula. - Lançar notas. - Consultar média. - Lançar faltas. 6

Mas... Para efetuar matrícula e consultar média pensamos no aluno. Para lançar notas e lançar faltas pensamos no professor. Para lançar disciplinas e associar alunos a disciplinas pensamos no coordenador. Isso acontece porque vivemos em um mundo de objetos! 7

Desvantagens: Dados são considerados separadamente das funções. Funções são ativas e dados são repositórios passivos de informação afetados por funções. semântica do mundo real é desprezada. maior dificuldade na reutilização de código. Não nos ajuda a preparar o código para possíveis modificações no futuro, já que seu objetivo é simplesmente descrever a solução para um problema, e não o problema. 8

Paradigma para o desenvolvimento de software que organiza o software como uma coleção de objetos que interagem entre si. Uma forma de pensar os problemas, utilizando modelos organizados a partir de conceitos do mundo real. Pressupõe que o mundo é composto por objetos. 9

As partes das quais o modelo é construído são os objetos que aparecem no domínio do problema. Objeto é uma entidade que combina e s trutura de da do s e c om po rta m e nto func io na l. Os sistemas são modelados como um número de classes que ao serem instanciadas interagem, trocando informações. 10

Envolve todas as atividades de desenvolvimento: análise, projeto, programação, testes, Os mesmos objetos existem em todas as fases e uma notação única facilita a INTEGRAÇÃO ENTRE FASES de desenvolvimento. 11

12

13 Programação Procedimental Programação Orientada a objetos

Diminui a diferença semântica 14

Reduz complexidade através de melhoria do grau de abstração Melhora produtividade a longo prazo, permitindo o uso da reutilização pelos desenvolvedores Torna mais fácil a comunicação entre clientes e desenvolvedores Maior facilidade de manutenção 15

Modelos que casam com a forma de seus negócios; Gerenciamento simplificado, através da quebra das aplicações em unidades menores e mais bem definidas; Maximiza a reutilização de código; 16

Reduz esforço de codificação; Reduz teste, melhora confiabilidade; Reutilização customizada através de componentes white box (ex: classes C++, Delphi); 17

Menor produção de software novo: aumento de produtividade ganho de qualidade ganho de confiabilidade conhecimento adquirido pode ser compartilhado 18

Linguagem S IMUL A (anos 60), derivada do ALGOL e desenvolvida no Centro Norueguês de Computação, por Kristen Nygaard e Ole-Johan Dahl. A SIMULA era utilizada para simulações e foi a pioneira na utilização de classes e subclasses, semelhantes às usadas atualmente em POO. S MAL L T AL K (anos 70), foi a primeira linguagem autêntica orientada a objetos. Foi desenvolvida por cientistas do Xerox Palo Alto Research Center (Xerox PARC). Cada elemento do SMALLTALK é tratado como sendo um objeto. Esta linguagem é puramente OO. 19

C ++, dos laboratórios da AT&T Bell, criada por Bjarne Stroustrup, uma expansão da linguagem C, muito popular e conhecida. (anos 80) Suporta POO, mantendo as características do C tradicional (Fácil transição do C para o C++) J a va (1995), desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Uso de sintaxe familiar ao C++. Inicialmente com limitações inerentes à interpretação. Atualmente muito popular. Projeto da linguagem que facilita o ensino. 20

O termo P rog ra m a ç ã o Orie nta da a Obje tos foi criada por Alan Kay, autor da linguagem de Programação SMALLTALK. 21

22

23

24 UML Unified Modeling Language (Linguagem de modelagem unificada) Na década de 90, Booch, Rumbaugh e Jacobson uniram as melhores características de cada método e criaram a UML. A UML é uma família de notações gráficas, que ajuda na descrição e no projeto de sistemas de software, particularmente daqueles construídos utilizando o estilo orientado a objetos. Esta notação foi padronizada pela OMG (Object Management Group) em 1997.

25 A tecnologia de objetos facilita o entendimento do domínio do problema, permitindo o GERENCIAMENTO DA COMPLEXIDADE através da modularização. Facilidade de mudanças através do ENCAPSULAMENTO de dados