System Design Document (SDD) - cemaltunbulduk/Attendance-System-by-QR-Code GitHub Wiki
1. Introduction
i. Purpose of the system
The aim of this document is; delineate the project which called QR Attendance System. We developed a attendece system for mobile/pc app to save more time for class and we want to get rid of clumsiness of old attendence method.
ii. Design goals
In our project we wanted to design a QR Attendance System to save time practically in a easy-to-use design model with simple spine. We will use the .com domain and we will take one admin who controls our system regularly so our system is a low-cost system. Admin must be check system regularly and fix if there is a problem in our system, for example, unexpected crashes and interruptions. We will add our codes in our Github page and we will prepare the documentation for who wants to understand our system.
iii. Definitions, acronyms, and abbreviations
IDE: An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software.
iv. References
v. Overview
We will apply the attendence system for schools. Users will log in to the app with school mails and scan the QR code. Once the scanning is completed, they will be seen as in the class. This will create practicality and time saving with technology involved.
2. Current software architecture
Introduction
QR Attendance System designed and implented for class polling and it is a open source project. Program saves information in database.
Philosophy
QR Attendance System is an open source project and the software runs under a Java license building bricks from bottom to top rely on open source software, tools, services, methodologies, and techniques. We try to use open source standards as much as possible to the benefit of the open source community and its members.
This page provides information about the server-side and client-side software stacks used and the various concepts, like for instance authentication or security in general.
Overview
The general architecture of the QR Attendance System monitors a client-server approach. Beckend provides service through Java via Android Studio, PHP via MySQL. The main reason that we choose Android Studio, Android studio is the official IDE (Integrated Development Environment) or tool (layman terms) for developing application exclusively for Android platform.
It has a strong editor tool for developing creative UI and emulators for different versions to test and simulate sensors without having actual Android devices.
It also has a very useful Gradle plugin using which you can create application files (apks) with different configurations. Moreover it makes exporting and uploading apk on playstore easy with a single click. It also has ANT build if you prefer that.
Also we choose MySQL, because MySQL Server is important for fast management of broad databases. Stories of its prosperity abound from rigorous production environments. MySQL Server undergoes regular development so it can accommodate essential functions. It comes with powerful security, connectivity and speed, factors that enhance its performance when it comes to gaining internet access.
3. Proposed software architecture
i. Overview
Any operating system and any browser that owns internet connection are able to run the system.
ii. Subsystem Decomposition
iii. Hardware/Software Mapping
iv. Persistent data management
The persistent data will be stored in the file system. For example;
-
xml files: They are plain text files that don't do anything in and of themselves except describe the transportation, structure, and storage of data.
-
java files: It's a plain text file format that's completely readable in a text editor and essential to the entire process of building Java applications.
-
SQL database files: There is a standart database for a system like this. There is enough tables for stable working. Tables created for attendance, students etc.
v. Access control and security
vi. Boundary conditions
Identifying Boundary Conditions During this activity administrator use cases. QR Attendance System, the life of the persistent objects time-consuming.
Use case boundary: Student can reach login, scan QR Code in use case diagram boundary profile management.
Teacher user create QR Code use case diagram boundary profile management.
Student is able to reach login and scan in use case diagram boundary QR Attendance System. Teacher user can reach the view of all attendance list in use case diagram boundary QR Attendance System.
Glossary
Java: Programming language
PHP: Web Development language
Mysql: Database
Teacher: User with access to create QR and view tables
Students: User with access to scan QR code