From faef29db526369eeeb9257fc30b1c919d9b1b644 Mon Sep 17 00:00:00 2001 From: Frank Blanning Date: Thu, 25 Oct 2018 21:54:12 +0300 Subject: [PATCH] Initial commit, test bench addition. --- tex/.gitignore | 9 +++ tex/testbench/1_Intro.tex | 154 ++++++++++++++++++++++++++++++++++++++ tex/testbench/Makefile | 12 +++ tex/testbench/main.pdf | Bin 0 -> 52878 bytes tex/testbench/main.tex | 105 ++++++++++++++++++++++++++ 5 files changed, 280 insertions(+) create mode 100644 tex/.gitignore create mode 100644 tex/testbench/1_Intro.tex create mode 100644 tex/testbench/Makefile create mode 100644 tex/testbench/main.pdf create mode 100644 tex/testbench/main.tex diff --git a/tex/.gitignore b/tex/.gitignore new file mode 100644 index 0000000..c8d9da7 --- /dev/null +++ b/tex/.gitignore @@ -0,0 +1,9 @@ +*.aux +*.log +*.fdb_latexmk +*.fls +*.out +*.synctex.gz +*.toc +*~ +auto \ No newline at end of file diff --git a/tex/testbench/1_Intro.tex b/tex/testbench/1_Intro.tex new file mode 100644 index 0000000..6a901c4 --- /dev/null +++ b/tex/testbench/1_Intro.tex @@ -0,0 +1,154 @@ +\subsection{Στόχος του εγγράφου} + +Ακολουθώντας τα στάδια ανάπτυξης λογισμικού, στα προηγούμενα έγγραφα, +το “Έγγραφο Απαιτήσεων Χρηστών” και το “Έγγραφο Απαιτήσεων +Λογισμικού”, καθορίστηκαν όσο το δυνατόν πιο εύστοχα οι απαιτήσεις +χρηστών και λογισμικού, αντίστοιχα. Στο παρόν έγγραφο σειρά έχει ο +αρχιτεκτονικός σχεδιασμός του συστήματος. + +Αρχικά σημαντική προϋπόθεση για την σχεδίαση του συστήματος είναι η +δυναμική μοντελοποίηση του συστήματος Robobar με τον πλέον λεπτομερή +τρόπο. Αυτός είναι η παρουσίαση των ροών που περιγράφουν το πώς οι +κλάσεις που αναπτυχτήκαν κατά τη στατική μοντελοποίηση των κλάσεων +ικανοποιούν τα σενάρια χρήσης που δημιουργήθηκαν στο έγγραφο +απαιτήσεων χρηστών. Η δημιουργία δηλαδή των διαγραμμάτων ροών για την +εκτενή περιγραφή της συμπεριφοράς του συστήματος κατά την εκτέλεση των +λειτουργιών του αλλά και κατά την αλληλεπίδραση με τους χρήστες και τα +εξωτερικά συστήματα. + +Επιπλέον η αποδόμηση του συστήματος σε υποσυστήματα αποτελεί πάγια +τακτική για την ανάπτυξη ενός λογισμικού και επιτυγχάνεται με την εξής +διαδικασία: το υπάρχον σύστημα διαιρείται σε υποσυστήματα, τα οποία +αλληλεπιδρούν. Στη συνέχεια επιλέγεται η κατάλληλη αρχιτεκτονική ώστε +να έχουμε το καλύτερο δυνατό αποτέλεσμα ως προς την επικοινωνία μεταξύ +των υποσυστημάτων αλλά και τη λειτουργικότητα συστήματος. + +Τέλος στο παρόν έγγραφο γίνεται μία λεπτομερής ανάλυση της +αρχιτεκτονικής του συστήματος Robobar, με γνώμονα τις απαιτήσεις +χρηστών και λογισμικού που περιγράφτηκαν στα δύο προηγούμενα +έγγραφα. Τα δομικά στοιχεία του συστήματος, ο τρόπος που επικοινωνούν +μεταξύ τους και τυχόν περιορισμοί που πρέπει να ληφθούν υπόψιν, +αποτελούν μέρη της ανάλυσης αυτής. + + +\subsection{Αντικείμενο του Λογισμικού} + +Το λογισμικό Robobar έχει ως αντικείμενο το σύνολο των δραστηριοτήτων +που χρειάζονται ώστε να λειτουργήσει ένα μπαρ. Αναλυτικότερα, το +λογισμικό RoboBar έχει ως στόχο την γρήγορη και εύκολη εξυπηρέτηση των +πελατών ενός μπαρ. + +Το σύστημα αλληλεπιδρά με δυο είδη χρηστών τους απλούς +χρήστες-εργαζόμενους του μπαρ και των διαχειριστών. Ο χρήστης μπορεί +να δεχτεί μια παραγγελία από τους πελάτες του μπαρ από το υπάρχον +μενού ,όπως επίσης έχει την δυνατότητα να ενημερωθεί ή να επιλέξει την +ακύρωση μιας εκκρεμής παραγγελίας ανάλογα με το τι θα ζητηθεί από τους +πελάτες. Ο διαχειριστής του συστήματος έχει όλες τις παραπάνω +δυνατότητες και επιπλέον μπορεί να επεξεργαστεί το μενού του +καταστήματος δηλαδή να προσθέσει η να αναιρέσει συνταγές και υλικά. + +Οι παραπάνω λειτουργίες του συστήματος RoboBar εξυπηρετούνται με χρήση +μια βάσης δεδομένων που περιέχει όλα τα απαραίτητα δεδομένα, καθώς και +ενός ρομπότ ΝΑΟ το οποίο εκτελεί τις παραγγελίες των πελατών. + + + +\subsection{Ορισμοί, Ακρωνύμια, Συντομεύσεις} + +\begin{itemize}[noitemsep,nolistsep] + \item ΟΑ: Ομάδα Ανάπτυξης + \item GUI: Graphical User Interface (Γραφική Διεπαφή Χρήστη) + \item SQL: Structured Query Language + \item MySQL: Σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων + \item Client: Πελάτης + \item Server: Εξυπηρετητής + \item Client-­‐Server: Πελάτης-­‐Εξυπηρετητής + \item DB: Βάση Δεδομένων + \item UI: User Interface + \item UML: Unified Modeling Language + \item API: Application Programming Interface +\end{itemize} + + +\subsection{Τυπογραφικές παραδοχές του εγγράφου} + + +Το κείμενο του παρόντος εγγράφου είναι γραμμένο με γραμματοσειρά +Baskerville, μεγέθους 11pt και διάστιχο 1.15. Οι επικεφαλίδες του +εγγράφου έχουν μέγεθος 14pt και o τίτλος κάθε κεφαλαίο 13pt σε +γραμματοσειρά Naxos. Οι απαιτήσεις στο κεφάλαιο 2 ονομάζονται και +αριθμούνται κατάλληλα και, επίσης, συντάσσονται με την αρμόζουσα +μορφή. + + +\subsection{Στόχοι Σχεδίασης} + +Στόχος της σχεδίασης του συστήματος είναι η ικανοποίηση των τριών +διαφορετικών ομάδων φυσικών προσώπων που σχετίζονται με αυτό: του +πελάτη, του τελικού χρήστη και του προγραμματιστή + +Πελάτης του συστήματος μπορεί να θεωρηθεί ο ιδιοκτήτης μιας εταιρείας +ανάπτυξης, διαχείρισης και πώλησης εφαρμογών ή και κάποιο γραφείο +ευρέσεως εργασίας. Όπως είναι λογικό, ο πελάτης, επιθυμεί το προϊόν να +έχει χαμηλό κόστος, συμβατότητα, , να παρακολουθεί τις λειτουργικές +και μη απαιτήσεις που έχουν τεθεί και η ανάπτυξη του να είναι όσο το +δυνατόν πιο γρήγορη. + +Ο τελικός χρήστης επιθυμεί το σύστημα να είναι χρηστικό, φιλικό προς +αυτόν και η διαδικασία εκμάθησής του να είναι απλή, εύκολη και +γρήγορη. Ακόμα, θέλει η λειτουργία του συστήματος να είναι ευσταθής, +να ανέχεται σφάλματα και συνεπώς να είναι αποδοτική. + +Επίσης, ο προγραμματιστής του συστήματος, (ή ο συντηρητής) έχει την +απαίτηση, να μην παρουσιάζονται σφάλματα στο σύστημα, να προσαρμόζεται +εύκολα και γρήγορα σε μεταβολές, τροποποιήσεις και αναβαθμίσεις +λογισμικού και ακόμα ο διαχωρισμός των υποσυστημάτων να είναι σωστός +και ορισμένος με σαφήνεια. + + +\subsection{Αναγνωστικό κοινό και τρόπος ανάγνωσης} + +Το έγγραφο αυτό γράφτηκε για συγκεκριμένες ομάδες ανθρώπων προκειμένου +να μελετηθούν και να σχεδιαστούν τα χαρακτηριστικά του συστήματος και +στη συνέχεια να γίνει ο προγραμματισμός και η υλοποίηση της +εφαρμογής. Οι βασικοί αναγνώστες του συγκεκριμένου εγγράφου θα είναι: +\begin{itemize} + \item Προϊστάμενοι καθώς και ορισμένοι αρμόδιοι μηχανικοί +λογισμικού των εταιριών ανάπτυξης ανάλογων εφαρμογών + \item Προγραμματιστές που θα αναλάβουν τη συγγραφή του κώδικα +ο οποίος θα υλοποιεί το σύστημα + \item Μηχανικοί λογισμικού που θα αναλάβουν τη συντήρηση του +συστήματος. + \item Μηχανικοί υλικού που θα αναλάβουν το σχεδιασμό και την +εγκατάσταση των συστημάτων που ικανοποιούν τις τεχνολογικές απαιτήσεις +του έργου +\end{itemize} + +Αρχικά, είναι σημαντικό να αναφερθεί ότι για την ευκολότερη κατανόηση +και αποτελεσματική ανάγνωση του έγγραφου αποτελεί σημαντική προϋπόθεση +να έχει προηγηθεί η ανάγνωση των δύο προηγουμένων εγγράφων, αυτού των +απαιτήσεων χρηστών και αυτού των απαιτήσεων λογισμικού. + +Επιπροσθέτως, η ανάγνωση των κεφαλαίων θα πρέπει να γίνει με τη σειρά +που υπάρχουν στο έγγραφο για να μη δημιουργηθούν προβλήματα στην +κατανόηση του. + +\subsection{Επισκόπηση Εγγράφου} + +\begin{itemize}[noitemsep,nolistsep] + \item \textbf{ΚΕΦΑΛΑΙΟ 1}: Το κεφάλαιο αυτό αποτελεί μια +εισαγωγή που περιλαμβάνει γενικές πληροφορίες για το περιεχόμενο του +εγγράφου καθώς και για τα κεφάλαια που ακολουθούν. + \item \textbf{ΚΕΦΑΛΑΙΟ 2}:Στο κεφάλαιο αυτό παρουσιάζεται η +δυναμική μοντελοποίηση του συστήματος Robobar + \item \textbf{ΚΕΦΑΛΑΙΟ 3}: Στο κεφάλαιο αυτό γίνεται αναλυτική +περιγραφή και παρουσίαση της αρχιτεκτονικής του συστήματος . + \item \textbf{ΚΕΦΑΛΑΙΟ 4}:Στο τέταρτο κεφάλαιο γίνεται η +αποδόμηση του συστήματος σε υποσυστήματα, σύμφωνα με την αρχιτεκτονική +που επιλέχθηκε και περιγράφηκε στο τρίτο κεφάλαιο. Επιπλέον +περιλαμβάνει λεπτομερή διαγράμματα της διασύνδεσης μεταξύ των +υποσυστημάτων, ώστε να δοθεί στον αναγνώστη μια πλήρη και παραστατική +εικόνα για την αρχιτεκτονική του συστήματος. Τέλος αναλύονται θέματα +γενικού ελέγχου, ασφάλειας, πρόσβασης και οριακών συνθηκών στα οποία +πρέπει να δοθεί ιδιαίτερη προσοχή. +\end{itemize} \ No newline at end of file diff --git a/tex/testbench/Makefile b/tex/testbench/Makefile new file mode 100644 index 0000000..b1f9b8c --- /dev/null +++ b/tex/testbench/Makefile @@ -0,0 +1,12 @@ +.PHONY: main.pdf all clean + +all: main.pdf + +FLAGS = -pdf -pdflatex="xelatex" -use-make \ + -quiet -synctex=1 + +main.pdf: main.tex + latexmk $(FLAGS) main.tex #; skimview $@ + +clean: + latexmk -CA diff --git a/tex/testbench/main.pdf b/tex/testbench/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..42af4477d68345fbc5c32a3317642408d710a18c GIT binary patch literal 52878 zcma&NQ?Mx8vaLObZQGi|wr$(CZQHhO+qP}n_89;Aos7U2}x2BqM}b@^A*DtR{+ zR$+B5QaC`*Kbb@k`TgyUI8qfrV3-%a5|tA4Jg}`NY}WMt-cl>E|1Z%DYdv~6`Y)w< z0NUyID4B6K4>d>htnm<5v{+&3d`r9d%PN;>XEv(Xqh!|S)3{Cq$StvCWQW>;h@+@W zmrV%L{7q@@sVzOoc5&Viq7k%7M32b1nQdMpdkQK}%zIInv@eG!7U?XTvHn@nAjA~~ zkpO3ts(G)j4d1_RUmi>&)Tb4A*SeS{2);{`l=x(H!e=X@Df0mlWy^ujzCQ zq3{*RI)&ioqtd+C61PJ)6^>ci?c$p!$BlA61lo8)wwErO9)It5?9M`LaFRME8}=7k z)BC>(V{G@FDB#g(PytUOU14V;pmbe#l3r-C!j)1IDqzv&i~Pew-O-z>=0J#lP8=E_ zs8j_Mgl@QI4Fk4|WixsRDCEKc`B2?YWiG{BR54#obh(BRKW@feKsp^NHZP=F57yMn zMW8^}6P_B?ZK$QTb0=^$+^S+WB%tFd#PVOssLTZUB2!Uv3=@v6kwmxz|AhB-qK**#itdCNXgUFP( z>5m?^kjQQ!rgM*&9MI{vsA%E?@{5*fu$Nef3z!QgHyJzmG@14mfkhwC6oP5g$itzA zX&()gc}iDb6@k9(p$>`VWFSrg08LZeXM~l^v+`Med{XPoyF&S`$l`=65?Cb`e#{kIR(A5hy?_lc zOtluOV1K0!oad`=DC3rxZm7YZ0kjl~ET!Z zFPHYVyu;bu!QB3=^Ndw7>9n4U8rf10`MvnA3rIw_jl2Qrmpq2C-#SQ+k%iv0-7mgh z&o2_q_0==0E+h~V6HqlKxw=3cHd8Tz7Sb=5pZSQ0ewy&c_GNAUYPJZNo)wg$O%59T4N- zC>_2IFt{);ybjcD0kk~y?7^T;*KZJD5;RTTT5Lh&f<8Ql*dGfvA8$Fx&usp`)w|Ao z#pkZsCmlM=(nl{ouhzfn=)mXRdFt+I`e=ts*KHRTu(2dRNI|AROkGAKQP!anv-v`J$?eiY{`g8L3Xc5%-?l-wLyO*|Ub5x1lrpVI z7#cF3<|CG&Zi&}spN$p5QsR^@*rz+S*evkZ%c!Fj#$AHZz-%(C>)D^Tdxbxu?b5mo zZ0Jn7z-ry5A~@mdFJkjio9C_IFO2-v{@IWIy+Pz9sBaeup7)5Z5xj^d&T7HGhAMKI z!Xh;jiRsT^&A@BlDdmVEdJU}L9!I-_oRTXX)77dXc%IIBJfU%{a#D{rOL7OX;baHY z6y56o#6euWuU6gX=;@b?&3wa!?1?$#9_^P7LdO_L9YQMb0QrS}XM(JfK?v~xtPb%3 zUAX7h5}~5^715$KsYvcmT~KrG2u7+}*$WWq#c} z&d?rZ+8IZmcKvb1yGUMKYEs_w)z{<;)WyRi_&}rDSja2`c?G_PAc;08F9v;FkZ;6|+2JHz;9M~SA)#>A~NY>)LRCYegVC*zWwslw5 z_uKj7arauh(h+hz$A?=M?;YEUBi(7mquuUzRX3?2Rn|0B7mt_s>EV(l7Z3D@<;*s9 z|Ks>^xA({1K_%BvYO?0f$xHg<#~KdzMXK&?%CC7_L9Oxqu21$4Teh{#&(m&55;s|@ zY;UfX+-X-H7}}5H$LV>iL?n-S_m%?g{6oE#1P1`>hV|Vj$a$7v-Yn-Sqz+A*Ko`{N z$E(0msJ5@|^KIGwN3|B*&A`j}X_s8YeZziL;*Fc~hqLj6pQ&!`wz{b3Dkt1$XoRet zpQ_t{ZNRRwn)oZ(XZEK@>D=8})81|zfJ;SFsA#AjWe|#KjlzCb0k1c@Gwg(tQ**7^ zIe71Qf9>C+*Iq_0*IG>qxK)@h(l)%k+vipCw!&74#SD9lh(8QJ`8mbc=0k z&3u}On;rvom%2aaEP8`y5#cxMc8k!dWa_6&C8U?NGf{s7>u=ROCJtdbVM3ofZt6H; zQ)RgKi@bOCB@E)cd>3kbb;F$KRv_k^2b5N!73!U@ajgRNSiv)8m^)g@uws$K?g1zb zOB=U(fmTY&?n7Zutqvb7XMN}ymF)`)rK}4|49FuaI3Jgsg;zz39?-cDxm8M?;qd$@ zOa_pn>*LZCTt4|r{s`3p+Lk@oO=V*0(oSzEM~L2Rg(uh`Z=NPzr=&UXrgvDqaT=!& zVb+EzsHhve^uZjyl3GW)LZt1&K{GxXF2`aqOKv}D&+DM@jxw8Ysv(`z9MD!&r6ICH zk%MRBYs+{68a-uN=&D9s*buG>)rfrvXOgc~R|q-J@=>cQI`Eq_8CIQC=@Nv(oR<0V z81y#a1JBh3i3Sk_p6_OkIs{?DZQM2QiK-NoPS=ne|4b3Ee_6gf4ad`$f<}XMY1+z;| zNf==FLflhD54s#+-q|8(a>aIw2np2cAcW@R(cpw%dugkAA?g)NxkaM|m{ANtFYK{J z;_%=KFPjNKrir^)61FZqLq__x6&vYv8OW6>`PtZ|)!=Hv#cp1OX23Y$8f{+C{IBg+M?V?6p$bAWjko9(btK4`Ad!3-sq% zS(VZkKU4kADRddZGg7&-YjC)Js-y8C)?d7dkSa+ZSmBB}8SmLlGsYtML9%0}yzW43 zf_p2hsknEYid(TI#hSbmKuj#jl<>Dn#h7m^*Gt78mw<^{dg{y#eNWj>o?!AK=NCT= zZ<>qC%DPFcvdo6NYvhA^++pFh@#pDVvy!+QXwctM!m`~xyTrB@qZ^AHvZrnD2Z2se zbK6;#>3d>3S|>l3;F!A%sD)^kud`Er1W(b=DE^qd0!o6kAZ`iQmp$-^$gNmAG|!01 z7Z8#5lEHc43M-2Rgbdo~*5eTl^%2xC_-`{F0?@km)U_r#plY^EQc&OuZ>Y_P^>^fE zV9}Z$db{O@ul5&3;T8RL>x50r^%7XN*$oG_YT@5F*OF5mXOQEh7;Axl3pTKViho`r zx1c=Q2jP(n($I1Gs-?%o3Rfm43OI~P_`*08^U$cC@{(`$ck-M#Sr;*5xK4gfkrDMm_PUW4F) zxcmoLyj{~T6=R>jjM*az82)&bN()WNv*|}aaIK-=!Pxc+|Cu=f=fy)*UVXB*G6;il zhamICz?!wbX{^A6us?yASf|%~vS_C%Nqv%2S_(d>#UsOm+~&1ADae~Xe&gi|0r-{9 zd=Al~M@@I*QD!Kz1uvlgry@s=vG zPKCdyKF)3K6aVSN?ywglLggk$^Zxf<&48C@ zmrX)D8*g<{CmN(@RR;G0#W=?#6 zx`6CesWEGkJy`Y=BJ~HoeA?`tR!|(ilx5}f4C|$EprHedCF@nsu0#zOnbb1FTQ~Gk zcb)i*T!1gDSB4|nA`#wcf})uAe6%Rc@0~<4Z@V~14hHa^+oywokEzAQeKBc(Yg`n}R<5nFq??Mt!lhx&wPz;cq#e6io6RFZvX^rZnud ziaR0+$=1%tH`1KOhem%dU#_@V05&iN2!E-QS5^orsa0ORiXX^T?k@E^z01X)qaTma zeocr?9AB(mow~ZvAgC&+8@B}A#l8;mu;yJVB2*9>If*$VQvSpoXoTeC&d1ml%#
u|OVNG~ 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 JUb8df`4jbXg#-Wq literal 0 HcmV?d00001 diff --git a/tex/testbench/main.tex b/tex/testbench/main.tex new file mode 100644 index 0000000..1ebc391 --- /dev/null +++ b/tex/testbench/main.tex @@ -0,0 +1,105 @@ +{% !TeX spellcheck = el_GR-en_US + \documentclass[11pt]{article} + \usepackage{geometry} + \geometry{a4paper, top=2.5cm, bottom=2.5cm, left=2.2cm, + right=2.2cm} + \usepackage{fontspec} + \usepackage{graphicx} + \usepackage{titlesec} + \usepackage{titling} + \usepackage{float} + \usepackage{caption} + \usepackage{subcaption} + \usepackage[nonumeralsign]{xgreek} + \usepackage{siunitx} + \usepackage{fancyhdr} + \usepackage{hhline} + \usepackage{hyperref} + \usepackage[export]{adjustbox} + \usepackage{enumitem} + \usepackage{amsmath} + \usepackage{amsfonts} + \usepackage{amssymb} + \usepackage{array} + + \setmainfont{Baskerville} + \setmonofont{Consolas} + \newfontfamily\titlefont{Helvetica} + \newfontfamily\headingfont{Helvetica Bold} + + \titleformat*{\section}{\large\headingfont} + \titleformat*{\subsection}{\small\headingfont} + + \graphicspath{ {./Images/} } + + \date{\today} + + \pagestyle{fancy} + \lhead{Robobar} + \rhead{Team 13} + \renewcommand{\headrulewidth}{0.4pt} + \renewcommand{\footrulewidth}{0.4pt} + \setlength{\headheight}{14pt} + + \fancypagestyle{firstpage}{% + \lhead{ + \titlefont \scriptsize + % \includegraphics[width=.14\linewidth, valign=c ]{LogoAUTH.ai} + \begin{tabular}{l} + \textbf{Τεχνολογία Λογισμικού}\\Τομέας Ηλεκτρονικής και + Υπολογιστών\\Τμήμα Ηλεκτρολόγων Μηχανικών και\\Μηχανικών + Υπολογιστών Α.Π.Θ + \end{tabular} + } + \rhead{\titlefont \scriptsize 8ο Εξάμηνο - Άνοιξη 2018} + \setlength{\headheight}{100pt} + } + + \hypersetup{colorlinks=true, linkcolor=black ,urlcolor=blue} + \urlstyle{same} + + \begin{document} + \thispagestyle{firstpage} + + % \begin{figure}[H] + % \centering + % \includegraphics[]{logo.png} + % \end{figure} + + \begin{center} + \Large Robot Bartender for the human customer + \vspace{1cm} + + {\titlefont \Huge Σχεδίαση Συστήματος} + \end{center} + + \vspace{5cm} + \vfill + + \begin{flushright} + \titlefont \footnotesize + \begin{tabular}{r l} + Θεοδωρίδου Χριστίνα&christtk@auth.gr\\ + Μπλάννινγκ Φρανκ&frankgou@ece.auth.gr\\ + Παρασκευαΐδης Κωνσταντίνος&konstapf@ece.auth.gr\\ + Πάρναλης-Παλαντζίδης Γιώργος&parnalis@ece.auth.gr\\ + \end{tabular} + + \large + \vspace{1.5cm} + \textbf{\today} + \vspace{.5cm} + \end{flushright} + \hrulefill + \vspace{2.5cm} + + \newpage + + \tableofcontents + % \listoffigures + + \newpage + \section{Εισαγωγή} + \input{1_Intro} + +\end{document} \ No newline at end of file