Baixe o app para aproveitar ainda mais
Prévia do material em texto
18/09/13 ESOF - Aula 12 - 2013/1 - SourceInnovation www.sourceinnovation.com.br/index.php/ESOF_-_Aula_12_-_2013/1 1/7 ESOF - Aula 12 - 2013/1 De SourceInnovation Orientação a Objetos Índice 1 Breve Histórico 2 Foco 3 Novo paradigma 4 Características 5 Conceitos básicos 5.1 Objetos Breve Histórico Fim da década de 80: Amadurecimento da orientação a objeto Década de 1990: Diversas proposições (Booch, Rumbaugh, Jacobson, ...) http://www.sourceinnovation.com.br/index.php/Booch http://www.sourceinnovation.com.br/index.php/Rumbaugh http://www.sourceinnovation.com.br/index.php/Jacobson Década de 2000: Utilização rotineira da OOA (Object Oriented Analysis)como método de análise e uma certa padronização através da utilização extensiva do UML (Unified Modeling Language). A OOA baseia-se num conceito simples de que as pessoas adquirem desde a infância, como objetos e atributos, classes e membros, todo e partes do todo. Atual: Orientação a Serviço (SOA) http://www.sourceinnovation.com.br/index.php/SOA Foco 18/09/13 ESOF - Aula 12 - 2013/1 - SourceInnovation www.sourceinnovation.com.br/index.php/ESOF_-_Aula_12_-_2013/1 2/7 Métodos Abordagens Ferramentas Análise tradicional Funcional Textos e fluxogramas Análise estruturada Funcional e Dados Diagramas: Fluxos de dados, Estrutura de dados, Miniespecificações, Normalização e Dicionário de Dados Análise essencial Funcional, Dados e Controle Tabela de eventos. Diagramas: Fluxos de dados, Entidade e Relacionamento, Transição de estados, Estrutura de dados, Miniespecificações, Normalização e Dicionário de dados Análise orientada a objetos UML Diagramas: Casos de uso, Classes, Atividades, Estado, Pacotes e Colaboração Análise orientada a serviços SOA . Foco tradicional: Compreensão do sistema como um conjunto de programas que executam processos sobre os dados. Foco OOA: O sistema é uma coletânea de objetos que interagem entre si, com características próprias, representados por atributos(dados) e operações (processos). Os métodos de orientação a objetos apresentam uma visão mais integrada das funções e dados O sistema orientado a objetos é estruturado através de objetos, que contemplam: funções + dados Resultados: Produtos mais estáveis e de melhor qualidade Processo de desenvolvimento que permite: melhor entendimento do sistema e do seu ambiente melhor entendimento do domínio da aplicação melhor independência da implementação até estágios mais avançados. 18/09/13 ESOF - Aula 12 - 2013/1 - SourceInnovation www.sourceinnovation.com.br/index.php/ESOF_-_Aula_12_-_2013/1 3/7 Quando usar uma análise OO? Projeto de grande porte: Muita informação e subprojeto Sistema para organização da Copa do Mundo Sistema para construção de um foguete Requisitos não completamente fechados : Não se consegue definir tudo antecipadamente Sistema a ser desenvolvido pela sua equipe Aplicação onde alguns itens dependem de novos conhecimentos Requisitos vagos, incompletos ou inconsistentes: Sistema solicitado oralmente Demandas vindas de solicitantes inexperientes. Ex: Diretor novo na empresa Novas aplicações: Abordagem sistemática para facilitar o entendimento Ex: Sistema Realidade Aumentada Projetos inovadores, radicais. Ex: Gerenciamento de um satélite. Equipe com especialidades diversas : Torna-se linguagem comum Ex: Sistemas de controle de um avião É construído com pessoas de diversas partes do mundo com diferentes competências Sistemas críticos: Definição mais profunda da lógica Ex: Sistema bancário, sistemas de alta segurança, Bolsa de Valores, etc. Benefícios da AOO a) Mantém a modelagem do sistema e, conseqüentemente, a automação do mesmo o mais próximo possível de uma visão conceitual do mundo real. b) Baseia a decomposição e modelagem do sistema nos dados, que é o elemento mais estável de todos aqueles que compõem um sistema de informação. c) Oferece maior transparência na passagem da análise ( modelo essencial ) para o projeto ( modelo de implementação ) 18/09/13 ESOF - Aula 12 - 2013/1 - SourceInnovation www.sourceinnovation.com.br/index.php/ESOF_-_Aula_12_-_2013/1 4/7 Novo paradigma O desenvolvimento das aplicações continuou passando por grandes mudanças. O paradigma de desenvolvimento que acabamos de estudar, o procedimental ou estruturado, foi um dos primeiros a se popularizar. A maneira como se codifica é linear, muito próximo ao hardware e utilizava conceitos matemáticos para definir soluções. “Um algoritmo é uma sequência ordenada e finita de etapas, cuja execução passo a passo resolve um determinado problema.” (VILARIM, 2004, p.7). O desenvolvimento de aplicações baseadas neste paradigma era de uma complexidade muito alta levando a descontinuação de vários projetos de software. Para tentar reverter essa realidade, foi criada uma nova abordagem de desenvolvimento, o Paradigma Orientado a Objetos. Este, por sua vez, permitia a criação de um código de melhor legibilidade, rotinas podiam ser mais facilmente reutilizadas e processos complexos podiam ser escritos de forma mais compreensível e de melhor manutenção. Segundo Deitel (2006), orientação a objetos é um paradigma que aproxima o programador do mundo real, no qual tudo pode ser visto como objetos, como por exemplo: Na escola: livro, aluno, faculdade, curso, disciplina, professor, ... Na indústria: motor, carga, consumo, impedância, ... No comércio: produto, venda, nota fiscal, cliente, vendedor, ... Em casa: garagem, pessoa, camera, lampada, consumo, chuveiro, ... No jogo: avatar, fase, movimento, armas, perfil, ... Antes da OO, o desenvolvimento se preocupava com as ações desses objetos, a programação se baseava nos verbos: AlugarLivro CadastrarAluno RealizarMatricula etc. O programador recebia os problemas em objetos e codificava em verbos. A primeira providência era imaginar o fluxo de dados e as funções principais (DFD e DD). Depois se pensava em como os dados permanentes (persistentes) seriam armazenados (DER). Com o advento da OO, o programador passou a codificar exatamente o que via. A modelagem passou a se basear nos substantivos, como, por exemplo, o livro, o aluno, a conta, o cliente, o sensor, a carga, etc. Ao desenvolver um sistema OO, não se analisa o problema linearmente. Primeiro se observa quais objetos estão interagindo entre si e qual a responsabilidade de cada um dentro do contexto do problema. Essa nova forma de raciocinar tornou sistemas grandes e complexos possíveis de serem realizados Características 18/09/13 ESOF - Aula 12 - 2013/1 - SourceInnovation www.sourceinnovation.com.br/index.php/ESOF_-_Aula_12_-_2013/1 5/7 Objetos são abstrações de entidades do mundo real (ou de algum sistema) que se auto-gerenciam Objetos são independentes e encapsulam suas representações de estado e de informações A funcionalidade de um sistema é expressa em termos de serviços que os objetos prestam Áreas de dados redundantes são eliminadas Objetos se comunicam através do envio de mensagens Objetos podem ser distribuídos Objetos podem ser executados sequencialmente ou de forma paralela. Projeto, análise e programação são atividades distintas Análise OO se preocupa com a modelagem dos objetos para o domínio da aplicação Projeto OO se encarrega do desenvolvimento de um modelo de sistema que implemente os requisitos funcionais e não-funcionais pré- definidos pela AOO Programação OO se incumbe da implementação do Projeto OO usando uma linguagem de programação OO (C++, Java, Python, ...). ___________________________________________________________________________________________________________ 18/09/13 ESOF - Aula 12 - 2013/1 - SourceInnovation www.sourceinnovation.com.br/index.php/ESOF_-_Aula_12_-_2013/1 6/7 As técnicas orientadas a objeto permitem que o software seja construído de objetosque tenham um comportamento especifico A análise de sistemas no mundo orientado a objetos é feita analisando-se os objetos e os eventos que interagem com esses objetos O projeto de software é feito reusando-se classes de objetos existentes e quando necessário, construindo-se novas classes. _________________________________________________________________________________________________________ A análise e o projeto orientados a objeto modelam o mundo em termos de objetos que tem propriedades e comportamentos e eventos que disparam operações que mudam o estado dos objetos Exemplo: Uma reprovação pode mudar o estado do objeto Aluno para fazer parte da turma do próximo semestre A informação recebida pelo objeto sensor pode mudar seu estado para gerar um serviço de alarme A ação de uma retirada num banco pode fazer o objeto Cheque a exigir a ação do gerente Os objetos interagem com outros objetos A modelagem e o projeto orientados a objeto são os paradigmas que devem integrar todas as ferramentas e técnicas poderosas para a criação de software. Conceitos básicos Objetos Qualquer coisa é um objeto Objetos se realizam através da requisição de serviços a outros objetos Cada objeto pertence a uma determinada classe. Uma classe agrupo objetos similares A classe é um repositório e são organizados hierarquicamente São entidades em um sistema de software que representam instâncias de entidades do mundo real e de algum sistema Características: Objeto é um conceito, uma abstração ou uma coisa, com limites e significados bem definidos em relação ao problema considerado 18/09/13 ESOF - Aula 12 - 2013/1 - SourceInnovation www.sourceinnovation.com.br/index.php/ESOF_-_Aula_12_-_2013/1 7/7 Um objeto é normalmente identificado por um substantivo Um objeto contém estrutura e comportamento. Exemplos de objetos Objeto Objeto Objeto Parafuso Motor Carro Fração Equação Fórmula Parágrafo Documento Livrarias Depósito Conta Banco Movimento Fase Game Disponível em "http://www.sourceinnovation.com.br/index.php?title=ESOF_-_Aula_12_-_2013/1&oldid=16141" Esta página foi modificada pela última vez à(s) 23h09min de 16 de julho de 2013. Esta página foi acessada 146 vezes.
Compartilhar