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

Application Development

Coursework 2

Submitted By: Submitted To:


Summit Pathak 17032018 Ishwor Sapkota
Nikit Gurung 17031975 Module Leader
Oskar Man Katila 17031978
Bibek Sapkota 17031957
Group : L3C2
Date of Submission: 25th April 2019
Abstract
Attendance Management System is a simple web application for student attendance
developed in ASP.NET with programming language C#. Visual Studio 2017 is the IDE for
development and database is Microsoft SQL Server 2012.

Recently, there is no any proper application to monitor the employee attendance in most
of the companies of Nepal. Most of the companies and organization still uses the
traditional paper-based system to manage the attendance of their staff members. To
overcome the traditional paper-based system this system is introduced.
Acknowledgement
We would like to thank our module lecturer, Mr. Ishwor Sapkota and our classmates for
guiding us through the duration of the project. Their input was valuable as the project and
technology used was fairly new to us. We are indebted for their help especially for Web
Form components and stored procedure.

We would also like to thank Informatics College Pokhara and London Metropolitan
University for understanding the importance of the module and express our deepest
gratitude for providing us with an opportunity to work on such a project.
Table of Contents
Abstract ........................................................................................................................... 2

Acknowledgement ........................................................................................................... 3

Table of Abbreviation ...................................................................................................... 9

Login Credentials Used During Testing ....................................................................... 9

Introduction ..................................................................................................................... 1

Scope of the System ....................................................................................................... 3

Data Dictionary ................................................................................................................ 4

Instruction to run the program ......................................................................................... 7

User Manual ................................................................................................................ 7

Dashboard / Home Page .......................................................................................... 8

Navigation Bar.......................................................................................................... 8

Teacher sub menu ................................................................................................. 11

Student sub menu .................................................................................................. 11

Course sub menu ................................................................................................... 12

Module sub menu................................................................................................... 13

Class sub menu ..................................................................................................... 14

Assign Menu .......................................................................................................... 15

Teacher-Module sub menu .................................................................................... 16

Student-Course sub menu ..................................................................................... 17

Student-Class sub menu ........................................................................................ 18

Report Menu .......................................................................................................... 19

Attendance-report sub menu .................................................................................. 21

Absent-Students..................................................................................................... 21

Enrolled-Students................................................................................................... 22
Teacher-module ..................................................................................................... 23

Attendance Menu ................................................................................................... 24

Architecture of the System ............................................................................................ 26

ER Diagram ............................................................................................................... 27

Class Diagram ........................................................................................................... 28

Purpose of Classes.................................................................................................... 34

Testing .......................................................................................................................... 37

Individual Member’s Reflection ..................................................................................... 66

Summit Pathak (ID: 17032018) ................................................................................. 66

Nikit Gurung (ID: 17031975) ...................................................................................... 67

Bibek Sapkota (ID: 17031957) ................................................................................... 68

Oskar Man Katila (ID: 17031978) .............................................................................. 69

Conclusion and Review ................................................................................................. 70

References .................................................................................................................... 72
Table of Figures
Figure 1: Login Screen .................................................................................................... 7
Figure 2: Dashboard / Home Page .................................................................................. 8
Figure 3: Navigation Bar.................................................................................................. 9
Figure 4: Add Data ........................................................................................................ 10
Figure 5: Teacher sub menu ......................................................................................... 11
Figure 6: Student sub menu .......................................................................................... 12
Figure 7: Course sub menu ........................................................................................... 13
Figure 8: Module sub menu ........................................................................................... 14
Figure 9: Class sub menu ............................................................................................. 15
Figure 10: Assign Menu ................................................................................................ 16
Figure 11: Teacher-Module sub menu .......................................................................... 17
Figure 12: Student-Course sub menu ........................................................................... 18
Figure 13: Student-Class sub menu .............................................................................. 19
Figure 14: Report Menu ................................................................................................ 20
Figure 15: Attendance-report sub menu ........................................................................ 21
Figure 16: Attendance-Students sub menu ................................................................... 22
Figure 17: Enrolled Students ......................................................................................... 23
Figure 18: Teacher-module sub .................................................................................... 24
Figure 19: Attendance Menu ......................................................................................... 25
Figure 20: Architecture of the System ........................................................................... 26
Figure 21: ER Diagram.................................................................................................. 27
Figure 22: Class Diagram.............................................................................................. 28
Figure 23: Login Class .................................................................................................. 29
Figure 24: Home Class.................................................................................................. 29
Figure 25: Users Class .................................................................................................. 29
Figure 26: Class class ................................................................................................... 30
Figure 27: Course class ................................................................................................ 30
Figure 28: Student class................................................................................................ 30
Figure 29: Teacher class ............................................................................................... 31
Figure 30: Module class ................................................................................................ 31
Figure 31: EnrolledStudents class ................................................................................. 31
Figure 32: ForgotPassword class .................................................................................. 32
Figure 33: AttendanceReport class ............................................................................... 32
Figure 34: StudentClass class ....................................................................................... 32
Figure 35: StudentCourse class .................................................................................... 33
Figure 36: TeacherModule class ................................................................................... 33
Figure 37: Entering Correct User Credentials for Regular User .................................... 37
Figure 38: Entering Correct User Credential for Administrator ...................................... 38
Figure 39: Entering incorrect user credentials for Regular User .................................... 39
Figure 40: Before adding new User by the Administrator .............................................. 40
Figure 41: After adding new User by the Administrator ................................................. 41
Figure 42: Before adding Module Details using the Module Add Form ......................... 42
Figure 43: After adding Module Details using the Module Add Form ............................ 43
Figure 44: Before adding Teacher’s Detail using Teacher Add Form ............................ 44
Figure 45: After adding Teacher’s Detail using Teacher Add Form ............................... 45
Figure 46: Before assigning Student to Course ............................................................. 46
Figure 47: After assigning Student to Course ................................................................ 47
Figure 48: Before assigning Student to Class ............................................................... 48
Figure 49: After assigning Student to Class .................................................................. 49
Figure 50: Before assigning Teacher to Module ............................................................ 50
Figure 51: After assigning Teacher to Module ............................................................... 51
Figure 52: Before updating Teacher’s Detail ................................................................. 52
Figure 53: After updating Teacher’s Detail .................................................................... 53
Figure 54: Before Deleting Data .................................................................................... 54
Figure 55: After Deleting Data ....................................................................................... 55
Figure 56: Filtering the data Part One ........................................................................... 56
Figure 57: Filtering the data Part Two ........................................................................... 57
Figure 58: Before filtering the data for Course ‘Information Technology’....................... 58
Figure 59: After filtering the data for Course ‘Information Technology’.......................... 59
Figure 60: Taking Attendance Part One ........................................................................ 60
Figure 61: Taking Attendance Part Two ........................................................................ 61
Figure 62: Before filtering the report of absent students................................................ 62
Figure 63: Before filtering the report of absent students................................................ 63
Figure 64: Before changing the password for one of the user ....................................... 64
Figure 65: After changing the password for one of the user .......................................... 65
Table of Abbreviation
S.N. Abbreviation Full Form
1. ASP Active Server Pages
2. SMS Stock Management System
3. ERD Entity Relationship Diagram
4. DDL Data Definition Language
6. RDBMS Relational Database Management System
7. MS SQL Microsoft Structured Query Language
8. IDE Integrated Development Environment
9. Admin Administrator

Login Credentials Used During Testing

Administrator:

Username: admin
Password: admin
User/Teacher

Username: abhinav
Password: dahal123
APPLICACTION DEVELOPMENT CS6004NA

Introduction
This report documents the Attendance Management Application that we have designed
as a Coursework for this module named Application Development. The system that we
have designed is a web application which is based on Attendance Management System
for tracking student’s attendance. The application is designed using the ASP.NET
platform.

Simply, ASP.NET is a web development platform that supplies a programming model, a


widespread software infrastructure and several services needed to build up robust web
applications for PC as well as mobile devices platforms.

As ASP.NET platform has many features, it is popular among web developers. So, the
various reasons of ASP.NET being popular is given below:

➢ It is an Open Source technology which possesses of several cost benefits as well


as access to other advanced third-party packages and libraries while its execution.
➢ It deducts the amount of code required to build large applications.
➢ Provision of easy deployment. i.e. There is no need to register components
because the configuration information is built-in.

With the motive of taking advantages, ASP.NET was selected to be the Server-Side
Framework for the project. For the application, we have made full use of ASP.NET
page life cycle methods such as “Postback” and “AutoPostBack” for designing a
dynamic as well as user friendly web application.

On the other hand, the system is designed using Microsoft SQL, for the sake of storing
and retrieving user data. For this project, Microsoft Visual Studio was selected as the
preferred IDE because the community edition is accessible free of cost and is great
for students like us who intend to make use of IDE for learning purpose and not
commercial purpose. Not only this, it is considered as the standard go-to IDE for
ASP.NET projects due to the availability of large online support facility and presence
of several packages and libraries.

STUDENT ATTENDANCE SYSTEM Page | 1


APPLICACTION DEVELOPMENT CS6004NA

The technologies used in our project are also broadly accepted as standards for
developing vibrant and user-friendly web-based management systems like Hospital
Management System, School Management System and many more.

As the system developed is an Attendance Management System for a college to keep


track of their student presence in lecture, tutorial and lab classes. The system has
achieved the admin from RTE Department to be able to store, update and query
relevant information pertaining to student’s record.

The features of the system are briefly illustrated below:

1. Enables the user to enroll student to the specific course like Computing, Networks
and IT Security, Business Administration etc. that offer by the college.
2. Enables the user to enter detail of the lecturers and tutors. Assign modules to the
lecturer and tutor.
3. Enables the user to create timetable at the beginning of the semester.
4. Enables the user to assign modules (classes) to the students.
5. Enables the lecturer or tutor to keep record of the student attendance. The
attendance status in which P stands for Presence in which late grace is only 5
minutes. Similarly, L stands for late presence in the class and A stands for not
attending the whole class.
6. The system can generate the different report which includes the student’s name in
increasing order by enrol date and can filter by enrolled courses.
7. Enables user to filter lecturers and tutors base on modules taken for current
semester.
8. Enables a user to view student’s daily, weekly and monthly attendance report.
Furthermore, user can view the monthly and weekly attendance summary report
of individual student.
9. Can generate all lecturers and tutors with all their details (name, contact no, email
address and assign modules for current semester) and total teaching hours per
week.
10. Enables the user to produce a list of all students who have not attend any classes
in a week.
STUDENT ATTENDANCE SYSTEM Page | 2
APPLICACTION DEVELOPMENT CS6004NA

11. Only admin can delete record of a student or lecturer and tutor.
12. The system allows users to change their own passwords, but Admin can change
any detail on any row on User.

Scope of the System


The system is initially built for college that wish to keep track of its students. Moreover,
this system is ideal to small to school, colleges and academic institute who wish to keep
track of their students and their presence in the classes. The system is also capable to
generate the different report which includes the student’s name in increasing order by
enroll date and can filter by enrolled courses. One of the unique aspects of the application
is that the user can view student’s daily, weekly and monthly attendance report.
Furthermore, user can view the monthly and weekly attendance summary report of
individual student.

STUDENT ATTENDANCE SYSTEM Page | 3


APPLICACTION DEVELOPMENT CS6004NA

Data Dictionary
Student

Column Date type Size Nullable Constraints


Id Number Not null Primary Key
Name Varchar 50 Not null
Address Varchar 150 Can be null
Contact Number Not null
E-mail Varchar 100
Date of Birth Date

Teacher

Column Data Type Size Nullable Constraints


Id number Not null Primary Key
Name varchar 50 Not null
Address varchar 200
Contact Number Not null
E-mail Varchar 100 Not null

Course

Column Data type Size Nullable Constraints Reference


Course Id Number Not Null Primary Key
Course Varchar 50 Not Null
Name
Years number Not Null

Module

Column Data Size Nullable Constraints Reference


Type
Id Number Not Null Primary Key
Name Varchar 50 Not Null
Credit Hour Number Not Null
Course Name Varchar 50 Not Null
Course id Number Not Null Foreign key
Module Leader Id Number Not Null
Module Leader Varchar 50 Not Null Foreign key

STUDENT ATTENDANCE SYSTEM Page | 4


APPLICACTION DEVELOPMENT CS6004NA

Class

Column Data type Size Nullable Constraints Reference


ID Number Not null Primary Key
Class Type Varchar 30 Not null
Start Time Time Not null
Duration(min) Number Not null
Days Varchar 30 Not null
Room Varchar 30 Not null
Teacher Varchar 50 Not null
name
Teacher ID Number Not null Foreign key Teacher
Module name Varchar 50 Not null
Module ID Number Not null Foreign key Module

Attendance

Column Data type Size Nullable Constraints Reference


Student ID Number Not null Foreign Key Student
Student Varchar 50 Not null
name
Class ID Number Not null Foreign Key Class
Date Date Not null
Status Varchar 50 Not null

Student course

Column Data type Size Nullable Constraints Reference


Student Id Number Not null Foreign key Student
Course Id Number Not null Foreign key course
Enroll Date Date Not null

Teacher Module

Column Data type Size Nullable Constraints Reference


Teacher ID Number Not null Foreign Key Teacher
Module ID Number Not null Foreign Key Module
Hours per Number Not null
week

STUDENT ATTENDANCE SYSTEM Page | 5


APPLICACTION DEVELOPMENT CS6004NA

Student Class

Column Data type Size Nullable Constraints Reference


Student Id Number Not null foreign key Student
Class Id Number Not null Foreign key class

Normal User

Column Data type Size Nullable Constraints Reference


Username Varchar 100 Not null
Password Varchar 100 Not null
Teacher ID Number Foreign Key Teacher Id

Admin

Column Data type Size Nullable Constraints Reference


Username Varchar 100 Not null
Password Varchar 100 Not null

STUDENT ATTENDANCE SYSTEM Page | 6


APPLICACTION DEVELOPMENT CS6004NA

Instruction to run the program

User Manual

The user manual deals with the graphical summary on how the application can be used
with detailed explanation. It contains the overall

Login

Figure 1: Login Screen


After successfully running the program, the user will first be redirected to the login page.
The user needs to input the correct login credentials in order to login to the system.
Otherwise, a popup message will be displayed saying the “Login Credentials are
incorrect”.

STUDENT ATTENDANCE SYSTEM Page | 7


APPLICACTION DEVELOPMENT CS6004NA

Dashboard / Home Page

Figure 2: Dashboard / Home Page


After logging into the system, the system will display the dashboard of the system. The
page contains the logo with proper navigation bar in order to navigate throughout the
system. The username will be displayed depending upon the user who logged in into the
system. The navigation contains menu links such as Add Data through which data for
class, students, teachers, course and module can be added. After that, the ‘Assign’ menu
contains sub menu in which Teacher-Module, Student-Course and Student-Class will be
displayed. From these forms the interlinked relation can be inserted into the database.
Similarly, it contains Report and Attendance on menu bar.

If the Administrator login into the system, then the menu bar displays ‘User’ but if user
login into the system the ‘User’ option will not be displayed.

Navigation Bar

Navigation bar i.e. menu bar is kept in the top of every page. There are all together seven
main menu items in the navigation bar and some of them have sub menus too. ‘Home’
‘Add’, ’Assign’, ’Report’, ’Attendance’ are six main menu items on the top. And on the top

STUDENT ATTENDANCE SYSTEM Page | 8


APPLICACTION DEVELOPMENT CS6004NA

right there will be the one separate menu item. It will be displayed as Admin or teacher’s
name depending on user account with which the system is logged in. Some of the main
menu items are also kept in footer of every pages.

Navigation
Bar

Figure 3: Navigation Bar

STUDENT ATTENDANCE SYSTEM Page | 9


APPLICACTION DEVELOPMENT CS6004NA

Add Data

Add Data Menu have five other sub menus (i.e. Teacher, Student, Course, Module and
Class). After clicking on any sub menus, the application is forwarded to respective page.

Add Data
Menu

Figure 4: Add Data

STUDENT ATTENDANCE SYSTEM Page | 10


APPLICACTION DEVELOPMENT CS6004NA

Teacher sub menu

We can open teacher menu by hovering over Add Data menu and clicking on Teacher.
In this menu user can add details on teacher which can be provided by every user but to
delete the data only admins are allowed. Teacher id is automatically generated after
providing teacher details which is Name, Email, Address and Contact No of teacher.
There is a reset button which acts as clearing text field.There is a grid view on the bottom
of the page which provides the Detailed information of teacher which are added till the
date.

Teacher sub
menu

Figure 5: Teacher sub menu

Student sub menu

We can open student menu by hovering over Add Data menu and clicking on Student. In
this menu user can add details on student which can be provided by every user but to
delete the data only admins are allowed. Student id is automatically generated after
providing Student’s details which is Name, Email, Address, Contact No and Date of birth
of student. There is a reset button which acts as clearing text field. There is a grid view
on the bottom of the page which provides the Detailed information of student which are
added till the date.

STUDENT ATTENDANCE SYSTEM Page | 11


APPLICACTION DEVELOPMENT CS6004NA

Student sub
menu

Figure 6: Student sub menu

Course sub menu

We can open Course menu by hovering over Add Data menu and clicking on course. In
this menu user can add details on course which can be provided by every user but to
delete the data only admins are allowed. Course id is automatically generated after
providing Course details which is name of course and Year to complete. There is a reset
button which acts as clearing text field. There is a grid view on the bottom of the page
which provides the information of course which are added till the date.

STUDENT ATTENDANCE SYSTEM Page | 12


APPLICACTION DEVELOPMENT CS6004NA

Course sub
menu

Figure 7: Course sub menu

Module sub menu

We can open Module menu by hovering over Add Data menu and clicking on Module. In
this menu user can add details on Module which can be provided by every user but to
delete the data only admins are allowed. Module id is automatically generated after
providing Module details which is Name, Credit Hours, Course ID, Course Name, Module
Leader ID and Module Leader Name. There is a reset button which acts as clearing text
field. There is a grid view on the bottom of the page which provides the Detailed
information of module which are added till the date.

STUDENT ATTENDANCE SYSTEM Page | 13


APPLICACTION DEVELOPMENT CS6004NA

Module sub
menu

Figure 8: Module sub menu

Class sub menu

We can open Class menu by hovering over Add Data menu and clicking on Class. In this
menu user can add details on class which can be provided by every user but to delete
the data only admins are allowed. Class id is also automatically generated after providing
details which is class type it is by selecting from drop down menu, start time( it is by
putting time in correct format ), Duration (in minutes), Day ( from dropdown menu), Module
id ( select from drop down), Module Name ( automatically appears after module id is
selected), Teacher ID( select from drop down), Teacher Name ( Automatically appears
after selecting teacher id) and Room. There is a reset button which acts as clearing text
field. There is a grid view on the bottom of the page which provides the Detailed
information of Class which are added till the date.

STUDENT ATTENDANCE SYSTEM Page | 14


APPLICACTION DEVELOPMENT CS6004NA

Class sub
menu

Figure 9: Class sub menu

Assign Menu

There are three menus inside Assign menu of top bar which includes Teacher-Module,
Student-Course and Student-Class.

STUDENT ATTENDANCE SYSTEM Page | 15


APPLICACTION DEVELOPMENT CS6004NA

Assign Menu

Figure 10: Assign Menu

Teacher-Module sub menu

We can open Teacher-Module sub menu by hovering over Assign menu and clicking on
Teacher-Module. This menu allows teacher to assign on different modules according to
their related module name. here, at first teacher id is selected from the dropdown menu
which later fills the Teacher name automatically, a module id is entered from dropdown
menu which brings teacher name automatically in the module name. hours per week
should be entered. There is a reset button which acts as clearing text field. There is a grid
view on the bottom of the page which provides the Detailed information of teacher who
assigned to the respective modules till the date.

STUDENT ATTENDANCE SYSTEM Page | 16


APPLICACTION DEVELOPMENT CS6004NA

Figure 11: Teacher-Module sub menu

Student-Course sub menu

We can open Student-Course sub menu by hovering over Assign menu and clicking on
Student-Course. This page helps student to assign to their respective courses. Here
users have to enter student id from the drop-down menu and student name automatically
appears on the student name text box. We have to choose course id from drop down and
course name also automatically appears on the text box of Course Name. we also have
to enter the Enrolled date on the correct format i.e. mm/dd/yyyy. There is a reset button
which acts as clearing text field. There is a grid view on the bottom of the page which
provides the Detailed information of this page till the date.

STUDENT ATTENDANCE SYSTEM Page | 17


APPLICACTION DEVELOPMENT CS6004NA

Figure 12: Student-Course sub menu

Student-Class sub menu

We can open Student-Class sub menu by hovering over Assign menu and clicking on
Student-class. This helps students to assign to the respective classes. Users have to
enter the student from the dropdown menu and student name automatically appears on
student name text box. Users also need to choose the class id from the dropdown menu.
There is a reset button which acts as clearing text field. There is a grid view on the bottom
of the page which provides the Detailed information of this page till the date.

STUDENT ATTENDANCE SYSTEM Page | 18


APPLICACTION DEVELOPMENT CS6004NA

Figure 13: Student-Class sub menu

Report Menu

We can open Report menu by hovering over Report menu from the top bar. Its sub menus
are Attendance-report, Absent-students, Enrolled-students, and Teacher-module. These
sub menus can be accessed by both User and admin.

STUDENT ATTENDANCE SYSTEM Page | 19


APPLICACTION DEVELOPMENT CS6004NA

Report Menu

Figure 14: Report Menu

STUDENT ATTENDANCE SYSTEM Page | 20


APPLICACTION DEVELOPMENT CS6004NA

Attendance-report sub menu

We can open this page by clicking on Attendance-Report from report menu. Here we
need to select the enrolled student from the dropdown menu and report type should also
be selected from the dropdown menu.

Figure 15: Attendance-report sub menu

Absent-Students

We can open this page by clicking on absent-Report from report menu. In this page, by
clicking on show students menu the list of students appears on the grid who have not
attended a single class within the current week till the current date.

STUDENT ATTENDANCE SYSTEM Page | 21


APPLICACTION DEVELOPMENT CS6004NA

Figure 16: Attendance-Students sub menu

Enrolled-Students

We can open this page by clicking on Enrolled-Students from report menu. In this page,
name of courses is listed in the dropdown menu. By selecting course name and clicking
Filter students will show all the students with their id, course id, course name and enrolled
date on the grid view.

STUDENT ATTENDANCE SYSTEM Page | 22


APPLICACTION DEVELOPMENT CS6004NA

Figure 17: Enrolled Students

Teacher-module

We can open this page by clicking on teacher-module from report menu. In this page,
name of modules is listed in the dropdown menu. By selecting module name and clicking
Filter teacher will show the teachers details including module id, module name, and hours
per week on the grid view.

STUDENT ATTENDANCE SYSTEM Page | 23


APPLICACTION DEVELOPMENT CS6004NA

Figure 18: Teacher-module sub

Attendance Menu

We can open this page by clicking on the Attendance menu from the top bar. This page
will help user to see the class and record of student’s attendance. Only assigned teachers
are able to operate on this page. Here class id should be selected from drop down menu
(Note: class id appears according to the account which the user has logged in). After
selecting the class id user have to click on List students. This will show the id and name
of the students that are listed. User have to put a letter for student’s status i.e. P, A & L
(P= Present, A= Absent and L= Late for attendance) this denotes the attendance of a
student. To save user have to click on Save Class Attendance Button.

STUDENT ATTENDANCE SYSTEM Page | 24


APPLICACTION DEVELOPMENT CS6004NA

Figure 19: Attendance Menu

STUDENT ATTENDANCE SYSTEM Page | 25


APPLICACTION DEVELOPMENT CS6004NA

Architecture of the System

Figure 20: Architecture of the System


The figure represents the architecture of the developed system. At first, user needs to
login to the system for which the user needs to input the correct credentials. After logging
into the system with correct credentials, the system will display the dashboard which is
the main panel of the developed system. Using the navigation bar, the user can add data,
assign data to data, can take attendance of the student. Moreover, the user can generate
the report and user can even change the password.

STUDENT ATTENDANCE SYSTEM Page | 26


APPLICACTION DEVELOPMENT CS6004NA

ER Diagram

Figure 21: ER Diagram

STUDENT ATTENDANCE SYSTEM Page | 27


APPLICACTION DEVELOPMENT CS6004NA

Class Diagram

Figure 22: Class Diagram

STUDENT ATTENDANCE SYSTEM Page | 28


APPLICACTION DEVELOPMENT CS6004NA

Individual Diagram of Classes

Figure 24: Home Class

Figure 23: Login Class

Figure 25: Users Class

STUDENT ATTENDANCE SYSTEM Page | 29


APPLICACTION DEVELOPMENT CS6004NA

Figure 28: Student class

Figure 27: Course class

Figure 26: Class class

STUDENT ATTENDANCE SYSTEM Page | 30


APPLICACTION DEVELOPMENT CS6004NA

Figure 31:
EnrolledStudents class

Figure 30: Module class


Figure 29: Teacher class

STUDENT ATTENDANCE SYSTEM Page | 31


APPLICACTION DEVELOPMENT CS6004NA

Figure 32:
ForgotPassword class Figure 33:
AttendanceReport class

Figure 34: StudentClass


class

STUDENT ATTENDANCE SYSTEM Page | 32


APPLICACTION DEVELOPMENT CS6004NA

Figure 35: StudentCourse


class Figure 36: TeacherModule
class

STUDENT ATTENDANCE SYSTEM Page | 33


APPLICACTION DEVELOPMENT CS6004NA

Purpose of Classes

Class Purposes
Login The Login class as the name suggests is used to log in to the
system. This class provides a form to input user name and
password. The class uses method and fields to call some
special stored procedure to check the credentials and match the
passwords of each user using the information in the database.
Class The application can be used to record attendance of the student.
The class ‘Class’ allows system users to add class information
about the class type, start time along with duration and day and
room. Module ID and Name can be fetched from Module Class
and Teacher ID and Name will be fetched from Teacher Class.
Course The class ‘Course’ allows users to add course name and years
to complete for the specified course. Course ID will be
automatically generated from the system.
Module The ‘Module’ class helps in adding course module detail. The
page contains course name along with the credit hour. In this
page, course ID and name will be fetched from class ‘Course’
and Module Leader ID and Name will be fetched from class
‘Teacher’.
Student The class ‘Student’ allows users to add student details. The
portion includes the Student ID which will be auto generated by
the system. It also includes Student Name, Address, Contact
No., Email and Date of Birth of the student.
Teacher The class ‘Teacher’ or called as Module Leader will also include
auto generated Module Leader ID along with Name, Address,
Contact No., Email and Date of Birth.
Teacher-Module The class ‘Teacher-Module’ deals with the Teacher ID in which
Teacher Name will be fetched using Teacher ID and in case of
Module, Module name will be fetched using Module ID. The

STUDENT ATTENDANCE SYSTEM Page | 34


APPLICACTION DEVELOPMENT CS6004NA

page will also contain the hours the module will be taught per
week.
Student-Course The class ‘Student-Course’ deals with the Student ID and Name
in which Name will be fetched using the ID from ‘Student’ class
whereas Course ID and Name will be fetched from ‘Course’
class using Course ID.
Student-Class The class ‘Student-Class’ shows the list of students who enroll
in specified class. The Student Name will be fetched using ID
and only specified class will be shown in which student can
enroll.
Attendance Report The class ‘Attendance Report’ includes the list of attendance for
students which can be chosen from drop-down list in which
duration can be Daily, Weekly and Monthly and using the data
the report will be generated.
Enrolled Students The class ‘Enrolled Student’ displays the list of students who are
enrolled in the specified module. The class at first display a
dropdown list which shows the module lists.
Teacher Module The class ‘Teacher Module’ displays the list of modules in which
after selecting the module will displays the enrolled teacher list
along with their address, contact, email and module name. The
class at first display a dropdown list which shows the module id.
Attendance The ‘Attendance’ class shows the list of class through which the
list of students will be listed after selecting the class. After
showing the list of students, the user can take the attendance of
the student which contact Present as P and Absent as A. After
taking the attendance of the student the user can save the data.
_Default The default class is the dashboard implementation in the
system. The class consists of several methods and fields that
serve four different purposes.

STUDENT ATTENDANCE SYSTEM Page | 35


APPLICACTION DEVELOPMENT CS6004NA

The first set of methods and properties are used to display


specific information on modal classes.

STUDENT ATTENDANCE SYSTEM Page | 36


APPLICACTION DEVELOPMENT CS6004NA

Testing
Login by Regular User

Test Case 1: Entering Correct User Credentials for Regular User

Particulars Description
Action Performed The Correct User Name and Password for the regular user
was entered.
Expected Result The User should be able to access the system through the
Dashboard.
Actual Result The user was allowed to access the system through the
Dashboard.
Conclusion Test Successful!

Figure 37: Entering Correct User Credentials for Regular User

STUDENT ATTENDANCE SYSTEM Page | 37


APPLICACTION DEVELOPMENT CS6004NA

Login by Administrator

Test Case 2: Entering Correct User Credential for Administrator

Particulars Description
Action Performed The Correct User Name and Password for the administrator
was entered.
Expected Result The Admin should be able to access the system through the
Dashboard.
Actual Result The Admin was allowed to access the system through the
Dashboard.
Conclusion Test Successful!

Figure 38: Entering Correct User Credential for Administrator

STUDENT ATTENDANCE SYSTEM Page | 38


APPLICACTION DEVELOPMENT CS6004NA

Test Case 3: Entering incorrect user credentials for Regular User

Particulars Description
Action Performed An Incorrected User Name and Password for the Administrator
or User was entered.
Expected Result • The Admin/User should not be able to access the system
through the Dashboard.
• The system should display an Error Message that Incorrect
User Name and Password was entered.
Actual Result • The Admin or User was not able to access the system
through the Dashboard.
• The system displayed an Error Message that Incorrect
User Name or Password was entered.
Conclusion Test Successful!

Figure 39: Entering incorrect user credentials for Regular User

STUDENT ATTENDANCE SYSTEM Page | 39


APPLICACTION DEVELOPMENT CS6004NA

Test Case 4: Adding new User by the Administrator

Particulars Description
Action Performed The new User details were filled in the User Form.
Expected Result The new User was expected to be added to the system.
Actual Result The new User was added to the system.
Conclusion Test Successful!

Figure 40: Before adding new User by the Administrator

STUDENT ATTENDANCE SYSTEM Page | 40


APPLICACTION DEVELOPMENT CS6004NA

Figure 41: After adding new User by the Administrator

STUDENT ATTENDANCE SYSTEM Page | 41


APPLICACTION DEVELOPMENT CS6004NA

Testing: Adding Data

Test Case 5: Adding Module Details using the Module Add Form.

Particulars Description
Action Performed The Module Form was filled.
Expected Result The Module Detail was expected to be added in the system.
Actual Result The Module Detail was displayed into the system.
Conclusion Test Successful!

Figure 42: Before adding Module Details using the Module Add Form

STUDENT ATTENDANCE SYSTEM Page | 42


APPLICACTION DEVELOPMENT CS6004NA

Figure 43: After adding Module Details using the Module Add Form

STUDENT ATTENDANCE SYSTEM Page | 43


APPLICACTION DEVELOPMENT CS6004NA

Test Case 6: Adding Teacher’s Detail using Teacher Add Form

Particulars Description
Action Performed Teacher Detail form is filled.
Expected Result The Teacher’s details were expected to be added in the
system and the database.
Actual Result The Teacher’s detail was added in the system and the
database.
Conclusion Test Successful!

Figure 44: Before adding Teacher’s Detail using Teacher Add Form

STUDENT ATTENDANCE SYSTEM Page | 44


APPLICACTION DEVELOPMENT CS6004NA

Figure 45: After adding Teacher’s Detail using Teacher Add Form

Similarly, in this way the data for Class, Teacher, Module, Student and Course can be
added.

STUDENT ATTENDANCE SYSTEM Page | 45


APPLICACTION DEVELOPMENT CS6004NA

Test Case 7: Assigning Student to Course

Particulars Description
Action Performed Filling up the form to assign Student to the Course. The refresh
button update’s the date according to the ID they are assigned.
Expected Result The Student was expected to be assigned to the specified
course.
Actual Result The Student was assigned to the course.
Conclusion Test Successful!

Figure 46: Before assigning Student to Course

STUDENT ATTENDANCE SYSTEM Page | 46


APPLICACTION DEVELOPMENT CS6004NA

Figure 47: After assigning Student to Course

STUDENT ATTENDANCE SYSTEM Page | 47


APPLICACTION DEVELOPMENT CS6004NA

Test Case 8: Assigning Student to Class

Particulars Description
Action Performed Filling up the form to assign Student to the Class. The refresh
button update’s the date according to the ID they are assigned.
Expected Result The Student was expected to be assigned to the specified
class.
Actual Result The Student was assigned to the class.
Conclusion Test Successful!

Figure 48: Before assigning Student to Class

STUDENT ATTENDANCE SYSTEM Page | 48


APPLICACTION DEVELOPMENT CS6004NA

Figure 49: After assigning Student to Class

STUDENT ATTENDANCE SYSTEM Page | 49


APPLICACTION DEVELOPMENT CS6004NA

Test Case 9: Assigning Teacher to Module

Particulars Description
Action Performed Filling up the form to assign Teacher to the Module. The
refresh button update’s the date according to the ID they are
assigned.
Expected Result The Teacher was expected to be assigned to the specified
Module.
Actual Result The Teacher was assigned to the Module.
Conclusion Test Successful!

Figure 50: Before assigning Teacher to Module

STUDENT ATTENDANCE SYSTEM Page | 50


APPLICACTION DEVELOPMENT CS6004NA

Figure 51: After assigning Teacher to Module

STUDENT ATTENDANCE SYSTEM Page | 51


APPLICACTION DEVELOPMENT CS6004NA

Test Case 10: Updating Teacher’s Detail

Particulars Description
Action Performed Updating the Teacher’s Detail to check whether is works or
not.
Expected Result Teacher’s Detail expected to be updated.
Actual Result Teacher’s Detail was updated.
Conclusion Test Successful!
During the update, I selected the teacher data of ID 102 and tried to update the email
from pratibha@gmail.com to pratibha@icp.edu.np.

Figure 52: Before updating Teacher’s Detail

STUDENT ATTENDANCE SYSTEM Page | 52


APPLICACTION DEVELOPMENT CS6004NA

Figure 53: After updating Teacher’s Detail

STUDENT ATTENDANCE SYSTEM Page | 53


APPLICACTION DEVELOPMENT CS6004NA

Test Case 11: To Delete Data

Particulars Description
Action Performed Trying to delete one of the data from Teacher.
Expected Result The data was expected to be deleted.
Actual Result The data was deleted
Conclusion Test Successful!

Figure 54: Before Deleting Data

STUDENT ATTENDANCE SYSTEM Page | 54


APPLICACTION DEVELOPMENT CS6004NA

Figure 55: After Deleting Data

STUDENT ATTENDANCE SYSTEM Page | 55


APPLICACTION DEVELOPMENT CS6004NA

Test Case 13: Filtering the data

Particulars Description
Action Performed Trying to filter the data among the teacher and module
relation.
Expected Result The data was expected to be filtered.
Actual Result The data was filtered.
Conclusion Test Successful.

Figure 56: Filtering the data Part One

STUDENT ATTENDANCE SYSTEM Page | 56


APPLICACTION DEVELOPMENT CS6004NA

Figure 57: Filtering the data Part Two

STUDENT ATTENDANCE SYSTEM Page | 57


APPLICACTION DEVELOPMENT CS6004NA

Test Case 14: Filtering the data for Course ‘Information Technology’

Particulars Description
Action Performed Trying to filter out the enrolled students on selected course
‘Information Technology’.
Expected Result The data was expected to be filtered.
Actual Result The data was filtered.
Conclusion Test successful.

Figure 58: Before filtering the data for Course ‘Information Technology’

STUDENT ATTENDANCE SYSTEM Page | 58


APPLICACTION DEVELOPMENT CS6004NA

Figure 59: After filtering the data for Course ‘Information Technology’

STUDENT ATTENDANCE SYSTEM Page | 59


APPLICACTION DEVELOPMENT CS6004NA

Test Case 15: Taking Attendance

Particulars Description
Action Performed Action was performed to take attendance of the students.
Expected Result Attendance was expected to be saved on the system.
Actual Result Attendance saved.
Conclusion Test successful.

Figure 60: Taking Attendance Part One

STUDENT ATTENDANCE SYSTEM Page | 60


APPLICACTION DEVELOPMENT CS6004NA

Figure 61: Taking Attendance Part Two

STUDENT ATTENDANCE SYSTEM Page | 61


APPLICACTION DEVELOPMENT CS6004NA

Test Case 16: Absent Report

Particulars Description
Action Performed Trying to filter the report of absent students.
Expected Result The report was expected to be filtered for absent students.
Actual Result The report was filtered.
Conclusion Test Successful.

Figure 62: Before filtering the report of absent students

STUDENT ATTENDANCE SYSTEM Page | 62


APPLICACTION DEVELOPMENT CS6004NA

Figure 63: Before filtering the report of absent students

STUDENT ATTENDANCE SYSTEM Page | 63


APPLICACTION DEVELOPMENT CS6004NA

Test Case 17: To Change the password

Particulars Description
Action Performed Trying to change the password for one of the user.
Expected Result Password was expected to be changed on database.
Actual Result Password was changed on database.
Conclusion Test successful.

Figure 64: Before changing the password for one of the user

STUDENT ATTENDANCE SYSTEM Page | 64


APPLICACTION DEVELOPMENT CS6004NA

Figure 65: After changing the password for one of the user

STUDENT ATTENDANCE SYSTEM Page | 65


APPLICACTION DEVELOPMENT CS6004NA

Individual Member’s Reflection

Summit Pathak (ID: 17032018)

Summit’s major contribution in this project lies in the area of Coding. Summit developed
the base on top of which the application is entirely built. He contributed the group in
formulating ER diagram and database design thorough suggestions and feedbacks. Then
after, his major contribution was developing Create, Read, Update as well as Viewing
Functionalities for User page, Adding Detail Page for Student, Teacher, Class, Module
and Course. Likewise, Summit was responsible in creating all the procedures relating to
Create, Update, read and delete functionalities in the aforementioned pages.

Summit was responsible for designing the Home page implementing the design for the
index page. He was also responsible in applying Validation in all the text boxes in the
aforementioned pages. He was also responsible in creating drop down lists in
aforementioned pages and handling of value sent through drop down lists. He was also
responsible in applying exception handling in the all the pages except the Dashboard. He
was also responsible in implementing asp date picker in required pages and also
validation of dates. He also assisted the group in documentation relating to Introduction
section, User Manual Section and Testing Section.

STUDENT ATTENDANCE SYSTEM Page | 66


APPLICACTION DEVELOPMENT CS6004NA

Nikit Gurung (ID: 17031975)

In this project, the work of Nikit was to create a system that allows the user to assign
classes to the students. He also made the system able to allow the lecturer or tutor to
keep record of the student attendance. Not only this, he also introduced attendance status
such as status ‘P’ for students who have come into class on time or before 5 minutes late
grace from the start of the class, status ‘L’ for those students who arrive class after grace
time and status ‘A’ for those students who do not attend the class.

He also addressed the team members about the changes he made in the system. After
carrying those tasks, the Team Leader Summit checked those functions on whether it is
working correctly or not. Not only this, he also made the system generate different reports.
i.e. list all students enroll at the college with student’s name in increasing order by enroll
date and also allow to filter by enrolled courses.

Nikit also made the system flexible by making it able to filter lecturers and tutors on the
basis of modules taken for current semester. Lastly, he also made the system able to
view student’s daily, weekly and monthly attendance report and updated the system on
giving allowance to the user to view the monthly and weekly attendance summary report
of individual student.

STUDENT ATTENDANCE SYSTEM Page | 67


APPLICACTION DEVELOPMENT CS6004NA

Bibek Sapkota (ID: 17031957)

Bibek’s work at the beginning of the project was to create and consolidate weekly
assignments and documentation. All of the members helped with the creation of these
assignments. Bibek also worked with Summit to create business rules, normalization and
ER diagram while interpreting and communicating ideas between the team members.

For development Bibek helped Summit with creating the complex page by providing some
stored procedures to implement checking of teacher module and classes. Bibek worked
from the latter part of the coursework question (8 to 10). This included the creation of a
page which allows users to view student’s daily, weekly and monthly attendance report.
Moreover, this part allows user to view the monthly and weekly attendance summary
report of individual student. The remaining of the part include the lecturers and tutors with
all the detail including name, contact no., email address and assigned modules for the
current semester including total teaching hours per week. Including this his portion
includes the list which shows the lists for students who have not attended any classes in
a week.

For documentation, Bibek created the Class diagrams, wrote the Purposes of Classes
and Method and Properties Description for each class. Bibek also defined the report
formatting and consolidated individual contributions to a single report.

STUDENT ATTENDANCE SYSTEM Page | 68


APPLICACTION DEVELOPMENT CS6004NA

Oskar Man Katila (ID: 17031978)

Oskar’s major work for this project involves the front end designing of the system. In the
beginning Summit designed the initial graphical summary of the major pages contained
in the system. Oskar also worked with Bibek to create the ER diagram and define the
business rules along with the normalization of the database.

For the development, Oskar created the login page, implemented the logout functionality,
integrated the Create, Read, Update and Delete (CRUD) operation for items page,
developed the reset password page working together with Summit. Oskar was also
responsible in creating the procedure for login authentication and for create, read, update
and delete functionalities of the pages mentioned. Oskar was also responsible for the
routing authorization for restricting unauthorized users to access the user type and user
details pages as well as alert the users with the important alerts when the user logs in to
the system.

Oskar handled the final design of every pages in the system and made the pages
responsive using bootstrap. Oskar also designed the logo for the using Photoshop.
Finally, Oskar assisted in the documentation on the sections Instruction to run the
Program and Description of the solution design implemented in the project.

STUDENT ATTENDANCE SYSTEM Page | 69


APPLICACTION DEVELOPMENT CS6004NA

Conclusion and Review


When the Coursework was first uploaded into the Google Classroom by the module
leader, we must admit that the scope of the project appeared to be intimidating at first.
Since the scope of the project’s requirements was large, the initial impression was that
we would not be able to finish the coursework in time in the manner which was expected
from us. However, after the project’s details was discussed in the tutorials, things began
to ease gradually.

The first hurdle that we had to tackle was selecting the right Group members whose skills
would complement each other. Since the requirement was such that each group should
have 4 group members, we began to discuss amongst ourselves to form a formidable
group. Nikit had good grasp of database concepts and presentation skills while also being
adept in consolidating the group. Bibek’s skill set included good designing and coding
skills whereas Oskar had got beautiful designing skill along with idea on perfect
documenting of a project. Summit would bring in coding and logic skills while also playing
his role in keeping the project on track with the deadlines.

This challenge faced during this project has indeed taught us many things. The biggest
take away from this project has to be the Project Management skills. As we implemented
Slack, a collaborative tool used for communication with project members, our confidence
regarding the use of such professional tools has indeed increased. Also, since we
implemented Git and Github for project and task management, we learnt various relevant
concepts in Git such as Merge conflicts, the knowledge of which was impossible to gain
while working in a solo project.

This project has also helped us to sharpen our Database skills. Since the DBMS software
such as MS SQL server was entirely new to us, a healthy learning curve was achieved
throughout the project. Also, previously we were unaware of relevant concepts such as
Attendance Management System. However, after development of this project, we must
admit that we are more comfortable with concepts of stored procedures, SQL Server,
SQL data modeler and Visual Studio amongst other technologies and concepts.

STUDENT ATTENDANCE SYSTEM Page | 70


APPLICACTION DEVELOPMENT CS6004NA

It is also worthy to mention that this project has helped each of us to further sharpen our
Programming and debugging skills. Each and every questionnaire in the project had
something new for us to learn. While solving various bugs that arose during the
development phase, our debugging and problem-solving skills were also enhanced
alongside. Lastly, we would like to thank the module Leader Mr. Ishwor Sapkota for his
valuable guidance and feedbacks. We also express our sincere gratitude towards London
Metropolitan University for providing us with a wonderful learning opportunity &
experience.

STUDENT ATTENDANCE SYSTEM Page | 71


APPLICACTION DEVELOPMENT CS6004NA

References
Erichero, 2008. Create One Application for both Desktop and Web. [Online]
Available at: https://www.codeproject.com/Articles/30542/Create-One-Application-for-
both-Desktop-and-Web
[Accessed 7 1 2019].

Geeks for Geeks, n.d. Bubble Sort. [Online]


Available at: https://www.geeksforgeeks.org/bubble-sort/
[Accessed 29 12 2018].

Microsoft, 2016. Walkthrough: Create a Simple Application with Visual C# or Visual Basic.
[Online]
Available at: https://docs.microsoft.com/en-us/visualstudio/ide/walkthrough-create-a-
simple-application-with-visual-csharp-or-visual-basic?view=vs-2015
[Accessed 6 1 2019].

Rasheed, F., 2006. Classes and Objects. In: T. Nestenius, J. Worthington & A. Lee, eds.
Programmers Heaven: C# School . Fuengirola: Synchron Data S.L , pp. 53-76.

Rasheed, F., 2006. Exception Handling. In: T. Nestenius, J. Worthington & A. Lee, eds.
Programmerís Heaven C# School. Fuengirola: Synchron Data S.L, pp. 155-168.

Svetlin Nokav & Co., 2013. Loops. In: Fundamentals of Computer Programming with C#.
s.l.:Telerik corporation, pp. 211-230.

Svetlin Nokav & Co., 2013. Primative Types and Variables. In: Fundamentals of
Computer Programming with C#. s.l.:Telerik Corporation, pp. 111-129.

STUDENT ATTENDANCE SYSTEM Page | 72

You might also like