Prof. Marcelo Henrique dos Santos



Documentos relacionados
Orientação à Objetos. Aécio Costa

Módulo 4. Construindo uma solução OLAP

Modelagemde Software Orientadaa Objetos com UML

FASAR FACULDADE SANTA RITA

Requisitos de Software

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

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

TOTVS BA Guia de Customização Linha Logix

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

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

DESENVOLVENDO O SISTEMA

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Engenharia de Software III

Desenvolvimento de Interfaces Prototipação

Desenvolvimento de uma Etapa

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

1 ACESSO AO PORTAL UNIVERSITÁRIO 3 3 PLANO DE ENSINO 6 4 AULAS 7 5 AVALIAÇÃO E EXERCÍCIO 9 6 ENQUETES 12 7 QUADRO DE AVISOS 14

2 Diagrama de Caso de Uso

MANUAL PARA INCLUSÃO DIGITAL- ANDRAGOGIA

QUALIDADE DE SOFTWARE

Disciplina: Unidade III: Prof.: Período:

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MANUAL DE SUPORTE. Controle de Suporte. Este manual descreve as funcionalidades do controle de suporte.

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

Orientação a Objetos

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Guia de Utilização FControl - Área do Lojista - (Administrador / Manager)

Desenvolvendo plugins WordPress usando Orientação a Objetos

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

3 - Projeto de Site:

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

2 Engenharia de Software

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Atualizaça o do Maker

ENGENHARIA DE SOFTWARE I

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

QualiQuantiSoft Versão 1.3c

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

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

Guia de utilização. Gestão de Mensagens. Março 2009

Orientação a Objetos

Manual Equipamento ST10 Flasher Rev. 1

Operador de Computador. Informática Básica

GUIA INTEGRA SERVICES E STATUS MONITOR

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

INTERFACE USB PARA PROFIBUS PA

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL

ISO/IEC 12207: Gerência de Configuração

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

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

QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta.

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Registro e Acompanhamento de Chamados

Microsoft Access XP Módulo Um

SuperStore Sistema para Automação de Óticas

8 Threads. 8.1 Introdução

2. Função Produção/Operação/Valor Adicionado

Aplicações Interativas Dirigidas por Domínio

FUNDAMENTOS DE MARKETING

NOÇÕES DE VELOCIDADE NA EDUCAÇÃO INFANTIL. Palavras Chave: Conhecimentos físicos. Noções iniciais de velocidade. Matemática na Educação Infantil.

Uma Abordagem usando PU

GRUPO ARESTO E-CRM CONTÁBIL. Rua: Farjalla Koraicho, 49 sl

Procedimentos Operacionais (POs)

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

Planejando o aplicativo

Sistemas de Informação I

Guia Rápido. Copyright Todos os direitos reservados.

OURO MODERNO Designer Gráfico APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

PÉGASUS (ETHERNET POCKET) STUDIO V1.00 MANUAL DE INSTALAÇÃO E OPERAÇÃO

Teste de Software. Ricardo Argenton Ramos Engenharia de Software I

BPMN (Business Process. George Valença

MANUAL C R M ÍNDICE. Sobre o módulo de CRM Definindo a Campanha... 3

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

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

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

AULA 4 Sistemas Operacionais

Gerenciamento de Contatos

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Manual de Instalação

Microsoft Office PowerPoint 2007

Gerenciamento de Projeto: Criando a Declaração de Escopo II. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

:: aula 11. :: Diagrama de Seqüência e Protótipos. :: Olá! Nesta aula, continuaremos a 4ª fase do Projeto Desenho.

Configurações de Templates no SolidWorks 2011

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta:

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

Permissões de compartilhamento e NTFS - Parte 1

Transcrição:

ORIENTAÇÃO A OBJETOS COM PROTOTIPAÇÃO CAPÍTULO 02 CONCEITOS FUNDAMENTAIS OBJETIVOS Definiremos alguns conceitos fundamentais de forma a não deixar dúvidas básicas ou interpretações que nos coloquem em xeque perante os nossos princípios. Deixaremos claro o conceito de prototipação, assim com de seus tipos diferenciados, objeto, estrutura dos objetos e HERANÇA, bem como o modo como os objetos transferem informação. INTRODUÇÃO Procuraremos chegar a definições mais elaboradas de orientação a objeto e prototipação rápida, tentando evitar interpretações errôneas devido a falta de uma norma a respeito. DEFINIÇÃO DE PROTOTIPAÇÃO RÁPIDA Prototipação é a reprodução de uma ideia sob a forma concreta, ferramental, com o objetivo de permitir que questionamentos e análises complementares sejam feitos graças à visualização do funcionamento do produto. Portanto, para um projeto de sistema, prototipar é fazer com que uma ideia de automação possa ser posta em prática sem a total complexidade computacional que o assunto exige. A prototipação proporciona aos usuários um envolvimento maior e uma interação com o sistema, tanto no desenho como no desenvolvimento do software, determinando, portanto, uma dependência bem menor nas complexas comunicações humanas. DEFINIÇÃO GRÁFICA DE OORP A construção de um protótipo é baseada na rapidez das especificações da orientação a objeto; A construção do protótipo orientado a objeto consiste na criação de diferentes CLASSES DE OBJETOS com seus serviços devidamente encapsulados; A interação repetitiva do modelo modifica, estende e refina as especificações e as classes de objetos existentes;

A combinação de especificações e dados de objeto existentes, estrutura, serviços e controles tornam-se a linha base das exigências para a aprovação do protótipo pelo usuário; Um protótipo aprovado pelo usuário pode ser colocado em modo operacional completo após testes, desempenho e refinamento. PROTOTIPAÇÃO RÁPIDA EVOLUTIVA Construirá um modelo com ferramentas que permitam obter alto desempenho e que esteja afinado com outras aplicações, também facilitando a integração delas, de forma a não ter que recomeçar novamente. A pré-especificação e uma pequena parte dos requerimentos dos quais o desenvolvedor deverá estar ciente, ter a segurança completa e o comprometimento do usuário com o que será feito desse ponto em diante não será recriado, tornando-o caro demais para a sua aplicação.

PROTOTIPAÇÃO DESCARTÁVEL Baseia-se na construção de um protótipo rápido, de modo que, logo depois de sua apresentação, ele seja descartado. ENGENHARIA E SOFTWARE ORIENTADO A OBJETO Os termos objeto, ENCAPSULAMENTO e herança tornam-se comuns na fala cotidiana, porém podem ser mal interpretados ou dificultosos dentro do contexto no ambiente de desenvolvimento de sistemas. Para entender o ponto de vista orientado a objeto, consideremos um objeto do mundo real, como, por exemplo, uma cadeira. Cadeira é um membro de uma classe muito maior de objetos, que será denominada de mobiliário. Um conjunto de atributos genéricos pode ser associado a cada objeto da classe mobiliário, como custo, dimensões, peso, localização e cor. Esses atributos são aplicados quando se identifica uma mesa, um sofá ou um armário, pois tais elementos fazem parte da classe mobiliário. Os elementos que formam a classe herdam suas características, como ilustra a figura a seguir.

DEFINIÇÃO DE OBJETO Podemos definir objeto como um ente para o qual pensamento e ação são dirigidos. A criação de objetos em software é realizada pela identificação de coisas de interesse do usuário, com finalidade de aplicação, sendo, portanto, uma abstração do mundo real em subconjuntos de informação sobre o seu comportamento. CLASSES E INSTÂNCIAS Na definição de objeto, uma INSTÂNCIA DE OBJETO de software poderia conter dados como nome do cônjuge, endereço, telefone, etc. ENCAPSULAMENTO DE DADOS E OBJETOS Encapsulamento é um conceito que propõe a criação de objetos de modo a serem autossuficientes procurando ter uma interação mínima com outros objetos na aplicação. Operações de software e dados são integradas e a esta ligação chamamos de encapsulamento. A verdadeira e real função do encapsulamento é a melhoria da produtividade durante o processo de prototipação e manutenção, atividades estas que requereriam muito esforço para a modificação do software existente. ESTRUTURAS DE HERANÇA

Herança é um conceito que ajudou nos ambientes de desenvolvimento orientado a objetos e que provê a capacidade de desenvolvimento de novos objetos, estendendo a sua estrutura de classe previamente construída. CONTROLE DE MENSAGEM Um dos fatos que mais têm ocasionado conflitos e aos quais os programadores não estão acostumados é que no desenvolvimento orientado a objetos os softwares são controlados por meio de mensagens. O Software hierárquico é criado escrevendo-se um programa principal (ou programa guia) que executará as tarefas, chamando as sub-rotinas especializadas para isso; o programa guia terá de ser carregado. O software orientado a objeto deve ser escrito de forma que eventos ativem as mensagens emissoras. Exemplos de eventos: Um botão do mouse é clicado; Uma janela é minimizada; Um registro novo (instância de objeto) é criado; Uma instância de objeto diferente do atualmente ativo é acessada. O POLIMORFISMO e o encapsulamento permitem o desenvolvimento de software orientado a objeto, que não se identifica com a forma hierárquica onde os componentes são agregados, de modo dependente um ao outro. Para se ter uma ideia mais clara, as classes de objeto são autônomas e quase não requerem conhecimento das estruturas de dados de outras classes de objetos. RESUMO Entendemos o que significa protótipo e as diferenças entre prototipação evolutiva e não evolutiva, podemos adotar maneiras diferenciadas de trabalho e de identificação de tarefas. Conceitos tais como os de herança e encapsulamento nos mostram formas mais eficientes de criar objetos e rotinas autossuficientes em alguns casos, sem a necessidade de interagir com outros objetos para atingir os objetivos desejados no sistema. QUESTÕES PARA REVISÃO a) Defina prototipação

b) Quais as diferenças entre prototipação evolutiva e a não evolutiva? c) Quais as vantagens da prototipação evolutiva? d) Defina Objeto. e) Quais as diferenças entre classes e instâncias? f) Qual é o principal motivo do encapsulamento? g) Um objeto pode ser totalmente autônomo? h) De que maneira um objeto passa serviços e atributos para outro? i) Qual é a principal diferença entre software hierárquico e software orientado a objetos? j) Cite pelo menos cinco exemplos de eventos. BIBLIOGRAFIA RECOMENDADA