Análise e Desenvolvimento de Sistemas Diagramas de Interação Profa. Maria Salete Marcon Gomes Vaz.
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.
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
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)
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++.
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.
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
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
Conta = class;
saldo : Currency;
titular : Cliente;
numero : Integer;
procedure Deposito(Valor:Currency);
procedure Saque(Valor:Currency);
procedure AlteraSaldo(Valor:Currency);
end;
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;
Conceitos da Orientação a Objetos
• Abstração
• Encapsulamento
• Mensagens
• Herança
• Polimorfismo
• Escala
• Associação
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
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
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
procedure Conta.AlteraSaldo(Valor : Currency)
beginsaldo := Valor;
end;
Cuidado !!!
procedure Cliente.Executa()beginConta.Saldo = 100;
end;
Quebra de EncapsulamentoQuebra de Encapsulamento
O correto é ...
procedure Cliente.Executa()beginConta.AlteraSaldo(100);
end;
Encapsulamento mantidoEncapsulamento mantido
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?
procedure Cliente.Executa()beginConta.AlteraSaldo(100);
end;
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
Exemplo
Aluno é um Aluno é um tipo de tipo de PessoaPessoa
Aluno é um Aluno é um tipo de tipo de PessoaPessoa
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.
Polimorfismo Estático
Polimorfismo Dinâmico
Escala
• É o princípio que permite ao desenvolvedor considerar algo muito grande através do enfoque Todo-Parte (Composição)
TODO
PARTES
Exemplo (Composição)
A parte não vive sem o todoA parte não vive sem o todo
Associação
• É um relacionamento que um objeto precisa ter com outro(s) objeto(s), para cumprir suas responsabilidades
Faz
Cliente
Pedido
Exemplo (Associação)
A parte vive sem o todoA parte vive sem o todo
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.
Resposta
procedure dvd.locar()
begin
situação = “locado”;
end;
procedure dvd.devolver()
begin
situação = “livre”;
end;
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;