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.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Princípios da Orientação a Objetos e a Linguagem UML
Engenharia de Software
Introdução à Programação Orientada à Objetos Prof. Daniel Merli Lamosa Maio de 2002.
UML Modelando um sistema.
UML – Visões Parte 1 Modelando um sistema.
Identificando requisitos
Engenharia de Software
UML - Diagrama de Classes e objetos
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Análise e Projeto de Sistemas
Análise Orientada a Objetos
Sistemas Distribuídos
Modelagem Orientada a Objetos
Modelagem Orientada a Objetos Relacionamentos. Conteúdo n Ligação entre objetos n Associação entre classes n Agregação n Multiplicidade e Papel n Atributo.
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Análise Orientada a Objetos
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
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)
Introdução à Modelagem Conceitual 1. Conceitos Básicos
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 9. Modelo conceitual (diagrama.
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial.
14. Componentes e implantação
Objetivo: compreender a notação do diagrama de atividades
6. Análise estruturada 6.1 DFD
Introdução Visão Geral do Método.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
O.O.H.D.M. Modelagem Conceitual
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 9. Complemento de AOO 9.4 Comportamentos 9.5 Visibilidade 9.6.
Objetivo: compreender e aplicar um modelo conceitual
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Modelos conceituais de interação
Métodos de Construção de Software: Orientação a Objetos
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Projeto de Banco de Dados
Orientação a Objetos Parte I
Profa. Reane Franco Goulart
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
O Processo Unificado (UP)
Banco de Dados Aplicado ao Desenvolvimento de Software
PROGRAMAÇÃO ORIENTADA A OBJETOS
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Generalização e herança Agregação e composição
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Modelagem Conceitual descreve a informação que o sistema vai gerenciar.
Introdução a Orientação 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
Engenharia de Software 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.
Professora: Kelly de Paula Cunha
Diagrama de Classes Herança Dependências.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Análise e Design de Software Site:
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado.
Transcrição da apresentação:

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 de objetos (TMO) 7.2 Características básicas da TMO 7.3 O modelo dos objetos 7.4 O modelo dinâmico 7.5 O modelo funcional 7.6 Um exemplo completo de TMO Objetivo: compreender os termos essenciais da análise orientada a objetos e a forma como estão relacionados com o projeto de desenvolvimento

2 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB A análise orientada a objetos é um modo de estudar problemas com a utilização de modelos fundamentados em conceitos do mundo real nos quais os objetos agrupam conjuntamente dois elementos –Estrutura –Comportamento Difere do modo tradicional com ênfase no funcional e em objetos focalizados nos problemas das linguagens de programação A metodologia baseada em objetos é acompanhada por uma notação gráfica e consiste na construção de um modelo de DOMÍNIO DA APLICAÇÃO com noções específicas como classe, polimorfismo e herança

3 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Exemplo: Objetos de pessoas Objetos de polígonos Classe pessoa Atributos: Nome Profissão Endereço Comportamentos: Andar Comprar Receber salário Classe Polígono Atributos: Vértice Cor de preenchimento Espessura da borda Comportamentos: Desenhar Apagar Mover

4 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 7.1 Técnica de modelagem de objetos (TMO)7.1 Técnica de modelagem de objetos (TMO) Há várias metodologias orientadas a objeto –Uma que trabalha com ênfase em um modelo no DOMÍNIO DA APLICAÇÃO é a de Rumbaugh e será a que nós nos basearemos Etapas da TMO –1) Análise Parte do enunciado para construir o modelo de uma situação real Ênfase no “o quê” e não no “como” Um bom modelo pode ser criticado por não programadores Atributos e operações são visíveis ao usuário –Como deve ser descrita em termos de atributos e operaçõe uma classe de objetos como “janela”?

5 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –2) Projeto do sistema Decisões de alto nível da arquitetura geral Sub-sistemas baseados na estrutura de análise e na arquitetura proposta –Como objetos da classe “janela” seriam modificados? –3) Projeto dos objetos Modelo de projeto baseado no módulo de análise com alguma implementação Estrutura de dados e algoritmos de cada classe –Como as operações de “janela” são especificadas agora?

6 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –4) Implementação Deve ser mecânica Deve ser a parte mais fácil e de menor importância Detalhes da linguagem de programação não devem trazer restrições –Como “janela” deveria ser implementada? Em que se deve pensar no momento da implementação?

7 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB A TMO usa três tipos de modelos –1) Modelo de objetos Nós são classes Arcos são relacionamentos –2) Modelos dinâmicos Nós são estados Arcos são transições causadas por eventos –3) Modelo funcional Nós são processos Arcos são fluxos de dados

8 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 7.2 Características básicas da TMO7.2 Características básicas da TMO 1) Abstração –Concentrar-se nos aspectos essenciais e ignorar os acidentais –Permite liberdade de decisões, evitando detalhes –Preocupa-se com o domínio da aplicação e não com os detalhes do projeto ou da implementação –Todas as palavras e linguagens são abstrações – descrições incompletas do mundo real –Devem se ater a algum propósito

9 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 2) Encapsulamento –Separação dos aspectos externos de um objeto, acessíveis por outros objetos, de seus detalhes internos –Torna a modificação da implementação possível 3) Dados e comportamento em conjunto –É a essência da orientação a objeto; faz com que uma implementação não precise considerarm implementação de uma determinada operação –Manutenção fácil e desnecessário repetir a escolha de um procedimento

10 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 4) Compartilhamento –Uma hierarquia de classes em vez da separação da hierarquia da estrutura de dados e da hierarquia de procedimentos –Faz mais do que permitir reutilização, pois possibilita clareza conceitual 5) Ênfase na estrutura de objetos e não nos procedimentos –O objeto (o que é) é dependente dos detalhes e frequentemente muda –Quando os requisitos envolvem os objetos se tornam mais estáveis –Similar às técnicas de modelagem da informação

11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6) Sinergia –Utilização dos conceitos de orientação a objetos de forma complementar e em conjunto –Estilo diferente –Encapsulamento como alicerce –Herança utilizando empacotamento para viabilização de código

12 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 7.3 O modelo dos objetos7.3 O modelo dos objetos Incorpora a estrutura estática de um sitema de objetos, os relacionamentos entre eles e os atributos e operações de cada classe de objetos Tenciona-se se aproximar do mundo real Novos conceitos fundamentais: objeto, classe, ligação, associação, generalização e herança

13 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Objetos –A modelagem tem como função principal descrevê-los –O que faz sentido no contexto da aplicação –Os objetos se distinguem pela sua própria existência e não pela propriedade descritiva –Às vezes, são confundidos com grupos, mas merecem explicitação Instância Classe

14 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Classes –Um grupo de objetos com propriedades semelhantes (atributos) Mesmo comportamento (operações) Mesmos relacionamentos com outros objetos Mesma semântica –Ex.: pessoa, empresa, animal, processo, janela etc –Substantivos –É possível a existência de objetos com idênticos atributos e relacionamentos; não de classes –Cadeira e cachorro podem pertencer à mesma classe?

15 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Diagramas de objetos –Notação gráfica formal para a modelagem de objetos e os seus inter-relacionamentos –Há dois tipos: Diagramas de classe – esquema que descreve muitas instâncias possíveis e suas classes Diagramas de instâncias – descreve como os objetos de um conjunto se relacionam entre si

16 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –Cada objeto conhece sua classe, que é uma propriedade implícita e seus procedimentos podem ser sempre melhorados (Pessoa) João Pessoa (Pessoa) Maria (Pessoa) Classes Objetos

17 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Atributos –Valor de dado guardado pelo objeto de uma classe Ex.: idade, peso, cor, endereço, anos –Um atributo deve ser um puro valor de dados e não um objeto Ex.: Brasil e Brasília –Valores puros de dados não têm identidade

18 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –Os identificadores explícitos de cada objeto NÃO SÃO OBRIGATÓRIOS em um modelo de objetos Pessoa nome ID: id de pessoa mudar-cargo mudar-endereço Erro!

19 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Operações e métodos –Operações: função ou transformação que pode ser aplicada a objetos ou por estes a uma classe Quais seriam as operações da classe empresa? Quais seriam as operações de “janela”? –Cada operação tem um objeto-alvo como argumento implícito –A mesma operação pode ser aplicada a objetos diferentes: POLIMORFISMO –Método: implementação de uma operação para uma classe Como pode ser aplicado um método “imprimir”?

20 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –Uma operação pode ter argumentos além do objeto-alvo –Quando houver uma operação com métodos em várias classes, é importante uma assinatura Que cuidados devem ser observados ao se definir um método? –As características são os atributos e as operações –As operações são: Com efeito colateral Cálculo do valor funcional sem mudar o objeto (consulta) Pessoa nome idade mudar-cargo mudar-endereço Arquivo nome do arquivo tamanho em bytes última atualização imprimir Objeto geométrico cor posição mover (delta: Vetor) selecionar (p: Ponto): Booleano girar (ângulo)

21 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –Consultas sem argumentos são atributos derivados Como pode ser definido um atributo derivado de um “quadro”? –A escolha de atributos básicos é arbitrária e deve ser feita para evitar superespecificação Ligações e associações –Ligações e associações são meios para se estabelecer relacionamentos entre objetos e classes –Ligação: conexão física ou conceitual entre instâncias de objetos Ex.: Ana Maria estuda no CEFET

22 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –Associação: grupos de ligações com semântica e estrutura comuns Ex.:Uma pessoa estuda em uma escola –Uma ligação é uma instância de uma associação –Associações são intrinsecamente bidirecionais mas podem ser lidas de formas diferentes Ex.: trabalha –Associação um-para-um: País nome Cidade nome Tem-capital (País) Canadá (Cidade) Ottawa Tem-capital (País) França (Cidade) Paris Tem-capital (País) Senegal (Cidade) Dakar Tem-capital Diagrama de classes Diagrama de instâncias

23 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB –Existem associações binárias, ternárias e de outras ordens –As associações binárias devem ser as mais utilizadas –Associação ternária: ProjetoLinguagem (Projeto) Sistema de contabilidade (Linguagem) Cobol (Projeto) Pograma CAD (Linguagem) C Diagrama de classes Diagrama de instâncias Pessoa (Pessoa) Maria

24 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Multiplicidade –Especifica quantas instâncias de uma classe relacionam-se a uma única instância de uma classe asociada –Pode ser uma, muitas, um conjunto de intervalos associados –Exemplos: ,4,18