You are on page 1of 11

ATIVIDADES PRTICAS

SUPERVISIONADAS
Cincia da Computao

5 Srie
Programao Orientada a Objetos II

A Atividade Prtica Supervisionada (ATPS) um procedimento metodolgico


de ensino-aprendizagem desenvolvido por meio de etapas acompanhadas
pelo professor, e que tem por objetivos:
Favorecer a autoaprendizagem do aluno.
Estimular a corresponsabilidade do aluno pelo seu aprendizado.
Promover o estudo, a convivncia e o trabalho em grupo.
Auxiliar no desenvolvimento das competncias requeridas para o
exerccio profissional.
Promover a aplicao da teoria na soluo de situaes que simulam a
realidade.
Oferecer diferenciados ambientes de aprendizagem
Para atingir estes objetivos, a ATPS prope um desafio e indica os passos a
serem percorridos ao longo do semestre para a sua soluo.
Aproveite esta oportunidade de estudar e aprender com desafios da vida
profissional.

AUTORIA:
Paulo Csar Barreto da Silva
Faculdade Anhanguera de Santa Brbara

Thiago Salhab Alves


Faculdade Anhanguera de Santa Brbara

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 2 de 11

COMPETNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio, voc ter desenvolvido as competncias e
habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir.
Utilizar princpios e ferramentas que otimizem o processo de desenvolvimento e
implementao de um projeto.
Identificar, analisar, documentar e solucionar problemas e necessidades passveis
de soluo via computao.
Raciocinar logicamente.
Saber conciliar teoria e prtica.

DESAFIO
O controle de licenas de software uma prtica importante para a Governana de TI
(Tecnologia da Informao) de toda companhia. de fundamental importncia que os
softwares instalados sejam constantemente averiguados, no que tange a validade de suas
chaves de licenas, bem como, a necessidade de atualizaes. No Brasil a prtica de
instalaes irregulares, aquelas as quais softwares so instalados rompendo com direitos
autorais e de licenciamento, so consideradas crime de pirataria.
A empresa (fictcia) de consultoria DeltaZ123, preocupada com o seu controle de
licenas de software de seus equipamentos, iniciou um processo interno para
desenvolvimento de uma ferramenta informatizada. Com o objetivo de administrar e
controlar os diversos software instalados nos equipamentos de seus colaboradores, a
DeltaZ123 estabeleceu um escopo de informaes consideradas importantes. Tais
informaes descritas no caso de uso essencial do sistema foram apresentadas pelo
Diretor de TI.
No caso de uso essencial, o Diretor de TI definiu que a partir de um levantamento
realizado pelos analistas de suporte, uma ferramenta receberia as informaes apontadas
em um sistema desktop. As informaes apontadas seriam utilizadas para controle do
parque de equipamentos (computadores), avaliaes de vigncias das licenas e
aperfeioamento do suporte prestado aos usurios. A partir das informaes controladas
neste novo sistema, o diretor de TI espera estabelecer um processo de auditoria, por meio
de relatrios que permitam averiguar os softwares instalados nos equipamentos de forma
irregular.
Caso de Uso Essencial apresentado pelo Diretor de TI da DeltaZ123:
1. A partir de um levantamento de campo, em que cada um dos equipamentos
da empresa DeltaZ123 passar por uma averiguao do analista de suporte,
espera-se apontar em uma ferramenta as caractersticas dos equipamentos.
Neste levantamento devem ser anotadas as seguintes informaes:
a. Caractersticas gerais do computador. Para cada computador do
parque de equipamentos da companhia, devem ser apontadas as
seguintes informaes:
i. Tipo de equipamento: porttil ou fixo.

Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 3 de 11

ii. Acessrios tais como mesa digitalizadora, impressora, scanner


ou qualquer equipamento que por ventura necessite de um
driver especfico para funcionamento.
iii. Uso coletivo ou individual.
iv. Acesso a rede: via wirelles, rdio frequncia ou fixo.
v. Matrcula do colaborador ou o centro de custo ao qual o
equipamento se destina. Por exemplo, matrcula '47123'
quando destinado a um consultor, ou '4361' quando destinado
a uso coletivo do setor de Compras da DeltaZ123.
b. Caractersticas de software instalado. Para cada software instalado,
devem ser apontadas as seguintes informaes:
i. Nome do software.
ii. Fabricante do software.
iii. Verso do software.
iv. Nmero da Nota Fiscal de aquisio.
v. Data de aquisio.
vi. Chave de licenciamento.
vii. Validade da chave de licenciamento (data que expirao).
viii. Classificao: sistema operacional, utilitrio, ferramenta de
desenvolvimento, driver e outros.
ix. Necessidade de ser inserido na lista de backup corporativo.
c. Inventrio: permitir que aps o cadastro dos equipamentos e dos
softwares, seja possvel realizar a associao entre o equipamento e a
lista de softwares instalados.
2. As informaes apontadas no sistema devem permitir que aps o cadastro
dos equipamentos, sejam permitidas a atualizao, excluso e pesquisa a
partir do cdigo patrimonial.
a. O cdigo patrimonial formado por duas informaes. A primeira
informao que identifica o equipamento o ano de sua aquisio,
formado pelos 4 algarismos, por exemplo, 2013. A outra informao
adotada na formao do cdigo de patrimnio um nmero
sequencial de 3 dgitos, por exemplo, 093. Desta forma, seria um
exemplo de cdigo patrimonial, o cdigo '2013093' que indica o
nonagsimo terceiro equipamento adquirido no ano de 2013.
3. O cadastro de software instalado deve permitir que aps a insero, sejam
permitidas a atualizao, excluso e pesquisa a partir do cdigo sequencial
de cadastro ou pesquisa pelo nome do software.
4. Uma rotina deve ser desenvolvida para gerar uma lista de consistncias,
permitindo listar softwares que estejam com data de atualizao vencida ou
a data da chave de licena expirada.

Objetivo do Desafio
Desenvolver um sistema capaz de controlar os equipamentos e os softwares instalados em
um parque de computadores de uma empresa. Consequentemente, espera-se agregar
valor a processo de Governana de TI da empresa DeltaZ123, permitindo uma
administrao tica e segura do controle de licenciamento de software.
Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 4 de 11

Livro Texto da Disciplina


A produo desta ATPS fundamentada no livro-texto da disciplina, que dever ser
utilizado para soluo do desafio:
SANTOS, Rafael. Introduo Programao Orientada a Objetos Usando Java. 1 ed.
Rio de Janeiro: Campus - Elsevier, 2008.

Participao
Esta atividade ser, em parte, desenvolvida individualmente pelo aluno e, em parte, pelo
grupo. Para tanto, os alunos devero:

organizar-se, previamente, em equipes de participantes conforme orientao


do professor.

entregar seus nomes, RAs e e-mails ao professor da disciplina e

observar, no decorrer das etapas, as indicaes: Individual e Equipe.

ETAPA 1 (tempo para realizao: 5 horas)


Aula-tema: Apresentao da Disciplina e Metodologia de Trabalho. Reviso de
Orientao a Objetos. Introduo ao Desenvolvimento de Interfaces Grficas
(Bibliotecas AWT e Swing, Containers Swing, Botes, Caixas de Texto e
Rtulos). Introduo ao Desenvolvimento de Interfaces Grficas (Gerenciadores
de Layout, Tratamento de Eventos).
Esta atividade importante para que voc recorde os conceitos fundamentais da
programao orientao a objetos, importantes para a elaborao de softwares.
Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Individual)
Realizar a leitura dos artigos.
Sites sugeridos para pesquisa
GOMES, Robson Fernando. Entendendo os getters e setters em Java. Disponvel
em: <http://www.vivaolinux.com.br/dica/Entendendo-os-getters-e-setters-emJava>.
e
compartilhado
em:
<https://drive.google.com/file/d/0Bx2ZnHfyWt9QSkhTUldnVWphak0/edit?us
p=sharing>. Acesso em: 04 abr. 2014.
CAELUM, Ensino e Inovao. Interfaces grficas com Swing. 2014. Disponvel
em:
<http://www.caelum.com.br/apostila-java-testes-xml-designpatterns/interfaces-graficas-com-swing/>.
e
compartilhado
em:
<https://drive.google.com/file/d/0Bx2ZnHfyWt9QcXU2djlsVTJKdzQ/edit?usp
=sharing >. Acesso em: 07 abr. 2014.

Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 5 de 11

CAELUM, Ensino e Inovao. Mais Swing: layout managers, mais componentes e


detalhes. 2014. Disponvel em: <http://www.caelum.com.br/apostila-java-testesxml-design-patterns/mais-swing-layout-managers-mais-componentes-edetalhes/#8-2-layout-managers-ma%E2%80%A6>.
e
compartilhado
em:
<https://drive.google.com/file/d/0Bx2ZnHfyWt9QcVZIT2RFbFg0NzQ/edit?us
p=sharing>. Acesso em: 07 abr. 2014.
Passo 2 (Equipe)
Elaborar as classes que iro modelar conceitualmente os equipamentos, softwares,
usurios e departamentos da empresa DeltaZ123. Os colaboradores tero a sua matrcula,
nome completo e local de trabalho (interno ou externo), enquanto que os departamentos
seu cdigo e descrio apenas. As classes devem ser modeladas considerando o
encapsulamento, por meio dos qualificadores de acesso. Deve-se implementar
construtores e mtodos para realizar o processo de getters e setters dos atributos.
Passo 3 (Equipe)
Construir a interface grfica com o usurio (GUI Graphic User Interface) para receber as
informaes dos cadastros necessrios.
Sugesto
Recomenda-se para est atividade o uso da biblioteca Swing (importar os componentes
existentes na biblioteca javax.swing no incio de cada uma das classes desenvolvidas).
1.

Construir uma GUI principal que permita acessar os demais cadastros.


1.1 Sugere-se a adoo de componentes como JMenuBar, JMenu e JMenuItem para
tratar esto ao.

2.

A GUI de cadastro dos equipamentos e a GUI de cadastro dos softwares devem ser
elaboradas adotando componentes que facilitem o processo de preenchimento, tais
como:
2.1 Caixas de seleo (JComboBox);
2.2 Opes de seleo (JRadioButton e ButtonGroup);
2.3 Caixas de texto formatadas (JFormattedTextField;

3.

Os gerenciadores de layout em conjunto com o componente de painel (JPanel),


devem dividir a GUI em grupos de informaes e componentes, como ilustra a
Figura 1.

4.

O armazenamento das informaes deve ser desenvolvido adotando estrutura de


vetores. Sugere-se que para cada cadastro modele-se um vetor para armazenagem
das instncias de classe.

Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 6 de 11

Nome Campo:
Nome Campo:
Nome Campo:

999.999.999-99

Seleo:
Opo:

Boto
1

Opo1

Boto 2

Opo 2

Boto N

Figura 1 Prottipo de GUI ilustrando uma proposta de layout recomendada.


Fonte: Elaborada pelo autor.

Passo 4 (Equipe)
Entregar ao professor da disciplina:
1. Uma mdia contendo o cdigo fonte desta etapa do projeto, sendo necessria a
insero dos arquivos com extenso .java e .class.
2. De forma impressa, entregar ao professor da disciplina um relatrio intitulado
Relatrio 1, formado de capa e os cdigos fontes documentados e comentados pela
equipe, bem como os print-screen das GUI desenvolvidas.
Verificar com o seu professor o tipo da mdia que ser adotada na entrega desta etapa.

ETAPA 2 (tempo para realizao: 5 horas)


Aula-tema: Introduo ao Desenvolvimento de Interfaces Grficas (Tratamento
de Eventos). Reviso (Herana e Polimorfismo). Conceito de Herana Mltipla.
Polimorfismo (Chamadas de Mtodos Polimrficas, Passagem de Parmetros
Polimrficos). Classe Abstrata (Definio de Mtodos Abstratos,
Implementao de Classes Abstratas). Classe Abstrata (Definio de Mtodos
Abstratos, Implementao de Classes Abstratas).
Esta atividade importante para que voc trate as aes do sistema de forma
polimrfica, adotando assim as melhores prticas de programao orientada a objetos,
e amplie a capacidade de extenso do sistema.
Para realiz-la, devem ser seguidos os passos descritos.

Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 7 de 11

PASSOS
Passo 1 (Individual)
Realizar um resumo dos captulos 8 e 9 do livro texto, e argumentar aspectos importantes
do Polimorfismo e uso de Classes Abstratas nesta aplicao que sua equipe est
desenvolvendo.

SANTOS, Rafael. Introduo Programao Orientada a Objetos Usando


Java. 1 ed. Rio de Janeiro: Campus - Elsevier, 2008.
Bibliografia complementar

DEITEL, Harvery M. Java: Como Programar. 6 ed. So Paulo: Pearson Prentice Hall, 2007.

Passo 2 (Equipe)
Tratar as aes de cadastro do equipamento, software, colaborador, departamento e
inventrio, considerando que cada uma das aes ser invocada pelo acionamento dos
respectivos botes de cadastro, pesquisa, alterao, excluso e sada.
Sugesto
Adotar como modelo a implementao de Action Listener, tratando cada componente por
meio do processo de delegao, como exemplo:
public frmCadEqp extends JFrame implements ActionListener{
...
public frmCadEqp(){
JButton btCadastrar = new JButton("Cadastrar");
btCadastrar.addActionListener(this);
}
public void actionPerformed(ActionEvent evento){
if(evento.getSource() == btCadastrar){
//realiza aes de cadastro
}
}
}
Passo 3 (Equipe)
Reescrever a estrutura de classes implementando de forma abstrata a definio de
equipamento. Implementar uma classe abstrata denominada 'Equipamento' e duas
classes denominadas 'Porttil' ou 'Fixo'. Adotar os conceitos de implementao de
mtodos polimrficos para que os mtodos de cadastro e alterao sejam realizados por
meio da identificao de assinaturas de mtodos que identifiquem o desejo de insero
de novo registro ou alterao de um registro existente.
Sugesto
Implementar tratadores polimrficos para construo do objeto de acordo com a escolha
do usurio no cadastro de equipamentos. Caso o usurio optar por um determinado tipo
de equipamento, ao fazer o cadastro construa os componentes dinamicamente.
Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 8 de 11

Passo 4 (Equipe)
Entregar ao professor da disciplina:
1. Uma mdia contendo o cdigo fonte desta etapa do projeto, sendo necessria a
insero dos arquivos com extenso .java e .class.
2. De forma impressa, entregar ao professor da disciplina um relatrio intitulado
Relatrio 2, formado de capa, resumo dos conceitos de polimorfismo e classes
abstratas e os cdigos fontes documentados e comentados pela equipe, bem como os
print-screen das GUI desenvolvidas com o tratamento de aes.
Verificar com o seu professor o tipo da mdia que ser adotada na entrega desta etapa.

ETAPA 3 (tempo para realizao: 5 horas)


Aula-tema: Interfaces (definio de Contratos de Mtodos, Implementao de
Interfaces). Interfaces (Implementao de Interfaces, Herana Mltipla Atravs
de Interfaces). Tratamento de Excees (Definio dos Mecanismos de Excees,
Excees Verificadas e No Verificadas). Tratamento de Excees (Captura e
Tratamento de Excees, Definio de Novos Tipos de Excees).
Esta atividade importante para que voc pratique a implementao de interfaces
e compreenda como definir contratos de modelo de classes. Nesta etapa voc
aperfeioar o sistema desenvolvido pela equipe, tratando as condies que por ventura
podem comprometer as informaes e a gerar inconsistncias.
Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Individual)
Realizar a leitura individual do texto e resumir os conceitos considerados importantes
para o projeto de sistema da DeltaZ123.
CAELUM, Ensino e Inovao. Excees e controle de erros. 2014. Disponvel em:
<http://www.caelum.com.br/apostila-java-orientacao-objetos/excecoes-econtrole-de-erros/>.
e
compartilhado
em:
<https://drive.google.com/file/d/0Bx2ZnHfyWt9Qc1JaUmctVy1BQnc/edit?usp
=sharing>. Acesso em: 07 abr. 2014.
DEITEL, Harvery M. Java: Como Programar. 6 ed. So Paulo: Pearson - Prentice
Hall, 2007. Captulo 11.
Passo 2 (Equipe)
Modificar a estrutura das classes Equipamento e Software para que adotem uma interface
comum. Esta interface deve padronizar as aes de cadastro, pesquisa, alterao e
excluso de registros.

Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 9 de 11

Passo 3 (Equipe)
Tratar as excees decorrentes do processo de manipulao dos dados cadastrais e
definir um novo tipo de exceo para o caso de informaes de usurio incorretas. As
excees a serem tratadas devem ser claramente documentadas e escritas, para facilitar a
estrutura de manuteno de sua aplicao.
Sugesto
Adotar tcnicas de Javadoc com anotaes em comentrios longos:
/**
* Mtodo de cadastro de Equipamento
* @author Prof. Paulo Barreto
* @date 05/03/2014
* @versao 1
* @return Equipamento
*/
public Equipamento cadEquipamento()throws Exception {
try
{
/**Corpo do Mtodo
}
/**
* @author Prof. Paulo Barreto
* @date 05/03/2014
* Descrio do Mtodo
*/
catch(IOException evento){
/**Corpo do Mtodo
}finally{
/**Corpo do Mtodo
}
}
Passo 4 (Equipe)
Entregar ao professor da disciplina:
1. Uma mdia contendo o cdigo fonte desta etapa do projeto, sendo necessria a
insero dos arquivos com extenso .java e .class.
2. De forma impressa, entregar ao professor da disciplina um relatrio intitulado
Relatrio 3, formado de capa, diagrama de classe com a estrutura de herana
mltipla, os cdigos fontes documentados e comentados pela equipe, bem como os
print-screen das GUI desenvolvidas.
Verificar com o seu professor o tipo da mdia que ser adotada na entrega desta etapa.

Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

Pg. 10 de 11

ETAPA 4 (tempo para realizao: 5 horas)


Aula-tema: Arquivos. Colees.
Esta atividade importante para que voc modele a persistncia das informaes
apontadas no sistema de controle de equipamentos e licenas de software, adotando os
conhecimentos de manipulao de arquivos e colees.
Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Individual)
Realizar um resumo do captulo 17 do livro complementar e argumente aspectos
importantes da persistncia de dados utilizando arquivos binrios nesta aplicao que
sua equipe est desenvolvendo.

DEITEL, Harvery M. Java: Como Programar. 6 ed. So Paulo: Pearson Prentice Hall, 2007.

Passo 2 (Equipe)
Desenvolver os mtodos de persistncia nas classes desenvolvidas, substituindo a
armazenagem de dados em vetores, pela armazenagem de dados em colees de objetos.
Lembrar de que a adio, remoo e alterao devem ser implementadas associadas s
aes de cadastro, excluso e alterao respectivamente.
Passo 3 (Equipe)
Implementar os mtodos de persistncia aes de armazenagem em arquivos binrios,
utilizando a tcnica de arquivos separados por vrgulas (arquivos cuja extenso .cvs).
Sua equipe deve construir mtodos que realizem a escrita, leitura e alterao do registro
no arquivo binrio.
Sugesto
Determinar que cada uma das linhas do arquivo .csv representa um objeto persistido.
Considerar que cada um dos atributos encontra-se em uma posio da linha, sendo ; o
delimitador que separa os atributos.
Exemplo de registro em um arquivo .csv:
2014003; Notebook RF511 Siemens DX; Joo Costa da Silva;
48232
2014004; Microcomputador Dell GX620 ; Depto de Compras; 4361
2014003 Cdigo do registro.
Notebook RF511 Siemens DX Descrio do equipamento.
Joo Costa da Silva Nome do colaborador responsvel pelo equipamento.
48232 Matricula do colaborador responsvel pelo equipamento.
Passo 4 (Equipe)
Entregar ao professor da disciplina:
Paulo Cesar Barreto da Silva, Thiago Salhab Alves

Cincia da Computao - 5 Srie - Programao Orientada a Objetos II

1.
2.

Pg. 11 de 11

Uma mdia contendo o cdigo fonte desta etapa do projeto, sendo necessria a
insero dos arquivos com extenso .java e .class.
De forma impressa, entregar ao professor da disciplina um relatrio intitulado
Relatrio 3, formado de capa e os cdigos fontes documentados e comentados pela
equipe, bem como os print-screen das GUI desenvolvidas.

Verificar com o seu professor o tipo da mdia que ser adotada na entrega desta etapa.

Padronizao
O material escrito solicitado nesta atividade deve ser produzido de acordo com as
normas da ABNT, com o seguinte padro (exceto para produes finais no textuais):

em papel branco, formato A4;

com margens esquerda e superior de 3cm, direita e inferior de 2cm;

fonte Times New Roman tamanho 12, cor preta;

espaamento de 1,5 entre linhas;

se houver citaes com mais de trs linhas, devem ser em fonte tamanho 10,
com um recuo de 4cm da margem esquerda e espaamento simples entre
linhas;

com capa, contendo:

nome de sua Unidade de Ensino, Curso e Disciplina;

nome e RA de cada participante;

ttulo da atividade;

nome do professor da disciplina;

cidade e data da entrega, apresentao ou publicao.


Para consulta completa das normas ABNT, acesse a Normalizao de Trabalhos
Acadmicos
Anhanguera.
Disponvel
em:
<http://issuu.com/normalizacao/docs/normaliza____o_de_trabalhos_acad__m>.
Acesso em: 13 maio 2014.

Paulo Cesar Barreto da Silva, Thiago Salhab Alves

You might also like