Escolar Documentos
Profissional Documentos
Cultura Documentos
de Sistema
Material Teórico
Projeto Baseado em Objetos
Revisão Textual:
Profa. Esp. Vera Lídia de Sá Cicaroni
Projeto Baseado em Objetos
• Introdução
• Estudo de Caso
Para que os objetivos da unidade sejam alcançados, é fundamental que você leia,
cuidadosamente, todo o material e realize, com atenção, todas as atividades propostas.
Nesta unidade é importante que, durante as leituras e a realização dos exercícios, você
consiga compreender os aspectos envolvidos em projetos baseados em objetos através de
um estudo de caso.
5
Unidade: Projeto Baseado em Objetos
Contextualização
A fase de Projeto, que se apresenta após a etapa de requisitos, é parte do trabalho realizado
pela equipe de desenvolvimento de sistemas. Uma vez que as informações necessárias para
a construção do software já foram colhidas e tratadas, é necessário que os requisitos sejam
utilizados como parâmetro para que os profissionais desenvolvedores programem o sistema.
É uma etapa que exige, também, muita dedicação e empenho, pois detalhes preciosos não
poderão passar despercebidos. Aqui os códigos-fonte passarão a ser estruturados em ambiente
de linguagem de programação específica orientada a objetos (esse é o contexto da unidade).
Além disso, em paralelo, serão criados os modelos de diagramas da UML, que serão excelentes
auxílios ao projeto, beneficiando desenvolvedores, usuários/cliente, administradores e equipes
de manutenção também.
Nesta unidade, iremos abordar conceitos importantes sobre a segunda etapa do processo
de desenvolvimento de softwares, chamada de Projeto. O foco principal será Projetos
Baseados em Objetos.
6
Introdução
Pressman (1995, p. 521) afirma que o projeto orientado a objeto (Object-Oriented-Design – OOD),
como outras metodologias de projeto, cria uma representação do domínio do problema do mundo
real e leva-a a um domínio de solução que é o software.
7
Unidade: Projeto Baseado em Objetos
Outro exemplo é o do parâmetro while, que define que certa parte do código deve ser
executada enquanto a condição estiver sendo atendida.
while (x < 10) {
System.out.println(“mensagem”);
x = x + 1;
}
Esse exemplo deve também indicar que o x receberá um valor a mais, pelo menos, cada vez
que os comandos forem executados, até que x tenha um valor 11 que permita que o processo
de execução seja continuado de outro ponto referenciado pelo código.
8
Estudo de Caso
Analisando Requisitos
A empresa y tem o interesse de possuir um sistema de venda de CDs e DVDs on-line que
permita que os clientes possam realizar pedidos desses produtos por meio da Internet.
Para que esse sistema seja desenvolvido, é necessário, em primeiro lugar, pensar em como
deverá ser a página principal do site da loja de CDs e DVDs. Podemos considerar, por exemplo,
que, segundo as especificações, o analista percebeu a necessidade de haver, em tal página, as
seguintes opções de navegação:
• Visualizar carrinho: necessária para mostrar ao cliente os itens escolhidos até o momento,
bem como o valor que deverá pagar, caso encerre a compra optando por fazê-la. Este item
deve, também, permitir que o cliente exclua algum produto do carrinho;
• Últimos pedidos: necessária para mostrar ao cliente os últimos itens que ele comprou, em
datas anteriores;
• Finalizar pedido: necessária para concluir o pedido do cliente. Uma tela de confirmação de
endereço de entrega deverá ser apresentada, dando ao cliente a oportunidade de alterar
tal endereço, caso seja seu desejo.
• assim que o cliente finalizar seu pedido, o sistema deverá armazenar os produtos comprados;
• cada cliente poderá comprar diversas vezes no site, ou seja, poderá fazer muitos pedidos,
entretanto qualquer pedido será exclusivo para cada cliente;
9
Unidade: Projeto Baseado em Objetos
• um pedido, para ser gerado, deverá conter, pelo menos, um produto, sendo ele CD ou DVD;
• assim que o produto for separado para entrega, o sistema deverá descontar do estoque
a quantidade dos produtos que saíram, ou seja, se, por exemplo, o estoque possuía 100
CDs de determinado artista e 200 DVDs de determinado filme e se um cliente comprou 1
DVD e 1 CD desses exemplificados, a quantidade restante em estoque de CDs deverá ser
99 enquanto a quantidade de DVDs restante deverá ser 199.
• a quantidade de produtos em estoque deverá ser controlada para que os produtos sejam
repostos por fornecedores no momento em que a quantidade limite mínima for atingida;
• relatórios deverão ser gerados para que a empresa tenha controle de, por exemplo, CDs
e DVDs mais vendidos, localidade mais atendida, se o público é caracterizado em maior
escala por homens ou mulheres, faixa etária dos clientes, etc.
Sempre que um desses itens for escolhido pelo cliente, uma tela de referência a essa escolha
será exibida. Por exemplo, se o cliente escolher a opção DVDs, uma relação desse produto irá
aparecer dando a ele a possibilidade de compra.
Projetando o Sistema
Para que esse sistema seja projetado, utilizaremos alguns conceitos conhecidos da UML.
10
A expressão “<<include>>”, conforme apresentada no diagrama, indica que,
obrigatoriamente, a tela “Visualizar carrinho” deverá ser exibida quando o cliente
escolher a opção “Finalizar pedido”. Já a expressão “<<extend>>”, que liga
“Identifica-se” com “Cadastrar”, não indica obrigatoriedade de apresentação de
uma tela quando uma opção é escolhida, ou seja, se o cliente já estiver cadastrado,
na identificação ele não precisará fazer novo cadastro.
• Diagrama de classes: este diagrama será utilizado para demonstrar as classes envolvidas
no sistema proposto e seus relacionamentos.
11
Unidade: Projeto Baseado em Objetos
12
Ideias Chave
S
Tipos de dados são elementos que demonstram qual característica um dado deverá possuir para ser
inserido em certo atributo. Exemplos:
• int: indica que o atributo que receber esta classificação deverá conter apenas
valores numéricos inteiros.
• string: indica que o atributo que receber esta classificação poderá conter textos com os mais
variados caracteres.
• date: indica que o atributo que receber esta classificação deverá conter dados de data.
• double: indica que o atributo que receber esta classificação deverá conter números reais.
• time: indica que o atributo que receber esta classificação deverá conter hora de um dia.
-- site_loja_CD_DVD: esta é uma classe que representa a página virtual que os clientes
visualizarão para poderem acessar e comprar seus produtos. Esta classe é controlada
por outra classe, nomeada de controle_loja_CD_DVD.
-- controle_loja_CD_DVD: como o próprio nome sugere, esta é uma classe responsável
pelo controle e interpretação das solicitações dos clientes no site_loja_CD_DVD. Tais
solicitações são transmitidas para as demais classes do sistema.
-- Classe cliente: é caracterizada por ser responsável pelo armazenamento dos dados
pessoais dos clientes que efetuam seus cadastros, ou seja, informações sobre endereço,
cidade, estado, CEP, e-mail, número de telefone, etc. Nesta classe são considerados os
seguintes métodos:
a) CliLogin – por meio deste método, o cliente recebe ou não autenticação no site.
Login e senha devem estar de acordo com o que já estava cadastrado.
b) CliReg – método que permite o cadastro de novo usuário no sistema. Os dados de
referência para preenchimento são baseados nos atributos da classe cliente.
c) CliSel – método que possibilita selecionar todos os clientes cadastrados no sistema.
A definição dessa classe em linguagem orientada a objeto seria escrita, basicamente, deste modo:
Class cliente {
stringcli_id;
stringcli_senha;
stringcli_nome;
stringcli_end;
stringcli_cep;
string cli-fone;
stringcli_email;
datecli_dt_nasc;
}
13
Unidade: Projeto Baseado em Objetos
14
-- Classe item_CD: caracterizada por ser responsável por armazenar informações sobre
os CDs escolhidos pelo cliente. É uma classe intermediária que atua entre as classes
CD e pedido.
a) CDAdItem – método utilizado para se adicionar um CD ao pedido do cliente.
b) CDExcItem – este possibilita a remoção de um CD do pedido do cliente.
c) CDSelItem – método que permite a seleção de todos os CDs de um determinado pedido.
-- Classe CD: caracterizada por armazenar todos os CDs que são vendidos pela loja.
a) CDReg – método que permite o registro de um novo CD.
b) CDExc – método que possibilita a exclusão de um CD.
c) CDSel – seleciona todos os CDs que o cliente optou para compor seu pedido.
d) CDConsPreco – método que permite a consulta do preço de um determinado CD.
e) CDConsDesc– método que permite a consulta da descrição de um CD.
-- Classe DVD: caracterizada por armazenar todos os DVDs que são vendidos pela loja.
a) DVDReg – método que permite o registro de um novo DVD.
b) DVDExc – método que possibilita a exclusão de um DVD.
c) DVDSel – seleciona todos os DVDs que o cliente optou para compor seu pedido.
d) DVDConsPreco – método que permite a consulta do preço de um determinado DVD.
e) DVDConsDesc –método que permite a consulta da descrição de um DVD.
15
Unidade: Projeto Baseado em Objetos
b) DVDSelItemCompra - método utilizado para selecionar cada DVD contido em uma compra.
Para que o subsistema administrativo possa ser funcional, é preciso, necessariamente, que
o subsistema de vendas tenha alguma tarefa, ou seja, é preciso que um cliente faça um pedido
para que o funcionário administrativo realize suas tarefas. Por este motivo, há a indicação de
dependência entre os dois pacotes.
16
• Diagrama de Objetos: é um complemento do diagrama de classes. Permite que
os valores armazenados por cada objeto sejam visualizados, o que não ocorre no
diagrama de classes.
17
Unidade: Projeto Baseado em Objetos
Outros diagramas poderiam ser utilizados neste projeto. De qualquer maneira, temos, com
aqueles que foram apresentados, referência para refletirmos sobre como um projeto baseado
em objetos pode ser estruturado.
Explore
Para uma visão mais completa e detalhada dos diagramas da UML em projetos de sistemas, leia o
capítulo 16 do livro UML 2: uma abordagem prática, de Gilleanes T. Araújo Guedes, disponível
na biblioteca Virtual da UNICID.
18
Material Complementar
19
Unidade: Projeto Baseado em Objetos
Referências
20
Anotações
21
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000