ASP Assingment
ASP Assingment
ASP Assingment
Assessment Title & No’s : Online Examination Management System (OEMS) - (.NET – 16 – 001)
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to
present it as my own without attributing the sources in the correct way. I further understand
what it means to copy another’s work.
1. I know that plagiarism is a punishable offence because it constitutes theft.
2. I understand the plagiarism and copying policy of the Edexcel UK.
3. I know what the consequences will be if I plagiaries or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspect of my program, will be
my own, and where I have made use of another’s work, I will attribute the source in the
correct way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Edexcel UK.
6. I understand that my assignment will not be considered as submitted if this document is
not attached to the attached.
A student should face an exam for each module of the course he enrolls in, where a course is
consisted of multiple modules. Each module exam is consisting of 15 multiple choice
questions; each question has four choices with only one correct answer. Exam questions
should be taken randomly from a pool of questions related to the module. A student has only
three attempts for an exam and he should score more than 50% of the correct answers in each
and every module exam to complete the course successfully. The system should also facilitate
students to view their exam scores and the overall average score.
Admin will manage the OEMS and should have full access to the system where lecturer has a
limited access to the system.
Following are the functionalities that should be performed by the admin users.
1. Login as Admin
2. Manage Lectures
Register new lecturers
Edit exiting lecturer details
View profile of a lectures
View a list of all lecturers
4. Manage Questions
View a list of all questions
Edit and Update Questions
Delete the exiting questions
Filter Questions
5. Manage Courses
Add new courses
Edit / delete existing courses
Add or remove modules to the course
Listing of all courses
Assume that you are hired by the Institute of XYZ as the developer of the OEMS and design
and implement a suitable solution for the above scenario using .Net framework. You are free
to add more functionalities to the system while maintaining the mentioned functionality of
the system.
VB Visual Basic
MS Microsoft
IP Internet Protocol
The success and final outcome of this assignment required a lot of guidance assistance from
many people and I extremely fortunate to have got this all along the completion of my
assignment work. Whatever I have done is only due to such guidance and assistance and I
would not forget to thank them. I respect and thank Mr. Suhendra Jayewardene for giving an
opportunity to do this assignment. I extremely grateful to both of you for providing such a
nice support and guidance.
Finally, I would like to thank my parents and my friends who gave me a support to make this
assignment successfully…!
Abbreviations...........................................................................................................................vii
List of Tables..............................................................................................................................x
List of Figures..........................................................................................................................xii
1.2. Critically compare different types of .NET framework architectures versions and select
the best suitable version to implement the Examination Management System...................11
1.3. Identify the supportive components of .NET framework and critically evaluate the
identified components..........................................................................................................27
2.2. Explain the components and data and file structures required to implement a given
design....................................................................................................................................40
2.3. The system can be implemented to be deployed in many environments such as mobile,
handheld, web based, desktop, dedicated device, client server etc. Evaluate potential
environments and interaction of the designed system..........................................................52
3.2. Identify and implement opportunities for error handling and reporting to minimize the
errors that might occur. Provide evidences of the implemented techniques used to handle
the errors...............................................................................................................................64
4.1. Critically review and test the implemented system and provide the identified
discrepancies, if any, of the application through an analysis of actual test results against
expected................................................................................................................................75
4.2. Evaluate independent feedback of the users to identify the limitations of the
implemented system and make recommendations for further improvements to overcome
the limitations identified.......................................................................................................92
4.3. Prepare a user documentation to properly guide the users of the implemented system
and the technical documentation for the support and maintenance of the system...............97
User Document.................................................................................................................97
Technical Document.......................................................................................................115
Conclusion..............................................................................................................................125
Appendix A............................................................................................................................127
Appendix B............................................................................................................................128
Appendix C............................................................................................................................129
Reference................................................................................................................................130
Interoperability
The word ‘Interoperability’ really refers to the ability of diverse systems and organizations to
work together. This term is often used in technical systems engineering cases also. 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
.net is tiered, modular, and hierarchal. Each tier of the .net framework is a layer of
abstraction. .net languages are the top tier and the most abstracted level. The common
language runtime is the bottom tier, the least abstracted, and closest to the native
environment. This is important since the common language runtime works closely with the
operating environment to manage .net applications. The .net Framework is partitioned into
modules, each with its own distinct responsibility. Finally, since higher tiers request services
only from the lower tiers, .net is hierarchal.
Common Language Specification is a set of basic language features that .net languages
needed to develop Applications and Services, which are compatible with the .net framework.
When there is a situation to communicate objects written in different .net complaint
languages, those objects must expose the features that are common to all the languages. CLS
ensures complete interoperability among applications, regardless of the language used to
create the application.
Common type system describes a set of types that can be used in different .net languages in
common. That is, the CTS ensure that objects written in different .net languages can interact
with each other. For communicating between programs written in any .net complaint
language, the types have to be compatible on the basic level. These types can be value types
or reference types. The value types are passed by values and stored in the stack. The
reference types are passed by references and stored in the heap. Common type system
provides base set of data types which is responsible for cross language integration. The
common language runtime can load and execute the source code written in any .net language,
only if the type is described in the common type system. Most of the members defined by
types in the .net framework class library are common language specification compliant types.
ADO.NET
ADO.NET consist of a set of objects that expose data access services to the .net environment.
It is a data access technology from Microsoft .net framework, which provides communication
between relational and non-relational systems through a common set of components.
System.Data namespace is the core of ADO.NET and it contains classes used by all data
providers. ADO.NET is designed to be easy to use, and visual studio provides several
wizards and other features that you can use to generate ADO.NET data access code.
Microsoft .net remoting provides a framework that allows objects to interact with one another
across application domains. The framework provides a number of services, including
activation and lifetime support, as well as communication channels responsible for
transporting messages to and from remote applications. Formatters are used for encoding and
decoding the messages before they are transported by the channel. Applications can use
binary encoding where performance is critical, or XML encoding where interoperability with
other remoting frameworks is essential. All XML encoding uses the SOAP protocol in
transporting messages from one application domain to the other. Remoting was designed with
security in mind, and a number of hooks are provided that allow channel sinks to gain access
to the messages and serialized stream before the stream is transported over the channel.
Language Independence
Language interoperability is the ability of code to interact with code that is written by using a
different programming language. Language interoperability can help maximize code reuse
and improve the efficiency of the development process. Because developers use a wide
variety of tools and technologies, each of which might support different features and types, it
has historically been difficult to ensure language interoperability. However, language
compilers and tools that target the common language runtime benefit from the runtime's built-
in support for language interoperability. The common language runtime provides the
necessary foundation for language interoperability by specifying and enforcing a common
type system and by providing metadata. Because all languages targeting the runtime follow
the common type system rules for defining and using types, the usage of types is consistent
across languages. Metadata enables language interoperability by defining a uniform
mechanism for storing and retrieving information about types. Compilers store type
information as metadata, and the common language runtime uses this information to provide
services during execution; the runtime can manage the execution of multi-language
applications because all type information is stored and retrieved in the same way, regardless
of the language the code was written in.
The .net framework class library provides the core functionality of .net framework
architecture. The .net framework class library includes a huge collection of reusable classes,
interfaces, and value types that expedite and optimize the development process and provide
access to system functionality. The .net framework class library organized in a hierarchical
tree structure and it is divided into namespaces. Namespaces is a logical grouping of types for
Security
Security is the main and very important thing of everything. So, .net framework also provide
several security protocols to protect data and resources form threats. There are a few parts to
introduce, when we are talking about security of the .net framework. Following shows the
parts of security.
Most Web sites need to selectively restrict access to some portions of the site. You can think
of a Web site as somewhat analogous to an art gallery. The gallery is open for the public to
come in and browse, but there are certain parts of the facility, such as the business offices,
that are accessible only to people with certain credentials, such as employees. When a Web
site stores its customers' credit card information in a database, for example, access to the
database must be restricted. ASP.NET security features help you address this and many other
security issues.
To help protect computer systems from malicious mobile code, to allow code from unknown
origins to run with protection, and to help prevent trusted code from intentionally or
accidentally compromising security, the .net framework provides a security mechanism called
code access security. Code access security allows code to be trusted to varying degrees
depending on where the code originates and on other aspects of the code's identity. Code
access security also enforces the varying levels of trust on code, which minimizes the amount
of code that must be fully trusted in order to run. Using code access security can reduce the
likelihood that your code can be misused by malicious or error-filled code. It can reduce your
liability because you can specify the set of operations your code should be allowed to
Cryptographic Services
The classes in the .NET Framework cryptography namespace manage many details of
cryptography for you. Some are wrappers for the unmanaged Microsoft CryptoAPI, while
others are purely managed implementations. You do not need to be an expert in cryptography
to use these classes. When you create a new instance of one of the encryption algorithm
classes, keys are auto generated for ease of use, and default properties are as safe and secure
as possible.
The Microsoft .NET Framework offers code access security and role-based security to help
address security concerns about mobile code and to provide support that enables components
to determine what users are authorized to do. These security mechanisms use a simple,
consistent model so that developers familiar with code access security can easily use role-
based security, and vice versa. Both code access security and role-based security are
implemented using a common infrastructure supplied by the common language runtime.
Because they use the same model and infrastructure, code access security and role-based
security share several underlying concepts, which are described in this section. Make sure
that you are familiar with these concepts before reading the documentation for .NET
Framework code access security and role-based security.
Business applications often provide access to data or resources based on credentials supplied
by the user. Typically, such applications check the role of a user and provide access to
resources based on that role. The common language runtime provides support for role based
authorization based on a Windows account or a custom identity. Before reading this section,
make sure you understand the material presented in Key Security Concepts.
The .NET Framework provides a code access security model that allows administrators to
modify security policy to meet their individual needs. While code access security generally
increases the reliability and security of applications, improperly administering code access
security policy can potentially create security weaknesses. This section explains basic
administration concepts and describes some of the best practices to use when administering
code access security policy.
Security policy is the configurable set of rules that the common language runtime follows
when determining the permissions to grant to code. The runtime examines identifiable
characteristics of the code, such as the Web site or zone where the code originates, to
determine the access that code can have to resources. During execution, the runtime ensures
that code accesses only the resources that it has been granted permission to access. Security
policy defines several code groups and associates each of them with a set of permissions.
Code groups categorize code by characteristics such as its publisher, digital signature, the
URL from where it originates, and so on. After all evidence is considered, code is placed into
code groups and the resulting permission grant is the total set of permissions associated with
every code group that the code obtains membership in. Although the default security policy is
suitable for most situations, administrators can modify or customize security policy to tailor it
to the specific needs of their organizations. The runtime grants permissions to both
assemblies and application domains based on security policy.
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. Portable class
libraries can help you reduce the time and costs of developing and testing code. Use this
project type to write and build portable .NET Framework assemblies, and then reference
those assemblies from apps that target multiple platforms such as Windows and Windows
Phone. Even after you create a Portable Class Library project in Visual Studio and start
developing it, you can change the target platforms. Visual Studio will compile your library
with the new assemblies, which helps you identify the changes you need to make in your
code.
Each version of the .net framework contains the common language runtime, the base class
libraries, and other managed libraries. According to .net framework versions, it has few
upgrades and packages. The first .net framework version is .net framework 1.0 and it
introduced in 2002 by Microsoft. All of the Microsoft products like MS Office, Visual Studio
are based on .net framework. Without .net framework, any products of Microsoft cannot run
properly. Therefore, if we use any Microsoft product, we need to install .net framework
before use that product. Each new version of the .NET Framework retains features from the
previous versions and adds new features. The CLR is identified by its own version number.
The .NET Framework version number is incremented at each release, although the CLR
version is not always incremented. For example, the .NET Framework 4, 4.5, and later
releases include CLR 4, but the .NET Framework 2.0, 3.0, and 3.5 include CLR 2.0.
ASP.NET also a programming language that introduced by the Microsoft. We used ASP.NET
to create and design web sites. ASP.NET is the combination of few programming languages
like HTML, C# and others. HTML used to front end and C# used to create functionalities.
Asp.net used SQL to store data. ASP.NET also needs the .NET framework and its
functionality to run properly. 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.
. NET framework 1.0 introduced in January 2002 by Microsoft Company to giving equality
for all the Microsoft products. There are many namespaces and added types in this version
of .NET framework.
Microsoft.VisualBasic
System.Design
System.Windows.Forms
System.Xml
The .NET Framework version 1.1 extends the .NET Framework version 1.0 with new
features, improvements to existing features, and enhancements to the documentation.
ASP.NET mobile controls extend the .NET framework and visual studio by providing
support for mobile devices such as cell phones and personal data assistants. The .NET
framework version 1.1 release incorporates the mobile controls into the .net framework and
visual studio distributions. ASP.NET Mobile Controls extend ASP.NET server controls such
that they adapt to the mobile device on which the Web application is rendering. Through
browser detection, the mobile controls conform to the capabilities of individual devices
ranging from full-featured PDA browsers to small, 5-line × 20-character cell phone displays.
This adaptive rendering feature handles many of the tedious device-specific rendering
decisions and frees you to focus on your Web application logic.
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. The .NET Framework Data Provider for Oracle now ships
with the .NET Framework under the namespace System.Data.OracleClient.
The .NET Framework version 1.1 supports side-by-side execution. Side-by-side execution is
the ability to store and execute multiple versions of an application or component on the same
computer. This means that you can have multiple versions of the runtime, and multiple
versions of applications and components that use a version of the runtime, on the same
computer at the same time. In addition, subsequent installations of other versions of the .NET
Framework or of a component will not affect the applications already installed.
Security changes
In version 1.0 and 1.1, applications that receive less than full trust from the runtime code
access security system cannot call shared managed libraries unless the library writer
specifically allows them to through the use of
the AllowPartiallyTrustedCallersAttribute attribute. If you plan on using libraries from
partially trusted code, you need to be aware that some libraries will not be available to your
code. In version 1.1, System.Web.dll, System.Web.Mobile.dll, and
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.
The Microsoft .NET Framework version 2.0 extends the .NET Framework version 1.1 with
new features, improvements to existing features, and enhancements to the documentation.
The new generation of 64-bit computers enables the creation of applications that can run
faster and take advantage of more memory than is available to 32-bit applications. New
support for 64-bit applications enables users to build managed code libraries or easily use
unmanaged code libraries on 64-bit computers.
ADO.NET improvements
ASP.NET improvements
The Microsoft .NET Framework 2.0 includes significant enhancements to all areas of
ASP.NET. For Web page development, new controls make it easier to add commonly used
functionality to dynamic Web pages. New data controls make it possible to display and edit
data on an ASP.NET Web page without writing code. An improved code-behind model
makes developing ASP.NET pages easier and more robust. Caching features provide several
new ways to cache pages, including the ability to build cache dependency on tables in a SQL
Server database.
The .NET Framework 3.0 is the next step in this progression. Applications built on this new
version of the Framework can be created with Visual Studio 2005, making it feel familiar to
most Windows developers. But the .NET Framework 3.0 is also an evolution, adding more to
what version 2.0 of the Framework already provides. Scheduled to be released in late 2006,
the .NET Framework 3.0 will be available for Windows Vista, Windows Server 2003, and
Windows XP. Using this update, Microsoft introduced the new components for doing works
easier. Windows Workflow Foundation, Windows Communication Foundation, Windows
CardSpace, Windows Presentation Foundation are the new components of this update.
Updates
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. Yet the
traditional approach to creating an application using C# or Visual Basic or some other
programming language is to make the steps in this process implicit in the code. This certainly
works, but it also embeds the process itself deeply into a program's logic, making that process
more difficult to implement and to change. Using workflow technology to implement process
logic can be an effective way to address this problem. Rather than intertwining the logic in
ordinary code, each step in the process is explicitly defined, then executed by a workflow
engine. The result is a clean implementation of the process itself.
Most applications need to communicate with other applications. How this communication is
done has taken a big step forward in the last few years. After decades of disagreement, all of
the major vendors have agreed to support the same protocols for application communication.
This is exactly what's done by WCF. Rather than requiring developers to use a different
technology with a different application programming interface for each kind of
communication, WCF provides a common approach using a common API. In the .NET
Framework 3.0 environment, most applications that might have used one of the technologies
just listed will instead use WCF for communication.
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. Following shows the major drawbacks of this.
People have a hard time remembering all of the usernames and passwords they've chosen
for different sites. Many people use the same values for different sites, easing the memory
problem but increasing the security risk.
Usernames, passwords, and other personal information can be stolen by phishers. By
sending deceptive emails, phishers entice their victim to log in to a Web site that looks
just like, say, the site of the victim's bank. The site is actually controlled by the phisher,
however, and so once the victim enters his username and password, the phisher can use
this information to masquerade as the user at the real site.
The user interface is an important part of nearly every application. Yet what users expect
from those interfaces has advanced significantly. Traditional menu driven GUIs are still
required, but applications may also need to display video, run animations, use two and three
dimensional graphics, and work with various kinds of documents. And all of this must be
possible whether the application is accessed from a stand-alone desktop client or through a
web browser. A primary goal of WPF is to address this challenge. By offering a consistent
technical supporting for all of these user interface aspects, WPF makes life simpler for
developers. By taking a more modern approach, including support for video, animation, two
and three dimensional graphics, and various kinds of documents, WPF can let users work
with information in new ways. And by providing a common foundation for desktop clients
and browser clients, WPF makes it easier to build applications that address both.
.NET Framework 3.0 is the important update among others. Because, it introduced Ajax
enabled web sites, CLR modifications, networking and other modifications.
ASP.NET
New ASP.NET features include ASP.NET Dynamic Data, which provides a rich scaffolding
framework that allows rapid data driven development without writing code, and an addition
to ASP.NET AJAX that provides support for managing browser history.
CLR
The .NET Framework Client Profile is a subset of the full .NET Framework that targets client
applications. This improves the installation experience on computers that do not already have
the .NET Framework installed.
Networking
Enhancements have been made that affect how integrated Windows authentication is handled
by the HttpWebRequest, HttpListener, SmtpClient, SslStream, NegotiateStream, and related
classes in the System.Net and related namespaces. Support was added for extended protection
to enhance security.
WPF improvements
The .NET Framework Data Provider for SQL Server provides full support for all the new
features of the SQL Server 2008 Database Engine. The ADO.NET Data Platform is a multi-
release strategy to decrease the amount of coding and maintenance required for developers by
enabling them to program against conceptual entity data models. This platform includes the
The .NET Framework 4 is highly compatible with applications that are built with
earlier .NET Framework versions, except for some changes that were made to improve
security, standards compliance, correctness, reliability, and performance. The .NET
Framework 4 is highly compatible with applications that are built with earlier .NET
Framework versions, except for some changes that were made to improve security, standards
compliance, correctness, reliability, and performance.
Earlier versions of the .NET Framework provided no way to determine whether a particular
application domain was affecting other application domains, because the operating system
APIs and tools, such as the Windows Task Manager, were precise only to the process level.
Starting with the .NET Framework 4, you can get processor usage and memory usage
estimates per application domain.
Garbage Collection
The .NET Framework 4 provides background garbage collection. This feature replaces
concurrent garbage collection in previous versions and provides better performance.
The dynamic language runtime is a new runtime environment that adds a set of services for
dynamic languages to the CLR. The DLR makes it easier to develop dynamic languages to
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. To support tuple objects that have nine or more components, there
is a generic tuple class with seven type parameters and an eighth parameter of any tuple type.
Memory-Mapped Files
The .NET Framework now supports memory-mapped files. You can use memory-mapped
files to edit very large files and to create shared memory for interposes communication.
In the .NET Framework 4.5, the Managed Extensibility Framework provides the following
new features,
In the .NET Framework 4.5, new asynchronous features were added to the C# and Visual
Basic languages. These features add a task-based model for performing asynchronous
operations. To use this new model, use the asynchronous methods in the I/O classes.
Tools
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.
Networking
The .NET Framework 4.5 provides a new programming interface for HTTP applications.
Support is also included for a new programming interface for accepting and interacting with a
Web Socket connection by using the existing HttpListener and related classes.
In the .NET Framework 4.5, Windows Presentation Foundation contains changes and
improvements in the following areas,
The new Ribbon control, which enables you to implement a ribbon user interface that
hosts a Quick Access Toolbar, Application Menu, and tabs.
The new INotifyDataErrorInfo interface, which supports synchronous and asynchronous
data validation.
New features for the Virtualizing Panel and Dispatcher classes.
Improved performance when displaying large sets of grouped data, and by accessing
collections on non-UI threads.
In the .NET Framework 4.5, the following features have been added to make it simpler to
write and maintain Windows Communication Foundation applications:
In the .NET Framework 4.5, several new features were added to Windows Workflow
Foundation, including, State machine workflows, which were first introduced as part of
the .NET Framework 4.0.1. This update included several new classes and activities that
enabled developers to create state machine workflows.
Windows 8.x Store apps are designed for specific form factors and leverage the power of the
Windows operating system. A subset of the .NET Framework 4.5 or 4.5.1 is available for
building Windows 8.x Store apps for Windows by using C# or Visual Basic.
The Portable Class Library project in Visual Studio 2012 enables you to write and build
managed assemblies that work on multiple .NET Framework platforms. Using a Portable
Class Library project, you choose the platforms to target. The available types and members in
your project are automatically restricted to the common types and members across these
platforms.
Cryptography
The .NET Framework 4.6 added RSACng support for X509 certificates. The .NET
Framework 4.6.1 adds support for ECDSA X509 certificates. ECDSA offers better
performance and is a more secure cryptography algorithm than RSA, providing an excellent
choice where Transport Layer Security performance and scalability is a concern. The .NET
Framework implementation wraps calls into existing Windows functionality.
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
ASP.NET
Starting with the .NET Framework 4.7, ASP.NET adds a new set of APIs that allow
developers to replace the default ASP.NET implementations for in-memory object caching
and memory monitoring.
Starting with applications that target the .NET Framework 4.7, the .NET Framework features
high DPI and dynamic DPI support for Windows Forms applications. High DPI support
improves the layout and appearance of forms and controls on high DPI monitors. Dynamic
DPI changes the layout and appearance of forms and controls when the user changes the DPI
or display scale factor of a running application.
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.
.NET Framework has few many supportive components to help programmers when coding
and designing. Without these components, .NET Framework cannot provide the best service
to programmers and framework based on this component. Therefore, these components are
very important.
Common Language Specification is a set of basic language features that .net languages
needed to develop Applications and Services, which are compatible with the .net framework.
When there is a situation to communicate objects written in different .net complaint
languages, those objects must expose the features that are common to all the languages. CLS
ensures complete interoperability among applications, regardless of the language used to
create the application.
Common type system describes a set of types that can be used in different .net languages in
common. That is, the CTS ensure that objects written in different .net languages can interact
ADO.NET consist of a set of objects that expose data access services to the .net environment.
It is a data access technology from Microsoft .net framework, which provides communication
between relational and non-relational systems through a common set of components.
System.Data namespace is the core of ADO.NET and it contains classes used by all data
providers. ADO.NET is designed to be easy to use, and visual studio provides several
wizards and other features that you can use to generate ADO.NET data access code.
The .net framework class library provides the core functionality of .net framework
architecture. The .net framework class library includes a huge collection of reusable classes,
interfaces, and value types that expedite and optimize the development process and provide
access to system functionality. The .net framework class library organized in a hierarchical
tree structure and it is divided into namespaces. Namespaces is a logical grouping of types for
the purpose of identification. Framework class library provides the consistent base types that
are used across all .net enabled languages. The classes are accessed by namespaces, which
reside within Assemblies. The System Namespace is the root for types in the .net framework.
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 diagram is the most important diagram in software industry, because class diagram
explains all the methods and variables of the class with their access modifiers. And also, it
shows the relationship between other classes. In this system, I am going to create 07 classes,
Entity Relation diagram relate with database. That means, this diagram shows the database
table details. Using this diagram, we can identify the table names, column names and
relationships between other entities. As the above included entity relation diagram, we can
see the 08 entities with their attributes. For example, I can introduce student entity. It has 12
attributes and specific name called tbl_student.
Activity diagram is another important diagram of the system. This diagram shows main
activities of the system. Actually, this diagram helps users to identify the activities between
system and user. When drawing the activity diagram for this designed system, I have to
create 03 activity diagrams, because this system has 03 users with various access privileges.
So, I had to create 03 diagrams for them. First one for administrator and it has every function
belongs to administrator. Second one for lecturer and last one for student.
Before we create solution for XYZ Institute`s online examination management system, we
should identify the data and file structures. It is very important process of the whole software
creating process. We can introduce this identification process is the approach of the creating
software solution. After this process, we can handle workloads and time frames according to
tasks to do and it helps to create a quality product. So, I have to identify the data and file
structures of the system, before I start creating the application. Following table shows the
data, I have identified.
Class_User
Attributes
Attribute name Type Description
-fname String This variable used to store first name of the user
Methods
Methods
Methods
Class_Course
Attributes
Methods
Methods
Methods
Table lecturer
Table course
Table subject
Table question
Table grades
Table Admin
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. These tables is also like before explained tables, because it has
only 03 columns and those columns are including the database column name, data type and
additional details about the column.
This examination management system is a system that use internet to provide its facilities.
That means, this system requires internet connection to work properly. Actually, even we
cannot access to this system without the internet. In present, the internet is the most common
thing among other services. Because, with technology, we can be able to access to the
internet through many electronic devices. Such as, mobile phones, laptops, most commonly
desktop computers and there are so many other devices. If something on the internet, we can
access to that using above mentioned devices, but there are some issues here and we have to
consider them if we are creating or designing the web site. Actually, this online examination
management system is also a web site that creates for specified target audience. But the
reason is we cannot give access rights to some devices to access to this system, because it can
be a security issue. If we are implementing the system, we need to select the deployment
environment to run the system. There are few deployment environments. Such as, mobile
handheld, web based, desktop dedicated devices and also, client server model. Above
mentioned deployment environments have some advantages and disadvantages. So, I have to
select one deployment environment among those.
First thing is mobile handheld environment and it includes mostly mobiles, tabs, PDAs and
other handheld devices. we cannot give permissions to access through mobiles and other
mobile related devices, because, this is an examination system. This system contains the
questions and answers and other confidential details. So, if we use mobile devices to do an
exam, students can cheat easily, because they can google the questions and find the answers.
So, I am not giving opportunity to cheat. Therefore, I don`t give the permission to access this
site through mobile devices. Because of this matter, I have no idea to select this deployment
environment.
And also, I don`t give permission to access to this web site through personal computers and
personal laptops. Because, this is the same situation to mobile devices. But if this is a web
based application, I need to implement this web based system in an internet to overcome this
matter, because, if we use intranet, intranet means the network within an organization. So, if
user want to access the system, he or she needs to access to the intranet first. Actually, an
application that runs entirely on a web browser is known as a web application. Web
application is platform independent because they require only a web browser. The cross
platform language makes an application look native to the platform or the operation system of
the user. This can run on the browsers directly and hence do not require any installation, and
also, this uses multi-tier architecture which consists of, user client, middle tier, and
application server. A web application is hosted in a browser controlled environment, or it is
often programmed in a language that supports the browser. JavaScript is the most widely
used browser supported language. And also web application is not overloading as the number
of simultaneous user request increases. Following shows the some of the examples of web
applications include, Yahoo mail, Gmail, Web Office, Google Apps, Microsoft Office Live,
WebEx, etc.
An application that runs on the client side and accesses the remote server for information is
called a client/server application. The client server always makes requests to the remote
server to get some information. The user interaction with the server is always through a user
interface or application on the client side. A client server application can be platform specific
as well as cross platform depending on the programming language used. This model uses a
two tier architecture. The client/server application is always installed on the client’s computer
unlike a web application. In client/server applications, the server machine is a host that runs
single or multiple-server programs sharing their resources with clients. A client always
requests from a server information or content without sharing any of its resources. In a
client/server model, the server often gets overloaded as the number of simultaneous client
requests increases. This is the main disadvantage of this deployment environment because, if
the server stuck suddenly, data can be corrupted or erased. And also, whole system stops until
server responses again. This is an examination management system. So, system should have
The term "desktop software" refers to software that runs on a Mac, Windows or Linux
desktop computer that is set up for use in one place such as a desk. This is where the name
originally comes from, back before computers became portable. Laptop computer can also
use desktop software since they run the same operating systems as the less portable desktops.
Desktop application must be installed on your computer. The installation is done from a
software CD, DVD or other media. Desktop software can also be found online and
downloaded as a file that is saved on your computer. This file is then run on the desktop or
laptop computer to install the software. This kind of application runs as stand alone software.
That is, it does not require a web browser or internet connection, although some features in
the software may be limited or unavailable without access to an internet connection. Desktop
software typically does not require any other desktop software to run. As our subject, I have
to implement web based application because, using ASP.NET language, we cannot create
stand alone software. So, this one also not suitable for OEMS.
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.
3.1. Implement the designed system using .Net framework. Provide important code lines
with proper comments and user interfaces filled with sample data.
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.
Selection control structure describes about decisions making. Decision making by a computer
is based on the same two step process. In c#, decisions are made with the if statement, also
known as the selection statement. When processing an if statement, the computer first
evaluates some criterion or condition. If it is met, the specified action is performed.
Here are the code examples for Selection Control Structure.
If the conditional expression is true, the statements between the keywords THEN and ELSE
will be executed. If the conditional expression is false, the statements between the keywords
ELSE and END If will be executed.
IF (condition) {
} ELSE {
SWITCH (expression) {
statements;
break;
statements;
break; }
Iteration control structure is a process which a set of instructions or structures are repeated in
a sequence a specified number of times or until a condition is met. When the first set of
instructions is executed again, it is called an iteration. In this situation, we can introduce this
as looping. In iteration structure, we can see 03 types of loops or iterations. There are while
loop, do-while loop, foreach loop and for loop.
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 (condition) {
statements;
DO {
} WHILE (condition);
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.
Block of codes
Sequence control structure is a control structure like a single line. It is deferent from other
two control structures. In this control structure, we can`t use any iteration or selection. The
sequence structure indicates instructions are to be executed one statement at a time in the
order they occur from top to bottom unless a different control structure dictates otherwise.
A run-time error takes place during the execution of a program, and usually happens because
of adverse system parameters or invalid input data. An example is the lack of
sufficient memory to run an application or a memory conflict with another program.
When we are coding, we have to follow an error handling method to prevent exceptions or
bugs. So, I also use 02 error handling methods when creating this library management system
called try catch block and if exception throwing.
"Try" and "catch" are keywords that represent the handling of exceptions due to data or
coding errors during program execution. A try block is the block of code in which exceptions
occur. A catch block catches and handles try block exceptions. The try/catch statement is
used in many programming languages, including C programming language (C++ and C#),
Java, JavaScript and Structured Query Language (SQL).
Try defines a block of statements that may throw an exception. When a specific type of
exception occurs, a catch block catches the exception. If an exception is not handled by
try/catch blocks, the exception escalates through the call stack until the exception is caught or
an error message is printed by the compiler. A try/catch block also may be nested with one or
try {
} catch (Exception e) {
try {
} catch(Exception) {
} finally {
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.
XYZ is the leading computer school. This is the very famous and well qualified school for
computer related studies. But XYZ School is using the paper base exam system for students.
This paper base manual system has many limitations and problems. So, school management
decided to switch this manual system into automated computer based system. They hope to
solve problems with this automated system. Therefore, they hired me to create a new web
based automated system. I`m using ASP programming language for creating this automated
system. ASP is a popular object oriented programming language in present. This
programming language found and modified with a framework in Microsoft Corporation. With
this programming language, they introduced an integrated development environment called
visual studio to deal with this language. Visual studio is the main IDE for the developing
ASP web based applications.
Visual Studio supports different programming languages and allows the code editor and
debugger to support nearly any programming language, provided a language specific service
exists. Built in languages include C, C++, VB.NET, C#, and F#. Support for other languages
such as Python, Ruby and Node. Among others is available via language services installed
separately. It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Java were
supported in the past.
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.
Solution Explorer
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. Properties shown in gray are read only. In properties
window, alphabetically sorts all design time properties and events for selected objects. To
edit an undimmed property, click in the cell to its right and enter changes. And also, events
are viewed by visual studio using this window.
We can set breakpoints when we want to stop debugger execution, perhaps to see the state of
code variables or to look at the call stack. They are one of the most important debugging
techniques in a developer's toolbox. You set a function breakpoint in source code by clicking
in the left margin of a source code file, or by putting your cursor on a line of code and
pressing F9. The breakpoint appears as a red dot in the left margin, and the line of code is
colored as well and after run this code in the debugger, execution stops whenever the
breakpoint is hit, before the code on that line is executed. The line of source code is colored
Figure 22 Breakpoint
Layout
The majority of Visual Studio dialogs are Utility dialog layout, which are the UN themed
dialogs that follow standard Windows Desktop dialog layout principles. As Visual Studio
moves to refresh its UI, some of the more prominent dialogs have a new design that
establishes them as product defining experiences. These themed dialog layouts have a themed
appearance.
All controls within a utility dialog should start at the top left and flow downward.
Never center controls on a dialog to fill a large area.
Use the environment font for all dialog text. When writing a visual spec, specify the
environment font instead of selecting a particular font and size. See the environment font.
Use consistent control spacing and placement.
Dialogs can become more complex from a larger number of controls, a unique
combination of controls, or both. For those complex situations, allow adequate space
between control groupings to give the user a logical flow to parse.
IntelliSense is a general term for a variety of code editing features including it. There is code
completion, parameter info, quick info, and member lists. IntelliSense features are sometimes
called by other names such as code completion, content assist, and code hinting. VS Code
IntelliSense features are powered by a language service. A language service provides
intelligent code completions based on language semantics and an analysis of your source
code. If a language service knows possible completions, the IntelliSense suggestions will pop
up as you type. If you continue typing characters, the list of members like variables, methods,
etc.
In new versions of visual studio IDE uses the colors to indicate various types of code lines or
separate codes like methods, variables, classes, key words, comments and other types. This
color coding layout is very helpful when programming because programmer can identify
above mentioned code lines easily without mess. Because of these color codes, programmers
can create software or other solutions easier than other IDEs.
4.1. Critically review and test the implemented system and provide the identified
discrepancies, if any, of the application through an analysis of actual test results against
expected.
Testing is the very essential part of the software industry. Because without testing we cannot
identify the errors or something wrong. Testing is executing a system in order to identify any
gaps, errors, or missing requirements in contrary to the actual requirements. Testing process
is very essential part for software solutions because software solution gives the solutions for
any kind of tasks of particular system. Many small code parts include in a whole software.
Sometimes, these code parts not working properly due to hardware or software failures and
other matters. So, I have to test all of those code parts as a good and professional software
developer. If there is some matter in code parts, software and data can be corrupt. So, I create
the test plan to perform testing process for XYZ Institute`s online examination management
system.
1. Login
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
// 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);}
Purpose System needs to search course details. Because, without search functions
cannot update or remove. Therefore, these functions should be tested.
Results Load text boxes according to course
Table 35 Search course test case
5. Subject
6. Question
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
Lecturer Menu
1.Question
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
Student Menu
1.New Exam
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.
This online examination management application is the newly created one. Therefore, this
application wants test and identify the errors to fix them. Without testing the newly created
software solution, we cannot assure that software. It can be included many bugs or irrelevant
thing to client and as a programmer, we should handle all of them. That’s how a qualified and
error free software solution created. In testing phase, programmer wants to get details from
clients because clients should have to give accurate details to the programmers. But
sometimes, this process can be little bit hard due to many reasons like time management
issues, busyness of the clients or responsible persons and others. But this phase is the most
important and very essential one. Hence, I created the questionnaire for gather information
about this software. Because of using this method, I can gather information effectively.
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 identified bugs. This is the usual process of testing. If
we use questionnaire, we can compare the properties of software with those of hardware and
difference in their development, management and control processes understand different
activities and focuses of software development process and its work product at different
steps.
Name/Designation/Department: - ……………………………………………………….....
Future Improvements
XYZ School`s examination management system, the newly created software solution is well
tested and functional software solution. But sometimes, client may hope some other functions
from system. If client ask about these functions, I have to implement them as a modification
of the system. Before modify the system, we have to consider older logics and other facts like
data safety. Because, sometimes, system will crash with modifications. But I must ready to
modify the system, if client asks.
Examination management system provide access privileges within students and lecturers and
administrator also. And also, using this system, administrator can create the user accounts for
students and lecturers to access to the system. After that, students and lecturers can log in to
the system using that created user credentials and these two kinds of users have not a
privilege to modify own access credentials. Administrator can see the all of credentials and
member cannot see the even own credentials. I prevented it for security reasons. But
according to the feedback forms that I included in appendix they want to show password
Mr. Madushan pointed out the very important matter and request the solution for that matter.
The matter is data safety. 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.
In this system, I have hidden some data form users. Some tables don`t view some user
inputted data, because, that data doesn`t want to show to the users in the tables, because, I
have provided the search function for search all the user inputted details. Therefore, I
removed some columns when showing them to the users. But Mr. Madushan wants to show
all the user inputted date in the tables. It is very easy to me to show that data again. So, I will
create a software update for this and with this update, school staff can see all the user inputted
data in the tables.
Ms. Lakshmi requested the notification system. In current system, there is no any notification
system. According to his feedback form, she suggested the 02 methods for notification
system. First one is via email. Email is the speed method for notification and I can distribute
examination marks, received time slots, if the student have through the email. This is the
good technology for notifications. Because, emails are safe and quick. With this function,
students cannot cheat to their parents. Sometimes, student can be forgotten to time slots and
sometimes they can be forgotten the marks of the exam. When I provide this email
notification facility, administrator doesn’t want to worry about that, because, this function
will be fully automated one. The other one is SMS. Short message service is also speed way
to spread notifications. Because, in present we all have a mobile device. It has become a very
common device. So, I decided to add these facility to the library management system for
giving best solution for the OEMS.
Ms. Lakshmi faced the small problem when she is doing parallel run. She entered the
quotation mark and it is unclosed one. When submitting that data system shows the error
message. Actually, sometimes, they want to add single or double quotation signs when data
Mr. Madushan noticed one thing about the system and they did not requested it before. But
now they wanted it to add this system. Mr. Madushan requested the pre-check function when
adding details to the system. Actually, this request is the very suitable one for this system,
because, this system is an examination management system and it should be very accurate.
So, he requested this. After this function added to the system, system can check the similarity
between newly entered details and existing details. Therefore, system allows to prevent the
wrong and existing details insertion. Because of that, system data becomes more reliable and
accurate. This function generates a warning message, if user input same details to the fields
and user can stop the data inputting process after seeing this warning message.
Ms. Lakshmi responsible for exams. So, she has monitored about the exam system and exam
related functions. In the current system, they need to monitor exam time manually. But she
needed the time calculation function for the exams. Actually, this is the most suitable
function for this system, because this is the examination management system. With this
function, they don`t need to monitor exams manually and when the time ends, the exam will
be closed by the system and it is a very accurate and reliable. After closing the exam, system
will show the exam results. So, this function should definitely add to the system.
Finally, I went to school and I met the other staff members for getting their ideas personally.
There is exist above mentioned matters actually and introduced above mentioned solutions
and time frames to them. So, they agreed. Therefore, I will provide version update soon.
User Document
XYZ INSTITUTE
Online Examination Management System
User Document
Table of Contents
1. Introduction………………………………………………….99
2. Installing the Software………………………………………99
2.1. Hardware and software
requirements………………...…99
2.2. Initial Installation....
……………………………………..100
3. User Interface Guide………………………………………...101 - 114
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
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)
Double click on the executable file under install/vcredist_x64.exe and Tick “I agree to the
license, terms and conditions” and then click Install button.
It will take few minutes to install.
Login
Student
o Add Student
o Change Student
Subject
o Add Subject
o Change Subject
o View Subject
Question
o Add Question
o Change Question
o View Question
Access management
o Create Student Account
o Create Lecturer Account
o Change Accounts
o View Accounts
Exam
o New Exam
Login
Admin Dashboard
Add Student
If admin wants to add a new student, admin needs to select this interface. After selecting this,
admin can add the student details and click on ‘Save’ button. Then system will store the
student details in the database. If admin wants to go back, click on ‘Cancel’ button.
Change Student
View Student
View Grades
Add Lecturer
Change Lecturer
View Lecturer
Change Course
View Course
Add Subject
Change Subject
View Subject
Change Question
Lecturer Dashboard
Exam Selection
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 created system, they can do their day to day activities like add
students to the courses, keep student, lecturer, modules and exam details easily.
OEMS
Manage exam
results
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.
Login
This is primary security step in this system and admin should enter valid user name and
password to go through this function. Otherwise admin cannot access to the system.
Add students
Admin can add student details using this function.
Remove student
Admin can remove unwanted student details using this function.
Search student
Admin can search student details according to first name, last name or NIC.
View grades
Admin can view student`s exam grades using this function.
Add lecturer
Admin can add lecturer details using this function.
Search lecturer
Admin can search lecturer details according to first name, last name or NIC.
Add Course
Admin can add course details using this function.
Remove Course
Admin can remove unwanted course details using this function.
Search Course
Admin can search course details according to course name.
Add subject
Admin can add subject details using this function.
Remove subject
Admin can remove unwanted subject details using this function.
Search subject
Admin can search subject details according to subject name.
View subject
View Subject according to course.
Remove question
Admin can remove unwanted question details using this function.
Search question
Admin can search question details.
View question
View questions according to subject.
Remove question
Admin can remove unwanted user accounts using this function.
Search question
Admin can search user details according to NIC.
Log out
Admin can logout from the system.
Login
Lecturer can login to the system by entering accurate username and password.
Remove question
Lecturer can remove unwanted question details using this function.
Search question
Lecturer can search question details.
View question
View questions according to subject.
View grades
Lecturer can view student`s exam grades using this function.
Log out
Lecturer can logout from the system.
Login
Student can login to the system by entering accurate username and password.
Doing an exam
Student can make an exam according to subject using this function.
View grades
Student can view own exam grades using this function.
Non-Functional Requirements
Usability
Users can work with software easily.
User don’t want to add same details over and over again.
User can search relevant details easily.
All the functions are quick and simple.
User can perform many functions in one interface.
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.
Student can log in to the system but they have not access privileges to important tasks.
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 and because of
that system will be fast starting and functioning.
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
Table lecturer
Table course
Table question
Table user
Table grades
XYZ Institute is the leading institute for the IT education. They provide all the IT related
courses to the students with any age limit. Institute has a great exam system to award students
and measure student knowledge limit about the subjects. This exam system is currently paper
based one. So, they have to face many problems with this paper based manual system. To
solve these problems, they have decided to implement the online examination management
system to their institute and it must be very accurate one. So, they hired me to implement the
online examination management system for them. I was used ASP.net web based
programming language to implement this web application. And also, I have to follow the
instructions of the assignment. So, I am going to introduce tasks briefly.
In task 01 I have to identify the main characteristics and principles of the .net framework.
This is the very important part of this assignment, because, this is the approach of the
software developing. If we don`t know about .net framework, how can I use .net framework
to implement the web based application. So first of all I have to learn about .net framework.
And also I have compare the best suitable .net framework version to develop this web based
application. I have chosen the .net framework 4.5 version to develop this web application and
it brings many important updates for the .net framework. Finally, I have to identify the
supportive components of the .net framework. These are helped the .net framework to
working properly and efficiently. So, task 01 is the most theoretical and boring. But it gives
me to many knowledges about the .net framework and I am going to use that knowledge in
my whole future IT life.
IN task 02, I have to design the web based application. For designing, I have to draw the few
diagrams and this diagram help to get an idea about the system. In here I mentioned the class
diagram, ER diagram, activity diagrams and also, user interface designs. All the classes and
it`s variables and methods with their access modifiers are viewed by the class diagram. All
the database tables, column names and their relationships are shown by the ER diagram and
finally all the activities between user and the system are represented by the activity diagram.
In this task I also mentioned the file structures of this designed system. This is very similar to
class diagram and file structures show the variables, methods with their modifiers. Actually, I
have to mention the suitable deployment environment for this web based application.
Because, many web sites can access via mobiles, PDAs, and other hand-held devices. But I
have to prevent accessing from hand held devices. Because this is the examination
In task 03, I have to implement the system with help of designed diagrams and structures. In
here I have provided evidences to implemented system. In programming, as a programmer I
have to use main 03 control structures when implementing the any kind of software. Without
these 03, we cannot create software. Such as selection, repetition and sequence control
structures. If else block, switch case blocks are included in selection control structure. While,
do-while, foreach blocks are included in repetition structure. All of other code lines are
belongs to sequence structure. And also, I have to use error handling techniques to catch and
view the error of the web application. Without error handlers, we cannot use the system
properly, because, some errors are pop up suddenly and when it pops up, the whole system
stuck and we cannot use that software any more. But if we use error handlers, it handles the
errors without impact to the system. Finally, I have to select the suitable integration
development environment to implement the examination management system. So, I have
selected the visual studio IDE, because it has attractive features and tools for easy coding.
Break points, color combination, inteli sense are the fascinating features of this IDE and
that’s why I selected this IDE.
In task 04, I have to do the most important thing of the system called testing. Without testing
we cannot assure that software solution, because, testing part helps the identify discrepancies
and errors of the system. When testing we can identify the properly working areas also. So, as
the assignment, I have to test the developed web based application using proper test plan and
proper test cases. Proper test plan helps the perform proper testing. After my testing, I have to
perform parallel run to test the developed application with the clients. Because, they are the
users of this system and they cannot use this software suddenly. So, I have to testing the
software with them and it will be the practice for them. After that I have to get feedback from
them. With these feedbacks, I can modify the system for even better that this one. Finally, I
have provided the user manual to get an idea about the system. This is the very simple one
and it can understand every one easily. The user manual has interface guide also. I have
provided the user manual for users, and also, I provided the technical documentation for
maintenance. This document has many details about the software but these details are helps
for programmers and other maintenance staff. Because all the details of this document are
technical details. So, users don`t need them.
Name/Designation/Department: - ……………………………………………………….....
Appendix C
Name/Designation/Department: - ……………………………………………………….....
Reference
Dajbych, V. (2013). Overview of the .NET framework. Codeproject. [Online] Available at:
https://www.codeproject.com/Articles/680100/Overview-of-the-NET-Framework . [Accessed on
01 October 2017]
Bhujbal, S. (2012). .Net framework features from .Net 2.0 to .Net 4.5. C# Corner. [Online]
Available at: http://www.c-sharpcorner.com/UploadFile/sujit9923/net-framework-features-fro m-
net-2-0-to-4-5/. [Accessed on 03 October 2017]
Mohan, S. (2016). .NET and its advantages / disadvantages – all you need to know.
Weblineindia. [Online] Available at: https://www.weblineindia.com/blog/net-and-its-advantag
es-disadvantages-all-you-need-to-know/ . [Accessed on 03 October 2017]
Nyamweya, S. (2014). The .NET framework and its characteristics. Hubpages. [Online]
Available at: https://hubpages.com/technology/The-NET-Framework-And-Its-Characteristics .
[Accessed on 04 October 2017]
Walden, C. (2017). 17 reasons to use visual studio 2017. Microsoft TechNec. [Online]
Available at: https:// blogs. technet. microsoft.com/ uktechnet/ 2017/ 03/ 14/ 17 –reasons -to-use-
visual-studio-2017/. [Accessed on 19 October 2017]
Ramoliya, K. (2016). .NET framework evolution. C# Corner. [Online] Available at: http://
www.c-sharpcorner.com/article/net-framework-evolution/. [Accessed on 08 October 2017]
Learnin
Activit
Activity g Feedback
y
Outcome (Pass/ Redo)
No
(LO)
Present and demonstrate the
1 implemented program features to LO 3.1
the audience.
Comments:
1.1 discuss the principles, characteristics and features of programming Task 1.1
using a .NET framework
1.2 critically compare different types of .NET framework architectures Task 1.2
1.3 critically evaluate the components that support the .NET framework Task 1.3
2.2 explain the components and data and file structures required to Task 2.2
implement a given design
3.2 implement event handling using control structures to meet the design Task 3.1
algorithms
3.3 identify and implement opportunities for error handling and reporting Task 3.2
3.4 make effective use of an Integrated Development Environment (IDE) Task 3.3
including code and screen templates
4.2 analyze actual test results against expected results to identify Task 4.1
discrepancies
4.3 evaluate independent feedback on a developed .NET program solution Task 4.2
and make recommendations for improvements
4.4 create user documentation for the developed .NET program solution Task 4.3
4.5 create technical documentation for the support and maintenance of Task 4.3
a .NET program solution.
Grade Descriptor for MERIT Possible Evidence Feedback