A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Análise Orientada a Objetos

Apresentações semelhantes


Apresentação em tema: "Análise Orientada a Objetos"— Transcrição da apresentação:

1 Análise Orientada a Objetos
Profa. Marcia A. S. Bissaco - Prof. Wolley W. Silva - Profa. Viviane Guimarães Aula-01

2 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.

3 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).

4 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

5 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

6 Bibliografia

7 Bibliografia

8 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, 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.

9 Bibliografia MARTINS, J. C. C. Gerenciando Projetos de Desenvolvimento de Software com PMI, RUP e UML. 1 ed. Rio de Janeiro/Brasport, 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, p. ISBN Número de Chamada: S276u.

10 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, p. Número de Chamada: F787u 3. ed. (Biblioteca virtual) GUEDES, G. T. A. UML: uma abordagem prática. 3. ed. São Paulo: Novatec, p. ISBN Número de Chamada: 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

11 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.

12 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)

13 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

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

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

16 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...

17 Análise Estruturada X Orientada a Objetos

18 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.

19 AE x AOO Foco no Sistema Foco na Classe

20 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

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

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

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

24 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”.

25 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.

26 “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.

27 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.

28

29 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.

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

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

32 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.

33 Abstração

34 O que são Objetos?

35 Coisas tangíveis

36 Eventos

37 Transações

38 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

39 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, ...

40 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.

41 O que são Classes?

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

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

44 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).

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

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

47 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.

48 Carro anoFabricacao marca modelo darPartida acelerar

49 Classes e Objetos Como você classifica estes objetos?

50 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.

51 Encapsulamento Esconder a estrutura interna de um objeto.

52 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

53 Encapsulamento Permite Classes coesas e desacopladas.

54 Herança

55 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.

56 Herança

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

58 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.

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

60 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

61 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

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

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

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

65 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.

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

67 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.

68 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.


Carregar ppt "Análise Orientada a Objetos"

Apresentações semelhantes


Anúncios Google