| Linha 34: | Linha 34: | ||
*** | *** | ||
* 4. Com relação aos sistemas, cite no mínimo 3 e explique a função de cada um no seu projeto. | * 4. Com relação aos sistemas, cite no mínimo 3 e explique a função de cada um no seu projeto. | ||
** Precisará ser usado um sistema de banco de dados, um sistema de informação transacionais e um sistema de informação gerenciais. | |||
*** Sistema de gerenciamento de banco de dados: É um software que possui recursos capazes de manipular informações de banco de dados e interagir com o usuário. | |||
*** Sistema de informação transacionais: Funciona para registrar informações de cada dia que alimentam o banco de dados para futuras consultas. No caso da plataforma da Anonymous Help registrará, em sua maioria logins, registro de lançamento de perguntas e registro de respostas para os problemas e/ou preocupações. | |||
*** Sistema de informação gerenciais: Por meio das informações armazenadas pelo sistema de informação transacionais, é capaz de fazer consultas e gerar relatórios para os administradores, como a média de perguntas respondidas em uma semana e o total de novos usuários registrados por dia. | |||
<br> | <br> | ||
Edição das 20h26min de 3 de setembro de 2020
5W2H
What
- 1. Qual o nome do seu projeto?
- Anonymous Help
- 2. Qual o objetivo deste projeto?
- Criar um ambiente onde as pessoas possam se ajudar anonimamente no que se trata de seus problemas/preocupações
- 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
- Pensando em marketing e engajamento, o desafio é fazer com que a comunidade web consiga aderir à plataforma de forma orgânica. Para isso, precisamos de uma plataforma inclusiva, responsiva e intuitiva, o que nos leva a pensar nos desafios técnicos do projeto. Como a maioria dos usuários de redes sociais interagem por meio de dispositivos móveis, precisamos desenvolver com o pensamento mobile-first, além de que, pensando nos mais diversos tipos de usuários, o desenvolvimento deverá ser feito pensando em inclusão digital. Quanto à linguagens, o desafio estará a cargo de compreender e dominar linguagens como HTML, CSS e JavaScript, além de frameworks e banco de dados que irão garantir a qualidade do projeto. Por fim, o sistema deve ser pensado de maneira escalável, para que, a medida que mais usuários forem captados, o sistema possa se comportar bem e de maneira eficiente. Além de policiar atitudes negativas (suporte 24 horas).
- 4. Quais os conhecimentos básicos (teorias) que devemos ter para se implementar este projeto?
- Precisamos ter conhecimento de como a Web funciona, quais os diferentes protocolos que ela opera (HTTPS por exemplo) e como desenvolver para ela. Precisamos ter conhecimento de arquitetura de software, para pensar como vamos estruturar o sistema e o escopo em que iremos trabalhar. Precisamos ter conhecimento de hospedagem, tipos de servidores, domínio na web e outros recursos para manter a aplicação no ar. Precisamos ter conhecimento de linguagens e frameworks, e qual stack seria mais recomendada para o nosso tipo de sistema (Angular, React, NodeJS, MongoDB). Por fim, precisamos ter o conhecimento de como manter a aplicação no ar sem que haja quedas ou falhas
- 5. Quais soluções similares existem no mercado?
- Há o Anonymous Online Chat, porém não existem soluções similares com o mesmo propósito do Anonymous Help no Brasil, mas pensando numa rede social, pode-se dizer que não seria muito diferente do Facebook, Instagram ou até mesmo o Twitter. O nosso diferencial é o foco: uma rede em que as pessoas pudessem interagir entre si, anonimamente, de forma a se ajudar compartilhando e ouvindo sobre experiências da vida e dificuldades que vêm vivenciando.
Why
- 1. Porque é interessante desenvolver este projeto?
- O Anonymous Help é um projeto que visa incentivar pessoas a ajudarem outras pessoas. O interessante de desenvolvê-lo é o fato dos usuários poderem interagir anonimamente, assim, em teoria, sentirão mais liberdade de expressar seus problemas pessoais, fazendo com que seja mais fácil de serem ajudados. Além disso, o fato de serem compartilhados diversos tipos de problemas e preocupações fará com que as pessoas comecem a se pôr no lugar mais umas das outras, havendo uma chance de que se tenha mais respeito entre as pessoas.
- No seu projeto, precisará optar por algumas tecnologias, usar alguns hardwares e conversar com outros sistemas.
atuais ou não.
- Sim.
- 2. Com relação às tecnologias, cite no mínimo 3 e explique a função de cada uma no seu projeto.
- Com relação às tecnologias, por ser um desenvolvimento para web, teremos como base HTML, CSS e Javascript. A complexidade ficará a cargo dos frameworks e pré-processadores que darão estabilidade e segurança na codificação. Temos:
- NodeJS: Node é um framework javascript que fará o papel do “backend” do sistema. Ele terá o papel de controlar acesso ao banco de dados, bem como processar entradas e gerar saídas para a camada de apresentação.
- React: React é um outro framework baseado em JavaScript, mas que será utilizado na camada de apresentação. Como é muito famoso na construção de SPA’s, sendo usado em redes sociais como Instagram, utilizaremos esta solução.
- Styled-Components: é um pré-processador de CSS. Sua função no nosso projeto será nos ajudar a desenvolver o estilo da página com mais agilidade e de forma padronizada, além de trabalhar bem com o React
- PostgresSQL: Postgres é um banco de dados relacional gratuito. Por ser um projeto a principio acadêmico, este banco de dados suporta a carga e estresse gerado no sistema. Sua função no projeto será armazenar dados em tabelas que podem ou não ter relacionamentos entre si.
- 3. Com relação ao hardware, cite no mínimo 3 e explique a função de cada um no seu projeto.
- Com relação às tecnologias, por ser um desenvolvimento para web, teremos como base HTML, CSS e Javascript. A complexidade ficará a cargo dos frameworks e pré-processadores que darão estabilidade e segurança na codificação. Temos:
- 4. Com relação aos sistemas, cite no mínimo 3 e explique a função de cada um no seu projeto.
- Precisará ser usado um sistema de banco de dados, um sistema de informação transacionais e um sistema de informação gerenciais.
- Sistema de gerenciamento de banco de dados: É um software que possui recursos capazes de manipular informações de banco de dados e interagir com o usuário.
- Sistema de informação transacionais: Funciona para registrar informações de cada dia que alimentam o banco de dados para futuras consultas. No caso da plataforma da Anonymous Help registrará, em sua maioria logins, registro de lançamento de perguntas e registro de respostas para os problemas e/ou preocupações.
- Sistema de informação gerenciais: Por meio das informações armazenadas pelo sistema de informação transacionais, é capaz de fazer consultas e gerar relatórios para os administradores, como a média de perguntas respondidas em uma semana e o total de novos usuários registrados por dia.
- Precisará ser usado um sistema de banco de dados, um sistema de informação transacionais e um sistema de informação gerenciais.
Who
- 1. Quem pode se beneficiar deste projeto?
- 2. Quem poderá operar o sistema?
- 3. Quem deverá participar do desenvolvimento do sistema?
Where
- 1. Por onde (hardware ou sistemas), os dados serão inseridos?
- 2. Onde (hardware ou sistemas), os dados serão externalizados?
- 3. Onde (em que dispositivos ou ambientes) esta aplicação poderá ser usada?
- 4. Onde os dados serão armazenados?
- 5. Onde o software deverá ser hospedado?
When
- 1. Em quanto tempo (em semanas) pretende desenvolver o sistema?
- 2. Quais serão as fases e em quanto tempo cada uma?
- 3. Qual o tempo de resposta do dispositivo ou do sistema, ou seja, quanto tempo acha razoável esperar por uma informação?
- 4. Se tiver investimento, quanto tempo acha razoável para pagar o financiamento?
- 5.
How
- 1. Como será dividido o desenvolvimento do sistema?
- 2. Como será feita a entrada de dados?
- 3. Como será feita a saída de dados?
- 4. Descreva a 1a. funcionalidade?
- 5. Descreva a 2a. funcionalidade?
- ............
- n. Descreva a enésima funcionalidade?
How much
- 1. Quanto custa cada parte do sistema?
- 2. Quanto deverá custar todo o sistema?
- 3. Quantas pessoas deverão ser usadas (Equipe) ?
- 4. Quanto custa cada profissional?
- 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?