Context based notification system for ciit vehari



Download 4.81 Mb.
Page2/19
Date28.05.2018
Size4.81 Mb.
#51207
1   2   3   4   5   6   7   8   9   ...   19

COMSATS Institute of Information Technology
CONTEXT BASED NOTIFICATION

SYSTEM FOR CIIT VEHARI

A Thesis Presented to

COMSATS Institute of Information Technology, Vehari

In partial fulfillment

Of the requirements for the degree of

Bachelor of Science

in


Computer Science
Department of Computer Science

By

Muhammad Haseeb Nusrat



CIIT/SP14-BCS-023/VHR

Muhammad Sohaib Ramzan

CIIT/SP14-BCS-025/VHR
Fall 2017

CONTEXT BASED NOTIFICATION

SYSTEM FOR CIIT VEHARI
An undergraduate thesis submitted to the Department of Computer Science as partial fulfillment of the requirements for the award of Degree of Bachelor of Science in Computer Science

Name

Registration Number

Muhammad Haseeb Nusrat


CIIT/SP14-BCS-023/VHR

Muhammad Sohaib Ramzan


CIIT/SP14-BCS-025/VHR

Supervisor

Mr. Farman Ullah

Department of Computer Science

Signature of Supervisor: __________________ Date: ________


COMSATS Institute of Information Technology Vehari

Jan, 2018

Final Approval

This Thesis Titled

CONTEXT BASED NOTIFICATION

SYSTEM FOR CIIT VEHARI

By

Muhammad Haseeb Nusrat

CIIT/SP14-BCS-023/VHR

Muhammad Sohaib Ramzan

CIIT/SP14-BCS-025/VHR

External Examiner: _________________________________________

Dr. Shahid Kamal Assistant Professor , Department of Computer Science Gomal University D I Khan

Supervisor: _________________________________________

Mr. Farman Ullah Lecturer, Department of Computer Science COMSATS Vehari

Internal Examiner: __________________________________________

Dr./Mr. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Designation:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Department of Computer Science COMSATS

Institute of Information Technology, Vehari

Convener Project Committee: __________________________________________

Dr./Mr. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Designation:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Department of Computer Science COMSATS

Institute of Information Technology, Vehari

DECLARATION

It is certified that the research work presented in this thesis is to the best of my knowledge my own. All sources used and any help received in the preparation of this dissertation have been acknowledged. Hereby, it is declared that this material is not submitted, either in whole or in part, for any other degree at this or any other institution.

Date: _______________ Signature of the Student: _______________________________

Muhammad Haseeb Nusrat

CIIT/SP14-BCS-023/VHR

Signature of the Student: _______________________________

Muhammad Sohaib Ramzan

CIIT/SP14-BCS-025/VHR



CERTIFICATE

It is certified that Mr. Muhammad Nusrat Haseeb (CIIT/--/VHR) and Farman Ullah (CIIT/--/VHR) have carried out all the work related to this thesis under my supervision at the Department of Computer Science COMSATS Institute of Information Technology, Vehari. And the work fulfills the requirements for award of BS degree.

Date: ______________ Supervisor: ____________________________________

Dr. Aqeel

Lecturer, Department of Computer Science

CIIT, Vehari



DEDICATION

To Almighty ALLAH and the Holy Prophet Muhammad (P.B.U.H)

&

My Loving Family

ACKNOWLEDGMENTS

.

ABSTRACT

Context-awareness has become an important feature of event recommendation and notification systems. So far, several studies in tourism and education domains have provided good results on using different context data and delivering messages based on this context- aware environment. Although many context data are gathered, the analysis of these context data for a proper recommendation still remains insufficient. Even if the recommendation itself is said to be successful, delivery performance, in other words, notifying the message recipient under appropriate conditions, is still inadequate. We propose a context based event notification system enhanced with a business rule engine for context data evaluation. We aim to improve event notification performance by aggregating various context data, making complex inferences and finding the most suitable time to deliver messages for the subscriber by applying the business rule concept. Furthermore, in order to semantically analyze event details and infer new relationships, we utilize semantic analysis by using linked data. To validate our proposed system, we implement a working prototype incorporating event publishers, an event management server composed of a business rule engine, a semantic analysis module powered with linked data and an event dispatcher component, as well as internal and external context sources. The applicability of the system is demonstrated by evaluating it against several sample scenarios.

TABLE OF CONTENTS

Chapter 1

Introduction

1. Project Introduction…………………………………………………………09

1.1 Project Category (Mobile Application)……………………...…10

1.2 Objective………………………………………………………..11

1.3 Problem Formulation…………………………………………... 11

1.4 Identification of Need…………………………………………..12

1.5 Existing System……………………………………………..….12

1.5.1 Limitations of Existing System…………………….…12

1.6 Proposed System……………………………………………………..…..13

1.7 Unique Features of System……………………………………………….13



Chapter 2

Requrements

2. Software Requirements Specification (SRS)………………………….…..15

2.1 Data Requirements………………………………………….…...16

2.2 Functional Requirements……………………………………..….16

2.2.1 User Functional Requirements………………………16

2.2.2 Admin Functional Requirements……………………16


2.3 Non Functional Requirements………………………………….17

2.4 System Dependability………………………………………….....17



Chapter 3

Design

3. Software Design……………………………………………………………18

3.1 Design Approach……………………………………………..…...19

3.2 Detail Design………………………………………………….…..19

3.3 Data Flow Diagram………………………………………………...21

3.3.1 Level 0……………………………………………………………21

3.3.2 Level 1……………………………………………………………22

3.4 Software Architecture……………………………………………....23

3.5 ER Diagram/Database Schema………………………………….….24

3.6 Use Case Diagram ………………………………………………….25

Student………………………………………………..…..25

Admin…………………………………………………...…26

3.7 Sequence Diagram…………………………………………….…..27

3.8 Methodology………………………………………………………28


Chapter 4

Implementation

4. Implementation………………………………………………………………30

4.1 Introduction to Languages, IDE’s, Tools and Technologies Used For Implementation…………………………………………………......30

4.1.1 Java…………………………….…………………………..…..31


4.1.2 Android Development Tools ………………………………….….31

Chapter 5

Testing
5.1 Test Plan ………………………………………………………………………..34

5.2 Types of Software Testing………………………………………………………34

5.3 Test Cases……………………………………………………………………….36

5.3.1 Admin Panel Test Cases……………………………………………36

5.3.2 Android Application Test Cases……………………………………37

Chapter 6

Conclusion and Future Scope

6.1 Future Scope…………………………………………………………………55

6.2 Conclusion…………………………………………………………………...55

Appendix

Appendix A: Admin User Manual……………………………………………………………39

A.A. Add Student……………………………………………………....39

A.B. Edit Student……………………………………………………….40

A.C. Delete Student…………………………………………………….41

A.D. Add Department…………………………………………………..42

A.E. Edit Department…………………………………………………..43

A.F. Delete Department………………………………………………..44

A.G. Add programme…………………………………………………..45

A.H. Edit Programme…………………………………………………..46

A.I. Delete Programme…………………………………………….…..47

A.J. Send Notification……………………………………………..…48

A.K. Notification List……………………………………………...….49

Appendix B: Student User Manual……………………………………………...….50

B.A. Dashboard………………………………………………………....50

B.B. Notification List……………………………………………...……51

B.C. Notification Description………………………………………..52

B.D. Feedback…………………………….……………………….…53



Chapter 1

Introduction

With the technical improvements in mobile devices, location finding via GPS and other wireless sensors has become a basic feature of mobile phones. In context-aware event recommendation and message delivery systems, location information is the fundamental context data used for recommending geographically related events. For example a student who is outside the campus will not receive the notifications which are only for the students who are inside the campus.

COMSATS Notification System (CNS) Android App helps you access online notices on your phone. It is an online notice board maker where a group of people can easily get notification according to their context information. These notes can have only text information.

The notice board has always been the place where staff/students gathers to get their latest release of corporate news. CNS brings the notice board to a virtual location where students can read notices from their own desks or homes. With this electronic notice and announcement system, notification alerts may be sent out notifying students that a new notice has been posted.

With the advent of mobile and pervasive computing era, smart phones became ubiquitous, and wearable devices are getting traction. A significant portion of the applications for these devices relies on remote servers on the cloud, and Firebase Cloud Messaging (FCM) is a popular service as a client/server communication solution for Android.

FCM is a service which allows developers to send push messages to Android devices from the server. FCM handles the queuing of the messages as well as delivering those messages to the target applications on the devices. FCM is a free service by Google, and it has no quotas. It is the default push messaging solution for the Android platform.

These are the features that CNS App has:


  • An electronic dashboard board for disseminating information students.

  • Notices can be posted.

  • Staff or student can be notified of new postings via push notification alert.

  • Administrator may push important notices in to selected students.

  • Administrator may create any notice category.

1.1 Project Category (Mobile Application):

”CNS App” is a mobile application i.e. an Internet based Mobile application. A mobile application is a computer program designed to run on smartphones, tablet computers and other mobile devices. Apps are usually available through application distribution platforms, which began appearing in 2008 and are typically operated by the owner of the mobile operating system, such as the Apple App Store, Google Play, Windows Phone Store, and BlackBerry App World.

Mobile apps were originally offered for general productivity and information retrieval, including email, calendar, contacts, and stock market and weather information. However, public demand and the avail- ability of developer tools drove rapid expansion into other categories, such as mobile games, factory automation, GPS and location-based services, banking, order-tracking, ticket purchases and recently mobile medical apps. The explosion in number and variety of apps made discovery a challenge, which in turn led to the creation of a wide range of review, recommendation, and curation sources, including blogs, magazines, and dedicated online app-discovery services.

Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing, downloaded by customers from various mobile software distribution platforms, or delivered as web applications using server-side or client- side processing (e.g. JavaScript) to provide an ”application-like” experience within a Web browser.

Application software developers also have to consider a lengthy array of screen sizes, hardware specifications and configurations because of intense competition in mobile software and changes within each of the platforms. Mobile app development has been steadily growing, both in terms of revenues and jobs created. The popularity of mobile apps has continued to rise, as their usage has become increasingly prevalent across mobile phone users.

1.2 Objective:


  • The proposed system’s objectives are to overcome all the limitations and drawbacks of the existing system.

  • The main objective of the application is its simplicity of design and ease of implementation that shows and helps to collect most of the information about events going on in campus premises. The interface will be very user-friendly.

  • To automate the current procedure of managing and controlling the information about the student details and to reduce the overhead of managing paper documents for every announcement and notices being made.

  • The proposed system will keep the information on a central server while allowing users to access that information from their own Smartphone through the installed android application.

  • There will be an optimized database on the server and an improved user interface on each client machine i.e. on the CNS app installed on the user Smartphone. The developed application will be used by students and the administrator.

1.3 Problem Formulation:

To develop a mobile application that will help you receiving the notices from the campus, anywhere, anytime. Earlier there was problem that notices were pasted on notice board. If there is holiday on the next day, nobody will be able to read it. Moreover any update on website is also very difficult. Everyone feels lazy to go and update the website data. The more easy way is, just type in message sitting wherever and post by pressing a button. It will notify all the students registered with that application.



1.4 Identification of Need

1. As we discussed earlier that manual maintenance of a notices is a tedious job. So to enhance the ease of working, we go for this package.

2. Giving the facility to convey messages to all students anytime and anywhere.

3. Making students updated about all the events and activities going on in the campus.

4. The student will not require to stand in the crowd to see the notice. There will be no issue of fighting in order to see the notice first. Everyone is first to see that notice inside their own mobile phone anywhere and anytime.

5. The least but most important it saves time.

6. Utilizing less man power. As there are many persons involved in circulating the message. With this application, only one person is required to post the notice. Rest of the man power is saved in the entire process.

1.5 Existing System:

Currently our campus has manual system of putting notices on notice board. Its outdated now. As nobody has a time to stand in rush in order to read the notices on noticeboard.


1.5.1 Limitations of Existing System:


  1. Order of Data: Notice can get out of order in traditional notice board system. If someone accidentally puts some data in the wrong place, it can lead to lost data. Automated notice management systems allow users to quickly check whether information already exists somewhere in the system, which helps avoid problems like redundant data.

  2. Complexity: Automated system is less complex than manual system of handling notices, which can make it easier for untrained people to access and manipulate data. Anyone having the basic knowledge of mobiles can work on the automated system.

  3. Inconsistency of data: There will be an unavailability for future use, since notice might get misplaced during manual notices management. So notice won’t be preserved properly for future use.

  4. Damage: Manual notices stack are vulnerable to damage, destruction and theft in ways that digital databases are not. A company may back up its digital data both on site and at offsite locations, ensuring its security if the office building suffered a fire or similar disaster. A manual database, however, may only exist in one place without any copies. As a result, a manual database would be very vulnerable to a fire or other natural disaster. In addition, while access time in a manual database system, information must be found by hand rather than electronically. While a digital database will typically allow users to search the entire database for specific information in seconds, someone looking for information in a manual system may have to spend hours searching for a particular piece of data.

  5. Editing and Communication: Manual notices do not allow users to easily edit data or information. Manual notices often cannot be edited directly, forcing users to make new copies. To circulate notice on paper, users must require peons and other staff. CNS app allow users to edit information fields directly, and because data is stored digitally, it is already in a form that can be easily transmitted.

1.6 Proposed System:

Proposed System will be able to do the following:



  1. To eliminate wastage of time and energy: CNS app will be able to save lot of paper and time. It directs both teacher and pupil’s energy and attention to one thing at a time by placing proper persons at their proper places at the proper time. Everything will be instantaneous.

  2. To avoid duplication and overlapping: This application will help to remove the duplicity of notices. Only one person, who is admin can post the notice. No one else would be able to do so. So student and staff will be given correct information all the time.

  3. To ensure due attention of student to each and every notice: CNS App ensures that everyone has kind attention to every notice and updates going on in campus. There will be a buzz at each and every notice to drive the attention of student to check it once. In this way, students will be well informed about their campus activities.

  4. To bring system into campus life: It would be dire need of all campus as its easy and shortcut method to inform all the students. In the absence of proper notification system will make it very difficult to inform students at right time.

  5. Searching a particular Notice: This application allows you search the notice very easily through title of notice. If anyone forgets about the notice details, he can search it out very easily.

  6. Free Service: It gives free service to notify all the students. There will be no cost of sending notification to all. Just have the good system implemented in campus and that too free of cost.

  7. Prevent Crowd in Campus: As you can see, there is always a crowd at notice board. As notice board is one, and people to see notice are more. With this application there will be no more crowd. Everyone will be well informed even at their homes. So they are free to do there other work.

  8. Automatically Updated Dashboard: The dashboard of notice is automatically updated when a new message arrives. The user can himself refresh the dashboard to see any new notice.

  9. Anytime Anywhere Service: With this application, notices will be delivered anytime and at any place. There is no restriction of time to send a notice.

  10. Keeping Notices at one place: This application allow you to have notices in one place only. If there is an attachment with that, all will be placed in a separate folder dedicated to that application. So there will be no here and there of notices.

1.7 Unique Features of System:

The unique features of this application are as follow:



  1. FCM Notification: Firebase Cloud Messaging has been used to broadcast notices to all the students who are registered with this application. It will help you receive the notice even if you application is closed. So it implements anywhere anytime notifications. Firebase Cloud Messaging (FCM) is a free service for sending messages to Android devices. FCM messaging can greatly enhance the user experience. Your application can stay up to date without wasting battery power on waking up the radio and polling the server when there are no updates. Also, FCM allows you to attach up to 1,000 recipients to a single message, letting you easily contact large user bases quickly when appropriate, while minimizing the work load on your server.

  2. Context Based Notifications: This system sends notification on the basis of the context information of the students. Context information may include the location and identity of the student. E.g. the notification which is only for students who are outside the campus will not be delivered to the students who are inside of the campus.

  3. Anytime Anywhere Service: With this application, notices will be delivered anytime and at any place. There is no restriction of time to send a notice.

  4. Free Service: It gives free service to notify all the students. There will be no cost of sending notification to all. Just have the good system implemented in campus and that too free of cost.





  1. Chapter 2



  2. Software Requirements Specification (SRS)

  3. 2.1 Data Requirements:

  4. Data requirement is meant to be the data that will be used in our application. Data required in this project is all notices that need to be conveyed to the user. This application also require the username and passwords of persons in order to register them and sending notification about updates. So two main requirements are:

  • Notice Details

  • User Details

  1. 2.2 Functional Requirements

  2. In order to make this application functional, we require the following:

  3. 2.2.1 User Functional Requirements:

  • User Login:

  1. The user should be able to log in to the mobile application. The log-in information will be

  2. stored on the phone and in the future the user should be logged in automatically.

  • Reset Password:

  1. Given that a user has registered, then the user should be able to retrieve his/her password by e-mail.

  • Dashboard:

  1. Given that a user is logged in to the mobile application, then the first page that is shown should be the dashboard page. The user should be able to see all the campus notices.

  • Selecting a Notice:

  1. A user should be able to select any notice from list view. The click on particular notice will take him to notice details of that particular notice.

  • Navigating back to Notices List:

  1. The user should be able to navigate back to notices list from the notice details section. This is required to give a good user experience.

  • Notification Alert:

  1. All the registered users should be able to have a ping or notification on their mobile phone via FCM whenever a new notice is posted.



  2. 2.2.2 Admin Functional Requirements:



  • Admin Login:

  1. Admin should be able to login to the admin panel so than he can post notifications. Admin should require username and password for login.

  • Add/Delete/Update Student data:

  1. Admin should be able to add student data and he can modify student information. Admin can also delete a student data from database.

  • Post Notification:

  1. Admin should be able to send notification to students. He/she can select students of specific department, programme or batch. Admin can also send notification on the basis of location of the student whether inside the campus or outside the campus.

  • Delete Notification:

  1. Admin should be able to delete the sent notifications.



  2. 2.3 Non-Functional Requirements

  • GUI Design:

  1. Android application and Admin Panel Interface should be easy and attractive.



  • Registration with FCM:

  1. Registration of android device with FCM is required in order receive notifications.

  • Security:

  1. A student can only view the notifications that are delivered to that particular student.

  2. 2.4 System Dependability

  3. Following are the requirements that an application require from the device/mobile on which it is installed.

  • Internet Permission:

  1. Application developed, require full internet permissions of mobile so that it can fetch notices from the server. At the same time, it should be able to receive buzz or notification tone whenever new notice is posted by admin.

  • Location Permission:

  1. Application require device location permission so that it can identify the location context of the user to deliver appropriate notifications to users that are suitable for their context.

  • Account Info:

  1. It also fetches your Google account information in order to get the user registered with Firebase Cloud Messaging (FCM).



  2. Chapter 3

  3. Software Design

  4. 3.1 Design Approach

  5. A design approach is a general philosophy that may or may not include a guide for specific methods. Some are to guide the overall goal of the design. Other approaches are to guide the tendencies of the designer. A combination of approaches may be used if they don’t conflict. Function Oriented Design Approach:

  6. Function Oriented Design Approach is partitioning of a design into subsystems and modules, with each one handling one or more functions. Contrast with object-oriented design, data-structure-oriented design.

  7. This application project uses function oriented design approach. Every module and sub modules are made, based on their functionality. These modules are designed and implemented separately and then they are integrated together to form the desired application.

  8. 3.2 Detail Design

  9. The detailed design of this application is as follow:

  1. User Login:

  1. After registering, the user is allowed to log in. Username and password after validating at client side, is sent to server side to authentication. After authentication response is sent by the server to client, and then user gets logged in.

  1. Viewing the Notices:

  1. At the first time, when you are using this application for the first time, it will fetch all the notices from server. In all the other case, all previous notices are fetched from application’s own database stored inside client mobile. It then checks for new notices from the server. If there are new notices on the server, it will fetch all those notices.

  1. Posting a Notice:

  1. If a user is an admin, he is able to post the notice using admin panel. Admin can send notification to the students of specific department, programme or batch. He can send notification on the basis of location of the student as well whether the student is inside the campus or outside the campus.

  1. Notification Buzz:

  1. As soon as the admin post a notice, the script will run with which request is made by FCM Server to Web Server for all the registered IDs. After getting all the registered IDs, notification is sent to all the users registered with this application. Notification has a tune and vibration that runs whenever there is a notification received by the user from FCM Server.



  1. Reset Password:

  1. This application also has the facility to reset the password. If one user has forgot his password, he/she can rest the password by giving his username or email address. The user will be given a page in which he can set his new password. Forgotten password will be updated with the new one on the server.











  2. Fig 1: Conceptual Design

















  3. 3.3 Data Flow Diagram:




  4. Download 4.81 Mb.

    Share with your friends:
1   2   3   4   5   6   7   8   9   ...   19




The database is protected by copyright ©ininet.org 2024
send message

    Main page