02.analise e projeto

27
8/18/2019 02.Analise e Projeto http://slidepdf.com/reader/full/02analise-e-projeto 1/27 Análise e Projeto Orientado a Objetos Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Upload: benicio-graciano

Post on 06-Jul-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 1/27

Análise e Projeto Orientado a ObjetosNazareno Andrade

Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Page 2: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 2/27

O que veremos hoje?

Análise e Projeto

!  Definição

!  Comparação

Análise e Projeto OO

!  Definição

!  Comparação

!  Inserção no processo de desenvolvimento

2 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Page 3: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 3/27

Motivação

Conhecer uma linguagem de programação orientada a objetosnão é suficiente...

!  Muitas vezes, programa-se de forma estruturada utilizando

uma linguagem OO

Deve-se pensar  OO

!  Para isso, deve-se aprender Análise e Projeto OO...

!  ... ou seja, análise e projeto de software segundo oparadigma de orientação a objetos

3 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Page 4: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 4/27

Foco da disciplina

Nesta disciplina, o foco é projeto OO!  Na prática, eles são feitos em ciclo!  Em cada ciclo, a análise vem antes  do projeto! 

Ensina-se projeto primeiro, porque a análise requer maismaturidade

4 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Programação Projeto  Análise

curso (maturidade)

Page 5: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 5/27

Foco da disciplina

Para a criação de modelos, será utilizada UML!  UML não será ensinada no curso...!  ...mas serão dadas dicas de utilização

Um modelo  é uma representação abstrata dos aspectosessenciais de um sistema!

 

O que é essencial , depende do momento  da modelagem

5 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Page 6: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 6/27

O que é Análise???

 Análise modela o problema e consiste das atividadesnecessárias para entender o domínio do problema

Trata-se de uma atividade de

6 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

O que deve ser feito?

Page 7: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 7/27

E/ou: a análise consiste de atividades feitas com e parao cliente (análise de requisitos) 

 A informação produzida na análise deve ser discutida eaprovada pelo cliente!  Invade-se um pouco o espaço da solução...

!  Interface do usuário, por exemplo

7 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

O que deve ser feito, de acordo com o Cliente?

Page 8: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 8/27

O que é Projeto???

O projeto modela a solução e consiste das atividades decriação 

Trata-se de uma atividade de resolução 

8 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Como pode ser feito?

Page 9: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 9/27

O Projeto inclui as atividades que resultam eminformação que interessa apenas ao Programador. 

 A atividade de projeto serve como base para a atividadede programação (construção) 

9 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Programador, veja como deve ser feito!

Page 10: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 10/27

Análise e Projeto

10 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

 Análise (Modelagem do problema)

Projeto (Modelagem da solução)

Entender Criar

Page 11: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 11/27

Análise e Projeto

 Análise(Informação importantePara o cliente discutir e

aprovar)

Projeto(Informação importante

para o programador)

ClienteProgramador

 Análise invade oespaço da solução

Page 12: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 12/27

Análise, Projeto e Construção

12 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Investigação do problema Código 

Solução lógica

 Análise Projeto Construção

Page 13: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 13/27

 

Análise e projeto criam modelos

Neste curso, focamos em modelos OO!  Menor distância representacional

Page 14: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 14/27

Análise Orientada a Objetos

A perspectiva empregada é de objetos

Coisas, conceitos, entidades... com estado eresponsabilidades  

!  Ênfase em identificar descrever objetos ou

conceitos do domínio do problema

!  Num sistema para uma biblioteca, os conceitos sãolivro, biblioteca, usuário... 

14 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Page 15: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 15/27

Análise Orientada a Objetos

 Atividade de abstração... 

 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Mundo

Contexto do

problemaApenas o que interessa

no mundo...

... de acordo com ocontexto!

Page 16: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 16/27

Representando modelos na análise

Podemos criar modelos do domínio do

 problema  

UML é útil aqui:!  Se os objetos forem do domínio do

problema! 

Se os objetos não tiverem métodos

Page 17: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 17/27

Projeto Orientado a Objetos

 A perspectiva empregada é de objetos

!  Ênfase em identificar objetos lógicos de software quepoderão ser eventualmente implementados usando umalinguagem de programação OO!  Tais objetos podem ter atributos e métodos 

17 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Atributos

Livro

tituloano

Nome

Livro

Métodos

Livro

tituloano

imprimir

Page 18: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 18/27

Análise e Projeto OOMito

Correspondência 1-para-1!  Não é verdade que haja correspondência 1-para-1 entre

entidades de análise e projeto! 

Pode haver entidade do modelo de análise que não seráapresentado no projeto (raro)

Pode haver entidades adicional no projeto (freqüente)!

 

Conexão de banco de dados! 

Objeto controlador!  Cache de objetos!  ...

18 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Page 19: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 19/27

Análise, Projeto e Construção OO

Durante a construção (programação OO) os objetos sãoimplementados e testados 

19 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Livro

titulo

ano

imprimir

public class Livro{private String titulo;private int ano;

public void print(){...

}}

Conceito de domínio  Análise/Projeto Implementação

Page 20: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 20/27

Exemplo

Um jogo de dados!

 

O usuário joga dois dados!  Se resultado == 7, ele ganha

!  Se não, ele perde

Page 21: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 21/27

Modelo do domínio (análise)

Player

name

DiceGame

Die

faceValue

Rolls

Plays

Includes

2

2

1

1

1

1

Page 22: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 22/27

Agora projeto

Como os objetos interagirão?! 

Isso pode ser achado de várias formas!  TDD

!  UML

Page 23: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 23/27

com UML:

Page 24: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 24/27

O projeto

(ou parte dele)

2

Die

faceValue : int

getFaceValue() : int

roll()

DiceGame

die1 : Diedie2 : Die

play()

1

Page 25: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 25/27

O que vimos?

 Análise e Projeto!   Análise: entender o problema

!  informação do cliente! 

Projeto: modelar a solução!

 

informação para o programador

 Análise e Projeto OO!   Análise OO: objetos do domínio!  Projeto OO: objetos lógicos

25 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Page 26: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 26/27

O que veremos a seguir?

Processo de desenvolvimento de software!   Análise e projeto acontecem dentro de um processo!  Não um processo específico... e sim uma visão geral

!  Quais as atividades do desenvolvedor em cada uma das fases doprocesso (análise, projeto, implementação e testes)?

 Artefatos!  Quais modelos e artefatos são produzidos durante o

processo de desenvolvimento?

26 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)

Page 27: 02.Analise e Projeto

8/18/2019 02.Analise e Projeto

http://slidepdf.com/reader/full/02analise-e-projeto 27/27

Dúvidas?

?27 Análise e Projeto Orientado a Objetos (Hyggo Oliveira de Almeida)