Anteprima
Vedrai una selezione di 4 pagine su 13
Relazione pay steam Pag. 1 Relazione pay steam Pag. 2
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Relazione pay steam Pag. 6
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Relazione pay steam Pag. 11
1 su 13
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

INDIVIDUAZIONE DEI REQUISITI FUNZIONALI

Requisiti funzionali

  1. Il sistema dovrà gestire operazioni CRUD sugli utenti;
  2. Il sistema dovrà gestire operazioni CRUD sulle transazioni;
  3. Il sistema dovrà permettere ai Clienti soltanto la gestione dei propri dati;
  4. Il sistema dovrà prevedere un meccanismo d'accesso e autenticazione all'area riservata distinta per ruolo dell'utente loggato;
  5. Il sistema dovrà permettere, ad applicazioni terze, il pagamento di beni e servizi richiamando i suoi web services di tipo REST;
  6. Il sistema espone un web service di pagamento che a partire da alcuni dati della richiesta, risponde con l'avvenuto pagamento o con il fallimento del pagamento; l'accesso al WEB è sottoposto all'autenticazione dell'utente;
  7. Deve gestire due tipologie di utenti: utenti convenzionali che acquistano servizi e prodotti ed esercenti che ricevono pagamenti ed effettuano transazioni in uscita verso altri.
  1. Il sistema avrà due distinte aree private: una per l'utente convenzionale per permettergli di esplorare i propri dati ed eventualmente modificare i dati anagrafici e di Carta di credito;
  2. All'esercente permette di autorizzare pagamenti dal suo conto ad un altro conto;
  3. L'utente visitatore, ovvero non registrato e non loggato, non può altro che visitare la homepage e registrarsi al servizio.

Requisiti non funzionali

La progettazione e la realizzazione della Web application prevede il rispetto dei seguenti requisiti non funzionali che potremmo anche sintetizzare come semplificazioni e controlli utili per rispettare i requisiti del progetto.

  1. Nella Web app PAY STEAM è previsto un unico campo sia per la carta di credito che per il conto corrente;
  2. Per l'utente con profilo "utente" sarà da considerarsi una carta da 16 cifre, per l'utente con profilo "esercente" sarà da intendersi come IBAN;
La carta di credito dell'utente non ha limite, quindi il pagamento è sempre possibile; stessa esemplificazione per l'esercente, saranno possibili transazioni in uscita verso altri iban anche a saldo negativo; < br > Anche per PAY STEAM la fase di registrazione non prevede l'invio di mail per la convalida del profilo; < br > L'app memorizza la password in chiaro nella tabella pay_utente; < br > Si ribadisce che la capacità di spesa non ha controlli, sia dalla carta di credito che da IBAN. < br > < strong >GLOSSARIO DEI TERMINI< /strong > < br > Al fine di evitare ambiguità andiamo adesso a definire un glossario al quale fare riferimento per i termini maggiormente utilizzati nel seguito della progettazione. < br > < strong >Termine< /strong > Descrizione Sinonimo < br > < strong >UTENTE< /strong > Rappresenta il treno composto da diverse carrozze e un locomotore, può essere prenotato dai clienti fino alla sua capacità. Può essere speciale (extra) o ordinario < br > < strong >WEB API< /strong > Una Web API è l'interfaccia tra due diverse applicazioni in

modo che possano comunicareinsieme.

WEB Un Web Service facilita l'interazione tra dueSERVICE macchine su una rete. Possiamo semplicementedire che tutti i WEB SERVICES sono API ma non tutteele API sono servizi web. I termini WEB SERVICE APIvengono utilizzati in modo intercambiabile. Tuttavia,le API sono la categoria più ampia. I servizi Websono un tipo speciale di API.

API REST Le richieste REST vengono inviate utilizzando verbiGET POSTHTTP come (Ottieni) e (Pubblica). Lerisposte della REST API sono generalmente in JSON,ma possono anche essere in un formato di datidiverso.

TRANSAZIO Rappresenta l'operazione di pagamento del titolo diNE viaggio sulla piattaforma PAYSTEAMCARTA E' un campo unico che contiene i dati della carta dicredito (16 cifre) dell'utente oppure l'IBAN del contocorrente dell'utente (stringa di 27 caratteri)

CASI D'USOESERCENTE:

  1. login
  2. accede ad area privata;
  3. visualizza i suoi movimenti in uscita;
  4. modifica i propri

dati personali;

5. modifica o inserisce i dati della carta di credito o dell'IBAN; può autorizzare transazioni in uscita verso altri conti o carte di credito.

6. UTENTE REGISTRATO:

  1. login
  2. accede ad area privata;
  3. visualizza i suoi movimenti in uscita;
  4. modifica i propri dati personali;
  5. modifica o inserisce i dati della carta di credito o dell'IBAN;

UTENTE NON REGISTRATO (VISITATORE)

  1. visita sito internet e accede alle pagine informative;
  2. si può registrare;

UTENTE M2M (WEB API)

  1. url inviante, url diespone un servizio che riceve chiamate cosi formattate: risposta, id esercente, id transazione, descrizione del bene, prezzo transazione;
  2. Risponde alle chiamate con dei messaggi così formattati: url inviante, id transazione, esito transazione (possibili riposte OK, KO).

PROGETTAZIONE CONCETTUALE

La progettazione concettuale ci permette di rappresentare il nostro sistema mediante un insieme di concetti e relazioni tra concetti.

Diagramma

Entità-Relazione Dizionario delle entità

Descrizione delle entità presenti nello schema E/R

Entità: PAY_UTENTE

Rappresenta gli utenti che interagiscono con l'applicazione di pagamento, siano essi utenti utilizzatori della piattaforma o esercenti registrati per poter ricevere pagamenti. Contiene i dati anagrafici, di contatto e dei metodi di pagamento dell'utente. L'attributo email è definito come UNIQUE all'interno della tabella in quanto gli utenti sulla piattaforma non possono avere la stessa mail.

Attributi:

  • id_utente
  • username
  • nome
  • cognome
  • password
  • ruolo
  • carta
  • email

Entità: PAY_TRANSAZIO

Questa entità è necessaria per poter registrare le transazioni avvenute con successo sulla piattaforma. Contiene i dati di tracciamento della transazione, ovvero l'utente, l'esercente, i dettagli dell'acquisto e un numero univoco che identifica la transazione.

Attributi:

  • idNI
  • id_cliente
  • id_esercente
  • id_transazione
total_sum individua univocamente la transazione.

descrizionedata Dizionario delle relazioni

Procediamo descrivendo le relazioni.

Relazione Descrizione Entità coinvolte Attributi

EFFETTUA_RIC Necessaria a rappresentare il legame tra i PAY_UTENTE (0,N) / /EVE vari attori dello schema proposto: PAY_TRANSAZIONI(1pay_utente (sia esso esercente che utente) ,1)e pay_transazioni

Dizionario dei vincoli

Descriviamo i vincoli.

Vincolo Regola

V1 Un utente deve registrarsi se vuole utilizzare la piattaforma di pagamento.

V2 Un utente non può controllare i propri dati se non accede all'area riservata.

V3 Non è possibile acquistare se non si registra la carta di credito.

V4 Solo utenti con profilo "esercente" possono effetuare transazioni verso altre IBAN

PROGETTAZIONE LOGICA

Ristrutturazione del modello E/R

Prevede sei trasformazioni da apportare al modello E/R per renderlo compatibile con il modello logico, procediamo con la descrizione delle singole operazioni da

compiere:Analisi delle ridondanze

In questo caso, non essendo presente alcuna ridondanza, non dobbiamo apportare alcuna modifica al modello E/R.

Eliminazione delle generalizzazioni

Nel nostro caso non sono presenti generalizzazioni, dunque non è necessario apportare modifiche.

Partizionamento o accorpamento dei concetti

Nello schema E/R non occorre effettuare partizionamenti o accorpamenti delle entità.

Eliminazione degli attributi multivalore

Nel modello logico sussiste l'impossibilità di avere attributi multivalore, quindi, andremo ad eliminare gli attributi di questo tipo presenti per sostituirli con un'entità apposita.

Eliminazione degli attributi composti

Nel modello logico sussiste l'impossibilità di avere attributi composti, quindi, andremo ad eliminare gli attributi di questo tipo presenti per sostituirli con attributi semplici.

Scelta degli identificatori principali

Nel passaggio al modello relazionale è importante e necessaria la

scelta degli identificatori principali. Traduzione verso il modello logico Adesso dobbiamo esaminare la traduzione verso il modello logico, che nel nostro caso è un modello relazionale, andiamo quindi a tradurre tutte le relazioni. Relazione EFFETTUA_RICEVE (0,N) e (1,1): Questa è un'associazione uno a molti, quindi applicheremo le dovute regole e lo schema relazionale che ne deriva sarà: a. (id, id_cliente, id_esercente, id_transazione, pay_transazione, total_sum, descrizione, data) b. (id_utente, username, nome, cognome, password, ruolo, pay_utente_carta, email) Possiamo quindi definire adesso il vincolo d'integrità referenziale che coinvolge id_utente l'attributo della relazione pay_transazioni e l'attributo id_utente di pay_utente. SCHEMA RELAZIONALE Con le traduzioni apportate per la trasformazione otteniamo il seguente schema relazionale: PAY_TRANSAZIONI Campo Tipo Vincolo Descrizione id int NOT NULL, PRIMARY Identificatore univoco della transazione id_cliente int NOT NULL, FOREIGN KEY Riferimento all'identificatore del cliente id_esercente int NOT NULL, FOREIGN KEY Riferimento all'identificatore dell'esercente id_transazione int NOT NULL, FOREIGN KEY Riferimento all'identificatore della transazione pay_transazione int NOT NULL, FOREIGN KEY Riferimento all'identificatore del pagamento total_sum decimal NOT NULL Importo totale della transazione descrizione varchar(255) NOT NULL Descrizione della transazione data date NOT NULL Data della transazione PAY_UTENTE Campo Tipo Vincolo Descrizione id_utente int NOT NULL, PRIMARY Identificatore univoco dell'utente username varchar(50) NOT NULL Username dell'utente nome varchar(50) NOT NULL Nome dell'utente cognome varchar(50) NOT NULL Cognome dell'utente password varchar(50) NOT NULL Password dell'utente ruolo varchar(50) NOT NULL Ruolo dell'utente pay_utente_carta int NOT NULL, FOREIGN KEY Riferimento all'identificatore della carta di pagamento dell'utente email varchar(100) NOT NULL Email dell'utente
Campo Tipo Vincolo Descrizione
transazioneKEYid_utente int NOT NULL Identificativo dell'utente che ha effettuato la transazione
id_esercen varchar(1) NOT NULL Identificativo dell'esercente destinatario dell'operazione economica
id_transaz varchar(2) UNIQUE Identificatore unico della transazione, generato a partire dal timestamp e da unione 50
numero pseudocasuale generato KEY E' l'identificativo ritornato all'applicazione chiamante
total_sum decimal(8,0) NOT NULL Descrizione del bene acquistato
descrizione varchar(250) Timestamp della transazione
data datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
PAY_UTENTE
Id_uten int UNSIGNED NOT NULL Identificatore univoco dell'utente
varchar(userna NOT NULL Username dell'utenza creata, deve essere unico
varchar(nome NOT NULL Nome dell'utenza creato
varchar(cognom NOT NULL Cognome dell'utenza creato
varchar(passwo
NOT NULL Password dell'utenza, memorizzata senza hashing <input type="password" name="password" required> NOT NULL Ruolo dell'utenza che può essere utente o esercente <select name="ruolo" required> <option value="utente">Utente</option> <option value="esercente">Esercente</option> </select> NOT NULL Stringa che rappresenta o una carta di credito o un Iban <input type="text" name="carta" required> NOT NULL, UNIQUE KEY Email di contatto dell'utenza creata. Deve essere unica <input type="email" name="email" required> REALIZZAZIONE DELL'APPLICAZIONE La home si presenta in questo modo ad un utente loggato. Vedrà un menù...
Dettagli
A.A. 2023-2024
13 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher wordpressAdmin80 di informazioni apprese con la frequenza delle lezioni di Basi di dati e conoscenza e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica Guglielmo Marconi di Roma o del prof Regoli Luca.