Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 4 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,17 @@
<h2><a href= "https://www.mackenzie.br">Universidade Presbiteriana Mackenzie</a></h2>


# Template para Disciplina de Engenharia de Software
# Projeto: *Escola Infinito: Sistema de Presença*

O repositório define um modelo (*template*) que deverá ser seguido por cada grupo no projeto.

A seguir, os passos para a preparação do projeto:

1. Um dos membros do grupo deverá realizar um *fork* deste repositório.
2. O dono do repositório deverá convidar os demais membros do grupo para serem colaboradores.
3. O dono do repositório deverá convidar o professor para ser colaborador do repositório.
4. O dono do repositório deverá habilitar o GitHub Pages. Basta seguir o [procedimento para habilitar o GitHub Pages](https://docs.github.com/pt/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site), lembrando de escolher em *Source* a opção `/docs` em lugar da opção `/root`.
5. Cada membro do grupo deverá instalar o [Git](https://git-scm.com/downloads).
6. Para a edição do conteúdo deste projeto, sugere-se que cada membro do grupo faça a instalação do [Visual Studio Code](https://code.visualstudio.com/) com as extensões [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) e [GitHub Pull Requests and Issues](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github). No entanto, cada membro poderá utilizar a IDE de sua preferência.
7. Cada membro do grupo deverá [clonar o repositório do grupo no seu computador](https://learn.microsoft.com/en-us/azure/developer/javascript/how-to/with-visual-studio-code/clone-github-repository?tabs=create-repo-command-palette%2Cinitialize-repo-activity-bar%2Ccreate-branch-command-palette%2Ccommit-changes-command-palette%2Cpush-command-palette).
8. Cada membro do grupo deverá editar o seu próprio nome no arquivo em [/docs/index.md](./docs/index.md), de preferência [criando um novo *branch* e um *pull request*](https://www.youtube.com/watch?v=LdSwWxVzUpo).
9. O dono do repositório deverá editar este arquivo, removendo estas instruções iniciais e preenchendo o restante da página com os dados do projeto do seu grupo.
10. Segurança é imprescindível nas plataforma de hospedagem de repositórios GIT. CUIDADO com exposição de senha e acesso ao repositório.


# Projeto: *<Nome_do_seu_Projeto>*

# Grupo: *<Nome_do_seu_Grupo>*
# Grupo: *SOS*

# Descrição

*<Descrição_resumida_do_projeto>*
Este projeto consiste nas mais diversas etapas da implementação de um sistema de presença em uma escola do ensino fundamental, estendendo-se desde o levantamento de informações competentes ao sistema, como por exemplo os casos de uso, objetivos funcionais, não funcionais e atores, até mesmo o planejamento estrutural e sequencial dos componentes necessários para o bom funcionamento do sistema. O planejamento supracitado se expressa majoritariamente através de diagramas UML e suas respectivas descrições.

# Documentação

Os arquivos da documentação deste projeto estão na pasta [/docs](/docs), e o seu conteúdo é publicado em **https://<usuario>.github.io/UML-Classroom-FCI/blob/master/docs/index.md**


Os arquivos da documentação deste projeto estão na pasta [/docs](/docs), e o seu conteúdo é publicado em **https://lihviaa.github.io/UML-Classroom-FCI/**

# Releases

Expand Down
94 changes: 77 additions & 17 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<h2><a href= "https://www.mackenzie.br">Universidade Presbiteriana Mackenzie</a></h2>
<h3><a href= "https://www.mackenzie.br/graduacao/sao-paulo-higienopolis/sistemas-de-informacao">Sistemas de Informação</a></h3>
<h3><a href= "https://www.mackenzie.br/graduacao/sao-paulo-higienopolis/ciencia-da-computacao">Ciência da Computação</a></h3>


<font size="+12"><center>
*&lt;Nome do Projeto&gt;*
<h1>Escola Infinito: Sistema de Presença</h1>
</center></font>

>*Observação 1: A estrutura inicial deste documento é só um exemplo. O seu grupo deverá alterar esta estrutura de acordo com o que está sendo solicitado na disciplina.*
Expand All @@ -12,7 +12,7 @@

**Conteúdo**

- [Autores](#nome-alunos)
- [Autores](#nome-aluno)
- [Descrição do projeto](#introdução-do-projeto)
- [Análise de requisitos funcionais e não-fucionais](#descrição-dos-requisitos)
- [Diagrama de casos de uso](#diagrama-de-comportamento-atores)
Expand All @@ -27,30 +27,87 @@

# Autores

* Aluno 1
* Aluno 2
* Aluno 3
* Aluno 4
* Aluno 5
* Aluno 6
* Aluno 7
* Aluno 8

* Diogo Lourenzon Hatz
* Leila Akina Ino
* Livia Alabarse dos Santos

# Descrição do projeto

*&lt;Introdução do projeto&gt;*
*Este projeto consiste na implementação de um sistema para controlor a preseça de alunos de uma escola que possui múltiplas turmas do Ensino Fundamental I. Esse sistema possui como usuário principal os professores do instituto de ensino Inifinito, o qual leva em consideração as eventuais necessidades de acessibilidade de seus docentes. Ademais, por se tratar de uma atividade rotineira acadêmica dos docentes, o sistema implementado deve ser intuitivo e cumprir com seu papel fundamental sem complicações*

# Análise de requisitos funcionais e não-funcionais
*&lt;Descrição dos requisitos&gt;*

<h3>Requisitos funcionais:</h3>

<ol>
<li>Realizar a chamada de todas as turmas em dois momentos do dia</li>
<li>Gerar relatórios de faltas agrupados por data, ano do ensino, turma, professor, disciplina ou aluno</li>
<li>Enviar notificações por e-mail para pais ou responsáveis nos casos em que o comparecimento às aulas dadas até o momento estiverem abaixo de 80%</li>
<li>Acessibilidade: tamanho de fonte ajustável, dentre outros</li>
<li>Reprovar os alunos com mais de 25% de faltas do total de aulas ministradas</li>
</ol>

<h3>Requisitos não-funcionais:</h3>

<ol>
<li>O sistema deve ser implementado em web: HTML, CSS e JS</li>
<li>O sistema deve permitir múltiplos acessos simultâneos</li>
<li>O sistema deve ser compatível com todos os navegadores web</li>
<li>O sistema deve ser compatível com dispositivos móveis</li>
<li>O sistema deve se comunicar com um banco de dados</li>
<li>O usuário deve escolher uma senha com no mínimo 6 caracteres alfanuméricos, contendo peolo menos 1 letra maiúscula e 1 caractere especial</li>
<li>O sistema semanalmente verificará de forma automática as porcentagens de comparecimento a partir de um relatório individual gerado e enviará uma notificação aos pais caso o comparecimento esteja abaixo de 80%. Essa verificação ocorrerá de sabádo.</li>
</ol>

# Diagrama de casos de uso

*&lt;Diagrama para visualizar o comportamento dos atores&gt;*
<img src="https://github.com/lihviaa/UML-Classroom-FCI/blob/Branch-Diogo/src/Diagrama%20de%20casos%20de%20uso.png" alt="Diagrama de casos de uso">

# Descrição dos casos de uso

*&lt;Descrição do comportamento entre os atores/resquisitos&gt;*
<h2>Caso do Uso: Fazer a Chamada</h2>
<b>Descrição Geral:</b> O professor deseja realizar a chamada de uma determinada turma<br>
<b>Atores:</b> Professor<br>
<b>Pré-Condição:</b> O professor deve realizar login no sistema<br>
<b>Pós-Condição:</b> A chamada é feita e enviada para o banco de dados<br>
<b>Fluxo Básico (Professor deseja realizar a chamada)</b>
<ol>
<li>(Opcional) Professor seleciona o ícone de acessibilidade e altera o tamanho da fonte</li>
<li>Professor seleciona a opção de fazer a chamada</li>
<li>Professor faz a chamada e envia o resultado ao banco de dados</li>
</ol>

<hr>

<h2>Caso do Uso: Gerar Relatórios de Faltas</h2>
<b>Descrição Geral:</b> O professor deseja gerar relatórios de faltas com determinado critério de agrupamento<br>
<b>Atores:</b> Professor<br>
<b>Pré-Condição:</b> O professor deve realizar login no sistema<br>
<b>Pós-Condição:</b> O relatório é gerado<br>
<b>Fluxo Básico (Professor deseja gerar relatório de faltas)</b>
<ol>
<li>(Opcional) Professor seleciona o ícone de acessibilidade e altera o tamanho da fonte</li>
<li>Professor seleciona a opção de gerar relatórios</li>
<li>Professor seleciona o critério de agrupamento do relatório</li>
<li>Sistema gera o relatório</li>
</ol>

<h2>Caso do Uso: Verificar porcentagem de presença</h2>
<b>Descrição Geral:</b> O sistema verifica a porcentagem de comparecimento e notifica os pais caso a porcentagem esteja abaixo de 80%<br>
<b>Atores:</b> Pais e responsáveis<br>
<b>Pré-Condição:</b>Ser sábado<br>
<b>Pós-Condição:</b> Nada ou notificação aos pais e responsáveis<br>
<b>Fluxo Básico (Verificar porcentagem de comparecimento)</b>
<ol>
<li>Sistema gera um relatório para cada aluno</li>
<li>Sistema verifica a falta do aluno</li>
</ol>

<b>Fluxo Alternativo (Uma notificação é enviada aos responsáveis de alunos com excesso de faltas)</b>
<ol>
<li>Sistema gera um relatório para cada aluno</li>
<li>Sistema verifica a falta do aluno</li>
<li>E-mail é enviado aos responsáveis dos alunos com excesso de faltas</li>
</ol>

# Diagrama de sequencia

Expand All @@ -75,3 +132,6 @@
# Referências

*&lt;Lista de referências&gt;*
<ul>
<li>https://www.lucidchart.com/pages/pt/diagrama-de-caso-de-uso-uml</li>
</ul>
Binary file added src/Diagrama de casos de uso.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.