Pràctica projecte disseny modular

(*) cognom1nom i cognom2nom fan referència al primer cognom i el nom de cada integrant del grup, en ordre alfabètic.

Gestor de dades

L'objectiu d'aquesta pràctica és implementar un programa de gestió d'informació.

Aquest enunciat és un exemple, podeu realitzar aquest o pensar algun tema que us interesse. En cas de realizar un projecte diferent,
cal que acordeu amb el formador els requeriments mínims que el vostre projecte ha de tindre.

Exemple: Fútbol

En aquest exemple, s'ha d'implantar un programa per gestionar equips i partits de futbol. El programa constarà d'un menú on l'usuari pot triar
les diferent accions que permet el nostre programa.

Menús

En aquest paquet cal implementar les classes corresponents a l'interfície d'usuari, que en aquesta aplicació, serà per consola.

Cal implementar un menu principal semblant al següent exemple, i els diferents submenús que podem trobar.

Benvinguts a NOM_PROGRAMA.
Quina operació vol realitzar?
1) Dades
2) Estadístiques
3) Classificació
...
0) Sortir

Cada una d'aquestes opcions ha de mostrar un altre submenú, amb les opcions de cada apartat.

Menú DADES
1) Introduir equip
2) Introduir partit
...
0) Sortir

Dades

El programa ha d'emmagatzenar les diferents dades i s'han d'implementar les diferents accions per manipular-les.

Estadístiques

En aquest apartat el programa ens mostrara estadístiques dels equips i partits.

Classificació

En aquest apartat es mostra la classificació, ordenada per punts.

També es pot incloure més informació: victories/empats/derrotes, gols total/favor/contra, …

Classificació 2020/2021
#  EQUIP        PUNTS
1. València         7
2. Barcelona        4
...

Estructura de packages

Càlcul de la nota

La nota tindrà en compte les funcionalitats desenvolupades (funcionalitats) i com s'han desenvolupat (requisits).
Per calcular la nota primer es calcularà la nota segons les funcionalitats, on cada funcionalitats té un cert pes. Aquesta nota es calcula independentment de com s'hagi escrit el codi. Per calcular la nota final es multiplicarà la nota de les funcionalitats per el factor de requisits.

Pots decargar-te la següent fulla de càcul per calcular la nota.

Si tenim que:

La nota es pot calcular amb les següents formules:

nota_funcionalitats=i=1nnotafuncionalitatiponderaciofuncionalitatifactor_requisits=i=1n(1poderaciorequisitsi)+(poderaciorequisitsinotarequisitsi)nota_final=nota_funcionalitatsfactor_requisitsnota\_funcionalitats = \sum_{i=1}^{n} nota_{funcionalitat_{i}}\cdot ponderacio_{funcionalitat_{i}} \\ factor\_requisits = \prod_{i=1}^n (1-poderacio_{requisits_{i}})+(poderacio_{requisits_{i}} \cdot nota_{requisits_{i}}) \\ nota\_final = nota\_funcionalitats \cdot factor\_requisits

Taules de ponderacions

Funcionalitas

MenuˊCRUD DadesEstadıˊstiquessimplesEstadıˊstiquescomplexes2332\begin{array}{|c|c|c|c|} \hline Menú & CRUD\ Dades & Estadístiques_{simples} & Estadístiques_{complexes}\\ \hline 2 & 3 & 3 & 2 \\ \hline \end{array}

Requisits

FuncionsClassesFuncions a classesNamingClaredat del codi0.70.40.20.30.3\begin{array}{|c|c|c|c|c|} \hline Funcions & Classes & Funcions\ a\ classes & Naming & Claredat\ del\ codi\\ \hline 0.7 & 0.4 & 0.2 & 0.3 & 0.3 \\ \hline \end{array}