Want to create interactive content? It’s easy in Genially!
Progetto_SW
rizzi70
Created on March 22, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
<Progetto Sw
Made by:Avanzi Mathias, Ennadi Adam, Rizzi Thomas, Salami Matteo >Istituto tecnico "E. Fermi" modena
START >
Indice
>
>
01
02
00
Obiettivi
Software utlizzati
Funzionamento programma
04
03
05
Allegato C
Allegato A
Allegati
06
08
07
Allegato B
Conclusione
Allegato D
>
>
<Obiettivi>
I "Targets" che ci siamo dati
Registro creare un programma, che funzioni come un registro elettronico scolastico che esegua comandi e mostri risultati sul terminale in esecuzione
Applicazione incrementare il programma con le conoscenze studiate in python , csv
Collaborazione attraverso il lavoro di squadra, suddivisione dei compiti e confronto riuscire ad arrivare all'obiettivo del progetto
>
>
<01> funzionamento software
Riassunto del problema e la sua descrizione
start >
>
>
// Qual è il problema?
Si vuole creare un registro elettronico che sia in grado di memorizzare più classi, i dati generali dello studente e i suoi voti.Tutto diviso in varie classi. Cliccare sull'immagine per intuire meglio il funziomento del registro
>
>
// come abbiamo inizialmente affrontato la creazione del software
All'inizio del lavoro, abbiamo riscontrato più problemi con la strutturazione dei dati e delle funzioni.Cercando di capire il metodo più efficiente per creare un software completo e comprensibile.
>
>
Confrontandoci al meglio e siamo arrivati alla conclusione di usare i file CSV in tutto il programma per lettura e scrittura, e utilizzare un metodo fornito dalla libreria Pandas che restituisce indietro un dizionario.I dati che inserirà l'utente verranno trascritti subito sul file CSV e i dizionari del programma verranno subito aggiornati rileggendo subito il file.
>
>
<02> strumenti utilizzati
Di seguito troverete gli strumenti che abbiamo utilizzato per il progetto
START >
>
>
// Genially
Sito "grafico" che ci permette di creare contenuti,progetti,presentazioni..Abbiamo usato Genially per creare questa presentazione. -->se cliccate sull'immagine vi porterà al sito
//Discord
Piattaforma interattiva per comunicare durante il lavoro insieme a Pycharm Pro. <--se cliccate sull'immagine vi porterà al sito per installare l'applicazione
>
>
//W3School
//Goggle Meet
// programmarepython.it
Piattaforma di comunicazione per lavorare in contemporanea e parlare mettendosi d'accordo sul lavoro da fare.
Sito come W3School che ci ha permesso di strutturare meglio il programma.
Sito per cercare comandi e capire meglio alcune funzioni per usare al meglio Pycharm.
>
>
// PyCharm Pro
Software che ci permette di lavorare sullo stesso file in tempo reale e permettendo inoltre di comunicare tramite chiamata.L'abbiamo usato per la creazione del nostro registro. Con le sue funzioni abbiamo potuto implementare il nostro progetto con file CSV e grafici .
+info
>
>
<03> Allegati
Di seguito troverete gli allegati con le informazioni sul progetto
START >
>
>
'Allegato C'
- "Documento sal"
>
>
// Il Nostro diario di bordo
Se cliccherete il link vedrete una timeline semplificata dei lavori fatti durante il progetto
Clicca!
>
>
La nostra suddivisione dei compiti...
// RIzzi: lo studente si è occupato delle funzioni dello studente: -Visualizzazione Andamento Materia; -Visualizzazione Pagella; -costruzione della relazione.
// Avanzi: Si è occupato della struttura principale dei dati e del programma principale : -Login; -Inserimento Nuovi Studenti; -Inserimento Voti; -Andamento Studenti.
// ENNADI: Ennadi Si è occupato della funzioni: -Confronto(professore); -Visualizzazione andamento degli ultimi 5 voti(studente); -aiuto nella progettazione della relazione.
// Salami: si è impiegato nella progettazione Con Avanzi per la struttura while e compilazione dei fogli csv. Ha realizzato: -Aiuto nella realizzazione del programma principale -Debito; -Scrutinio; -aiuto nella progettazione della "relazione".
>
>
// Allegato C
Se cliccate sul pulsante vi porterà al nostro allegato "C" dove potrete trovare gli avanzamenti del gruppo sul progetto, della suddivisione dei compiti e il lavoro assegnato a ciascun membro in modo più preciso e accurato
ALLEGATO C
>
>
'Allegato A'
- "STRUTTURA SOFTWARE"
>
>
Ecco come è stato pensato il registro e come è stato strutturato
START >
>
>
// Struttura Software
While
Il programma è stato strutturato sulla base di tre cicli while, i quali permettono di visualizzare i tre Menù,. Questi ultimi due verranno proposti a seconda di quello che l’utente ha inserito per l’accesso.
>
>
// Selettore
La variabile per accedere ai while sarà “selettore” , cioè in base al suo valore eseguirà specifici comandi .
>
>
// Controlli e file csv
Per tutto il programma saranno presenti poi dei controlli per permettere all’utente di inserire valori più o meno simili tra loro, come maiuscole ecc.. Il programma perciò funzionerà solo se riuscirà ad accedere ai file, verificato utilizzando try - except con errore FileNotFound.
>
>
// Le funzioni
Il funzionamento del programma deriverà tutto dalla funzione carica_dati_studenti, che utilizza un metodo pandas per caricare e leggere i dati del file CSV sotto forma di dizionario. La funzione perciò, comunicando solo con il file CSV, non avrà bisogno di parametri.
+info
>
>
// Login
La funzione controllerà, a seconda della tipologia dell’utente, i dizionari richiesti e andrà a verificare su di essi che il cognome, la password e la tipologia dell’utente siano quelle corrette, verificando sul dizionario la presenza effettiva del cognome dell’utente e se la sua password corrisponde.
>
>
Funzioni studente
Funzioni Professore
Inserimento voti
Inserimento studenti
Visualizzazione Andamento Materia
Debito
Andamento studente
Visualizzazione Pagella
Confronto
Pagella
Visualizzazione Andamento degli ultimi 5 voti
>
>
// Allegato A
Se cliccate sul pulsante vi porterà al nostro allegato "A" dove potrete trovare le funzioni svolte da ogni componente del gruppo sul progetto, della spiegazione delle funzioni e della struttura del software principale.
ALLEGATO A
>
>
'Allegato B'
- "Codice sorgente"
>
>
Di seguito troverete un link con il codice sorgente
START >
>
>
CODICE SORGENTE
File CSV professori
Il codice sorgente potrà essere scaricato attraverso il link, lo troverete commentato per ogni funzione e insieme a ciò anche i file CSV necessari per la riuscita del programma
File CSV 3H
File CSV 3M
CODICE SORGENTE
>
>
'Allegato D'
- "Test e analisi"
>
>
// Funzione di test
La funzione di test è una funzione dove andranno chiamate tutte le altre funzioni, e a seconda di quale funzione vorrà vedere l'utente.Ci sarà un confronto dove sappiamo cosa ci dovrà tornare e se proprio il return,della funzione di confronti con quella originale, ci darà true vuol dire che le due funzioni saranno uguali altrimenti no.
Funzione test
>
Grazie per l'attenzione
La funzione pagella stampa a terminale attraverso prima l'unione delle 2 classi e l'utilizzo dei dizionari coi dati (voti) tutte le medie delle materie degli studenti e anche la media generale di ogni studente a dx.
Questa funzione ci permetterà di visualizzare l’andamento degli ultimi 5 voti presi dallo studente in una determinata materia da lui specificata attraverso un grafico lineare.
// Estensioni
Pycharm ci ha permesso con le funzioni "aggiuntive" di lavorare anche con i file CSV, e creare grafici con Matplotlib.
La funzione permetterà di inserire nuovi studenti nella classe desiderata, andando a scrivere i nuovi dati permanentemente nel file CSV, accedendo al file nella modalità ‘a’ (add), per andare ad aggiungere una nuova riga nel file CSV.
Per la visualizzaione pagella si userà sempre una funzione dove ci sarà una lista vuota dove ci andranno le medie calcolate e una lista "fissa" per tirare fuori i voti.
la funzione “visualizzazione andamento materia” ci permetterà di visualizzare attraverso un grafico lineare l’andamento che lo studente inserirà attraverso un input.
Descrizione del problema
Il registro che vogliamo creare, dovrà avere inizialmente una fase di login dove l'utente sceglierà se essere professore o studente, inserendo con il login anche una password.Cliccare sulla frase in blu per capire il funzionamento che l'utente può fare da professore o da studente.
cosa ci permetteranno di fare i due menù?
La funzione Confronto farà visualizzare al professore tre grafici uno di confronto tra le medie totali delle classi uno di confronto tra il numero di studenti insufficienti di entrambe le classi nella sua materia e infine un grafico a torta che mostrerà il numero di studenti in una certa fascia(rispetto alla media dello studente). Clicca per vedere la funzione scritta ---->
La funzione permette di mostrare al professore gli studenti della classe selezionata con il debito , e anche di che voto ha bisogno lo studente per recuperare la materia del professore
// I dati saranno suddivisi quindi:
In dati_3h, dati_3m, (ritornati dalla funzione) e dati_professori (il caricamento dei dati dei professori avverrà esternamente alla funzione in quanto non servirà più di una volta). Per i primi due, essendo che i file CSV vedono tutto come stringa, si è cercato di trasformare direttamente al caricamento dei dati la scrittura dei voti dei singoli studenti che la successiva lettura possa essere più facile
La funzione permetterà di visualizzare come uno studente stia andando nella materia del professore, mostrandone i voti e la media. La funzione perciò non farà altro che elaborare i dati già presenti nelle liste di voti, nel dizionario della classe corretta.
La funzione permetterà di inserire un nuovo voto allo studente desiderato, della materia del prof che ha fatto l’accesso. La funzione prenderà come parametri la classe , il cognome dello studente, il voto da aggiungere, il professore e i dati del professore . Saranno presenti inoltre vari controlli per verificare la correttezza dei dati inseriti.