mirror of
https://github.com/Steffo99/sophon.git
synced 2025-01-07 06:19:46 +00:00
🎓 Complete chapter 4 draft
This commit is contained in:
parent
7cdf7c0270
commit
45d8f4457a
2 changed files with 67 additions and 80 deletions
|
@ -26,14 +26,6 @@ Obiettivo della tesi
|
|||
|
||||
L'obiettivo di questa tesi è quello di descrivere lo sviluppo dell'applicativo "*Sophon*", realizzato con il fine di semplificare l'utilizzo di `Jupyter` in ambiente universitario.
|
||||
|
||||
In particolare, l'obiettivo di Sophon è quello di:
|
||||
|
||||
* essere **intuitivo** da utilizzare;
|
||||
* permettere a più utenti remoti di lavorare **simultaneamente** sullo stesso notebook;
|
||||
* permettere l'**utilizzo dei server dell'Università**;
|
||||
* essere un software **open source** sia nel senso di "**gratuito**" sia nel senso di "**libero**";
|
||||
* essere **facilmente estendibile** in futuro, qualora fossero necessarie funzionalità aggiuntive o integrazioni con software esterni.
|
||||
|
||||
|
||||
.. index::
|
||||
single: struttura della tesi
|
||||
|
|
|
@ -2,98 +2,93 @@
|
|||
Requisiti
|
||||
*********
|
||||
|
||||
.. todo::
|
||||
Sophon è stato realizzato per fornire un'alternativa al `progetto JupyterHub <Hosting on-premises>` con i seguenti requisiti:
|
||||
|
||||
Perchè è stato realizzato Sophon?
|
||||
|
||||
|
||||
Sicurezza
|
||||
=========
|
||||
|
||||
.. todo::
|
||||
|
||||
Gli utenti non autorizzati non devono poter accedere ai dati degli utenti autorizzati.
|
||||
|
||||
.. todo::
|
||||
|
||||
I tentativi di attacco da parte di un attore malizioso devono essere facili da sventare.
|
||||
|
||||
.. todo::
|
||||
|
||||
I notebook degli utenti non devono poter interferire uno con l'altro.
|
||||
|
||||
|
||||
Intuibilità
|
||||
===========
|
||||
|
||||
.. todo::
|
||||
|
||||
L'interfaccia utente deve essere comprensibile all'utente medio senza aver bisogno di leggere una guida.
|
||||
|
||||
.. todo::
|
||||
|
||||
L'interfaccia utente deve usare design patterns comuni e familiari all'utente medio.
|
||||
|
||||
|
||||
Trasparenza
|
||||
===========
|
||||
|
||||
.. todo::
|
||||
|
||||
I dettagli tecnici dell'implementazione del software devono essere nascosti all'utente, che è interessato solo a usare Jupyter.
|
||||
|
||||
|
||||
Possibilità di collaborazione
|
||||
=============================
|
||||
|
||||
.. todo::
|
||||
|
||||
Il software deve permettere agli utenti autorizzati di collaborare in tempo reale sullo stesso notebook.
|
||||
|
||||
.. todo::
|
||||
|
||||
Il software deve facilitare le interazioni all'interno del gruppo, complicarle.
|
||||
|
||||
|
||||
Personalizzabilità
|
||||
==================
|
||||
|
||||
.. todo::
|
||||
|
||||
La piattaforma di gestione deve essere personalizzabile da ogni utilizzatore, in modo che ci possa inserire il suo brand.
|
||||
|
||||
.. todo::
|
||||
|
||||
L'ambiente di lavoro deve essere interamente personalizzabile, come se l'utente del notebook stesse eseguendo il notebook sul suo stesso PC.
|
||||
* più facile `estendibilità <Estendibilità>`
|
||||
* `security <Sicurezza>` by default
|
||||
* interfaccia grafica `facile ed intuibile <Intuibilità>`
|
||||
* maggiore `possibilità di collaborazione <Possibilità di collaborazione>`
|
||||
* codice `open source <Open source>`
|
||||
* `possibilità di personalizzazione <Personalizzabilità>`
|
||||
* completa `accessibilità <Accessibilità>`
|
||||
|
||||
|
||||
Estendibilità
|
||||
=============
|
||||
|
||||
.. todo::
|
||||
Aggiungere nuove funzionalità al software deve essere facile, e non richiedere ristrutturazioni profonde del codice.
|
||||
|
||||
Inoltre, il software deve essere modulare, in modo da semplificare l'aggiornamento, la sostituzione e la eventuale rimozione di componenti.
|
||||
|
||||
Infine, il software deve esporre un'interfaccia alla quale altri software esterni possono connettersi per interagirvi come se fossero un utente.
|
||||
|
||||
|
||||
Sicurezza
|
||||
=========
|
||||
|
||||
I dati immagazzinati all'interno del software non devono essere accessibili agli utenti non autorizzati.
|
||||
|
||||
Inoltre, tentativi di ingannare gli utenti del software devono essere resi più difficili possibile, riducendo il fattore umano delle falle di sicurezza.
|
||||
|
||||
Non si reputa importante impedire agli utenti di comunicare con Internet all'interno delle loro ricerche, in quanto si ritiene che essi siano utenti fidati; qualora ne sorga la necessità, ciò deve essere possibile senza ristrutturazione del codice.
|
||||
|
||||
|
||||
Intuibilità
|
||||
===========
|
||||
|
||||
Il modo in cui utilizzare l'interfaccia utente del software deve essere intuibile all'utente medio, senza che abbia bisogno di leggere alcuna guida o manuale.
|
||||
|
||||
A tale scopo, l'interfaccia grafica deve utilizzare design patterns comuni e familiari all'utente medio.
|
||||
|
||||
In aggiunta, i dettagli implementativi devono essere nascosti all'utente, in modo che possa concentrarsi sull'utilizzare il notebook.
|
||||
|
||||
|
||||
Personalizzabilità
|
||||
==================
|
||||
|
||||
Il software deve permettere all'utente di personalizzare il suo workflow senza alcuna limitazione, che venga fatto tramite plugin, configurazioni speciali o modifica di file dell'ambiente di lavoro, assicurando che i workflow personalizzati di un utente non possano interferire con quelli degli altri.
|
||||
|
||||
Inoltre, il software deve inoltre permettere all'amministratore di personalizzare nome e aspetto mostrati agli utenti nell'interfaccia grafica, in modo che essa possa essere adattata al brand dell'istituzione che utilizza il progetto.
|
||||
|
||||
|
||||
Possibilità di collaborazione
|
||||
=============================
|
||||
|
||||
Il software deve permettere agli utenti di collaborare sui notebook in tempo reale, come all'interno dei `web-based editor <Web-based editor>`.
|
||||
|
||||
Nuove funzionalità devono essere facili da implementare all'interno del software, qualsiasi sia la loro forma.
|
||||
|
||||
.. todo::
|
||||
|
||||
Il software deve essere modulare, in modo tale da semplificare significativamente la rimozione o scrittura di una delle sue parti.
|
||||
Il software deve facilitare le interazioni all'interno del gruppo, e non complicarle. (Preludio al meccanismo di locking)
|
||||
|
||||
|
||||
Open source
|
||||
===========
|
||||
|
||||
.. todo::
|
||||
Il software deve essere open source nella sua interezza.
|
||||
|
||||
Il codice sorgente deve essere liberamente consultabile da chiunque, per i curiosi e chi è in grado di migliorarlo.
|
||||
In pieno spirito collaborativo, il codice sorgente deve essere liberamente consultabile, modificabile, utilizzabile e condivisibile da chiunque, sia per soddisfare la curiosità degli utenti, sia per permetterne lo studio e il miglioramento.
|
||||
|
||||
.. todo::
|
||||
|
||||
In pieno spirito collaborativo, il progetto deve essere liberamente modificabile e utilizzabile da chiunque.
|
||||
Tutte le modifiche al codice sorgente devono essere disponibili agli utenti del software modificato, in modo che possano verificare l'affidabilità del software che utilizzano.
|
||||
|
||||
|
||||
Responsività
|
||||
============
|
||||
|
||||
.. todo::
|
||||
Il software deve essere utilizzabile almeno in parte da schermi di dimensione ridotta, come quelli di un cellulare.
|
||||
|
||||
Il software deve essere utilizzabile da cellulare, ove possibile.
|
||||
Pertanto, gli elementi dell'interfaccia devono essere disposti in modo che non escano dallo schermo qualora non ci fosse spazio sufficiente per mostrarli.
|
||||
|
||||
.. todo:: eh?
|
||||
|
||||
|
||||
Accessibilità
|
||||
=============
|
||||
|
||||
Il software deve essere utilizzabile da qualsiasi tipologia di utente, inclusi utenti con disabilità visive e motorie.
|
||||
|
||||
Deve essere allora possibile utilizzare il software interamente da tastiera, senza dover ricorrere a un mouse.
|
||||
|
||||
Inoltre, i colori scelti per l'interfaccia grafica non devono essere confondibili da persone affette da daltonismo.
|
||||
|
||||
Infine, l'intero software deve essere navigabile tramite screen reader, permettendo a non-vedenti di usare il progetto.
|
||||
|
|
Loading…
Reference in a new issue