Documentation Gamestore
Documentation Gamestore
2021-22
Project
Report on
V-GAME STATE
BASELIOS POULOSE II
CATHOLICOS COLLEGE
BASELIOS MOUNT,
PIRAVOM
Re-accredited with ‘A’ Grade by
PIRAVOM 2021-
22
DEPARTMENT OF COMPUTER APPLICATIONS
Project Report
On
V-GAME STORE
Submitted in partial fulfilment of the requirements for
the award of the degree of
BACHELOR OF COMPUTER APPLICATION
BASELIOS POULOSE II
CATHOLICOS COLLEGE
BASELIOS MOUNT,
PIRAVOM
Re-accredited with ‘A’ Grade by
PIRAVOM
2021-22
DEPARTMENT OF COMPUTER APPLICATIONS
Certificate
This is to certify that the project entitled “RUCHIYIDAM” submitted in
partial fulfillment for the award of the degree of BACHELOR OF COMPUTER
APPLICATION is a bonafide report of the project done by Vignesh K.P (Reg
no: 190021095602) during the year 2021-22.
Internal Guide: Head of the department:
Dr. Dhanya Job Dr. Kurian MJ Examiner: 1
College Seal Department Seal
DECLARATION
I hereby declare that the this project work entitled “V-GAME STORE“
is a record of original work done by me under the guidance of
Dr. Dhanya Job, Assistant Professor, Department of Computer
Applications and the work has not formed the basis for the award
of any degree or diploma or similar title to any candidate of any
university subject.
Internal Guide: Signature of Student
ACKNOWLEDGEMENT
At the outset, I thank God Almighty for making endeavor a success.
Last but not the least, I also express my gratitude to all other members of the
faculty and well wishers who assisted me in various occasions during the project work.
:- Vignesh K.P
ABSTRACT
The system consists of three users : Admin, Staff, Customer. The admin has the privilege
control on the system. The admin can verify and edit the information regarding the products
and staffs. The admin verifies all product bookings of the system. Customers are general users
who can simply register with basic details and login to search for various smart phones and its
accessories based on different categories. They can then place orders for the products. Staffs
are added by the admin. They could view their profiles and makes changes. They are entrusted
with the work of shipping the ordered products to the customer.
TABLE OF CONTENTS
ACKNOWLEGMENT
ABSTRACT
LIST OF TABLES
LIST OF FIGURES
1. INTRODUCTION 15
1.1. BACKGROUND AND MOTIVATION 15
SYSTEM ANALYSIS 19
INTRODUCTION 19
2.2. STAKEHOLDERS OF THIS PROJECT 20
2.2.1. ADMINISTRATOR 20
2.2.2. STAFF 20
2.2.3. CUSTOMER 21
2.3. SOFTWARE REQUIREMENT SPECIFICATIONS 21
2.3.1. ADMIN 21
2.3.2. STAFF 21
2.3.3. CUSTOMER 21
2.4. FEASIBILITY STUDY 22
3. SYSTEM DESIGN 35
3.1. SYSTEM ARCHITECTURE 35
3.2. MODULE DESIGN 35
3.3. DATABASE DESIGN 36
3.3.1. NORMALIZATION 37
3.3.2. TABLE STRUCTURE 39
3.3.3. DATA FLOW DIAGRAM 44
3.3.3.1. INTRODUCTION TO DATA FLOW DIAGRAMS 44
3.3.3.2. DATAFLOW DIAGRAM 46
3.4. INTERFACE DESIGN 52
3.4.1. USER INTERFACE SCREEN DESIGN 52
3.4.2. OUTPUT DESIGN 55
5.1.2. INTEGRATION TESTING 65
5.1.3. BLACK BOX TESTING 66
5.1.4. WHITE BOX TESTING 67 4.
5.1.5. VALIDATION TESTING 68
5.1.6. USER ACCEPTANCE TESTING 69
5.2. TEST CASE DOCUMENTS 70
CONCLUSION 72
6.1. FUTURE ENHANCEMENTS 72
REFERENCES 73
IMPLEMENTATION 58
4.1. CODING STANDARD 58
5. TESTING 62
5.1. TEST CASES 62
5.1.1. UNIT TESTING 63
8. APPENDIX 74
8.1 SCREENSHOTS 74
LIST OF TABLES
V-GAME STORE is an online store which helps the users download variety of
High-end PC games . which includes games from different category like
racing ,sports ,real time strategy games ,Action etc…
Users will get to buy games in an affordable and reasonable price from this site
V-GAME STORE provides a very good user friendly interface and templates to
which makes the users more comfortable using this website
High-End games,Low-End Games all types of games are available here.
V-GAME STORE shows no compromise in the quality of games and user
experience
15
1.3 PROJECT SCOPE
1.3.1. Limitations of Existing System
• Data storage:- In manual system paper files require a huge amount of storage
space and paper storage creates several problems like spoilage the deterioration
by way of aging, humidity etc... Paper based systems are generally very bulky
both to handle to store and office space are expensive.
16
time. Erroneous records may lead to misleading information, which is more
• Accuracy:- In the existing system the error rate is high and it is difficult to
locate the errors and correct them. Calculations made on papers often leads
to cash mismatch and inaccurate results.
• Back up:- Back up of data cannot be done easily since all data are in different
registers and are written on paper.
understandable formats.
• Efficient traceability.
• Talking into the speed of computer access, large data in less time and facilities
17
provided by the access.
•
Duplication of data will be avoided.
•
Menu driven interface provides ease to use.
• Availability of previous data for future reference.
19
18
2. SYSTEM ANALYSIS
2.1 INTRODUCTION
System analysis involves gathering the necessary information and using the structured tool
for analysis. This includes the studying existing system and its drawback, designing a new
system and conducting cost benefit analysis. System analysis is a problem solving activity
that requires intensive communication between the system users and system developers.
The system is studied to the minute detail and analyzed. The system is viewed as a whole
and the inputs to the system are identified. The outputs from the organization are traced
through various phases of processing of inputs.
There are a number of different approaches to system analysis. When a computer based
information system is developed, systems analysis (according to the Waterfall model)
would constitute the following steps:
20
• Gauging how the end-users would operate the system (in terms of general
experience in using computer hardware or software), what the system would be
used for and so on.
Techniques such as interviews, questionnaires etc. can be used for the detailed study of these
processes. The data collected by these sources must be scrutinized to arrive at a conclusion.
The conclusion is an understanding of how the system functions. This system is called the
Existing System. The Existing system is then subjected to close observation and the
problem areas are identified. The designer now functions as a problem solver and tries to
sort out the difficulties that the enterprise faces. The solutions are given as a proposal which
is the Proposed System. The proposal is then weighed with the existing system analytically
and the best one is selected. The proposal is then presented to the user for an endorsement
by the user. The proposal is reviewed on user request and suitable changes are made. This is
a loop that ends as soon as the user is satisfied with the proposal.
focuses on the data and reports of the software. He/she is the person who accept
Games and Vendors. In the case of vendors, they have only access to uplo. But in
the case of administrator he is the top person, he can view and access all details.
2.2.2 Vendor
Vendor is the one who uploads the games and has the authority repair games and
has the authority the change the game icon and files as they wanted.
2.2.3 User
They are main users of this application. They will be able to view all the available
devices, look into their description and images. Customers are also needed to
register by providing their basic information such as name, email address, phone number,
etc., to order a game. They can also view and update their information. They can also
post complaints and feedbacks.
21
2.3 SOFTWARE REQUIRMENT SPECIFICATION
2.3.1 Admin
1. Admin can login to the system.
2.3.2 Vendor
1. The system should have a provision to login the vendor by entering vendor
Username and password.
2. After logging in the vendor have the permission to view and edit their profile.
3. The vendor should have the permission to edit the password that is already
inserted
4. The Vendor has the authority to upload games with all there details filled
2.3.3 user
1. usercan login to the system.
2. user should the privilege to search games and buy them.
3. The system should have the provision to change password.
4. The system should have the provision to logout
22
2.4 FEASIBILTY STUDY
Feasibility is defined as the practical extent to which a project can be performed successfully.
To evaluate feasibility, a feasibility study is performed, which determines whether the
solution considered to accomplish the requirements is practical and workable in the software.
Information such as resource availability, cost estimation for software development, benefits
of the software to the organization after it is developed and cost to be incurred on its
maintenance are considered during the feasibility study. The objective of the feasibility study
is to establish the reasons for developing the software that is acceptable to users, adaptable to
change and conformable to established standards. Various other objectives of feasibility study
are listed below.
• To determine whether the software can be implemented using the current technology and
within the specified budget and schedule.
• To determine whether the software can be integrated with other existing software.
• When our project guide as well as our client Resmi K R told us regarding the mini project
and about Word to the Wise for getting the desired product developed, it comes up with
rough idea about what all functions the software must perform and which all features are
expected from the software.
• Referencing to this information, we does a studies and discussions about whether the desired
system and its functionality are feasible to develop and the output of this phase is a feasibility
study report that should contained adequate comments and recommendations.
• Various types of feasibility that we checked include technical feasibility, operational
feasibility, and economic feasibility.
• Analyses the technical skills and capabilities of the software development team
members.
From our perspective there are two languages PHP, HTML and database MySQL which are
used to develop this web based applications. PHP is used in the front end and MySQL is used
in the back end. The Word to the Wise is web based and thus can be accessed through any
browsers. As we are using these latest technologies which are currently trending and used by
a number of developers across the globe, we can say that our project is technically feasible.
team is acceptable.
We found that our project will be satisfied for the client since we were discussing every detail
about the software with the client at every step. The most important part of operational
feasibility study is the input from client. So the software is built completely according to the
requirements of the client. We have used the current industry standards for the software.
Hence we can say that this software is operationally feasible.
• Cost required to conduct full software investigation (such as requirements elicitation and
requirements analysis).
Agile Model
Agile Model is a combination of the Iterative and incremental model. This model focuses
more on flexibility while developing a product rather than on the requirement. In the agile
methodology after every development iteration, the client is able to see the result and understand
25
if he is satisfied with it or he is not. Extreme programming is one of the practical use of the agile
model. The basis of this model consists of short meetings where we can review our project. In
Agile, a product is broken into small incremental builds. It is not developed as a complete
product in one go. At the end of each sprint, the project guide verifies the product and after his
approval, it is finalised. Client feedback is taken for improvement and his suggestions and
enhancement are worked on in the next sprint. Testing is done in each sprint to minimize the risk
of any failures.
Advantages of Agile Model:
Disadvantages:
Lack of documentation.
If a customer is not clear about how exactly they want the product to be, then the
project would fail.
With all the corrections and changes there is possibility that the project will exceed
expected time
Ajax, jQuery,PHP
Database : MySQL
26
HTML
CSS
Stands for "Cascading Style Sheet." Cascading style sheets are used to format the
layout of Web pages. They can be used to define text styles, table sizes, and other
aspects of Web pages that previously could only be defined in a page's HTML. CSS
helps Web developers create a uniform look across several pages of a Web site.
Instead of defining the style of each table and each block of text within a page's
HTML,commonly used styles need to be defined only once in a CSS document.
Once the style is defined in cascading style sheet, it can be used by any page that
references the CSS file. Plus, CSS makes it easy to change styles across several
pages at once. For example, a Web developer may want to increase the default text
size from 10pt to 12pt for fifty pages of a Web site. If the pages all reference the
same style sheet, the text size only needs to be changed on the style sheet and all the
pages will show the larger text.
While CSS is great for creating text styles, it is helpful for formatting other
aspects of Web page layout as well. For example, CSS can be used to define
27
the cell padding of table cells, the style, thickness, and color of a table's
border, and the padding around images or other objects. CSS gives
Web developers more exact control over how Web pages will look than HTML does.
This is why most Web pages today incorporate cascading style sheets.
Ajax
Ajax is a set of web development techniques using many web technologies on
the client side to create asynchronous web applications. With Ajax, web
applications can send and retrieve data from a server asynchronously (in the
background) without interfering with the display and behavior of the existing
page. By decoupling the data interchange layer from the presentation layer,
Ajax allows web pages and, by extension, web applications, to change
content dynamically without the need to
reload the entire page. In practice, modern implementations commonly
utilize JSON instead of XML.
jQuery
jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and
manipulation, as well as event handling, CSS animation, and Ajax. It is free, open
source software using the permissive MIT License. As of May 2019, jQuery is used
by 73% of the 10 million most popular websites. Web analysis indicates that it is
the most widely deployed JavaScript library by a large margin, having 3 to 4 times
more usage than any other JavaScript library.
Bootstrap
Bootstrap is a free and open-source CSS framework directed at responsive,
mobile first front-end web development. It contains CSS- and (optionally)
JavaScript-based design templates for typography, forms, buttons,
navigation and other interface components.
JavaScript
JavaScript is a dynamic computer programming language. It is lightweight and
most commonly used as a part of Web pages, whose implementations allow client-
28
side script to interact with the user and make dynamic pages. It is an interpreted
programming language with object-oriented capabilities.
JavaScript was first known as LiveScript, but Netscape changed its name to
JavaScript, possibly because of the excitement being generated by Java.
JavaScript made its first appearance in Netscape 2.0 in 1995 with the name
LiveScript. The general-purpose core of the language has been embedded
in Netscape, Internet Explorer, and other Web browsers.
PHP
PHP started out as a small open source project that evolved as more and more
people found out how useful it was. Rasmus Lerdorf unleashed the first
version of PHP way back in 1994.
Wamp Server
Stands for "Windows, Apache, MySQL, and PHP." WAMP is a variation of LAMP for
Windows systems and is often installed as a software bundle (Apache, MySQL, and PHP).
It is often used for web development and internal testing, but may also be used to serve
live websites. The most important part of the WAMP package is Apache
29
(or "Apache HTTP Server") which is used run the web server within Windows.
By running a local Apache web server on Windows machine, a web developer can
test webpages in a web browser without publishing them live on the Internet.
WAMP also includes MySQL and PHP, which are two of the most common
database, while PHP is a scripting language that can be used to access data from
the database. By installing these two components locally, a developer can build
While Apache, MySQL, and PHP are open source components that can be installed
individually, they are usually installed together. One popular package is called
"WampServer," which provides a user-friendly way to install and configure the "AMP"
components on Windows.
MySQL
MySQL is the world's most popular open source database software, with over 100 million
copies of its software downloaded or distributed throughout it's history. With its superior
speed, reliability, and ease of use, MySQL has become the preferred choice for Web, Web
2.0, SaaS, ISV, Telecom companies and forward-thinking corporate IT Managers because it
eliminates the major problems associated with downtime, maintenance and administration for
modern, online applications.
Many of the world's largest and fastest-growing organizations use MySQL to save time and
money powering their high-volume Web sites, critical business systems, and packaged
software — including industry leaders such as Yahoo!, Alcatel-Lucent, Google, Nokia,
YouTube, Wikipedia, and Booking.com.
MySQL is a key part of LAMP (Linux, Apache, MySQL, PHP / Perl / Python), the fast-
growing open source enterprise software stack. More and more companies are using LAMP as
an alternative to expensive proprietary software stacks because of its lower cost and freedom
from platform lockin.
30
MySQL was originally founded and developed in Sweden by two Swedes and a Finn: David
Axmark, Allan Larsson and Michael "Monty" Widenius, who had worked together since the
1980's. MySQL, the most popular Open Source SQL database management system, is
developed, distributed, and supported by Oracle Corporation.
MySQL databases are relational. A relational database stores data in separate tables rather
than putting all the data in one big storeroom. The database structures are organized into
physical files optimized for speed. The logical model, with objects such as databases, tables,
views, rows, and columns, offers a flexible programming environment. You set up rules
governing the relationships between different data fields, such as one-to one, one-to-many,
unique, required or optional, and ―pointers‖ between different tables. The database enforces
these rules, so that with a well-designed database, your application never sees inconsistent,
duplicate, orphan, out-of-date, or missing data.
The SQL part of ―MySQL‖ stands for ―Structured Query Language‖. SQL is themost
common standardized language used to access databases. Depending on your programming
environment, you might enter SQL directly (for example, to generate reports), embed SQL
statements into code written in another language, or use a language-specific API that hides the
SQL syntax.
SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving since
1986 and several versions exist. In this manual, ―SQL-92‖ refers to the standard released in
1992, ―SQL:1999‖ refers to the standard released in 1999, and ―SQL:2003‖ refers to
the current version of the standard.
We use the phrase ―the SQL standard‖ to mean the current version of the SQL Standard at
any time. MySQL software is Open Source. Open Source means that it is possible for anyone
to use and modify the software. Anybody can download the MySQL software from the
Internet and use it without paying anything. If you wish, you may study the source code and
change it to suit your needs.
31
The MySQL software uses the GPL (GNU General Public
License),http://www.fsf.org/licenses/, to define what you may and may not do with the
software in different situations. If you feel uncomfortable with the GPL need to embed
MySQL code into a commercial application, you can buy a commercially licensed version
from us.
The MySQL Database Server is very fast, reliable, scalable, and easy to use. If that is what
you are looking for, you should give it a try. MySQL Server can run comfortably on a desktop
or laptop, alongside your other applications, web servers, and so on, requiring little or no
attention. If you dedicate an entire machine to MySQL, you can adjust the settings to take
advantage of all the memory, CPU power, and I/O capacity available. MySQL can also scale
up to clusters of machines, networked together.
MySQL Server was originally developed to handle large databases much faster than existing
solutions and has been successfully used in highly demanding production environments for
several years. Although under constant development, MySQL Server today offers a rich and
useful set of functions. Its connectivity, speed, and security make MySQL Server highly suited
for accessing databases on the Internet. MySQL Server works in client/server or embedded
systems.
A large amount of contributed MySQL software is available. MySQL Server has a practical
set of features developed in close cooperation with our users. It is very likely that your
favourite application or language supports the MySQL Database Server.
Windows 11
Operating System is defined as a program that manages the computer hardware. An operating
system can be viewed as a scheduler, where it has resources for which it has charge. Resources
include CPU, memory, I/O device and disk space. In another view, the operating system is a
new machine. The third view is that operating system is a multiplexer which allows sharing of
resources provides protection from interference and provides a level of cooperation between
users. This project is developed using Windows 10 as the operating system and supports its
latest versions. Windows 10 is a series of personal computer operating systems produced by
Microsoft as part of its Windows NT family of operating systems. It is the successor to
Windows 8.1, and was released to manufacturing on July 15, 2015, and to retail on July 29,
2015. One of Windows 10's most notable features is support for universal apps. Windows 10
also introduced the Microsoft Edge web browser, a virtual desktop system, a window and
desktop management feature called Task View, support for fingerprint and face recognition
32
login, new security features for enterprise environments, and DirectX12. Windows 10
received mostly positive reviews upon its original release in July 2015. Critics praised
Microsoft's decision to provide a desktop-oriented interfacing line with previous versions of
Windows, contrasting the tabletoriented approach of 8, although Windows 10's touch-oriented
user interface mode was criticized for containing regressions upon the touch-oriented interface
of Windows 8. Critics also praised the improvements to Windows 10's bundled software over
Windows 8.1, Xbox Live integration, as well as the functionality and capabilities of the
Cortana personal assistant and the replacement of Internet Explorer with Microsoft Edge.
However, media outlets have been critical of changes to operating system behaviours,
including mandatory update installation, privacy concerns over data collection performed by
the OS for Microsoft and its partners and the adware-like tactics used to promote the operating
system on its release.
Microsoft Word
Microsoft Word (or simply Word) is a word processor developed by Microsoft. It was first
released on October 25, 1983 under the name Multi-Tool Word for Xenix systems. Subsequent
versions were later written for several other platforms including IBM PCs running DOS
(1983), Apple Macintosh running the Classic Mac OS (1985), AT&T Unix PC (1985), Atari
ST (1988),
OS/2 (1989), Microsoft Windows (1989), SCO Unix (1994), and macOS (formerly OS X;
2001).
33
MacWrite. After its release, Word for Mac OS's sales were higher than its MS-DOS
counterpart for at least four years.
SmartDraw
SmartDraw is a diagram tool used to make flowcharts, organization charts, mind maps, project
charts, and other business visuals. SmartDraw has two versions: an online edition and a
downloadable edition for Windows desktop.
SmartDraw integrates with Microsoft Office products including Word, PowerPoint, and Excel
and G Suite applications like Google Docs and Google Sheets. SmartDraw has apps for
Atlassian's Confluence, Jira, and Trello. SmartDraw is compatible with Google Drive,
Dropbox, Box, and OneDrive.
Since 1994, the mission of SmartDraw Software has been to expand the ways in which people
communicate so that we can clearly understand each other, make informed decisions, and work
together to improve our businesses and the world. We accomplish this by creating software and
services that make it possible for people to capture and present information as visuals, while
being a pleasure to use. In 2019, we took this to the next level by launching VisualScript, which
makes it easy to visualize data in relational formats like trees, flows, and timelines,
automatically, without any human input. VisualScript is a relationship visualization platform
that empowers organizations to visualize data across siloed ecosystems and gain critical insights
in real-time. Today, SmartDraw Software is one of the most sophisticated digital marketing
organizations in the world with over 90,000 unique visitors to our website each business day
and in excess of 3,000,000 installations of our apps each year. SmartDraw is used by more than
half of the Fortune 500 and by over 250,000 public and private enterprises of all sizes around
the world. Privately held, SmartDraw Software is headquartered in San Diego, California.
Hardware Requirments
The selection of hardware configuring is a very task related to the software development,
particularly inefficient RAM may affect adversely on the speed and corresponding on the
efficiency of the entire system. The processor should be powerful to handle all the operations
The hard disk should have the sufficient to solve the database and the application.
Minimum hardware requirement :
CPU : Pentium IV Processor
Memory : 256 MB Above
34
Cache : 512 KB Above
Hard disk : 20 GB Above
Monitor : Any
Keyboard : Any
Mouse : Any
3.SYSTEM DESIGN
35
The first level is the user interface (presentation logic), which displays controls, receives and
validates user input. The second level is the business layer (business logic) where the
application specific logic takes place. The third level is the data layer where the application
information is stored in files or database. It contains logic about to retrieve and update data.
The important feature about the three-tier design is that the information only travels from one
level to adjacent level.
2. REGISTRATION
This module helps the admin, staffs, customers to register to our website. He/she can
use the registration form for registering his/her account. While registering the faculty
needs to provide some data for example email id, password etc.
3. REPORTS
This module allows the admin of the site to view the details of the site through various
reports. This includes pie chart and some table reports. All these reports provide
information about the academics and their details such as departments, courses,
semesters, subjects, etc. So that the administrator can easily manage the website.
4. PRODUCT MANAGEMENT
This module allows the admin to add products based on the categories.
This includes product gallery images, product stocks.
5. SALES
This modules includes in sales. Product booking and sales are managed in this module.
Customers can view products and book them for buying.
Payment can be added for the product in this module.
36
3.3 DATABASE DESIGN
A database is a collection of interrelated data stored with minimum redundancy to serve many
users quickly and efficiently. The general objective is to make information access easy,
quick, inexpensive and flexible for the users. The general theme behind a database is to
integrate all information. Database design is recognized as a standard of management
information system and is available virtually for every computer system. In database design
several specific objectives are considered:
• Controlled redundancy
• Data independence
• Performance
A database is an integrated collection of data and provides centralized access to the data.
Usually the centralized data managing the software is called RDBMS. The main significant
difference between RDBMS and other DBMS is the separation of data as seen by the program
and data has in direct access to stores device. This is the difference between logical and
physical data.
3.3.1 Normalization
Designing a database is complete task and the normalization theory is a useful aid in the
design process. The process of normalization is concerned with transformation of conceptual
schema into computer representation form. There will be need for most databases to grow by
adding new attributes and new relations. The data will be used in new ways. Tuples will be
added and deleted. Information stored may undergo updating also. New association may also
be added. In such situations the performance of a database is entirely depend upon its design.
A bad database design may lead to certain undesirable things like:
37
• Repetition of information
• Inability to represent certain information
• Loss of information
As the quality of application programs increases, the cost of maintaining the without
normalization will rise to prohibitive levels. A normalized database can also encompass many
related activities of an organization thereby minimizing the need for rewriting the applications
of programs. Thus, normalization helps one attain a good database design and there by ensures
continued efficiency of database.
Normalization theory is built around the concept of normal forms. A relation is said to be in
normal form if it satisfies a certain specified set of constraints. For example, a relation is said
to be in first normal form (1NF) if it satisfies the constraint that it contains atomic values only.
Thus every normalized relation is in 1NF.Numerous normal forms have been defined. Codd
defined the first three normal forms.
All normalized relations are in 1NF, some 1NF relations are also in 2NF and some 2NF
relations are also in 3NF.2NF relations are more desirable than 1Nf and 3NF are more
desirable than 2NF. That is, the database designer should prefer 3NF than 1NF or
2NF.Normalization procedure states that a relation that is in some given normal form can be
converted into a set of relations in a more desirable form. We can define this procedure as the
successive reduction of a given collection of relations to some more desirable form. This
procedure is reversible. That is, it is always possible to take the output from the procedure and
convert them back into input. In this process, no information is lost. So it is also called “no loss
decomposition”.
A relation is in first normal form (1NF) if and all its attributes are based on single domain. The
objective of normalizing a table is to remove its repeating groups and ensure that all entries of
the resulting table have at most single value.
38
Second Normal Form
A table is said to be second Normal Form (2NF), when it is in 1NF and every attribute in record
is functionally dependent upon the whole key, and not just a part of the key.
A table is in third Normal Form (3NF), when it is in 2NF and every non-key attribute is
functionally dependent on just the primary key.
Table is a collection of complete details about a particular subject. These data are saved
in rows and Columns. The data of each Row are different units. Hence, rows are called
RECORDS and Columns of each row are called FIELDS.
Data is stored in tables, which is available in the backend the items and data, which are
entered in the input, form id directly stored in this table using linking of database. We
can link more than one table to input forms. We can collect the details from the different
tables to display on the output.
There are mainly 15 tables in the project. They are,
1. tbl_admin
2. tbl_district
3. tbl_place
4. tbl_user
5. tbl_category
6. tbl_subcategory
7. tbl_vendor
8. tbl_game
9. tbl_booking
10. tbl_complainttype
11. tbl_complaint
12. tbl_offer
13. tbl_offergame
39
1. Table: tbl_admin
Description: This table is used to store the details of administrator.
Slno Field Name Data type Size Constraints
1 admin_id INT Primary key
2 admin_user VARCHAR 100
3 admin_password VARCHAR 100
4 admin_email VARCHAR 100
2. Table: tbl_district
Description: This table is used to store districts.
3. Table: tbl_place
Description: This table is used to store different places.
4. Table: tbl_user
Description: This table is used to store the details of customers.
5. Table: tbl_category
Description: This table is used to various categories of the product.
6. Table: tbl_subcategory
Description: This table is used to store subategories based on category.
7. Table: tbl_vendor
Description: This table is used to store the details of employees.
41
8. Table: tbl_game
Description: This table is used to store product details.
9. Table: tbl_booking
Description: This table is used to store product images.
42
5 pbooking_quantity INT
6 pbooking_rate INT
7 pbooking_status INT
8 pbooking_pstatus INT
There are various symbols used in a DFD. Bubbles represent the processes. Named arrows
indicate the data flow. External entities are represented by rectangles. Entities supplying data
are known as sources and those that consume data are called sinks. Data are stored in a data
store by a process in the system. Each component in a DFD is labelled with a descriptive
name. Process names are further identified with a number.
The Data Flow Diagram shows the logical flow of a system and defines the boundaries of the
system. For a candidate system, it describes the input (source), outputs (destination), database
(files) and procedures (data flow), all in a format that meet the user’s requirements.
The main merit of DFD is that it can provide an overview of system requirements, what data a
system would process, what transformations of data are done, what files are used, and where
the results flow.
This network is constructed by use a set of symbols that do not imply a physical
implementation. It is a graphical tool for structured analysis of the system requirements. DFD
44
models a system by using external entities from which data flows to a process, which
transforms the data and creates, output-data-flows which go to other processes or external
entities or files. External entities are represented by rectangles. Entities supplying data are
known as sources and those that consume data are called sinks. Data are stored in a data store
by a process in the system. It is a graphical tool for structured analysis of the system
requirements. DFD models a system by using external entities from which data flows to a
process, which transforms the data and creates, output-data-flows which go to other processes
or external entities or files. Data in files may also flow to processes as inputs.
45
A data store is a repository of data that is to
be stored for use by a one or more process
may be as simple as buffer or queue or
sophisticated as relational database. They
should have clear names. If a process merely
uses the content of store and does not alter
it, the arrowhead goes only from the store to
the process. If a process alters the details in
the store then a double-headed arrow is
used.
Each component in a DFD is labelled with a descriptive name. Process name are further
identified with number. Context level DFD is draw first. Then the process is decomposed into
several elementary levels and is represented in the order of importance. A DFD describes
what data flow (logical) rather than how they are processed, so it does not depend on
hardware, software, and data structure or file organization.
46
Second Level DFD for Ruchiyidam
47
48
49
50
3.4 INTERFACE DESIGN
These modules can apply to hardware, software or the interface between a user and a
machine. An example of a user interface could include a GUI, a control panel for a
nuclear power plant, or even the cockpit of an aircraft. In systems engineering, all the
inputs and outputs of a system, subsystem, and its components are listed in an
51
interface control document often as part of the requirements of the engineering
project. The development of a user interface is a unique field.
Input Design is a part of the overall design. The input methods can be broadly classified into
batch and online. Internal controls must be established for monitoring the number of inputs
and for ensuring that the data are valid. The basic steps involved in input design are:
52
Customer Registration Form
This input form is for the registration of new customer. It contains textboxes for inputting
name, email id, place, address and phone number of the customer, a password box for giving
the password. After clicking the submit button the customer details will be saved. And with
this username and password he/she can login to the system.
53
54
Employee Registration Form
This input form is used to add employee to our website. Admin can add employees to this
website. It contains textboxes for inputing name, email id, place, salary and phone number of
the employees, a password box for giving the password. This form allows to select gender
through radio buttons. After filling all these input boxes, he should click the save button to add
the subject details to this website.
It is the most important and direct source information is to the user. Efficient and
intelligent output design improves the system’s relationships with the user and helps in
decision making. The objective of the output design is to convey the information of all the
past activities, current status and to emphasis important events. The output generally
refers to the results and information that is generated from the system. Outputs from
computers are required primarily to communicate the results of processing to the users.
Output also provides a means of storage by copying the results for later reference in
consultation. There is a chance that some of the end users will not actually operate the
input data or information through workstations, but will see the output from the system.
55
Output Definition takes into account the type of output contents, its frequency and its volume,
the appropriate output media is determined for output. Once the media is chosen, the detail
specification of output documents are carried out. The nature of output required from the
proposed system is determined during logical design stage. It takes the outline of the output
from the logical design and produces output as specified during the logical design phase.
In a project, when designing the output, the system analyst must accomplish the
following:
• Determine the information to present.
• Decide whether to display, print, speak the information and select the output
medium.
• Arrange the information in acceptable format.
• Decide how to distribute the output to the intended receipt.
Thus by following the above specifications, a high quality output can be generated.
In our projects outputs are generated as pie charts and in table format on based on date wise
product booking.
58
4. IMPLEMENTATION
Implementation is the stage of the project when the theoretical design is turned into a working
system. The implementation stage is a systems project in its own rig ht. It includes careful
planning, investigation of current system and its constraints on implementation, design of methods
to achieve the changeover, training of the staff in the changeover procedure and evaluation of
changeover method.
A set of comprehensive coding guidelines encompasses all aspects of code development. To ensure
that all developers work in a harmonized manner (the source code should reflect a harmonized style
as a single developer had written the entire code in one session), the developers should be aware of
the coding guidelines before starting a software project. Moreover, coding guidelines should state
how to deal with the existing code when the software incorporates it or when maintenance is
performed.
Since there are numerous programming languages for writing software codes, each having different
features and capabilities, coding style guidelines differ from one language to another. However,
there are some basic guidelines which are followed in all programming languages. These include
naming conventions, commenting conventions, and formatting conventions.
1. File header comments are useful in providing information related to a file as a whole and
comprise identification information such as date of creation, Dame of
59
3. Indentation: This refers to one or more spaces left at the beginning of statements in the program.
Indentation is useful in making the code easily readable. However, the spaces used for indentation
should be followed in the entire program.
4. Implementing coding guidelines: If coding guidelines are used in a proper manner, errors can be
detected at the time of writing the software code. Such detection in early stages helps in
increasing the performance of the software as well as reducing the additional and unplanned costs
of correcting and removing errors. Moreover, if a well-defined coding guideline is applied, the
program yields a software system that is easy to comprehend and maintain.
} if(isset($_POST["btncancel"])){ header("location:District.php");}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ruchiyidam::District</title>
<?php include("header.php") ;
?>
</head>
<a style="color:blueviolet; ""font-family:monospace;" href
="Homepage.php">Home</a>
<body><div align="center" id="tab">
60
<form id="form1" name="form1" method="post" action="">
61
</tr>
<?php
}
?>
</tr>
</table></form>
</div>
</body>
</html>
5.TESTING
Coding conventions are a set of guidelines for a specific programming language that recommend
programming style, practices and methods for each aspect of a piece program written in this
language. These conventions usually cover file organization, indentation, comments, declarations,
statements, white space, naming conventions, programming practices, programming principles,
programming rules of thumb, architectural best practices, etc. These are guidelines for software
structural quality. Software programmers are highly recommended to follow these guidelines to
help improve the readability of their source code and make software maintenance easier.
The objective of system testing is to ensure that all individual programs are working as expected,
that the programs link together to meet the requirements specified and to ensure that the computer
system and the associated clerical and other procedures work together. The initial phase of system
testing is the responsibility of the analyst who determines what conditions are to be tested,
generates test data, produced a schedule of expected results, runs the tests and compares the
computer produced results with the expected results with the expected results. The analyst may also
be involved in procedures testing. When the analyst is satisfied that the system is working properly,
he hands it over to the users for testing. The importance of system testing by the user must be
stressed. Ultimately it is the user must verify the system and give the go-ahead.
During testing, the system is used experimentally to ensure that the software does not fail, i.e., that
it will run according to its specifications and in the way users expect it to. Special test data is input
62
for processing (test plan) and the results are examined to locate unexpected results. A limited number
of users may also be allowed to use the system so analysts can see whether they try to use it in
unexpected ways. It is preferably to find these surprises before the organization implements the
system and depends on it. In many organizations, testing is performed by person other than those
who write the original programs. Using persons who do not know how certain parts were designed
or programmed ensures more complete and unbiased testing and more reliable software.
Parallel running is often regarded as the final phase of system testing. Since he parallel operation of
two systems is very demanding in terms of user resources it should be embarked on only if the user
is satisfied with the results of testing -- it should not be started if problems are known to exist.
Testing is the major quality control measure during software development. Its basic function is to
detect errors in the software. Thus the goal of testing is to uncover requirement design and coding
errors in the program.
1. Unit Testing
2. Integrated Testing
3. Black Box Testing
In computer programming, unit testing is a method by which individual units of source code,
sets of one or more computer program modules together with associated control data, usage
procedures, and operating procedures are tested to determine if they are fit for use. In this
testing we test each module individual and integrated the overall system. Unit testing focuses
verification efforts on the smaller unit of software design in the module. This is also known as
module testing. The modules of the system are tested separately. The testing is carried out
during programming stage itself. In this testing step each module is found to working
satisfactory as regard to the expected output from the module. There are some validation checks
for verifying the data input given by the user which both the formal and validity of the entered.
It is very easy to find error debug the system.
63
Fig 5.1 Unit Testing
I have continued Unit Testing from the starting of the coding phase itself. Whenever I completed
one small sub module, some amount of testing was done based on the requirements to see if the
functionality is aligned to the gathered requirements.
Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase in
software testing in which individual software modules are combined and tested as a group.
Software components may be integrated in an iterative way or all together ("big bang"). Normally
the former is considered a better practices since it allows interface is uses to be located more
quickly and fixed. Data can be lost across an interface; one module can have an adverse effort on
the other sub functions when combined by, may not produce the desired major functions. Integrated
testing is the systematic testing for constructing the uncover errors within the interface. This testing
was done with sample data. The developed system has run successful for this sample data. The
need for integrated test is to find the overall system performance.
Integration testing is a logical extension of unit testing. In its simplest form, two units that have
already been tested are combined into a component and the interface between them is tested. A
component, in this sense, refers to an integrated aggregate of more than one unit. Integration testing
identifies problems that occur when units are combined. By using a test plan that requires you to
test each unit and ensure the viability of each before combining units, you know that any errors
discovered when combining units are likely related to the interface between units. This method
reduces the number of possibilities to a far simpler level of analysis. Progressively larger groups of
64
tested software components corresponding to elements of the architectural design are integrated
and tested until the software works as a system.
I have performed integration testing whenever I have combined two modules together. When two
modules are combined I have checked whether the functionality works correctly or not through
integration testing.
In the Black Box testing tester only knows the input that can be given to the system and what
output the system should give. In other words, the basis of deciding test cases in functional testing
is requirements or specifications of the system or module. This form of testing is also called
functional or behavioural testing. One advantage of the black box technique is that no
programming knowledge is required. Whatever biases the programmers may have had, the tester
likely has a different set and may emphasize different areas of functionality. On the other hand,
black-box testing has been said to be "like a walk in a dark labyrinth without a flashlight." Because
they do not examine the source code, there are situations when a tester writes many test cases to
65
check something that could have been tested by only one test case, or leaves some parts of the
program untested.
While white-box testing can be applied at the unit, integration and system levels of the software
testing process, it is usually done at the unit level. It can test paths within a unit, paths between units
during integration, and between subsystems during a system–level test. Though this method of test
design can uncover many errors or problems, it might not detect unimplemented parts of the
specification or missing requirements. White Box testing is concerned with testing the
implementation of the program. The intent of this testing is not to exercise all the different input or
output conditions but to exercise the different programming structures and data structures used in the
program.
67
Fig 5.6 Already Exists Validation Testing Result
UAT is performed after System Testing is done and all or most of the major defects have been fixed.
This testing is to be conducted in the final stage of Software Development Life Cycle(SDLC) prior to
system being delivered to a live environment. UAT users or end users are concentrating on end to
end scenarios & typically involves running a suite of tests on the completed system.
User Acceptance testing also known as Customer Acceptance testing (CAT), if the
system is being built or developed by an external supplier. The CAT or UAT are the final
confirmation from the client before the system is ready for production. The business customers are
the primary owners of these UAT tests. These tests are created by business customers and
articulated in business domain languages. So ideally it is collaboration between business customers,
TC
Test Steps Expected Result Actual Result Status Comment
No.
Login screen has
Login screen is been displayed,
displayed. A filed for fields for entering
1 Run application entering username, a email address and
and navigate to field for entering Pass
password
login screen password and a together with a
button to submit
log in button is
should be present
available.
A message has
Enter an invalid
2 A message should be been displayed
username and
invalid password displayed stating that stating that user Pass
user name and name and
and press the
password are invalid password are
button
invalid
A message has Using admin
3 Enter a valid User must been displayed as the
username and successfully login to stating that the Pass username
68
and admin
password and the webpages. login successful
press the button and navigate into as the
home page password
business analysts, testers and developers. It consists of test suites which involve multiple test cases &
each test case contains input data (if required) as well as the expected output. The result of test case is
either a pass or fail.
A test case is a set of conditions or variables under which a tester will determine whether a system
under test satisfies requirements or works correctly. The process of developing test cases can also
help find problems in the requirements or design o an application. A sample of test case document
format is given below.
69
A message has
Enter a valid
4 A message should be been displayed
username and
displayed stating that stating that please Pass
leave password
please enter the user enter the user
and press the
name and password name and
button
password
A message has
5 Leave username A message should be been displayed
and password displayed stating that stating that please Pass
and press the please enter the user enter the user
button name and password name and
password
A message has
6 Leave username A message should be been displayed
and enter a valid displayed stating that stating that please
enter the user Pass
password and please enter the user
press the button name and password name and
password
70
6. CONCLUSION
The project was successfully completed with in the time span allotted. All the modules are tested
separately and put together to form the main system. Finally, the modules are tested with real data
and it worked successfully. Thus the system has fulfilled the entire objective defined.
This project will help the customer to reduce man power and consume less time purchasing smart
gadgets without going to the shop. Our goal of developing this “Ruchiyidam” has come to a good
result without many defects.
The main motive for developing this system is for the welfare of the society by giving all time
access to a set of smart gadgets.
The system has been designed in such a way that it can be modified with very little effort when
such needs arise in the future. New features can be added with slight modifications of software
which make it easy to expand the scope of this project. Though the system is working on various
assumptions, it can be modified easily to any kind of requirements.
Even though we have tried our best to present the information effectively and efficiently, yet there
can be further enhancement in the application. We have taken care of all the critical aspects, which
were needed to be taken care of. because of fast changes in the world of programming this system
will gradually get outdated and less effective. For the time being it’s possible to overcome
problems by amendments and minor modifications to acknowledge the need of fundamental
design. Though the new system provides base for improving the efficiency of operations, there are
a lot of future enhancements that can be added to this project. Keeping this in view, a provision has
been made in the system to facilities easy modification updating in the future. Any modification
will not affect the normal working of the system. It can also be converted into a mobile application
7. REFERENCES
71
• Pamkaj Jalote-An Integerated approach to Software Engineering
,Second Edition, Narosa Publishing Company
8. APPENDIX
8.1 SCREENSHOTS
72
Fig 8.1 Guest Homepage
73
Fig 8.3 Customer Registration
74
Fig 8.6 Customer Search Page
Fig
8.7
Product Details
75
Fig 8.8 Payment Page
76
Fig 8.10 Post Complaints
77
Fig 8.12 Staff Profile Page
78
Fig 8.14 Admin Homepage
79
Fig 8.16 Adding staff
80
Fig 8.19 Assign work to staffs
81
Fig 8.21 View Feedback
82
Fig 8.23 Booking Confirmation Mail from Customer
83