Análise Orientada a Objetos

Slides:



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

Análise e Projeto Orientado a Objetos
APS I Análise e Projeto de Sistemas I
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Princípios da Orientação a Objetos e a Linguagem UML
Análise e Desenvolvimento de Sistemas
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 9
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 7
(Unified Modeling Language)
Princípios de Análise e Projeto de Sistemas com UML 2ª edição
Implementação Orientada a Objetos Prof. Rodrigo Rocha – UMC Prof
Análise e Projeto de Sistemas
Orientação a Objetos: Encapsulamento e Classificação
Cartões CRC (Class Responsibility Card)
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
O Paradigma de Orientação a Objetos
APSI III Aline Vasconcelos
Professora: Aline Vasconcelos
Introdução ao paradigma de programação: Orientado a Objetos
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Análise e Projetos de Sistemas
Linguagem de Programaçã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)
Análise e Projeto de Sistemas
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Classes e objetos Modelagem
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
DIAGRAMA DE COMPONENTES
Introdução a Engenharia de Software
Análise Orientada a Objetos
Princípios de Orientação à Objetos
Diagrama de Classes e Colaboração
PROGRAMAÇÃO ORIENTADA À OBJETOS
Modelagem de Software.
. 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.
Análise e Projeto de Sistemas
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Planejamento e Gerenciamento
Introdução a Desenvolvimento de Sistemas
Introdução a Desenvolvimento de Sistemas
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
Cartões CRC – Classe Responsabilidade Colaboração
SISTEMAS DISTRIBUIDOS Aula 4
Levantamento de Requisitos
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Padrão- MVC Model, View, Controller
Engenharia de Software 1
Ferramentas para Orientação a Objetos
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Introdução a Orientação a Objetos
Gerenciamento de Requisitos e Modelagem de sistemas
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Semana /08/2012 Professor Leomir J. Borba-
20/04/2017 Orientação a Objetos 1 1.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Engenharia de Software Orientada a Objetos
SISTEMAS DE INFORMAÇÃO Projeto de Sistemas Análise Orientada a Objetos 2011/02 UNIPAC – Araguari FACAE - Faculdade de Ciências Administrativas e Exatas.
APS II Análise e Projeto de Sistemas de Informação II
Herança. É o compartilhamento de características entre classes com base em um relacionamento hierárquico. – Possibilita a derivação de tipos mais específicos.
Projeto de Arquitetura de Software
18/1/2016 Professor Leomir J. Borba- – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Análise Orientada a Objetos Prof. Wolley W. Silva
Transcrição da apresentação:

Análise Orientada a Objetos Profa. Marcia A. S. Bissaco - marciab@umc.br Prof. Wolley W. Silva - wolley@umc.br Profa. Viviane Guimarães Aula-01

Ementa da disciplina Processo de desenvolvimento de sistemas com orientação a objetos. Especificação de requisitos. Modelagem de sistemas orientados a objetos utilizando UML.

Objetivos da disciplina Conhecer as técnicas e saber realizar o levantamento de requisitos de sistemas; Identificar os envolvidos e os problemas a resolver em um determinado domínio; Definir o escopo do projeto; Saber modelar os sistemas com diagramas UML (de Atividades, Caso de Uso e Classes de Objetos).

Objetivos da disciplina Paradigma Orientado a objetos Modelagem de sistemas de software Linguagem de modelagem unificada (UML) O processo de desenvolvimento de software Atividades típicas d um processo de desenvolvimento Participantes do processo Modelos de ciclo de vida RUP Levantamento de requisitos Especificação de regras de negócio Documentação de requisitos Diagramas de casos de USO

Objetivos da disciplina Identificação dos elementos do MCU Documentação suplementar ao MCU Diagrama de atividades Modelagem dos processos de negócio Modelagem da lógica de um caso de uso

Bibliografia

Bibliografia

Bibliografia PAULA FILHO, W. P. Engenharia de Software: Fundamentos, métodos e padrões. 2 ed. Rio de Janeiro/LCT, 2001. PRESSMAN, R. S. Software engineering: a practitioner’s approach. 1 ed. São Paulo/Pearson Makron, 2005. SOMMERVILLE, I. Engenharia de Software. 9 ed. São Paulo/ Pearson Prentice Hall, 2011. BEZERRA, E. Princípios de análise e projeto de sistemas com UML. 1 ed. Rio de Janeiro/Campus, 2003. LARMAN, C. Utilizando UML e Padrões - Uma Introdução à Análise e ao Projeto Orientados a Objetos e Desenvolvimento, 2011. Minha Biblioteca. Web. 03 June 2013 (Biblioteca virtual) BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML - Guia do usuário. 1 ed. Rio de Janeiro/Campus, 2000.

Bibliografia MARTINS, J. C. C. Gerenciando Projetos de Desenvolvimento de Software com PMI, RUP e UML. 1 ed. Rio de Janeiro/Brasport, 2004. JACOBSON, I.; BOOCH, G.; RUMBAUGH, J. The unified software development process. 1 ed. Massachusetts/Addison-Wesley, 1999. KRUCHTEN, P. The rational unified process – An introduction. 1 ed. Massachusetts/Addison-Wesley, 2000. SBROCCO, J. H. T. de C. UML 2.3: teoria e prática. São Paulo: Érica, 2011. 270 p. ISBN 9788536503233. Número de Chamada: 005.1 S276u.

Bibliografia MACHADO, F. Análise e Gestão de Requisitos de Software 1ª SP/Erika 2011. FOWLER, M. UML essencial: um breve guia para a linguagem- padrão de modelagem de objetos. 3. ed. Porto Alegre: Bookman, 2006. 160 p. Número de Chamada: 005.1 F787u 3. ed. (Biblioteca virtual) GUEDES, G. T. A. UML: uma abordagem prática. 3. ed. São Paulo: Novatec, 2008 336 p. ISBN 9788575221495 Número de Chamada: 005.1 G924u 3. ed. COAD, P.; YOURDON, E. Análise baseada em objetos. Editora Campus – 1992. COAD, P.; YOURDON, E. Projeto baseado em objetos. Editora Campus 1993

Metodologia Apresentação dos conceitos através de aulas expositivas e interrogativas e fixação através de exercícios e desenvolvimento de um projeto que abrange uma situação real.

Critérios de avaliação 2 Avaliações individuais, escritas e sem consulta (P1, P2) 1 Projeto realizado em sala e em casa (P3) Prova interdisciplinar (PI) agendada pela gestão do curso Exercícios e atividades pontuadas realizadas em sala ou em casa (AP)

Critérios de avaliação M1 = P1 * 0,7 + AP * 0,3 ND = P2 * 0,5 + AP * 0,2 + P3 * 0,3 M2 = ND * 0,7 + PI * 0,3 MS = (M1 + 2 * M2)/3

Datas importantes Avaliação 1 ( 02/10) Prova integrada (18/11) Projeto (11/12) Recuperaçao (17/12)

Agenda Introdução ao Paradigma Orientado a Objetos Paradigma Objetos e Classes Encapsulamento Herança Polimorfismo

Paradigma Conceito: “Paradigma é um conjunto de regras que estabelecem fronteiras e descreve como resolver os problemas dentro destas fronteiras.” Os paradigmas influenciam nossa percepção; ajudam nos a organizar e a coordenar a maneira como olhamos para o mundo...

Análise Estruturada X Orientada a Objetos

Análise Estruturada (AE) É centrada na identificação de procedimentos Dados representados como variáveis globais. Programa: agrupamento de procedimentos. Análise Orientada a Objetos (AOO) É centrada na identificação de objetos Dados e operações unidos. Programa: conjunto de objetos.

AE x AOO Foco no Sistema Foco na Classe

A mudança do enfoque Prog. Estruturada Orientação a Objetos Variável Tipo de dado Classe Chamada de Procedimento ou função Mensagem Procedimento ou Função Método

Sistema de uma biblioteca Por exemplo: O sistema deve disponibilizar a consulta, atualização e cadastro de um novo livro.

Paradigma Estruturado DBLivros Realizar cadastro Realizar consulta Realizar atualização

Paradigma Orientado a Objeto Titulo Autor ISBN Cadastrar Consultar Atualizar Livro titulo autor isbn cadastrar consultar atualizar

O que é Orientação a Objetos? “Um paradigma de análise, projeto e programação de sistemas de software que propõe a composição e interação entre diversas unidades de software chamadas de objetos”.

O que é Orientação a Objetos? Paradigma: Forma de abordar um problema Análise: Investigação do problema, em vez da solução. Análise OO: Investigação dos objetos do domínio.

“Analogia biológica de Alan Kay” Kay, um dos pais do paradigma OO, formulou a chamada analogia biológica, onde imaginou o sistema de software ideal que funcionaria como um organismo vivo. Neste sistema cada célula deveria interagir com outras células através do envio de mensagens para realizar um objetivo comum e cada célula se comportaria como uma unidade autônoma. Além disso, as células poderiam também reagrupar-se para resolver outros problemas.

Kay pensou em como construir um sistema de software a partir de agentes autônomos que interagem entre si. Estabeleceu os seguintes princípios da orientação a objetos: 1. Qualquer coisa é um objeto; 2. Objetos realizam tarefas por meio da requisição de serviços a outros objetos; 3. Cada objeto pertence a uma determinada classe. Uma classe agrupa objetos similares; 4. A classe é um repositório para comportamento associado ao objeto; 5. Classes são organizadas em hierarquias.

Objetivo atingido através da colaboração de diversos agentes denominados Objetos. Objetos: João, José, Maria e Zuca. Cada um faz uma atividade especifica e juntos realizam o objetivo. Zuca se comporta exatamente como qualquer outro entregador. Portanto, Zuca é um objeto da classe entregador.

O que é Orientação a Objetos? Conceito: O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos;

Conceitos da Orientada a Objetos. Classe Encapsulamento Herança Polimorfismo Abstração

Abstração O processo de retirar do domínio do problema detalhes relevantes e representá-los na linguagem da solução. A criação de modelos que serão utilizados para a resolução do problema.

Abstração

O que são Objetos?

Coisas tangíveis

Eventos

Transações

Objetos reúnem características (dados) e comportamento (procedimentos) Marca Modelo Cor Itens de série Ano de fabricação Procedimentos Acender farol Acelerar Frear Controle de Temperatura

Quais são as características e comportamentos deste objeto? Características (dados): elasticidade, pressão, resistência, x, y, z, rotacao, velocidade, aceleracao, ... Comportamento (procedimentos): mover, encher, esvaziar, ...

Objeto ( outro conceito ) Objetos são pacotes de software compostos de dados e procedimentos; Os procedimentos atuam sobre os dados; Os dados determinam o estado do objeto. Todo objeto é uma instância de uma Classe.

O que são Classes?

A abstração das características e comportamentos de um grupo de objetos

Qual a classe destes Animais??? Características Vertebrados Endotérmicos Cérebro Audição Visão Comportamento Comer Dormer Locomover

Um “molde” a partir do qual objetos são construídos. (como, por exemplo, o tipo inteiro contém o molde para as variáveis declaradas como inteiros).

Um “molde” a partir do qual objetos são construídos. Classe Carro Marca Modelo Cor

Classificação é o meio pelo qual ordenamos o conhecimento

Classe Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos. De forma geral uma classe descreve os serviços providos por seus objetos e quais informações eles podem armazenar. É um tipo definido que contém o molde, a especificação para os objetos. A classe associa funções (comportamentos/métodos) e dados, (atributos) controlando o acesso a estes.

Carro anoFabricacao marca modelo darPartida acelerar

Classes e Objetos Como você classifica estes objetos?

Encapsulamento Conceito: Encapsulamento é definido como uma técnica para minimizar as interdependências entre “módulos'‘. Benefícios: Segurança: protege os atributos dos objetos de serem corrompidos por outros objetos; Independência: “escondendo'' seus atributos e métodos.

Encapsulamento Esconder a estrutura interna de um objeto.

todas as informações e comportamentos Encapsulamento Esconder a estrutura interna (implementação) de um objeto. saldoDaConta realiarDeposito realiarSaque exibirSaldo Realizar Deposito Realizar Saque Exibir Saldo saldo_da_conta Objeto conta contêm todas as informações e comportamentos

Encapsulamento Permite Classes coesas e desacopladas.

Herança

Herança É o compartilhamento de características entre classes com base em um relacionamento hierárquico. Possibilita a derivação de tipos mais específicos a partir de um tipo mais genérico Uma classe pode ser definida de forma abrangente e depois ser refinada em sucessivas subclasses. Subclasses herdam os atributos e os métodos da super-classe, permitindo ainda modificações nos mesmo.

Herança

Polimorfismo Reduz o esforço necessário para ampliar as funcionalidade de um sistema OO.

Polimorfismo Cada variação do método gerar(), é isolado um classe de objeto com um comportamento especifico; Cada subclasse reescreve o método gerar() de acordo com sua necessidade Apenas uma chamada, relatorio.gerar() , pode disparar o método de qualquer subclasse.

Polimorfismo Para inclusão de um novo formato, cria-se uma nova classe, sem a necessidade de modificar a camada ao método.

Exercício Defina e relacione os termos objeto e classe. Dê exemplos de cada um desses conceitos. Descreva os seguintes conceitos da Orientação a Objetos Herança Encapsulamento Polimorfismo

Exercício (10 minutos) Liste 3 métodos e 3 atributos para os seguintes objetos: Carro; Conta bancária; Pedido de um cliente; Use a notação seguinte: Procedimentos Dados

Exemplo de objeto Um carro: parar acelerar trocar a marcha buzinar modelo marca ano trocar a marcha buzinar virar

Exemplo de objeto Um conta bancária: transferências Emitir extrato depositar cliente número saldo limite Solicitar saldo sacar transferências

Troca de mensagens Objetos interagem e comunicam se através de mensagens... Emissor Receptor

Mensagens e métodos As mensagens identificam os métodos a serem executados no objeto receptor. Para invocar um método de um objeto, deve-se enviar uma mensagem. Para enviar uma mensagem é necessário: identificar o objeto que receberá a mensagem; identificar o método que o objeto deve executar; passar os argumentos requeridos pelo método.

Exemplo de troca de mensagens Obter preço preço Produto Calcular Total Pedido

Métodos ou operações Conceito: É a implementação de um serviço prestado pelo objeto para a comunidade de objetos ou a si mesmo. Tipos de Métodos: métodos de acesso; métodos gerais.

Métodos - Exemplos Objeto: Fita de vídeo. Métodos de acesso situação da fita, nome do filme, preço de aluguel. Métodos gerais cadastramento, empréstimo, exclusão.