This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
This chapter will focus on research on various approaches and techniques of implementing and designing a Student Feedback System. It will pave way to gaining discovering things that will needed to accomplish this project. There will be a conclusion at the end of this chapter to summarise understanding.
General overview of Student Feedback System
Before the existence of computers, collection and collation of feedback would normally be based on the Pen and Paper technique which consumes time and slows down the pace at which information is gathered. There will normally be an increased level of unresponsiveness from targets. Capturing data with a GUI and storing data using a suitable DBMS makes collation of raw data faster and converted into information useful to Academic staff of an Educational institution. Previous feedback systems relating to this project will be reviewed to gather fact regarding the Student Feedback Database. This makes the process computerized and less time consuming during the collation of the data to generate final feedback reports.
Overview of Database
What is Database?
As the name depicts, database is a type of organized mechanism that allows for the storage, management and retrieval of processed data to produce compound meaningful information. Data stored can also be modified at any point in time. This can be done through the use of linked tables otherwise known as a set of relations and normally consist of row and columns. In database terms,
Every column can be termed as a field
Row is termed to be a Record
Collection of record is termed a Table.
Types of Database
Flat File Database
This is better used for little volume of data that need to be human readable and edited by hand. They are made up of a set of strings in files that can be parsed to retrieve the information they store; this is ideal for storing data values and simple lists, but this can lead to a lot of problems when trying to replicate complex data. This however does not mean data cannot be stored into a flat file database; only that it can take more time to process data and by so doing cost more money compared to a relational database.
Example of relational databases like Microsoft SQL Server, Oracle and MySQL possess more logical structure with the process of storing data. Tables are used to represent real world objects while each field is considered an attribute. For example, a table called Student could have the columns First Name, Last Name, Gender, Address, Email and Phone number, which will describe the details of each student where every row in the table would be a new student record.
Understanding the fact that "tables" can be linked together to other tables makes it a relation, for example a student record could be cross-referenced with another relation called Courses (assuming there was one) to provide more information about of how many courses each Student is enrolled to. This type of relation can be complex in nature, and would be difficult to replicate in a standard flat-file format.
One major advantage of the relational model is that, if the database is designed to function perfectly without any anomaly, data is not expected to be duplicated; this however helps to maintain database integrity. This also helps to keep size of file in the database moderate and save memory which is important when dealing with large volumes of data.
Database Comparisons (Flat File Vs. Relational)
In most cases, it is expected that a database support different types of data relations. This database when designed to function perfectly will speed up the retrieval of data from a database; and as well makes maintenance easier. To help keep a high level of data integrity, data duplication need to be avoided within a database, otherwise changes to one field will have to be made manually to those that are related.
Even though many flat-files can be linked together in a way to operate like a relational database, it can be slower. But a single connection to a relational database can access all the tables within that database; whereas, implementation of the same data in a flat file will result to opening a new file for each table.
Sorting of data in flat-file databases need to be done manually at script level. But relational databases have automatic set of functions that sorts and filters data which makes the output sent to the script our only concern. It is quicker to sort the data output before they are sent to the script rather than sorting them with a script. Only a few scripting languages are designed to filter data effectively; a script would have less work to do depending on how much functions a database supports.
Flat-file databases are not scalable like relational databases, so the best suitable database that is expected to perform more operation and handle large volume of data will be a relational database.
What is Feedback?
Definition of feedback has a broad meaning depending on the context its being related to. But in the case of a Student feedback system, this is defined as a means of assessment used to attain information on individual response to a course of study. This is used to rate performance in a chosen task.
Irons (2008) defined formative feedback as,
"Any information, process or activity which affords or accelerates student learning based on comments relating to either formative assessment or summative assessment activities."
Types of Database Connectivity
There are various ways of establishing connection between data stored in a database and how it would be displayed on a Graphical User Interface at user level. These modes of connectivity vary from each other even though they serve the same purpose, but work with different programming languages for easier operation. Below are a few examples with brief explanations;
Open Database Connectivity (ODBC)
This is a standard programming language Application Program Interface (API) for accessing a DBMS and is used as connection for applications coded in C or C++ language
Java Database Connectivity (JDBC)
This API allows for external entrance to a SQL database for the purpose of managing and updating commands.
This is a server side scripting language that has close connection with HMTL and is embedded into an HTML source file rather than calling an external file to execute code. It is open source and examples of what it can do is gather form data, produce dynamic page content and even send and receive cookies amongst many others.
This is the new database technology of the .NET (Dot Net) platform, and it builds on Microsoft ActiveX Data Objects (ADO). It provides access to imputing, managing, retrieve and manage relational data, XML documents and application data.
Hypertext Processor (PHP)
This Scripting language is used for posting and controlling dynamic content targeted for a webpage.
PHP is also understood to be a web language because it is used to create content on webpages.
When using PHP, reusable data structures can be defined. These structures are known as objects. Attributes also known as properties and things they can do also known as methods can be defined. Relationships can also be created between data structures and objects.
PHP is an open source language - The general public has access to the original source code that was used to initially develop PHP.
What can PHP do?
It can be used to identify a users browser
Can read and write cookies
Can obtain data from forms stored in a database
Can be used to communicate between databases, this is the process of a user being able to store data in a database and at a later time retrieve and manipulate data to save changes. These changes will be stored once again in the database.
And more can still be done.
How can data be stored, modified and retrieved by a User?
Data stored in a database can be queried with the use of mySQL and results can be posted to a display screen or the GUI using PHP in connection to the client side scripting language which is HTML. Below is a research carried out on the type of server side scripting language often used to develop dynamic and interactive content on a webpage.
This stands for Structured Query Language. It is used to query stored information from a particular DBMS.
MySQL is known to be an open source Rational Database Management System (RDBMS) and it solely counts on SQL for data processing. MySQL is a cross platform language which makes it run on several operating systems including Windows, Mac OS and UNIX. It is known for being reliable, fast and used for embedded and web applications.
MySQL data types and Database commands
There are numerous SQL commands that can be used in a MySQL DBMS. These commands can carry out various actions which include creating tables, inserting data to tables, creating databases, deleting tables etc.
use - Selects a database for usage.
create database - Used to create a database.
create database name_Of_Database_To_Be_Created;
create database database1;
create table - Used to create a table in a database.
create table name_Of_Table_To_Be_Created();
create table table1();
select - Used to select particular data from a database together with the from command.
select data_To_Be_Selected from table_From_Which_To_Select_Data
select * from table1
describe - Used to describe the structure of a table.
drop - Used to delete a table.
insert - Together with the into keyword is used to add a record to a table.
insert into name_Of_Table_To_Insert_Record_Into values(place values to be inserted into table here);
insert into table1 values(4, 'text string', 'another text string', 6);
MySQL is data specific, which means that data cannot be inserted just anywhere. Hence, there are different types of data to be used for different data types.
MySQL data types:
int - Holds a numeric value between -214783648 and 214783647.
text - Holds a string having a maximum length of characters of 65535.
char - Holds a string having a fixed length of characters from 0 to 255.
varchar - Holds a string having a variable length of characters from 0 to 255.
Connecting to a MySQL database
A connection to a MySQL database is established through PHP's mysql_connect() function which is then stored in a connection handle.
$connectionHandle = mysql_connect("server", "username", "password");
<?php $connection = mysql_connect("server1", "user", "pass"); ?>
In the above example, a variable named $connection is used as the connection handle to a MySQL database. The parameters in the mysql_connect() function indicate to connect to a server named "server1" with the user name "user" and the password "pass".
Once a connection to a MySQL database is established, you have to select a database from which to get data. This is achieved with the mysql_select_db() function.
<?php $connection = mysql_connect("server1", "user", "pass"); mysql_select_db("database1", $connection); ?>
In the above example, a variable named $connection is used as the connection handle to a MySQL database. The parameters in the mysql_connect() function indicate to connect to a server named "server1" with the user name "user" and the password "pass". The database selected is "database1", and the connection handle used is $connection.
Creating a query to and getting data from a database
Once a connection is established and a database selected, the next thing to do is create a query to the selected database. Queries are created by PHP through the mysql_query() function.
$string_Which_Will_Return_Data_From_Query = mysql_query($the_Query, $the_Connection_Handle_To_Use);
<?php $connection = mysql_connect("server1", "user", "pass"); mysql_select_db("database1", $connection); $theResult = mysql_query("select * from table1", $connection); ?>
In the above example, a variable named $connection is used as the connection handle to a MySQL database. The parameters in the mysql_connect() function indicate to connect to a server named "server1" with the user name "user" and the password "pass". The database selected is "database1", and the connection handle used is $connection. The variable named $theResult is a string which will return the data from the query. The query is specified as the first parameter in the mysql_query() function as "SELECT * from table1". This query will return all the data from the table named table1. The second parameter in the mysql_query() function is $connection - it specifies which connection handle to use for the query.
Closing the connection
After the connection is established, the database selected & queried, and the data received, the connection to the MySQL database needs to be closed. This is achieved through the mysql_close() function.
<?php $connection = mysql_connect("server1", "user", "pass"); mysql_close($connection); ?>
Tools and Techniques
Operating System - Microsoft Windows 7
Database - Microsoft Access
Client side scripting - HTML
Sever side scripting - PHP6
Sever side technology - mySQL
This chapter will focus on studying and assessing similar products relating to the design and implementation of a Student Feedback System. This is to derive understanding on how previous applications with similar scope have been designed. Analysing the non functional requirements of such applications will further lead to this projects analysis phase.
This section will explain the principle of standards that an application has possessed. This will as well give detailed explanation of the bit and pieces that makes up the application in order for it to functions properly as a working system.
When a user first opens a program, it is important that the program possesses some sort of logo or style identifying itself to the user. This would be in form of a welcome message which would include the name of the program. Secondly, a logo on the upper left or right and corner of the welcome page would be ideal so make user aware he/she is in the right place.
Logo of educational institution
About this program link - This will briefly introduce the user to what the feedback system does.
This is can be explained as the way a software program is represented graphically to a user. It is what generates attractiveness for users to develop interest in purchasing and using a software program. This can be sub divided into the under listed;
Optimization of graphics (Flash pictures and automatic thumbnails)
This is the interactive aspect of a program. Its enables users to perform certain activities on a program and in return giving acknowledgement to a user that the activity has been accepted by the program. Functionality is also determined by a considerably huge factor which is based on the purpose of the program. Example of a Feedback System functionality will include;
Database form - This is a form that sends filled user data into a linked database
Admin Login link
This is the way by which a user finds he/her way around the software program and how easy they find accessing the program. This can be achieved by following good coding practice and tidying up the Graphical User Interface (GUI) so to make it less boring. Below are few rules that need to be adopted in making a program user friendly and appealing.
Main home page navigation must be easily accessible
Test questions must be direct and means of feedback should be next to each question
Tab label must be concise and clear
Number of link on each tab must be of a reasonable amount
Links must be easy to identify etc......
Below is a photographic example of a good and bad website.
IIUM Student Feedback System - International Islamic University of Malaysia
This is a review carried out in the Student Feedback page of the International Islamic University of Malaysia.
On the home page of the IIUM SFS, A logo has been made legible on the top left hand side of the page
On the left window pane of the home page, a brief introduction has been made legible to give an insight to what the SFS is all about.
Logo of Educational Institution Brief Introduction of SFS
There has been no flash picture used on the home page. This, I strongly believe the purpose of the program does not warrant such an addition. There are however quite a number of links which assists a user with resetting password and contacting Admin if need be for professional assistance if login authentication fails.
Use of colour has also been of good standard. For example, the background colour of the left window pane has been left at "white" throughout so a user will be able to easily read and understand text without having to strain the eyes.
The first frame which is the upper frame shows the logo and boldly describes the program as a Student Feedback System for IIUM.
The second frame which is at the left hand side of the webpage has been used to display text and defines the following;
Introduction to the Student Feedback System,
Provide adequate login guidance
Forgot password and reset instructions
Contact SFS administrator
This window pane has been made scrollable because there is quite alot of text displayed there. This will have been achieved adopting the use of the Frame html tag for dividing the webpage into 3 sections.
The third frame which is on the right hand side of the SFS has been used to provide the login portal where users will have their username and passwords submitted. When authenticated, users are allowed access into the SFS, else they will be prompted to contact the administrator for more assistance.
In conclusion, the above Student Feedback System posses good coding ethics and hence has provided assistance with how a good system Graphical User Interface (GUI) should be designed and functions that will be attached to each element. After successfully reviewing the non functional requirements of a SFS, this will however lead us to the analysis stage of this project to further assist with deriving the functional requirements necessary for the system.
National University of Singapore