Você está na página 1de 27

Análise e Projeto Orientado a Objetos

Nazareno Andrade
Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé
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

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


Motivação
Conhecer uma linguagem de programação orientada a objetos
nã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 o

paradigma de orientação a objetos

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


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 mais

maturidade

Programação Projeto Análise

curso (maturidade)

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


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 aspectos


essenciais de um sistema
¤  O que é essencial, depende do momento da modelagem

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


O que é Análise???
Análise modela o problema e consiste das atividades
necessárias para entender o domínio do problema

O que deve ser feito?

Trata-se de uma atividade de

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


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

A informação produzida na análise deve ser discutida e


aprovada pelo cliente
¤  Invade-se um pouco o espaço da solução...

¤  Interface do usuário, por exemplo

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

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


O que é Projeto???
O projeto modela a solução e consiste das atividades de
criação

Como pode ser feito?

Trata-se de uma atividade de resolução

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


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

A atividade de projeto serve como base para a atividade


de programação (construção)

Programador, veja como deve ser feito!

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


Análise e Projeto

Análise Projeto
(Modelagem do problema) (Modelagem da solução)

Entender Criar

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


Análise e Projeto

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

Análise Projeto
(Informação importante (Informação importante
Para o cliente discutir e para o programador)
aprovar)

Cliente
Programador
Análise, Projeto e Construção

Solução lógica

Análise Projeto Construção

Investigação do problema Código

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


Análise e projeto criam modelos

Neste curso, focamos em modelos OO


¤  Menor distância representacional
Análise Orientada a Objetos
A perspectiva empregada é de objetos
¤  Coisas, conceitos, entidades... com estado e

responsabilidades
¤  Ênfase em identificar descrever objetos ou

conceitos do domínio do problema


¤  Num sistema para uma biblioteca, os conceitos são

livro, biblioteca, usuário...

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


Análise Orientada a Objetos
Atividade de abstração...
Mundo

Contexto do
Apenas o que interessa problema
no mundo...

... de acordo com o


contexto!

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


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
Projeto Orientado a Objetos
A perspectiva empregada é de objetos
¤  Ênfase em identificar objetos lógicos de software que

poderão ser eventualmente implementados usando uma


linguagem de programação OO
¤  Tais objetos podem ter atributos e métodos

Livro

Livro Nome Livro


titulo titulo
ano Atributos ano

imprimir
Métodos

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


Análise e Projeto OO
Mito
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

¤  ...

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


Análise, Projeto e Construção OO
Durante a construção (programação OO) os objetos são
implementados e testados

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

public class Livro{


Livro private String titulo;
titulo private int ano;
ano
public void print(){
...
imprimir }
}

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


Exemplo

Um jogo de dados
¤  O usuário joga dois dados

¤  Se resultado == 7, ele ganha

¤  Se não, ele perde


Modelo do domínio (análise)

Player Die
1 Rolls 2
name faceValue
1 2
Plays
1

DiceGame
1 Includes
Agora projeto

Como os objetos interagirão?


¤  Isso pode ser achado de várias formas
¤  TDD
¤  UML
com UML:
O projeto

(ou parte dele)

DiceGame Die

die1 : Die 1 2 faceValue : int


die2 : Die
getFaceValue() : int
play() roll()
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

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


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 do


processo (análise, projeto, implementação e testes)?

Artefatos
¤  Quais modelos e artefatos são produzidos durante o

processo de desenvolvimento?

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


Dúvidas?

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

Você também pode gostar