Training Management System: Bibash Shah
Training Management System: Bibash Shah
Training Management System: Bibash Shah
Bibash Shah
Instructor(s)
Markku Karhu, Dean
The goal of the project was to develop a tablet application to take attendance of trainees
(employees of AREVA) in the IT security training. The application allows digital registra-
tion of trainees in an easier and safer way. The project was carried out for IT Security
department of AREVA, the nuclear energy production company. They wanted an appli-
cation in a tablet where they can use it instead of pen and paper.
The application was developed in the Android platform as it is an open source and very
powerful operating system. The eclipse IDE was used for writing source codes in the
Java programming language. Extensible Markup Language (XML) was used to define
the basic components and the visual components in Android.
The project was carried out very rapidly keeping in the mind the deadlines and necessi-
ties. Incremental development method was used throughout the project because it is
cyclic rather than unidirectional, offering a greater ability to incorporate changes into
application during the development time. All the processes were completed such as
software specification document, development and testing before the product was re-
leased.
Furthermore, the application was developed, debugged and tested in a real Android
device named Nexus 7.0 first generation tablet. Finally, the application was demon-
strated to the department. Overall, positive feedback was received as a result of evalu-
ation. Future developers can use this project to learn more about building an Android
application.
1 Introduction 1
2 Android Ecosystem 2
3 Application Development 10
4 Software Specification 12
5 Software Development 20
6 Software Validation 23
7 Quality 26
7.1 Learnability 26
7.2 Efficiency of Use 27
7.3 Memorability 28
7.4 Errors 28
7.5 Subjective Satisfaction 29
8 User Guide 29
9 Conclusion 42
References 44
1
1 Introduction
The emergence of smartphone and tablet technologies has made the companies and
their employees easy in their working life. Besides phone calls, smartphones are used
for taking photos, playing music, playing games, web browsing, Wi-Fi, GPS and many
more functions to ease a single person´s life and large businesses and companies.
Through the installation of applications, the use of smart phones and tablets has multi-
plied by thousands and growing each day across the globe.
The use of applications internally in the companies is growing day by day. The applica-
tions can do many things that the website of the company cannot do because of their
portability. The applications can be used for many purposes such as supply chain man-
agement, logistics, purchasing, data management and data storing. Applications in-
stalled in the smartphones and tablets are always accessible to customers even if there
is no Internet connection. Applications are available in customers’ phones like a business
cards in wallet.
AREVA, the nuclear energy production company, where the project was carried out,
needed a tablet application. They wanted an application where they can use the tablet
instead of using a pen and paper to take attendance of the trainees in their trainings. It
was specially made for the IT Security department of the company.
The department has to give many trainings with hundreds of trainees at a time. The
tradition way of taking attendance took much time and there was a risk of a loss of data
while storing it again into the main database of the company. The application allows
digital registration of trainees in an easier and safer way. After a successful registration
of trainees, the database of the application stores all the trainees’ data and later the data
can be passed to the main database of the company using USB cable.
2
The Training Management System is developed only for the company purpose. The tab-
let in which the application is installed is never connected to the Internet for data protec-
tion from cyber-attacks. The application cannot be found in the Google play store. It is
only installed on the company tablets and only for the internal use.
The goal of the project is to design the system architecture, mock ups and implemen-
tation of the application. The application is developed, debugged and tested in the An-
droid platform especially for Nexus 7.0 first generation tablet.
2 Android Ecosystem
There have been hundreds of millions of mobile devices across the globe with increasing
numbers of users continuously since the market was introduced. Figure 1 illustrates the
global smartphone sales to end users from the 1st quarter of 2009 to the 3rd quarter of
2014, by the operating system in million units. [1]
3
Figure 1. Global smartphone sales to end users by operating system (in million units). Reprinted
from Statista [1]
Figure 1, clearly states that the Android OS has become the dominant operating system
on mobile and tablet devices. About four percent of new smartphones that had an An-
droid operating system were introduced to end users across the globe. The operating
system has been increasing rapidly since the time it was introduced. Almost eighty per-
cent of new smartphones were Android operated devices by 2013. [1]
For developers Android provides a world-class platform for creating applications be-
cause it has a powerful development framework that is free and can be developed from
any operating system running on laptops or computers. Android platforms allows end
users to develop, install and use their own applications on top of the Android framework.
The Android framework is licensed under the Apache license, where an Android appli-
cation developers have right to distribute their application under the customized license
[2]. Every application in Android runs in its own isolated environment since each appli-
cation has its own processes, and each process has its own virtual machine [4, 47].
4
Android has been released in many different versions. Table 1 below are all the versions
of Android released up to date.
Figure 1 provides data about the relative number of devices running a given version of
the Android platform.
Android Software stack or Android architecture has a number of layers, and each layer
groups together to form an architecture of Android operating system.
5
In Figure 2, there are four main layers that combine to build an Android architecture.
They are Linux Kernel layer, Native layer that is libraries and Android runtime, Application
Framework layer and Applications at the top of the layer.
At the bottom of the Android stack there is the Linux Kernel. It provides many different
functions in the Android system but never interacts with users and developers. This layer
is useful for hardware abstractions, memory management programs, security settings,
power management software, network stack, Bluetooth driver, camera driver, audio driv-
ers and keypad driver [8, 17]. The versions of Kernel have evolved with the evolution of
Android.
The next layer in the Android architecture is Android’s native libraries. The libraries carry
a set of instructions to guide the device in handling different types of data, for instance,
a set of libraries of the Web browser engine consists of a web kit, well known library libc,
SQLite is a database engine for Android, a library to play and record audio and video,
SSL libraries for internet security and surface manager. [7]
Android runtime lies in the third section of the architecture from top. This section provides
the key components called Dalvik Virtual Machine and core Java libraries. It is intrinsic
6
in the Java language, whose core features are memory management and multi-thread-
ing. Dalvik Virtual Machine enables every Android application to run its own processes
that are in .dex files. [8, 19-20]
The Application Framework serves many higher-level services to applications in the form
of Java classes. The framework comes pre-installed with Android, but can be extended
with its own components as needed. Application developers are allowed to use these
services in their applications. The most important part of the framework are activity man-
ager, content providers, resource manager, location manager and notification manager.
[8, 20-21]
The top most part of the layer is application. Third-party developers can install their ap-
plication on this layer and end users are able to use and see the layer in the form of
widgets and graphical user interface. Android applications can be installed from Google
playstore. All the developers can distribute their applications from the playstore and us-
ers can install and use them from their Android phones and tablets. [7]
As Android is open source, the source code is available for all developers, which is called
the Android SDK (Software Development Kit). It gives the API (Application Programming
Interface) libraries and developer´s tools that are necessary to build, test and debug apps
for Android. [10]
In this project, Eclipse IDE (Integrated Development Environment) was used. Eclipse is
the IDE for writing source codes. In Eclipse IDE there is an ADT plugin, through which a
special SDK can be installed to create projects, launch emulators and to debug. As an
IDE it provides the environment for developing Android applications. SDK holds built
platforms, tools, images and some platform-specific libraries. SDK Manager can install
or delete any version of SDK. [10]
SDK Manager provides the emulator to run, test and debug the developing application.
AVD is a virtual device that manages the emulator. However in the project, a real Android
7
device was used, not an AVD (Android Virtual Device). The real device used was Nexus
7 with a seven-inch display.
There are various personal arguments about rooted and unrooted Android devices. Root-
ing is a process in the Android operating system that allows the user of the Android
device to attain privileged control known as root access. The word “root” describes a
user who has “superuser” rights or permission to access all the files and programs in the
Android operating system, whereas unrooting is the reverse process of rooting. In an
unrooted Android device, a user has very limited permission to replace a system appli-
cation and setting. [11]
In the project, the database file which was created inside the internal storage of the de-
vice should be pulled out from the device to a computer to access the data and save it
in the main database of the company. In the unrooted device the process is not able to
do that process manually. That was why the Google Nexus tablet has to be rooted. After
the device is rooted, the database can be easily pulled out just by using an adb (Android
Device Bridge) shell as a root user.
First, tablet is connected to a computer and enabled the tablet to a USB debugging mode.
After that Nexus Root Toolkit is downloaded and installed in the computer. The process
rooting means unlocking the bootloader. This process will wipe the data from the device.
So Nexus Root Toolkit can do all the backups. The process rooting, can be seen in
Figure 3 below.
8
In Figure 3, “Backup” from the left panel is selected and then the items that are needed
to be backed up are selected. After that, the toolkit is set up by choosing the specific
Nexus device and built as in figure 4 below.
The device needed proper drivers which were installed. For that, “Full Driver Installation
Guide” was selected as shown in Figure 5 below. That gave instructions to install the
drivers.
9
After the installation of all proper drivers, ”Unlock” was selected to make rooting possible
as shown in figure 6 below. This process restarted the tablet and took it to the bootloader
mode.
Finally, the device was ready to be rooted. The “Custom Recovery” option was checked
and “Root” to start the process was clicked as shown in figure 7 below. With the custom
recovery mode there were extra steps to be done on the tablet.
To make sure if the device was rooted, a free “Root Checker” application was down-
loaded from Google play. Then the application was opened, “Verify Root” was selected,
and waited for the results. [12]
10
As mentioned already, the rooting of the device is done to pull the database file from the
device to the workstation to save the data in the main database of the company after
every successful training. The process of pulling database file from rooted device to the
workstations are listed below;
Open cmd.
Go to SDK-path. For example: C:\Users\username\Android SDK
folder\sdk\plat- form-tools\.
Type ‘adb shell’.
Then type ‘su’. This will take the device to the super user mode.
Then change the permissions of folders and files of the database file location
inside the device. Usually, chmod 777 /data/data /data/data/com.applica-
tion.package_name /data/data/com.application.package_name/database_name
Go to the DDMS view in Eclipse and copy the database file to the workstation.
3 Application Development
Before the development of the application was begun, the available sources were the
functionalities and the use of the application. So the Incremental development software
process model was decided to be used because it is based on the development of mul-
tiple versions of the application by getting the user comments in each version and evolv-
ing through several versions until the system meets the requirements of the users. [13,
33]
Figure 8 illustrates the incremental development model that was used in the develop-
mental process of the Training Management System.
11
In figure 8, the concurrent activities are interleaved rather than separated with feedback
across the activities. [13, 33]
The incremental software development process is a quick approach. It is better than the
waterfall model because it is cyclical rather than unidirectional, offering a greater ability
to incorporate changes into the application during the development cycle. Incremental
development reflects the way that the problems are solved. All the problems are com-
pleted in advance but move forward for a solution in steps and sometimes go back to the
previous stage when a mistake has been done or some task is undone. [13, 33]
Each version of the system co-operates with each other to meet the customer needs. In
general, the initial version of the system includes the most important required functional-
ity. At this stage, the customer can evaluate the system to see if the system requires
more functionality to be added or not. If the system does not require more functionality
to be added, then it stays as the current version and goes to the next activity. [13, 33-34]
12
The advantages of using this Incremental development model are the following;
It has three stages of development where the application’s functionality and view
can be changed at any stage.
User feedback is consulted on demonstration of the app.
The developmental process is not mandatory to complete according to the spec-
ification document. [13, 33]
4 Software Specification
Software specification is a document that includes the detailed design of the software for
the work to be undertaken. The document provides a comprehensive architectural over-
view of the system, using a number of different architectural views to represent different
aspects of the system. It has the intention to provide a general description of the system,
the physical architecture of the hardware on which the software will run and the tracea-
bility between the architecture and the system requirements [14, 562]. Also it is the initial
version of the application.
The functional requirements describe what the Training Management application system
should do. The functional requirements of the application are as follows;
The user should see a list view of trainings with its descriptions like starting date
and time, ending date and time, title of the training, description of the training and
the trainer’s name.
The user should be able to start training only before 15 minutes of the starting
time of training on the specific date.
During training session, users should be able to fill in the form and register them-
selves in the training.
13
During training session, users should be able to edit their information and un-
register themselves from training. When the training is over, editing and deleting
the user information will not be activated.
The training will be over after 30 minutes of the ending time of training.
The user will be able to see the number of registered trainees of the specific
training.
The user will be able to change the language from anywhere throughout the ap-
plication.
The software requirements that were used for the development of the Training Manage-
ment System are as follows;
The hardware requirements that were used for the development of the application are
as follows;
The system of Training Management application runs on the Android platform which is
present in the android device.
15
Figure 9 illustrates the system architecture of the application. The input of this appli-
cation is via a touch event of the user. There are three screens to capture user interaction
with the application. Among them “List of trainings” is the main screen that has the array
list of training with all the information. The screen “Add New” is the second screen for
the user of the application who will fill the form. Based on the touch event of the specific
widget, an appropriate action tasks place in the background and the expected response
is displayed back to the user.
The application stores and retrieves tasks created by the user from the local Android
SQLite database. This is a database interaction module that will perform different data-
base operations on a local device database and will also maintain information about
tasks completed by the user. The list of trainings will be fetched from the database where
the data information will be available. The participants list will be created according to
the user input in the empty form that will store all the input data into the database and
will be fetched in the list from the database.
The requirement gathering is followed by system design which is captured by using Uni-
fied Modeling Language (UML) diagrams such as use case diagram and class diagram.
16
The use case diagram plays very important role to capture the dynamic behavior of the
application´s system and to represent the user´s interaction with the system. [15, 48]
Figure 10 overviews the usage requirements for the system. Use cases are actions that
are drawn in a horizontal ellipse. The actions of this application are related to the specific
actor by solid lines according to their use case [15, 48]. The actors are the trainer and
the trainees. In a specific document, the use cases are few, but in the final version of the
application there were more features and functionality added that will be described later
in the document in the section 6.3.
The class diagram constructs the executable code of the software application and de-
scribes the attributes and operations of a class and also the constraints imposed on the
system. [16]
17
Figure 11 illustrates the class diagram of the Training Management Application. There
are three main classes: portfolio, training and person. Trainee and trainer are two sub
classes of the person class. The portfolio class is basically the main view of the applica-
tion that retrieves the array list of the training from database. The training class has all
the information about the training like training’s title, description, starting and ending time
of training, date, location, and a list of trainer and trainees. The person class has all the
information about the user like first name, last name, job title, employer, department and
badge number. The trainer class is for the users who gives training to trainees. The
trainee class is for the user who receives training from trainer in specific training.
In the application there is one database with three tables which are related with each
other. The first table is training and it stores all the training information. The id is the pri-
mary key of the table which is auto-increment. In the table there is one foreign key
trainer_id that is the id of a trainer which relates to the attendance table to specify the
trainer of the specific training. The second table is a person table which stores all the
18
information of a trainer and trainee. The third table is the attendance table which has two
foreign keys training_id and person_id. These two columns store the id of training and
person to specify the specific person who has attended the specific training.
Figure 12 illustrates the database model of the Training Management Application. The
database model was created in the specification document but later some columns were
changed and added to add more features to the application, which will be mentioned
later in the document in the section 6.3.
19
Before the start of the development process activity, the user interface of the application
was designed using Microsoft Visio. Figure 13 below shows the overall graphical design
of the application that was created during the specification document.
Figure 13 also illustrates the initial version of the application. The main screen or portfolio
is the first view of the application. It has the list of trainings with all the information that is
retrieved from the local database. The list view contains all the information about train-
ings such as starting date and time, title and description and trainer´s name. The list will
be activated to perform another activity at the exact starting date and time only.
20
The second screen is the view with the empty list, which is shown to the first trainee only.
The screen has a back button to go to the portfolio and the view for the number of added
participants is the training. When the trainee clicks add a new participant button, the
application takes the user to the next activity.
The empty form in the above diagram is filled by each trainee in the training. After the
form is submitted, the information will be saved in the database and the full name of the
participants will be seen in the list view of the previous activity with the increasing number
of lists.
5 Software Development
Software development is the next process after the software specification document is
created with all the required UML diagrams. This activity is the process of writing and
maintaining the source code. The application was developed using the MVC design pat-
tern. The MVC improves development by breaking the application into distinct compo-
nents: the model, the view and the controller. The model represents an object carrying
data which has logic to update the controller if the data changes. The view is the collec-
tion of classes for the visualization of the data that contains the model. The controller
represents the classes connecting the model and the view and controls the user with the
view into actions that the model will perform. Using MVC, the business logic can be re-
used in some other projects as well, and thus developers’ time is saved when rewriting
the same code. The code will also be much easier to read and understand. The different
parts of the applications can also be maintained and tested independently. [17, 604]
Figure 14 illustrates the basic interactions of the model, view and controller.
In figure 14, when the user requests the application for view by touching the screen, the
request directs the appropriate controllers through the routing system. Any values or
parameters sent by the users are sent along with the request to the controller. The con-
troller then uses the appropriate model with any values provided by the user if applicable.
The model will connect to the database with the stored credential on the local database
if necessary. When the model connects to the database, the necessary MySQL com-
mands will be executed and the values from the database will be passed to the model.
The model then sends all the data to the controller which then displays the appropriate
view page along with the output data. The controller might also use the helper class to
display the view directly if no processes need to be done.
Along with the MVC pattern, the application was created using the Singleton class pat-
tern. The Singleton class is useful when exactly one object is needed to coordinate ac-
tions across the system [18, 63]. In the Training Management Application, the Singleton
class helped to manage the training session, trainee session and actions of trainee (add,
edit and delete) in the application life cycle. It is the best way to pass data of the object
from one class to another class.
As the incremental software development process was used for developing the applica-
tion, there was the involvement of refining the software specification which was the initial
version. Then the development at this stage of the process was declared as intermediate
versions as you can see in figure 8. During the stage, the user feedback was pointed out
and then some of the functionalities of the application were added or changed.
More functionalities and features were added to the intermediate version of the Training
Management System. A search engine is one of the features of the application that was
added to make it fast and easy for trainees to register themselves into the training. If a
trainee has already registered into some training before, or if he/she is in the database
of the application, the trainee will not have to fill in all the fields of the registration form.
Instead, the trainee just types his/her name and the suggestions are shown in the drop
down view. When the trainee clicks to the drop down view of his/her information, all the
fields are automatically filled with all his/her data that are stored in the database and
he/she can register easily into the training. Just like the last name field, the application
22
has a search engine in the employer field because the users are commonly from a few
different employers. This makes it fast for the user to fill in the form. In figure 21, a drop
down view in the “Last name” can be seen.
Another functionality that was added to the intermediate version of the app was the
user´s input validation while filling in the form. The user fills in the form and presses the
submit button to register into the training. Before registering the user to the training, the
system will check the each field´s input. For example, in the email field the user input
should be the formatted email input like [email protected]. In the last
name and first name fields the system shows an error if the user has input some num-
bers. Only the badge number and department fields can be left empty. Rather than these
two fields, if other fields are left empty, the system will not register the user to training.
Instead, it will give the error message, so that the user can easily figure out his/her mis-
take while registering into training.
Trainee actions include editing the trainee’s information after he/she has registered in
the training and unregistering trainee from the training. On long press to the trainee’s
name that is in the list view of the attendance list, he/she can edit or unregister from the
training as in figure18. This feature was implemented because any trainee could make
mistakes during the registering process.
In the initial version of the application it was mentioned that all the fields in the registration
form are mandatory to register a trainee in the training. But in this version the badge
number and department fields were not made mandatory to be filled.
As one can see in figure 12, there is no starting time and ending time of the training. In
the intermediate version of the application, two columns were added to the training table
that were the starting time and ending time of the training. After adding these two col-
umns, the time duration of training was implemented. This functionality in the application
was added to manage the time duration for trainees to register, unregister and edit their
information only during the training session. After the training session is over, all the
features that can be used by trainees are disabled.
23
6 Software Validation
This is the final activity of the incremental process of the software development. In this
phase, the software was confirmed as a final version and was ready to be used after all
the development testing, system testing and acceptance testing. The principle validation
technique was the program testing where the system was executed using similar test
data. Validation process was also carried out by checking the processes, such as inspec-
tions and reviews, at each stage of the software process from user requirements defini-
tion to program development.
Basically, component defects were discovered early in the process and interface prob-
lems were found when the system was integrated. However, as the defects were discov-
ered, the program was debugged and required other stages in the testing process to be
repeated. Other errors in the program components appeared during system testing.
Therefore the testing processes are described separately below. [13, 41]
The components that make up the system were tested during the development process.
Each component was tested independently without other system components. The com-
ponents that were tested were functions, objects, methods or coherent grouping of these
entities. These components were rerun in Eclipse (development tool) to test until the new
version of the components that were commonly used was created. [13, 41-42]
24
This process of testing was to find errors that resulted as unexpected interactions be-
tween the components that were integrated to create a complete system and component
inter- face problems. In this process the whole application colour was changed from the
user specification documents. The process was also carried to figure out the system´s
functional and non-functional requirements errors. It was carried out multiple times be-
cause the components were individually tested before these sub-systems were them-
selves integrated to form the final system. [13, 42]
This is the final stage in the testing process before the system is accepted for operational
use. The system was tested with the simulated data to figure out if the system is working
according to the users´ requirements. [13, 42]
As the incremental process was approached to develop, each increment was tested as
it was developed for. To proceed to the next increment, all the testing processes that
were de- scribed above were accepted. After the increment was developed, tested and
accepted the final system was validated and ready for use. Figure 15 below illustrates
the final version of the application.
25
Figure 15 is the final version of the application. After the successful activities, during the
developmental processes the application was finally declared as the final version. In the
final version of the application, there are three main screens. The first screen is the list
of trainings. The list provides a full description of the training like title, description, loca-
tion, date and starting time and the trainer´s name. There is one icon on the right side of
the list. If the icon is an open pad lock that means the training has already finished or
ready to start. If the icon is the close pad lock that means the training is not yet ready to
start. On a click to the open pad, the application takes the user to the next screen. On a
click to the close pad the application stays to the first screen.
The second screen of the application has training information at the top, one button, the
list view of trainees and the number of registered trainees at the bottom. Each list shows
the registered trainees with their full names and email addresses.
The third or last screen has empty fields that need to be filled by trainees. When users
fill in information on all the fields and press the submit button then they will be registered
into the training. If a user has already attended some training before, the application will
allow the user to register very fast. After the user types few letters in the “Last name”
field, the field will suggest the user the full name and email information. If the information
26
matches with the user, he/she can click to the suggestion that allows him/her to auto-fill
all the fields with information.
7 Quality
The quality of the Training Management System was measured on the basis of usability
engineering. Usability engineering is done by testing the application with real users.
Here, the real users are trainees and trainers. In fact, the test was done by the test users
as trainees and real users as trainers. The application was not taken to the real working
environment with the real users. After the application was finally released, it was given
to trainers to use it and the comments were taken down. Then the employees of the IT
Security department along with the manager used the application and the comments
were evaluated.
Usability can be defined as a user-friendly system or software. But the term may not be
really appropriate because the users do not need that kind of. Instead, they need soft-
ware that will not stand on the way of their work. [17, 23]. In the training management
application trainees use the application to register themselves in the trainings. So while
using the application, they must not be disturbed. The application should be easy to learn
for new users. It should be efficient to use and easy to remember all the user interactions
and interfaces of the application. The application should not contain errors. Usability has
multiple components and associated with these five usability attributes.
7.1 Learnability
Learnability is one of the most fundamental usability attributes, since the system needs
to be easy to learn in the first use. There are also that kind of systems in which one can
afford to train users to overcome a hard-to-learn interface. But in most cases, the system
needs to be easy to learn. Learnability can be evaluated by a new user, who has never
used the specific application before. Then measure the time it takes him/her to reach a
specific level of proficiency in using it. The factor in the learning level between two differ-
ent users could be experiences of using a table. But, since many people have been using
27
tablets in their daily lives, the time taken to learn a system may not vary much. [19, 27-
30]
Efficiency refers to the expert user´s steady-state level performance at the time when
he/she knows the normal purpose of the system. Rather than the basic purpose, the
system might have other functionalities also. Users may not necessarily reach that final
level of performance any time soon. This steady-level performance may not be favoura-
ble for users who start to learn few additional features by themselves. Instead it can save
more with the assistance of more experienced users. [19, 30-31]
In the case of Training Management application, the efficiency of the use of the user´s
level of performance was slow. In the application, rather than registering him/her into
training, the user has a selection between many other functionalities like editing the reg-
istered user´s information, unregistering user from training and change of language of
the application. Even for a user, who had already used the basic functionalities of the
application took more time to figure out other functionalities. In this case, an experienced
user had to guide to teach how to use the application and save the time in using the
application.
28
7.3 Memorability
The attribute memorability refers to casual users, who have used the software already
for a couple of times. Novice users and expert users are different in this case. Novice
users refer to the new users of the software while expert users are experienced ones.
When casual users are back after a long time and have to use the software again, they
do not have to learn it from scratch, but they just need to remember how to use it based
on their previous learning. The one factor that can make casual users to use the appli-
cation easily without taking a long time is having the interface of the software that is easy
to remember. The interface is also remembered in the learnability phase but in principle,
the usability of returning to the software is different from that of facing it for the first time.
[19, 31-32]
For the training management application, the test was not successfully done. But in the
case of the application, the user interfaces were designed to be very simple. No extra
features were added to the system. Only the important features with the simple three
different screens are there so casual users can easily remember to use of the application
without taking extra time.
7.4 Errors
An error is defined as any action that does not contain the desired goal, and the system´s
error rate is measured by counting the number of such actions made by users while
performing some specified task. Users should not be allowed to make many errors while
using a computer system. That is why error rates should be measured as other usability
attributes. When users make an error while using the software, they might correct it im-
mediately and have no other effects. But it will slow down the users´ transaction rates.
Other errors are catastrophic in nature which means they are not discovered by the user.
It may lead to a faulty work product. After the error, it may be difficult to recover. These
kind of errors are minimized separately. [19, 32-33]
29
Some minor errors were figured out which did not really affect the performance of the
use of the application. Minor errors that users might make were, for examples not enter-
ing their full data while registering to the training. The system of the application does not
allow users do such errors instead the system shows the error information that should
be recovered to complete the task.
Training management application has catastrophic error also. There is very few chance
for them it occur but still this error has not been recovered in the system. The error can
be done while editing the user´s information and unregistering from training. If a user
wants to edit the information or unregister from training, he/she has to long press to
his/her name list to unregister or edit their information as shown in figure 13. In this time
the user has chance of editing or unregistering to the different user by mistake. For this
error the solution was not discovered at that time so it is still in the system.
Subjective satisfaction refers to how pleased users are using the system. Rather than a
working application, users want the application to be fun to use. Subject satisfaction was
measured by simply asking multiple users about their subjective opinions and then con-
cluded the result of the quality of the application. Then the result was measured as the
system´s quality. Subjective satisfaction can be measured by a short questionnaire that
is given to the test user [19, 32-37]. But in case of the Training Management System, a
questionnaire was not done but user´s positive and negative comments were noted. All
the comments were concluded together either to be good or bad. The result appeared to
be positive.
8 User Guide
The user guide provides information about the services and functions available with the
Training Management Android Application and how to access it. It also includes a clear
presentation of the result of the application.
30
The guide is intended for people who want to use this application for company purpose.
There are two different types of audiences;
Trainer: The trainer is the one who is responsible for giving training. Usually in
training there is one trainer. The trainer will start training and allow the trainees
to add themselves to register in training.
Trainees: The trainees are the one who come to attend training. After the trainer
unlocks the training or start training, he/she will allow the trainer to use the appli-
cation to register themselves into the training.
The application is not published in Google play store or any other markets. Therefore,
the following instructions should be followed by users to install the application on the
Android tablet. The process of installing the application are listed in the following below;
In the tablet; go to Menu -> Settings -> Security -> Unknown sources. And enable
it.
Then again, go to Menu -> Settings -> Developer options -> and allow USB de-
bugging.
Connect Android tablet to PC using USB cable.
Go to Start -> run cmd.
Find path to platform-tools of Android SDK.
Use command; adb install <path_to_apk>.
31
And run the application using command like this; shell@grouper:$ am start –n
com.Areva.areva_attendance/com.Areva.areva_attendance/MainActivity.
After installation process, deactivate the USB debugging and disconnect USB
connection between PC and tablet.
Also deactivate Unknown sources in the tablet.
The main screen of the application has a list of trainings. The list provides a full descrip-
tion of the training like title, description, location, date and starting time to and trainer’s
name.
There is one icon on the right side of the list. The icon with the open pad lock means the
training has already finished or is ready to start. The icon with the close pad lock means
the training is not yet ready to start.
In the second screen of the application there is training information at the top, one button,
the list view of trainees and the number of registered trainees at the bottom.
Each list shows the registered trainees with their full names and email addresses.
The users can edit their information and unregister themselves from the training with a
long press on their own name in the list. Then a dialog box will appear with two different
options that look like the one in figure 18.
34
In figure 18, the dialog box which is appears over the screen that adds more features to
the application:
Editing the information: This feature allows users to edit their previously added
information.
Unregistering from training: On click on this, users will be able to unregister them-
selves from the training.
35
The application has feature to add a new trainee. It enables to register users to the train-
ing by clicking the button with the icon of persons´ names on the left and “Add New
Participation” on the right side of the icon. The button lies just above the list views of the
trainees.
Features like add, edit your information and unregister from training are not available
when the training session is over. Training session is open for registration between 15
minutes of the starting time of the training and after 30 minutes of the ending time of the
training. These features of the application are allowed only during the training session
period. Before and after the training session button and the trainees lists are not activated
to be clicked on.
Figure 20 shows the view of button and list after training session.
36
Figure 21 below is the form to be filled by trainees to be registered in the training. If the
trainee has already attended some training before, the application suggests the user with
the full name and email information after typing few letters in the “Last name” field. If the
information matches to the user, he/she clicks to the drop down suggestion that allows
him/her to auto-fill all the information. This feature of the application makes trainees to
register faster in the training. Figure 21 below illustrates the last screen that has a form
to be filled by trainees.
37
The application also has Multilanguage feature where the users can change their respec-
tive language from anywhere in the application. The application has many languages
that are mainly used in construction sites as can be seen in figure 22.
38
8.4 Instructions
This part of the document provides enough information and instructions for users to use
the application and its features in detail. To launch the application, application icon can
be tapped on the home screen of Android device. Figure 23 illustrates the logo of the
application.
39
When a user is in trainees list screen that is illustrated in figure 17, he/she can press the
add button in figure 19 and it takes the user to the register screen in figure 21. The
register screen contains form with many fields to be filled by the user.
Some fields are mandatory like last name, first name, email, job title and employer. Some
are not mandatory like badge number and department. If the user is attending for the first
time in IT security training i.e. he/she has never registered in any other training before.
In that case, the user has to fill his/her information to all the fields manually. Then after
clicking to the submit button and the user will be registered to the particular training.
If the user has already attended some training before, it is very fast to register to the
training. The application provides auto-fill service. When the user types his/her first three
letters of last name in “Last name” field, he/she will get the suggestions of his/her full
name and email as a drop down view like in figure 24.
40
A user can edit his/her information only during the training session. For the process of
editing the user´s information the following points can be followed;
First, the user can find his/her full name and email in the list view of trainees as
in figure 17.
On a long click on his/her name, the dialog box will appear as in figure 18.
The dialog box has “Edit your information” action on the top. When the user clicks
on that, the application will redirect the user to figure 21 along with all his/her
previously added information automatically. Then he/she will be able to edit
his/her information. On a click on the submit button, his/her information will be
updated and will be redirected to the previous screen as in figure 17.
41
A user can unregister from training during the training session. For the process of un-
registering to the training the following points can be followed;
First, the user can find his/her full name and email in the list view of trainees as
in figure 17.
On a long click to his/her name, the dialog box will appear as in figure 18.
The dialog box has “Unregister from training” action at the bottom. When the user
clicks on that, the dialog box will appear as illustrated in figure 25.
In figure 25, when the user clicks on “YES” button, he/she will be unregistered from train-
ing. And on a click to “NO” button, the decision box will be dismissed without any action.
42
9 Conclusion
The project was focused on building an Android application for a Nexus 7 tablet with the
feature of a 7-inch display. The technology selected was the Java programming lan-
guage and on MySQL database. The application is mainly used by the client. So at pre-
sent, the application is being operated only in the Nexus 7 device. However it has been
designed and developed in such a way that it can adjust its user interface also to larger
displayed tablets of 10.1 inch. It is compatible with all the Android devices that has an
Android version starting from 4.0 and ending with the latest 4.4. It was able to get the
satisfaction result on the provided gadget it was launched on and provided the necessary
values.
To develop the application the Android operating system was chosen by the company
because it is open source and the company can have many Android device choices.
Once the application has been developed, it can be run on any Android operated de-
vices. From a developer perspective, the interface of the Android application can be built
using an XML mark-up language which is a very sleek way to put simple good-looking
user interfaces together quickly. The eclipse IDE provides a powerful, integrated envi-
ronment to develop the Android application. Rather than development, it lets a developer
to set-up new Android projects, build application UI, debug app and export app packages
for distribution quickly. The thesis readers are suggested to use Android studio because
lately it is the official IDE for Android application development and it has all the latest IDE
updates. Eclipse does not have anymore. [20]
The application always runs on the tablet where there is no Internet connection. It is just
used for storing, updating and deleting the data in and out of the local database of the
tablet. After successful training, all the data are transferred to the main database of the
company via a USB cable of the tablet. This collection of data in the tablet instead on the
paper has very little chance of loss. Later it will be very fast to transfer all that data into
the main database in different formats.
The application tests were not done in a real working environment, but the feedback was
collected from the employees of IT security department as they tested themselves. The
43
feedback was really positive. One negative piece of feedback that was pointed out was
that to register new users took more time because they had to fill in all the fields manually.
To overcome this negative feedback, the NFC technology was introduced. With the NFC-
enabled tablet the trainees could register themselves in the training just touching the
company’s badge on the tablet. However the suggestion was not implemented because
the IT security department is not allowed to use the employees´ personal details.
44
References
1 Global smartphone sales to end users by operating system (in million units)
[Online].
URL: http://www.statista.com/statistics/266219/global-smartphone-sales-since-
URL: http://developer.android.com/about/index.html
3 Jackson Wallace. Android apps for absolute beginners. USA: Apress Inc; 2011.
4 Zhou Zhinan, Zhu Robert, Zheng Pei, Yang Baijian. Windows Phone 7 program-
ming for Android and iOS developers. Indianapolis, Indiana: John Wiley & Sons
Inc; 2011.
URL: https://source.android.com/source/build-numbers.html#platform-code
names-versions-api-levels-and-ndk-releases
URL: http://developer.android.com/guide/basics/what-is-android.html.
URL: http://www.swayaminfotech.com/blog/2011/02/what-is-androidfeaturesan-
droid-architectureapplicationsapplication-frameworklibrariesandroid-runtimeli-
nux-kernel/
URL: http://www.techotopia.com/index.php/An_Overview_of_the_Android_Ar-
chitecture
URL: http://www.cprogramming.com/android/android_getting_started.html
URL: http://nerdsmagazine.com/what-is-rooting-and-unrooting-in-android/
12 How to Root your Nexus 7 Tablet Running Android 4.4 KitKat (Windows Guide)
[Online].
URL: http://nexus7.wonderhowto.com/how-to/root-your-nexus-7-tablet-running-
android-4-4-kitkat-windows-guide-0150849/
14 Dave Himanshu Parag, Dave Balchandra Himanshu. Design and analysis of al-
15 Debbabi Mourad, Hassaine Fawzi, Jarraya Yosr, Soeanu Andrei, Alawneh Luay.
2010.
URL: http://www.tutorialspoint.com/uml/uml_class_diagram.htm
17 Gilmore Jason W. Beginning PHP and MySQL: From novice to professional, 3rd
URL: https://developer.android.com/sdk/installing/migrate.html