ICEI-PUC-Minas-PMV-ADS
/
pmv-ads-2024-2-e2-proj-int-t7-pmv-ads-2024-2-e2-proj-int-t7-IntApplicationProject-Template
Public
generated from ICEI-PUC-Minas-PMV-ADS/IntApplicationProject-Template
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit dd8e693
Showing
27 changed files
with
563 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# TÍTULO DO PROJETO | ||
|
||
`CURSO` | ||
|
||
`DISCIPLINA` | ||
|
||
`SEMESTRE` | ||
|
||
Descrever resumidamente, em um ou dois parágrafos, o projeto que está sendo desenvolvido. | ||
|
||
## Integrantes | ||
|
||
* Nome completo do aluno 1 | ||
* Nome completo do aluno 2 | ||
* Nome completo do aluno 3 | ||
* Nome completo do aluno 4 | ||
|
||
## Orientador | ||
|
||
* Nome completo do professor 1 | ||
|
||
## Instruções de utilização | ||
|
||
Assim que a primeira versão do sistema estiver disponível, deverá complementar com as instruções de utilização. Descreva como instalar eventuais dependências e como executar a aplicação. | ||
|
||
Não deixe de informar o link onde a aplicação estiver disponível para acesso (por exemplo: https://adota-pet.herokuapp.com/src/index.html). | ||
|
||
Se houver usuário de teste, o login e a senha também deverão ser informados aqui (por exemplo: usuário - admin / senha - admin). | ||
|
||
O link e o usuário/senha descritos acima são apenas exemplos de como tais informações deverão ser apresentadas. | ||
|
||
# Documentação | ||
|
||
<ol> | ||
<li><a href="docs/01-Documentação de Contexto.md"> Documentação de Contexto</a></li> | ||
<li><a href="docs/02-Especificação do Projeto.md"> Especificação do Projeto</a></li> | ||
<li><a href="docs/03-Metodologia.md"> Metodologia</a></li> | ||
<li><a href="docs/04-Projeto de Interface.md"> Projeto de Interface</a></li> | ||
<li><a href="docs/05-Arquitetura da Solução.md"> Arquitetura da Solução</a></li> | ||
<li><a href="docs/06-Template Padrão da Aplicação.md"> Template Padrão da Aplicação</a></li> | ||
<li><a href="docs/07-Programação de Funcionalidades.md"> Programação de Funcionalidades</a></li> | ||
<li><a href="docs/08-Plano de Testes de Software.md"> Plano de Testes de Software</a></li> | ||
<li><a href="docs/09-Registro de Testes de Software.md"> Registro de Testes de Software</a></li> | ||
<li><a href="docs/10-Plano de Testes de Usabilidade.md"> Plano de Testes de Usabilidade</a></li> | ||
<li><a href="docs/11-Registro de Testes de Usabilidade.md"> Registro de Testes de Usabilidade</a></li> | ||
<li><a href="docs/12-Apresentação do Projeto.md"> Apresentação do Projeto</a></li> | ||
<li><a href="docs/13-Referências.md"> Referências</a></li> | ||
</ol> | ||
|
||
# Código | ||
|
||
<li><a href="src/README.md"> Código Fonte</a></li> | ||
|
||
# Apresentação | ||
|
||
<li><a href="presentation/README.md"> Apresentação da solução</a></li> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
message: Please cite this software using these metadata. | ||
title: | ||
authors: | ||
- family-names: | ||
given-names: | ||
- family-names: | ||
given-names: | ||
- family-names: | ||
given-names: | ||
- family-names: | ||
given-names: | ||
- family-names: | ||
given-names: | ||
- family-names: | ||
given-names: | ||
- name-suffix: Professor | ||
affiliation: PUC Minas | ||
family-names: | ||
given-names: | ||
- name-suffix: Professor | ||
affiliation: PUC Minas | ||
family-names: | ||
given-names: | ||
keywords: | ||
- | ||
- | ||
repository-code: | ||
version: 1.0.0 | ||
date-released: 2023-10-31 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Introdução | ||
|
||
Texto descritivo com a visão geral do projeto abordado. Inclui o contexto, o problema, os objetivos, a justificativa e o público-alvo do projeto. | ||
|
||
## Problema | ||
Nesse momento você deve apresentar o problema que a sua aplicação deve resolver. No entanto, não é a hora de comentar sobre a aplicação. | ||
|
||
Descreva também o contexto em que essa aplicação será usada, se houver: empresa, tecnologias, etc. Novamente, descreva apenas o que de fato existir, pois ainda não é a hora de apresentar requisitos detalhados ou projetos. | ||
|
||
Nesse momento, o grupo pode optar por fazer uso de ferramentas como Design Thinking, que permite um olhar de ponta a ponta para o problema. | ||
|
||
> **Links Úteis**: | ||
> - [Objetivos, Problema de pesquisa e Justificativa](https://medium.com/@versioparole/objetivos-problema-de-pesquisa-e-justificativa-c98c8233b9c3) | ||
> - [Matriz Certezas, Suposições e Dúvidas](https://medium.com/educa%C3%A7%C3%A3o-fora-da-caixa/matriz-certezas-suposi%C3%A7%C3%B5es-e-d%C3%BAvidas-fa2263633655) | ||
> - [Brainstorming](https://www.euax.com.br/2018/09/brainstorming/) | ||
## Objetivos | ||
|
||
Aqui você deve descrever os objetivos do trabalho indicando que o objetivo geral é desenvolver um software para solucionar o problema apresentado acima. | ||
|
||
Apresente também alguns (pelo menos 2) objetivos específicos dependendo de onde você vai querer concentrar a sua prática investigativa, ou como você vai aprofundar no seu trabalho. | ||
|
||
> **Links Úteis**: | ||
> - [Objetivo geral e objetivo específico: como fazer e quais verbos utilizar](https://blog.mettzer.com/diferenca-entre-objetivo-geral-e-objetivo-especifico/) | ||
## Justificativa | ||
|
||
Descreva a importância ou a motivação para trabalhar com esta aplicação que você escolheu. Indique as razões pelas quais você escolheu seus objetivos específicos ou as razões para aprofundar em certos aspectos do software. | ||
|
||
O grupo de trabalho pode fazer uso de questionários, entrevistas e dados estatísticos, que podem ser apresentados, com o objetivo de esclarecer detalhes do problema que será abordado pelo grupo. Ou, o grupo poderá consultar e justificar o impacto do problema para o público-alvo por meio de pesquisas em outras fontes. Neste caso, é essencial que todos os dados apresentados estejam acompanhados de suas fontes (conforme padrão ABNT). | ||
|
||
> **Links Úteis**: | ||
> - [Como montar a justificativa](https://guiadamonografia.com.br/como-montar-justificativa-do-tcc/) | ||
## Público-Alvo | ||
|
||
Descreva quem serão as pessoas que usarão a sua aplicação indicando os diferentes perfis. O objetivo aqui não é definir quem serão os clientes ou quais serão os papéis dos usuários na aplicação. A ideia é, dentro do possível, conhecer um pouco mais sobre o perfil dos usuários: conhecimentos prévios, relação com a tecnologia, relações hierárquicas, etc. | ||
|
||
> **Links Úteis**: | ||
> - [Público-alvo](https://blog.hotmart.com/pt-br/publico-alvo/) | ||
> - [Como definir o público alvo](https://exame.com/pme/5-dicas-essenciais-para-definir-o-publico-alvo-do-seu-negocio/) | ||
> - [Público-alvo: o que é, tipos, como definir seu público e exemplos](https://klickpages.com.br/blog/publico-alvo-o-que-e/) | ||
> - [Qual a diferença entre público-alvo e persona?](https://rockcontent.com/blog/diferenca-publico-alvo-e-persona/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# Especificações do Projeto | ||
|
||
<span style="color:red">Pré-requisitos: <a href="1-Documentação de Contexto.md"> Documentação de Contexto</a></span> | ||
|
||
Definição do problema e ideia de solução a partir da perspectiva do usuário. É composta pela definição do diagrama de personas, histórias de usuários, requisitos funcionais e não funcionais além das restrições do projeto. | ||
|
||
Apresente uma visão geral do que será abordado nesta parte do documento, enumerando as técnicas e/ou ferramentas utilizadas para realizar a especificações do projeto | ||
|
||
## Personas | ||
|
||
Identifique, em torno de, 5 personas. Para cada persona, lembre-se de descrever suas angústicas, frustrações e expectativas de vida relacionadas ao problema. Além disso, defina uma "aparência" para a persona. Para isso, você poderá utilizar sites como [https://this-person-does-not-exist.com/pt#google_vignette](https://this-person-does-not-exist.com/pt) ou https://thispersondoesnotexist.com/ | ||
|
||
Utilize também como referência o exemplo abaixo: | ||
|
||
<img src="https://github.com/ICEI-PUC-Minas-PMV-ADS/IntApplicationProject-Template/blob/main/docs/img/AnaClara1.png" alt="Persona1"/> | ||
|
||
Enumere e detalhe as personas da sua solução. Para tanto, baseie-se tanto nos documentos disponibilizados na disciplina e/ou nos seguintes links: | ||
|
||
> **Links Úteis**: | ||
> | ||
> - [Rock Content](https://rockcontent.com/blog/personas/) | ||
> - [Hotmart](https://blog.hotmart.com/pt-br/como-criar-persona-negocio/) | ||
> - [O que é persona?](https://resultadosdigitais.com.br/blog/persona-o-que-e/) | ||
> - [Persona x Público-alvo](https://flammo.com.br/blog/persona-e-publico-alvo-qual-a-diferenca/) | ||
> - [Mapa de Empatia](https://resultadosdigitais.com.br/blog/mapa-da-empatia/) | ||
> - [Mapa de Stalkeholders](https://www.racecomunicacao.com.br/blog/como-fazer-o-mapeamento-de-stakeholders/) | ||
> | ||
Lembre-se que você deve ser enumerar e descrever precisamente e personalizada todos os clientes ideais que sua solução almeja. | ||
|
||
## Histórias de Usuários | ||
|
||
Com base na análise das personas forma identificadas as seguintes histórias de usuários: | ||
|
||
|EU COMO... `PERSONA`| QUERO/PRECISO ... `FUNCIONALIDADE` |PARA ... `MOTIVO/VALOR` | | ||
|--------------------|------------------------------------|----------------------------------------| | ||
|Ana Clara | Uma forma de identificar se uma agência é realmente confiável | Me sentir mais segura ao contratar seus serviços | | ||
|Ana Clara | Ter um mecanismo eficiente e rápido de comunicação | Que eu possa sanar todas as minhas dúvidas rapidamente | | ||
|
||
Apresente aqui as histórias de usuário que são relevantes para o projeto de sua solução. As Histórias de Usuário consistem em uma ferramenta poderosa para a compreensão e elicitação dos requisitos funcionais e não funcionais da sua aplicação. Se possível, agrupe as histórias de usuário por contexto, para facilitar consultas recorrentes à essa parte do documento. | ||
|
||
> **Links Úteis**: | ||
> - [Histórias de usuários com exemplos e template](https://www.atlassian.com/br/agile/project-management/user-stories) | ||
> - [Como escrever boas histórias de usuário (User Stories)](https://medium.com/vertice/como-escrever-boas-users-stories-hist%C3%B3rias-de-usu%C3%A1rios-b29c75043fac) | ||
> - [User Stories: requisitos que humanos entendem](https://www.luiztools.com.br/post/user-stories-descricao-de-requisitos-que-humanos-entendem/) | ||
> - [Histórias de Usuários: mais exemplos](https://www.reqview.com/doc/user-stories-example.html) | ||
> - [9 Common User Story Mistakes](https://airfocus.com/blog/user-story-mistakes/) | ||
## Requisitos | ||
|
||
As tabelas que se seguem apresentam os requisitos funcionais e não funcionais que detalham o escopo do projeto. | ||
|
||
### Requisitos Funcionais | ||
|
||
|ID | Descrição do Requisito | Prioridade | | ||
|------|-----------------------------------------|----| | ||
|RF-001| A aplicação deve permitir que o usuário avalie uma agência de intercâmbio com base na sua experiência| ALTA | | ||
|RF-002| A aplicação deve permitir que o usuário inclua comentários ao fazer uma avaliação de uma agência de intercâmbio | ALTA | | ||
|RF-003| A aplicação deve permitir que o usuário consulte todas as agências de intercâmbio cadastradas ordenando-as com base em suas notas | ALTA | | ||
|
||
### Requisitos não Funcionais | ||
|
||
|ID | Descrição do Requisito |Prioridade | | ||
|-------|-------------------------|----| | ||
|RNF-001| A aplicação deve ser responsiva | MÉDIA | | ||
|RNF-002| A aplicação deve processar requisições do usuário em no máximo 3s | BAIXA | | ||
|
||
Com base nas Histórias de Usuário, enumere os requisitos da sua solução. Classifique esses requisitos em dois grupos: | ||
|
||
- [Requisitos Funcionais | ||
(RF)](https://pt.wikipedia.org/wiki/Requisito_funcional): | ||
correspondem a uma funcionalidade que deve estar presente na | ||
plataforma (ex: cadastro de usuário). | ||
- [Requisitos Não Funcionais | ||
(RNF)](https://pt.wikipedia.org/wiki/Requisito_n%C3%A3o_funcional): | ||
correspondem a uma característica técnica, seja de usabilidade, | ||
desempenho, confiabilidade, segurança ou outro (ex: suporte a | ||
dispositivos iOS e Android). | ||
Lembre-se que cada requisito deve corresponder à uma e somente uma | ||
característica alvo da sua solução. Além disso, certifique-se de que | ||
todos os aspectos capturados nas Histórias de Usuário foram cobertos. | ||
|
||
## Restrições | ||
|
||
O projeto está restrito pelos itens apresentados na tabela a seguir. | ||
|
||
|ID| Restrição | | ||
|--|-------------------------------------------------------| | ||
|01| O projeto deverá ser entregue até o final do semestre | | ||
|02| Não pode ser desenvolvido um módulo de backend | | ||
|
||
|
||
Enumere as restrições à sua solução. Lembre-se de que as restrições geralmente limitam a solução candidata. | ||
|
||
> **Links Úteis**: | ||
> - [O que são Requisitos Funcionais e Requisitos Não Funcionais?](https://codificar.com.br/requisitos-funcionais-nao-funcionais/) | ||
> - [O que são requisitos funcionais e requisitos não funcionais?](https://analisederequisitos.com.br/requisitos-funcionais-e-requisitos-nao-funcionais-o-que-sao/) | ||
## Diagrama de Casos de Uso | ||
|
||
O diagrama de casos de uso é o próximo passo após a elicitação de requisitos, que utiliza um modelo gráfico e uma tabela com as descrições sucintas dos casos de uso e dos atores. Ele contempla a fronteira do sistema e o detalhamento dos requisitos funcionais com a indicação dos atores, casos de uso e seus relacionamentos. | ||
|
||
As referências abaixo irão auxiliá-lo na geração do artefato “Diagrama de Casos de Uso”. | ||
|
||
> **Links Úteis**: | ||
> - [Criando Casos de Uso](https://www.ibm.com/docs/pt-br/elm/6.0?topic=requirements-creating-use-cases) | ||
> - [Como Criar Diagrama de Caso de Uso: Tutorial Passo a Passo](https://gitmind.com/pt/fazer-diagrama-de-caso-uso.html/) | ||
> - [Lucidchart](https://www.lucidchart.com/) | ||
> - [Astah](https://astah.net/) | ||
> - [Diagrams](https://app.diagrams.net/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
|
||
# Metodologia | ||
|
||
<span style="color:red">Pré-requisitos: <a href="2-Especificação do Projeto.md"> Documentação de Especificação</a></span> | ||
|
||
Descreva aqui a metodologia de trabalho do grupo para atacar o problema. Definições sobre os ambiente de trabalho utilizados pela equipe para desenvolver o projeto. Abrange a relação de ambientes utilizados, a estrutura para gestão do código fonte, além da definição do processo e ferramenta através dos quais a equipe se organiza (Gestão de Times). | ||
|
||
## Controle de Versão | ||
|
||
A ferramenta de controle de versão adotada no projeto foi o | ||
[Git](https://git-scm.com/), sendo que o [Github](https://github.com) | ||
foi utilizado para hospedagem do repositório. | ||
|
||
O projeto segue a seguinte convenção para o nome de branches: | ||
|
||
- `main`: versão estável já testada do software | ||
- `unstable`: versão já testada do software, porém instável | ||
- `testing`: versão em testes do software | ||
- `dev`: versão de desenvolvimento do software | ||
|
||
Quanto à gerência de issues, o projeto adota a seguinte convenção para | ||
etiquetas: | ||
|
||
- `documentation`: melhorias ou acréscimos à documentação | ||
- `bug`: uma funcionalidade encontra-se com problemas | ||
- `enhancement`: uma funcionalidade precisa ser melhorada | ||
- `feature`: uma nova funcionalidade precisa ser introduzida | ||
|
||
Discuta como a configuração do projeto foi feita na ferramenta de versionamento escolhida. Exponha como a gerência de tags, merges, commits e branchs é realizada. Discuta como a gerência de issues foi realizada. | ||
|
||
> **Links Úteis**: | ||
> - [Tutorial GitHub](https://guides.github.com/activities/hello-world/) | ||
> - [Git e Github](https://www.youtube.com/playlist?list=PLHz_AreHm4dm7ZULPAmadvNhH6vk9oNZA) | ||
> - [Comparando fluxos de trabalho](https://www.atlassian.com/br/git/tutorials/comparing-workflows) | ||
> - [Understanding the GitHub flow](https://guides.github.com/introduction/flow/) | ||
> - [The gitflow workflow - in less than 5 mins](https://www.youtube.com/watch?v=1SXpE08hvGs) | ||
## Gerenciamento de Projeto | ||
|
||
### Divisão de Papéis | ||
|
||
Apresente a divisão de papéis entre os membros do grupo. | ||
|
||
> **Links Úteis**: | ||
> - [11 Passos Essenciais para Implantar Scrum no seu | ||
> Projeto](https://mindmaster.com.br/scrum-11-passos/) | ||
> - [Scrum em 9 minutos](https://www.youtube.com/watch?v=XfvQWnRgxG0) | ||
### Processo | ||
|
||
Coloque informações sobre detalhes da implementação do Scrum seguido pelo grupo. O grupo poderá fazer uso de ferramentas on-line para acompanhar o andamento do projeto, a execução das tarefas e o status de desenvolvimento da solução. | ||
|
||
> **Links Úteis**: | ||
> - [Project management, made simple](https://github.com/features/project-management/) | ||
> - [Sobre quadros de projeto](https://docs.github.com/pt/github/managing-your-work-on-github/about-project-boards) | ||
> - [Como criar Backlogs no Github](https://www.youtube.com/watch?v=RXEy6CFu9Hk) | ||
> - [Tutorial Slack](https://slack.com/intl/en-br/) | ||
### Ferramentas | ||
|
||
As ferramentas empregadas no projeto são: | ||
|
||
- Editor de código. | ||
- Ferramentas de comunicação | ||
- Ferramentas de desenho de tela (_wireframing_) | ||
|
||
O editor de código foi escolhido porque ele possui uma integração com o | ||
sistema de versão. As ferramentas de comunicação utilizadas possuem | ||
integração semelhante e por isso foram selecionadas. Por fim, para criar | ||
diagramas utilizamos essa ferramenta por melhor captar as | ||
necessidades da nossa solução. | ||
|
||
Liste quais ferramentas foram empregadas no desenvolvimento do projeto, justificando a escolha delas, sempre que possível. | ||
|
||
> **Possíveis Ferramentas que auxiliarão no gerenciamento**: | ||
> - [Slack](https://slack.com/) | ||
> - [Github](https://github.com/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
|
||
# Projeto de Interface | ||
|
||
<span style="color:red">Pré-requisitos: <a href="2-Especificação do Projeto.md"> Documentação de Especificação</a></span> | ||
|
||
Visão geral da interação do usuário pelas telas do sistema e protótipo interativo das telas com as funcionalidades que fazem parte do sistema (wireframes). | ||
|
||
Apresente as principais interfaces da plataforma. Discuta como ela foi elaborada de forma a atender os requisitos funcionais, não funcionais e histórias de usuário abordados nas <a href="2-Especificação do Projeto.md"> Documentação de Especificação</a>. | ||
|
||
## Diagrama de Fluxo | ||
|
||
O diagrama apresenta o estudo do fluxo de interação do usuário com o sistema interativo e muitas vezes sem a necessidade do desenho do design das telas da interface. Isso permite que o design das interações seja bem planejado e gere impacto na qualidade no design do wireframe interativo que será desenvolvido logo em seguida. | ||
|
||
O diagrama de fluxo pode ser desenvolvido com “boxes” que possuem internamente a indicação dos principais elementos de interface - tais como menus e acessos - e funcionalidades, tais como editar, pesquisar, filtrar, configurar - e a conexão entre esses boxes a partir do processo de interação. Você pode ver mais explicações e exemplos https://www.lucidchart.com/blog/how-to-make-a-user-flow-diagram. | ||
|
||
 | ||
|
||
As referências abaixo irão auxiliá-lo na geração do artefato “Diagramas de Fluxo”. | ||
|
||
> **Links Úteis**: | ||
> - [Fluxograma online: seis sites para fazer gráfico sem instalar nada | Produtividade | TechTudo](https://www.techtudo.com.br/listas/2019/03/fluxograma-online-seis-sites-para-fazer-grafico-sem-instalar-nada.ghtml) | ||
## Wireframes | ||
|
||
 | ||
|
||
São protótipos usados em design de interface para sugerir a estrutura de um site web e seu relacionamentos entre suas páginas. Um wireframe web é uma ilustração semelhante do layout de elementos fundamentais na interface. | ||
|
||
> **Links Úteis**: | ||
> - [Protótipos vs Wireframes](https://www.nngroup.com/videos/prototypes-vs-wireframes-ux-projects/) | ||
> - [Ferramentas de Wireframes](https://rockcontent.com/blog/wireframes/) | ||
> - [MarvelApp](https://marvelapp.com/developers/documentation/tutorials/) | ||
> - [Figma](https://www.figma.com/) | ||
> - [Adobe XD](https://www.adobe.com/br/products/xd.html#scroll) | ||
> - [Axure](https://www.axure.com/edu) (Licença Educacional) | ||
> - [InvisionApp](https://www.invisionapp.com/) (Licença Educacional) |
Oops, something went wrong.