2014 2 Ciencia Da Computacao 5 Programacao Orientada a Objetos II

11
ATIVIDADES PRÁTICAS SUPERVISIONADAS Ciência da Computação 5ª Série Programação Orientada a Objetos II A Atividade Prática Supervisionada (ATPS) é um procedimento metodológico 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 convivência e o trabalho em grupo. Auxiliar no desenvolvimento das competências requeridas para o exercício profissional. Promover a aplicação da teoria na solução de situações que simulam a realidade. Oferecer diferenciados ambientes de aprendizagem Para atingir estes objetivos, a ATPS propõe um desafio e indica os passos a serem percorridos ao longo do semestre para a sua solução. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional. AUTORIA: Paulo César Barreto da Silva Faculdade Anhanguera de Santa Bárbara Thiago Salhab Alves Faculdade Anhanguera de Santa Bárbara

description

Atps Programação

Transcript of 2014 2 Ciencia Da Computacao 5 Programacao Orientada a Objetos II

  • 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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    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.

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    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.

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    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: . e compartilhado em: . Acesso em: 04 abr. 2014.

    CAELUM, Ensino e Inovao. Interfaces grficas com Swing. 2014. Disponvel em: . e compartilhado em: . Acesso em: 07 abr. 2014.

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    Pg. 5 de 11

    CAELUM, Ensino e Inovao. Mais Swing: layout managers, mais componentes e detalhes. 2014. Disponvel em: . e compartilhado em: . 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.

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    Pg. 6 de 11

    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.

    Nome Campo:

    Nome Campo:

    Nome Campo:

    Seleo:

    Opo: Opo1 Opo 2

    999.999.999-99

    Boto

    1 Boto 2 Boto N

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    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.

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    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: . e compartilhado em: . 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.

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    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.

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    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:

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

    Paulo Cesar Barreto da Silva, Thiago Salhab Alves

    Pg. 11 de 11

    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 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: . Acesso em: 13 maio 2014.