fga-eps-mds / 2021.2-INDICAA

Este projeto tem como objetivo criar um software para a melhor visualização de informações relacionadas às matérias ofertadas no SIGAA, com o objetivo de melhorar o trabalho da secretaria na volta gradual as aulas.
https://fga-eps-mds.github.io/2021.2-INDICAA-Wiki/
GNU General Public License v3.0
8 stars 7 forks source link

Sprint 0 - Tarefas de pesquisa #1

Closed guigudf closed 2 years ago

guigudf commented 2 years ago

Descrição

Pesquisar sobre as tecnologias e metodologias que serão utilizadas durante a execução do projeto.

Tarefas

Pesquisar sobre as seguintes ferramentas:

Pesquisar sobre as seguintes metodologias:

Critérios de aceitação

guigudf commented 2 years ago

Git

Trabalhando com o Git

Pull

Eruel6 commented 2 years ago

O que é um web crawler

Como implementar um web crawler em phyton

Thiab394 commented 2 years ago

Scrum

O Scrum ou Scrum Agile, é uma das Metodologias Ágeis que existem hoje em dia no mercado, derivadas do manifesto ágil e tem como sua ideia principal, dividir um projeto em diversos pequenos ciclos de atividades ou “sprints” com reuniões frequentes (diária ou semanalmente) para que a equipe possa se alinhar melhor e pensar em formas melhores de aumentar a agilidade do projeto ou de ajudar seus colegas de trabalho.

Termos Tecnicos Usados no Scrum:

Kanban

Kanban é um método de gestão de trabalho criado no sistema Toyota de produção que tem como objetivo principal criar mais valor pra o cliente sem gerar mais custos para o fabricante, método esse bastante utilizado com metodologias ágeis e desenvolvimento de softwares. A forma mais utilizada do Kanban e a mais conhecida também são os Quadros Kanban, os quais ajudam toda a equipe a ser mais eficiente.

kanban-board1

Lean

O Lean Manufacturing ou Produção Enxuta, é uma metodologia de gestão criada na mesma época do Kanban, inclusive trabalhando em conjunto com o mesmo, que tem como objetivo reduzir desperdícios enquanto aumenta a produtividade e qualidade. Para isso se analisam 5 princípios básicos são eles: Especificar valor sob a ótica do cliente, Alinhar da melhor forma possível o fluxo de valor, Realizar as atividades em um fluxo continua e sempre que alguém as solicita, de maneira que fique cada vez mais eficaz, cada tópico pode ser visto em detalhes no link salvo.

Cascata

Diferentemente do Modelo Ágil ou metodologia ágil, o modelo cascata tem como principal objetivo ser facilmente administrado e ter uma alta estabilidade no desenvolvimento do projeto, ao custo de rapidez de entrega e de possíveis grandes problemas no decorrer do projeto. Ele tem como metodologia, uma serie de passos sequencialmente lógicos, no qual qualquer um deles é extremamente dependente de seu anterior (a próxima etapa só se inicia com o termino da anterior) e, caso algo dê errado em uma etapa mais á frente e for preciso retornar, será necessário retornar do inicio, pois a dependência entre etapas cria essa necessidade, fazendo assim com que a transição entre eles seja algo extremamente delicado e importante.

manifesto_agil_1

joaopaulob3 commented 2 years ago

DOCKER

O Docker é uma forma de virtualizar aplicações no conceito de “contêiners”, trazendo da web ou de seu repositório interno uma imagem completa, incluindo todas as dependências necessárias para executar sua aplicação.

O que é o Docker?


O que são contêiners?

Um contêiner é uma unidade padrão de software que empacota o código e todas as suas dependências para que o aplicativo seja executado de forma rápida e confiável de um ambiente de computação para outro. Uma imagem de contêiner do Docker é um pacote de software leve, autônomo e executável que inclui tudo o que é necessário para executar um aplicativo: código, tempo de execução, ferramentas do sistema, bibliotecas do sistema e configurações. Os contêineres isolam o software de seu ambiente e garantem que ele funcione uniformemente, apesar das diferenças, por exemplo, entre desenvolvimento e teste. Nessa perspectiva, cada contêiner criado atua como uma máquina virtual flexível. Com isso, a equipe de TI pode migrar, copiar ou implementar ambientes de trabalho com facilidade, garantindo melhor desempenho para as aplicações baseadas em nuvem.

Mateusvff commented 2 years ago

Banco de dados e sistemas de gerenciamento

Um sistema de gerenciamento de banco de dados (DBMS) é uma coleção de dados inter-relacionados e um conjunto de programas (Oracle, SQL server, PostgreSQL, MySQL...) para acessar esses dados.

A coleção de dados, normalmente chamada de banco de dados, contém informações relevantes a uma empresa. O principal objetivo de um sistema de gerenciamento de banco de dados é fornecer uma maneira de recuperar informações de banco de dados que seja tanto conveniente quanto eficiente, ou seja, capazes de manipular as informações e interagir com o usuário.

image

Os sistemas de banco de dados são projetados para gerenciar grandes blocos de informação. O gerenciamento de dados envolve definir estruturas para armazenamento de informações. Além disso, o sistema de banco de dados precisa garantir a segurança da informações armazenadas, apesas das falhas de sistema ou de tentativas de acesso não autorizado. Se os dados precisarem ser compartilhados entre vários usuários, o sistema precisa evitar possíveis resultados anômalos.

Quais as características mais importantes na hora de escolher o banco de dados?

MySQL – Um dos sistemas mais populares do mundo e é open source. Este é um dos sistemas que mais evoluiu nos últimos anos, ele é um banco que providencia segurança e é ideal para grandes aplicações e indicado para novos desenvolvedores. Ele utiliza a linguagem SQL como interface.

PostgreSQL – Também conhecido como Postgree é um sistema gerenciador de banco de dados (SGBD) objeto relacional. Trata-se de outro projeto open source, ou seja, foi desenvolvido e vem sendo melhorado por diversas pessoas ao redor do mundo através do seu código aberto.

MSSQL – O sistema desenvolvido pela Microsoft também é relacional. É um sistema grande, assim como o Oracle oferece amplo suporte aos aplicativos críticos e à soluções de big data.

MongoDB – Um banco de dados flexível, de alta performance e orientado a documentos. É utilizado por grandes empresas como Cisco, Github, Globo.com, Linkedin e diversas outras para gerenciar aplicações de Big Data – onde é preciso gerenciar uma grande quantidade de dados.

Principalmente como teremos um negócio de pequeno ou médio porte, poderiamos considerar as alternativas open source. O MySQL é um bom exemplo de software que é gratuito ou que custa pouco e que, ao mesmo tempo, pode ser customizado para atender melhor às necessidades do nosso negócio.

Banco de dados relacional x Banco de dados não relacional

Bancos de dados relacionais como MySQL, PostgreSQL e SQLite3 representam e armazenam dados em tabelas e linhas. ... Enquanto isso, bancos de dados não relacionais como o MongoDB representam dados em coleções de documentos JSON.

O banco de dados relacional sempre irá fornecer dados íntegros e imutáveis, garantindo um controle transacional consistente. Além disso, seu esquema é rígido, sendo possível atribuir campos e estabelecer se o dado de uma coluna é nulo ou não nulo.

Já o banco de dados não relacional, que representa diversos tipos de bancos de dados, não exige a rigidez de esquemas para armazenar os dados, ou seja, ele não limita os campos, diferente das colunas do SQL. Além disso, é possível adicionar novas propriedades, sem a preocupação com o impacto nas demais informações já armazenadas.

Importante:

Como trabalharemos utilizando metodologias ágeis modernas, um banco de dados relacional provavelmente não seria uma boa opção nesse contexto, pois ela requer um nível maior de preparação

PedroSiq commented 2 years ago

Business Intelligence

Business Intelligence (BI) se trata de um processo, guiado pela tecnologia, que visa coletar e analisar quaisquer tipos de dados, de modo a transformá-los em informações, seguido pela tomada de decisão dos executivos em cima de tais informações. Assim dito, o BI utiliza de diversos recursos que possibilitam esse tipo de tratamento e conversão de dados possível, sendo a principal dela, o dashboard, que pode conter desde painéis gráficos a relatórios analíticos, a partir da integração com uma fonte de dados.

Ferramentas de Business Intelligence

Para colocar tudo que foi citado em prática, existem diversos softwares que utilizam a metodologia de Business Intelligence, sendo alguns deles:

Ferramentas gratuitas:

Ferramentas pagas:

Ferramenta BI ideal para utilização no projeto:

Apesar de a qualidade da entrega ser sempre a principal prioridade do projeto, existem outros fatores a mais que devem ser considerados, Aspectos como a viabilidade financeira da operação e suas capacitações também são importantes para garantir a sua realização. Devido a inviabilidade financeira e falta de investimentos, além da qualidade da própria plataforma, tal qual a sua intuitiva capacitação, a ferramenta BI ideal para uso no projeto é o Google Data Studio, pois engloba todos os aspectos fundamentais para colocar em prática os conceitos de Business Intelligence de maneira satisfatória e viável.

thiago-vivan commented 2 years ago

O que são APIs? API é um termo para designar uma interface de comunicação que um sistema oferece para que outros acessem suas funções, dados e recursos sem que o software ou plataforma externa precise saber como eles foram implementados.

Quais são os padrões de uma API web? RPC - Basicamente funciona como uma chamada de função. Soap - Esse padrão fornece uma interface para ser trabalhado com RPC, então ele determina o formato de uma requisição utilizando XML. REST - Esse padrão utiliza o protocolo HTTP 1.1 como ele foi pensado, o que é isso: usando os "verbos" do HTTP como o "get" e o "post".

Qual o retorno de uma API web?

Geralmente o retorno das APIs web vem em formato JSON ou XML.

https://www.youtube.com/watch?v=lc0VOosnlAc - Video explicativo de como Utilizar uma API do zero