Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Análise e Projeto de Sistemas
Prof. Maria Salete M. G. Vaz
2
Fases do Desenvolvimento
Projeto 2 Análise 1 Engenharia de Sistema Implementação 3 Testes 4
3
Engenharia de Software
A engenharia de software aplica um conjunto de técnicas para a análise (especificação de requisitos, projeto, implementação e teste de sistemas)
4
Técnicas Diferentes Análise, Projeto e Programação Estruturada
Técnica:Diagrama de Fluxo de Dados (DFD) Linguagens: Cobol, Fortran, C, Pascal. Análise, Projeto e Programação Orientada a Objetos Técnica: Linguagem de Modelagem Unificada (UML) Linguagens: Java e C++.
5
Orientação a Objetos É uma maneira de pensar os problemas utilizando modelos organizados a partir de conceitos do mundo real. E, por isso, facilita o trabalho dos desenvolvedores. Objeto é um conceito que existe no mundo real. Exemplo: conta, cliente, banco, agência.
6
Classe Representa um conjunto de objetos com características similares (modelo) Dizemos que um objeto é a instância de uma classe
7
Características da Classe
Combina dados e funções numa única estrutura. Os dados são os atributos da classe. As funções são as operações da classe. Classe Atributos Operações
9
Conta = class; saldo : Currency; titular : Cliente; numero : Integer; procedure Deposito(Valor:Currency); procedure Saque(Valor:Currency); procedure AlteraSaldo(Valor:Currency); end;
10
procedure Conta.Deposito(Valor:Currency); begin
saldo := saldo + Valor; end; procedure Conta.Saque(Valor:Currency); saldo := saldo – Valor; Procedure Conta.AlteraSaldo(Valor:Currency); saldo := Valor;
11
Conceitos da Orientação a Objetos
Abstração Encapsulamento Mensagens Herança Polimorfismo Escala Associação
12
Abstração É a habilidade de ignorar os aspectos de um assunto não relevantes para o propósito em questão, tornando possível uma concentração maior nos assuntos principais Por exemplo: mapa de uma cidade
13
Exemplo Análise de um Sistema Bancário
Objetos: Agência, Conta, Cliente, Banco. Quais são os atributos de Agência? Código? Endereço? A qual banco pertence? Número de contas? Data da última reforma, Área, Pé Direito? Atributos Desnecessários
14
Encapsulamento É a proteção da estrutura interna do objeto. O único modo de se obter informação sobre um objeto é através das operações
15
procedure Conta.AlteraSaldo
(Valor : Currency) begin saldo := Valor; end;
16
Cuidado !!! Quebra de Encapsulamento procedure Cliente.Executa() begin
Conta.Saldo = 100; end; Quebra de Encapsulamento
17
O correto é ... Encapsulamento mantido procedure Cliente.Executa()
begin Conta.AlteraSaldo(100); end; Encapsulamento mantido
18
Mensagens Os diversos objetos de um sistema comunicam-se através de mensagens (dependência)
19
procedure Cliente.Executa()
begin Conta.AlteraSaldo(100); end;
20
Herança Uma classe B é definida a partir da classe A, com todos seus atributos e operações, além de outros atributos e operações que diferenciam a classe B da classe A
21
Exemplo Aluno é um tipo de Pessoa
22
Polimorfismo É uma das características mais potentes da orientação a objetos. É a propriedade que indica que uma operação pode, apesar de ter o mesmo nome, executar ações diferentes. Existem dois tipos de polimorfismo: o estático e o dinâmico.
23
Polimorfismo Estático
24
Polimorfismo Dinâmico
25
Escala É o princípio que permite ao desenvolvedor considerar algo muito grande através do enfoque Todo-Parte (Composição)
26
Exemplo (Composição) A parte não vive sem o todo
27
Associação É um relacionamento que um objeto precisa ter com outro(s) objeto(s), para cumprir suas responsabilidades
28
Exemplo (Associação) A parte vive sem o todo
29
Exercício As características apresentadas por uma classe são divididas em duas partes: Atributos (onde são armazenados os dados) e Operações (são as funções associadas). Na modelagem de um sistema para uma video-locadora, existem as classes DVD e Filme. Defina atributos e operações para estas duas classes.
30
Resposta
31
procedure dvd.locar() begin situação = “locado”; end; procedure dvd.devolver() situação = “livre”;
32
procedure filme.colocar_lançamento()
begin lançamento := true; end; procedure filme.tirar_lançamento() lançamento := false; procedure filme.definir_genero(tipo:String) genero := tipo End;
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.