Skip to content

Time: Lechuga

gustavo-de-assis edited this page Jul 10, 2018 · 71 revisions

LECHUGA!

Corpo Docente

Professor Email
Eber Assis Schmitz eber@nce.ufrj.br
Luis Felipe Coimbra Costa luisfcosta@cos.ufrj.br

A Equipe


Email: andre.zinum@gmail.com

DRE: 112 028 120



Email: gustavo.siqueira.421@gmail.com

DRE: 112 032 608



Email: Michel.caiafa@gmail.com

DRE: 115 214 940



Email: xiaoykong06@gmail.com

DRE: 114 176 987



Objetivo

    Desenvolvimento de plugin para customização de relatórios para o software i-Educar

Contents

Informação Link
Trello Link
Canvas Link
Mapa Mental Link
Sailboat Go
BurnDown Chart Go
Protótipo Ilusório Go
Relatórios Go
Tutorial de Instalação Go
Product Backlog Go
Sprints Go
Casos de Uso Go
Extras Go

   Sailboat

Ventos (Ajuda)

Ajuda externa ao time durante o processo. Nossos Product Owners estão dispostos a ajudar com o que for preciso como requisitos do programa, ajuda com dificuldades encontradas no caminho entre outras coisas.

Rochas (Riscos)

Riscos que corremos em nossa jornada. Mal cálculo da relação tempo/tarefa nas sprints é um exemplo. Além do cancelamento do projeto por parte de algum product owner.

Âncora (Empecilhos)

Uma sprint mal planejada pode se tornar um empecilho. As provas de outras disciplinas devem ser levadas em conta na hora de planejar sua sprint backlog por exemplo. O desinteresse por parte de membros do grupo também é um problema que pode afetar todo o projeto.

Goal (Ilha)

É o objetivo final da nossa aventura. Queremos entregar um plugin para emissão de relatórios que consiga conversar com o software i-Educar


Back

   BurnDown Chart

Clique para visualizar a tabela completa



Back

   Protótipo Ilusório

Clique para visualizar a apresentação completa


Back

   Relatórios

Tarefa Link
Relatório 1: Scrum e o Manifesto Ágil Link
Relatório 2: Processo de Software e Canvas Link
Relatório 3: Kanban, Sprint 0 e Levantamento de Requisitos Link
Relatório 4: Mais Levantamento de Requisitos, Sailboat, Planejamento e Ambientação Link
Relatório 5: Sprint 0 e Sprint 1 Link
Relatório 6: Sprint 2 e início de Sprint 3 Link
Relatório 7: Aula 07/05 e Sprint 4 Link
Relatório 8: Aula 14/05 e Sprint 5 Link
Relatório 9: Aula 21/05 e Sprint 6 Link
Relatório 10: Hackeando o Combustível (Sprint 7) Link
Relatório 11: Aula 04/06 e Sprint 8 Link
Relatório 12: Aula 11/06 e Sprint 9 Link
Relatório 13: Aula 18/06 e Sprint 10 Link
Relatório 14: Aula 25/06 e Sprint 11 Link
Relatório 15: Aula 02/07 e Sprint Final Link

Back

   Tutorial de Instalação

A primeira ferramenta que vamos instalar será o Java 8. Passo 0: Antes de tudo vamos remover, caso tenha o Openjdk para evitar possíveis conflitos.

sudo apt-get purge openjdk*

Passo 1: Agora vamos adicionar o repositório oficial

sudo add-apt-repository ppa:webupd8team/java

Passo 2: Atualizar

sudo apt-get update

Passo 3: Por fim instalar

sudo apt-get install oracle-java8-installer

opcional Passo 4: Pode ser interessante configurar automaticamente as variáveis do java, fazemos isso com o seguinte comando

sudo apt-get install oracle-java8-set-default

Agora vamos instalar o eclipse que será a nossa IDE

Passo 0: Caso já tenha alguma versão do eclipse instalada, remova ela com os seguinte comandos.

rm -Rf /opt/eclipse/

rm -Rf /usr/share/applications/eclipse.desktop

Passo 1: verifique se seu sistema é 32 ou 64 bits com o comando

uname -m

Passo 2: Vá no site e baixe a última versão, compatível com seu sistema e nomeie o arquivo com “eclipse.tar.gz”(sem as aspas). https://www.eclipse.org/downloads/

Passo 3: Vamos descompactar o arquivo

sudo tar -zxvf eclipse.tar.gz -C /opt/

Agora por fim vamos instalar o Mysql

Passo 1: Instalar

sudo apt-get install mysql-server OBS: na instalação ele vai pedir uma senha que será o Root do banco

Passo 2: Verificar se tudo correu bem

systemctl status mysql

Integrando Mysql com eclipse

Passo 1: Baixe o Conector https://www.mysql.com/products/connector/

Passo 2: Adicione o conector ao Java Build Path do projeto
Back

Product BackLog:

Product Backlog

  • Product Backlog
  • Reações
  • Ir na Aula
  • Instalar Ferramentas
  • Atualizar Wiki/Github semanalmente
  • Sprint Backlog
  • Sprint Review
  • Reuniões diárias
  • Pesquisa

Funcionalidades/Funções

Banco

  1. Definir Banco
  2. Criar Banco
  3. Popular o Banco

Interface();

  1. Lembrar de Java
  2. Escolher framework
  3. Definir interface
  4. Codificar

Relatório( )

{
   Integra com nosso banco simplificado( ); [I-relatorios 1.0]    - funcão que conversa com o nosso banco
   Integra ao I-educar( ); [I-relatorios 2.0]    - função que conversa com o I-educar
   Conecta ao banco( ){
      Autentica usuário( ); [I-relatorios 2.1]
      Seleciona campos da query( ); [I-relatorios 1.0]
      Gerar query( ); [I-relatorios 1.0]
      Executa query( ); [I-relatorios 1.0]
      Gera relatório( ){
         Gera Tabela( ); [I-relatorios 1.0]          - criar uma função que gera tabela com os campos do banco
         Gera Grafico( ); - (Drag & Drop) [I-relatorios 2.0]          - criar função que gera gráficos com os dados do banco
         Gera Caixa Texto( ); - (Drag & Drop) [I-relatorios 2.0]          - criar função que permite abrir nova caixa de texto no relatório
         Add Header( ); - (Drag & Drop) [I-relatorios 1.0]
         Add Footer( ); - (Drag & Drop) [I-relatorios 1.0]
         Add First Page Header( ); - (Drag & Drop) [I-relatorios 2.0]
         Add Last Page Footer( ); - (Drag & Drop) [I-relatorios 2.0]
         Gera PDF( ); [I-relatorios 1.0]
         Gera ODT/DOC/XLS ( ); [I-relatorios 2.0]
      }
      Encerra conexão( ); [I-relatorios 1.0]
   }
}

Back

TIME LINE:

  1. Criar um banco de dados com os campos( Matricula, Nome, Idade, Data de Nascimento, Escola, Serie, Notas_de_cada_materia)
  2. Popular o banco
  3. Gerar relatório em PDF
  4. Integrar com o banco
  5. gerar relatorio com os campos espefícicos
  6. Iterface com usuário
  7. Definir desing
  8. Gerar relatório em PDF
  9. Inserir texto
  10. Inserir Gráfico
  11. Inserir Header
  12. Inserir Footer
  13. Inserir First page Header
  14. Inserir Last page footer
  15. Inserir PNG
  16. Gerar relatorio em ODT, DOC, XLS

Sprints

As Sprints do time estão disponíves como markdown na branch do time Lechuga.
Back

Casos de Uso

Objetivo

Gerar um relatório (em pdf) com a listagem nominal dos alunos de uma turma


Atores

Funcionário da escola


Pré condição

Selecionar corretamente no banco a série e ano que se deseja listar


Pós condição

Ter o relatório gerado


Fluxo Básico

  • O Funcionário escolhe o relatório de listagem nominal de alunos
  • O Funcionário escolhe a série/ano a qual deseja listar
  • O Funcionário escolhe a turma
  • O Funcionário aperta o botão pra gerar o relatório
  • O sistema apresenta uma prévia do relatório
  • O Funcionário salva/imprime o relatório
Back

Extras:

  • Desenvolvimento de Software explicado com carros por Toggl
  • Texto desenvolvimento de software por governos:
  •   Analisando o texto de um partido político, podemos tentar entender e refletir sobre a questão de desenvolvimento de softwares por governos. Na visão deles claro. Mas faz sentido?
    Faz e não faz.Por um lado se temos algo público, fica explicito que tem que ser público, mas não necessariamente precisa ser de uso de todos do mundo inteiro e nem precisa ser compartilhado com todos como é feito.
    As pesquisas e operações da Petrobras por exemplo, é uma empresa pública, então vamos sair contando para todo mundo o que descobrimos e como realizamos as operações? Vejo um problema até de segurança nisso, o video expõe que contratos permitem que empresas tenham "Backdoors" e utilizem as informações adquiridas como bem entenderem, mas se é um problema de contrato, tem que fazer um contrato diferente, n precisa expor para todo mundo como é feito. Um outro exemplo seria a urna eletrônica, imagina se o código for aberto e todos souberem o que ela faz e como faz? Sem entrar no contexto da segurança atual da urna, com o código fica bem mais fácil quebrar e invadir o sistema.
    Existem coisas que são públicas mas não devem ser divulgadas para todos, o video pega exemplos que realmente poderiam ser estudados, com um software livre, todos poderiam saber exatamente o que o governo está fazendo, mas realmente queremos que todos, inclusive outros países, saibam tudo sobre nossos softwares?
    Talvez um solução que foi implementada em praticamente todos os outros setores seria uma agência reguladora, que controle a produção e utilização dos sistemas, que ajude nos contratos e previna qualquer exigência absurda ao adquirirem uma licença de uso.
  • HackComb - Hackeando o combustível - 30/05/2018
  • O nome deste evento é uma adaptação em um formato bem menor de dois conceitos: Hackathon e Game Jam. É também uma brincadeira com relação a falta de combustíveis em nosso páis. O fato de não existir combustível nos postos, gerou uma greve da faculdade e nos possibilitou usar combustível novo em nosso projeto da disciplina. O que era uma âncora, virou vento favorável e agora é o momento de aplicarmos de forma intensa nossa energia usando o tempo em nosso favor.

    Através desse evento, realizamos a sprint 7, com reuniões via hangout e, aos que conseguiram se locomover, reuniões com o Luis na empresa HELabs Essa sprint foi um pouco diferente pois estamos realizando ela usando a técnica pomodoro. A técnica consiste na utilização de um cronômetro para dividir o trabalho em períodos de 25 minutos(no caso, usaremos de 15min ou 30min), separados por breves intervalos.

    9:00h - 9:30h - Hangout de abertura, com instruções sobre como vamos trabalhar como um "come come de tarefas"

    9:30h - 10:00h - Organização das tarefas: wiki, reações, formatação, visualização de issues, use de pull request, uso do projeto integrado com Git

    10:00h - 10:15h - Hangout sobre como andam os trabalhos

    10:15h - 10:30h - Usar a wiki para documentar a atividade dos pomodoros

    10:30h - 10:45h - Intervalo

    10:45h - 11:15h - Executar tarefas Issues

    11:15h - 11:30h - Hangout sobre como andam os trabalhos

    11:30h - 12:00h - Preparar prioridades times(Sprint Backlog atual)

    12:00h - 14:00h - Almoço

    14:00h - 14:30h - Executar backlog

    14:30h - 14:45h - Hangout sobre como andam os trabalhos

    14:45h - 15:00 - Hangout entre times - Assunto testes: um time vai ajudar ao outro como executar testes

    15:00h - 15:30h - Executar backlog

    15:30h - 15:45 - Hangout entre times - Assunto Livre: aqui um time ajuda o outro com qualquer assunto

    15:45h - 16:00h - Hangout de encerramento e balanço da operação "Hackeando o combustível"   

    Fotos:


    Back