Students Management System For Sri Lanka Institute of Architects
Students Management System For Sri Lanka Institute of Architects
Students Management System For Sri Lanka Institute of Architects
For
SRI LANKA INSTITUTE of ARCHITECTS
P.M.N. SAMPATHPRIYA
November 2017
ii
ABSTRACT
The Sri Lanka Institute of Architects (SLIA) is the professional institution incorporated by
an Act of Parliament empowered with the authority to regulate the architectural profession
and education in Sri Lanka. The Board of Architectural Education (BAE) is the SLIA arm
that manages the whole spectrum of activities related to education. In this process the
BAE conducts lectures and examinations at the professional level for around 100
prospective architects each year. With the student-numbers increasing at a high rate, the
BAE wishes to implement a centralized system to manage and monitor the students’
academic and practical performances over several years.
After analyzing the current system and the processes followed at BAE, it was identified
that the processes in place are handled manually using cumbersome paperwork. Thus it is
very difficult to maintain proper records on students’ admissions, attendance, payments,
examination records and performing relevant activities in more efficient manner. A
proposal was presented to the client by describing the possibility of implementing a web
based Students Management System which will help to resolve the problems of the
current system. The scope of the proposed system has been outlined with several modules
such as students’ admission process handling module, payments handling and notification
module, attendance handling module, examination records and course records maintaining
module and reports generating module.
The Rational Unified Process (RUP) was identified as the most suitable software
development methodology for developing the Students Management System. XAMPP,
NetBeans IDE, MySQL Workbench, HTML, CSS, StarUML and Bootstrap admin
templates have been used as the tools and technologies in the design and implementation
of the solution.
After completing a successful software development process, the implemented system was
installed at the client’s location for user acceptance testing and facilitating user trainings.
The feedback received from the client is really positive and they anticipate the new system
would immensely help for streamlining the organizational procedures progressively.
iii
ACKNOWLEDGEMENTS
I would like to express my sincere gratitude for the following people who immensely
helped me to successfully complete my software development project work of the BIT
final year. The Coordinators of BIT degree programme and the academic staff of
University of Colombo School of Computing (UCSC) should be thankfully mentioned for
creating a great path for under graduate students in the IT industry.
I would also like to thankfully mention the staff members of Board of Architectural
Education of Sri Lanka Institute of Architects for helping me throughout the project with
their valuable time and effort.
iv
TABLE OF CONTENTS
DECLARATION ................................................................................................................. ii
ABSTRACT ....................................................................................................................... iii
ACKNOWLEDGEMENTS .................................................................................................iv
TABLE OF CONTENTS ...................................................................................................... v
LIST OF FIGURES .............................................................................................................ix
LIST OF TABLES ...............................................................................................................xi
LIST OF ACRONYMS ..................................................................................................... xii
CHAPTER 01: INTRODUCTION ....................................................................................... 1
1.1 Introduction ............................................................................................................ 1
1.2 Motivation of the Project........................................................................................ 2
1.3 Objectives of the System ........................................................................................ 2
1.4 Scope of the Proposed Project ................................................................................ 3
1.5 Structure of the Dissertation ................................................................................... 5
CHAPTER 02: ANALYSIS ................................................................................................. 7
2.1 Introduction ............................................................................................................ 7
2.2 Requirements Gathering Techniques ..................................................................... 7
2.3 Analyzing the Current System and Processes ........................................................ 8
2.3.1 Students’ Admission Process .......................................................................... 8
2.3.2 Students’ Payments Handling Process ............................................................ 8
2.3.3 Students’ Attendance Handling Process ......................................................... 9
2.3.4 Examinations Handling Process ..................................................................... 9
2.3.5 BAE Course Records Handling Process ......................................................... 9
2.4 Existing Similar Systems Analysis ...................................................................... 10
2.4.1 Fedena School Management System ............................................................ 10
2.4.2 FeKara School Management System ............................................................ 12
2.4.3 mySkoolapp School Management Software Mobile App ............................ 13
2.5 Functional Requirements of the System............................................................... 14
2.5.1 Students’ Admission Process Handling Module........................................... 14
v
2.5.2 Students’ Payments Handling and Notification Module .............................. 15
2.5.3 Students’ Attendance Handling and Notification Module ............................ 15
2.5.4 Students’ Examination Records Handling Module....................................... 16
2.5.5 BAE Course Records Handling Module ....................................................... 16
2.5.6 Staff Information Handling Module ............................................................. 16
2.5.7 Reports Generating Module .......................................................................... 17
2.5.8 Blog and Students Discussion Forum ........................................................... 17
2.6 Non-functional Requirements of the System ....................................................... 17
2.6.1 Accuracy ....................................................................................................... 18
2.6.2 Security ......................................................................................................... 18
2.6.3 Reliability...................................................................................................... 18
2.6.4 User-friendliness ........................................................................................... 18
2.6.5 Maintainability .............................................................................................. 18
2.7 Overview of Software Process Models ................................................................ 18
2.8 Selected Methodology for the Proposed System .................................................. 19
CHAPTER 03: DESIGN OF SOLUTION ......................................................................... 21
3.1 Introduction .......................................................................................................... 21
3.2 Alternative Solutions for the Proposed System.................................................... 21
3.2.1 Purchasing a Commercial Product from a Software Vendor ........................ 21
3.2.2 Implementing the System as a Stand-alone Application .............................. 22
3.3 Implementing the System as a Web Based Application ...................................... 22
3.4 Object-Oriented Systems Analysis and Design ................................................... 23
3.4.1 High Level Use Case Diagram for the Students Management System ........ 24
3.4.2 Class Diagram for the Students Management System .................................. 25
3.4.3 Use Case Diagram for the Students Registration Module ............................ 26
3.4.4 Use Case Diagram for the Fees Management Module ................................. 26
3.5 Database Design for the System........................................................................... 27
3.6 User Interface Design for the System .................................................................. 28
3.6.1 User Login Interface ..................................................................................... 29
3.6.2 Course Fee Payment Interface ...................................................................... 29
3.6.3 Exam Results Upload Interface .................................................................... 30
vi
CHAPTER 04: IMPLEMENTATION ............................................................................... 31
4.1 Introduction .......................................................................................................... 31
4.2 Implementation Environment ............................................................................... 31
4.3 System Development Tools and Technologies .................................................... 32
4.3.1 NetBeans IDE 8.2 ......................................................................................... 32
4.3.2 MySQL Workbench 6.3 ................................................................................ 32
4.3.3 XAMPP Server v3.2.1 .................................................................................. 32
4.3.4 StarUML 5.0.2 .............................................................................................. 32
4.4 Major Code Structure ........................................................................................... 32
4.4.1 Database Connection Session ....................................................................... 32
4.4.2 Success and Error Messages ......................................................................... 33
4.4.3 User Login Handling Code ........................................................................... 33
4.4.4 Logout Message Box .................................................................................... 34
4.4.5 Insert, Update and Inactivate Code Segments .............................................. 35
4.5 Module Structure of the System ........................................................................... 36
4.6 Re-Usable Existing Components ......................................................................... 37
CHAPTER 05: EVALUATION ......................................................................................... 39
5.1 Introduction .......................................................................................................... 39
5.2 Software Testing vs Software Evaluation ............................................................ 39
5.2.1 Software Testing Process .............................................................................. 39
5.2.2 Software Evaluation ...................................................................................... 41
5.3 System Test Plan .................................................................................................. 41
5.4 System Test Cases ................................................................................................ 43
5.4.1 Test Cases for Students Registration Module ............................................... 43
5.5 User Acceptance Testing ...................................................................................... 45
CHAPTER 06: CONCLUSION ......................................................................................... 46
6.1 Introduction .......................................................................................................... 46
6.2 Critical Assessment of the Project ....................................................................... 46
6.3 Lessons Learnt During the Course of the Project ................................................ 47
6.4 Future Enhancements ........................................................................................... 48
REFERENCES ................................................................................................................... 49
vii
Appendix A - System Documentation ................................................................................ 51
Appendix B - Design Documentation ................................................................................. 53
Appendix C - User Documentation..................................................................................... 57
Appendix D - Management Reports ................................................................................... 73
Appendix E - Test Results .................................................................................................. 78
Appendix F - Code Listing ................................................................................................. 88
Appendix G - Client Certificate .......................................................................................... 94
GLOSSARY ....................................................................................................................... 95
INDEX ....................................................................................................................... 96
viii
LIST OF FIGURES
Figure 2.1 Use Case Diagram for the Existing System ...................................................... 10
Figure 2.2 Fedena School Management Software Interface ............................................... 11
Figure 2.3 FeKara School Management Software Interface ............................................... 12
Figure 2.4 mySkoolapp School Management Software Interface ...................................... 13
ix
Figure C.6 Verification Message before Logout ................................................................ 60
Figure C.7 Unauthorized Access Error Display Page ......................................................... 61
Figure C.8 Success Message ............................................................................................... 61
Figure C.9 Failure Message ................................................................................................ 62
Figure C.10 Warning Message ........................................................................................... 62
Figure C.11 New Students Registration Form .................................................................... 63
Figure C.12 Search Students Feature .................................................................................. 63
Figure C.13 View, Update, Inactivate Operations .............................................................. 64
Figure C.14 Record Attendance Procedure ........................................................................ 64
Figure C.15 View Attendance Procedure ........................................................................... 65
Figure C.16 Attendance Monitoring Procedure .................................................................. 66
Figure C.17 Upload Exam Results Procedure .................................................................... 67
Figure C.18 View Exam Results Procedure ....................................................................... 68
Figure C.19 Course Fee Payment Procedure ...................................................................... 69
Figure C.20 Course Fee Payment Invoice .......................................................................... 69
Figure C.21 Counseling Fee Payment Procedure ............................................................... 70
Figure C.22 Add New Module Procedure .......................................................................... 71
Figure C.23 View, Update and Inactivate Functions .......................................................... 71
Figure C.24 Payment Summary Reports ............................................................................ 72
Figure C.25 Calendar Object .............................................................................................. 72
x
LIST OF TABLES
Table 4.1 Implementation Environment ............................................................................. 31
xi
LIST OF ACRONYMS
BAE - Board of Architectural Education
xii
CHAPTER 01: INTRODUCTION
1.1 Introduction
In Sri Lanka there are only a few paths to become a Chartered Architect. As many
professions, architecture has its own professional standards. The Sri Lanka Institute of
Architects (SLIA) is the leading professional body for Sri Lankan architects and this
institute was established in 1957 and incorporated by the Sri Lanka Institute of Architects
Law No.1 of 1976. By this legislation, the SLIA was given wide powers in regard to the
regulation of architectural education and development of the profession. An amendment
made to the Act in 1996 gave it further powers to register chartered architects, architects
and architectural licentiates who are the only persons permitted to practice the profession
of architecture in Sri Lanka.
The Board of Architectural Education (BAE) of the SLIA is the education arm of the
institute vested with the responsibility of organizing, supervising, and controlling the
educating and training of persons to qualify as architects. Further, the BAE is required by
statute to prescribe or approve courses of study for the qualifying examinations for
membership of the institute, and to conduct the SLIA courses and examinations. The BAE
carries on these duties manually and has found that with the increasing number of students
each year, the manual practice is becoming untenable. Therefore the BAE has focused on
1
creating an IT based management system so that the functions of the institution can be
fulfilled efficiently.
Recently the BAE commenced a research programme that aims at establishing a system
that could be the basis for formulation of policies and also that could assist in managing
students’ matters efficiently. Finally the proposed system would help to replace the
present manual system progressively. Following are some of the problems faced by BAE
due to not having a central system to streamline the daily processes.
BAE is currently burdened with cumbersome paperwork and manual processes and
they find it difficult to maintain proper records on students’ admissions, attendance
and payments.
Lack of a proper data repository related to all examinations and courses conducted
by BAE and records of assessments, marks and grades.
BAE is currently facing difficulties in monitoring students’ attendance and
pending payments.
Lack of a proper report generating tool for students’ reference and management
purposes.
Therefore the need of implementing a Students Management System that could help to
manage students’ matters efficiently and thereby reduce cost and time has become critical.
Additionally, the enthusiasm for completing the final year project of the BIT degree by
implementing a useful software system for SLIA was also another factor which motivated
for the selection of this project.
The main objective of the proposed Students Management System is to provide a more
organized and streamlined mechanism to manage routine processes those are currently
performed manually at BAE. Following objectives are expected to be achieved through a
successful implementation of the proposed system.
2
Creating a centralized system for SLIA/BAE that could help to handle students’
related matters in a more organized and efficient manner.
Start handling the students’ admission process through the new Students
Management System after successful implementation. This includes maintaining
an information repository of the students.
Start monitoring the students’ attendance through the new system. This includes
sending SMS notifications through the new system when the students’ attendance
has not reached the required level.
Start processing the students’ payments through the new system. This functionality
will include sending SMS and e-mail notifications through the new system for the
payments received and payments pending. Further the students and accounts staff
will be able to generate payment summary reports for the completed payments as
well.
Maintaining a data repository related to all examinations and courses conducted by
the BAE. This data repository will help to improve the staff efficiency by replacing
the existing manual process. This data repository will be capable of maintaining
the records of examinations, assessments, marks and grades.
Blog and a discussion forum for students, lecturers and counsellors of the institute.
Maintaining an information repository of the Administration and Accounts staff.
Communicating latest announcements of the SLIA through the Students
Management System.
Generating reports for students’ reference and management purposes through the
new system.
In order to successfully achieve the expected objectives, the scope of the proposed project
has been defined as follows.
3
The activities involved with students’ admission process will be handled by this
module. This includes maintaining an information repository of the students’ as
well.
Students’ payments handling and notification system
The activities involved with students’ payments process can be handled by this
module. Notifications will be generated for the payments received and for the
pending payments as another functionality of this module. Payments summary
reports for the completed payments can be generated for the students’ and staff
reference.
Students’ attendance handling and notification system
The activities involved with students’ attendance process can be handled by this
module. Sending SMS notifications to the students when the students’ attendance
is lagging behind the required level is another functionality of this module.
Students’ examination records handling system
The purpose of this module is to maintain a repository of data related to all the
examinations conducted by the BAE. This data repository is capable of
maintaining the records of examination results, assessments, marks and grades
including past examination papers.
BAE course records handling system
The purpose of this module is to maintain a repository of data related to all the
courses conducted by the BAE.
Staff information handling system
This module is for maintaining an information repository of the staff members in
Administration and Accounts departments.
Reports generating system
Following functionalities are available in this module:
a) Generating reports for students’ reference
b) Generating reports for Management and Administration purposes
Blog and students’ discussion forum
The purpose of this module is to cater as an online forum that facilitates the
discussions between students, lecturers and the counsellors of the institute.
4
1.5 Structure of the Dissertation
This dissertation provides relevant information of the Students Management System that
is implemented for Sri Lanka Institute of Architects. The dissertation consists of six main
chapters including the Introduction chapter and the contents of these main chapters are
briefly described as follows.
Chapter 02 – Analysis
The information related to the existing manual processes used at the client organization is
described in this chapter. Requirement gathering techniques which have been used to
collect system requirements as well as functional and non-functional requirements of the
new system are also described in this chapter.
Chapter 03 – Design
This chapter includes information of the system design phase such as which system design
strategies have been used for system development. Further use case diagrams and database
design diagrams of the proposed system as well as main interfaces of the new system are
included in this chapter.
Chapter 04 – Implementation
This chapter describes the module structure of the Students Management System and the
major codes and existing codes which have been reused for the development of the
modules. Hardware and software requirements, development tools and technologies used
for system implementation are also explained in this chapter.
Chapter 05 – Evaluation
This chapter consists of the information of how proper testing carried out by verifying all
the aspects of the system to validate the system specification has been achieved. This
includes the test plan that was used for the system validation and verification and what are
the different technologies used for testing as well as user acceptance testing carried out for
the system evaluation.
5
Chapter 06 – Conclusion
References
The purpose of this chapter is to acknowledge and highlight any work of others that have
been used or adapted such as all URL references and necessary citations those helped to
perform project activities successfully.
Appendices
This chapter includes additional information that is not included in the main chapters of
the dissertation, however such information could be useful for the interested parties to
learn more about the system.
6
CHAPTER 02: ANALYSIS
2.1 Introduction
The Requirement Analysis phase in Software Engineering is where the project lifecycle
begins. The objective of this phase is to define the system inputs, processes, outputs and
interfaces in more detailed and precise manner.
IEEE defines requirements analysis as (1) the process of studying user needs to arrive at a
definition of a system, hardware or software requirements. (2) The process of studying
and refining system, hardware or software requirements. ‘Requirements analysis helps to
understand, interpret, classify, and organize the software requirements in order to assess
the feasibility, completeness, and consistency of the requirements. [2]
The details of the requirements gathering techniques those were used to collect
requirements at the initial stage of developing the proposed system and how the existing
system processes are functioning at BAE have been included in this chapter. Further
functional and non-functional requirements of the proposed system and what are the
drawbacks of the present system, are also included in this chapter.
Conducting interviews
After vising the client organization a number of interviews were conducted with the
Senior Vice President of the institute in order to understand the core functions of the
BAE. After that a number of interviews were conducted with the administrative staff
in order to understand the business requirements and domain specific information of
the organization.
7
Observation
The processes those administrative staff currently follows when registering new
students for the courses and collecting payments from students for various academic
purposes could be understood through observing and closely monitoring real life
scenarios. Additional information could be gathered by analyzing the process
documents which are created with students’ admission details and course payment
information as well.
Questionnaires
The main activities and manual processes those are currently being followed at the BAE
with respect to students’ academic matters can be explained as follows.
8
a) Course fees
b) Counselling fees
Students should go to the Accounts department and are required to make the relevant
payments at the cashier counter and needed to obtain the student’s copy of the invoice for
the payment made. BAE copies of the invoices are stored in box files for future reference.
The use case diagram of the existing manual system is depicted by Figure 2.1
9
Figure 2.1 Use Case Diagram for the Existing System
In the modern IT industry, it is not difficult task to find good and powerful web based
Students Management Systems those consisting of the similar functionalities as of the
proposed project. Following reviews contain comprehensive analysis of most commonly
used free and open-source Students Management Systems around the world.
10
Fedena School ERP System provides user-friendly dashboards with login access for
teachers, non-teaching staff, students, parents and management personnel of the education
institution. The various modules available in Fedena facilitate all the processes of the
institution, from admission of new students to generating transfer certificates when
students complete their studies. [4]
The software interface of the Fedena school management system is depicted in Figure 2.2
Pros: Fedena offers unlimited administration and student logins to use their system, along
with unlimited courses and batches. The system was developed using Ruby on Rails, so
schools can easily customize the code to their school’s needs. The system includes human
11
resources, a calendar, financial management, examination management, and
student/parent logins. [5]
Cons: When comparing the free version of the Fedena software to the paid version, it
becomes clear that the open-source version is lacking a number of features, including
inventory, custom reports, registration and discipline. [5]
The software interface of the Fekara school management system is depicted in Figure 2.3
12
2.4.2.1 Pros and Cons of FeKara Software
Pros: FeKara is a clean and modern school administration and management software
option which covers everything from examination and assignments to budgeting and
internal messaging for all staff. FeKara even includes a mobile app which can work on all
tablets and smartphones for convenient on-the-go use. [5]
Cons: FeKara is limited by the amount of students, bandwidth, and storage which can be
managed on the free version of its software. FeKara is free for schools as long as the
number of students remains under fifty students and five teachers in the system, which
limits the free use of this software to much smaller schools. [5]
Pros: Real time update and direct communication between teachers, principal, and
parents. This software has a web based system as well. Mobile version supports iOS and
Android platforms and cloud based service to access it anywhere from any device. [7]
Cons: Main drawback of the mobile version of this software is intermittent problems with
the hosting servers are faced due to the heavy network traffic situations. [7]
Following section describes the functional requirements that have been identified during
the systems analysis and the detailed specification of the functionalities that the users
expect by the proposed system.
14
2.5.2 Students’ Payments Handling and Notification Module
The purpose of this module is handling students’ payments and serving as a monitoring
tool of the payments made by students. Further this module would function as a
notification system that links with the students’ payments. Following functions can be
performed through this module.
Accounts department should be able to accept “Course Fees” made by students and
print invoice for the payments received.
Accounts department should be able to accept “Counselling Fees” made by
students and print invoice for the payments received.
Accounts department should be able search the past payment history records made
by students
Generating SMS and e-mail alerts for the payments received from students.
Generating SMS and e-mail reminders for the payments pending from students.
15
2.5.4 Students’ Examination Records Handling Module
The purpose of this module is maintaining a repository of data related to all the
examinations conducted by the BAE. Following functions are expected to be performed
through this module.
16
Administrators should be able to search and view the details of staff members.
Administrators should be able to update the details of the existing staff members.
Administrators should be able to inactivate the records of the existing staff
members when such a requirement arises.
Students should be able to update the forum with the questions they have.
Lecturers or counsellors should be able to update the forum with the answers for
the questions those the students have posted.
Students also should be able to update the forum with the answers for the questions
those the other students have posted.
The definition for a non-functional requirement is that it essentially specifies how the
system should behave and that it is a constraint upon the systems behavior. One could also
think of non-functional requirements as quality attributes of a system. Non-functional
requirements cover all the remaining requirements which are not covered by the functional
requirements. They specify criteria that judge the operation of a system, rather than
specific behaviors. [9]
Following section explains about the non-functional requirements that should be focused
when implementing the proposed Students Management System.
17
2.6.1 Accuracy
Since the proposed system intends to deal with marks and grades those the students have
obtained for the examinations, those information should be accurate and trustworthy. Also
the notifications that would be generated from the payments handling and attendance
handling modules should be accurate and up-to-date.
2.6.2 Security
Since the system contains sensitive information such as fees payments made by students
and marks and grades those the students have obtained for examinations, securing such
information will be one of the major non-functional requirements that should be focused.
Only the authorized people should be able to access the system using user names and
passwords. A mechanism for encrypting the passwords should also be implemented in
order to secure the user accounts that registered in the system. Proper access privileges
should be defined for the different user roles.
2.6.3 Reliability
Availability of the system and system uptime should be maintained up to the maximum
level that is agreed with the client.
2.6.4 User-friendliness
Overall functionalities of the system should be implemented in a way that is easy to learn
and easy to use for all the user levels who take benefits of the system.
2.6.5 Maintainability
Database backups should be scheduled and taken at defined intervals in order to protect
the system from unexpected data loss and system failure situations.
The decision of selecting the most suitable software process model for developing the
intended software is usually considered as one of the most challenging decisions any
software engineer has to make. That is mainly because the success factor of the developed
18
software mostly depends on the decision of selecting the most suitable software process
model. Therefore it’s required to perform a comprehensive analysis about the
‘Requirements of the project’ before taking the final decision on choosing among the
structured methodologies and object oriented methodologies for software development.
If the software project consists of a set of very clear user requirements and if requirements
are not changing throughout the development life cycle, selecting a structured process
models such as ‘Waterfall model’ and ‘Spiral model’ would be most the suitable decision
for the success of the software project.
On the other hand for software projects with unclear user requirements and if requirements
are changing throughout the development life cycle, selecting an object oriented
methodology such as “Agile model” or “Iterative and Incremental model” would be the
most suitable decision for the success of the project.
However focusing on the requirements of the project is only one technique for selecting
the suitable process model for software development. There are several other important
factors that should be evaluated such as time frame of the project, budget limitation, skills
limitation and component reusability when considering the process model that is most
suitable for the software project.
The main reason for this selection is, RUP has the supportability for Object Oriented
Software Development (OOSD). Further RUP is considered as an iterative and
incremental software methodology and this model has the acceptance of use cases and
Unified Modeling Language (UML). As the proposed system consists of several modules
19
such as Admission module and Fees management module, etc. each module can be
implemented iteratively and incrementally by dealing with the changing requirements
throughout the development life cycle.
RUP methodology consists of four phases and following section contains a brief
description of each phase. [10]
Inception Phase
The idea for the project is stated. The development team determines if the project is
worth pursuing and what resources will be needed.
Elaboration Phase
The project’s architecture and required resources are further evaluated. Developers
consider possible applications of the software and costs associated with the
development.
Construction Phase
The project is developed and completed. The software is designed, written, and tested.
Transition Phase
The software is released to the public. Final adjustments or updates are made based on
feedback from end users.
20
CHAPTER 03: DESIGN OF SOLUTION
3.1 Introduction
Systems design is the process of defining elements of a system like modules, architecture,
components and their interfaces and data for a system based on the specified requirements.
It is the process of defining, developing and designing systems which satisfies the specific
needs and requirements of a business or organization. [11]
When it comes to the evaluation of different competing design strategies those are
applicable for the proposed system, following alternative strategies can be mainly
emphasized as relevant.
a) Commercially available software is usually priced very high and the client
organization is reluctant to go with this solution due to this matter.
b) Even though a generic Student Management System can be purchased from a
vendor, the customization process according to the specific requirements is not
straightforward and this process usually takes a long time.
c) Obtaining after sales software support for the commercial products is a cost
involved process.
Even though the requirements of the proposed project could be satisfied through this
strategy, client organization is not willing to go with this solution and it was decided to
exclude this method due to the above drawbacks involved in this strategy.
21
3.2.2 Implementing the System as a Stand-alone Application
The next alternative strategy that can be used to design the proposed system is
implementing the solution as a stand-alone desktop application. Even though a majority of
the objectives of the proposed project could be satisfied using this strategy, it was decided
to exclude this method from implementation due to the following drawbacks involved
with this option.
After conducting a comprehensive analysis on the alternative design strategies that the
proposed system could be implemented, it was decided unanimously to design and
implement the system as a web based application. There are many positive arguments that
supported this decision and following are the most important motives those can be
highlighted among them.
22
a) Flexible core technologies and open source platforms such as PHP and MySQL
can be used for developing the web based applications.
b) Cost effective development and troubleshooting process is much easier than in
stand-alone desktop application.
c) System installation and maintenance is less complicated in web based applications.
d) Web based applications can be easily customizable by reusing the development
frameworks such as bootstrap templates.
e) Web based applications can be easily accessible from anywhere without reaching
to the office premises.
f) There is a possibility for future enhancements by configuring the accessibility for a
wide range of mobile devices such as smart phones and tablets.
Object-Oriented Analysis and Design (OOAD) is a technical approach used in the analysis
and design of an application or system through the application of the object-oriented
paradigm and concepts including visual modeling. This is applied throughout the
development life cycle of the application or system, fostering better product quality and
even encouraging stakeholder participation and communication. [12]
UML is the standardized notation and modeling language that support systems developers
to visualize, construct and document the artifacts of a software system during system
design phase. There are two main categories of UML diagrams according to the standard
UML notation.
1) Structure diagrams
2) Behavioral diagrams
The main types of Structure diagrams those are most commonly used are Class Diagram,
Component Diagram and Object Diagram whereas the main types of Behavioral diagrams
those are most commonly used are Use Case Diagram, Activity Diagram and Sequence
Diagram in software design.
23
The following section describes the structure and behavior of the Students Management
system according to the standard UML notation
3.4.1 High Level Use Case Diagram for the Students Management System
Use case diagrams provide a graphic overview of the actors involved in a system and
different functions performed by those actors and how these different functions interact
with the system.
The high level use case diagram for the proposed Students Management System is
depicted in Figure 3.1
24
3.4.2 Class Diagram for the Students Management System
The Class Diagram shows the classes in a system, attributes, and operations of each class
and the relationship between each class.
Class Diagram for the proposed Students Management System is depicted in Figure 3.2
25
3.4.3 Use Case Diagram for the Students Registration Module
The actors involved in students registration module and the functions performed by those
actors are depicted in Figure 3.3
26
3.5 Database Design for the System
Designing a good database model that conveniently helps to achieve the functional
requirements of the system is one of the major tasks in the Design phase. There are two
main database design objectives those are expected to be achieved in a good database
model.
Normalization is the database design approach that can be applied to achieve above
mentioned objectives. Normalization process comprises several stages and every stage has
different goals to be achieved. When designing the database model for the proposed
system, First Normal Form (1NF), Second Normal Form (2NF) and Third Normal Form
(3NF) should be considered to create a database that has achieved above mentioned design
objectives.
Database diagram created for the Students Management database is depicted in Figure 3.5
27
3.6 User Interface Design for the System
User interface design also known as the front-end design of a software system is one of
the crucial phases that should be sensibly carried-out in the software design stage. The
intended functionalities of the software system are carried out by the user with the help of
the controls available in the user interfaces. In that sense user interfaces facilitate as the
fundamental platform for the interaction between human and computer system.
There are many fundamental principles that should be considered when designing user
interfaces for a software solution and following are the most important points among
them.
The structure
The design of the user interface should be meaningful and purposeful and it should
be applicable to the software system.
Simplicity
The design of the user interface should be as simple as possible and not
complicated for the users.
Consistency
User should feel familiar with the system after starting to work with the system.
Efficiency
The design of the user interface should facilitate the tasks of the software system in
the best possible way.
Tolerance
The design of the user interface should be flexible and tolerant of the mistakes
done by users. Also the system users should not be surprised by seeing the
behavior of the system.
These fundamental user interface design principles have been properly considered when
designing the user interfaces of the Students Management System. All the user interfaces
of the system have been created in a simple, consistent and creative manner.
28
3.6.1 User Login Interface
Figure 3.6 shows the user login page that initially loads when the users start the system.
This is a common user interface for all the users such as Students, Administrators and
Accounts department and only the authorized users have access to the system.
29
3.6.3 Exam Results Upload Interface
The user interface of the exam results upload form is shown in Figure 3.8
30
CHAPTER 04: IMPLEMENTATION
4.1 Introduction
Implementation phase of the SDLC is the activity where user requirements are developed
using the selected programming languages and tools according to the requirements
specification. This is the activity where functionalities expected by system users become
executable functions. This phase is executed gradually and carefully from one stage to the
next by implementing the functions that have been defined as several modules.
This chapter describes the major code segments that have been used and the modular
structure of the system. Further this chapter includes details of the hardware and software
implementation environment along with proper acknowledgments of the existing codes
reused for the system implementation.
The Hardware and Software configurations that were used for system implementation
have been categorized in the Table 4.1
31
4.3 System Development Tools and Technologies
This section describes all major code segments that have been implemented during the
Implementation phase to make the intended functionalities of the project a workable and
productive solution.
32
Figure 4.1 Database Connection Session
33
Figure 4.3 User Login Handling Code
34
4.4.5 Insert, Update and Inactivate Code Segments
Insert records to the database, update exiting records and inactivate some records in the
database are some of the major functions in the system. Figure 4.5 illustrates insert
operation and Figure 4.6 illustrates update operation functions are implemented in
codebase.
Insert Operation
Update Operation
35
Figure 4.7 Inactivate Operation
36
4.6 Re-Usable Existing Components
Following section describes the re-usable components which have been used throughout
the implementation of the system.
“Atlant – Responsive Bootstrap Admin Template by Aqvatarius” has been used as the
framework of developing the system. Even though this Bootstrap template was used as the
system framework, all the implementation work of the system modules were designed and
developed from the scratch according to the requirements of the client.
Library Files
The default library files such as JavaScript and jQuery plugins that are available with the
“Atlant - Bootstrap Admin Template” have been used for the system development in
order to be compatible with the base framework that was chosen for implementation.
Figure 4.9 illustrates the JavaScript and jQuery plugins that were used as the re-usable
components during implementation.
The reusable library component called “amCharts” was used for data visualization and
creating charts and graphs through the system. Figure 4.10 illustrates of amCharts reusable
library files.
37
Figure 4.10 amCharts Library Files
HTML2PDF reusable library files written in PHP were used for handling conversion
mechanism of HTML files to PDF format in the system. Figure 4.11 illustrates
HTML2PDF library files which were used in the system.
The original author of the “Atlant – Responsive Bootstrap Admin Template” is Aqvatarius
[13] and the team Aqvatarius should be thankfully acknowledged. However this Bootstrap
Admin Template was used only as the framework of the Student Management System and
all the modular wise development work of the system was carried out from the beginning
according to the client’s requirements.
38
CHAPTER 05: EVALUATION
5.1 Introduction
Software Testing and Software Evaluation are two major processes that should be clearly
understood in order to produce a high quality software system.
1) Black-Box Testing
The technique of testing without having any knowledge of the interior workings of the
application is called black-box testing. The tester is oblivious to the system architecture
and does not have access to the source code. [15]
Black-Box testing technique was performed successfully with the help of few students
who are unaware to the system architecture and the user inputs were documented properly.
39
2) White-Box Testing
White-box testing is the detailed investigation of internal logic and structure of the code.
In order to perform white-box testing on an application, a tester needs to know the internal
workings of the code. [15]
There are many types of software testing also known as ‘Levels of testing” that are used to
validate the usability of a software system.
1) Unit Testing
A level of the software testing process where individual units or components of a software
system are tested. The purpose is to validate that each unit of the software performs as
designed. [16]
2) Integration Testing
A level of the software testing process where individual units are combined and tested as a
group. The purpose of this level of testing is to expose faults in the interaction between
integrated units. [16]
3) System Testing
A level of the software testing process where a complete, integrated software system is
tested. The purpose of this test is to evaluate the system’s compliance with the specified
requirements. [16]
4) Acceptance Testing
A level of the software testing process where a system is tested for acceptability. The
purpose of this test is to evaluate the system’s compliance with the business requirements
and assess whether it is acceptable for delivery. [16]
Unit testing was performed in parallel with each individual module development during
system implementation phase. Integration and System testing activities were carried out
after completing the system implementation with the purpose of evaluating the system’s
compliance with the user requirements those were collected at the Analysis phase.
40
5.2.2 Software Evaluation
The objective of software evaluation process is to validate that the implemented software
system fulfills the requirements of the project. One method of software evaluation is to
use the potential end users to evaluate the usability of the system.
A Test Plan can be described as a methodical and systematic approach which is used to
verify and validate the quality of a software system. Defining a good test plan and a
strategy can be very effective in discovering errors and bugs of the system. A properly
defined and completed test plan can be used as documentary evidence to prove the quality
of the software product. The Table 5.1 shows the high level test plan that is defined to
validate and verify the Students Management System.
41
View submitted assignments High
Upload past papers High
View uploaded past papers High
Add the details of a new course module High
View the details of the added modules Medium
Course repository module Update the details of the existing
High
modules
Inactive course records in Course
High
Repository
Add course fee payment High
Add counseling fee payment High
Fees management module
Search payment history records High
Monitor due payments function High
Add new staff member function High
Search existing staff members Medium
42
5.4 System Test Cases
After determining the comprehensive test plan which is used to validate and verify
functionalities of the system, the next step is to define the set of scenarios and conditions
which should be tested under the defined test plan. Test cases are carefully defined by
covering every aspect of the system. This section containing with test results only for
Students Registration module and please refer the Appendix E for detailed actual test
results with screen shots for other modules of the system.
The Table 5.2 shows the test cases and expected results defined for Students Registration
module.
“Date of
Registration” and
Go to Students Registration
When New Students “Date of Birth”
1 option and click on ‘New
Registration form is loaded calendar should
Students’ option
display the system
date
43
Go to Students Registration All the input fields
option and click on ‘Edit should be disabled
View student’s profile
6 Profile’ option. Then select one and filled with
details
student record and click ‘View’ relevant details of the
button student
Un-editable
Go to Students Registration information should
Verify un-editable option and click on ‘Edit be blocked for
7 information in student’s Profile’ option. Then select one editing after loading
profile student record and click ‘Edit’ the
button “UpdateStudentProfil
e” form
44
5.5 User Acceptance Testing
After completing the implementation work, the system was installed at the clients’
location in order to go through the user acceptance testing process. The objective was to
perform user acceptance testing with the help from potential users during a certain period
of time. The user who has administrative privileges completed end to end testing of the
system and some system defects were identified during the testing. Those identified
defects were fixed and the fixed issues were successfully got verified by administrative
user again. The course fee payment, counseling fee payment and monitoring due payment
functionalities were tested by the potential users from accounts department of BAE. The
functionalities dedicated for Student user level were successfully tested by few students
from the institute.
At the final stage of the user acceptance testing, the comments and feedback about the
new system were collected from users by presenting an evaluation questionnaire form.
Some feedback comments received from a user is illustrated in Figure 5.1
User evaluation questionnaire form that was used for the survey and responses collected
by a potential user has been included in “Appendix E – Test Results” section.
45
CHAPTER 06: CONCLUSION
6.1 Introduction
Sri Lanka Institute of Architects is the governing body of the Architecture profession in
Sri Lanka. A student can acquire the B.Arch degree in Architecture from University of
Moratuwa or Higher Diploma in Architecture from the City School of Architecture in
Colombo to gain exemptions from Parts I and II of SLIA; those with foreign qualifications
will have to get their transcripts sent to SLIA and obtain the exemptions; thereafter they
can register to undertake the SLIA Part III examination to acquire the Charter from the Sri
Lanka Institute of Architects to practice individually or as a firm of architects as well as to
perform institutionally. With the increasing number of students’ registration, the
institution has been facing a lot of difficulties during the past few years due to the manual
processes that were established to conduct their daily operational activities.
The main objective of implementing the Students Management System for the SLIA was
to provide a more organized and streamlined mechanism to manage the routine processes,
those have been manually performed at BAE. The proposed solution was to implement a
centralized web based system for SLIA that could help to streamline students’ related
operational activities in a more organized and efficient manner. In order to satisfy these
objectives, the scope of the project was outlined according to following sub modules.
46
The specific customer requirements and the problem domain that expected to implement
the web based solution have been properly identified in requirements analysis phase. Then
the identified requirements were categorized as functional and non-functional
requirements according to the defined scope of the project. After designing the solution,
the implementation tasks were carried out module-wise successfully by following the
activities and phases defined in Rational Unified Process methodology. After that the
system testing was properly conducted by using wide range of test cases which cover the
functionalities of the implemented system. The user acceptance testing was conducted
using few real users and according to the feedback collected from the users, it can be
mentioned that the objectives of the project have been fulfilled up to a satisfactory level
and without major concerns raised by the client.
However due to the complexity and importance of the activities currently carried out by
SLIA in the professional education field, the client organization would like to conduct a
parallel run of the new Student Management System along with their existing manual
system a period of time. This will help for a smooth transition to the new system as well
as to identify and fix any new operational issues those might be encountered while using
the new system for a long period of time.
The final year project paved the path to learn really valuable lessons in my personal and
professional life in IT industry. The project was a great opportunity to gain experience
while carrying out all the activities in the Software Development Life Cycle that is
developing a working software solution starting from the initial customer requirements.
Following are rest of the notable lessons learnt during the course of the project.
This was a great opportunity to improve my technical knowledge in the areas such
as web development languages and database management techniques.
Managing pressure and the stress while meeting various deadlines as well as when
things are not going according to the initial plans was another good lesson.
Working with a real client while participating for business communications with
different people and mapping the discussions to achieve technical solution.
47
How to plan and organize the work and how to carry out the tasks by following the
given guidelines.
Individual project was a very good opportunity to improve technical writing skills
to a great extent.
It was a great challenge to discuss and negotiate about some of the requirements with the
client since there were some requirements which were not technically feasible to
implement during a course of an academic project.
Following are some of the suggestions that could be added as enhancements to the
existing system to make the system a much improved product in future.
Currently the students’ payments are accepted only through cash and an enhancement
could be done in this area by introducing credit card payment facility in the system.
48
REFERENCES
[1] John H. Daniels Faculty of Architecture, Landscape, and Design. [Online].
Available: https://www2.daniels.utoronto.ca/prospective-
students/programs/bachelor-arts-architectural-studies [Accessed: Jul 01, 2017].
[5] N. Morpus, "The Top 6 Free and Open Source School Administration Software -
Capterra Blog", Blog.capterra.com, 2017. [Online]. Available:
http://blog.capterra.com/the-top-6-free-school-administration-software/.
[Accessed: Jul 31, 2017].
[6] "Free School Software & Online School Management System", Fekara, 2017.
[Online]. Available: https://fekara.com/. [Accessed: Jul 31, 2017].
[7] r. singh, "10 Best School Management Software or School ERP System",
Technofizi.net, 2017. [Online]. Available: https://technofizi.net/best-school-
management-software-or-school-erp-system/. [Accessed: Sep 30, 2017].
49
[11] "Definition of 'Systems Design' - The Economic Times", The Economic Times,
2017.[Online]. Available: http://economictimes.indiatimes.com/definition/systems-
design. [Accessed: Aug 05, 2017].
50
Appendix A - System Documentation
This technical documentation can be used as a set of instructions to complete the
installation and configuration of the Students Management System. Additionally this
documentation contains the Hardware and Software environments in which the web based
system is expect to be installed.
Hardware Requirements
The minimum hardware requirements have been explained in the Table A.1 below.
Software Requirements
The minimum software requirements have been explained in the Table A.2 below.
51
Instructions for System Installation
Open the CD and copy BAE folder and paste it to the directory path
C:\XAMPP\htdocs
Go to the notification area of the Windows Taskbar and open XAMPP control
panel. Verify whether Apache and MySQL is running.
Open the recommended web browser and type the URL: http://localhost/BAE/ and
press Enter button to launch the system.
The initial login page of the Student Management System should appear at this
stage.
Operating instructions and more information of the system can be found in,
Appendix C - User Documentation
52
Appendix B - Design Documentation
The design documentation which has not been included in the Design Chapter (Chapter 3)
is included in this appendix in order to have more in-depth knowledge about the design of
the system for interested parties.
53
have not met minimum requirement for the course module.
Attendance records should be properly maintained for generating
Post-conditions
accurate reports as well as attendance monitoring purpose.
54
Sequence Diagram of the Students Registration Module
The sequence diagram created for the Students Registration Module is depicted in Figure
B.3
55
Sequence Diagram of the Course Repository Module
The sequence diagram created for the Course Repository Module is depicted in Figure B.4
56
Appendix C - User Documentation
The purpose of this documentation is to provide instructions on how to productively make
use of the system functionalities available in the Students Management System. The
potential users of the system will be Students, Administrative staff and Accounts staff.
Different access privileges have been granted for the system users based on the different
roles of the system.
Login page
Students Management System has been configured to access through the URL
http://localhost/BAE/. Open a web browser that is recommended in the Table A.2 and
navigate to the system using this URL. The initial login page of the system depicts in
Figure C.1. System is accessible for all levels of the users through this initial login page
by providing the NIC number as Username and with a valid Password.
57
Password Reset Process
In the situations where system users have forgotten or lost their password, the password
can be reset using the recovery page which can be accessed through the link
in the initial login page. The user should be able to prove the
authenticity by providing mandatory information in order to complete the password reset
process successfully. The password reset form is depicted in Figure C.2
After completing a successful login attempt, the system users can access the Home
Dashboard page which is depicted in Figure C.3. The Home Dashboard page is a common
page which has been granted to be accessed by all levels of the users.
58
Figure C.3 Home Dashboard Page
59
Sub Menu Items of Main Modules
Sub menu items which are linked with co-functionalities of the main modules of the
system is depicted in Figure C.5
60
Insufficient Access Privileges Display Page
When a particular user attempts to perform a system function or attempts to access a menu
item which have not configured to be accessed by the relevant user role, the unauthorized
access error page depicted in Figure C.7 will be prompted to the relevant users.
User notification message types have been configured in the system to alert the users
about the success or failure status of the operation which performed by users.
Success Message
Figure C.8 depicts the success message that will be prompted to the users for a
successful operation.
61
Failure Message
Figure C.9 depicts the failure message that will be prompted to the users for an
unsuccessful operation.
Warning Message
Figure C.10 depicts the warning message that will be prompted to warn the users
about the severity of the operation that the user attempts to perform.
Functionalities such as new students registration, searching for registered students, view
profile information of the students, update existing information and inactivate students’
profiles can be performed through this module.
62
Figure C.11 New Students Registration Form
63
Figure C.13 View, Update, Inactivate Operations
Functionalities such as record attendance, view attendance and monitor attendance can be
performed through this module.
Record Attendance
Access path: Attendance Management Record Attendance
Only the system administrator has access privileges to record attendance of the students.
Attendance should be recorded by selecting the relevant course module and the lecture
date and loading them to the attendance table. The active students will be automatically
loaded into the table and absence or presence for the lecture can be marked by selecting or
deselecting the check-box. Figure C.14 describes the attendance recording procedure.
64
View Attendance
Access path: Attendance Management View Attendance
Attendance can be viewed by selecting the relevant course module and the lecture date
and clicking the ‘View Attendance’ button as explained in Figure C.15.
Monitor Attendance
Access path: Attendance Management Monitor Attendance
Only the system administrator has access privileges to monitor attendance of the students.
The purpose of this functionality is to identify the students who have not achieved the
required minimum number of sessions for a particular course module during a period of
time and send reminders for those students to maximize their participation for the lectures.
Figure C.16 illustrates the steps which should be followed in monitoring attendance.
65
Figure C.16 Attendance Monitoring Procedure
Uploading exam results can only be performed by the administrator and following are the
steps which should be followed to complete this process successfully.
1) Navigate to the ‘Upload Exam Results’ form using the given access path.
2) Select Registration Number from drop down list.
3) Select results Effective Date from the calendar object.
4) Click ‘List Modules’ button to load the course modules list.
5) Feed exam results of the student in the ‘Marks’ column of the table.
6) Click ‘Upload Results’ button to upload the results for the selected student.
Figure C.17 illustrates these steps in more detail.
66
Figure C.17 Upload Exam Results Procedure
When a user initially loads the page, form loads only the ‘Frame 1’, that is exam result
summary page. When the user needs to view exam results in detail, it’s required to click
on the Registration Number link and the exam results details are shown in ‘Frame 2’
Figure C.18 illustrates the exam results viewing procedure in more detail.
67
Figure C.18 View Exam Results Procedure
The accounts department of the BAE has privileges to access this module. Functionalities
such as course fee payment, counseling fee payment, check payment history and
monitoring due payments consist in this module.
Following are the steps which should be followed to complete course fee payment process
successfully.
1) Navigate to the ‘Course Fee Payment’ form using the given access path.
2) Select Registration Number from drop down list.
3) Check the balance payment of the student by clicking button. The balance
68
7) Click ‘Add’ button to add the course fee payment for the selected student.
8) Following success message will appear and click ‘Print’ button to generate and
print the payment invoice.
Figure C.19 illustrates these steps in more detail and Figure C.20 depicts the payment
invoice that was generated through the system for the successful payment.
69
Counseling Fee Payment
Access path: Fees Management Counseling Fee Payment
The users can follow the same guidelines provided in the course fee payment procedure
with some minor changes which applicable for the counseling fee payment method.
However the user interface design changes in counseling fee payment method are self-
explanatory. Figure C.21 illustrates the counseling fee payment procedure.
Adding new course module function can only be performed by the administrator and
following are the steps which should be followed to complete this process successfully.
1) Navigate to the ‘Add New Module’ form using the given access path.
2) Provide Module Code according to the correct naming convention.
3) Follow the Step 3, Step 4, Step 5, Step 6, Step 7 and Step 8 according to the
guidelines provided in Figure C.22
70
4) The information required to be provided in Step 9 and Step 10 will be helpful to
monitor attendance of the students, so provide those details correctly.
Edit Modules
Access path: Course Repository Edit Modules
View, update and inactivate operations for the course module details can be performed
using this function. Figure C.23 illustrates these functions in more detail.
71
Reporting Module
Payment Information
Access path: Reporting Module Payment Information
Payment information reports are one type of report among the various reports that can be
generated through the system. Figure C.24 illustrates about this report type in detail.
Calendar Object
The purpose of the calendar object is to assist the user in selecting particular date or date
range when performing a certain function through the system. This object has been used in
different areas in Reporting module and several other modules as well. Calendar object is
shown in Figure C.25.
72
Appendix D - Management Reports
Generating reports for management purposes is one of the most useful features of the
Students Management System. This section describes about few of the reports that could
be generated using reporting module.
Course Fee Payment Report can be generated as a daily report, monthly report or quarterly
report by specifying the relevant date range using the calendar object according to the
preference of the management team. Figure D.1 illustrates the method of generating this
report and Figure D.2 shows the Course Fee Payment Report which was generated as a
monthly report.
Counseling Fee Payment Report also can be generated as a daily report, weekly report or quarterly
report according to the preference of the management team. Figure D.3 illustrates the method of
generating this report and Figure D.4 shows the Counseling Fee Payment Report which was
generated as a weekly report.
74
Attendance Summary Reports
Attendance per Module Report
Attendance per Module Report which can be generated as a weekly or monthly report by
summarizing attendance of the students provides very useful information for management
staff. Figure D.5 illustrates the method of generating this report and Figure D.6 shows the
Attendance per Module Report which was generated as a monthly report.
75
Students’ Information Reports
These types of reports contain profile details of students’ which can be generated as a
weekly, monthly or quarterly report by specifying the registration date of the student.
Figure D.7 illustrates the method of generating this report and Figure D.8 shows the Students’
Information Report which was generated as a monthly report.
76
Graphs and Charts for Decision Making
Data visualization is a great concept that helps for making decisions in an organization.
Creating graphs and charts by visualizing existing data can be performed through the
Analytics module of the system. Figure D.9 illustrates a pie chart which was
created by visualizing ‘Present Office Analysis’ information and Figure D.10 illustrates a bar chart
which was created by visualizing ‘Academic Qualifications’ of the registered students.
77
Appendix E - Test Results
This chapter consists of the major test cases along with the actual test results to show that
all aspects of the system have been verified and specification has been met.
Table E.1 contains the test cases executed for user login module and actual test results
captured during system evaluation.
Test
Steps for Testing Expected Result and Actual Result Status
No.
Successfully login in to the system
Input correct username
1 Input correct password Pass
Click - Log In button
Prompt "Check your user name or password"
Input correct username
2 Input incorrect password Pass
Click - Log In button
Table E.2 contains the test cases executed for students’ registration module and actual test
results captured during tests.
78
Test
Steps for Testing Expected Result and Actual Result Status
No.
"Date of Registration" and "Date of Birth" calendar
Go to Students should display the system date
Registration option
1 Pass
and click on 'New
Students' option
79
Go to the same Display message "Student’s Details Successfully
location as above Updated"
and update some
8 fields with correct Pass
pattern and click
"Update Details"
button
Go to Students Display user warning message "Are you really sure
Registration option to inactivate the selected student??"
and click on 'Edit
9 Profile' option. Then Pass
select one student
record and click
'Inactive' button
Do the same step as Display message "Student’s Details Successfully
above and click Inactivated"
'Inactive' button. In
10 Pass
the user warning
message, click
"Yes"
Do the same step as System should abort the inactivate operation and load the
above and click same page "Edit Students' Profile" Pass
'Inactive' button. In
11 the user warning
message, click "No"
Table E.3 contains the test cases executed for attendance management module and actual
test results captured during tests.
Test
Steps for Testing Expected Result and Actual Result Status
No.
Go to Attendance "Date of Lecture" calendar should be filled with the
Management option system date
1 and click on Record Pass
Attendance
80
Select a Module Selected Module Code and the Date of Lecture
Code from drop should be populated to the attendance uploading table
2 down and the Date Pass
of Lecture and click
"Load" button
Select a Module With the same result of above step, all active students
Code from drop should be loaded to the same table
down and the Date
3 Pass
of Lecture and click
"Load" button
Select a Module With the same result of above step, Attendance check
Code from drop box that loaded to the table should be marked as
down and the Date checked for all students
4 of Lecture and click Pass
"Load" button
81
Test Cases for Examination Repository Module
Table E.4 contains the test cases executed for examination repository module and actual
test results captured during tests.
Test
Steps for Testing Expected Result and Actual Result Status
No.
Go to "Effective Date" calendar should be filled with the
Examinations system date
Repository option
1 Pass
and click Upload
Exam Results
82
Verify the grades Grades should be properly calculated according to
of the students the pre-defined grades calculating logic
against the marks
7 obtained for course Pass
modules
Table E.5 contains the test cases and actual test results for fees management module.
Test
Steps for Testing Expected Result and Actual Result Status
No.
Go to Fees "Date of Payment" calendar should be filled with the
Management system date
1 option and click Pass
Course Fee
Payment
Select a Balance payment should be loaded to the "Balance"
Registration text box along with the selected Registration Number
Number from drop
down and check
2 Pass
the balance
payment by
clicking "Chk Bal"
button
Do the same steps The Installment Number text box should be filled
as of the above test with the next correct Installment Number
3 case Pass
Fill the Receipt Display message "New Course Payment Added Successfully"
Number and Pass
4 Payment amount
and click "Add"
button
83
Do the same steps Payment invoice should be generated Pass
as of the above test
case and click the
"Print" button on
5
the successful
message for
payment invoice
verification
Go to Fees "Date of Payment" calendar should be filled with the
Management system date
option and click
6 Pass
Counseling Fee
Payment
84
Test Cases for Course Repository Module
Table E.6 contains the test cases executed for course repository module and actual test
results captured during tests.
Test
Steps for Testing Expected Result and Actual Result Status
No.
Go to Course All the input fields must be empty except No.of
Repository option Lectures and Min.Lectures fields populated as 1
and click on Add Pass
1 New Module
85
Go to the same Display message "Module Details Successfully
location as above Updated"
and update some
7 fields with correct Pass
pattern and click
"Update Details"
button
Go to Course Display user warning message "Are you really sure to
Repository option inactivate the selected Module??"
and click on 'Edit
Modules' option. Pass
8
Then select one
module record and
click 'Inactive'
button
Do the same step Display message "Module Details Successfully
as above and click Inactivated"
'Inactive' button. In Pass
9
the user warning
message, click
"Yes"
Do the same step System should abort the inactivate operation and load the
as above and click same page "Edit Course Module" Pass
'Inactive' button. In
10 the user warning
message, click
"No"
86
User Evaluation Questionnaire Form
A user evaluation questionnaire form completed by a potential user is shown in Figure E.1
87
Appendix F - Code Listing
Major code segments of the implemented functionalities have been included in this
document. Please refer the CD-ROM for complete set of code listing of all modules of the
Students Management System.
<?php
require_once '../../control/config.php';
try {
if (isset($_POST['Add'])) {//Record attendance by capturing the data
posting from attendance table in view form
foreach ($_POST["Module_Code"] as $rec => $value) {
$Module_Code = $_POST["Module_Code"][$rec];
$Lecture_Date = $_POST["Lecture_Date"][$rec];
$Registration_Number = $_POST["Registration_Number"][$rec];
if ($_POST["Attendance"][$rec] == "") {
$Attendance = 'Absent';
} else {
$Attendance = 'Present';
}
$Comment = $_POST["Comment"][$rec];
$sql = 'INSERT INTO
tbl_students_attendance(Module_Code,Lecture_Date,Registration_Num
ber,Attendance,Comment) '
.
'VALUES(:Module_Code,:Lecture_Date,:Registration_Number,:Attendan
ce,:Comment)';
$stmt = $conn->prepare($sql);
$stmt->execute(array('Module_Code' => $Module_Code,
'Lecture_Date' => $Lecture_Date,
'Registration_Number' => $Registration_Number,
'Attendance' => $Attendance,
'Comment' => $Comment));
}
$conn = null;
88
Code Segment for New Students Registration
<?php
require_once '../../control/config.php';
//---------------------Student Login-------------
$Password = sha1($NIC_Old); //"sha1" Encryption algorithm has used for the
Encryption
$User_Role = 'Student';
try {
if (isset($_POST['Add'])) {
$Student_Image = $_FILES["Student_Image"]["name"];
}
}
} else {
echo "Invalid file";
}
//----------------End Handling Image File Uploads--------------------
--
89
Code Segment for Adding Course Fee Payment
<?php
require_once '../../control/config.php';
$Registration_Number = $_POST['Registration_Number'];
$Installment_Number = $_POST['Installment_Number'];
$Receipt_Number = $_POST['Receipt_Number'];
$Amount = $_POST['Amount'];
$Payment_Date = $_POST['Payment_Date'];
try {
if (isset($_POST['Add'])) {
$stmt = $conn->prepare($sql);
$stmt->execute(array('Registration_Number' =>
$Registration_Number,
'Installment_Number' => $Installment_Number,
'Receipt_Number' => $Receipt_Number,
'Amount' => $Amount,
'Payment_Date' => $Payment_Date));
$conn = null;
}
}
90
Code Segment for Students Grades Calculation and Results Upload
<?php
require_once '../../control/config.php';
try {
if (isset($_POST['Add'])) {//Adding Exam Results
foreach ($_POST["Registration_Number"] as $rec => $value) {
$Year = $_POST["Year"][$rec];
$Registration_Number = $_POST["Registration_Number"][$rec];
$Module_Code = $_POST["Module_Code"][$rec];
$Marks = $_POST["Marks"][$rec]; //Grading calculation method
based on Students' marks
if ($Marks >= 75) {
$Grade = "A";
} elseif ($Marks < 74 && $Marks >= 60) {
$Grade = "B";
} elseif ($Marks < 59 && $Marks >= 40) {
$Grade = "C";
} elseif ($Marks < 39 && $Marks > 0) {
$Grade = "F";
} else {
$Grade = "NA";
}
$Comments = $_POST["Comments"][$rec];
$Effective_Date = $_POST["Effective_Date"][$rec];
$Approved_By = $_POST["Approved_By"][$rec];
$sql = 'INSERT INTO
tbl_exam_results(Year,Registration_Number,Module_Code,Marks,Grade
,Comments,Effective_Date,Approved_By) '
.
'VALUES(:Year,:Registration_Number,:Module_Code,:Marks,:Grade,:Co
mments,:Effective_Date,:Approved_By)';
$stmt = $conn->prepare($sql);
$stmt->execute(array('Registration_Number' =>
$Registration_Number,
'Year' => $Year,
'Module_Code' => $Module_Code,
'Marks' => $Marks,
'Grade' => $Grade,
'Effective_Date' => $Effective_Date,
'Comments' => $Comments,
'Approved_By' => $Approved_By));
}
$conn = null;
91
Base CSS Code for PDF Invoices
.invoice-box{
max-width:800px;
margin:auto;
padding:30px;
border:1px solid #eee;
box-shadow:0 0 10px rgba(0, 0, 0, .15);
font-size:16px;
line-height:24px;
font-family:'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-
serif;
color:#555;
}
.invoice-box table{
width:100%;
line-height:inherit;
text-align:left;
}
92
Code Segment for Payment Summary Reports
<?php
// get the HTML
ob_start();
require_once '../../control/config.php';
?>
<?php
$stmt = $conn->prepare($sql);
$stmt->execute(array(
':Payment_FDate' => $Payment_FDate,
':Payment_TDate' => $Payment_TDate
));
echo '<tbody>';
while ($row = $stmt->fetch(PDO::FETCH_NUM))
{
echo '<tr>';
echo '<td>'.$row[0].'</td>';
echo '<td>'.$row[1].'</td>';
echo '<td>'.$row[2].'</td>';
echo '<td>'.$row[3].'</td>';
echo '<td>'.$row[4].'</td>';
echo '<td>'.$row[5].'</td>';
echo '</tr>';
}
93
Appendix G - Client Certificate
94
GLOSSARY
Android - Android is an operating system developed by Google Company mainly
focusing on mobile devices.
Bootstrap Framework - Bootstrap is a free and open-source front-end framework for
designing websites and web based applications.
iOS - iOS is an operating system created and developed by Apple Inc.
exclusively by targeting Apple branded mobile devices.
jQuery - This is a cross-platform JavaScript library. It is designed to simplify the
client-side scripting of HTML.
Encryption Function SHA-1 - Stands for Secure Hash Algorithm-1, which is a
cryptographic hash function designed by the United
States National Security Agency.
StarUML - Star UML is open-source software which is used to create UML diagrams.
95
INDEX R
I
A Institute iii
Reports iii,74,75,76,77
Requirement 7,14
ABSTRACT iii Incorporated iii
,21,32,39,40,48
Architect iii Interviews 7
Reusable 38
Act iii Interfaces 7
Authority iii
Architecture 1,21,40,47 K S
Amendment 1 Spectrum iii, 1,
Knowledge ii Streamlining iii, 1,
B Kindergartens 12 Statute 1
Software 7
Bandwidth 13
Board iii L
Bootstrap iii T
Literary 1
Title ii
Law 1
C Legislation 1
Templates iii
Troubleshooting 23
Centralized iii Licentiates 1
Transcripts 47
Cumbersome iii
Client iii M
Chartered 1 U
Modules iii, 47
Consistency 7 University ii,47
Methodologies 18, 20, 48
User-friendly 11,18
D Unanimously 23
N Unauthorized 62
Degree ii
Notification iii
Desktop 23
Database 28, 36
Non-functional 17 V
Documentation 54, 58 Validate 42,44
O Verify 42,44
E Organizations ii Verified 46
Observation 8 Visualization 38,78
Education iii
Open-source 10, 33, 96 Verification 61
Engineering 7
Encryption 34
P W
F Password 59 Windows 23, 53
Professional iii Web-based 52
Functionalities 10, 13
Parliament iii
,14,29,44,48,69,89
Pivotal 1 X
Frameworks 23, 38
Privileges 46, 62
XAMPP 32,33,52,53
G
Q
Greece 1
Questionnaires 8, 88
Qualifications 47, 78
H
History 1 R
Rational 18, 19
Reference ii, 50
96