Frank Blanning
6 years ago
commit
faef29db52
5 changed files with 280 additions and 0 deletions
@ -0,0 +1,9 @@ |
|||
*.aux |
|||
*.log |
|||
*.fdb_latexmk |
|||
*.fls |
|||
*.out |
|||
*.synctex.gz |
|||
*.toc |
|||
*~ |
|||
auto |
@ -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} |
@ -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 |
Binary file not shown.
@ -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} |
Loading…
Reference in new issue