Você está na página 1de 31

Chapter 1

Introduction
Cloud Based Bus Pass System is an attempt towards making bus pass issuing system easier to the
end user with added features that can make the people life easy. As we know that online web
application for issuing things like bus tickets , railway tickets is being so popular and in demand
these days. It is the easiest and secure way for people to get a bus pass and hence using it is now
found as a trend. One of the most facing problem is the long queue in front of counters like
offline bus pass issuers, where people have to wait for their bus pass bookings, counters of buses
issuers have long queues where people wait for too long to get bus passes issued.People want
this process to be easy , fast and secure .We as a developer intent to make this process card less
transaction, easy user interface and less time consuming to make it user convenient. If there
available some system, which can act as an interface between shopkeepers and the customers, for
satisfy their need to book their bus passes. Long queue are no more a tedious scene in front of
counters.

Handling of credit cards is also a mind numbing task .Credit card frauds are common nowadays.
People are not able to manage their accounts securely, their passwords are easily hacked by
hackers. So, it’s required to make some way so that matter of passwords saving is removed
permanently.

These process has three components:

• The person who transact (benefactor)


• The recipient of money (beneficiary).
• The device

Features of Security comprises of:


AWS services like IAM , Cloudtrail , Shield

AWS beanstalk which is a managed service.

1.1 RATIONALE
Internet is speeding up and modifying the manner in which daily tasks such as online
shopping, paying utility bills, watching new movies, communicating, etc., are accomplished.
As an example, in older shopping methods, products were mass produced for a single
market and audience but that approach is no longer viable. Markets based on long product
and development cycles can no longer survive. To stay competitive, markets need to
provide different products and services to different customers with different needs. The
shift to online shopping has made it incumbent on producers and retailers to customize for
customers’ needs while providing more options than were possible before. This, however,
poses a problem for customers who must now analyze every offering in order to
determine what they actually need and will benefit from. There are various set of algorithm that
have been developed to solve this problem like Collaborative filtering, Content-Based Filtering,
Hybrid Recommendation Systems which tries to address the problem but we think that it should
involve more end user in this process for better accuracy purpose.

1.2 PROBLEM DEFINITION

Currently there is no such system which connects the bus pass systems to cloud based
systems.The current system offers no discount to particular users of the bus pass systems.
1.3 PROCESS FLOW OF EXISTING SYSTEM

1.4 LIMITATION OF EXISTING SYSTEM


• Research for good algorithm for all set of user:- There are lot of websites like netflix,
google , facebook all of them are using their own set of recommendation algorithms
whose accuracy is quite high like nineties to ninety five but that five percent user all still
dissatisfied from the algorithm that need to be solved.
• User feasibility :- We are having user involvement only in the form of feedback and not
more than that , which can be sometimes not fully convey what they want from us. We
want the, to be more involved in the recommendation process and they should feel like
they are the one who are deciding what is the recommendation that they are going to get.
• Seller Marketing :- In most of the cases we have seen that seller who are selling their
product from the third party platform can not decide their marketing strategy to sell their
product they need to be dependent on the platform to decide their marketing strategy i.e.
they are dependent on the platforms algorithm to sell their product so they can’t prioritize
the product according to their whims and even if they can do it can be in very limited
way.
1.5 PROPOSED SOLUTION

• Connection to cloud - We will connect the whole system to cloud to make the system
very scalable.
• User friendliness :- We want our end user to be more involved in the process of making
their own set of algorithm so that they can make better prediction and more customised
one.
• Letting the marketing in the hands of the vendor:- We want our vendor to develop their
own set of algorithm so that it can be deployed on their behalf and can be used as one of
the main constituent of their marketing strategy.

1.6 OBJECTIVE & SCOPE


Provide better set of algorithm for user and vendor with their major involvement of making the
recommendation algorithm which can be customized by them for their usage and according to
their need.

1.7 REPORT ORGANIZATION


This thesis is organized as follows.
• Chapter 1 The introduction to the thesis is given in this section and it describes the
objectives, motivation and justification.
• Chapter 2 reviews numerous existing and emerging technologies that are related to the
work presented in this thesis under the title literature survey.
• Chapter 3 Analysis of the whole work is done by explaining the detailed work performed
in the project.
• Chapter 4 System Design of the whole work which includes the UML diagrams such as
Use Case, Activity diagram and Sequence diagram.
• Chapter 5 describes the various results that are obtained after the complete
implementation and screenshots of the project.
• Chapter 6 includes the testing part in the project.
• Chapter 7 includes the functional and non-functional requirements.
• Chapter 8 draws conclusions from the work described in previous chapters and discusses
possibilities for future development.

Finally, in the last section i.e. Appendix, we have provided the user manual and the references.
This section is an exhaustive list of the journals and research papers referred to during the
preparation of the thesis.

Chapter 2

Literature Survey

2.1 BACKGROUND
Cloud based systems can be personalized, non-personalized, attribute-based, item-to-item
correlation, and people-to-people correlation. Recommendations are either short-lived or
long-lived depending on the implementation. The system is considered automatic if it
requires minimal or no input from the active user and manual if it requires some work .
Personalized recommendations are automatic and based on the user’s preferences such as
favorite color, movie genre and music group. They are often compared against hand-picked
products by content-providers and experts for user’s preferences and tastes to provide
recommendations. Non-personalized recommenders generate recommendations based only on
product ratings from other users of the system. These recommendations are straightforward
since they require very little effort to produce and considered automatic since user input is
not required. These recommendations are not short-lived since they can be applied to a
variety of users. In Attribute-based recommendations, items can be described using various
features, and attributes which are used to generate recommendations. This method is
considered manual since the user must explicitly search for a certain type of product to base
the recommendations on. These recommendations can be short-lived or not depending on how
long the system remembers user’s preferences for. Item-to-item correlation recommenders
recommend items based on other items the user has displayed interest in. These
recommendations are prevalent in e-commerce sites where new products are recommended
based on what the user has in their shopping cart. These recommendations are manual since
user must have a non-empty cart, and short-lived because the user does not have full
shopping carts. Association rules are most often used in this system. People-to-people
correlation system finds similarity between the active and other users in the system,
recommends products other customers have purchased or rated in the past. Collaborative
filtering is the most commonly used approach in this system. Since it requires users to have
purchased or rated products in the past this method is very manual. The recommendations
can last depending on system’s design.

2.2 Related Work

2.2.1 Citybusindore.com

The Need

Effective Public Transport is the need of every metropolitan city. For cities that are growing at a
rapid pace, it becomes the most essential vehicle for pace of growth. Indore could easily be
identified as the fastest growing metropolitan city in central India and the most important feature
missing here was a good public transport service. The senior officials of the city identified the
need and a meeting was called in the month of November 2005. All the decision makers of the
city were present. The decision taken was to create a solution that was Reliable, Affordable and
Safe. The task sounded very difficult, especially looking at the availability of funds and relevant
infrastructure but it was the need of the city.

Various systems were discussed and several examples were talked on. The result of all the
brainstorming was to create a SPV that would take the task of providing the service required to
support the rapid growth of the city.
The SPV

A company by the name of Indore City Transport Services Ltd. (ICTSL) was incorporated on
December 01, 2005 with an objective to operate and manage the public transport system of
Indore. Seven key people were identified as the Board of Directors. Indore Municipal
Corporation and Indore Development Authority invested an authorized capital of Rs 25 Lacs
jointly. The execution was the responsibility of Mr. Vivek Aggarwal (Collector, Indore). The
modal decided was of public-private partnership.

The Model

The model had to be designed keeping in mind the motto of 'Minimum Investment With
Maximum Returns' for all parties involved in the business. Mr. Vivek Aggarwal (Collector,
Indore) designed it with flawless technique and scientific approach. The financial model
provides maximum profitability for the company as well as the operators. The operational aspect
provides impeccable control for both the parties and fully computerized monitoring.

2.2.2 MYBMTC.COM
BMTC is issuing student passes for the convenience of the students at concessional rates. To
avoid inconvenience to students like submission of documents and standing in a queue in the bus
stands for a long time to obtain passes, BMTC has currently introduced an online system,which
is directly integrated with the Education Department database, where student can directly apply
through Education Institutions or directly by themselves through e-form.

Chapter 3

System Requirement Specification


System analysis patterns or analysis are conceptual models, leading to specifications of a new
system. Analysis is a detailed study of various operations performed by a system and their
relationships within and outside the system. During analysis, data are collected on the available
files, decision points and transactions handled by the present system.
3.1 HARDWARE REQUIREMENTS
Processor : Pentium,AMD or Higher Version
Operating System : Windows XP/ Windows 7/ Linux
RAM : 256 MB, 2GB recommended
Hardware Devices : Keyboard with mouse
Hard disk : 10 GB or more
Display : Standard Output Display

3.2 SOFTWARE REQUIREMENTS


Backend Technology : JAVA SE 8
Frontend Technology : HTML5,CSS,JavaScript,Ajax,Bootstrap
Database : Any Relational Database
Web Browser : Any Web browser which supports functionality of Web 2.0

Chapter 4

System Analysis
Based on the user requirements and the detailed analysis of a system, the system is designed.
This is the phase of system designing. It is a crucial phase in the development of a system. It
includes the UML diagrams.

4.1 SYSTEM ANALYSIS


System development has two major component- system analysis and system design. It refers to
the process of examining a business situation with the intent of improving it methods and
procedures.
Figure 2 Software Development Life Cycle

4.1.1 REQUIREMENT ANALYSIS


Requirement for Customer Side:-
• Making more involvement of the user.
• Making more user friendly graphics.
• Letting them know the part of algorithm that they are using.

Solution
• Letting them make use of their own set of algorithm for recommendation purpose.
• Letting them make their own graphs using the python inbuilt library.
• Letting them expose to the part of the algorithm using the REST APIS

Requirement for Vendor Side:


• Making more involvement of the vendor in the customer side.
• Letting them make their own marketing strategy.
• Making more user friendly graphics.

Solution
• Letting them make their own set of algorithm for marketing and recommendation
purpose.
• Letting them know the data on which they are working through REST APIS.
• Letting them make their own set of graphs through python inbuilt libraries.

Requirement for Admin Side:


• Let them allow to manage all the users and products .
• Give them a admin access to update, delete ,add product and user on their requests.
Solution
• Making use of inbuilt admin module of the django for authentication and managing
purpose.
• Give them authorities through superuser status of the django admin model.

4.1.2 OBJECT ORIENTED DESIGN

Object oriented design started right from the moment computers were invented. Programming
was there, and programming approaches came into the picture. Programming is basically giving
certain instructions to the computer.It’s actually impossible to develop software used in today’s
scenarios with sequences of bits. This was the main reason programmers moved on to the next
generation of programming languages, developing assembly languages, which were near enough
to the English language to easily understand. These assembly languages were used in
microprocessors. With the invention of the microprocessor, assembly languages flourished and
ruled over the industry, but it was not enough. Again, programmers came up with something
new, i.e., structured and procedural programming.

4.1.3 ARCHITECTURAL SPECIFICATION


A description of a software and electronics system in terms of its hardware and software
components and their interactions. In (hardware, software, or enterprise) systems development,
an architectural specification is the set of documentation that describes the structure, behavior,
and more views of that system.
The architectural specification include the report organization of the project.
The role of the system architectural structure that serve as the blueprint for the target system.
 Allocate required system functionality to hardware and software.
 Document crucial design constraints, assumptions and rationales.
 Support early analysis to make sure that the design approach is highly visible and open
to peer review and progressive improvement Demonstrate compliance with system
requirements. The SAAS provides an authoritative reference for detailed traceability
analysis.
 Explain how the end product will exhibit required qualities such as usability,
performance, modifiability, safety and security.
 Describe design management strategies to be used to control the development of the
design including nomination of design patterns and rules.
 Support project planning and budgeting
 Support preparation of acquisition documents (for example, requests for proposal and
statements of work)
 Support on-going maintenance and enhancement.

4.1.4 FEASIBILITY ANALYSIS

4.1.4.1 Cost Analysis:-


Main cost is incurred in developing the website and running it at the server side. Server side is
mostly used for deploying the website and running the website apart from this maintaining the
server side will also incur some cost.

4.1.4.2 Time Analysis:-


Main time is incurred in developing, testing the website and deploying it to the server side.
Developing time is eased up with the help of Django Class Based Views which can help the
programmer develop the project in object oriented way and then for light weight testing we have
inbuilt loggers library in python used for tracking the errors in the programs. There is facility of
test module within each app which helps to track each app individually. Then for deployment we
have chosen the A.W.S service for doing the server side deployment which can be used by both
command line argument as well as the GUI interface which eases the the development time. So
time cost for making the project is drastically reduced.

4.1.5 DEVELOPMENT METHOD


Spiral model is one of the most important Software Development Life Cycle models, which
provides support for Risk Handling. In its diagrammatic representation, it looks like a spiral
with many loops. The exact number of loops of the spiral is unknown and can vary from project
to project. Each loop of the spiral is called a Phase of the software development process. The
exact number of phases needed to develop the product can be varied by the project manager
depending upon the project risks. As the project manager dynamically determines the number of
phases, so the project manager has an important role to develop a product using spiral model.
The Radius of the spiral at any point represents the expenses(cost) of the project so far, and the
angular dimension represents the progress made so far in the current phase.
4.2 System Design

4.2.1 Use Case Diagram

4.2.1.1 Use case for Admin


Figure 3:- Use Case diagram of Admin

4.2.1.2 Use case for Customer/Vendor

Use Case Diagram for Customer/Vendor


4.2.2 Use Case Specification

4.2.2.1 For Admin


Application : Admin Interface
Use Case Name: Admin Login and Users and Product Management
Use Case Description: This use case defines that user as admin can manipulate the content of all
side and how he/she can manage the different users and product present in the site.
Primary Actor: Admin
Precondition: The admin successfully runs the application in his/her browser
Post Condition: The user successfully login to the home page to manage the whole website.

Basic Flow:
• Admin login through the login page
• View the home page.
• Browse the different products and users.
• Manage all the products and users.

4.2.2.2 For Consumer/Vendor


Application: Consumer/Vendor Interface
Use Case name: Consumer and Vendor Web Interface
Use Case description: This use case defines that user as customer and as vendor can operate their
own website in the
Primary Actor: Consumer/Vendor
Precondition: The consumer and vendor should successfully run application in his/her browser.
Post Condition: The consumer and vendor login to the website and successfully manages its
resources.

Basic Flow:
• User login to the site through its credentials.
• View the home page.
• Browse through different functionality provided to the user.
• Manage its products, purchases, etc.
4.2.3 Activity Diagram

4.2.3.1 For Admin


4.2.3.2 For Customer
4.2.3.3 For Vendor
4.2.4 Sequence Diagram

4.2.4.1 For Customer


4.2.4.2 For Admin
4.2.4.2 For Vendor
4.2.5 Subsystem Class Diagram (Generic)
4.2.6 Subsystem Class Diagram (Implementation Specific)

4.2.6 Data Model (ER Diagram)


4.2.7. Data Flow Diagram
Chapter 8
Functional & Non Functional Requirement

8.1 FUNCTIONAL REQUIREMENT


A functional requirement defines the function of a system or its components. A function
is described as a set of inputs, the behaviour of output.
Inputs(Costumer):
• User will provide the login related information.
• User will provide the interests related to the purchasing the product.
• User would choose the product to purchase.
• User can choose the product from the list of recommended product.
• User can give the feedback to the products.
Processing:
• Maintain the user table:-
In this we will try to make the user record according to the login information
provided by the user like name, email, feedback etc.
• Maintain the order and history table:
In this we will try to store the purchased product of the consumer and company
for various purpose like recommendation, validation of the product purchase etc.
c) Recommendation System:-
It will use the order history and user table for recommending the products.
Output:
• Display the product to the user.
• Display the product according to the recommendation.
• Display the purchase history and graph to the user.
Inputs(Vendor):
• Input the information related to the company like company name, product list,
product categories etc.

Processing:

• Maintain the Company and Product Table:- Company records like product,
company name and company address can be stored in the table.

Output:

• Display the product corresponding to the company i.e. which are stored by the
company.
• Display the graphs for the company for doing the analysis of the product.

8.2 NON FUNCTIONAL REQUIREMENT


Quality attributes that can serve as requirements are described below:
8.2.1 Performance Requirement: Application uses the A.W.S resources which are highly
performant and which can scale according to the need.
8.2.2 Reliability: The application will be very reliable as it will not interfere in the execution of
other applications that are running simultaneously on the same system and can use the session
stickiness property of the A.W.S if needed. Also it will not allow the user to access any hacked
site or account.
8.2.3 Response Time: Response time is minimum as
8.2.3 Robustness: Application will make full use of A.W.S. services as it is a platform which
makes the application more robust by allowing users to handle the services in the form of scripts
as well as at the GUI level.
8.2.5 Scalability: A.W.S provisions extra resources in case we need to expand our or scale our
application.
8.2.6 Security: The application is full secured as it has login facility as well as .
8.2.7 Stability: Django is a platform which allows us to make the platform more user friendly
and more stable by allowing only those services to be handled by the developer which it need
other services handled by it as default.
8.2.8 Supportability: It will be supportable for all type of user and every user have different
priority and on the basis of that priority they have different features. It will supportable to every
device. This web application (Nukem Global Technologies) will be supportable by every type of
hardware and software but that should be supportable.
8.2.9 Testing: Doing testing in Django application is quite easy with the help of loggers and we
can make use of selenium as well for doing testing or python scripts which are vastly used for
testing purpose.
8.2.10 Fault Tolerant: So this web application will be fault tolerance because it has different-
different modules so if one module gets fail then it cannot be affect another module.

Chapter 9

Conclusion

9.1 Conclusion
This is to conclude that the project that we undertook was worked upon with a sincere effort.
Most of the requirements have been fulfilled up to the mark and the requirements which have
been remaining, can be completed with a short extension.Our project is only a humble venture to
satisfy the needs of a discussion forum at college level. Several user friendly coding have also
adopted. This package shall prove to be a powerful package in satisfying all the requirements of
the organization.
9.2 FUTURE ENHANCEMENT

• It would be able to highly satisfactable consumer side recommendation with best


accuracy ever.
• Also able to optimise its algorithm on its own without requiring retraining.

Você também pode gostar