Upload
vandan
View
214
Download
0
Embed Size (px)
Citation preview
1
Campus WI-FI Mobile Application
Mahesh Kumar
February 2012
Dissertation submitted in partial fulfilment for the degree of
Master of Science in Advanced Computing
Computing Science and Mathematics
University of Stirling
1
2
Abstract
This project is developed to enhance the communication system in the university
environment between the university administration and students to provide a better
information services through Wi-Fi Technology. This project is implemented using distributed
network sharing system for students. The basic idea of creating campus information system via
WI-FI Technology to make sure that student can access the information anywhere within the
campus zone frequently.
This project presents a mobile application which is built using Mobile Information Device
Profile (MIDP) of the Java 2 Platform Micro Edition (J2ME).The objective is to provide an
interface where students can get the update/alert sent by the administrator on their mobile
phone which would be beneficial for students they only need a PDA or a java enabled mobile
phone.
The intellectual growth is not possible without a modern technology being used. But the
discrepancy exists between the types of technology used on campus and the technology that
can be used to facilitate learning experience. Utilizing campus applications technology is a
great prospective and would be useful in campus environment. The mobile device frees the
user from the physical size of laptops and desktops. The mobile application platform provides
users with wireless and mobile access to any business information system easily and securely.
The project was design using the well known open source technologies MYSQL and JSP,
SERVLET and J2ME.
3
Attestation
I understand the nature of plagiarism, and I am aware of the University’s policy on this.
I certify that this dissertation reports original work by me during my University project except
for the following:
Few element of implementation part is taken from [9].
Signature Mahesh Kumar Date 03/02/12
4
Acknowledgements
I would like to thanks my supervisor, Prof. Evan H. Magill and all of them who gave
much kind help and guidance on this project.
I lack a word to express my gratitude to all my lecturers and colleagues who have encouraged
me to this far, you will always remain fresh in my memory.
5
Table of Contents
Abstract....................................................................................................................................1
Attestation................................................................................................................................2
Acknowledgements..................................................................................................................3
Table of Contents......................................................................................................................4
List of Figures............................................................................................................................6
1 Introduction........................................................................................................................7
1.1Background and Context................................................................................................7
1.2 Scope and Objectives.....................................................................................................8
1.3 Overview of Project ......................................................................................................9
2 State-of-The-Art.................................................................................................................10
2.1 Introduction ...........................................................................................................10
2.2 Requirement Gathering……......................................................................................10
2.3 Why Java for Mobile Application…….……………………………………………………….……….......15
2.4 Alternative Approaches…………. …………………….…………………………………………………...16
2.5 Reasons for choosing J2ME …………………….……………………………………………………….…....18
2.6 Similar Systems and Comparisons .................................................................................19
3 Problem Requirements.........................................................................................................23
3.1 Use Cases .......................................................................................................................23
3.2 Textual Descriptions .......................................................................................................23
3.3 Use Case Diagram for Administrator...............................................................................24
3.4 Use Case Diagram for Students …………………….………………………………………………….….....25
4 System Description and Implementation..............................................................................28
4.1 Technology in use...........................................................................................................28
4.2 Process model for Development.....................................................................................30
4.3 Implementing Mobile Application..................................................................................33
4.4 System Architecture........................................................................................................37
6
4.5 Admin and user interface..............................................................................................38
4.2.1 Java ME MIDlet...........................................................................................................43
4.2.2 Emulator......................................................................................................................44
4.2.3 Java ME Issues.............................................................................................................44
5 Project design......................................................................................................................45
5.2 Design Considerations.............................................................................................46
5.3 Payment Idea in Existing System...................................................................................47
6 Data Structure......................................................................................................................48
6.1 Real Phone Environment................................................................................................52
6.2 Analysis...........................................................................................................................52
7 Conclusion.............................................................................................................................55
7.1 Summary...........................................................................................................................55
7.2 Evaluation.........................................................................................................................55
7.3 Limitation..........................................................................................................................57
7.4 Future Work......................................................................................................................58
References..................................................................................................................... .........60
Appendix 1..............................................................................................................................61
Appendix 2 – User guide.........................................................................................................63
Appendix 3 – Installation guide...............................................................................................64
Appendix 4 – Login Process....................................................................................................65
Appendix 4 – Add and View Resources..................................................................................66
7
List of Figures
Figure 1. Wireless and Wired ……………………………………………………………………..………...14
Figure U1. Admin Use Case Diagram...................................................................................25
Figure U2. Student Use case Diagram.................................................................................27
Figure 2. System Architecture .........................................................................................37
Figure 4. Snapshot Sending Alert.....................................................................................38
Figure 5. Snapshot Alet Pop up........................................................................................39
Figure 6. Snapshot Message Recived ...............................................................................39
Figure 7. Snapshot New Query option..............................................................................40
Figure 8. SnapshotNew Query with message..................................................................40
Figure 9. Snapshot Post Reply..........................................................................................41
Figure 10. Snapshot Add Resource.....................................................................................41
Figure 11. Snapshot Resource Added.................................................................................42
Figure 13. MIDlet Life Cycle................................................................................................43
Figure 13.1 Payment Diagram..............................................................................................47
Figure 14 Database shapshot............................................................................................48
Figure 14.1 Course Table......................................................................................................49
Figure 14.2 Form Registration Table.....................................................................................49
Figure 14.3 Message Table...................................................................................................49
Figure 14.4 Posting Table......................................................................................................50
Figure 14.5 Resource Table...................................................................................................50
Figure 14.6 Student Table.....................................................................................................50
Figure 14.7 Unread Message Table......................................................................................51
Figure 14.8 User table..........................................................................................................51
Figure 15 Login diagram ...................................................................................................65
Figure 16 Add and view Resouces diagrame....................................................................66
8
1 Introduction
1.1 Background and Context
Mobile applications are services (consist of software) that can be run on a mobile
device and perform tasks for the user of the mobile phone. The Campus Wi-Fi mobile
application is a new way to improve the communications system in campus environment
between the students and the university administration. The basic idea is to provide new
interaction method to the students through which they can get the latest news or updated
information on their mobile device within the campus zone (area) through wi-fi technology.
Mobile applications are very popular in global mobile market. There are quite a few
applications which are pre-installed on mobile device for example MMS(Multimedia
Messaging Service), SMS (Short Messaging Service), Browser whereas there are applications
which can be downloaded through wireless internet these applications are useful to make life
or work more comfortable for example weather application which provides all the latest
weather updates on mobile device. The above application also provides advanced features in
campus environment to the students. In terms of technical perspective mobile applications are
divided by the run time environment in which they are executed (i) Native platform and
operating system like Windows mobile and Linux, (ii) Mobile web browser like Mozilla/Firefox
and Opera Mini (iii) Managed platforms and virtual machine like Java / J2me (Java 2 Micro
Edition) .
Wi–Fi is a technology which allow electronic devices to share or exchange data wirelessly. The
desire to have a Wi-Fi mobile information system is a step forward towards next level to
improve the communications. This project focuses to develop mobile wi-fi information system
within the campus zone to enhance the communication between students and university
administration. The system will provide an interface where students will get all the information
from the administrator on their mobile device, Wi–Fi is very popular and most of the students
used Wi-Fi phones these days that’s why this application would be very useful. Student’s
needs a Java enabled mobile device with Wi-Fi to get benefit of this facility. The present day of
information system has pushed many organizations to demand secured reliable and flexible
mobile application information system.
9
1.2 Scope and Objectives
This project is built for students and will provide information on campus zone
(area) to the students. For example, if tomorrow is the last date of submitting the
examination forms then administrator will send this as an alert to the students account. After
login in the account, the student will get the information about the latest alerts. Each message
is explicit to student profile, so the messages are only received by a user whom it is concerned
for.
Mobile Web applications enable users on the move to access on their hand held devices. The
various functions built in the project are as follows: Real time Alert and Update on the mobile
phone within the campus, Chat Facility “ Post Request “,Document Sharing , Event Forum
Registration.
Sometimes it’s real hard for a student to be on computer online every time and checking
updates from the University. This application will provide an interface where student can get
all the updates on their mobile device. Below are the Objectives of this project.
• This project act as service provider for Students for various campus activities.
• It acts as a new platform which can be used by the administrator to interact
with the students & vice versa.
• It should provide a new communication platform for interaction between
students & the university management.
• Students will get real time alerts & updates from admin department on their
mobile phones within the campus zone.
• Document sharing, important study materials or information documents can be
shared among the users by the management through the campus Wi-Fi
application.
• Administration can publish an event and student can register for that event via
their mobile device
10
1.3 Overview of Dissertation
In this dissertation the new interesting and advanced approach is described to
enhance the information system between the students and Administration via Wi-Fi
technology. The concept of developing campus information via Wi-Fi technology is to make
sure students can access information at any time on ad-hoc basic.
We plan to provide functionalities like:
1) Alerts/Notification: - Alerts are to be send to all the students in the university.
For Eg: "If the practical lab/lecture is cancelled" then admin will send this as alert to all
students of the particular class. Now the students will get the alert on their mobile device, so
the counter in the application will be increase and the sound will be played (as we get the
message in the mobile phone).
2) Post Request: - If the student wants to ask questions or any enquiry to the administrator
(admin) then they can send this to admin and Admin can reply to that question by posting a
comment to that particular student, they can communicate through a chat window.
3) File Sharing: - In this section admin can also share the file, suppose assignment or its result
files will be uploaded in respective format. So from here students can download the file on
their mobile devices.
4) Forum or Event Registration: - In this admin can publish an event and send to student.
Students can view the Event and registered for that particular event through their mobile
device.
All the four main goal of this application are achieved successfully.
11
2 State-of-The-Art
2.1 Introduction
Mobile applications design, implementation and deployment involve some technical
issues and ethical considerations. It is important to develop an application which works fast
and should be reliable. There are different platform to develop mobile application and J2ME
(Java 2 Micro Edition) is one of that which provide huge amount of features, we can run
application on emulator we don’t need to test the application on mobile device again and
again which become quite complicated sometimes .When we talk about Mobile application it
is important to think about both aspects of work for example Campus Wi- Fi application which
provides and ensures fast information service through Wi- Fi for the students within the
campus. So it important to keep the students prospective in mind as well before building such
application .As per the feedback from students with regards to such software, the students
would be happy to use, if the software is easy to use and reliable.
2.2 Requirement Gathering
Wireless Technology
In computing world wireless technology is used to describe telecommunication
through radio waves in other words when two or more electronic device established
connection or transfer information that are not physically connected. The two most common
types of wireless capabilities in computing world are Wi–Fi and Bluetooth. Bluetooth
technology is used to transfer information between two or more devices that are near to each
other, it is not suitable for full-scale network and doesn’t provide faster connection. One of
the best examples of wireless technology is mobile device. This technology allows users of
mobile device (which uses radio waves) to make a call from any location worldwide. Wi-fi
technology is used for wireless networking , for example if a laptop has Wi-Fi technology then
wireless card transmits to a wireless router and wireless network are connected to a network
DSL modem which allow internet access to anyone connected to wireless network. Wi-fi
12
provides faster connection and better security. There are two modes of wireless networking
Ad – Hoc mode and Infrastructure mode. The above application provides services on Ad- hoc
mode.
Ad –Hoc Mode [13]
Ad-Hoc mode allows wireless devices to communicate directly to each other. The
wireless devices which work in ad-hoc mode within the range used to communicate in peer –
to – peer way without involving the access points they use broadband wireless routers. All the
wireless adapters on the ad-hoc mode should use the same SSID (Service Set Identification)
and the same channel number. SSID (Service Set Identification) is the name of Wireless Local
Area Network (WLAN), It is important in wireless communication all the wireless devices on
WLAN (wireless local network area) must use the same SSID to communicate with each other.
Sometimes when there are so many devices connected through the some router in this
situation performance becomes slower and large number of ad-hoc network becomes difficult
to handle.
Infrastructure Mode
Infrastructure mode in wireless networking joins (Bridges) a wireless network with the
wired Ethernet network in other word when the wireless clients connect to an access point
which in turns bridges to a network. In this mode wireless access point is must to have
wireless networking. To bridge the WLAN it is important that access point and the entire
wireless users must be configured with the same SSID (Service Set Identification). We can add
additional access point to the WLAN to increase the number of wireless users. Infrastructure
mode provides centralized security and much improved reach. The drawback of this mode is
for wireless networking is that it would cost more to buy additional access point hardware.
It is easy to set up connection in Ad-Hoc mode because it does not require an access point. On
the other side Infrastructure mode provides high performance of an access point to cover the
huge area. In Ad- Hoc mode as many devices connects the interference of the devices will go
up as they all are trying to use the same frequency channel.
13
To begin developing an application in wireless technology it is important to study the
advantages and disadvantages of it. It is important to study the wired connection and why
wireless technology is future of networking. All these in details are mentioned below
Wired Connections [1]
Wired connection use Ethernet cables and network adapters. We can connect multiple
numbers of computers through cable. Wired system is also very important which uses router
to provide it services. The dial up connection provides connection through home phone but it
is very slow and used rarely.
Broadband also provide shared connections it allow us to use internet and home phone at
the same point of time this is very popular among the home users because of its high speed.
Basically we have an ADSL (Asymmetric digital subscriber line) router which is connected to
phone and we can connect our computers through cables from router to computer device on
which we want to use internet. Whether it’s a wired or wireless connection they both depend
on standard Internet Protocol and network operating system configuration options.
Advantages and disadvantages of wired connections are mentioned below.
Advantages:
• Quite cheap and easy to afford as compared to wireless.
• Most of the users use wired network because it is more reliable.
• It transfers the data faster without any interruption or connection failure.
• Wired connections are more secure as compared to wireless connection because it is
connected directly to router device which doesn’t allow unknown device to connect.
14
Disadvantages:
• Wired connection connect through wires so it is difficult to use the network in single
place for example if u have wired network connection on laptop device you can use
that connection until that cable is connect to device , if you want to use the network
on traveling that’s not possible .
• It is possible if too many connections are connected trough one single wired router it
can slow down the speed. The most common type of wired network is an Ethernet
network.
• Wired network is not as flexible it can only use where we can have socket.
• It is more time consuming to set up and wired connection.
Wireless Connections
Wireless connections works through radio waves to make link to computers from
network. Wireless technology is an advanced version of wired network which is most popular
in universities and other big organization. Now day’s wireless connections are becoming more
popular amongst the home user as well. Because of its features and so much of competition in
world home users are able to get this service in fewer prices.
Below the figure 1 [2] shows layout of wired and wireless networks .The picture is seen from
Google give a view how both network systems look like .We can see wired network is
connected through a cable to normal Router 192.168.1 IP and establish connection. On the
right side of the figure there is a Wireless Router 192.168.1.2 which is connected to network
through radio waves it does not require any cable connection between devices who want to
access the network.
15
Figure 1
Wireless network also have some advantages and disadvantages which are mentioned below
Advantages:
• No need of cable, there are few places where cables can’t reach .User is not limited
for any fixed position.
• Wireless network allows flexible number of devices to be connected in specific range
it depends on the Routers range.
• It is very easy to set up a wireless network. it’s a hassle free network.
• We can set up wireless network without Ad- Hoc network, which means we don’t
need to define an Access Point to establish network connections.
16
Disadvantages
• Wireless network use radio waves for connection and connection failures are
frequent.
• It is less secure hackers can access the network easily as compare to wired
network.
• It does effect by surroundings wall blocking or far distance.
• Bit expensive as compare to wired network
We have discussed about the wired and wireless network it is important to know about the
technology that you are going to build an application described in section 2.2.1.
2.32.3 Why Java for Mobile Application [8]
The JVM (Java Virtual Machine) and Java API (Application Programming Interface)
makes the Java Platform. Therefore, the Java platform consist the following three
things
(J2SE) – (J2SE) – Java 2 Standard Edition. Java 2 Standard Edition. This is made for desktop systemThis is made for desktop system.
(J2EE) – (J2EE) – Java 2 Enterprise Edition (J2EEJava 2 Enterprise Edition (J2EE) is an excellent platform for multiple users.
It is based on J2SE and adds APIs (Application Programming Interface) for server side working.
(J2ME) – (J2ME) – Java 2 Micro Edition (Java 2 Micro Edition (J2ME) is a bundle of technologies that develop
applications for small mobile phones, and set-top boxes.
Why Java platform for this application:Why Java platform for this application:
Platform Independent:Platform Independent: Java is an open source language it means it’s a cross Java is an open source language it means it’s a cross
platform, Java application can run on different platform because java applicationplatform, Java application can run on different platform because java application
execute through a byte code by JVM (Java Virtual Machine) .Suppose if oneexecute through a byte code by JVM (Java Virtual Machine) .Suppose if one
machine is running on Windows and other is on Linux, single java application canmachine is running on Windows and other is on Linux, single java application can
17
run on both machines because the byte code generated by the compiler can berun on both machines because the byte code generated by the compiler can be
read by any JVM (Java Virtual Machine) of any machineread by any JVM (Java Virtual Machine) of any machine
RobustRobust:: Because Java applications are managed by the byte code is verified
before execution, it must not crash in the face of unwanted behaviour. It will not
affect other sensitive applications or the data on the device.
SecureSecure:: The Java API (Application Programming Interface) provides a very
advanced security for Java application.
ObjectObject orientedoriented:: Java is an object-oriented language with too much of library
classes which is already exists. Java is a modern representation of C++where
everything is an object, and all object are part of one global class hierarchy.
Java code always executes within the JVM (Java Virtual Machine), and provides a safe
environment for execution. Java provides robust programming. The garbage collector
identifies the unused object that is no longer needed by a program so that their resources can
be reused and reclaimed . The Java exception handling mechanisms encourage developers to
build robust applications.
2.4 Alternative Approaches
There are different platform for mobile applications apart from J2ME (Java 2 Micro
Edition), Google Android, Apple IPhone are also very popular amongst the users. Android is a
Linux-based system developed by Google, which is basically target at mobile phones and other
small devices, Android is an operating system. Android gives Java-based development
platform for applications. Eclipse provides an interface to build Android application more
comfortably. Android Application is made of one or more activities which run in different
Linux processes.
18
The major reason for building this application on J2ME (Java 2 Micro Edition) because of
background experience in the Java platform, however few elements which makes J2ME (Java
2 Micro Edition) application better then Android are discussed below.
• Unlike Java ME (Micro Edition) Android does not use java software environment. It
only reuses the Java language syntax but does not provide in built class libraries and
API (Application Programming Interface) bundled with Java SE (Standard Edition).
• J2ME (Java 2 Micro Edition) provide monitoring mechanism that allow user to
safeguard errors that comes in runtime.
• You cannot install or run Android application from, an SD card.
• Applications written on Java can run on different platform, but you can’t do this
Android application. Java is a computing language where Android is an Operating
System.
• J2ME applications are essential program it’s a stand-alone application, although it
uses different display technology due to resource constraint.
• J2ME (Java 2 Micro Edition ) promises advantages to mobile handset manufactures ,It
offers an opportunity to foster a large and prolific development community that could
delivered an value added functionality for their devices.
• J2ME (Java 2 Micro Edition) is more like a monolithic application where single
program does everything. Whereas Android is more like a component architecture.
The Apple IPhone is one of the most used and popular platforms. The IPhone is a reliable
device which provides a high end security. The IPhone is showing a failure rate of less than
1%. However, the IPhone lacks an official office suite. Open Office is an Open source
alternative. The IPhone currently does not have an application to encrypt stored data. The
IPhone is not compatible with Microsoft Exchange server that is one of the minus point of
IPhone app. Research says that the IPhone may be a great entertainment tool, but it lacks
characteristics that focus on a cooperate environment.
19
2.5 Reasons for choosing J2ME or Java Me (Micro Edition)
J2ME (Java 2 Micro Edition) provides a strong development tool which greatly
helps J2ME (Java 2 Micro Edition) adoption among wireless application development, it is
more reliable and flexible for building mobile applications. J2ME (Java 2 Micro Edition)
provides easy interface that uses to build sophisticated application easily. J2ME (Java 2 Micro
Edition) applications can be built by developers who usually have good knowledge of java. It is
important to go through core java before developing such applications especially for new
developers
In J2ME (Java 2 Micro Edition) applications all the classes that are available in the class loaders
are verified to make sure that the applications are not performing unwanted operations. One
of the best advantages is the use of J2ME (Java 2 Micro Edition) platform for blackberry
application development helps in avoiding memory leaks. J2ME provide monitoring
mechanism that allow user to safeguard errors that comes in runtime. J2ME (Java 2 Micro
Edition) applications are very popular and used by huge amount of user and accepted by
almost every mobile phone organization.
The main reason for choosing J2me for campus information mobile application because it
provides not only user friendly interface but it also gives developer huge amount of options to
test new things, and most of the students use java enabled phone.
20
2.6 Similar Systems and Comparisons
Blackboard Learning System (WebCT)
One of the similar systems to dissertation is Blackboard Learning System
(WebCT). They are dedicated to develop and implement new technologies that enhance every
aspect of education. They are developing comprehensive learning and teaching solution which
is flexible and simple to make sure it is easy to use for the students and teachers. WebCT is a
web based application it’s not a mobile application. Blackboard learning System is a huge
application which consists to many functionalities and information’s for the students. It is
customizable students can change the layout according to his or her need, colour of the
background and the channels (the content you want to display in blackboard) for example
Campus Announcements, My Grades, and Personal Bookmarks. It has course lists where
student can access the entire course modules and their content, University administration
(Teachers) can reuse learning objects and track how learning object is used. It has section
called My Learning which consists all learning and training opportunities available to the
students and the staff.
As an administrator in WebCT, admin can view class lists in different formats and enter the
grades of exam paper or assignment manually and student can view the final grade after login
to WebCT. It also provides calendar facility so the student can see when the assignment is due
or when to give test. Admin can give online quiz and these are available to students.
For Students WebCT provide huge number of facilities to work with. The Campus
Announcements board allows students of the particular course to communicate with each
other. It also provides email facility to students to communicate with other students and
teachers. The chat facility provides real-time communication options for the students they can
chat to other online students. WebCT provide self evaluation section which can be added as a
note within any course module in this section students have multiple choice questions that are
automatically scored by the program. These can help students to test their learning
throughout their module. There are online quiz and the score on each quiz can be posted for
21
the students to view. There is a section called Web Link where students can view all the
helpful links which is helpful for studies.
Blackboard Mobile Learn [14]
Blackboard mobile is a podium for bringing dynamic learning, teaching and campus
experience to the mobile device. Blackboard Mobile Learn application allow students and
teachers to access their course content, students can view their grades. User (Student) can
access documents in multiple formats and upload media as attachments to discussion board
and blogs. Instructor (faculty) can post announcements for example if any assignment is due
or class is cancelled he can post the news and student have instant access to the latest news.
There is a function called task which helps students to track and manage the progress of
various tasks. This Blackboard Learn mobile application is available in some places (In US
Puerto Rico and US Virgin Islands) over wi-fi with no cost and this application can be accessed
in variety of devices including IPhone, Android, and Blackberry.
Blackboard Learning System (WebCT) and Campus Wi-Fi Comparisons
Campus Wi-Fi application promises to provide the services frequently, the strategy is to
deliver the best learning tools to enhance the learning and information system, So the aim is
similar in both applications however WebCT is a huge application which consist to many
functionalities to provide dynamic learning information management. The main difference
between both applications is that Campus Wi-Fi mobile application works through Wi-Fi
technology and Blackboard Learning System provide all facilities over internet.
Both applications are developed on java platform however their goals are similar but both
applications are different WebCT is a web based application and Campus wi-fi is a mobile
application. WebCT is highly customizable on the other side campus wi-fi application is not
customizable. The four main objective of campus wi-fi application 1) Alert and notification 2)
Post request 3) File sharing 4) Forms or Event Registration also exists in WebCT. Administrator
can send an alert message via email to students and students can reply to that mail. It has a
chat facility however it is quite broad, where student can not only chat with teaching staff but
also with other online students. In WebCT students can view their assignments and results
similar to campus wi-fi application however student can’t submit their assignments on
22
Campus Wi-Fi application but in WebCT they can submit their assignments. It also has a
section called Campus announcement which alerts students for upcoming event or latest
news. WebCT consist timed online quiz or surveys and self assessments whereas Campus wi-fi
application does not have these functionality. WebCT can be accessed through any web
browser, like Mozilla /Firefox or Internet Explorer, Additional plug-in might be required to view
the media files on the other hand campus wi-fi application can be accessed on java enabled
mobile device.
After reviewing both WebCT and Campus Wi-Fi. I came to realize both of these tools provide
similar functionalities however WebCT is highly broad and huge application so it consist larger
number of functionalities .However campus wi-fi application is not that huge as compare to
WebCT but it promises to give facility over the mobile device through wi-fi it means from
student prospective they don’t need to start the laptop or computer to access the services
they can just login through mobile device and get access all the services or information’s.
However Campus wi-fi is restrictive because it is only available in campus zone because it
needs a campus wireless network to get access so only those students who are in the range of
campus wi-fi network can access this application. On the other side WebCT can be accessed
from anywhere, where internet connections are available. Both tools are user friendly.
Overall both tools (applications) promises to provide best services for enhancing the
information system for any Institution or University both have their own way of providing such
services it would be bit unfair to compare campus mobile Wi-Fi application to WebCT because
WebCT is such a larger application which also offers professional development and training
support and consulting services. In the end I would like to add that if a campus wi-fi mobile
application consist few more of the functionalities which WebCT have then it would be a great
plus (advantage) for students.
23
Blackboard Mobile Learn and Campus Wi-Fi Comparisons
Blackboard mobile Learn and Campus wi-fi mobile application are quite similar to
each other in terms of services they provide. Blackboard Mobile Learn have a function called
announcements where faculty can make announcements to notify students, on the other
hand Campus wi-fi mobile application consist a function called alert to notify students about
any latest news .Students can view their grades in both application however the way is
different in Blackboard Mobile Learn students can view their grades just clicking on grades
section , In Campus wi-fi mobile application administrator upload all the results or grades ( all
students ) in respective format .pdf or word document then student have to download that file
to see the grades .There is interesting function called Tasks which help students to track and
manage the progress of various tasks , Campus wi-fi doesn’t have such functionality.
Blackboard Learn application have a section called Discussions where students can ask
questions and answers them to the instructors and he can respond to students for the benefit
of all , In this dissertation same functionality has been given in a post request section where
student can ask and get a answer from administrator like a chat box . Campus wi-fi application
have a function called Forum (Event Registration) where admin can post a university event and
students can register themselves for the event through their mobile device,BlackboardMobile
Learn app doesn’t not have this functionality . After going through each tool of applications
I can say that both applications are promises to provide similar functionalities to students and
user friendly environment, where Campus wi-fi is only build for java enabled device and
Blackboard Learn is available for variety of devices like IPhone , Android . It would be good
idea to extend Campus wi-fi with some more functionality and build in other platforms as well.
24
3 Problem Requirements
3.1 Use cases
The basic requirements for this dissertation are to build a system where Administrator
can communicate to students and they can get all the information on their mobile device. The
aim to build a mobile application which will provide facilities through wi-fi technology in the
campus environment. Students will be able to get the alerts from admin department and they
can ask any queries or questions to administrator and get a response on their mobile device.
Student can see their results and download assignments on their mobile device. Student can
register themselves for latest events. Other functionalities may be added in future to enhance
the application.
The main users of this application are the students.
3.2 Textual Descriptions
The textual description for the use case for the users is outlined below:
a. Student
As a Student, you can do the following:
New query
This is where each registered user can ask any questions to administrator. If a
student wants to know the fee of sports membership he can just write his query and
he will get his answer. It’s like a chat window where admin can respond quickly to any
question of students.
Login into Campus wi-fi system in mobile device using your login details
The login panel allows students to access the application. Student can get there
login details from Administrator.
Inbox
In this section student can see the alert send by the administrator.
Your Post
This section is related to new query where student get the answer of his question
like a chat window and allow user to ask multiple questions to administrator.
25
Event
This section provides a facility to students where they can view the upcoming
university events and register themselves for events posted by the administrator.
Get Resources
This section allow user to see the uploaded file from the administrator, it can the
assignment or the results of assignment (.pdf .doc or any other respective
file) .Student can view the file in default browser or he can download in mobile device.
b. Administrator
The administrator has access to the admin panel to manage the web contents, but not
limited to the following as more will be added in the future works.
Manage Student
This allow administrator to add users and manage their existence users
Form Master
This section allows admin to post a university event with the expiry date so the
student get to know this event is still available for them.
Registration
This section allows Admin to see all the registered students for the events.
Manage Message
This allows the administrator to send alert message to student. Administrator can
determine a type of message it relates to and he can send this alert as all students
or to a single student.
Manage Student Post
This allows administrator to give answer of the students question or query it’s
like a chat window where administrator can respond to multiple questions asked
by the student.
Manage Resources
This section allows administrator to upload assignment or results in respective
format.
26
3.3 Use Case Diagram for Administrator
Figure U 1
The use case diagram for Administrator (Admin) is shown on figure U 1. It shows Admin can
login to campus Wi-Fi through his username and password. In the Admin page Administrator
can add /update student details and can define password for the students. He can send
alert/update messages to students, post event and can reply to new query which is send by
the student .He can add the resources which can be downloaded by student as shown on
figure U2.
Admin
Login
Add/Update Student
Send Alert/Update
Post Event
Query Posting
Add Resources
27
All these functionalities are only accessible to Administrator as show in the use diagram above.
Use cases are very useful before making an application developer get to know about the
structure and functionality of the application. It also provides an idea about which objects are
required and what would the flow of the application.
28
3.4 Use Case for Students
Figure U 2
The use case diagram for the Students is shown above in figure U2. IT shows Students can
login provided with the password. He can view alert messages can post a new query to
Administrator. Students can view or download resources and he can also make event
registration. These are the functionalities which is available to student.
Students
Login
View Message
Post new Query
View/download
Resources
Event Registration
29
4 System Description and Implementation
4.1 Technology in use
This section examined the technologies used in this project and their specific usage in
the development process, discussions in details can also be found in some of the material
listed in the references.
J2ME (Java 2 Micro Edition) [15]
Java 2 Micro Edition (J2ME) is a technology which allows developers to use java
language and related tools to develop programs for mobile wireless. Java 2 Micro Edition
(J2ME) is divided into three parts profiles, configurations and optional packages. Profiles are
Application programming interface which is built on top of the configurations to provide a
runtime environment for mobile device like PDA mobile phones. Profile used to manage the
applications. Optional packages provides standard application programming interface for
using both existing and newly technologies like messaging through wireless, database
connectivity and multimedia. Configurations provide set of libraries and a virtual machine for
the category of wireless device. Java 2 Micro Edition (J2ME) has two configurations CLDC
(Connected Limited Device Configuration) and CDC (Connected Device Configuration) which
are described below in details.
CLDC (Connected Limited Device Configuration) [15]
It is a set of standards, libraries and virtual machine for devices with the very limited
resources like mobile device. When it is joined with the Mobile Information Device Profile
(MIDP), it provides an excellent java platform for developing applications which can run on the
devices with limited memory.
30
CDC (Connected Device Configuration) [15]
Connected Device Configuration (CDC) is for bigger devices, such as set-top boxes and
PDAs. It’s a specification for the JVM (Java Virtual Machine) that a J2ME (Java 2 Micro Edition)
device must support.
J2ME API’s (Application Programming Interface)
javax.microedition.midlet
[4] MIDP (Mobile Information Device Profile) is called as MIDlet each and every
MIDlet is an instance of java.microedition.midlet.MIDlet. It is implemented in lifecycle
method (discussed on 3.2.4). Conceptually it is similar to applet and can be
downloaded. MIDlet is executed in host environment.
MYSQL
MYSQL is a well known relational database management system (RDBMS) used
to manage the database relationship and interactivity among the database. It is an open
source technology which is used to create the database. In this project it is used to interact
with Servlet for the management of the database such as edit, delete, update etc.
JSP (Java Server page)
JSP (Java Server pages) enables the creation of web application, it is a server side
scripting language, it work by embedding Java code in to web programming language like XML,
DHTML ,HTML and other programming languages. This scripting is indeed competing with
Servlet, Java and other well known web applications.
31
Servlet
A Servlet is a java programming language class which is used to extend the server
that host applications accessed through a request-response model. Servlets are use to extend
the applications hosted by web-server. It defines HTTP (Hypertext Transfer Protocol) specific
servlet classes.
4.2 Process model for development
The software development model represents the model and the processes of
developing applications. I am following the waterfall model for the development of this
project which goes through five stages: Requirement, Analysis, Design, Coding, and Testing all
these are describe below.
Requirement Stage:
The requirement of the university administration and students were initially studied. The
requirement is collected by use- cases through which it was decided what objects and functionality
should be given to Administrator, such as Login, Add/Update Student, Send Alert/Update, Post Event,
Query Posting, and Add Resources. In this stage of the process I went through with quite a few similar
systems which has been analyzed, blackboard is the organization which develops such a system on a
large scale. Then I have decided which platform I am going to build this application which is J2me (Java 2
Micro Edition ) , what database I am going to use which is MY SQL DB, which language should be used
develop a web based application for administrator which is JSP /Servlet.
Analysis Stage:
Once the requirements of the application are identified in requirement stage, then it is
important to understand the scope of the problem. If there is a problem dividing that problem
into sub sections so that goals can be achieved .The analysis stage is used to find the solution
32
of the problem. It was important to make sure that whatever the thoughts or functionalities
are in mind should be reachable in the limited time frame. Firstly it was considered student
would have functionality where they can pay the dues through the mobile phones to
university administration but after analyzing it is found that the desired goal would be not
achievable in the limited time frame and the there were some security issues to consider
payment function. In the above application it was analysed that all the four goals for
application are achievable. The detailed description of analysis can be found in section [6.2] of
the application.
Design Stage:
Design stage contains identifying the major component, objects of the application. It
will represent the systems behaviour and the work flow (the structure). It involves design of
the interfaces between major components of the sub-systems. This is the part that is exposed
to the users and hence the only part they can experience. If the application is too complex to
understand on the first time then the user is not going to use it on the next time. Architecture
of the Campus Wi-Fi mobile application has been considered in this stage which is described in
detail section [4.5]. The students is going to connect through Wi-Fi router to the
administration department which will send the information to the server then the server will
fetch the data and forward the request to administrator.
Coding stage:
This stage the design of the application is transform into the code. The Eclipse IDE
(Iintegrated Development Environment) supports all the needs of writing the code, such as
syntax highlighting which was useful to identify the error, example material for building mobile
application and all the necessary compiling, deploying and running functionalities. Eclipse was
helpful there, as there are so many pre defined functions which makes the work easier. The
detailed description of this stage is discussed in section 4.3.
Testing stage:
33
Once the application is coded testing of all the function has been done to find out
whether it is working the way it was designed to work. It is important to test application in
large scale because I did face a problem when I was testing adding resource option in
administration browser field after some time I found there are syntax errors. Testing the
functionalities of this project is an important aspect of this dissertation, it is necessary to see
how the application and information on mobile devices are being displayed especially on
different real mobile device and emulator this type of testing helped me to correct the bugs in
functionalities according to the users’ requirements. Unit testing on the functionalities of this
project is an important aspect of the dissertation, but more importantly the usability testing
by the potential users in with the project is developed for. Campus Wi-Fi application testing is
very necessary to see does the functionalities given to administrator and user (students) are
working properly according to the requirements.
This project has been tested on different common browser from the administrator side i.e.
Google Chrome, Mozilla Firefox and Internet Explorer 8, and it was found to display equal
quality of information and functions given to administrator as specified in the project
specification. This type of testing helps the developer to find the bugs in functionalities
according to the administrator requirement.
The user side of the project was also tested and it was found to meet the student’s
requirement, all the functions are working properly which was specified in project objectives.
The most important function from the student side send query, view resources, event
registration and read alert message all these functionalities has been tested and found to be
working as expected.
The Administrator side of the project was also tested based on the requirements, all the
functions such as sending alert, post request, file sharing and posting event are also tested and
found to be working according to administrator requirement.
Why the above development model was chosen
34
Waterfall model has specific goals for each phase of development in the above application
each goals are determined and divided into stages , Schedule is set for the each stage as a
deadline to achieve the goals for example first goal was to build a administrator interface and
database structure then to move on to mobile application . After completion of the
administrator panel and data structure the mobile application coding been started. It is
important to finish the first stage then move to the next. Each stage of the development
proceeds in strict orders, without any overlapping of steps. One of the advantages of this
model is the amount of resources required to implement this model is minimum. After the
major stage of coding the application is tested against specifications. The above application is
tested again on a larger scale once the major coding is completed then the application is
tested. If there are any errors then the error was corrected. It was easy in this process model
to identify the progress and it also gives an opportunity to identify the problems quickly. The
best thing about this model is the design been made before the actual coding, so before
starting coding the structure and objects of the system were well known.
4.3 Implementing mobile application One of the biggest challenges of the mobile applications development is how to
implement such applications in a way that consist the security properties of their specification.
It is important to think and specify the application using high level tools and then ascertain
that specification meets the desired requirement , Is all the goals are achievable or not. Then it
is decided that application is going to build on java platform.
To begin implementing Campus wi-fi Mobile application first of all JSP (Java Server Pages) is
used to build the layout of the application which represents the admin part. The login panel is
been made which allow admin to login in through the user name and password mean while it
was decided to build a database on MYSQL Database ,discussed on Data Structure of the
dissertation. The Servlet are used to fetch the data from the MYSQL database. The mobile
application is built using J2ME (Java 2 Micro Edition) on Eclipse (integrated development
environment) IDE in which important aspects (coding) of mobile application implementation
and the important aspects of implementation are discussed below.
35
Campus.java
Campus.java class is the main class of the application which extends MIDlet and
implement runnable interface. Objects of login, Menu, New Query, Post list and other
important parts of the application are created in Campus.java class. Then background thread
is created for searching up the new messages, it keeps searching for the new message in a
specific time (20 sec) frame again and again. One of the interesting aspects of implementing in
the above class is the alert screen that shows a picture to a user (students) and waits for a
certain period of time with a sound. This functions uses to alert the student to inform new
message has been received with unread message picture, the coding to implement this
feature is below
Alert alert = new Alert("Alert Demo","You Got new Message",img,AlertType.INFO);
alert.setType (AlertType.INFO);
if(display.getCurrent()==mmenu){
mmenu = new MainMenu(this);
display.setCurrent (alert,mmenu);
ConnectWait.java
The ConnectWait.java class is build to establish connections between all the servlet.
ConnectWait.java class extends Canvas class (A class that represents a blank rectangular area
of the screen in which the application can trap input events from the user) and implement
runnable interface. For communications the servlet base (servbase) address is given to
communicate with the admin application side. Then the paint method has been given in order
to perform custom graphics on the canvas, after that the method for calling the servlet and
getting back the result it takes from the servlet name & parameter as input is assign. One of
36
the interesting part of implementing of this class is to establishing a communication between
the all the servlet.
Login.java
The Login.java class represents the login activities of the user (students) which allows
them to login, passwords are provided to them by administrator. This class implements
Command Listener (the commands registered with display or the item objects have provided
in class).The method “Command Action “ is describing what actions needs to be done when
button clicked is been performed for example in the above class if exit button is clicked
application will call the quit function to exit of the application. In the login section user needs
to input the username and password when validating the username name and password it will
call the login servlet (actually it will call to callservlet () of the main class). If the username or
password is incorrect it will show the message “Invalid Login/Password” or if the login is
successful then it will display the main menu. Simply the logout.java class allow the user to
logout in the same process.
Apart from all these three important java classes mainmenu.java, messagelist.java,
newquery.java, resourcelist.java, showmessage.java, showpost.java etc, has been
implemented to provide the different functionalities to the application. All these class
implements the Command Listener with the Command action which defines which actions is
needs to be done when the button is clicked.
Interesting aspects of implementation in Servlet
Servlet are small programme that runs on server. Web applications are usually
contain both private and public resources. It is important to make sure that those areas that
are restricted to public will remain off limit.
LoginController.java
37
Logincontroller.java Servlet is built to handle the login process for administrator. The
Do Post methods of servlet define the current session and the values of username and
password. The “loginDao“ instance of “LoginDao” has been created for the database
connection pulling. When discussing the login process security is very important the two main
categories of security needs to be considered Authentication and Authorization. The
Authentication is to verify the user, are they the right person whom they say they are.
Authentication is handled via username and password login. Mostly websites utilize login page
through Secure Socket Layer (SSL) over Hyper Text Transfer Protocol (HTTP). Once the
authentication process is done then it goes to authorization stage. The Authorization process
makes sure that the user only see the data what they authorized to see.
MobileLoginController.java
MobileLoginController.java servlet is built to handle mobile login authentication for
user (Students). The process is same as discussed on the LoginController.java servlet class. The
Do Post method here defines string parameters and the values for username and password.
The instance of LoginDao is created for database connection pulling. Once the authentication
is done user will move to next page if the authentication is failed (wrong password or
username) then message will be showed “Invalid Username/ Password”.
Usually those programme that access database by user input needs to be on server side. One
of the advantages of java servlet is that with heavy traffic they can execute more quickly.
Instead of causing the separate programme process to be created, the request from the user is
invoked in a single demon process (the amount of system overhead for each request is slight).
Performance Considerations
In Campus wi-fi project local variables has been used because it is quicker to access local
variable as compare to class members. String concatenation has been avoided because it
slows down the performance and increase the memory usage of the application. Threads have
been used and synchronization has been avoided through which performance can increase.
38
4.4 System Architecture
The below figure shows the architecture of the application J2ME/JSP (Java 2 Micro
Edition / Java Server Pages ) which represents the user (students), a web based application
admin browser is for admin .A server application is running in middle. The database is running
in the backend to store records. The radio waves deliver the information to mobile devices.
Figure 2 shows the architecture of an application, it is difficult to understand the picture all at
once but the work flow is easily understandable. The figure 2 has one administration (admin
who is sending messages is in black arrow), and there are two students, Student A (Blue
arrow) and Student B (Purple arrow) both have java enabled phones. The Admin send and the
message forward to the server from where the related message then goes to database (DB)
to search the related table the data is fetch and send back in server which process the
message forward through Wi-Fi Network and message received to students mobile device. The
same process goes when students send query or ask any information which start from the
student side and reach to admin in end. Below are the two different students just to show that
they both send and receiving messages which is related to them.
Student A Student B
DB
Wi-Fi
Server
39
Admin
Figure 2
4.5 The Admin and User Interface
This section captures some of the important Administrator and User (students)
interfaces of the Campus Wi-Fi Mobile Application. The structure and qualities of the
presentation will be analyzed with respect to computer human interactions and
functionalities which will form the bases for the evaluation and future work in concluding
this dissertation.
Below figure shows Administrator is sending message from the Admin browser
Figure 4 “Sending Alert/Update”
In the above figure 4 Admin (administrator) is sending message to mobile device “Hello, Just want to inform you all. Timing for tomorrow Lecture of Object Oriented Programming is changed and new timing is 1 pm to 2pm Wednesday. And below
40
figure 5 shows that the new message is been received in mobile device with alert “You Got new Message”.
Figure 5“Alert Pop up on device”
Figure 5 shows message alert on the emulator (mobile device).
Figure 6
41
In the above figure 6 message is received in mobile device which was sent by the admin earlier. In the below figure 7 Student is sending message from his mobile device via New Query and asking a question to administrator.
Figure 7
Figure 8 Above Figure 7 shows student is going to ask question by new query of
device and in figure 8 students asked a question he wants to know the fee for the sports membership and the answer comes
42
The below figure 9 which shows admin reply to student stating that fee is 80 GBP annual and message is also received in the mobile device it is like a chat window.
Figure 9
Figure 9 shows student got a reply on his device and he can chat to admin through
this feature “Post Request”
43
Figure 10
In the above figure 10 admin is uploading Assignment Results through Manage Resources. And in the below figure 11 Resource has been added and received in mobile device where student can save the AssignmentResult.pdf file and view the results.
Figure 11
These screen shots are just to show the major functionalities available to the administrator
and user device. Other functionalities can be added in future work based on the user demand
and need for better platform. The essence of the screen shots is to showcase the available
information and functionalities to the readers.
44
4.2.1 Java ME MIDlets [4]
A MIDlet is an application that uses the Mobile information Device Profile (MIDP) of
the Connected Limited Device Configuration (CLDC) for the Java ME (Micro Edition)
environment. Mobile information Device Profile (MIDP) application is also known as MIDlet .It
is executed by device-specific Application Security Manager (ASM) which defines security
restrictions for each MIDlet and it can interrupt MIDlet. MIDlets move from state to state in
the lifecycle. Below is the life cycle of MIDlet.
Figure 13
The figure 13 shows life cycle of MIDlet. The first is pause state, by deault midlet is in pause
state when the application is excuted the startApp method is called and when we close the
application the destroy method is called and destroy the midilet
45
4.2.2 Emulator
An emulator is a substitute to test mobile applications without need of real device. It
gives an option to test the mobile applications without the real device (in absence of real
mobile device). Eclipse IDE (Integrated Development Environment) has an emulator that
works as a substitute of mobile devices. The emulator is used to test mobile applications
which make work easier because it is hard to test the application on real phone each and
every time. Emulator runs through the J2ME (Java 2 Micro Edition) wireless toolkit. There are
numbers of emulators on different systems or IDE’s (Integrated Development Environment)
and which one is the best for each system depends on what interface and features we would
like to implement (requirement of the applications).
4.2.3 Java ME Issue
J2ME (Java 2 Micro Edition) is wide language which provide so much of feature and
popular amongst the developers but it also have some drawback and fault which is mentioned
below.
• It has a poor native UI component palette.
• Porting –application works on Nokia, but will not work on SE.
• Application looks fine on emulators but sometimes fails to work on the real device.
• Bundled resources size.
46
5 Project Design
The methodology of the design of this application involved careful consideration of
the various technical and design issues implied by the project requirements. This project is
built on three stages first one the Admin browser second is J2ME (Java 2 Micro Edition) mobile
application for students and the third is Database (backend). There are few elements and
important stages of design are already described in section 4.2.
As it is said earlier this project is built on three stages so all are divided into the parts. The
admin panel for administrator is on the first stage, Database which is running on the backend
on second stage, the final stage the front end for users (students). It was decided there would
an admin panel for administrator which would be implement first and the administrator is
going to send a request (which contain alert or message) to a server from where the server
will process the request to database running on backend and fetch the data from the related
table and process back the request to server then server establish communication to students
mobile devices through Wi-Fi wireless router the request is now processed to students
through wireless router. Same scenario is repeated for student in a reverse order.
When the application was started “Form registration” was not considered to be in this
application but through with implementation and analysis process this resulted into new
requirement is created. Project design basically deals with the time frame and cost factor but
in this application time frame has been considered.
5.2 Design Considerations
47
To develop mobile application there are few things which needs to be considered
during designing stage. It is better to built small applications because its uses less memory on
the device and takes less time for installation. As considered for the above application
compressed in Java Archive (jar) files. It is important to manage the memory efficiency by
setting object references to null and not to depend on the garbage collector which has been
done in the coding stage .For minimizing the memory usage the other way is to only allocate
objects that are needed. Allow the server to do the most of the work, move the
computationally intensive task to the server and allow the server to run them for you. Allow
the mobile device to handle the interface and minimum amounts of computation, and allow
the server to do the intensive work. Then the language is been considered J2ME (Java 2 Micro
Edition) is the best choice depends on the needs and the experience in java.
In terms of alternative design model the spiral design model was also studied, however it
was not implemented. The spiral model more emphases in placed on risk analysis. The spiral
model has four stages Planning Risk, Analysis Engineering and evaluation. This model was not
implemented because it doesn’t work well in the smaller projects. The Campus Wi-Fi mobile
application is a small project which does not go well with the spiral model. It is a costly model
to use.
Why this project is designed in this way
The reason for designing this application in this way as it is because the above design
was easy to implement and understandable. The user has a simple navigation and it was easy
to follow the functions of the application. The structure of the application is easily
understandable. The administrator browser was built in the first stage because it is useful to
start the work with developing the back end because the mobile development is much more
complex as compare web based applications. The design of the admin panel was simple each
functionality has divided into different section. The database for the application is built on the
second stage which runs on the backend, in this stage all the objects and functionality are well
known so it was easy to create the tables without any further changes. The last stage mobile
application was built because at this stage most of functions are already defined in the admin
panel the only difficult part was to establish a communication network. If the mobile
application was built in first stage then there would be some complications because of lack of
experience in mobile application.
48
5.3 Payment Idea in Existing System
When this project was chosen there was functionality in mind to provide a payment
facility to students from their mobile devices (a method to pay dues), however it was not
implemented in real application because of security issues and limited period of time of the
project. The Payment section would be a functionality given to students where they the pay
their dues from their mobile phone. The concept is students would be having some amount of
money in their university accounts (balance amount), and administrator can view the balance
amount of the each student in the admin panel.
For Example Administrator is going to send alert to all the students that they need to pay 50
GBP pounds for the upcoming examination fee. So the students will make 50 GBP pounds
payment from their mobile device (payment section) and 50 GBP pounds would be deducted
from student’s accounts and new balance can be viewed by the administrator. Students
probably can send a query to administrator to ask what the balance amount in their account
is.
The below figure shows how Payment function can be added in the given system. The Figure
shows Administrator post /add event which is sent to students, they view the event and found
in the description there is a fee of 10 GBP pounds to get registered for the event .Student is
making a payment from their mobile device the request fetch the required data from the
payments table and process the request (user is registered).Administrator can view the
payment made by the students in admin panel.
Post/Add Event View Event
Make Payment & register
Event
RegistrationAdministrato
r
(Admin)
Students
49
View Payment
Figure 13.1
6 Data Structure
[6] Database is used to store and manage data. I have used MY SQL (Structure Query
Language) Database for this application. The design of the database is developed by the
requirements of the project. Having a well defined relational database is a basis for building
interactivity and ease of information processing with less cumbersome in a contents
management system. My SQL is open source Database management system. Database is a
collection of data it can be anything record of Students or University. To add, access, fetching
one information from a huge amount of data we need a database management system. MY
SQL is RBDMS (Relational Database Management System), a relational database stores data in
different instead of putting all the data in one big workplace that’s add speed and flexibility to
database. I have used Servlet application to fetch data from the database.
Payment
_table
50
Figure 14
The Figure 14 shows the design of the database .Name of the database is Campus (bold font)
on the top right side of the figure.
The designs of the database depend on the requirements of the project. The main purpose of
the project is to design a contents management system to manage Students and University
Administrator. The most important table is the user table in which all other tables depend on,
the user table contains the attributes of each user admin or student, while user table alone
cannot meet the diverse needs of the project and more other tables are created and are
related to the member table. The description of each of the attributes in the table is outlined
below:
• Course Table shown on figure 14.1 which provide information about the course
Identification number and name of the course.
Field Description
Course_id Course Identification No or ID
Course_name Name of the course
Figure 14.1
• Description of Form Registration table shown in figure 14.2
Figure 14.2
• Description of Message Table Below is the figure 14.3
Field Description
Message_id Number of the message
Field Description
Form_id Number of the event or form
Title Title of the event
Description Description of event
Entry date Entry date for event
Expiry date Expiry Date for event
51
Message_type Message type or which topic it is concerned
Student_id Student ID number
Msg Content Of message
Date_time
Field Description
Post_id Identification number for Event
Student_id Student Id number
Post_type Type of Event
Message Content of Event
Date_time Date and time of Event
Status Status of an event
•Description of Posting Table is shown in figure which is above 14.4
• Description of Resource Table is below shown in figure 14.5
Field Description
Resource_id Number of an uploaded resource
Course_id Which course It is related to
Title Title name of the resource
Fileurl Url of the resource to download
Description of Student Table is shown in 14.6
Field Description
Student_id Student id number
Name Name of the student
Course_id Course identification number
Course_year Year of the course
Age Age of the student
52
Dob Date of the birth of the student
Figure 14.6
Description of Unread Message Table is shown in figure 14.7
Field Description
Msg_id Message number
Student_id Student ID number
Figure 14.7
User Table is the most important table of database which provide description of user
when new user is create by admin that user is created by this table .It is advised not to
delete this table.
Field Description
User_id Used Identification number
Username Name of the user
Password Password of user and admin
User_type User type whether it is admin or student
Logged_n Login Info
Figure 14.8
53
6.1 Real Phone Environment
It is quite interesting to run and test mobile applications on emulator but sometime it
does create problem and became important to test application on real mobile device,
however chances are very low for this scenario. Through Eclipse we can create a jar file after
the jar file is created we need to install that .jar file in mobile device after the installation is
successful we can use the application to test on real mobile phone.
When I was testing the application in real mobile device there was difficulty to connects to
networks, sometimes user not able to connect to shared networks it usually happened
because connection is not established between the network and mobile device, as a
suggestion it better to confirm IP addresses and default gateway settings of the network and
the mobile device. Sometimes users test the applications and it doesn’t go through and they
try to find mistake or error in the code but usually it happens because the device is not able to
establish connection to network. I have faced this issue in the beginning of testing the
application on real mobile phone.
6.2 Analysis
Feasibility Study
The feasibility study plays a major role in the analysis of the system. The decision
of the system analyst, to design a particular system depends whether the system is feasible or
not. Hence, the feasibility study forms the very basic of the system. The feasibility study can
be categorized into:
Technical Feasibility
54
It has been determined that the technology which is required for the system is
available and this technology can be used into the application. Technical evaluation has also
evaluated the existing system to find that it cannot be upgraded in keeping with the user’s
needs. Hence, we need to create an entire new system which caters to the specific needs of
the user. The end user can be equipped with the pre-mentioned hardware and software
requirements.
OPERATIONAL FEASIBILITY
There are two aspects of operational feasibility for the system. One aspect is
that of technical performance and other is of acceptance. It has been determined that the
system can provide correct and timely data required for the end user needs. Also it has been
determined that the system will be accepted by both users (students) and administrator with
and without technical knowledge.
Economic Feasibility
The economic feasibility of the system is mainly concerned with its financial
aspects. It determines whether the project is economically feasible. As the hardware and
software are already available easily in the market, no further investment is to be made in
that direction, the only cost involved is that of implementing the system. The front end system
is built in jdk1.5.0 which is freely available. The backend is built in MS Sql server which the can
be made available with easy efforts and lower cost. Also since the application works on
middle-level phones it is not necessary to spend a lot of money in obtaining a phone.
It was decided that the project was technically feasible because of the following:
• Necessary technology exists to do what is suggested.
• The system would be expandable if so decided.
55
• The system can be integrated with other networking tools and output of the
system can be provided to other tools for high end analysis.
• This system is technically more secure.
56
7 Conclusion
7.1 Summary
The purpose of this project is to develop an advanced Mobile Application
information system between university administration and students with the use of WI-if
technology, the requirements of the project was a due consideration at each stage of the
development. Designing such an application to meet the aspirations of many users seems
complex at the beginning, but the work at the end was able to meet all the original goals. The
basic idea is to provide fast and reliable information service to students in the campus
environment. This application provides an interface where students can communicate to
university administration through their mobile phones.
To build such application, many technologies had to be learned to integrate some of the
functionalities used to establish communication between mobile and admin browser .These
technologies are learned and their usage as seen on the website was limited by the level of
knowledge and understanding within the time frame.
The MYSQL is used to design the relational database, JSP for structure and display, Servlet for
structure, fetching database from backend and establish a connection between J2ME (Java 2
Micro Edition) java classes to server. All these technologies are used in order to explore their
functionalities and usability.
7.2 Evaluation
The project is developed to design an information system between the university
administration and students; the objective is to communicate to students by sending
information’s (alerts or messages) on their mobile device through Wi-Fi technology. This
application based on the well known open source technologies Java 2 Micro Edition (J2ME),
JSP (Java Server Pages) and Servlet.
57
All the four objectives of the application were achieved successfully. This project is evaluated
on usability testing which becomes necessary to validate the claims made in section [4.2
testing] and to suggest possible areas of improvement and future work. Two users (students)
were selected for the purpose of usability testing. These numbers might not be perfect
enough for testing, but it is enough to test the functionalities of this project within the limited
period. These potential users are divided into two parts one user_1 within administrator given
login details to login in into administrator panel of the application to test the functionalities
within the admin panel, and the other user_2 (student side) within the student section given
the login details to login in to mobile application. This testing is done on emulator not on the
real mobile device.
Both the applications are running on different systems. The user_1 from the administrator side
deployed and run the application on laptop A after the successful login he was able to see the
admin browser. The user_2 has opened the emulator on another system (laptop B) and logged
in to mobile application side of the application. User_1 (admin panel) sends the alert message
from his system and user_2 has received that message on emulator which is running on
another system (laptop B) with the alert sound. To test the second functionality user_2
(student side) sends a new query to ask a question to administrator and that message is
received by user_1 (admin) in the manage student post section of the administrator browser,
both user_1 (administrator) and user_2 (student) exchanged few messages and as a result
both are able to communicate each other like a chat window. Both of the above functionalities
meet the original requirements which were decided in project objectives. To test the third
functionality user_1 (administrator) has uploaded assignment and it was added successfully
which is viewed by the user_2 (student) on his emulator, however this functionality has some
issues which is discussed below.
When administrator adds resource, assignment (.pdf or .doc) file in the Manage Resources
section of the admin panel. On the emulator or mobile device when students click to view file,
the mobile application shuts downs. The MIDlet goes to destroy state and shuts the mobile
application user need to login again to view that .pdf or .doc files .This is one of the problem
faced in this application. This functionality was not actually working the way as it is discussed
in objectives.
58
The final functionality event post and registration is also tested. User_1 (admin) has posted an
event in Form Master Section of admin panel that post is viewed by the user_2 (student
) on emulator in Event Forms section of the mobile application user_2 (student) registered for
that event from their mobile device. User_1 (admin) viewed the registered members in the
registrations section of the admin panel, which gives the information to administrator which
student has registered for particular event.
This project is not tested on big scale in real mobile phones, it was just once tested on mobile
phone and the outcome was similar as it is working on emulator. The results of the usability
testing deduced the project has meet the technical demands and original requirement of the
Administrator and Students, however functionality three viewing the files on mobile phones
needs to improved.
Apart from all the good qualities there is little section which can be improved for better
results. When user (students) sends a query to administrator to ask any question via new
query there is no way where administrator get any alert sound or anything to point out new
message is received from students, administrator needs to click manage student post section
to check new messages. It would be nice to provide functionality where administrators get to
know on the admin panel a new post or query from students. The same problem exists (on
student side) when administrator upload or add resources, students need to check the get
resources section of mobile application to find out whether any files (assignment ) are posted
or not , it could be better if students gets a alert sound when they got any files from
administrator. All over this application is successful and meets the original requirements of the
project.
7.3 Limitation
This application is limited and only available for students who have java enable
mobile phone. In the real time university environment students uses different phones where
each has different functionalities for example Android, IPhone those users can’t use this
application because it is built on J2ME(Java 2 Micro Edition) environment (only for java
enabled mobile device). Apart from this java enabled mobile device should have a Wi-Fi
technology to access or get the benefit of this application.
59
Multiple devices can be connected to the system, however when multiple devices are
connected through single router (physical device which connects network) the performance
will suffer. The wireless router is varying in the Wi-Fi range. The router with strong Wi-Fi
signals allows the multiple devices to connect at the higher speed even in a greater distance,
[10] the router Wi-Fi coverage depends on the access point. The typical wireless access point
using 802.11b or 802.11g with the stock antenna have a range around 32 meter ( 120ft)indoor
and 95 meter (300ft) outdoors , however IEEE 802.11n provides the range by more than two
times.
This application is limited or accessible only in the Wi-Fi coverage; students can only access
the application if the mobile device is in the range of the wireless network of campus. The Wi-
Fi coverage is range of the wireless router. This System can be spread to a larger area with
multiple wireless routers to provide greater coverage to the users (students); however it is not
tested with multiple wireless routers.
7.4 Future Work
The development of a mobile application is technically more complex and can be built
in different platforms which would be having their advantages and disadvantages, and this
may provide a user different interface. The Campus Wi-Fi application is open application which
can be extended by adding more features or using different platform according to the demand
of the users.
The website could be deployed in future on other alternatives technologies and customized
the functions depending on user’s requirement. When I have started this project I have a
function in mind called payment or transaction, this will provide a facility to student (user) to
pay his due fee or any payment to the university department through his mobile device in
future I am going to extend this application to add this function that’s why my application still
consist few element of transaction in coding.
60
The application can be broad by adding functionalities as per the user requirement. In my
view it would better idea if students can have a task section on the mobile device .A task
section will allows the students to see the due assignment dates and probably a calendar
where student can set the reminders. It would be great if student can view the module
lectures from the mobile device. And probably broad this application which not only works in
wi-fi range (wi-fi technology) but also can be accessible through internet from the mobile
phones, it will give an opportunity to students to access the application from anywhere.
The application can extend farther more by using different platform Android is one them.
Android application also based on java easy to build and provide user friendly interface. When
building an application for student we have to keep in mind that student’s uses different
phones and Android is most popular these days. So if any university is going to implement this
application in real time environment they have to build this application on different platform
to fulfil the requirement of the users (students).
61
References
1) http://home-networking.wikidot.com/wireless-vs-wired
2)http://www.google.co.in/search?q=wired+and+wireless+connection&hl=en&gbv=2&imgrefurl=http://wiresolutions.blogspot.com/2011/01/quick-guide-to-configure-wireless.html&w=299&h=287&ndsp=15&tbm=isch&tbs=simg:CAQSEgmko8jI3O4ygyGeVxgPvEK3Aw&sa=X&ei=Gu9wTqz3IofsrAeeiNWOBw&ved=0CAQQrBE4Dw&biw=1024&bih=6303) ITNP92 University of Stirling lectures written by David Cairns and Jesse Blum Spring 20104 ) http://en.wikipedia.org/wiki/MIDlet5) www.blackboard.com/Platforms/ Mobile /Overview.aspx
6) http://dev.mysql.com/doc/refman/5.0/en/what-is-mysql.html
7)http://www.java.com/en/download/faq/whatis_j2me.xml”,
“http://java.sun.com/products/cldc/wp/KVMwp.pdf”
8) http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition
9)
http://www.ericsson.com/ericsson/corpinfo/programs/using_wireless_technologies_for_context
_sensitive_education_and_training/products/giunti_ericsson_wp3.pdf
10) http://en.wikipedia.org/wiki/Wi-Fi#Range
11)www.java.sun.com
12) www.j2me.org
13) http://en.wikipedia.org/wiki/Wireless_ad_hoc_network
14) http://www.blackboard.com/Platforms/Mobile/Products/Mobile-Learn.aspx
15) Complete Reference J2ME
16) http://www.javaorigin.com/tutorials/53/19/53/Servlet_Basic_Tutorial
62
Appendix 1
1. Does the application have the required functionality?
The answer is yes, my application have all the functionality which was decided in the project
Objective, the main goal of the application is to send alert /update for example if
there is certain changes in the time table of lecture ,and it is quite usual that student can’t
be online on computer system all the time in university environment with the above
functionality student will get a alert pop up in his or her mobile device with would be time
saving for him. Second main goal was the post request from student’s side if student can ask a
question from administration through new query and admin can reply to that that query
frequently it would work like a chat facility which would be beneficial for student because
user is not required to on his laptop or computer this can be done through his mobile device.
The third main goal of the application , (file sharing) university administration can upload file
and send to student whether it’s assignment result s or posting new assignment and student
can view or download these document on his mobile device. My application is accomplished
to achieve successfully all these main goals.
2. How application function during the testing?
Application works perfectly which is been tested on emulator very often and tested in real
phone only once and performed in appropriate way. This application is build on Eclipse Helios.
Expect that resource (MIDlets destroy) issue which discuss in evaluation section of the
dissertation the application is working very well without any error. Developer can delete the
records from the backend in MY SQL database.
63
3. Interface is user friendly or not?
The application design is fully considered by analyzing the users requirement that’s why this
Application provides user friendly interface not only for the administration but also to
Students. It is easy for Admin to send message, add or update student records and on the
Student prospective using the campus application is very easy.
4. Why this Topic is chosen?
Mobile devices, especially smart phones were became
life line, so why not provide few advanced feature through wi-fi technology to
students in the campus inviorement. Mobile applications are interesting to build that’s
why I have chosen the above topic.
64
Appendix 2 – User guide
How to use the software:
In Real-Life Model:
• Service Provider End:a. Let the class files of the servlets be put up in the application folder of
the web server which supports processing of j2ee.b. Start the web server on the host.
• User End:a. Run the jar file on a mobile phone which supports java.b. Log in with a correct username and password to access the services
provided.c. After logging in, select the required service.
65
Appendix 3 – Installation guide
About software:
The user would be provided with an executable jar file which would help him connect
the web server to get the required service.
Software Requirements
Tomcat server
Java Wireless toolkit [J2ME]
JDK 1.6
Windows Operating System
My SQL
Eclipse Helios
66
Appendix 4
Login Process through Diagram
Request Login Request Login
User Authenticated Admin Authenticated
Figure 15
The above figure 15 shown that’s how the login process wok in my application. User
request a login through his username and password login process search for match
able username or password in login table and authenticate user to Login.
LoginUser
Admin
Login
Table
67
Appendix 5
Add and view Resource process
Add files(Resources) View/Download
Figure 16
The above figure 16 provide a view how application behave in Resource adding
option .We can see Admin adding a resources ,its url is added in resource table from
where student can view or download that resource.
Resources
Admin Student
Resource Table