Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Engenharia de Software
Introdução à Programação Orientada à Objetos Prof. Daniel Merli Lamosa Maio de 2002.
UML Modelando um sistema.
Engenharia de Software
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Metodologias Equipe do Curso de ES para SMA
Análise Orientada a Objetos
Modelagem Orientada a Objetos
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Metodologias Orientadas a Agentes
Introdução ao paradigma de programação: Orientado a Objetos
AOO - Análise Orientado a Objetos
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Análise e Projeto de Sistemas
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Orientação Objeto Marcely Dias
Princípios e Conceitos de Software(v2)
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
Separation of Concerns (SoC)
Princípios de Orientação à Objetos
Diagrama de Classes e Colaboração
Conceitos.
Desenvolvimento de Sistemas Orientados a Aspectos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Métodos de Construção de Software: Orientação a Objetos
Oberdan Bitencourt Ferreira
Diagrama de Classes George Gomes Cabral.
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Orientação a Objetos Parte I
Programação Orientada à Objetos
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
Modelagem Orientada a Objeto - UML
Introdução à Engenharia de Software
SISTEMAS DISTRIBUIDOS Aula 4
Banco de Dados Aplicado ao Desenvolvimento de Software
PROGRAMAÇÃO ORIENTADA A OBJETOS
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 7. Análise e projeto orientados a objetos 7.1 Técnica de modelagem.
Laboratório de Programação
Análise e Projeto de Sistemas
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Integração de Ferramentas CASE
Desenvolvimento de Software Dirigido a Modelos
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Objetos Distribuídos Frameworks Orientados a Objetos.
Introdução a Orientação a Objetos
Introdução à modelagem orientada a objetos
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Engenharia de Software Orientada a Objetos
Análise Orientada a Objetos
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado

Introdução O que é Orientação a Objeto? Qual a diferença entre Programação OO e Análise OO? O que diferencia essencialmente a Analise Estruturada para Analise OO?

Introdução Enfoque tradicional: compreensão do sistema como um conjunto de programas que executam processos sobre dados Enfoque OOA: o sistema é uma coletânea de objetos que interagem entre si, com características próprias, representadas por atributos (dados) e operações (processos)

Introdução

Estruturada x Essencial x Orientada a Objeto Nos métodos tradicionais de análise, o comportamento do sistema e seus dados eram considerados separadamente. Com orientação a objetos, comportamento e dados são integrados, assim encapsulando detalhes internos de um objeto dos demais. Análise Estruturada e Essencial Orientada a Objetos Enfoque Conjunto de programas que executam processos sobre dados Conjunto de “entidades” que têm características e comportamentos próprios

Introdução Mudança do enfoque das funções para os dados Preocupação em modelar de forma mais detalhada o sistema Análise mais próxima da realidade Facilidade na comunicação com o usuário Objetos como entidades do mundo real

Introdução Objetos com estrutura e comportamento e que se comunicam Dificuldades em fazer alterações nas estruturas de dados nas abordagens tradicionais “Se eu alterar a definição desse dado, quais programas serão afetados?” Trabalha com conceitos já conhecidos - Modularidade, Abstração, Encapsulamento, etc

Introdução Orientação a objetos apesar de antiga não era utilizada por falta de pessoas treinadas, interesse em manter a cultura adquirida, ferramentas imaturas. Isso começa a se resolver. O mundo real é composto por objetos. Cada objeto tem propriedades e comportamentos. Então por que não desenvolver programas que simulem no computador os objetos do mundo real com suas propriedades e comportamentos? Segundo Yourdon, “Um sistema construído usando um método Orientado a Objetos é aquele cujos componentes são partes encapsuladas de dados e funções, que podem herdar atributos e comportamentos de outros componentes da mesma natureza, e cujos componentes comunicam-se entre si por meio de mensagens.”

Introdução Quais os resultados esperados de uma Analise OO? 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 de aplicação Maior independência da implementação até estagios mais avançados;

Introdução Porque a manutenção de sistemas é difícil de modo geral?

Introdução Uma modificação na estrutura de dados afeta todas as funções que manipulam esta estrutura. A decomposição do sistema em funções reformula os requisitos de funcionalidade para visão de implementação. A mudança de comportamento do sistema se propaga através de funções

Introdução Usando OO em que altera este cenário?

Introdução Um sistema OO é estruturado através de objetos do domínio do problema. O sistema pode ser mantido o mais próximo de uma visão conceitual do mundo real. Há mais transparência na passagem da modelagem para construção. Os objetos do domínio são mais estáveis e as modificações acabam ficando confinadas somente a alterações nesses objetos, sem uma ampla gama de alterações em funções e dados.

Introdução Características da Analise OO 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. Objetos se comunicam através de mensagens.

Introdução O Projeto, a Analise e a Programação OO: A Análise OO se preocupa com a modelagem dos objetos para o domínio da aplicação. O Projeto OO se preocupa com o desenvolvimento de um modelo de sistema que implemente os requisitos definidos pela AOO. A Programação OO implementa o Projeto OO usando uma linguagem de programação OO (ex.: C++, Java...)

Por que usar Orientação a Objetos? Atualmente temos ferramentas completas para sua utilização (integrando especificação e implementação) Praticamente todas as ferramentas novas de programação permitem suporte a sua utilização Qualidade melhor do software (se usada corretamente) Produtividade em função do reuso Produção de códigos mais fáceis de serem entendidos Adequada para a construção de sistemas distribuídos e para aplicações voltadas a Internet Permite acesso controlado às informações

Objetivo Encontrar os objetos, organizá-los, descrever como interagem através de mensagens, definir operações de seus comportamentos.

Características Concentra-se nos aspectos essenciais do objeto sem detalhamento, focando em suas características e o que ele faz; Impede que um sistema se torne tão interdependente que uma pequena alteração ou implementação resulte em grandes alterações em sua estrutura; Combina estrutura (dados) e comportamento (funções) em um único objeto; Compartilha elementos estruturais e de comportamento com objetos de níveis inferiores; Enfatiza a estrutura de objetos ao invés da estrutura de procedimentos, ou seja, o que o objeto é e não como ele é utilizado.

Dificuldade Usuários não pensam seus problemas de forma orientada a objetos Requisitos não são orientados a objetos

Conceitos Objeto : Cada conceito é uma idéia ou um entendimento pessoal que temos de nosso mundo. Os conceitos que adquirimos nos permitem dar um sentido e raciocinar sobre as coisas de nosso mundo. Essas coisas as quais nossos conceitos se aplicam são denominados objetos. Um objeto pode ser real ou abstrato, ex.: Uma fatura, uma organização, um avião... São entidades em um sistema de software que representam instâncias de entidades do mundo real e de algum sistema Objetos geralmente são identificados por um substantivo Objetos contém estrutura e comportamento Classe : é a representação dos objetos com seus atributos e métodos.

Conceitos Atributos → são características que descrevem o objeto. Ex: Objeto: cão → possui nome, idade, peso,cor dos olhos, comprimento dos pêlos, cor dos pelos, etc. Métodos ou serviços → as ações que um objeto pode executar. Ex: latir, comer,sentar, dormir,etc.

Conceitos Abstração →significa que, só deve ser representado aquilo que vai ser usado. Pelo princípio da abstração nos objetos são representadas somente as características que são relevantes para o problema em questão Ex: Cor dos olhos(toda pessoa tem) – não é relevante para um sistema de folha de pagamento. Encapsulamento →os dados e os processos que tratam esses dados estão “ encapsulados” numa única entidade. Os objetos agem como uma “caixa preta”, você utiliza sem precisar saber como ele funciona internamente.

Conceitos Hierarquia de classes – classe que tem características comuns e que podem fazer parte de uma classe (categoria) maior. Ex. mamíferos cãesgatos

Conceitos Classes ancestrais – classes das quais as outras dependem. Classes descendentes – as classes originadas a partir de outra. Animais AvesMamíferosPeixesRépteis CaninosFelinos cãesLobos GatosPanteras

Conceitos Classes Puras ou abstratas – são classes cujos objetos nunca são instanciados diretamente, mas sempre por uma classe descendente dela. Herança – significa que todos os atributos e métodos programados no ancestral já estarão automaticamente presentes em seus descendentes sem necessidade de reescrevê-los. Ex: uma pessoa pode ser um estudante ou um professor,sendo assim todos os atributos e métodos programados na classe pessoa automaticamente passarão para as classes estudante e professor.

Automóvel esportivo Porsche Generalização especificação Herança

Conceitos Polimorfismo – é o princípio relacionado com as diferentes formas de um objeto.Operacionalmente, o polimorfismo pode ser visto conforme o exemplo abaixo, onde se pode instanciar o objeto janela de várias formas: Janela ( ) Janela ( 1 x 2, 2) Janela ( 1 x 2, 2, azul)

Conceitos Agregação – é um mecanismo que permite a construção de uma classe agregada a partir de outras classes componentes. Ex. Casa Associação – é usada para agrupar certos objetos que ocorrem em algum ponto no tempo ou sob circunstâncias similares.Na AOO, a associação é modelada através de uma conexão de ocorrências. Uma conexão de ocorrência é um relacionamento que um objeto precisa ter com outro(s) objeto (s), para cumprir suas responsabilidades.Ex: faz Estudanteteste

Identificando Classes e Objetos Os objetos modelam quase todos os aspectos identificáveis do domínio do problema: entidades externas, coisas,ocorrências,papéis, unidades organizacionais, lugares e estruturas; todos podem ser representados como objetos. Os objetos podem ser: Entidades externas: produzem ou consomem informações a serem usadas por um sistema baseado em computador. Coisas : elementos que fazem parte do domínio da informação do problema, tais como relatórios, cartas Papéis: desempenhados por elementos que interagem com o sistema. Ex.: vendedor, cliente,gerente... Unidades organizacionais: pertencem a organização.Ex: equipe Lugares: auxiliam na definição do contexto: Ex. piso da fábrica Estruturas: definem classes relacionadas com o sistema: Ex.: veículos, computadores, sensores....

Identificando objetos Lembre-se :Objeto é um conceito, uma abstração ou uma coisa, com limites e significados bem definidos, em relação ao problema considerado. Um objeto é geralmente identificado por um substantivo. Um objeto contém estrutura e comportamento. Cada objeto tem sua identidade Dois objetos são distintos, mesmo que eles apresentem as mesmas características. Ex: 1 dezena de automóveis Astra Cada automóvel é um objeto! Todos tem a mesma característica! Classes são fábricas de objetos...

Comunicação entre objetos Mensagens: Elemento usado para prover a comunicação entre objetos Definem: O nome do serviço requisitado A informação necessária para a execução do serviço O nome do requisitante Na prática, mensagens são implementadas como ativações de uma função definida no objeto chamado, onde: Nome é o nome da função. A informação é a lista de parâmetros. Requisitante é o objeto que realizou a chamada.

A análise, o projeto e a programação são atividades distintas A análise OO se preocupa com a modelagem dos objetos para o domínio da aplicação. O projeto OO se preocupa com o desenvolvimento de um modelo de sistema que implemente os requisitos definidos pela AOO. A programação OO se preocupa com a implementação do Projeto OO usando uma linguagem de programação OO.

Vantagens Fornece regras precisas para a modularização do sistema. Desenvolvimento de uma arquitetura mais estável, uma vez que se estrutura com base no modelo de dados utilizado, o qual apresenta pouca vulnerabilidade a mudanças na funcionalidade do sistema. Alto grau de reusabilidade das rotinas desenvolvidas. Maior facilidade de transição da fase de análise para a fase de projeto.