Professional Documents
Culture Documents
Asp HND
Asp HND
I would like to thank my parents and friends who supported to complete this project
within the allocated time. I would also like to thank Mr. Asanka Dinesh our lecturers
for giving us their support to complete the project successfully. This assignment
helped me to get a good knowledge about object oriented programming and .Net
language. Designing a system using object oriented programming concepts was a
good experience for me.
2 Task 1......................................................................................................................8
3 Task 2....................................................................................................................22
3.2 Explain the components and data and file structures required to implement a
given design..............................................................................................................31
4 Task 3....................................................................................................................44
4.1 Implement the designed system using .Net framework. Provide important
code lines with proper comments and user interfaces filled with sample data........44
4.2 Provide evidences of the implemented techniques used to handle the errors52
5 Task 4....................................................................................................................59
5.1 Critically review and test the implemented system and provide the identified
discrepancies.............................................................................................................59
6 Appendix A.........................................................................................................107
7 Appendix B.........................................................................................................108
8 Reference............................................................................................................109
Interoperability
The word ‘Interoperability’ really refers to the ability of diverse systems and
organizations to work together. In computer systems, there is lot of interaction
happening between different new systems and old systems.
The .NET Framework provides many great features including the Interoperability;
it is achieved by set of tools and services provided by the framework. It includes a
large library and supports several programming languages like C#, VB.NET etc.
which allows language interoperability
Portability
The .NET Framework Portable Class Library project type in Visual Studio helps
you build cross-platform apps and libraries for Microsoft platforms quickly and
easily.
If we need to create a web site using asp.net, we should have to exact idea about
.NET framework and following shows the each and every main .NET
framework versions and included files and techniques in there.
IEHost.Execute
Microsoft.CLRAdmin
Microsoft.IE
Microsoft.JScript.Vsa
Microsoft.VisualBasic.CompilerServices
Microsoft.VisualBasic.Vsa
Microsoft.VisualC
ADO.net changes
The .NET Framework Data Provider for ODBC, which previously was available
as a Web download only, now ships with the .NET Framework under the
namespace System.Data.Odbc.
IPv6 support
The .NET Framework version 1.1 supports the emerging update to the Internet
Protocol, commonly referred to as IP version 6, or simply IPv6. This protocol is
designed to significantly increase the address space used to identify
communication endpoints in the Internet to accommodate its ongoing growth.
IPv6 is supported in the System.Net namespace, ASP.NET, and XML Web
services.
ADO.NET improvements
New features in ADO.NET include support for user-defined types, asynchronous
database operations, XML data types, snapshot isolation, and new attributes that
allow applications to support multiple active result sets with SQL Server 2005.
Updates
Windows Workflow Foundation (WWF)
WWF just a series of steps performed in some order. One might even argue that
every application implements a workflow, since every application executes some
process.
Windows CardSpace
In the majority of cases, a person's digital identity is expressed as a simple
username. Combined with a password, this identity is used to access email
accounts, Internet merchants, and even on-line banks and other financial
institutions. Sometimes, this simple user name and password has limitations and
drawbacks.
CLR
o Improved application startup and working set performance.
o Better layout of .NET Framework native images.
o Opting out of strong-name verification of fully trusted assemblies.
o Better generated code that improves end-to-end application execution time.
o Detecting approaching full garbage collections with Garbage Collection
Notifications.
WPF improvements
Performance improvements have been made to Windows Presentation
Foundation, including a faster startup time and improved performance for Bitmap
effects. Additional functionality for Windows Presentation Foundation includes
better support for line of business applications, native splash screen support,
DirectX pixel shade support, and the new web browser control.
Garbage Collection
The .NET Framework 4 provides background garbage collection. This feature
replaces concurrent garbage collection in previous versions and provides better
performance.
Tuples
The .NET Framework 4 provides the System.Tuple class for creating tuple objects
that contain structured data. It also provides generic tuple classes to support tuples
that have from one to eight components.
Memory-Mapped Files
Parallel computing
The .NET Framework 4.5 provides several new features and improvements for
parallel computing. These include improved performance, increased control,
improved support for asynchronous programming, a new dataflow library, and
improved support for parallel debugging and performance analysis.
Web
ASP.NET 4.5 and 4.5.1 add model binding for Web Forms, Web Socket support,
asynchronous handlers, performance enhancements, and many other features.
ADO.NET
Always Encrypted support for hardware protected keys ADO.NET now supports
storing Always Encrypted column master keys natively in Hardware Security
Modules. With this support, customers can leverage asymmetric keys stored in
HSMs without having to write custom column master key store providers and
registering them in applications.
Networking
The TLS stack, which is used by System.Net.Security.SslStream and up-stack
components such as HTTP, FTP, and SMTP, allows developers to use the default
TLS protocols supported by the operating system. Developers need no longer
hard-code a TLS version.
ASP.NET
According to above .NET Framework structure details, I have selected the .NET
Framework 4.5 to develop the Online Examination management system.
Because, .NET Framework 4.5 improves the many features of the .NET
Framework. .NET Framework 4.5 is the default framework of the new systems and
programs. So, I have to implement this online examination management system as
suitable for any kind of computer system. And also, .NET Framework 4.5 have
introduced the new technologies with this framework update. Because of this
framework version, I can implement this online examination management system
better than others. Finally, this framework version improves the security of the system
and it will be an additional advantage to me. So, I selected this .NET Framework 4.5
for developing my web based application.
2 Task 2
2.1 Provide evidences for the designed system.
2.1.1 User Interface designs
Figure 8 - ER diagram
I have included the few user interfaces and diagrams in above. These diagrams show
the various things about the newly designed system. Actually, with these diagrams,
user and developer can get the idea about the system and these diagrams show how it
works.
Class_User
Attributes
Attribute
Type Description
name
-fname String This variable used to store first name of the user
Class_Student
Attributes
Attribute name Type Description
Methods
Method Name Type Description
+ Course_Drop_Load() DataSet Load course name to drop down
list
+ loadDiscription(course) DataTable Load description according to
course name.
+addStudent(title,fname,lname, void Add student details to the system
nic,dob,address,gender,mobile,
home,email,course)
+searchByFirstname(first_name DataTable Search students according to first
) name
+searchByLastname(last_name) DataTable Search students according to last
+searchByNIC(nic) DataTable Search student according to NIC.
Class Lecturer
Attributes
Attribute name Type Description
-id String Store id.
-title string This variable used to store title
-fname string This variable used to store first name
-lname string This variable used to store last name
-nic string This variable used to store NIC no
-dob string This variable used to store date of birth
-address string This variable used to store address
-gender string This variable used to store gender
-mobile string This variable used to store mobile
-home string This variable used to store home no
-email string This variable used to store email address
Methods
Method Name Type Description
+addLecturer(title,fname,lname, void Add lecturer details to the system
nic,dob,address,gender,mobile,
home,email)
+searchByFirstname(first_name) DataTable Search lecturer according to first
nam
+searchByLastname(last_name) DataTable Search lecturer according to last
name
+searchByNIC(nic) DataTable Search lecturer according to NIC.
+updateLecturer (id, void Update lecturer details
title,fname,lname,nic,dob,
address,gender,mobile,home,)
Class Exam
Attributes
Attribute name Type Description
-nic string This variable used to store nic
-course string This variable used to store course
-sunject string This variable used to store subject
-question System.web.UI. This variable used to store questions
WebControls
-answer_list System.web.UI. This variable used to store answer
WebControls
-correct_answer System.web.UI. This variable used to store correct answer
WebControls
-index string This variable used to store index
-first_name string This variable used to store first name
-sub string This variable used to store subject
Methods
Method Name Type Description
+course_Drop_Load() DataTable Load course details to the drop-
down list
+LoadSubject(course) DataTable Load subject details to the
drop-down list
+attempyCount(subject,nic) Int Count attempts of each student
+loadQuestion(subject) DataTable Load questions to the session
variables.
+addQuestion(question,answer_list void Load questions to labels and
, index,correct_answer) radio button list.
+marksCount(m) void Count marks
+addQuestionToDB(first_name, void Add marks to the database
sub,nic)
+resultCount(subject,nic) SqlData Load results to the result page
Reader
+loadNIC(user) DataTable Load NIC according to user
Table 8 methods in class exam
Class_Course
Attributes
Attribute name Type Description
-id string This variable used to store id from
database.
-course string This variable used to store course
-description String This variable used to store description from
DB
Table 9 Attributes in the class course
Methods
Method Name Type Description
+addCourse(course,description) void Add course details to the DB
Class_Subject
Attributes
Attribute name Type Description
-id string This variable used to store id from
database.
-subject string This variable used to store subject
Methods
Method Name Type Description
+addSubject(subject, void Add subject details to the DB
course,description)
+searchSubject (subject) DataTable Search sbuject details
+updateSubject (id,subject, course, void Update existing records
description)
+removeSubject (id) void Remove subject details from
DB.
Table 12 Methods in class exam
Class Question
Attributes
Attribute name Type Description
-id string This variable used to store nic
Methods
Method Name Type Description
+Subject_Drop_Load() DataTable Load subject details to the
drop-down list
+addQuestion(subject,question,ans1, void Add question to the
ans2,ans3,ans4,correct_ans) database
+searchQuestion(question) DataTable Search question details
+updateQuestion(id, subject, void Update question
question, ans1,
ans2,ans3,ans4,correct_ans)
+removeQuestion(id) void Remove questions
Table 14 Methods in class question
Table student
Table course
Column Name Data Type Description
id int Store course ID, Primary Key, Not Null,
Identity
cname varchar(50) Store course name, Allow Null
description varchar(MAX) Store description, Allow Null
Table 17 Table course
Table subject
Column Name Data Type Description
id int Store subject ID, Primary Key, Not Null,
Identity
sname varchar(50) Store subject name, Allow Null
Table question
Column Name Data Type Description
id int Store question ID, Primary Key, Not
Null, Identity
question varchar(MAX) Store question, Allow Null
ans1 varchar(MAX) Store answer 1, Allow Null
ans2 varchar(MAX) Store answer 2, Allow Null
ans3 varchar(MAX) Store answer 3, Allow Null
ans4 varchar(MAX) Store answer 4, Allow Null
correct varchar(MAX) Store correct answer, Allow Null
subject varchar(MAX) Store subject name, Allow Null
Table 19 table question
Table user
Column Name Data Type Description
id int Store user ID, Primary Key, Not Null,
Identity
account varchar(MAX) Store account name, Allow Null
username varchar(50) Store username, Allow Null
password varchar(50) Store password, Allow Null
access varchar(50) Store access level, Allow Null
nic varchar(50) Store nic, Allow Null
Table 20 Table user
Table grades
Column Name Data Type Description
id int Store user ID, Primary Key, Not Null,
Identity
fname varchar(50) Store first name, Allow Null
subject varchar(50) Store subject, Allow Null
Table Admin
In this sub task, I have included all the variables and methods in the classes of the
newly created online examination management system with more details. I have
presented these details in tabular format and it will be very clear and understandable
for users. Each table has many details according to classes. Variable table has the
details of all the variables in that particular class. Actually, it has 03 columns called
attribute name, data type and description. Attribute name column includes the variable
name and data type column includes the details about that variable which can holds
that what data and finally, description column includes the additional details about
And also, I have included the database table details to this sub task. Because database
tables are the very important part of any kind of system. Without them, programmer
cannot store data properly and easily. So, I have included them to this task. In this
system, there are 08 tables using to manage data.
So, according to above details, I have selected the web based deployment
environment to implement this online examination management system. Because it is
the best deployment environment for this system.
Control Structures
In programming, we can see the 03 kind of control structures. There are sequential,
selection and iteration. Control structure shows the program flow and without those,
we can`t create software. Any kind of control structure has various notations or
symbols to show program flow. Rectangle, parallelogram, circle, diamond and lines
with arrow heads are the basic symbols of this. In this situation, we use rectangle for
showing some kind of process like equations, function callings. We can use
parallelogram for showing input and output operations. Circles for connecting few
lines and we use diamond for showing decisions. Finally, arrow headed lines show the
program flow between notations.
When the situation arises where you need to choose between more than two
alternatives, we can use an extended form of the selection structure. That is switch
case structure.
SWITCH (expression) {
statements;
break;
statements;
break; }
We can use while loop structure when we want to repeat statements an indefinite
number of times, until condition is true. If the condition false, while loop stops it`s
works and program compiler come to end/close brace of the while loop.
WHILE (condition) {
statements
}
Foreach loop
The foreach loop in C# executes a block of code on each element in an array or a
collection of items. When executing foreach loop it traversing items in a collection or
an array. The foreach loop is useful for traversing each item in an array or a collection
of items and displayed one by one. Foreach loop operates on collections of items, for
instance arrays or other built in list types.
foreach (condition) {
statements;
}
For loop is the last loop in iteration control structure. We can create conditions,
variable declaration and initialization and increment and decrement operations in
parenthesis. In while loop and do-while loop, we can insert condition only. But in for
loop we can insert many. This is the difference between while and for loops.
When we are using try catch block, we can add another part to the block called
finally. ‘finally’ part adds to end of the catch and we can add statement, conditions or
anything like that to this finally block.
try {
} catch(Exception) {
} finally {
}
Throwing an exception
In this situation, I have to use ‘throw’ key word. The C# throw keyword is used to
declare an exception. It gives an information to the programmer that there may occur
an exception so it is better for the programmer to provide the exception handling code
so that normal flow can be maintained. Exception Handling is mainly used to handle
the checked exceptions. If there occurs any unchecked exception such as
NullPointerException, it is programmer’s fault that he is not performing checkup
before the code being used. I didn`t use this one for my program, but we should have
to know about this this one.
And also, Visual studio has a user-friendly working area and because of that
programmer can interact with IDE easily and quickly. In this IDE has many
designing components like text boxes, combo boxes, buttons and so many
others. With these components, designer can design graphical user interfaces
easily. Designer just want to drag and drop the components into work space.
And also, Visual Studio IDE has more other palates like solution explorer, server
explorer, team explorer, error list, Property window, output and many others. These
palates are also very important and it does various tasks and helps designers or
programmers to design or create software.
Solution explorer is the main palette in visual studio. This helps programmer or
designer to find current project forms or resources. Solution explorer shows the all the
images, forms, and configure files in project. We can rename, remove and add new
items to the project using solution explorer. Such as forms, databases, classes and so
many others. Without solution explorer, we can`t handle project folder easily.
Server explorer is another important and very useful palette in visual studio. Server
explorer shows the database details to users. In solution explorer, we can see the
databases, datasets, tables, constraints and others. Without server explorer, we cannot
handle server components properly. We can create tables, databases using server
explorer. With server explorer, users can handle data easily.
Use this window to view and change the design time properties and events of selected
objects that are located in editors and designers. You can also use
the Properties window to edit and view file, project, and solution properties. You can
find Properties Window on the View menu. You can also open it by pressing F4 or by
typing Properties in the Quick Launch window. The Properties window displays
different types of editing fields, depending on the needs of a particular property.
These edit fields include edit boxes, drop down lists, and links to custom editor dialog
boxes.
Testing
Process Description
(Lecturer)
1. Questio 1.1. Update and remove entered question details.
n 1.2. Search question details
Table 24 Lecturer test plan
Testing
Process Description
(Student)
1. Make 1.1. Load questions.
exam 1.2. View questions
2. Results 2.1. Save results.
Table 25 Student test plan
1. Login
Purpose System needs to access multiple users. Without above function, user cannot
access to the system. Therefore, above code lines should be tested.
2. Student
Purpose System needs student details to handle exams. So, admin have to add student
details. Therefore, this function should be tested.
Results Show message including “Record Saved Successfully…!” text.
Show message including “Record saving unsuccessful…!” text.
Table 27 Add student test case
Purpose System needs to update and remove student details. So, admin have to modify
and remove student details. Therefore, these functions should be tested.
Results Show message including “Record Modified Successfully…!” text.
Show message including “Record Removed Successfully…!” text.
Purpose System needs to search student details. Because, without search functions
cannot update or remove. Therefore, these functions should be tested.
Results Load text boxes according to first name, last name or NIC
Table 29 Search student test case
3. Lecturer
Purpose System needs lecturer details to handle questions. So, admin have to add
lecturer details. Therefore, this function should be tested.
Results Show message including “Record Saved Successfully…!” text.
Show message including “Record Saving unsuccessful…!” text.
Table 30 Add lecturer test case
Purpose System needs to update and remove lecturer details. So, admin have to
Purpose System needs to search lecturer details. Because, without search functions
cannot update or remove. Therefore, these functions should be tested.
Results Load text boxes according to first name, last name or NIC
Table 32 Search lecturer test case
4. Course
Purpose System needs course details to handle questions. So, admin have to add
course details. Therefore, this function should be tested.
Results Show message including “Record Saved Successfully…!” text.
Show message including “Record Saving unsuccessful…!” text.
Table 33 Add course test case
// remove course
public static void removeCourse(string id){
DBConnection.getMyConnection();
String query = "DELETE FROM tbl_course WHERE id='" + id + "'";
SqlCommand com = new SqlCommand(query, con);
int result = com.ExecuteNonQuery();
if (result == 1){
MessageBox.Show("Record Removed Successfully...!", "SYSTEM
ALERT", MessageBoxButtons.OK, MessageBoxIcon.Information);}
else{
MessageBox.Show("Record Removing Unsuccessful...!", "SYSTEM
ALERT", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
DBConnection.overConnection();}
Purpose System needs to update and remove course details. So, admin have to modify
and remove course details. Therefore, these functions should be tested.
Purpose System needs to search course details. Because, without search functions
cannot update or remove. Therefore, these functions should be tested.
5. Subject
Purpose System needs subject details to handle questions. So, admin have to add
subject details. Therefore, this function should be tested.
Purpose System needs to search subject details. Because, without search functions
cannot update or remove. Therefore, these functions should be tested.
Results Load text boxes according to subject
Table 38 Search subject test case
6. Question
Purpose System needs question details to handle questions. So, admin have to add
subject details. Therefore, this function should be tested.
Purpose System needs to update and remove question details. So, admin have to
Purpose System needs to search question details. Because, without search functions
cannot update or remove. Therefore, these functions should be tested.
Results Load text boxes according to question
Table 41 Search question test case
7. Access Management
Test Case ID Test data
Case 7.1 // add user function
public static void addUsers(string fname,string nic,string
user,string password,string constant){
try{DBConnection.getMyConnection();
String query = "INSERT INTO [tbl_user]
(account,nic,username,password,access) VALUES('" + fname + "','" + nic +
"','" + user + "','" + password + "','" + constant + "')";
SqlCommand com = new SqlCommand(query, DBConnection.con);
int result = com.ExecuteNonQuery();
if (result == 1){
MessageBox.Show("Account Created Successfully...!",
"SYSTEM ALERT", MessageBoxButtons.OK, MessageBoxIcon.Information);}
Purpose Student and lecturer need to access to the system. So, access to the system
they need user accounts. Admin can create accounts for them through this
function. Therefore, this function should be tested.
Results Show message including “Account Created Successfully…!” text.
Show message including “Account Creating unsuccessful…!” text.
Table 42 Add user test case
Purpose System needs to update and remove user account. So, admin have to modify
and remove accounts. Therefore, these functions should be tested.
Results Show message including “Account Modified Successfully…!” text.
Show message including “Account Removed Successfully…!” text.
Show message including “Account Removing Unsuccessful…!” text.
Table 43 Update and Remove accounts test case
Purpose System needs to search accounts. Because, without search functions cannot
update or remove. Therefore, these functions should be tested.
Results Load text boxes according to NIC
Table 44 Search accounts test case
1.Question
Purpose System needs to update and remove question details. So, admin have to
modify and remove question details. Therefore, these functions should be
tested.
Results Show message including “Record Modified Successfully…!” text.
Show message including “Record Removed Successfully…!” text.
Show message including “Record Removing Unsuccessful…!” text.
Table 45 Update and Remove question test case
Purpose System needs to search question details. Because, without search functions
cannot update or remove. Therefore, these functions should be tested.
Results Load text boxes according to question
Table 46 Search question test case
1.New Exam
Purpose System needs to load 15 questions for the exam. So, it should be random
records. Without this function, system cannot load questions. Therefore, this
should be checked.
Results Parsing the questions to the each page.
Table 47 Load questions to sessions test case
2.Results
Purpose System needs to add student grades after the exam finished.
Results Save data in the Database.
Table 49 Add grades to database test case
Discrepancies
I was trying to load all the questions to the one page. But as the instructions of the
lecturer, I have to change my mind and add the one question per page. So, I have to
use sessions to fulfill this requirement and it took some time to implement this
session. After that I have to find retrieving methods and I have found it.
And also, I have to find the solution for the result counting, because, we can get
results easily, if the questions and answers are in same page. But in this situation, I
have to find the solution for this matter. As the solution, I have created the result
count method and this method gets 02 parameters called correct answer and selected
answer. After parsing those parameters, result count method counts the results.
When we using questionnaire, tester can identify that what should be tested and
software`s functionality. Therefore, tester can evaluate the software easily. After
the testing process, tester can fill the questionnaire and handover it to the
programmer. Then programmer check again the software and he can fix the
Future Improvements
Currently, user cannot get backups through this system because I didn`t provide that
facility. But, they need this function because, these details are the most important
thing in the whole system and it should be accurate. Sometimes, system data can be
corrupted due to wrong operation or external factor. At that time, they can save their
stored details if they can get a backup from system. Therefore, I will give the solution
for this matter in future.
XYZ INSTITUTE
Online Examination Management
System
User Document
Table of Contents
1. Introduction
2. Installing the Software
2.1. Hardware and
software requirements
2.2. Initial
Installation
3. User Interface Guide
XYZ institute is the leading institute among other institutions. But XYZ institute
currently use paper based manual system to exams and to perform other day to
day activities. Paper based system has many limitations and problems. Institute
staff has to face all of this problem. So, they decided to change this manual, old
system to computer based system. A qualified web based system is always reliable
and error free. So, they don`t want to worry and web based system handle all the
exams and calculations. OEMS helps them to handle all of day to day activities
like student registration for courses, add new question according to subject, exam
limitations and others.
XYZ Institute`s online examination management system can setup easily. Institute
staff can implement the system in few steps. Please follow the install instructions.
Before you install this system to your computer, you must fulfill following
requirements. This will have an impact for software`s performance.
Hardware requirements
Dual Core (1.5Ghz minimum) Processor
1 GB Main Memory (2 GB Recommended)
64 MB Video Memory
80 GB HDD
DVD Rom/Writer
UPS
Software requirements
Windows 7 or Higher
.Net Framework 4.5
Microsoft Visual C++ 2012 Redistributable (x86/ x64)
Proper anti-virus
Google Chrome or Internet Explorer (version 11 or higher)
Login
Student
o Add Student
o Change Student
o View Student
o View Grades
Lecturer
o Add lecturer
o Change Lecturer
o View Lecturer
Course
o Add Course
o Change Course
o View Course
Login
Add Student
Change Student
If admin wants to modify or remove student details, admin needs to select this
interface. Admin can search students by using student`s first name, last name or NIC
no. If admin wants to update, click on ‘Update’ button and if admin wants to remove
current record just click on ‘Remove’ button.
View Student
This interface shows the all student grades of the exams. And also, admin can count
the attempts of each student.
Add Lecturer
Change Lecturer
If admin wants to modify or remove lecturer details, admin needs to select this
interface. Admin can search lecturers by using lecturer`s first name, last name or NIC
no. If admin wants to update, click on ‘Update’ button and if admin wants to remove
current record just click on ‘Remove’ button.
View Lecturer
If admin wants to add a new course, admin needs to select this interface. After
selecting this, admin can add the course details and click on ‘Save’ button. Then
system will store the course details in the database. If admin wants to go back, click
on ‘Cancel’ button.
Change Course
If admin wants to modify or remove course details, admin needs to select this
interface. Admin can search course by using course name. If admin wants to update,
click on ‘Update’ button and if admin wants to remove current record just click on
‘Remove’ button.
View Course
Add Subject
If admin wants to add a new subject, admin needs to select this interface. After
selecting this, admin can add the subject details and click on ‘Save’ button. Then
system will store the subject details in the database. If admin wants to go back, click
on ‘Cancel’ button.
Change Subject
If admin wants to modify or remove subject details, admin needs to select this
interface. Admin can search course by using subject name. If admin wants to update,
click on ‘Update’ button and if admin wants to remove current record just click on
‘Remove’ button.
Add Question
If admin wants to add a new question, admin needs to select this interface. After
selecting this, admin can add the question details and click on ‘Save’ button. Then
system will store the questions in the database. If admin wants to go back, click on
‘Cancel’ button.
View Question
If admin wants to create student accounts, admin needs to select this interface. After
selecting this, admin can add the create student accounts and click on ‘Save’ button.
Then system will store the account details in the database. If admin wants to go back,
click on ‘Cancel’ button.
If admin wants to create lecturer accounts, admin needs to select this interface. After
selecting this, admin can add the create lecturer accounts and click on ‘Save’ button.
Then system will store the account details in the database. If admin wants to go back,
click on ‘Cancel’ button.
Admin can view all the user accounts according to access level through this interface.
Lecturer Dashboard
This interface has 02 choices and lecturer can select one of this 02 choices.
Student Dashboard
When doing an exam, student have to select the subject first, because exams exist
according to subjects. This interface shows the selected course according to logged
student and student need to select the subject and click on ‘New Exam’ button to
begin the exam.
4.3.2 Technical Document
Purpose
This technical document describes all the features and requirements of the newly
created examination management software. I have created this for programmers in
our side. Therefore, this should be very accurate. And also, programmers can get a
complete idea and this guide to build the software solution for XYZ School. Users
also use this document to get and exact idea about system and how to interact with
function in the system.
Introduction
XYZ is the leading IT school. This is the very famous and well qualified school
for higher educations in IT. But XYZ School is using the paper base system to
keep records of the student examination details and lecturer details. This paper
base manual system has many limitations and problems. So, XYZ School
management decided to switch this manual system into automated computer based
system. They hope to solve problems with this automated system. With this newly
OEMS
Manage exam
results
Functional requirements
The Functional Requirements shows the operations and activities that a system
must be able to perform. This is designed to be read by a general audience.
Readers should understand the system, but no particular technical knowledge
should be required to understand the document. I mentioned the functions
available for Administrator, Lecturer and Students in here.
Non-Functional Requirements
Basically, Non-functional requirements describe how the system works,
while functional requirements describe what the system should do.
Usability
Portability
This is windows based system. So, this software works on windows platform
only.
Operability
Users - School authorized staff members, Students.
Required Software – Visual C++ 2010/2013 redistributable.
Security
All the important data adding part done by administrator. Because it prevents
the interference of unauthorized persons.
Only administrator can access to the user access management.
Performance
System functions and database response quickly.
This system available in anytime.
Because of using special techniques greatly decreases the dump file count.
Cultural, Political and Legal requirements
System compiles all the government rules and conditions.
According to the agreement, provided the best solution for XYZ School.
There are no any other religion symbols and others.
Hardware requirements
Software requirements
Windows 7 or Higher
.Net Framework 4.5
Microsoft Visual C++ 2012 Redistributable (x86/ x64)
Proper anti-virus
6 Appendix B
Excellent Average
Poor
7 Reference
Mohan, S. (2016). .NET and its advantages / disadvantages – all you need to
know. [Online] Available at: https://www.weblineindia.com/blog/net-and-its-
advantag es-disadvantages-all-you-need-to-know/. [Accessed on 03 January
2018]
Walden, C. (2017). 17 reasons to use visual studio 2017. [Online] Available at:
https:// blogs. technet. microsoft.com/ uktechnet/ 2017/ 03/ 14/ 17 –reasons -to-
use-visual-studio-2017/. [Accessed on 19 January 2018]