Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

32
Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz

Transcript of Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Page 1: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Análise e Projeto de Sistemas

Prof. Maria Salete M. G. Vaz

Page 2: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Fases do Desenvolvimento

EngenhariaEngenhariadede

SistemaSistema

EngenhariaEngenhariadede

SistemaSistema

AnáliseAnálise

11

ProjetoProjeto

22

ImplementaçãoImplementação

33

TestesTestes

44

Page 3: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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)

Page 4: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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

Page 5: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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.

Page 6: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Classe

• Representa um conjunto de objetos com características similares (modelo)

• Dizemos que um objeto é a instância de uma classe

classe Pessoa

objeto Maria objeto Pedro

Page 7: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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.

ClasseAtributos

Operações

Page 8: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.
Page 9: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Conta = class;

saldo : Currency;

titular : Cliente;

numero : Integer;

procedure Deposito(Valor:Currency);

procedure Saque(Valor:Currency);

procedure AlteraSaldo(Valor:Currency);

end;

Page 10: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

procedure Conta.Deposito(Valor:Currency);

begin

saldo := saldo + Valor;

end;

procedure Conta.Saque(Valor:Currency);

begin

saldo := saldo – Valor;

end;

Procedure Conta.AlteraSaldo(Valor:Currency);

begin

saldo := Valor;

end;

Page 11: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Conceitos da Orientação a Objetos

• Abstração

• Encapsulamento

• Mensagens

• Herança

• Polimorfismo

• Escala

• Associação

Page 12: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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

Page 13: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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?

AtributosDesnecessários

AtributosDesnecessários

Page 14: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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

Page 15: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

procedure Conta.AlteraSaldo(Valor : Currency)

beginsaldo := Valor;

end;

Page 16: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Cuidado !!!

procedure Cliente.Executa()beginConta.Saldo = 100;

end;

Quebra de EncapsulamentoQuebra de Encapsulamento

Page 17: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

O correto é ...

procedure Cliente.Executa()beginConta.AlteraSaldo(100);

end;

Encapsulamento mantidoEncapsulamento mantido

Page 18: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Mensagens

• Os diversos objetos de um sistema comunicam-se através de mensagens (dependência)

Abram seuslivros na página 36

Qual apróximalição?

Page 19: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

procedure Cliente.Executa()beginConta.AlteraSaldo(100);

end;

Page 20: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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

Page 21: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Exemplo

Aluno é um Aluno é um tipo de tipo de PessoaPessoa

Aluno é um Aluno é um tipo de tipo de PessoaPessoa

Page 22: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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.

Page 23: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Polimorfismo Estático

Page 24: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Polimorfismo Dinâmico

Page 25: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Escala

• É o princípio que permite ao desenvolvedor considerar algo muito grande através do enfoque Todo-Parte (Composição)

TODO

PARTES

Page 26: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Exemplo (Composição)

A parte não vive sem o todoA parte não vive sem o todo

Page 27: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Associação

• É um relacionamento que um objeto precisa ter com outro(s) objeto(s), para cumprir suas responsabilidades

Faz

Cliente

Pedido

Page 28: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Exemplo (Associação)

A parte vive sem o todoA parte vive sem o todo

Page 29: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

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.

Page 30: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

Resposta

Page 31: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

procedure dvd.locar()

begin

situação = “locado”;

end;

procedure dvd.devolver()

begin

situação = “livre”;

end;

Page 32: Análise e Projeto de Sistemas Prof. Maria Salete M. G. Vaz.

procedure filme.colocar_lançamento()beginlançamento := true;

end;procedure filme.tirar_lançamento()beginlançamento := false;

end;procedure filme.definir_genero(tipo:String)

begingenero := tipo

End;