Download as pdf or txt
Download as pdf or txt
You are on page 1of 79

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/334726156

Final Year Project Dissertation

Thesis · May 2019

CITATION READS

1 12,670

1 author:

Navin Bajgai
University of Salford
4 PUBLICATIONS 1 CITATION

SEE PROFILE

All content following this page was uploaded by Navin Bajgai on 29 July 2019.

The user has requested enhancement of the downloaded file.


Final Year Project Dissertation - 2019
Project: A Centralised System for an Effective Student Examination
Management

BSc (Hons) Software Engineering


Level: 6

Project for Software Engineering (SE)

Student: Navin Bajgai (@00433761)


ddddd
Supervisors: Dr J Preiss & Dr C Bryant
ddddd
Word Count: 15,365 (excluding references and appendices)

Page 0 of 77
TABLE OF CONTENTS
1 Abstract ............................................................................................................................... 3
2 Project Introduction ............................................................................................................ 4
2.1 Motivation for the Project ........................................................................................... 4
2.2 Aim and Objectives ..................................................................................................... 4
2.2.1 Aim ...................................................................................................................... 4
2.2.2 Objectives ............................................................................................................ 4
3 Literature Review ............................................................................................................... 6
3.1 Examination Scheduling and Timetabling .................................................................. 6
3.2 Web-based Examination System ................................................................................. 6
3.3 Student Examination Result Management .................................................................. 7
3.4 Summary of the Review .............................................................................................. 8
3.5 Justification ................................................................................................................. 9
4 Methodology..................................................................................................................... 10
4.1 Research Method and Methodology ......................................................................... 10
4.2 Development Methodology ....................................................................................... 10
4.3 IDE, Framework, Languages and Algorithms .......................................................... 11
5 Requirements, Specification and Design .......................................................................... 13
5.1 Chosen Approach for Requirements Gathering – Qualitative Research ................... 13
5.2 Types of Requirements.............................................................................................. 13
5.2.1 Functional Requirements ................................................................................... 14
5.2.2 Non-functional Requirements ............................................................................ 19
5.2.3 Usability Requirements ...................................................................................... 21
6 Development and Implementation.................................................................................... 23
6.1 Development Process (Incremental Software Development Methodology) ............. 23
6.1.1 First Increment ................................................................................................... 23
6.1.2 Second Increment............................................................................................... 25
6.1.3 Third Increment ................................................................................................. 27
6.2 Chosen Methodology for Development & Implementation ...................................... 28
6.2.1 Incremental Software Development Methodology ............................................ 28
6.2.2 IDE, Framework, Languages and Other Techniques Used................................ 28
6.3 Analysis of Problems Faced & Solutions Adopted during Implementation ............. 29
7 Testing and Results Analysis ............................................................................................ 30
7.1 Unit Testing ............................................................................................................... 30

Page 1 of 77
7.2 Integration Testing .................................................................................................... 33
7.3 End-To-End (Full-System) Testing ........................................................................... 35
7.4 Usability Testing ....................................................................................................... 36
7.5 Platform-Independence Testing ................................................................................ 37
7.6 CSS Rules Validation ................................................................................................ 37
7.7 Analysis of Results Achieved ................................................................................... 38
8 Critical Evaluation and Reflection ................................................................................... 42
8.1 Review of Project’s Achievements Against its Objectives ....................................... 42
8.2 Review of Project Plan and Any Deviations from Original Plan .............................. 43
8.3 Product Evaluation .................................................................................................... 43
8.4 Dissertation Deliverables Reflection ......................................................................... 44
8.5 Personal Reflection ................................................................................................... 45
9 Conclusions ...................................................................................................................... 46
References ................................................................................................................................ 47

Appendix 1 - FYP Participant Information Sheet .................................................................... 49


Appendix 2 - FYP Participant Consent Form .......................................................................... 50
Appendix 3 - Final Year Project Questionnaire ....................................................................... 51
Appendix 4 – FYP Usability Testing Questionnaire ............................................................... 52
Appendix 5 - Gantt Chart ......................................................................................................... 53
Appendix 6 – Project Proposal ................................................................................................ 54
Appendix 7 - Logbook ............................................................................................................. 59

Page 2 of 77
1 ABSTRACT
Project Research Question: “Would the students’ life be made easier by a web-based
examination management system with the features that allow students to view their
examination timetables online and to estimate their overall grade based on the previously
accumulated marks and marks estimated for the future assessments?”
The University of Salford currently sends email to students with all the information regarding
students’ examination timetables, but the University doesn’t yet make the timetables available
on the web system such as, Blackboard VLE or Student Portal for students to view their
examination timetables from their desired location and time.
It can be a tedious task for students to go through the email inbox and search for email received
from the university weeks or months ago about their upcoming examination timetables.
Therefore, it was hypothesised that the building of a web-based system would be a suitable
solution for the existing problem because the upcoming examinations will be added and
updated by the administrators in the university using a web-based system including the details
such as exam name, course, module, time, duration and venue which can then be viewed by
the students by logging in to the web-based system.
The survey was done to the students in the form of questionnaire to understand their opinions
and get feedback on the facilities currently being offered by the university in the context of
examination management. This was helpful and beneficial for requirements gathering and
elicitation.
The login functionality was created for the users (admin and students) with the possibility to
login to a web-based system using a university’s username. The admin functionality was
created to allow users with admin privileges to register student to a course and to a web-based
system and additionally, to add and publish exam timetables. The mail server was implemented
for emailing students their course and web-based system’s registration details including the
login credentials for a web-based system.
The web-based system was fully tested and evaluated in terms of functionality, security and
usability with the assistance of students at the university to ensure that it is fit for purpose. It
was agreed that the features and facilities offered by the new system will play an important role
in improving student’s planning, management and convenience.

Page 3 of 77
2 PROJECT INTRODUCTION
Currently, examination management includes a lot of manual calculations and is mostly paper-
based. Taking an example of a Salford University, the examination timetables are emailed to
the students but are not made publicly available on the university website or on any web-based
system. The project aims to bring in a centralised web-based system which will ensure the
activities in the context of an examination are effectively managed. This dynamic web-based
system will ensure that the students will be able to view and modify their personal and the
course details and as well as view the examination timetables by gaining an access into the
system with the login credentials provided by the school administrator. The facility for
estimating the overall course grade based on the previously accumulated marks on different
modules and on the estimated marks for the future assessments will also be provided to the
students by the web-based system that will be created.

2.1 MOTIVATION FOR THE PROJECT


The motivation came from my friends at the University who thought and agreed unanimously
that the idea of creating a web-based system for managing the examination timetable would be
very beneficial for the students as it would let them see their examination timetables online
from anywhere at any time rather than going into the email inbox and searching for the email
received by the university weeks or months ago about their examination timetable. It was also
mentioned by my friends that the feature for estimating the overall grade sounds promising and
helpful which they haven’t seen yet as they think it would help them know what to expect from
their course and which modules should be given more priority to achieve their targeted overall
grade/degree.
In general, I believe that undertaking this project will provide me with an opportunity to
demonstrate my understanding of the principles of software engineering by developing a
substantial application over a period of several months applying the theoretical knowledge
about software engineering methodologies, tools and techniques learned from the past couple
of years of my study to resolve a realistic problem.

2.2 AIM AND OBJECTIVES


2.2.1 Aim
The main aim of this web-based project is to create a centralised system for an effective
management of student examination by ensuring that the students will be able to view and
modify their personal details and the course details and as well as view the examination
timetables and additionally, estimate their overall grade based on the previously accumulated
marks and estimated marks from the future assessments, by gaining an access into the system
with the login credentials provided by the university during an enrolment.

2.2.2 Objectives
The main and core objectives of the project are as follows;

1. To identify user requirements by conducting a survey to approximately 20 students at


the University of Salford in the form of questionnaire as suggested by the supervisor

Page 4 of 77
by the end of week 4. It will be measured by critically evaluating and analysing the
results obtained from the survey in the form of bar chart.

2. To store the data such as students’ personal details, their module marks, course details
and administrator details in an efficient and in a secure manner by creating a secure
database and by applying appropriate encryption methods against the SQL injection. I
aim to complete this objective during the implementation phase of my project by
approximately week 12.

3. To create functional specifications and features summary document using UML


diagrams by evaluating the results obtained from survey and by identifying the key
features the users think the system must provide. I aim to complete this objective during
the requirements phase of the development by approximately week 12.

4. To design and create a prototype and wireframe for the web-based interface to ensure
that the features identified in the user requirements phase are included and achieved
and as well as to define a logical navigation of a web application. This will be measured
against the original user requirements obtained and identified from the survey. I aim to
complete this objective in the requirements phase by approximately the end of week 13.

5. To decide on and choose the technology, platform and development environment for
the implementation of a web-based system by researching on the most commonly used
technology and development environment for creating a server-side web-application
with the set of multiple dynamic pages. This will help me prepare well for the
implementation phase of the project at an early stage if I need to learn new
programming languages and framework. I aim to complete this objective by the end of
requirement phase.

6. To devise a mathematical formula for calculating students marks on different modules


based on each module’s credit value and finally estimate the overall degree
classification for the students based on the percentage of how much each level of course
is worth and contributes towards a final degree classification.

7. To implement a web application using a wireframe created at an earlier stage of the


project with the consideration of desired user requirements. The measurement of this
objective will be through a rigorous testing of a web application at the end of each
increment and as well as at the final stage of development. This will help eradicate the
existing bugs in the system. This objective is aimed to be completed by the end of
implementation and testing phase of the project, which is the end of week 29.

The optional project objectives are as follows;

1. To identify, analyse and choose third party products and services such as Web
Application Development Company and Managed Hosting Provider to host the website
for publicity purpose and as well as for enhancing the performance and security of a
web application.

2. To research on the implementation of geolocation for directing students to the building


in university in which they are having their examination using google APIs.

Page 5 of 77
3 LITERATURE REVIEW
Project Research Question: Would the students’ life be made easier by a web-based
examination management system with the features that allow students to view their
examination timetables online and to estimate their overall grade based on the previously
accumulated marks and marks estimated for the future assessments?
The University of Salford currently sends email to students with all the information regarding
students’ examination timetables, but the University doesn’t yet make the timetables available
on the web system such as, Blackboard VLE or Student Portal for students to view their
examination timetables from their desired location and time.

3.1 EXAMINATION SCHEDULING AND TIMETABLING


(Chan & Zhang, 1997) said that scheduling final examinations for a university with different
requirements is a tedious and laborious task. From a university standpoint, managing and
scheduling examination timetables is very time-consuming for the administration staff as they
need to produce a schedule that best meets the various mandatory examination requirements
including students and courses enrolments, room capacity and times and staff members
availability. Another paper by (Dimopoulou & Miliotis, 2001) closely related to the
Examination Scheduling, also highlighted the problem with examination timetabling as they
said that the major difficulties being faced in constructing a feasible schedule are the restricted
availability of classrooms and the increased flexibility in the students’ choices of course.
In terms of Methodologies, (Chan & Zhang, 1997) used Mathematical Modelling to avoid the
direct conflicts between two examinations, for example, Symmetric Matrix in which the direct
conflicts between two examinations were expressed in. On the other hand (Dimopoulou &
Miliotis, 2001) mentioned that Integer Programming (IP) model was used to assign courses to
time slots and rooms and Heuristic methods were used to estimate the local optimisation for
the examination selections.
Despite the two projects having two different approaches to solve an equally difficult and
challenging task regarding the examination scheduling, the aftermath always seems to be the
same. (Chan & Zhang, 1997) claims to have developed a powerful and flexible examination
scheduling system which computerises the process of producing and delivering a clash-free
examination schedule considering all the details of tracking and checking direct conflicts
between examinations and room assignments. Similarly, (Dimopoulou & Miliotis, 2001)
claims that there are no conflicts between the examinations and room assignments as they say,
“no student is called to take more than one examination at a time”. The latter also claims to
have developed a system that enables students to view the examination timetable and to enter,
modify and display all appropriate data online.

3.2 WEB-BASED EXAMINATION SYSTEM


Some articles and conference papers reviewed focus on the implementation of an online
examination system for allowing students to take tests online.
The journal by (Abass, Olajide & Samuel, 2017), in their work, defines a web-based system
particularly developed for an education institution in Nigeria for the conduct of an examination

Page 6 of 77
through the web or intranet and as well as for producing examination results. (Omoregbe, Azeta,
Olawafunmilola & Adewumi, 2015), from the department of Computer and Information
Sciences in Covenant University in Nigeria, in their 2015 conference paper, also defines a web-
based system for conducting an examination online and for processing the results.
It can be seen and understood clearly that the two web-based examination systems mentioned
above have been designed for serving the exact same purpose, which is to enable students to
take examination online and then to process the examination result upon a completion. What
can also be understood here is that both implemented web-based systems comes from the same
background as they both have described the similar research problems and difficulties on their
papers which led them to the idea of creating such web-based systems. (Abass, Olajide &
Samuel, 2017) describes the problem for their research saying the traditional (paper-based)
method of assessment includes leakage of questions and a lot of human errors during the
marking of exam scripts and recording the scores. In addition to the above problem, it was also
mentioned that the processing of examination results has been frightened with various
problems leading to inability to release result on time and accurately. In reference to the
problem identified above by (Abass, Olajide & Samuel, 2017) regarding the level of fairness
in traditional method of examination, (Omoregbe, Azeta, Olawafunmilola & Adewumi, 2015)
mentioned in their conference paper that the main problem is that students are more likely to
cheat under the traditional method than on the electronic method and they believe this could
seriously affect the fairness in examination.
The first web-based examination system was developed using different programming
languages and technologies including HTML5, CSS3, PHP (for front-end) and MySQL (for
back-end). Alternatively, the latter web-based system was developed in a .NET Framework
where HTML and ASP were used for the design interface of the system while C# was used for
the server-side programming and Microsoft SQL Server was used for the database
implementation.
The latter believes that the system is evaluated and fully tested as they say that the system was
tested on the university intranet and students were able to test run the system using some sample
multiple choice examination questions.
To conclude the two papers above, the development of both web-based systems achieved the
similar outcomes. It is described on the both papers that the web-based systems helped
institutions on the reduction in the amount of workload on examination, grading and viewing.
Both papers have talked about the reasonable level of security and integrity being implemented
on their web-based systems. It is well-known that PHP is Open Source whereas ASP.NET is
from Microsoft Corporation therefore, PHP is more vulnerable than ASP.NET and it is best
suited for small scale, start-up solutions. On the other hand, ASP.NET is known as industrial
strength framework (Stack Exchange, 2018) as this framework is complemented by rich
toolbox and it drastically reduces the amount of code required to build large applications.

3.3 STUDENT EXAMINATION RESULT MANAGEMENT


It is vital that students’ examination results are processed accurately and in time and are kept
securely within the university’s database. (Student Result Management System Python, 2018)
identified in their studies that every university, school or college has challenges to overcome
and managing the information of result, student, class, subject and semester.

Page 7 of 77
The Student Result Management System was created with an aim to bring reduction in manual
work for managing the student’s academic data including course, modules and results by only
granting an access to the administration. “The project is aiming to incorporate IT into the realm
of examination management during an examination season.” (Lashkari, Parhizkar & Tayyud,
2010). The latter defined a system for various purposes in the context of examination
management. They stated that one aspect of their system is to provide a way for students to
view their marks in an efficient, effective and convenient manner.
In terms of development, the Student Result Management System was developed on Python
Runtime Environment with MySQL Server Database following a Model View Controller
(MVC) approach. On the other hand, the latter was developed following Object-Oriented
Methodology and Spiral Software Development Model. Some complex data and text mining
approaches primarily based in Bloom’s Taxonomy were also used to automatically place the
exam questions into the certain levels of difficulties. The first system tends to be just a system
with user-friendly interface and interaction for allowing university and students to view and
manage students’ results and other data. On the other hand, the later, developed using data
mining algorithms, prevails to have developed a more complex and reliable system.
In terms of solutions and achievements, the above two systems are very different to each other
because the latter is much more complex and offers a range of features to the users in the
context of examination management. However, the both systems also share some common
features. The both systems have a web portal for students to check their details and grades and
additionally, in the later system, the students can also view the digitized version of their paper-
based answer sheets showing the markings and mistakes made on the answer sheet.

3.4 SUMMARY OF THE REVIEW


Various literature sources including articles, conference paper, web-pages, project reports that
are broadly and closely related to Examination Timetabling and Management have been
reviewed and investigated to identify, discuss and critically evaluate the concept, problem and
hypothesis in relation to my own project research topic. The literatures have been classified,
discussed, compared, contrasted and analysed into three broad topics, all in the context of
student examination management.
Majority of articles reviewed focused on the Examination Scheduling using Mathematical
Modelling and Statistical Learning Methods to organise a clash-free examination schedule
meeting various student and course enrolments requirements, examination room requirements
and the specific scheduling rules and constraints of the university. Some articles and project
reports reviewed focused on the development of a web-based examination system using Open
Source Programming models with the aim of reducing the amount of workload on examination,
grading and reviewing. Despite each literature having a distinct aim and a goal in different
ways in the context of Examination Management System, one main common objective
identified from the literatures is to increase the level of efficiency, security and integrity on the
web-based examination management system.

Page 8 of 77
3.5 JUSTIFICATION
When it comes to my own project research topic after the rigorous review of the literatures on
a variety of topics under examination management, there are few aspects and areas that have
been identified in which my project idea closely relates to.
The review of some articles (Chan & Zhang, 1997) and (Dimopoulou & Miliotis, 2001),
regarding the Examination Scheduling using Mathematical Programming Models and
Statistical Learning Methods do not closely relate to and do not make any significant
contribution to the research on my project area because my project will only focus on
implementing an interface for administration for updating examination timetables manually
without having to perform the scheduling tasks using mathematical programming models and
algorithms to generate available examination rooms and slots.
The review of some literatures (Abass, Olajide & Samuel, 2017) and (Omoregbe, Azeta,
Olawafunmilola & Adewumi, 2015), regarding the development of online Examination System
using Open Source Programming Model sound promising and challenging but the web-based
system that will be created for my project will not involve an actual examination that allows
students to take tests. Nevertheless, some of the methodologies and techniques described in the
literatures including ASP.NET framework, C# OOP language, MySQL Workbench for
database, Model View Controller (MVC) Design Pattern and Spiral Software Development
Model, used for creating the web-based systems are highly related to my project as I will be
using similar methodologies for the implementation of a web-based system for my project.
Some literatures (Student Result Management System Python, 2018) and (Lashkari, Parhizkar
& Tayyud, 2010), highlighted the features of making students examination results available on
the web portal, which is very closely related to my project idea because this is one of the
features that will be implemented into the web-based system for my project.
Although the methodologies followed, and the solutions achieved in the literatures are widely
irrelevant to my project research topic, one major thing that can be taken into consideration
and that contributes to the overall purpose of my project is the level of user interface and
interaction the web-based system must provide.
Surprisingly, one key aspect of my project for estimating final grade of students was not taken
into consideration in any of the literatures. Therefore, I strongly believe that this is a huge gap
that can be filled in by my project in the context of Student Examination Management.

Page 9 of 77
4 METHODOLOGY
Design and implementation projects require a range of methodologies to be followed
systematically and precisely for a robust, reliable and repeatable outcome.

4.1 RESEARCH METHOD AND METHODOLOGY


The Qualitative Research Methodology has been adopted as my project has an aim of bringing
in a centralised system for managing student’s examination efficiently and effectively which
will require students’ participation in terms of identifying and evaluating the features
implemented in the web-based system.
(McLeod, 2017) describes the aim of qualitative research is to understand the social reality of
individuals, groups or cultures as much as possible as its participants feel it or live it. A variety
of methods including face-to-face interviews, open-ended questionnaires and participant
observation can be used by qualitative researchers to develop deep understanding of the
experience of participants about the particular context. (Chan & Zhang, 1997) conducted
interviews to the senior administrative and operational staff who were responsible for the
hands-on production of examination schedule. Prototyping approach was also adopted for the
user review, said (Chan & Zhang, 1997).
The project will involve surveying students in the form of questionnaire. Approximately 20
students will be surveyed at the university. According to (McLeod, 2017), the strengths of
qualitative research methods are that it will help researchers gain an insider’s view of the field
which will allow them to spot and rectify subtle and complex issues and features that are often
omitted in the system. The survey will be done at the requirements phase of the project for
requirements gathering and elicitation purpose because it is believed that this will help
understand the students’ feedback on the features and facilities they are being offered by the
university presently in the context of examination timetabling and management and what
improvements would like to suggest and see in the new system. The survey, in the form of
questionnaire, will be done again to the same participants after the implementation of an actual
system for the user review and evaluation.

4.2 DEVELOPMENT METHODOLOGY


The Spiral Development Methodology was adopted by (Lashkari, Parhizkar & Tayyud, 2010)
because they believed that returning from the current stage of development to the previous
stage/s, i.e., from design to requirement, would take place frequently.
(Pal, 2016) highlighted the advantages of Spiral Model as being ideal for large and complex
projects and easier risk handling. (Lashkari, Parhizkar & Tayyud, 2010) seems to have
benefited from adopting the Spiral Development Model as they describe in their work that they
followed the prototyping approach (comes under Spiral Model) for the user-review which
supported the risk handling for their large-sized project.
Incremental Development Methodology has been considered for my rather simple, individual
and small-sized project. (Ghahrai, 2017) said that Incremental Model is well suited for
individual project and is commonly used in web applications and product-based companies.
The notion of Incremental Model is that the software is designed, implemented and tested
incrementally until the whole system is finished. Incremental Model has some limitations. Each

Page 10 of 77
new build must be integrated with previous builds, therefore Incremental Model is not well-
suited for real-time and safety-critical systems, for example, a traffic monitor system.
(Ghahrai, 2017) thinks that the development process between Incremental and Waterfall Model
is similar in some way as he says, “Incremental combines the elements of the Waterfall Model
with the iterative philosophy of prototyping”. Waterfall Model are well-suited for real-time
systems because each phase is completed fully before the next phase starts as there is no way
back to the previous phase and therefore, the whole system is implemented in one increment.
Consequently, the chosen development methodology for my project is Incremental. The system
will be developed in a series of increments and the main reason for adopting this development
methodology is that the minimum viable product can be created in the first increment of the
development process and the following increments can then be easily integrated with the first
increment.

4.3 IDE, FRAMEWORK, LANGUAGES AND ALGORITHMS


Even though most of the literatures were different from each other in terms of their solutions
and achievements as each had a distinct aim, all works required a creation of a dynamic web
application for presenting and updating data to the users using a range of server-side
programming languages, web development technologies and database implementation.
(Omoregbe, Azeta, Olawafunmilola & Adewumi, 2015) and (Student Result Management
System Python, 2018) developed a system for their projects in ASP.NET Framework with
Microsoft SQL Server for database implementation. Alternatively, PHP server-side language,
in conjunction with MySQL Workbench, was used by (Abass, Olajide & Samuel, 2017) in their
work. The latter rationalise their choice of MySQL Workbench for database implementation
saying it is a unified visual tool for creating, executing and optimising SQL queries that
provides increased reliability, performance and scalability for web-based database applications.
(Solutions, 2017) highlighted one major difference between the above two RDBMS in terms
of platform compatibility. MySQL is an open source RDBMS therefore, it can be used on
various operating systems including Windows, Linux and Mac OS X whereas SQL Server is
platform dependent as it is a Microsoft Product and used only on Windows OS.
(Frederik, 2014), Director of Engineering at WizeHive, compared PHP to ASP.NET as apple
to orange and PHP to C# as one apple to another. PHP and C# are both programming languages,
but C# is an Object-Oriented Programming language whereas PHP is a server-side scripting
language mainly used for web development but also used as a general-purpose programming
language. According to (Frederik, 2014), PHP is a programming language and ASP.NET is a
web framework which uses C# or VB.NET to program and define the modelling of a system.
(Frederik, 2014) understands from his 8 years of software development career that PHP is more
vulnerable than ASP.NET and is best suited for small scale, start-up solutions. He also points
out one limitation of PHP for not supporting threading for allowing multiple chunks of code
run at the same time. In reference to the above issues with PHP, (Stack Exchange, 2018), on
the other hand, says that ASP.NET is known as industrial strength framework as this
framework is regarded as the best platform for developing local and global websites and mobile
applications.

Page 11 of 77
After comparing all available frameworks and programming languages that can be used for
developing a web application, Microsoft Visual Studio has been chosen as an IDE which will
support the ASP.NET Framework with C# as a programming language. Model View Controller
(MVC) design approach, one of the features offered in ASP.NET Framework, can be used to
separate the modelling, the presentation and the logic of a program into three different layers.
This will help manage the structure of the coding for my project with a clean separation of
application’s data, logic and rules. Because ASP.NET is complemented with rich toolbox
comprised of enriched User Interface elements, it will drastically reduce the amount of coding
time required for building a feature-rich customized web application for my project. MySQL
Workbench has been chosen to manage the students’, university’s and examination related data
in a secure database because it is frequently updated with features and security improvements
with a greater focus on speed and reliability. Another reason for choosing MySQL Workbench
is that it provides data modelling and comprehensive administration tools for user
administration, backup and more.
As justified in the Literature review, a feature for allowing students to estimate their overall
grade is a huge gap that can be filled in by my project. A mathematical formula will be devised
for calculating students marks on different modules based on each module’s credit value and
finally estimate the overall grade for the students based on the percentage of how much each
level of course is worth and contributes towards a final degree classification.

Page 12 of 77
5 REQUIREMENTS, SPECIFICATION AND DESIGN
Requirements elicitation was taken into a high consideration, which was in fact the first stage
of the project, in order to make sure that when the development process gets started, the
problem of scope, understanding and volatility are clearly avoided. The preliminary
requirements were recorded and documented in various forms including user-stories, use-cases
and activity diagrams. Due to the software development methodology being Incremental, it
was imperative that the requirements are highlighted and critically evaluated for the planning
of each increment.

5.1 CHOSEN APPROACH FOR REQUIREMENTS GATHERING – QUALITATIVE RESEARCH


In terms of research and information gathering, the Qualitative Research approach was
adopted because the project involved surveying students in the form of questionnaire.
“Qualitative Research is used to gain an understanding of underlying reasons, opinions and
motivations” (DeFranzo, 2011). The preceding sentence supports the understanding of
qualitative research as an approach to compare the two similar systems in terms of features and
functionalities that are to be offered by the two systems. These three questions listed below
were taken into a consideration;

➢ How does the organisation operate at the present?


➢ What are the problems with the current system?
➢ What are the requirements users have of a new system that are not in the current system?

The survey, in the form of questionnaire, was conducted to 20 students at the university of
Salford which included the questions and statements in a Likert scale approach for scaling the
participants’ responses in terms of the extent to which participants agree with the statements.
This approach has been beneficial in requirements gathering and elicitation as it helped to
understand the students’ feedback regarding the features and facilities they were currently
offered by the university presently in the context of examination timetabling and management,
and what improvements would the students like to suggest and see in the new system.

A copy of Final Year Project Questionnaire, along with the Participant Information Sheet
and the Consent Form can be found in the appendix of this document.

5.2 TYPES OF REQUIREMENTS


In any software project, requirements gathering is considered as the first phase of the software
development process. According to (Inflectra, 2018), the list of requirements (functional, non-
functional, technical, etc) are usually generated from various stakeholders involved in the
project that will be used as the basis for the formal Requirements Definition.
Similarly, for my web-based project, the different types of requirements, with the consideration
of a user of the system and the system itself, were gathered to model the structure of a web-
based system.

Page 13 of 77
5.2.1 Functional Requirements
Functional requirements are generally the high-level statements of services the system should
provide, how the system should react to the particular inputs and how the system should behave
in a particular and/or specified condition.
The key functional requirements of a web-based system designed for Student Examination
Management, that were identified, are presented below in the table;
No. Requirement User Role
1 A user shall be able to register student to the course using the Admin
web-based system.
2 A user shall be able to receive the registration details along with Student
the web system login credentials upon a successful completion of
a registration.
3 A user shall be able to log in and out of the web system. Admin, Student
4 A user shall be able to change and reset his password. Admin, Student
5 A user shall be able to view all students registered at the Admin
university.
6 A user shall be able to filter students by their course. Admin
7 A user shall be able to view and modify student’s personal Admin, Student
details.
8 A user shall be able to delete the student account. Admin
9 A user shall be able to add exam timetables to a web system Admin
10 A user shall be able view the upcoming exam timetables in a web Admin, Student
system.
11 A user shall be able to contact university by sending his enquiry. Student
12 A user shall be able to be navigated to the exam venue. Student
13 A user shall be able to estimate overall programme mark and Student
degree classification based on the marks accumulated in the
second-year modules and marks expected in the final year
modules
14 Each user using the web system shall be uniquely identified by Admin, Student
his or her 9-digit user number with the mixture of integers and
letters.
15 Each user shall be given a user role to uniquely identify whether Admin, Student
they are a student or an admin.
16 A user shall be notified of the account update and the password Student
reset via the email.
Table 1: Functional Requirements for a web-based system

5.2.1.1 System Design Diagrams


The Unified Modelling Languages (UML) diagrams have been used for modelling the
structures, behaviours and interactions of the application/software system. As said in the
official Visual Paradigm website “don’t just tell them, show them”, this conveys the message
to all software designers out there that a picture is worth thousand words and that this can be
very easily linked with the significance of visual paradigm techniques.

Page 14 of 77
5.2.1.1.1 Use-cases Diagram

Figure 1: Use-case Diagram for a Web-based System

Figure 2: Visualisation of Use-cases according to user role in the web system

Page 15 of 77
5.2.1.1.2 Activity Diagrams
Activity diagrams have also been produced for modelling some of the use-case behaviours of the system. The diagrams below are basically a flow
chart that represent the flow from one activity to another activity for certain use-cases.

Figure 3: Activity Diagram - Creating Student Account Figure 4: Activity Diagram - Adding Examination Timetable

Page 16 of 77
Figure 5: Activity Diagram – Estimating Overall Program Mark Figure 6: Activity Diagram – Managing Student Account

Page 17 of 77
5.2.1.1.3 Class Diagram
The diagram below is a class diagram which models the whole web-based system for an effective management of student examination. The classes
are linked to each other using various kinds of special relationships including inheritance, composition, aggregation and cardinality/ multiplicity.

Figure 7: Class Diagram – describing the structure of a web-based system

Page 18 of 77
5.2.2 Non-functional Requirements
Non-functional requirements generally focus on how well the system performs typically
including the response times, volumes of data and security considerations. It is said that the
non-functional requirements are more critical than the functional requirements because if these
are not met, then the system would be rather useless. A non-functional is also a type of
requirement that specifies condition/ criteria that can be used to judge the operation of a system
rather than the behaviour of a system.
The key non-functional requirements of a web-based system designed for Student Examination
Management, that were identified, are presented below in the table;
No. Requirement
1 The user data such as students’ personal details, their module marks and course
details and as well as the admin details shall all be stored in a secure database by
applying appropriate encryption methods against SQL Injection.
2 The user inputs on all web forms shall be properly validated using the appropriate
regular expressions.
3 The user inputs on the login form shall be verified by checking the inputs against
the record held in the database.
4 The same email address shall not be used in more than one student course and a
web-based system registration.
5 The user password shall be properly hashed using the appropriate hashing algorithm
before storing it into the database.
6 The web-system feature such as adding the student and exam timetable shall be
restricted to admin only.
7 The user(student) must be logged in to see their upcoming examination timetables.
8 The user(student) must be logged in to use the grade estimator.
9 A student shall be registered to one course only.
10 A student shall be sent an email as a confirmation of his/ her course registration and
as well as of the account update and the password rest.
11 The user(student) shall precisely be navigated to the examination venue using the
geolocation provided by Google API.
12 The user(student) shall be able to calculate his/ her overall programme mark and
degree classification accurately.
13 The mathematical formula is precisely devised for calculating students marks on
different modules based on each module’s credit value and finally estimate the
overall degree classification for the students based on the percentage of how much
each level of course is worth and contributes towards a final degree classification.
14 A user shall be redirected to a homepage of a web-based system in no less than 2
seconds after successfully logging in to the system.
Table 2: Non-functional Requirements for a web-based system

Page 19 of 77
5.2.2.1 Security Considerations
Due to the system which was going to be developed being web-based, it was imperative that
every key aspects and requirements of a system were thought and considered with the security
in mind. The attackers can do everything possible to exploit the application to compromise the
security of the application. Therefore, security was considered in almost all aspects of a web-
based system.
The Validator was used on all web forms to validate the input entered by the user in the
textboxes with the range of regular expressions for different types of inputs, i.e., address, phone
number, email, date, etc. The validator is used to provide an architecture for securing an
application from malicious inputs and by validating all inputs, the most common-attacks such
as SQL Injection and Butter Overflow can be avoided.

Figure 8: A diagram describing how validator plays a key role in validating the user input resulting
into a sanitized input. The validator sanitizes the input and returns the validated input to a calling
application.

Usually, the user’s sensitive data including their personal information and login credentials are
stored in a plain text in a company database. In the event when attacker gains an entry to the
company’s database, the volume of data that has been stored is all compromised which could
then be used for various purposes that are profitable. The password is regarded as the most
sensitive data of all that is stored in the database. Therefore, it was important that the
appropriate hashing algorithm is used to encrypt the password that is in the plain-text by
converting it into a hashed password and then finally, store the hashed password into the
database.

Figure 9: A diagram describing the process for storing password into a database after hashing the
password in a plain text into a hashed text using some hashing algorithm

Page 20 of 77
5.2.3 Usability Requirements
In any web-based system, usability of a system is a key factor for determining the level of user-
friendliness which the system must provide. “Usability requirements are documented
expectations and specifications designed to ensure that a product, service, process or
environment is easy to use (Spacey, 2017).” The usability measurable objectives were taken
into consideration and were set which involved the characteristics of the type of users and the
tasks users undertake.

The key usability requirements of a web-based system that were identified are presented below
in the table;

No. Requirement
1 A user shall be directed automatically to the homepage of a web system from a login
page after he/ she is successfully logged in.
2 A user (student) shall be able to view the navigation menus on the navigation bar
such as “My Account”, “My Exams”, “Contact Us”, “Grade Estimator” and
“Logout” after he/ she is successfully logged in.
3 A user (admin) shall be able to view the navigation menus on the navigation bar
such as “My Account”, “Add Student”, “Add Exam”, “Show Exams”, “View
Students” and “Logout” after he/ she is successfully logged in.
4 A web-based system must be responsive to fluidly fit on different screen resolutions.
5 A web-based system must be platform compatible so that it works and displays the
web contents in the same manner on all web browsers.
Table 3: Usability Requirements for a web-based system

5.2.3.1 Design Diagrams – Wireframes

Figure 10: A Wireframe representing the interface for an admin to register student to a course and
to a web-based system by entering the student’s personal details, photo and the course.

Page 21 of 77
Figure 11: A Wireframe representing the interface for students to view their upcoming
examination timetables with a link to navigate them to the examination venue.

Figure 12: A Wireframe representing an interface for students to estimate their overall programme
mark and degree classification by entering the module marks in the input boxes.

Page 22 of 77
6 DEVELOPMENT AND IMPLEMENTATION
In Software Engineering, the implementation is regarded as one of many phases of the software
development process. After the requirement phase was complete, the next phase of the software
development was the implementation of the actual product in a way all requirements identified
in the previous phase are best met.

6.1 DEVELOPMENT PROCESS (INCREMENTAL SOFTWARE DEVELOPMENT METHODOLOGY)


The entire project development (including project tasks and activities) was solely dependent
on the Agile Methodology. This traditional project management technique was carefully and
predominantly used for an effective planning of the project work with the use of user stories,
increments and different tasks for each use-cases.
An agile planning tool called Trello board was chosen for planning and guiding the project in
an iterative approach. In the Trello board, the product backlog was created with the series of
user-stories and requirements identified in the requirements phase of the development. Each
user story or requirement consisted of several tasks where each task had to be fully completed
in order to successfully implement the features associated with the certain requirement. I went
through three successful increments, passing each increment in the first attempt after being
reviewed and approved by the supervisor during the increment demo. For each increment, there
was a goal which would be achieved from its successful completion. Each increment of the
development process will now be investigated further in detail.

6.1.1 First Increment


Increment Goal: “The first increment mainly focuses on setting up the resources such as Trello
board, version controller and database to get started with the development work. This
increment will also look at the implementation of the student enrolment and student and
administration register and login functionalities in order for an administrator to enroll
students to their courses and to create their profiles.”
The first increment was planned with the production of a Minimum Viable Product (MVP) in
mind. “A Minimum Viable Product is the smallest thing you can build that delivers customer
value (Maurya, 2017)”. MVP is considered as a modern software development technique in
which a new product is developed with sufficient features to satisfy the customer needs. The
final and a complete set of features is only designed and developed after considering the
feedback from the customer/ user of a product. It is believed that MVP development technique
provides a feedback loop to guide future development.
Similarly, for my project, the Minimum Viable Product with just enough features and
functionalities were implemented to satisfy the supervisor whereby the feedback was provided
by the supervisor for future product development. The user register and login features and
functionalities were implemented in the first increment which was considered as a minimum
viable product for my web-based system because these features come under one primary
requirement of my web-based system for allowing admin to register student to the course
whereby the student will be able to receive an email confirming his/her course registration
details along with the web-based system’s login credentials. As these features were the primary

Page 23 of 77
requirements of a web-based system, the following increment would then be easily integrated
with the first increment.

Figure 13: A Trello board showing the visualization of the tasks that are planned to be done in the
first increment of the software development process.

As it can be seen in the Trello board above, there were various tasks that were planned and
scheduled for the first increment. Due to the nature of a project being web-based, the
implementation of a database for storing the data, i.e., students, courses and exams’ details,
had to be done as the first thing. It was a challenging task to decide on the creation of relevant
database tables corresponding to the types of data to be stored in a database. The tables such
as, Students, Courses, Modules and Exams were created and linked to each other as necessary
with the use of primary and foreign keys.

Figure 14: The Database Design Decision for storing the users and other related data

The first increment focused on the implementation of a web form for allowing an admin to
enter student’s personal details to register student to a course and as well as to a web-based
system. Additionally, the web form for allowing users to login to a web system was also
implemented. The ASP.NET UI elements and features such as Textboxes, Buttons, Labels,
Dropdown List and more, were used for the customization of web forms along with the

Page 24 of 77
Bootstrap and CSS properties. The Visual Studio .NET makes it easy to validate the form’s
data as a variety of Validation Controls can be added and used in the web form which will
prevent the wrong type of data from being submitted. During the implementation of the web
forms for registering student to a course and for allowing users to login into the system, there
were different types of validators added to the web forms to validate the user inputs. For
example; Compare Validator was used to validate the password by comparing the password
entered by the user in two different textboxes, i.e., password and confirm password. Similarly,
Regular Expression Validator was used to validate the input against the set of strings for
matching the patterns to make sure that the input is of a valid data type. Finally, Required
Field Validator was used to validate the inputs in a form by checking whether the form field
contains a value.

Figure 15 and 16: The Demonstration of how different types of validators have been used to
validate the inputs

Another important task the first increment focused on is the implementation of a mail server
for sending emails to students with the confirmation of their course registrations along with the
login credentials created for the students by an admin to login to the web-based system to use
it’s features.
The features and functionalities implemented in the first increment with the production of a
Minimum Viable Product in mind, were all demoed to a supervisor whereby the positive
feedbacks were received which enabled me to start planning on about the second increment of
a development process.

6.1.2 Second Increment


Increment Goal: “The second increment will focus on the management of student
examinations which will include the admin functionality for adding exam timetables and
publishing them online on the web-based system for the students to view. The other goal of this
increment is to restrict the admin features and functions on the system including student
registration and adding examinations.”
After the minimum viable product that focused on web-based system register and login
functionalities was complete, the priority was then given to the implementation of one of the
most important features of a web-based system - for allowing admin to add and update exam
timetables on the web system whereby the students will be able to view their courses’ upcoming
exam timetables including the details such as, time, duration, venue and more, by logging into
the web system.

Page 25 of 77
Figure 17: A Trello board showing the visualization of the tasks that are planned to be done in the
second increment of the software development process.

The web form for allowing admin to enter examination details such as; course, module, date,
duration, time and venue, was created and the different types of input validators were added to
validate the inputs in the similar way as shown in Figure 15. The user-friendly interface for
displaying the exam timetables was also created with the use of Bootstrap and CSS.
For the purpose of this web-based system, it was important to be considered that not all features
of a web system can be accessed by all types of users. As shown in the use-case diagrams
earlier in Figure 1 and 2, some features can be assessed by both users, the admin and the student
whereas some can be accessed by admin only and some can be accessed by student only.
Therefore, it was important that the web system features are restricted to the certain user types.
The second increment included the task for restricting the admin features and functionalities in
the web system for registering student to a course and adding exam timetables to admin only.
This was achieved by creating a session variable for the user’s username as soon as he/ she is
logged in to the system. It is well known that session variables are used to store user-specific
information that needs to be accessed by multiple pages in a web application. A check has been
done on each web page on the page-load to find out if there is any user logged in and to identify
the type of a user. The user will simply be redirected to a login page if he/ she tries to access
the specific web page without logging into the system.

Figure 18 and 19: The code showing practical demonstration of how the session variables are
created for certain types of users and how they have been used on the page-load for identifying the
type of user and granting them access to certain web pages.

Page 26 of 77
6.1.3 Third Increment
Increment Goal: “The main goal of the third and final increment is to focus on creating a
grade estimator for students to estimate the overall programme mark and degree class they
wish to achieve at the end of their course. Beyond this, the increment will also focus on the
implementation of student account update features including profile details update and
password reset. This increment will finally focus on the implementation of geolocation for
directing students to examination venues.”

Figure 20: A Trello board showing the visualization of the tasks that are planned to be done in the
third increment of the software development process

As shown in the Trello board above, there were various implementation tasks that were planned
in the final increment of a development process. The implementation of a student grade
estimator was one of the main tasks in the final increment which included a creation of a web
form for allowing students to enter their marks and, also included a devisal of a mathematical
formula for the calculation of an overall expected programme mark by calculating and adding
the percentage achieved in the second year (worth 25% of the degree) and expected to achieve
in the third year (worth 75% of the degree). The function for classifying the type of degrees,
i.e., first-class honors and second-class honors was then implemented which takes the overall
programme mark percentage as an argument and compare it against the range of marks which
falls under a particular degree classification.

Figure 21: The code showing practical demonstration of how the student overall expected
programme mark is calculated using a mathematical formula

Finally, the functionality for admin to view students registered in the web-based system by
filtering them by their courses, has also been implemented with the additional privileges for
viewing, updating and deleting students’ accounts.

Page 27 of 77
6.2 CHOSEN METHODOLOGY FOR DEVELOPMENT & IMPLEMENTATION
Design and implementation projects require a range of methodologies to be followed
systematically and precisely for a robust, reliable and a repeatable outcome. The software
development methodologies and the techniques chosen and adopted for the implementation of
a web-based system will now be described in detailed.

6.2.1 Incremental Software Development Methodology


(Makabee, 2014), a co-founder and a CEO at KashKlik, an innovative Influencer Marketing
platform, stated on his conference paper titled ‘The Psychology of Agile Software
Development’ that the Minimum Viable Product should be built using an incremental approach
in which the MVP should be concluded after a few initial iterations whereby the next iterations
will be used to add new features based on the conclusions of the “build-measure-learn”
feedback loop.
The incremental approach was chosen because it is considered as the best software
development methodology for a small sized, one-person project following Agile practices. The
implementation of a working version of software, otherwise known as Minimum Viable
Product, with just enough features to satisfy customer needs and to get feedback, was planned,
therefore, incremental approach was adopted.

6.2.2 IDE, Framework, Languages and Other Techniques Used


Microsoft Visual Studio was chosen as an Integrated Development Environment (IDE) for the
implementation of a dynamic web-based system with the set of multiple web pages. Visual
Studio is recognized as a decorated IDE used for the development of computer programs, web
sites, web apps, web services and mobile apps. Due to the nature of a project, it is important
that the web-based system is fully tested in terms of functionality, security and usability. The
Visual Studio IDE was therefore chosen as it is equipped with an app testing platform for
enabling developers to test the application in their preferred languages to ensure that the high-
quality products are ready for deployment.
As for the framework, ASP.NET was chosen because ASP.NET is a well-recognized open
source and a powerful framework in Visual Studio IDE that serves as a valuable programming
tool for building rich websites and web applications that are completely dynamic using HTML,
CSS, JavaScript and more. The use of ASP.NET web form controls and UI elements
contributed greatly in the reduction of a coding time. C# is one of two programming languages
supported on .NET framework and it is highly recommended for making games and dynamic
web applications as it easier to maintain in terms of size and complexity. Thus, C# was chosen
as a programming language.
Model View Controller (MVC) design pattern was used to separate the modelling, presentation
and logic of a web-based system into three different layers. MVC was useful in managing the
structure of a coding for my project with a clean separation of application’s data, logic and
rules. In recent year, MVC has become a popular strategy for building web applications.
Finally, SQL Server, Microsoft’s Relational Database Management System (RDBMs), was
used to store the data that is needed for the running of a web-based system in a secure database.

Page 28 of 77
It is said that Microsoft SQL Server comprises a database that is specifically targeted for small-
scale web applications.
In general, the justification for the adoption of chosen IDE, framework and programming
languages for the development of a dynamic web-based system for my project is the previous
experience which had involved the application of similar methods, tools and techniques for a
creation of an interactive ecommerce website in the second year of my course.

6.3 ANALYSIS OF PROBLEMS FACED & SOLUTIONS ADOPTED DURING IMPLEMENTATION


There were several problems that encountered during the implementation phase of a software
development process for one reason or another, which were dealt with carefully and
appropriately to come up with the optimum solutions and alternatives where possible for the
problems.
The bootstrap for the form controls crashed in the middle of the first increment which led the
layout of interface/ web forms for admin to add students and exam timetables to a disorderliness.
The web form controls such as Textboxes, Dropdown Lists and Buttons were initially
customized with the CSS and Bootstrap properties for placing the controls into the appropriate
places to best fit in the different screen resolutions. It worked for some time but, unfortunately,
without my intelligence, the form controls were not being displayed on the screen unexpectedly
in the style and dimensions to which they were set initially. Therefore, it required some time
for changing the CSS properties of all affected form controls to “form-control” and additionally,
the width for all form controls were set to be 100% on the CSS file to ensure that the width is
always 100% regardless of the size of screen resolution.
Regarding the grade-estimator aspect of the project, it was initially planned to implement some
machine learning algorithm for predicting student’s final grade based on the student’s previous
results and performance with the use of anonymized students’ academic data provided by a
lecturer at the university. It was later realized that it would be a very complex and a laborious
task to implement a grade estimator in the previously defined way. Therefore, with the
discussion with the supervisor about the complexity of implementing an algorithm for
estimating students overall grade, it was agreed that the student grade prediction will not be
done using machine learning algorithm but will rather be calculated and estimated using
mathematical formula based on the course modules credit value and on the percentage of how
much the certain level of course contributes towards the final degree classification.
Finally, as it was justified in the project proposal and on the first dissertation deliverable,
MySQL Workbench was initially considered for the backbone of a web-based system that was
going to be developed. MySQL Workbench was initially chosen for the storage and the
management of users’ and other data needed for the web-based system. It was later realized
that chosen IDE for a web-based system development, Microsoft Visual Studio, offers a built-
in, otherwise known as a local database namely Microsoft SQL Server Database which is
thought to have many advantages over MySQL Workbench. The initially chosen Database was
replaced with the latter because the latter is a built-in to the chosen IDE which was believed to
have provided higher scalability, better performance and speed while retrieving the data for the
application as it can be used for small projects as well as large applications.

Page 29 of 77
7 TESTING AND RESULTS ANALYSIS
“Software testing is a set of processes aimed at investigating, evaluating and ascertaining the
completeness and quality of computer software” (techopedia, n.d.). It is said that software is
examined and checked through different testing processes. The first process involves the
verification of software completeness in terms of functional or business requirements.
Similarly, to ensure that the software is error-free, the technical bugs and errors in the software
are identified, and finally, the software is assessed in terms of various software attributes
including usability, performance, security and compatibility.
There are usually two main purposes of testing. One purpose is to try and find the mistakes
made during the implementation and the other is to try and prove that it works, and that the
requirements are met.
According to (Pitet) 2017, functional and non-functional testing are two main categories of
software testing where each includes numerous types of tests. The procedure for testing the
software depends on the type of software development methodology. In software projects
following Agile practices, the software is commonly tested in three major types at the end of
each iteration; Unit-testing, Integration testing and End-to-End testing.
Unit Testing and Integration testing are very similar in terms of the approach that is taken to
test the unit of a function in the class but however, integration test is said to be usually larger
as it includes external dependencies to test the unit of a code. Unit Testing and Integration
Testing have a pattern for arranging and formatting the code in the tests methods known as
Arrange, Act and Assert (AAA). This pattern is used to clearly separate what is being tested
from the set up and verification steps.
According to ("Telerik JustMock", n.d.), The Unit and Integration Testing is ideally developed
by following these three simple steps;
➢ Arrange: setup the testing objects and prepare the prerequisites for your test.
➢ Act: perform the actual work of the test.
➢ Assert: verify the result.
During the development process of a web-based system, the features and functionalities
implemented on each increment were tested reasonably at the end of the increment before
proceeding into the planning of next increment. However, the overall testing of a whole web-
based system was again carried out rigorously after it was fully implemented. The different
approaches taken to test the functional and non-functional requirements of a completed web-
based system are covered further in the report.

7.1 UNIT TESTING


Unit Testing is the testing of an individual software component or module and it is usually
done by the programmers rather than the tester because it is said that the detailed knowledge
of internal program design and code is required. The individual methods and functions of the
classes are tested without any external dependencies such as files, databases, web services, etc.
The functions of the class “GradeEstimator” have been tested in unit as they were not
dependent on any external factors and this has been presented in the table below.

Page 30 of 77
No. Test Description Test Example Test Result (Pass / Fail)
1 The function for returning the sum of best 5
marks out of 6 achieved in the second year is
being tested. The function adds all the marks in
an array and subtract the lowest mark in an
array from the sum. In the test, the sum of all
marks in an array should be 21 and the sum of
best 5 marks should be 20. The expected result
is 20 and the actual must also be 20. This test
must pass as the both, expected and actual
results, are equal / same.

2 The function for returning the percentage of the


second-year marks is being tested. Each mark
is out of 100. The sum of best 5 marks would
be 200 out of 500. Therefore, in percentage, it
would be – 200*500 / 100 = 40. The expected
result is 40 for this test and the actual must also
be 40. This test must pass as the both, expected
and actual results, are equal and must be equal
according to the assertion of the test.

3 The function for retuning the percentage (worth


25% of degree) of second-year marks is being
tested. In continuation from the previous test
(No.2), the percentage achieved in the second
year was 40% which is worth only 25% of the
degree. Therefore, with the second-year credit
value, the percentage must be – 40 * 0.25 = 10.
This test must pass as the expected result, 10.1,
is not equal to the actual according to assertion.

Page 31 of 77
4 The function for returning the overall
programme mark is being tested. In percentage,
the sum of best 5 marks in second and third year
is 40 each. Therefore, second year’s percentage
with 25% credit value is 10 and similarly, third
year’s percentage with 75% credit value is 30.
The overall programme mark is the addition of
second year and third year percentage with
third credit values. This test must pass as the
both, expected and actual results, are equal and
must be equal according to the test assertion.

5 The function for returning the type of degree


classification is being tested. If the programme
mark is greater than or equal to 60 and less than
is less than 70, then it is classed as an “Upper
Second Class Honors Degree”. This test must
pass as the both, expected and actual results, are
equal and must be equal according to the
assertion of the test.

6 The function for returning the lowest mark in


an array is being tested. Unlike other tests, this
test is an example of a failure. The (actual)
lowest number in an array is 3.5 but 5.1 is
expected on purpose. Therefore, according to
the test assertion, this test must fail because it
says that the expected and the actual result are
equal, but they are not.

Table 4: Examples of Unit Testing of the functions in the GradeEstimator class including both, passed and failed tests

Page 32 of 77
7.2 INTEGRATION TESTING
An Integration Testing is a testing of a class or a component with its external dependencies. It tests the integration of the application codes with
the concrete dependencies like files, databases, web services and more. It is said that integration tests are longer to execute because they often
involve reading and writing to a database. The functions of a class Login that are dependent on the local database have been tested and these have
been presented in the table below.
No. Test Description Test Example Test Result (Pass / Fail)
1 The function for verifying the user’s login
username and password held in a database is
being tested. The plain-text password for the
username (nbajgai) is “test”. This test must
pass as the both username and password
provided are correct and should correspond to
the record held in a database.

2 The function for returning the user role when


specified the user’s username is being tested.
The username provided is “teststudent” which
should return the user role – student. However,
the user role – admin is expected for the
specified username. The test assert says that
the expected and actual result are not the same,
therefore, the test must pass.

Page 33 of 77
3 The function for verifying user’s email held in
a database is being tested to check if it exists.
The email provided is in an incorrect from,
therefore, it is not a valid email address and
doesn’t exist in a database. The test assert says
that the result is false as the email provided
doesn’t exist in a database, therefore, this test
must pass.

4 The function for returning student ID when


specified the student’s username is being
tested. The username provided is “teststudent”
which has a student ID – “UoS930121”.
According to the test assert, the expected and
actual result are same, therefore, this test must
pass.

5 The function for returning the user role when


specified the user’s username is being tested.
Unlike other tests, this test is an example of a
failure. The username provided is
“teststudent” which should return the user role
– student. However, the user role – admin is
expected for the specified username. The test
assert says that the expected and actual result
are same, therefore, the test must fail because
they are not the same.

Table 5: Examples of Integration Testing of the functions in the Login class including both, passed and failed tests

Page 34 of 77
7.3 END-TO-END (FULL-SYSTEM) TESTING
End-to-end Testing, otherwise known as a full-system testing, is a testing of a complete application environment which involves the tasks such as
launching an application, logging into an application, submitting a web form, connecting to a database server and performing a GUI activity. End-
to-end Test is believed to have driven an application through its user interface. The overall and important functionalities of a web-based system
including the data integration have been tested to make sure that all functionalities work as expected and to identify any bugs present in the system.
SYSTEM TEST LOG
No. Functionality Tested Date of Exec Status Brief Description Severity
1 Register student into a course 21/04/2019 Pass Could register student into a course and to a system by entering High
and to a web-based system their personal information and clicking on a REGISTER button.
2 Filter students by course 21/04/2019 Pass Clicking on the course filters on the navigation bar worked Low
properly, resulting in the application displaying only students
enrolled in that specific course.
3 Edit a student’s profile 21/04/2019 Fail Couldn’t edit a student profile because the page was not loading Medium
the information associated with the student.
4 Reset user’s password 21/04/2019 Fail The functionality for resetting the user’s password did not work High
because of the syntax error in the code.
5 Delete student’s profile from 21/04/2019 Bug The confirmation for deleting the student’s profile didn’t Low
the course and the system Identified appear, however the student was still deleted from the system.
6 Send email to student about 21/04/2019 Bug Could update the student profile but however, the email of Medium
their account update Identified notification could not be sent to the student because of a bug
present in the function for sending emails.
7 Estimate overall expected 21/04/2019 Pass Could estimate the overall programme mark and degree by High
programme mark and degree entering the second-year and final-year marks and the result
obtained was mathematically correct.
8 Upload student profile image 21/04/2019 Pass When registering the student to a course and to a system, the Low
profile image could be successfully added which was then
displayed on the relevant student profile.
9 Log out of the system 21/04/2019 Pass Clicking on the logout button resulted in logging user out of the High
system and taking the user back to a login page.
Table 6: Examples of End-to-end testing of a web-based system showing the functionalities that passed, failed and as well as the bugs identified.

Page 35 of 77
7.4 USABILITY TESTING
According to ("What is usability testing?", n.d.), usability testing is a way to see how easy to
use something is with real users. It is a method of testing used to evaluate how easy a website
is to use. The main aim of usability testing/ evaluation is to ensure any potential issues are
highlighted and fixed before the product is launched. There are two different kinds of usability
testing; comparative and explorative. Explorative usability testing will be used in this case
where the users will be testing a range of services and functionalities of a web-based system
based on the given realistic scenarios.
The survey, in the form of questionnaire, was conducted to 18 students at the university which
included the questions in a Likert scale approach for scaling the participants’ responses in terms
of the extent to which participants agree with the statements.
A copy of Usability Testing Questionnaire can be found in the appendix of this document.
Some examples of the questions included in the questionnaire are listed below;
• Provided the login credentials in an email, how easy was it to login to the system?
• How easy was it to view and update your personal details in the system?
• How easy was it to reset the password?
• How easy was it to view and understand the upcoming examination timetables for your
course?
• How easy was it to estimate your overall programme mark and degree classification?
• How easy was it to view and understand the result of the overall programme mark and
grade estimation?
• As an admin, how easy was it to register student to a course and to a web-based system?
• As an admin, how easy was it to filter and view students’ profiles by their courses?
• As an admin, how easy was it to add exam timetables to the system?
• As an admin, how easy was it to delete student from the system?
• Overall, how easy was it to navigate between the web pages around the web-based
system?
The results obtained from the usability testing survey was calculated and analyzed using the
graphical representation. Some examples of these have been present below;

Figure 22, 23 and 24: Graphical representation of the results obtained from the survey

Page 36 of 77
7.5 PLATFORM-INDEPENDENCE TESTING
Platform independence means that the application can run in multiple operating systems,
multiple devices and in multiple web browsers. The web application has been fully tested and
works across a wide range of browsers and on different platforms including mobile devices,
tablets and notebooks. The table below illustrates the testing of a web application on different
kind of browsers including different versions and on different platforms.

No. Browsers Platform Version(s)


1 Mozilla Firefox Microsoft Windows 10 (laptop) 43.0.1 and 43.0.2
iOS 12.2 (iPhone) 1.2 (1206)
2 Google Chrome Microsoft Windows 10 (laptop) 47.0.2526.106 m
iOS 12.2 (iPhone) 47.0.2526.107
3 Microsoft Edge Microsoft Windows 10 (desktop) 25.10586.0.0
4 Internet Explorer 11 Microsoft Windows 10 (desktop) 11.20.10586.0
5 Opera 34.0 Microsoft Windows 10 (laptop) 34.0.2036.42
6 Opera Mini iOS 12.2 (iPhone) 12.1.198980
7 Puffin iOS 12.2 (iPhone, iPad) 4.7.2 (14315)
8 Safari iOS 12.2 (iPhone, iPad) iOS 12.2 latest version
Table 7: Illustration of platform-independence testing of a web-based system

A web application that has been developed is responsive which means that it adapts to any
screen size without the need for pinching or horizontal scrolling. Therefore, it is as easy to use
on mobile as it is on tablet or desktop.

Figure 25 and 26: Responsiveness of a web application on different screen resolutions

7.6 CSS RULES VALIDATION


The W3C CSS Validation Service was used to validate CSS rules used to customize the web
contents and pages which helped ensure the technical quality of web pages and CSS rules.

Figure 27: The CSS rules have been tested and validated successfully

Page 37 of 77
7.7 ANALYSIS OF RESULTS ACHIEVED
The results achieved from a successful completion of a web-based project was no less than
what was expected beforehand. Throughout the whole development process, it was aimed to
deliver a high-quality product that is fit-for-purpose, whilst following and learning SCRUM
agile software development methodologies.
The following are the examples of the results achieved from a completion of a web project;
✓ Ability for user to login to the system: The user (both admin and student) can
successfully log in to the system with their university username and password.

Figure 28: Web Form for user to log in

✓ Ability for admin to register student to a course and to a web-based system: The
admin can successfully register student to a course and to a web-based system by entering
the student’s personal information, selecting a course and uploading a profile image.

Figure 29: Web Form for admin to register student

Page 38 of 77
✓ Ability for admin to view students’ profiles by their course: The admin can search for
students by their course and view the students’ profiles.

Figure 30: Web Form for admin to search and view students by their course

✓ Ability for students to view and edit their personal information: The student can
themselves view their profile by logging into the system and make any necessary changes
to their personal details including address, email, etc.

Figure 31: Web Form for student to update his/ her profile details

✓ Ability for admin to add exam timetables: The admin can successfully add exam
timetables using a web form and finally publish it into the web-based system.

Figure 32: Web Form for admin to add exam timetables

Page 39 of 77
✓ Ability for students to view their upcoming exams: Once the admin has added the exam
timetables and published into a web-based system, the students can login to the system
and view the upcoming exams for their course.

Figure 33: Interface for displaying logged in student’s upcoming exams

✓ Ability for students to estimate their overall programme mark and degree: The
student can successfully estimate the overall programme mark and degree type that is
expected by the end of the course by entering the marks achieved in the second year and
the marks expected to achieve for the final year modules.

Figure 34: Web Form for a student to enter marks and estimate overall programme mark

Page 40 of 77
✓ Ability for admin to delete student from the system: There might be a situation when
student withdraws from a course or graduates, therefore, an administrative feature for
deleting student from the course and from the system have also been implemented.

Figure 35: Web form for admin to edit and delete student profile

✓ Ability for user to reset the password: The users can also reset their password in case
they have forgotten it. An email address used for the registration must be provided.

Figure 36: Web Form for user to reset the password

Page 41 of 77
8 CRITICAL EVALUATION AND REFLECTION
In general, evaluation is a process that critically examines a program or the work that has been
done. Evaluation involves a collection and an analyzation of information about a program’s
activities, characteristics and outcomes. According to Patton (1987), the main purpose of
evaluation is to make judgements about a program to improve its effectiveness and/or to inform
programming decisions.
It is said that evaluation is categorized into two broad types: formative and summative.
Summative evaluation is done once the programs are well established to summarize to what
extent the program is achieving its goals. Thus, the project and the product that has been
developed will be reviewed following a summative evaluation, further in the report.
Furthermore, the reflection of the work done in the project and of the personal development
during the course of a project will be covered in the latter part of this section of the report.

8.1 REVIEW OF PROJECT’S ACHIEVEMENTS AGAINST ITS OBJECTIVES


The project’s aim and objectives were identified and written following the standard SMART
approach when the project was first proposed to a supervisor. The project objectives were split
into two types; main / core and optional. Now that the final product is fully implemented and
tested, it can now be confirmed that all core objectives that were set initially have been met.
However, due to the unavailability of resources, insufficient technical knowledge and limited
timescale for the project, some optional objectives that included the implementation of
geolocation in the web application and the web hosting services have not been met.
No. Objectives (In Brief) Type Met
1 To identify user requirements by conducting a survey to Core
approximately 20 students at University in a form of questionnaire.
2 To store data such as students’ personal details, their module marks, Core
course details and admin details in an efficient and secure manner.
3 To create functional specifications and features summary document Core
using UML diagrams.
4 To design and create a wireframe for the web-based interface. Core
5 To decide on and choose the technology, platform and development Core
environment for the implementation of a web-based system.
6 To devise a mathematical formula for estimating student’s expected Core
overall programme mark and degree classification.
7 To implement a web application using a wireframe with Core
consideration of desired user requirements.
8 To identify, analyse and choose third party products and to host the Optional
website for publicity purpose.
9 To research on the implementation of geolocation for directing Optional
students to their examination venues using google APIs.
Table 8: Checklist for project objectives to show which objectives have been met and which haven’t

Page 42 of 77
8.2 REVIEW OF PROJECT PLAN AND ANY DEVIATIONS FROM ORIGINAL PLAN
The final product that has been produced is not exactly what it was thought it would be in the
project planning and proposal phase. There have been some changes in the project plan which
were considered and dealt with carefully in order to make sure that the initial objectives of the
project that were set during the proposal of a project are fully met.
Regarding the grade-estimator aspect of the project, it was initially planned to implement some
machine learning algorithm for predicting student’s final grade based on the student’s previous
results and performance with the use of anonymized students’ academic data provided by a
lecturer at the university. It was later realized that it would be a very complex and a laborious
task to implement a grade estimator in the previously defined way. Therefore, with the
discussion with the supervisor about the complexity of implementing an algorithm for
estimating students overall grade, it was agreed that the student grade prediction will not be
done using machine learning algorithm but will rather be calculated and estimated using
mathematical formula based on the course modules credit value and on the percentage of how
much the certain level of course contributes towards the final degree classification.
As it was justified in the project proposal and on the first dissertation deliverable, MySQL
Workbench was initially considered for the backbone of a web-based system that was going to
be developed. MySQL Workbench was initially chosen for the storage and the management of
users’ and other data needed for the web-based system. It was later realized that chosen IDE
for a web-based system development, Microsoft Visual Studio, offers a built-in, otherwise
known as a local database namely Microsoft SQL Server Database which is thought to have
many advantages over MySQL Workbench. The initially chosen Database was replaced with
the latter because the latter is a built-in to the chosen IDE which was believed to have provided
higher scalability, better performance and speed while retrieving the data for the application as
it can be used for small projects as well as large applications.

8.3 PRODUCT EVALUATION


The product that has been developed for this web-based project is ultimately a web application
/ portal for students and admin at the university to perform several academic tasks and
operations. The web application was thought / planned to be implemented for making students
life easier. After the implementation of the product was complete, it was tested rigorously
following an appropriate testing strategy and plan which guaranteed that the functional and
non-functional requirements of a web-based system, identified in the Requirements,
Specification and Design phase/s of the development, are all fully met.
A few students were recruited for a usability testing of a web-based system which directly
contributed to the critical evaluation of a web-based system in terms of the features and
functionalities that are to be offered by this web-based system in the context of student
examination management.
Email notification was acknowledged as one of the most useful and strongest features by most
of the users during the testing. Some users were stunned to have received a confirmation email
in their email address that was used for the web-based system registration as they said they
think that it is a very complex task and might need an excellent technical knowledge and a lot

Page 43 of 77
of resources to implement this feature. “Layout was
nicely structured in the center in a consistent manner
and it’s very simple to use and it’s user-friendly” said a
user regarding the feature for displaying exam
timetables. Responsiveness of a web-based system to fit
on different screen resolutions was another aspect of the
project which was highlighted by some users as a
strength of a web-based system. Figure 37: Student editing his profile

There were also some feedbacks received from the users during the testing for the sake of
improvement and further development. Some user seemed very excited about the feature for
uploading and displaying student profile image in the web-based system but however, the user
couldn’t change his profile image, therefore, according to the user, the option for changing the
student profile image would make this system more purposeful because there might be the
situation when the student ID Card can be lost and a new student photo for a replacement ID
card would need to be taken. Regarding the grade estimator feature of the web-based system,
some users couldn’t enter the credit they received from their placement year, therefore, it was
noticed that this important feature about the grade estimator is missing in the system and this
can be easily integrated to the system with a minimal effort.
Following the user testing and evaluation of a web-based system, it can finally be concluded
that the web-based system is purposeful and powerful in terms of various software qualities
including accessibility, maintainability, user-friendliness and most importantly, the security.

8.4 DISSERTATION DELIVERABLES REFLECTION


The complete dissertation was split into three deliverables; Introduction, Literature Review &
Methodology, Requirements, Specification & Design and Testing, Critical Evaluation &
Conclusions.
The first deliverable focused on an in-depth investigation of various literature sources including
webpages, books, articles and journals that were relevant to the project research area broadly
and closely. The rationale was provided and covered in the deliverable for the chosen
methodologies for the development of a web-based system including tools, techniques,
software development method, IDEs, programming languages and algorithms. The feedbacks
received from the supervisor on the first deliverable were very constructive and inspiring which
supported in revising the original project plan and objectives and making the correct decisions
for the second deliverable. Some major feedbacks received from the supervisor on the first
deliverable are as follows;
❖ “Grading and workload in creating examination timetables will not be affected by this
project (based on the introduction). The discussion of the front end presented in the
papers is relevant though. More research could have been done on methods of presenting
information to users, as that appears to be the project’s main component.”
❖ “Good to see other methodologies discussed, and justification made re which one was
chosen. Rationale for choice of ‘programming language’ is well documented and the
whole approach is well thought out and has been clearly explained.”

Page 44 of 77
The first part of the second deliverable “Requirements, Design and Implementation” focused
on the Qualitative Research which was adopted for identifying, analyzing and visualizing the
key requirements (functional and non-functional) of a web-based system using the UML tools
& techniques and wireframes, by conducting a survey in the form of questionnaire. The second
part of the second deliverable investigated the Incremental Software Development
Methodology that was adopted and followed for the development and implementation of a
web-based system in a series of increments. The description for how the web-based system was
implemented to meet the requirements, including the main problems faced and the solutions
adopted, were other key things covered in the second deliverable along with the justification
for the chosen methodologies, techniques, algorithms and design tools.
After the background research on the project was done and the web-based system was fully
implemented, it was then imperative that the system is intensively tested following an
appropriate testing strategy and plan with valid and invalid input data to try and find the
mistakes made during the implementation and then to try and prove that it works, and that the
requirements are met. The testing of a web-based system and the critical evaluation of the
project work have been covered in the third (final) dissertation deliverable.

8.5 PERSONAL REFLECTION


I am very passionate about the development of software systems and particularly interested in
the development of dynamic web-based application using server-side programming languages
and web frameworks. For the whole academic year, I was working on an extensive
development project and process which involved a degree of research as well as the design,
implementation, testing, analysis and evaluation of a software product. For my final year
project, I had elected to create a centralized (web-based) system for an effective management
of student examinations.
The main purpose of the final year project was to prepare students for the kinds of tasks they
may encounter in the work place when they graduate and find their first employment. Agile
methodology is regarded as one of the most popular software development methodology
followed by the development teams for the development of less critical software and web-based
applications. This incremental approach for developing and delivering a product in a series of
increment has provided me with an opportunity to put into practice the knowledge I have gained
about programming over the years by applying, evaluating and reflecting on various agile
techniques in order to design, develop, document and demonstrate a solution to a significant-
sized problem, whilst working to a professional standard and in a professional manner.
Writing a technical report that is well-structured according to professional standards by
undertaking information gathering using recognized information sources is another
professional skill that has been significantly developed throughout the course of final year
project.
In general, I believe, undertaking this project has provided me with an opportunity to
demonstrate my understanding of the principles of software engineering by developing a
substantial application over a period of several months applying the theoretical knowledge
about software engineering methodologies and web-based development tools and techniques
learned from the past couple of years of my study to resolve a realistic problem.

Page 45 of 77
9 CONCLUSIONS
In the context of student examination timetabling and management, the university’s current
highest level of development is that during the examination period, the students are sent emails
with all the information regarding exam timetables, but the university doesn’t have a web portal
for publishing these details in order for student to view their exam timetables from their desired
location and time. The students are required to check the inbox and find the emails received
from the university weeks or months ago about their upcoming exam timetables.
The qualitative research was done in this area of interest which involved a conduct of a survey
in the form of questionnaire to approximately 20 students at the university who has had at least
one examination in their course so far. Based on the results obtained from the survey, the key
and the high-priority requirements were identified which were then visualized and modelled
using the Unified Modelling Languages and prototypes.
The usability testing was later done after the implementation of a web-based system was
complete. The same students who participated in the first survey which was done for
requirements gathering were recruited for the second survey for the usability testing. The
feedback received during the usability testing were very positive as the students showed their
agreement on how purposeful and comprehensible the newly developed web-based system is.
In software engineering discipline, it is often said that the software is never complete, and the
process is never finished. With the introduction of various emerging technologies in the
respective field, there is always a room for software development and for the integration of
new features and functionalities. Due to the unavailability of resources, insufficient technical
knowledge and limited timescale for the project, some optional objectives of the project that
included the implementation of geolocation in the web application and the web hosting services
could not be met. Therefore, one of the most important features than can be added into this
web-based system in the future would be a geolocation for directing student to their exam
venues. Another possible improvement to this web-based system would be to implement the
feature for displaying students’ courses and learning materials such as lecture slides, lab
worksheets, homework worksheets, etc.
Web developers must be familiar with the ethical issues and laws that relate to businesses and
individuals operating on the web. For the proper functioning of a web-based system, the
students’ sensitive information has been stored in a local database including the login
credentials. The password stored in a database is in an encrypted form which has been
encrypted by using an appropriate hashing algorithm, but the other details have been stored in
a plain-text. In an event of unauthorized access to the system, the sensitive user information
stored in a plan-text in a database can be compromised, therefore, to resolve this ethical issue,
all information could have been encrypted.
As far as the legal and ethical issues are concerned, the information about the students stored
in a database will not be used for the purpose other than what it was originally collected for.
The students’ module mark and grades will not be saved in to the system by any means as this
is not the primary purpose of a project. The students are required to enter their modules marks
each time they want to use the grade estimator feature of the project.

Page 46 of 77
REFERENCES
1. Chan, S., & Zhang, Y. (1997). EMS: An examination scheduling and management
system. Expert Systems With Applications, 12(3), 311-321. doi: 10.1016/s0957-
4174(96)00102-9

2. Dimopoulou, M., & Miliotis, P. (2001). Implementation of a university course and


examination timetabling system. European Journal Of Operational Research, 130(1),
202-213. doi: 10.1016/s0377-2217(00)00052-7

3. Abass, O., Olajide, S., & Samuel, B. (2017). Development of Web-Based Examination
System Using Open Source Programming Model. Turkish Online Journal Of Distance
Education, 30-30. doi: 10.17718/tojde.306555

4. Omoregbe, N., Azeta, A., Oluwafunmilola A., & Adewumi, A. (2015). Implementing an
Online Examination System. In Implementing an Online Examination System. Nigeria:
ResearchGate. Retrieved from
https://www.researchgate.net/publication/308881144_Implementing_an_Online_Exami
nation_System

5. Student Result Management System Python | Software Testing | Databases. (2018).


Retrieved from https://www.scribd.com/document/391591334/Student-Result-
Management-System-Python

6. Lashkari, A., Parhizkar, B., & Tayyud, J. (2010). A New Exam Management System
Based onSemi-Automated Answer Checking System. (IJCSIS) International Journal Of
Computer Science And Information Security, 8(1).

7. Academic Writing Success | Academic Writing Coach Reviews. (2018). Retrieved from
https://academiccoachingandwriting.org/dissertation-doctor/dissertation-doctor-blog/iv-
the-structure-of-your-literature-review

8. Stack Exchange. (2018). When to use PHP or ASP.NET?. Retrieved from


https://softwareengineering.stackexchange.com/questions/65414/when-to-use-php-or-
asp-net

9. McLeod, S. (2017). Qualitative vs Quantitative Research | Simply Psychology. Retrieved


from https://www.simplypsychology.org/qualitative-quantitative.html

10. Pal, S. (2016). Software Engineering | Spiral Model - GeeksforGeeks. Retrieved from
https://www.geeksforgeeks.org/software-engineering-spiral-model/

11. Ghahrai, A. (2017). Incremental Model - Advantages and Disadvantages. Retrieved from
https://www.testingexcellence.com/incremental-model/

Page 47 of 77
12. Solutions, M. (2017). A Comparison between MySQL vs. MS SQL Server – Mindfire
Solutions – Medium. Retrieved from https://medium.com/@mindfiresolutions.usa/a-
comparison-between-mysql-vs-ms-sql-server-58b537e474be

13. Frederik, J. (2014). PHP vs ASP.NET? What you should really be comparing instead...
Retrieved from https://www.linkedin.com/pulse/20141114182637-12880086-php-vs-
asp-net-what-you-should-really-be-comparing-instead/

14. DeFranzo, S. (2011). Difference between qualitative and quantitative research. Retrieved
from https://www.snapsurveys.com/blog/qualitative-vs-quantitative-research/

15. Requirements Gathering. (2018). Retrieved from


https://www.inflectra.com/ideas/topic/requirements-gathering.aspx

16. Features. (2017, 01 20). Retrieved from Visual Paradigm: https://www.visual-


paradigm.com/features

17. Spacey, J. (2017). 11 Examples of Usability Requirements. Retrieved from


https://simplicable.com/new/usability-requirements

18. Maurya, A. (2017). What is a Minimum Viable Product (MVP). Retrieved from
https://blog.leanstack.com/minimum-viable-product-mvp-7e280b0b9418

19. Makabee, H. (2014). The Minimum Viable Product and Incremental Software
Development. Retrieved from https://effectivesoftwaredesign.com/2014/11/02/the-
minimum-viable-product-and-incremental-software-development/

20. What is Software Testing? - Definition from Techopedia. Retrieved from


https://www.techopedia.com/definition/17681/software-testing

21. Pitet, S. (2017). The different types of testing in Software | Atlassian. Retrieved from
https://www.atlassian.com/continuous-delivery/software-testing/types-of-software-
testing

22. Arrange Act Assert | JustMock Documentation | Telerik JustMock. Retrieved from
https://docs.telerik.com/devtools/justmock/basic-usage/arrange-act-assert

23. Patton, M.Q. (1987). Qualitative Research Evaluation Methods. Thousand Oaks, CA:
Sage Publishers.

24. What is usability testing?. Retrieved from https://www.experienceux.co.uk/faqs/what-is-


usability-testing/

Page 48 of 77
APPENDIX 1 - FYP PARTICIPANT INFORMATION SHEET
Project Title
A Centralised System for an Effective Student Examination Management

Invitation
You are being invited to take part in my web-based project. Before you decide to do so, it is important
that you understand why the project is being done. Please take enough time to decide whether or not
you wish to take part.

What’s the project’s purpose?


The main aim of this web-based project is to create a centralised system for an effective management
of student examination by ensuring that the students will be able to view and modify their personal
details and the course details and as well as view the examination timetables and additionally,
estimate their overall grade based on the previously accumulated marks and estimated marks for the
future assessments, by gaining an access into the system with the login credentials provided by the
university during an enrolment.

Why have I been chosen?


You have been chosen because as a student at the University of Salford, your feedback is important
about the features and facilities you are currently being offered by the University in the context of
Examination Timetabling and Management.

Do I have to take part?


It’s entirely up to you to decide whether or not you want to take part. If you decide to take part, you
should indicate your agreement in the consent form. Your participation is completely voluntary, and
you are free to withdraw at any point should you wish to.

What do I have to do?


You will need to complete a questionnaire comprised of 12 multiple-choice questions which is
estimated to take 6 minutes to complete.

Upon a completion of a web-based system, the survey will be conducted for a second time for testing
and evaluation where the participant will be able to indicate if they also took part in the first survey
for requirements gathering.

Will my participation in this project be kept confidential?


Any data collected about you in the questionnaire will be kept strictly confidential. You are not asked
to provide any of your personal details.

What will happen to the data collected from questionnaire?


The results obtained from the questionnaire will be used to identify the problems in the current
system and requirements for the new system that will be created for my project.

Page 49 of 77
APPENDIX 2 - FYP PARTICIPANT CONSENT FORM
Please remember that your participation is completely voluntary, and you are free to withdraw at
any time. Please circle your preference for multiple-choice statements.

I agree to the terms and policies of this survey. Yes No

I would like to take part in the survey. Yes No

Course (Required)

Year (Required)

Signature

Page 50 of 77
APPENDIX 3 - FINAL YEAR PROJECT QUESTIONNAIRE

Project: A Centralized System for an Effective Student Examination Management

Directions: Please tick the box next to your choice.


Have you ever done an examination on your course? Yes No
Have you ever estimated the overall degree you hope to achieve at the end Yes No
of your course?
Have you ever had to update your personal details at the university? Yes No

Which year of university are you First Second Third Other


studying in?
How do you get notified about your Email Blackboard Portal Other
examination timetable?

Direction: Please indicate your level of agreement or disagreement with each of these
statements by ticking in the box of your answer.

Strongly Strongly
Statements Agree Neutral Disagree
Agree Disagree

I can currently update my information in the university’s


existing system.
I can currently estimate my overall grade I hope to
achieve at the end of my course.
It is important to me that I can view examination
timetable on the web portal from my desired location.
I would like to be able to predict my overall grade I
expect to achieve at the end of my course.
The grade estimator will help me prioritize the modules
on which I need to put more effort in.
The new system will help me plan better for my degree
classification.

The new system will save my time in many ways.

Any Comments? / Any other features you would be interested in seeing?

Thank you for taking part and for sharing your thoughts.

Page 51 of 77
APPENDIX 4 – FYP USABILITY TESTING QUESTIONNAIRE

Project: A Centralized System for an Effective Student Examination Management

Direction: Please indicate your level of agreement or disagreement with each of these
statements by ticking in the box of your answer.

Very Very
Questions Easy Okay Difficult
Easy Difficult

Provided the login credentials in an email, how easy


was it to login to the system?
How easy was it to view and update your personal
details in the system?
How easy was it to reset the password?

How easy was it to view and understand the upcoming


examinations timetables for your course?
How easy was it to estimate your overall programme
mark and degree classification?
How easy was it to view and understand the result of
the overall programme mark and grade estimation?
As an admin, how easy was it to register student to a
course and to a web-based system?
As an admin, how easy was it to filter and view
students’ profiles by their courses?
As an admin, how easy was it to add exam timetables
to the system?
As an admin, how easy was it to delete student from
the system?
Overall, how easy was it to navigate between the web
pages around the web-based system?

Any Feedback? / Any other features you would be interested in seeing?

Thank you for taking part and for sharing your thoughts.

Page 52 of 77
APPENDIX 5 - GANTT CHART

Page 53 of 77
APPENDIX 6 – PROJECT PROPOSAL

Overview
Currently, examination management includes a lot of manual calculations and is mostly paper-
based. Taking an example of a Salford University, the examination timetables are emailed to
the students but are not made publicly available on the university website or on any web-based
system. The project aims to bring in a centralised web-based system which will ensure the
activities in the context of an examination are effectively managed. This dynamic web-based
system will ensure that the students will be able to view and modify their personal details and
the course details and as well as view the examination timetables by gaining an access into the
system with the login credentials provided by the school administrator. The facility for
estimating the overall course grade based on the previously accumulated marks on different
modules and on the estimated marks for the future assessments will also be provided to the
students by the web-based system that will be created. This web-based system will also ensure
that the students’ overall progress report is generated based on their marks for different
modules held in the database.

Who Is It For?
This web-based system will primarily be developed for the students at The University of
Salford and additionally, it can be for the students at any other schools, colleges, universities
or educational institutions. The students will need an online portal where they can view their
examination timetables added and updated by the school office. The students can use the online
portal for updating their personal details and additionally, they can estimate their overall grade
by entering their previously accumulated marks and estimated marks from the future
assessments into the system.

Who Will Benefit?


Both, the University and the students will benefit from the web-based system that is going to
be created. This web-based examination management system basically has two main modules
for the proper functioning.

• The first module is the University which will be using the system to create and update
the student examination timetables online. The administrative role will be given to the
University for enrolling the students to the courses, creating and emailing students their
login credentials needed for the system. The admin will also benefit by generating the
students’ progress report online by entering the marks of every student into their
respective marksheet using the system’s GUI or via Database entry whereby every
student mark sheet will be created and printed separately.

• The second module is the students at the University who will be using the system to
check for their exam timetable details online at any time anywhere including the date
and time, building name, room name and number and the seat number. The students
will need to use the login credentials sent on their email address by the University to
login to the system and to use the system. An important aspect of this project and the
system that will be created is that the student will be able to estimate their overall grade

Page 54 of 77
by entering their previously achieved marks and expected marks that will be achieved
from the future assessments. The students will then know what to expect from the
course and on which subject they need to work more on, therefore, it will help students
prepare well for their study.

Why Am I Doing This?


The purpose of developing a centralised examination management system is to computerise
the traditional way of managing examinations and calculating and generating the mark sheets
and the progress reports. The motivation came from my friends at the University who thought
and agreed unanimously that the idea of creating a web-based system for managing the
examination timetable would be very beneficial for the students as it would let them see their
examination timetables online from anywhere at any time rather than going into the email inbox
and searching for the email received by the university weeks or months ago about their
examination timetable. It was also mentioned by my friends that the feature for estimating the
overall grade sounds promising and helpful which they haven’t seen yet as they think it would
help them know what to expect from their course and which modules should be given more
priority to achieve their targeted overall grade/degree.

I have always enjoyed working on web-based projects building interfaces and interactive
environment. I have gained a sufficient amount of knowledge from the past couple of years of
my study in the area of human computer interaction where I had to create some e-commercial,
user-friendly websites for selling products to the customers in a secure and interactive manner.

In general, I believe that undertaking this project will provide me with an opportunity to
demonstrate my understanding of the principles of software engineering by developing a
substantial application over a period of several months applying the theoretical knowledge
about software engineering methodologies, tools and techniques learned from the past couple
of years of my study to resolve a realistic problem.

Aim and objectives of the project


Aim
The main aim of this web-based project is to create a centralised system for an effective
management of student examination by ensuring that the students will be able to view and
modify their personal details and the course details and as well as view the examination
timetables and additionally, estimate their overall grade based on the previously accumulated
marks and expected marks from the future assessments, by gaining an access into the system
with the login credentials provided by the university during an enrolment.

Objectives
The main or core project objectives are as follows;

1. To identify user requirements by conducting a survey to approximately 20 students at


the University of Salford in the form of questionnaire as suggested by the supervisor
by the end of week 4. It will be measured by critically evaluating and analysing the
results obtained from the survey in the form of bar chart.

Page 55 of 77
2. To store the data such as students’ personal details, their module marks, course details
and administrator details in an efficient and in a secure manner by creating a secure
database and by applying appropriate encryption methods against the SQL injection. I
aim to complete this objective during the implementation phase of my project by
approximately week 12.

3. To create functional specifications and features summary document using UML


diagrams by evaluating the results obtained from survey and by identifying the key
features and components the users think the system must provide. I aim to complete
this objective during the requirements phase of the development by approximately week
12.

4. To design and create a prototype and wireframe for the web-based interface to ensure
that the features identified in the user requirements phase are included and achieved
and as well as to define a logical navigation of a web application. This will be measured
against the original user requirements obtained and identified from the survey. I aim to
complete this objective in the requirements phase by approximately the end of week 13.

5. To decide on and choose the technology, platform and development environment for
the implementation of a web-based system by researching on the most commonly used
technology and development environment for creating a server-side web-application
with the set of multiple dynamic pages. This will help me prepare well for the
implementation phase of the project at an early stage if I need to learn new
programming languages and framework. I aim to complete this objective by the end of
requirement phase.

6. To devise a mathematical formula for calculating students marks on different modules


based on each module’s credit value and finally estimate the overall degree
classification for the students based on the percentage of how much each level of course
is worth and contributes towards a final degree classification.

7. To implement a web application using a wireframe created at an earlier stage of the


project with the consideration of desired user requirements. The measurement of this
objective will be through a rigorous testing of a web application at the end of each
increment/ sprint and as well as at the final stage of development. This will help
eradicate the existing bugs in the system. This objective is aimed to be completed by
the end of implementation and testing phase of the project, which is the end of week
29.

The optional project objectives are as follows;

1. To identify, analyse and choose third party products and services such as Web
Application Development Company and Managed Hosting Provider to host the website
for publicity purpose and as well as for enhancing the performance and security of a
web application.

2. To research on the implementation of geolocation for directing students to the building


in university in which they are having their examination using google APIs.

Page 56 of 77
Figure: The Gantt Chart of the project objectives showing timeliness and the deadlines in
conjunction with other modules.

How Am I Going To Do It?


Proposed Development Methodology - Incremental
The entire project development (including project tasks and activities) will be solely dependent
on an Incremental Development Methodology. This traditional project management technique
will be carefully and predominantly used for an effective planning of the project work with the
use of user-stories and sprints. The normal approach for developing the system in increments
with the highest priority requirements and evaluating each increment before proceeding to the
development of next increment will be used in conjunction with Agile Methodology. I have
already gained a substantial amount of knowledge and experience of working in an Agile-based
environment during the Agile-based group project for Software Projects with Agile Techniques
module in the second year of my course and therefore, I would like to propose a very similar
development methodology because of its simplicity and flexibility for guiding my project to a
successful completion in an iterative approach in a series of phases and increments.
The main reason for choosing Incremental Development Methodology for my project is that
unlike Agile Methodology which is suitable for group project, Incremental is well suited for
individual (one-person) project even though the procedures on the both methodologies are very
similar and additionally, using Incremental, I can break down my project and its deliverables
into a set of smaller tasks which can be managed and completed easily and efficiently in a
series of increments.

Software and Hardware Requirements


In terms of Software requirements, the web-based system will be developed on a Microsoft
Visual Studio Community 2017 on ASP.NET framework with C# for the backend following

Page 57 of 77
a Model View Controller (MVC) Approach. The main reason for choosing this Integrated
Development Environment is that ASP.NET is an open-source server-side web application
framework which can be used for web development to produce dynamic web pages. The
software system requirements for the development of a web-based system are listed below;
• Microsoft Visual Studio Community 2017
• Windows 10 Operating System
• .NET Framework 4.5
• Version Control - Git
• Browsers - Google Chrome, Mozilla Firefox and Opera
• MySQL Workbench 8.0 CE

In terms of Hardware requirements, the Minimum System Requirements needed to install the
IDE and its tools, needed for the development of a web-based system according to the Official
Microsoft website, are as follows;
• 1.8 GHz or faster processer with at least 2 cores
• 2GB of RAM
• Hard Disk space of up to 20 GB
• Video Card that supports a minimum display resolution of 1280 by 720 pixels.

References
• Writing_SMART_Goals.pdf. (2018, 10, 15). Retrieved from Virginia.edu:
http://www.hr.virginia.edu/uploads/documents/media/Writing_SMART_Goals.pdf

• 3seproj2017.html. (2018, 10, 15). Retrieved from First Years Matters:


https://www.firstyearmatters.info/ms/3seproj2017.html

• Vs2017-system-requirements-vs. (2018, 10, 15). Retrieved from Microsoft.com:


https://docs.microsoft.com/en-us/visualstudio/productinfo/vs2017-system-
requirements-vs

Page 58 of 77
APPENDIX 7 - LOGBOOK

Project
Logbook
Student Name:
Navin Bajgai
Supervisor Name:
Dr Judita Preiss & Dr C Bryant
Course Title:
BSc Software Engineering
Working Title of Project:
A Centralised System for an Effective
Student Examination Management
Date of Completion:
30/04/2018

Page 59 of 77
Date Notes of Problems, Events and Activities
24th Project idea discussion: Discussed with Dr Chris Bryant my area of interest in Databases and
September Data Mining for the final year project. Requested him to act as my project supervisor
2018 explaining how much I am interested in the field of data science since the first year of my
(Monday) course. Dr Bryant then suggested me to research on the ideas about the specific data
related problem which can be solved by the project work I will be undertaking. He suggested
me to come up with some research questions in the next meeting. He also mentioned that
the project idea doesn’t have to be completely new and it can be something that has pre-
existed but however, the copyrights and references may be required.

25th • Data Seminar: Went to the Data FYP seminars group led by Dr Bryant and Dr J Preiss
September and expressed my interests in the field of data science. The lecturers’ suggestion was
2018 to find the specific data related problem and how it can be solved.
(Tuesday)
• Development (Web-focused) seminar: Went to the Development (Web focused) FYP
seminars group led by Dr Lee Griffiths and Dr SPletschacher and talked to Dr
SPletschacher about my idea of a web-based project regarding the online restaurant
table reservation system. His suggestion was that the project idea doesn’t sound
very challenging as there are already so many similar projects out there but
however, the extra features and functionalities could be implemented and added to
solve the specific problem.

2nd October Project idea research: Researched online


2018 for the web-based project ideas. The idea
(Tuesday) about creating a centralised system for an
effective management of student
examination sounded promising and was
looked into a greater detail. The use-case
diagram was drawn to identify and analyse
the features and functionalities the system
must provide to a certain user types. This
web-based system has an aim of allowing
students to check for their examination
timetables online by logging onto the
system with the login credentials provided
by the school.

9th October • Web Development Seminar: Went to the Web Development group led by Dr
2018 SPletschacher where I got told that I am not registered in his group and got advised
(Tuesday) to go the Data Group I was initially registered with.
• Talk with project coordinator: Talked to Dr Norman Murray about skipping the Data
Group and going into different group each week. Also explained him that I wanted to
be involved in both groups because I was interested in the both areas and now I am
only interested in the web development area. His suggestion upon my request for a
move to a Web development team was that I can still do a web-based project being
in a data group and I should continue going into the data group from the next week.

Page 60 of 77
• Project idea discussion: Talked to Dr Judita Preiss and Dr Chris Bryant explaining the
reasons for skipping the data group and going into different group each week and
got advised that I should resume my attendance in the data group from next week
regardless of whichever field or area my project is going to be. At the same time, the
web-based project idea I had on my mind about a centralised system for an effective
examination management was also stated to the lecturers. It seemed that my idea
about this web-based system grabbed the lecturers’ interest as they suggested the
project work will also involve data processing and prediction in some ways and a lot
of academic data will be required. Therefore, the lecturers’ advice was that I need to
find some good and reliable source where I can gather the information and data
from for the need of my project. I was also advised by the lecturers to work on my
project proposal describing the goal, aim and objectives of my project idea following
the SMART Objectives approach and have the lecturers to review the proposal upon
the immediate completion of the proposal.

11th October • Data Research: Requested Dr Andrew Young and Dr Norman Murray for the
2018 information about anonymised academic data for the use in my project where I got
(Thursday) suggested that the students data- including the name, courses and mark which was
used in the first year on CSIL module for Linux practical tasks can be something I
might be looking for and might as well be used with some necessary alterations to the
data.
• Data Research: Emailed Administration Officer, Kate Wynn from University’s
Administration Team mentioning the type of project I am looking forward to doing
and requesting for some information on the anonymised academic data required for
the use in my project.

12th October Got emailed by Dr Andrew Young the student results data from the CSIL module from the
2018 first year. Talked to him face-to-face about the ethical approval of the student data to use
(Friday) on my project work where I got told that the data is anonymised and can be used freely with
no further ethical approval need.

15th October Working on a project proposal: Identified the aim and objectives of the project and
(Monday) summarised the overall aim of the project in the proposal. Distinguished between the main
and optional objectives and created a Gantt chart for the objectives and for the project
deliverables in conjunction with all other modules. Reviewed on the Incremental
Development Methodology to be used for the development of the project and talked about
it on the proposal.

Page 61 of 77
16th October • Seminar with Dr Bryant: Dr Bryant advised on how to complete the Risk Assessment
(Tuesday) form and Ethical Approval form in the correct way. His advice for ethical approval
form was that if the project includes the data gathering by surveys or interviews with
the involvement of people and their contribution, then the Ethical Approval form
must be of Type 2. It was also mentioned by Dr Bryant that the Risk Assessment form
must be completed up to page 4 unless the project involves the need to work with
animals and chemicals.
• Project Proposal Review with Dr Preiss: Got my project proposal reviewed by Dr J
Preiss for the first time where I got many positive and insightful feedback on the
approach taken to write and present the proposal in a standard and competent
technical English. However, she still had some suggestions for me to make my
project approach and methodology better than how it is right now.
The first suggestion was that mentioning the system is dynamic rather than static in
the introduction would make a lot of sense to the readers because this is one of the
key thing about the state of the web-based system.
The second suggestion from Dr Preiss was that the survey in the form of interview or
questionnaire can be done to gather the user (students) requirements. Doing this
would be very beneficial when it comes to measuring and evaluating the project
objectives and additionally, it would also help me think more about the project
background and research problem when it comes to writing the literature review for
my project.
The third suggestion was for the objectives of my project where she said that my
objectives can be revised and improved further by following a SMART approach
appropriately.
The final talk with Dr Preiss was regarding the involvement of anonymised academic
data needed for the prediction of student overall marks using machine learning
algorithm. It was discussed and agreed that the student grade prediction will not be
done using machine learning algorithm but will rather be calculated and estimated
using mathematical formula based on the course modules credit value and on the

Page 62 of 77
percentage of how much the certain level of course contributes towards the final
degree classification.
• Project Survey: As suggested by my supervisor, Dr J Presis, I created a questionnaire
to survey the students asking them how they are going to benefit from my project
about the web-based system for examination management.

17th October Project Proposal Review with Dr Bryant: There was a discussion regarding the data
2018 prediction part of the project and it was agreed that it is not actually the prediction of the
(Wednesday) student overall grade the system will do but will rather calculate and estimate the grade in
the event that student enters all of his/her previous module marks plus the marks he/ she is
expecting from the future assessments for the modules currently being undertaken. His
suggestion, therefore, was I should rephrase the wordings and sentences on my proposal
where I have mentioned about the data prediction and instead talk about the use of
mathematical formula for the overall grade calculation and estimation.
Dr Bryant seemed pleased with the overall presentation style of my project but however he
thought that my idea of identifying my project objectives were vague because they were
written in a very short sentence without following a SMART approach. He, therefore,
advised me to put more effort on identifying and analysing the objectives in a realistic
manner.

18th October Survey Analysis: Based on the results gathered from the survey done to 20 students in the
2018 university, the bar chart (below) was created.
(Thursday)

Page 63 of 77
19th October Submission and Feedback: Submitted the latest version of my project proposal on the
2018 Blackboard and emailed the risk assessment and ethical approval forms to both Dr Bryant
(Friday) and Dr J Preiss. Got feedback from Dr J Preiss on my ethical approval form which includes a
lot of suggestions on the changes I need to make on the ethics form.
• The first suggestion is that the description needs to be modified to be made clearer
on how I will approach people by including something like I will give them an
information sheet and ask them to sign a consent form.
• The application checklist on the ethics form also needs to be modified to say that the
participation information sheet and consent form are not included yet in the ethics
form but will be done later.
• The final suggestion was on my questionnaire attached as an appendix to the ethics
form. The suggestion was that there are other standard ways to write questionnaires
which can be discussed closer to the time with the supervisor.

23rd October • FYP Lecture (with Dr Rob Aspin): From this lecture, I came to know that whichever
2018 research methodology is chosen, it must be robust, reliable and repeatable.
(Tuesday)
• Seminar with Dr Bryant: Contributed my ideas and thoughts about the research
methodology I am going to adopt for my project work. It was discussed with Dr
Bryant that qualitative and quantitative research methods would be ideal for my
project as my project involves interviewing and surveying students to find out more
about the online features and facilities they are currently provided with by the
university in the context of examination management, how happy they are with it
and what other features and functionalities could be introduced to make their lives
even better and easier. An important thing noted from this seminar is about the
research question as Dr Bryant suggested that the project must have a research
question and it must solve some real-world problem.

30th October • FYP Lecture (with Dr Julian Bass): In terms of development methodology, it was
2018 explained and made clear that the Agile and Incremental methodologies are very
(Tuesday) similar and commonly used and both are iterative which is the key thing about the
whole product development concept. It was also made distinctively clear that the
agile is adopted by the group whereas the incremental are well-suited for individual

Page 64 of 77
projects. This lecture has provided me with all the necessary information I was
looking for about the incremental development methodology and I am now certain
that this is what I am adopting for managing my project tasks and activities. It was
also very encouraging as Dr Bass recommended to have a minimum viable product
by the end of the first semester.
• Seminar with Dr J Preiss: Most of the seminar focused on the production of a
minimum viable product. There was a group discussion in which everyone
contributed the main idea and theme of their project whereby the ideas about
potential minimum viable product were suggested to a contributor by the supervisor
and the team. Dr Preiss stated that she would like to see the progress in terms of
programming by the next seminar therefore, her advice for everyone was to make a
decision on the framework, IDE and programming languages & technologies which
will be used for the implementation of a product. She said that she would like to see
some minimal back-end functionalities in conjunction with the relevant user
interface in the next seminar. It was also suggested by Dr Preiss to make a choice of
the project management tool (e.g., Trello or Kanban board) and on the version
control.
• Tutorial with Dr Preiss: Got the feedback on my Type 2 Ethical Approval form in
person as Dr Preiss suggested that I need to approach the people in a professional
manner, therefore the participant consent form must be created and given to the
people rather than explaining them things and acquiring their consents verbally. As
per her suggestion, the most important thing now is to prepare a purposeful
questionnaire modifying the existing one with the consent form and get between 10-
15 students to complete a questionnaire so that it will help significantly in the
requirements gathering phase of the project. When asked about the potential
minimum viable product for my project, it was discussed that the focus should be
more on the students’ interaction than on the administration and therefore, as my
project is about student examination management, the simple user interface for
registering, logging in and out of the system and viewing examination timetables
based on the data manually added in the database should satisfy the requirements
for a minimum viable product.

6th • FYP Lecture (with Dr J Bass): This lecture provided me with all the vital information
November for the first dissertation deliverable on how to write the introduction, review the
2018 literature work and discuss the methodologies for my project. Dr Bass advised on the
(Tuesday) appropriate approaches that are to be taken on writing a technical report with a
competent English and in a professional manner. Dr Bass’s suggestion on writing a
literature review was to start the review with a broad range to topics and then move
towards a specific issue of the project. From this lecture, I also came to know that
the main purpose of literature review is to look at the work others have done that
are closely related to own project and then identify the gap my project is going to fill.
• Seminar with Dr Preiss: In the seminar, I shared to the supervisor and the group
what I have done so far in terms of programming. I mentioned that I have created
few classes including Student, Course and Module with the relevant fields and
functions using a Model View Controller (MVC) approach in the ASP.NET framework.
The supervisor’s comment upon my progression on the programming aspect of

Page 65 of 77
project so far was that I now have a clear understanding about which programming
languages, IDE and framework I am going to use for the development of a web-based
system and the next step, in terms of development, might be to create a database on
MySQL Workbench with the relevant tables and populate some mandatory data into
the database which would be sufficient for the creation of a minimum viable
product. Another thing discussed in the seminar was regarding the literature review
where the supervisor suggested the group to not to read the whole article or journal
but to only identify the research problem and the approaches taken to resolve the
problem to find out the gist of a whole article.

13th • Seminar with Dr Bryant: Most of the seminar focused on the literature review. I was
November asked by Dr Bryant to tell the importance of literature review in any project and how
2018 it is done. My response to the above question regarding the purpose of literature
(Tuesday) review was that the main gist of doing literature review is to identify the gap that
can be filled in by my own project idea and what improvements can be brought and
implemented into the new system in terms of usability, efficiency and other more
software attributes. Dr Bryant’s comment to my response was that identifying the
gap is the most important thing but however, the project idea doesn’t have to be
completely new (as for the postgraduates) but at the same time, the project must be
challenging and it can be redone again in a different approach to the ones that have
been followed previously and the approaches here generally mean and include
methodologies (both research and development), Integrated Development
Environment, Framework, Programming languages, etc. As I was struggling to find
the articles and journals related to my project area, Dr Bryant kindly suggested that
the ideal number of papers to be read/ reviewed is 5 but however, it varies from one
project to another. The main lesson I learnt from this seminar is that literature
review is something that is done before starting our own project to find out what has
been done previously in conjunction with our own project idea.
• Tutorial with Dr Preiss: Received one-to-one feedback from Dr Preiss on my project
proposal. The feedbacks were very insightful and constructive as she suggested that
the summary of FYP lectures and seminars were omitted in the Logbook and this is
something that can be considered and improved on in the near future. It was also
discussed that whether or not including the word count in the report is mandatory
where she suggested that doing so will help me refrain from being penalised because
the word count is also accessed. Another key thing discussed in the tutorial was
regarding the survey materials for my project for requirements gathering where I
was suggested by supervisor to start working on preparing a participant information
sheet and consent form and on modifying the existing questionnaire immediately. It
was also discussed that the participant information sheet should provide all the
useful and key information about the project, the rationale behind the project idea
and as well as the instructions for completing the questionnaire. Similarly, it was
discussed that the consent form must ask the participant to sign the form and make
them aware of the confidentiality of the information collected from the survey. It
was suggested by Dr Preiss that the consent form must also allow participant to
withdraw at any time from participating themselves in the event that they don’t
want to proceed further because they are bored or have changed mind or for any
reasons. It was finally agreed that the participant information sheet and consent

Page 66 of 77
form will be produced in the similar manner to that of discussed earlier and
additionally, both forms will be created together in a single document where the
consent form will be attached at the bottom of the participant information sheet.

20th • Seminar with Dr J Preiss: One important thing discussed and learnt from the seminar
November is that the literature review should just contain enough information for the readers
2018 to understand the concept about the project research topic. Dr Preiss suggested that
(Tuesday) the word count for this project deliverable is including the contents and references
as they are also the parts of the report. According to the class discussion and Dr
Preiss suggestion, the project proposal must also be attached to the report as an
appendix along with the latest version of logbook.
• Tutorial with Dr Preiss (Review of Lit Review): Got so many constructive feedback
upon the review of my first attempt of writing a literature review. She said that she
liked the way I have included the project research question and a short overview of
my project research topic before starting the literature review. Her suggestion upon
the citation and referencing was that I should try to avoid quoting long sentences
from the literature unless necessary and rather try to paraphrase the sentences as
much as I can from the literature into my own words. From her suggestion, I came to
understand that paraphrasing will help me gain higher mark because my literature
review is assessed based on the demonstration of understanding of various
literatures and related works using own words and languages rather than by simply
quoting others’ work and words and describing them. Her feedback on my approach
to compare the related articles was that I need to be a bit more specific and highlight
the key differences in the web-based system in terms of security and vulnerability.
She also suggested me to back up my project research topic and ideas on the
security aspects of the system. Her final feedback upon the justification on the
literatures reviewed is that I shouldn’t just simply say that the literatures are not
related to my project but justify how they are not related and how my project is
different from others and talk about the gap in knowledge in the related area that
can be filled in by my project.

23rd • Submission: Submitted the first dissertation deliverable “Introduction, Literature


November Review and Methodology” with Project Proposal and Logbook as appendices.
2018
• Survey Materials: As suggested by Dr Preiss, created a Participant Information Sheet
(Friday)
with a consent form and improved a questionnaire to include the number of in-
depth questions for the survey. Emailed the copies of all survey materials to Dr
Preiss.

27th • Seminar with Dr Bryant: Dr Bryant advised the group to make a plan for the next
November deliverable due on week 29. Most of the seminar focused on the development of
2018 minimum viable product for the project. Dr Bryant’s suggestion was to make
(Tuesday) progress on the project according to the plan proposed beforehand between now
and the start of second semester and be on a strong position at the start of the next
semester and the logbook should reflect well on the progress made. When asked
what I will be doing for my minimum viable product, I explained that the first thing I
will do is implement a database for my project on MySQL Workbench and then

Page 67 of 77
manually populate some data for the admin and students to login to the system and
then view/ update their details. Dr Bryant’s comment upon my explanation was that
I might first need a logical model of the database before even thinking about
implementing it.
• Tutorial with Dr Preiss: Got the feedback on the survey materials created for my
project. She liked the way I have included information for participation on the
information sheet saying it’s completely voluntary and it’s entirely up to them to
decide whether or not they want to take part, however her suggestion for me was
also to emphasise that they can decide to withdraw at any point during the survey.
Because I am not keeping participant’s personal data, I will not be able to say that I
will ask the same people for the second survey, therefore, as per Dr Preiss
suggestion, I could get the participants to do the second survey for evaluation where
I can ask them if they took part in the first survey and if they did, I could also ask
them if their requirements have been met. Another thing Dr Preiss suggested was
that I could also include a wireframe for my system (hand-drawn or computerised) in
the questionnaire so that it will be easier for participants to assess whether or not
the new system will help them. The final suggestion from Dr Preiss was on the
quality of questions that I have in the questionnaire where she said me to include
the questions or statements in such way where the existing system and the new
system are compared in terms of features and functionalities.

22nd January Revised Survey Materials: The participant consent form is now revised according to
2019 supervisor’s suggestion where it now only asks the participants for their course and year of
(Tuesday) their course but not their names.

The questionnaire is also revised to include the statements in a more professional manner
following a Likert scale approach.

Page 68 of 77
The wireframes for the web-based system has also been created to show the participants
how the new system will look like and what features and facilities can be expected from the
new system.

24th January Survey Results, Analysis and Feedback: Conducted survey in the university in Newton
2019 Building to 10 students studying different courses. I approached the student and explained
(Thursday) the purpose of project and the survey and then asked them to read the participant
information sheet first to understand why the project and the survey is being done. I then
asked them to sign the consent form to show their agreement for taking part in the survey.

Page 69 of 77
The participants were then encouraged to see the wireframes of an interface before
beginning to fill in the actual questionnaire.
Based on the results gathered from the survey done to 10 students in the university, the bar
chart (below) was created.

Final Year Project Questionnaire Results Bar Chart


Questionnaire statements

Statement 7
Statement 6
Statement 5
Statement 4
Statement 3
Statement 2
Statement 1
0 1 2 3 4 5 6 7 8 9 10
Statement Statement Statement Statement Statement Statement Statement
1 2 3 4 5 6 7
Strongly Disagree 0 1 0 0 1 1 1
Disagree 0 4 1 1 0 0 0
Neutral 3 2 1 1 0 0 1
Agree 6 3 3 4 5 4 4
Strongly Agree 1 0 5 4 4 5 4

Number of students in the class interval of 1


Strongly Disagree Disagree Neutral Agree Strongly Agree

Some insightful feedbacks and comments were also received from the participants. Most of
the participants said that this would make things much simpler and easier and is definitely
needed. It was noticed from the survey that not all courses have 3 years of study and the
course like MEng has 4 years, so as suggested by one of participant doing MEng course, the
software would be of much more use if it would also let students enter 4 th year’s marks and
estimate the grade for all years. Another insightful comment received from the survey was
that if the algorithm for predicting grades is well reviewed, it could be used to enhance post-
graduate applications.

31st January • FYP Lecture on Requirements Engineering (By Dr F Mezaine): This lecture about
2019 requirements engineering helped me to understand the difference between various
(Thursday) types of requirements such as functional, non-function, usability and how each is
important in software engineering related projects. The lecture also covered the
different ways of gathering the requirements including interviewing, observation,
background reading and questionnaires. Questionnaire has already been used in my
project to gather the functional and usability requirements with an aim of bringing in
a more user-friendly and more productive web-based system in the context of
student examination management. Another thing learned from this lecture is that
the use of UML diagrams such as Use-cases, activity, sequence and class diagrams
are vital to identifying, visualising and outlining the functional requirements of the
system.
• Seminar with Dr Bryant: The seminar mainly focused on the discussion about the
preceding lecture on requirements engineering. Dr Bryant’s suggestion was to
refresh the knowledge on creating UML diagrams because the next thing on the

Page 70 of 77
project would be to identify the requirements and outline them with the use of UML
diagrams before the implementation gets started. When I was asked by Dr Bryant
how long we can continue to do literature research for on our project, my answer
was until the implementation phase begins and the agreement from everyone was
shown upon my suggestion to the above question. Another thing discussed in the
seminar was regarding the late production and availability of project deliverable’s
marksheet. It was discussed, and everyone agreed that the marksheet for the next
two project deliverables are highly needed now to plan for the tasks that are needed
on be done in each deliverable and how much different tasks are worth of the
project.
• Supervisor on leave until next academic year: It has come to be known that
supervisor, Dr Preiss is on leave until the start of next academic year which means
that the supervisor will not be available for the rest of the year/ project, therefore,
any queries about the project must now be sent to Dr Bryant.

14th February • FYP Lecture on Testing & Evaluation (By Dr Aspin): This lecture focused on the
2019 importance of testing and evaluation. The lecture has also made clear about the
(Thursday) confusion between testing and evaluation. Testing is done against the specifications
for the tools built to conduct experiments which makes sure that the experiments
will run as expected. On the other hand, evaluation was described as something that
is done against the requirements of a project such as the research questions and
then demonstrate whether the project meets the research objectives. According to
Dr Aspin, evaluation proves or disproves the hypothesis and that there must be the
strategy for both testing and evaluation. It was also made clear that the testing is a
continuous process and should be a part of an implementation.
• Seminar with Dr Eman Nashnush: One-to-One meeting with the new supervisor
standing in the replacement for Dr Preiss. Explained the aim, objectives and the
purpose of my project along with the current stage of the project. She asked
whether or not I need the data for my project and if needed, what kind of data –
where I responded there is no need for the data as the project mainly focuses on
building the interface for students. Talked about the survey done a couple of weeks
ago to the students in the university for requirements gathering purpose which she
thought was a good idea and I have now been suggested to get started with the
implementation.
• Tutorial with Dr Eman Nashnush: In the tutorial, the student grade estimator part of
the project was discussed which led to the conclusion that the appropriate
mathematical formula must be devised for calculating the students overall estimated
grade. She said that she would like to see some progress by the next seminar/tutorial
in terms of the implementation phase of the project where she suggested me to
focus on the user interface and interaction part of the web-based system for now.

15th February Setting up a Trello board and Planning the First Increment: Trello board was created for
2019 managing the development tasks of the web-based system. As the web-based system for my
(Friday) project will be developed following an incremental software development methodology, the
Trello board for the first increment of the development has been created by identifying the
key features and functionalities needed for the minimum viable product.

Page 71 of 77
First Increment Goal: The first increment mainly focuses on setting up the resources such as
Trello board and database to get started with the development work. This increment will
also look at the implementation of the student enrolment and student and administration
register and login functionalities in order for an administrator to enrol students to their
courses and to create their profiles.

21st February • FYP Lecture on Data Science and Analysis (By Dr Mo Saree): This lecture by Dr Saree
2019 on Data Analysis mainly focused on the MSc Data Science course introduction
(Thursday) including the course presentation and delivery. The lecture also highlighted the data
mining methodology called CRISP-DM (Cross-industry Standard Process for Data
Mining) which can be used for data related projects.
• Seminar with Dr Bryant: In this seminar, everyone talked about and shared the
progress on their projects. As suggested by Dr Bryant, the implementation for my
project needs to be finished as soon as possible so that I will have enough time for
the testing and then I can finally focus on writing the second dissertation deliverable.
Dr Bryant also suggested the group to measure the progress against the original
time-plan (Gantt Chart). There was a discussion regarding the change in project
objectives at this stage of project. As per Dr Bryant’s suggestion, everyone showed
their agreement on the ability to make changes on project objectives at any time
during the project given that it is well-documented on the dissertation writing it
concisely and precisely meeting the word-count limit.

28th February • FYP Lecture on Experimental Design (By Mr Lee Griffiths): It is understood from this
2019 lecture that every project includes experimentation and the main aim of
(Thursday) experimental work is to take existing knowledge a little bit further in a way that
others can understand and be convinced by. Mr Griffiths highly encouraged the
students to keep the work narrow in scope and specific by only measuring or
recording the things needed linking the conclusion back to original ideas, hypothesis
and objectives. It was also understood from the lecture that the experimentation is a

Page 72 of 77
scientific procedure undertaken to make a discovery, test a hypothesis, or
demonstrate a known fact.
• Seminar with Dr Nashnush: Explained to Dr Nashnush how I am going to implement
a grade estimator for my project. She thought that it is relatively simple idea,
equation and formula where I responded this might be a simple task but very
beneficial for the students and additionally, I will be implementing geolocation to
direct students to their examination venues, which, I believe, will make my project
challenging. The supervisor then told me to implement the database and have some
data in the system.

5th March Planning the Second Increment: The Trello board for the second increment of the software
2019 development has been created with the list of tasks that are to be done in this increment.
(Tuesday) Second Increment Goal: The second increment will focus on the management of student
examinations which will include the admin functionality for adding exam timetables and
publishing them online on the web-based system for the students to view. The other goal of
this increment is to restrict the admin features and functions on the system including student
registration and adding examinations.

7th March FYP Lecture on Final Deliverables (by Dr N Murray): It was made aware by Dr Murray that
2019 the project demonstration is exactly in 2 months from today and it is mandatory because
(Thursday) without the attendance on project demonstration, the entire project will get cancelled. The
second dissertation deliverable will be on requirements, design & implementation and
finally, the third deliverable will be on Testing, Critical Evaluation, Reflection and
Conclusions. The lecture was very important and beneficial as it covered the contents that
are to be included in each of the dissertation section and this will work as a guide for me
when I start to write my second and third dissertation deliverables.

Page 73 of 77
8th March Database Creation: The SQL Server database was created with the relevant tables needed
2019 for the project implementation. The tables that have been created are Students, Admin,
(Friday) Courses, Modules and Exams.

11th March Student Registration and Login Implementation: Created the forms for administrator to
2019 add student to the course and as well as the form for both admin and student to login to the
(Monday) system. The ASP.NET Required Field Validator and Regular Expression Validator were used
to sanitize and validate the user inputs on the forms. The functionalities for authenticating
and authorising web-system registration and login have also been implemented in C# with
the checks on the user data held on the database.

12th March Mail Server Implementation: Implemented a Mail server in a C# class for sending emails to
2019 the users on various occasions depending on the activities performed on the web system.
(Tuesday) One of the main reasons for mail server implementation is for sending emails to students
with the login credentials including username and password during the registration which
will then be used by the students to log in into the web-based system.

14th March • FYP Lecture on Dissertation Writing (By Dr Bass): The lecture made clear that the
2019 writer is not the one who decides whether the writing is good or not, but the reader
(Thursday) does. Dr Bass suggested to follow the advice in the final year project guidance about
the dissertation chapter structure. According to Dr Bass, for the second dissertation
deliverable, the heading can be split into two different sections, i.e., Specification &
Design and Development & Implementation. Additionally, Dr Bass strongly
recommended to follow incremental development methodology to define and
explain the requirements and implementations in increments in the second
dissertation deliverable. Each requirement increment can include goal, use-cases and
UI story boards. Another thing discussed in the lecture was about the writing process
where Dr Bass advised students to apply a lean software development method to
the writing process which will eliminate waste- remove unnecessary words and
sentences with an ultimate aim of the perfection.
• Seminar with Dr Nashnush: Showed my progress on the implementation of a
product to Dr Nashnush by demonstrating the student’s course registration and web
system login functionalities and features. She suggested me to use random
generator for the validation characters and for the student IDs. Dr Nashnush seemed
happy with the progress I have made and with the quality of the work I have
produced so far, therefore, she strongly recommended me to focus on the rest of
the implementation including displaying students’ profiles, adding and publishing
exam timetables and finally the grade estimator.

16th March • Implementation of student profiles display and modification: Created an interface
2019 for displaying student’s personal details held in university database including their
(Saturday) photos, names, addresses and courses they are enrolled in. The functionality for
letting students to modify their existing personal details have also been
implemented. The mail sever has also been used to notify students of their account
update via an email.

Page 74 of 77
• Changing and resetting the password implementation: The forms have been
created for allowing student to change the password of their own and to reset the
new password in case they have forgotten their password. For resetting the
password, the student table-adapter has been created for checking whether the
email address provided by the student is valid or not (whether it is in the database or
not). Again, the mail sever has been implemented in conjunction with these features
to let the student know of their password change and/or reset.

17th March Implementation of adding student examinations: The administration functionality for
2019 adding examination timetables have been implemented after creating a form for admin to
(Sunday) input the data such as, exam name, course, module, date, start time, duration, end time,
building and room. The ASP.NET Required Field Validator and Regular Expression Validator
were used to sanitize and validate the user inputs on the forms.

21st March • FYP Lecture on Dissertation Dos and Don’ts (By Dr Young): This lecture by Dr Young
2019 was on the dos and don’ts of writing a dissertation which was based on the
(Thursday) experiences of marking previous dissertations and it was especially relevant and
important to my project. In terms of technical things to be covered in the
dissertation, Dr Young’s advice was to focus on the interesting aspects of the work,
what were they key problems and decisions that were made. Dr Young advised
everyone to avoid putting in a lot of screenshots and code-snippets in the
dissertation, but rather include the useful illustrations like storyboards, system
diagrams and wireframes. It was also made clear by Dr Young in this lecture that
dissertation should tell a story and have a clear structure for telling the story
including chapters where each chapter should include the introduction, body and
conclusion of the chapter. Dr young also suggested to address the legal, professional,
ethical and social issues of the project if there are any and also to explain why if
there are none. Finally, according to Dr Young, the dissertation should also tell about
the results achieved and the objectives that have and/ or haven’t been met. It should
be made clear what I started with and what value have been added in the project
area.
• Seminar with Dr Bryant: In the seminar, Dr Bryant went through the second
dissertation deliverable with the students. It was agreed by Dr Bryant that for the
requirements section of the deliverable, I can talk about the qualitative research
approach which was adopted to gather the user requirements. I explained that the
approach adopted in terms of requirements gathering was a qualitative research
because I prepared a questionnaire and conducted a survey to the students at the
university for key requirements identification and gathering by comparing the
existing system to a new one that is going to be developed. When discussed about
the use of diagrams in the dissertation, Dr Bryant advised the group to refer to the
guide for appropriate referencing styles for images and that the diagrams must be
clear enough to convey the message about the particular context.

22nd March Planning the Third Increment: The Trello board for the final increment of the software
2019 development has been created with the list of tasks that are to be done in this increment.
(Friday)

Page 75 of 77
Third Increment Goal: The main goal of the third and final increment is to focus on creating
a grade estimator for students to estimate the overall programme mark and degree class
they wish to achieve at the end of their course. Beyond this, the increment will also focus on
the implementation of student account update features including profile details update and
password reset. This increment will finally focus on the implementation of geolocation for
directing students to examination venues.

25th March • Implementation of displaying all upcoming exams and one student’s exam/s: The
2019 interface for displaying all exams for all courses and for all students have been
(Monday) implemented with the use of CSS and Bootstrap for the customisation. Additionally,
with the use of session key ‘username’ for the student that is currently logged into
the system, the interface for displaying the upcoming exams for this particular
student has been implemented after joining the databases tables such as Students,
Courses and Exams with the use of foreign keys.
• Implementation of Grade Estimator: Created a form with controls such as labels,
textboxes and dropdown list to allow students to read important information,
choose the right course and to input the module marks in a valid data type and
format. Devised a mathematical formula to calculate the overall expected
programme mark by calculating and adding the percentage achieved in the second
year (worth 25% of the degree) and expected to achieve in the third year (worth 75%
of the degree). The function for classifying the type of degrees, i.e., first class honors
and second class honors was then implemented which takes the overall programme
mark percentage as an argument and compare it against the range of marks which
falls under a particular degree classification.

28th March • FYP Product Review and Feedback (with Supervisor, Dr Nashnush): Showed the
2019 90% complete product to the supervisor and got some positive and insightful
(Thursday) feedback. She liked the feature I have implemented to show the ‘My Exams’ nav
menu on the navbar when the user is logged in because she thought that it will help

Page 76 of 77
remind students that they have examinations coming up. She seemed impressed
with the admin functionality for adding student exam timetables as she said the
drop-down menu used for selecting courses and the modules linked to one specific
course is very user-friendly and very convenient. Explained her the processes I took
to devise a mathematical formula for calculating the overall programme mark
percentage considering how much each year of the course is worth of, and finally to
work out the degree classification comparing the overall programme mark against
the range of marks that falls under a certain degree classification. She seemed happy
with the grade estimator feature of my project after she understood how it works.
Therefore, she has now suggested me to focus on writing the second dissertation
deliverable on Requirements, Design and Implementation and get the progress
reviewed in the next week’s tutorial. As per the supervisor’s suggestion, the
implementation of geolocation for directing students to examination venues can
then be focused into as the last thing as it is not the significant part of the project
and even without it, the project is still good.

29th March • Restricting admin and some web-based system features: The functionality for
2019 restricting certain admin features such as, registering students into the course and
(Friday) adding examination timetables have been restricted so that they can only be
accessed by the administrators. Similarly, the pages for displaying the examination
timetables and personal details of a logged-in student has been restricted so that
they can only be accessed by the student that is currently logged-in into the system.
Additionally, the user of the web-based system, either admin or student, must be
logged-in in order to access the features of the system including grade estimator,
student registration, adding exams, displaying exams, etc because if there is no user
logged-in, then it will simply re-direct the user to a login page in the event they try to
access the web-based system features.

Page 77 of 77

View publication stats

You might also like