Εργαστήριο Τεχνολογίας Λογισμικού
0 votes
253 views

Καλησπέρα,
Θα ήθελα να ρωτήσω τα εξής (ανά κατηγορία):

1) Αρχικά δυσκολεύομαι να καταλάβω το πως θα χρησιμοποιείται το CLI. Θα το χρησιμοποιούν μόνο οι σταθμοί για να μας στέλνουν δεδομένα; Αν ναι πως θα ειμαστε σιγουροι για security λογους οτι λαμβάνουμε μονο από εκει; Γιατι θεωριτικά θα μπορούσε να γίνει simulate η διαδικασία με requests απευθείας στο backend. Θα πρεπει να μας λεει και από τον σταθμό δεδομένα;

2) Υποθέτωντας οτι μας στέλνουν μόνο οι σταθμοί δεδομένα, τι στοιχεία θα μας περνάνε προκειμένου να γίνει πχ το transaction. Θα πρέπει να λαμβάνουμε τουλαχιστον το id του οχήματος, το ποσό της συναλλαγής, ίσως ο τύπος οχήματος. Δηλαδή, σε μια συναλλαγή τι εντολή θα πρέπει να αποδέχετε το backend ως valid?
Θα μας δίνονται μήπως τα δεδομένα σε ΄ένα csv όπως πχ στα παραδείγματα που έχετε δώσει και θα περιλαμβάνουν πολλαπλά transactions? Ή μόνο 1 τη φορα; Επίσης, στο response θα απαντάμε με "Pass" αν περνάει και "Stop" αν δεν επαρκεί το υπόλοιπο του;

3) Οι εντολές πώς θέλετε να εκτελούνται (στο cli)? Θα πρεπει να τρέχει για παράδειγμα μια εφαρμογή η οποία θα είναι while(True) και να γράφει εντολές που αναφέρετε στις προδιαγραφες ή με καποιον άλλον τρόπο; Ή θα διαβάζουμε το bash για εντολές που θα τρέξει ο χρήστης;

4) Επιπλέον όταν λετε οτι τα δεδομενα θα έρχονται ή με csv ή με json μπορούμε να έχουμε κάποιο πρότυπο της δομής των δεδομένων; Όταν στέλνουμε csv θα μπορούμε να κάνουμε κάποιο είδος μετατροπής σε json πρωτού το στείλουμε (και αντίστοιχα με μετατροπή σε csv για το response) ή θέλετε και με τους 2 τρόπους αντίστοιχο functionality?

5) Στο frontend σκοπεύουμε να έχουμε 2 είδη χρηστών τους managers και τους απλούς χρήστες. Οι μεν θα βλέπουν διαγράμματα που συγκρινουν την εταιρια τους σε σχεση με αλλες. Και οι χρήστες θα βλέπουν τις συναλλαγες τους (μαζί με άλλα προφανω΄ς)
Θα πρέπει ο καθένας να κάνει sign up ? Ή αυτό θα πρέπει να γίνεται απαραίτητα από το cli? Σε μια αλλη ερώτηση είπατε πως θέλετε google sign in. Αν μπούν ομως με google accounts πως θα βλέπουν τα προσωπικα΄ τους transactions? Θα πρέπει από μόνοι μας να κάνουμε link κάποιον account με κάποιο tag? Όμως είπατε πως δεν πρεπει να σώζουμε στοιχεία του χρήστη... οπότε τι ακρι΄βως θα τους δείχνουμε;

6) Τέλος, αναφέρετε πως θα πρέπει να έχουμε χάρτη με τις τοποθεσίες των διοδίων. Θα μπορούσατε να μας παρέχετε κάποιο csv με διάφορα δεδομένα;

7) To vehicleID τι είναι; Σε τι μας χρησιμεύει; Θα είναι ο αριθμός κυκλοφορίας του αμαξίου ή θα είναι κα΄τι αλλο;
vehicleID;tagID;tagProvider;providerAbbr;licenseYear
RV87TIY76692;KO69R5975;kentriki_odos;KO;2001

in softeng by (330 points)
edited by | 253 views

1 Answer

0 votes

1) Αρχικά δυσκολεύομαι να καταλάβω το πως θα χρησιμοποιείται το CLI. Θα το χρησιμοποιούν μόνο οι σταθμοί για να μας στέλνουν δεδομένα; Αν ναι πως θα ειμαστε σιγουροι για security λογους οτι λαμβάνουμε μονο από εκει; Γιατι θεωριτικά θα μπορούσε να γίνει simulate η διαδικασία με requests απευθείας στο backend. Θα πρεπει να μας λεει και από τον σταθμό δεδομένα;
>> Το CLI χρησιμοποιείται ΜΟΝΟ διαχειριστικά από εμάς. Δεν αφορά τους τελικούς χρήστες. Η υλοποίηση του αφορά την εργασία και μόνο, δηλ σε ένα πραγματικό σύστημα δεν είναι υποχρεωτικό να υπάρχει και δεν σχετίζεται με κάποια περίπτωση χρήσης. Μπορεί να χρησιμοποιηθεί για υλοποίηση περισσοτέρων από μίας περιπτώσεων χρήσης. CLI απαιτείται να κατασκευάσετε, ακόμη και αν δεν υλοποιήσετε καμία περίπτωση χρήσης πχ με frontend. Επίσης και API.

2) Υποθέτωντας οτι μας στέλνουν μόνο οι σταθμοί δεδομένα, τι στοιχεία θα μας περνάνε προκειμένου να γίνει πχ το transaction. Θα πρέπει να λαμβάνουμε τουλαχιστον το id του οχήματος, το ποσό της συναλλαγής, ίσως ο τύπος οχήματος. Δηλαδή, σε μια συναλλαγή τι εντολή θα πρέπει να αποδέχετε το backend ως valid?
>> Το λογισμικό ελέγχου διελεύσεων που λειτουργεί με επιμέλεια του κάθε χειριστή στους σταθμούς διοδίων, παράγει τα δεδομένα. Το πώς θα τα στέλνουν, είναι πρόβλημα του πραγματικού συστήματος. Στο δικό μας θα τα "στέλνουν" μέσω της κλήσης του API / CLI που τα διαβάζει. Έχετε ελευθερία να σχεδιάσετε μια στρατηγική εδώ.
Αναφορικά με το ποια δεδομένα θα αποστέλλονται, είναι σαφέστατο από τα ενδεικτικά δεδομένα που σας διατέθηκαν.

3) Οι εντολές πώς θέλετε να εκτελούνται (στο cli)? Θα πρεπει να τρέχει για παράδειγμα μια εφαρμογή η οποία θα είναι while(True) και να γράφει εντολές που αναφέρετε στις προδιαγραφες ή με καποιον άλλον τρόπο; Ή θα διαβάζουμε το bash για εντολές που θα τρέξει ο χρήστης;
>> Στο CLI οι εντολές εκτελούνται από εμάς και μόνο, σε γραμμή εντολώ, όπως όλες οι εντολές (πχ "ls -l"). Δεν αφορούν παραγωγική λειτουργία. Δεν θα μπορούσαν να αφορούν παραγωγική λειτουργία!

4) Επιπλέον όταν λετε οτι τα δεδομενα θα έρχονται ή με csv ή με json μπορούμε να έχουμε κάποιο πρότυπο της δομής των δεδομένων; Όταν στέλνουμε csv θα μπορούμε να κάνουμε κάποιο είδος μετατροπής σε json πρωτού το στείλουμε (και αντίστοιχα με μετατροπή σε csv για το response) ή θέλετε και με τους 2 τρόπους αντίστοιχο functionality?
>> Οι απαντήσεις του CLI είναι csv ή json και περιέχουν τα δεδομένα που περιγράφει η εκφώνηση. Την υλοποίηση ("πρότυπο") θα την κάνετε εσείς, είναι μέρος της εργασίας. Οι μετατροπές είναι πολύ εύκολη υπόθεση από έτοιμες βιβλιοθήκες, frameworks κλπ.

5) Στο frontend σκοπεύουμε να έχουμε 2 είδη χρηστών τους managers και τους απλούς χρήστες. Οι μεν θα βλέπουν διαγράμματα που συγκρινουν την εταιρια τους σε σχεση με αλλες.
>> Τι σημαίνει "σύγκριση"; Δεν υπάρχει τέτοια απαίτηση ούτε έχει γίνει τέτοια συζήτηση. Οι λειτουργίες που ζητούνται είναι μόνο υπολογιστικές και είναι σαφείς.

Και οι χρήστες θα βλέπουν τις συναλλαγες τους (μαζί με άλλα προφανω΄ς)
>> Αν ως χρήστες εννοείς τους οδηγούς οχημάτων, και πάλι ΟΧΙ: το σύστημα μας ΔΕΝ χρησιμοποιείται από οδηγούς. Έχουμε αναφέρει ποιοι είναι οι Stakeholders και δεν αποκρύψαμε κανέναν.

Θα πρέπει ο καθένας να κάνει sign up ? Ή αυτό θα πρέπει να γίνεται απαραίτητα από το cli?
>> Βλ. παραπάνω. Sign up και λογαριασμοί χρηστών είναι προαιρετικοί.

Σε μια αλλη ερώτηση είπατε πως θέλετε google sign in. Αν μπούν ομως με google accounts πως θα βλέπουν τα προσωπικα΄ τους transactions? Θα πρέπει από μόνοι μας να κάνουμε link κάποιον account με κάποιο tag? Όμως είπατε πως δεν πρεπει να σώζουμε στοιχεία του χρήστη... οπότε τι ακρι΄βως θα τους δείχνουμε;
>> Βλ. παραπάνω. ΔΕΝ μιλάμε για τελικούς χρήστες (οδηγούς οχημάτων). Το Google sign in ΔΕΝ είναι απαιτούμενο. Αυτό που ανέφερα είναι ότι δυνητικά μπορείτε, όσοι αποφασίσετε να υλοποιήσετε accounts, να το κάνετε μέσω Google sign in για να αναζητήσετε και να μάθετε πώς γίνεται αυτό. Σε κάθε περίπτωση, με όποιο τρόπο και να υλοποιηθούν accounts (αν υλοποιηθούν), αυτά αφορούν τους τελικούς χρήστες του δικού μας συστήματος, δηλ τους λειτουργούς των αυτοκινητόδρομων.

6) Τέλος, αναφέρετε πως θα πρέπει να έχουμε χάρτη με τις τοποθεσίες των διοδίων. Θα μπορούσατε να μας παρέχετε κάποιο csv με διάφορα δεδομένα;
>> Δεν αναφέρεται πουθενά ότι "πρέπει". Αυτό σημαίνει ότι αν επιλέξετε να τα υλοποιήσετε, μπορείτε να τα αναζητήσετε ή να τα κατασκευάσετε για κάποιους τουλάχιστον αυτοκινητόδρομους.

by (8.8k points)

301 questions

289 answers

288 comments

769 users