KV-2 NAUSENABAUGH
ACADEMIC YEAR : 2021-22
PROJECT REPORT ON
GAS INVENTORY MANAGEMENT SYSTEM
ROLL NO : 20611977
NAME : ANKIT PUNIA
CLASS : XII
SUBJECT : COMPUTER SCIENCE
SUB CODE : 083
PROJECT GUIDE: Mr ARVIND SHRIVAS
PGT (CS)
KV-2 NAUSENABAUGH
VISAKHAPATNAM
ANDHRA PRADESH
1
KV-2 NAUSENABAUGH
CERTIFICATE
This is to certify that Student ANKIT PUNIA CBSE Roll No:
_20611977_ has successfully completed the project Work entitled
GAS MANAGEMENT SYSTEM in the subject Computer Science (083)
laid down in the regulations of CBSE for the purpose of Practical
Examination in Class XII to be held in KV-2 Nausenabaugh
on______________.
(Arvind Shrivas)
PGT Comp Sci
2
TABLE OF CONTENTS [ T O C ]
SER DESCRIPTION PAGE NO
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
03 OBJECTIVES OF THE PROJECT 05
04 PROPOSED SYSTEM 06
05 SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) 07
06 PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE 08
07 FLOW CHART 15
08 SOURCE CODE 16
09 OUTPUT 19
10 TESTING 20
11 HARDWARE AND SOFTWARE REQUIREMENTS 23
12 BIBLIOGRAPHY 24
3
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends
largely on the encouragement and guidelines of many others. I take this
opportunity to express my gratitude to the people who have been
instrumental in the successful completion of this project.
I express deep sense of gratitude to almighty God for giving me
strength for the successful completion of the project.
I express my heartfelt gratitude to my parents for constant
encouragement while carrying out this project.
My sincere thanks to Mr. Arvind Shrivas , Subject teacher, A
guide, Mentor all the above a friend, who critically reviewed my project
and helped in solving each and every problem, occurred during
implementation of the project
The guidance and support received from all the members who
contributed and who are contributing to this project, was vital for the
success of the project. I am grateful for their constant support and help.
4
PROJECT ON COMPUTING PI VALUE
INTRODUCTION
The number π (/paɪ/) is a mathematical constant. Originally
defined as the ratio of a circle's circumference to its diameter, it now has
various equivalent definitions and appears in many formulas in all areas
of mathematics and physics. It is approximately equal to 3.14159. It has
been represented by the Greek letter "π" since the mid-18th century,
though it is also sometimes spelled out as "pi". It is also
called Archimedes' constant. This project computes the pi value
depending on user input.
OBJECTIVES OF THE PROJECT
The objective of this project is to let the students apply the
programming knowledge into a real- world situation/problem and
exposed the students how programming skills helps in developing a
good software.
1. Write programs utilizing modern software tools.
2. Apply object oriented programming principles effectively when
developing small to medium sized projects.
5
3. Write effective procedural code to solve small to medium sized
problems.
4. Students will demonstrate a breadth of knowledge in computer
science, as exemplified in the areas of systems, theory and
software development.
5. Students will demonstrate ability to conduct a research or applied
Computer Science project, requiring writing and presentation skills
which exemplify scholarly style in computer science.
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be
really wants to stand against today’s merciless competition where not to
wise saying “to err is human” no longer valid, it’s outdated to
rationalize your mistake. So, to keep pace with time, to bring about the
best result without malfunctioning and greater efficiency so to replace
the unending heaps of flies with a much sophisticated hard disk of the
computer.
One has to use the data management software. Software has
been an ascent in atomization various organisations. Many software
products working are now in markets, which have helped in making the
organizations work easier and efficiently. Data management initially had
6
to maintain a lot of ledgers and a lot of paper work has to be done but
now software product on this organization has made their work faster
and easier. Now only this software has to be loaded on the computer
and work can be done.
This prevents a lot of time and money. The work becomes fully
automated and any information regarding the organization can be
obtained by clicking the button. Moreover, now it’s an age of computers
of and automating such an organization gives the better look.
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
The systems development life cycle is a project management
technique that divides complex projects into smaller, more easily
managed segments or phases. Segmenting projects allows managers to
7
verify the successful completion of project phases before allocating
resources to subsequent phases.
Software development projects typically include initiation, planning,
design, development, testing, implementation, and maintenance phases.
However, the phases may be divided differently depending on the
organization involved.
For example, initial project activities might be designated as
request, requirements-definition, and planning phases, or initiation,
concept-development, and planning phases. End users of the system
under development should be involved in reviewing the output of each
phase to ensure the system is being built to deliver the needed
functionality.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need
or an opportunity.
The purpose of the Initiation Phase is to:
Identify and validate an opportunity to improve business
accomplishments of the organization or a deficiency related to a
business need.
Identify significant assumptions and constraints on solutions to that
need.
8
Recommend the exploration of alternative concepts and methods
to satisfy the need including questioning the need for technology,
i.e., will a change in the business process offer a solution?
Assure executive business and executive technical sponsorship.
The Sponsor designates a Project Manager and the business need
is documented in a Concept Proposal. The Concept Proposal
includes information about the business process andthe
relationship to the Agency/Organization.
Infrastructure and the Strategic Plan. A successful Concept
Proposal results in a Project Management Charter which outlines
the authority of the project manager to begin
the project.
Careful oversight is required to ensure projects support strategic
business objectives and resources are effectively implemented into an
organization's enterprise architecture. The initiation phase begins when
an opportunity to add, improve, or correct a system is identified and
formally requested through the presentation of a business case. The
business case should, at a minimum, describe a proposal’s purpose,
identify expected benefits, and explain how the proposed system
supports one of the organization’s business strategies. The business
case should also identify alternative solutions and detail as many
informational, functional, and network requirements as possible.
SYSTEM CONCEPT DEVELOPMENT PHASE
The System Concept Development Phase begins after a business need
or opportunity is validated by the Agency/Organization Program
Leadership and the Agency/Organization CIO.
9
The purpose of the System Concept Development Phase is to:
Determine the feasibility and appropriateness of the alternatives.
Identify system interfaces.
Identify basic functional and data requirements to satisfy the
business need.
Establish system boundaries; identify goals, objectives, critical
success factors, and performance measures.
Evaluate costs and benefits of alternative approaches to satisfy the
basic functional requirements
Assess project risks
Identify and initiate risk mitigation actions, andDevelop high-level
technical architecture, process models, data models, and a
concept of operations. This phase explores potential technical
solutions within the context of the business need.
It may include several trade-off decisions such as the decision to
use COTS software products as opposed to developing custom
software or reusing software components, or the decision to use
an incremental delivery versus a complete, onetime deployment.
Construction of executable prototypes is encouraged to evaluate
technology to support the business process. The System
Boundary Document serves as an important reference document
to support the Information Technology Project Request (ITPR)
process.
The ITPR must be approved by the State CIO before the project
can move forward.
PICTORIAL REPRESENTATION OF SDLC:
10
PLANNING PHASE
The planning phase is the most critical step in completing
development, acquisition, and maintenance projects. Careful planning,
particularly in the early stages of a project, is necessary to coordinate
activities and manage project risks effectively. The depth and formality of
project plans should be commensurate with the characteristics and risks
of a given project. Project plans refine the information gathered during
the initiation phase by further identifying the specific activities and
resources required to complete a project.
A critical part of a project manager’ sjob is to coordinate
discussions between user, audit, security, design, development, and
network personnel to identify and document as many functional,
security, and network requirements as possible. During this phase, a
plan is developed that documents the approach to be used and includes
a discussion of methods, tools, tasks, resources, project schedules, and
11
user input. Personnel assignments, costs, project schedule, and target
dates are established.
A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality
assurance planning, concept of operations, system security, verification
and validation, and systems engineering management planning.
REQUIREMENTS ANALYSIS PHASE
This phase formally defines the detailed functional user
requirements using high-level requirements identified in the Initiation,
System Concept, and Planning phases. It also delineates the
requirements in terms of data, system performance, security, and
maintainability requirements for the system. The requirements are
defined in this phase to alevel of detail sufficient for systems design to
proceed. They need to be measurable, testable, and relate to the
business need or opportunity identified in the Initiation Phase. The
requirements that will be used to determine acceptance of the system
are captured in the Test and Evaluation MasterPlan.
The purposes of this phase are to:
Further define and refine the functional and data requirements and
document them in the Requirements Document,
Complete business process reengineering of the functions to be
supported (i.e., verify what information drives the business
process, what information is generated, who generates it, where
does the information go, and who processes it),
Develop detailed data and process models (system inputs,
outputs, and the process.
12
Develop the test and evaluation requirements that will be used to
determine acceptable system performance.
DESIGN PHASE
The design phase involves converting the informational, functional,
and network requirements identified during the initiation and planning
phases into unified design specifications that developers use to
scriptprograms during the development phase. Program designs are c
onstructed in various ways. Using a top-down approach, designers first
identify and link majorprogram components and interfaces, then expand
design layouts as they identify and link smaller subsystems and
connections. Using a bottom-up approach, designers first identify and
link minor program components and interfaces, then expand design
layouts as they identify and link larger systems and connections.
Contemporary design techniques often use prototyping tools that build
mock-up designs of items such as application screens, database
layouts, and system architectures. End users, designers, developers,
database managers, and network administrators should review and
refine the prototyped designs in an iterative process until they agree on
an acceptable design. Audit, security, and quality assurance personnel
should be involved in the review and approval process. During this
phase, the system is designed to satisfy the functional requirements
identified in the previous phase. Since problems in the design phase
could be very expensive to solve in the later stage of the software
development, a variety of elements are considered in the design to
mitigate risk. These include:
Identifying potential risks and defining mitigating design features.
Performing a security risk assessment.
13
Developing a conversion plan to migrate current data to the new
system.
Determining the operating environment.
Defining major subsystems and their inputs and outputs.
Allocating processes to resources.
Preparing detailed logic specifications for each software module.
The result is a draft System Design Document which captures the
preliminary design for the system.
Everything requiring user input or approval is documented and
reviewed by the user. Once these documents have been approved
by the Agency CIO and Business Sponsor, the final System
Design Document is created to serve as the Critical/Detailed
Design for the system.
This document receives a rigorous review byAgency technical and
functional representatives to ensure that it satisfies the business
requirements. Concurrent with the development of the system
design, the Agency Project Manager begins development of the
Implementation Plan, Operations and Maintenance Manual, and
the Training Plan.
DEVELOPMENT PHASE
The development phase involves converting design
specifications into executable programs. Effective development
standards include requirements that programmers and other project
participants discuss design specifications before programming
begins. The procedures help ensure programmers clearly understand
program designs and functional requirements. Programmers use
various techniques to develop computer programs. The large
transaction oriented programs associated with financial institutions
14
have traditionally been developed using procedural programming
techniques. Procedural programming involves the line-by-line
scripting of logical instructions that are combined to form a
program.Effective completion of the previous stages is a key factor in
the success of the Development phase. The Development phase
consists of:
Translating the detailed requirements and design into system
components.
Testing individual elements (units) for usability.
Preparing for integration and testing of the IT system.
INTEGRATION AND TEST PHASE
Subsystem integration, system, security, and user acceptance
testing is conducted during the integration and test phase. The
user, with those responsible for quality assurance, validates that
the functional requirements, as defined in the functional
requirements document, are satisfied by the developed or modified
system. OIT Security staff assess the system security and issue a
security certification and accreditation prior to
installation/implementation.
Multiple levels of testing are performed, including:
Testing at the development facility by the contractor and possibly
supported by end users
Testing as a deployed system with end users working together
with contract personnel
15
Operational testing by the end user alone performing all functions.
Requirements are traced throughout testing,a final Independent
Verification & Validation evaluation is performed and all
documentation is reviewedand accepted prior to acceptance of the
system.
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and
accepted by the user. In this phase, the system is installed to support
the intended business functions. System performance is compared to
performance objectives established during the planning phase.
Implementation includes user notification, user training, installation of
hardware, installation of software onto production computers, and
integration of the system into daily work processes. This phase
continues until the system is operating in production in accordance with
the defined userrequirements.
OPERATIONS AND MAINTENANCE PHASE
The system operation is ongoing. The system is monitored for
continued performance in accordance with user requirements and
needed system modifications are incorporated. Operations continue as
long as the system can be effectively adapted to respond to the
organization’s needs. When modifications or changes are identified, the
system may reenter the planning phase.
The purpose of this phase is to:
Operate, maintain, and enhance the system.
Certify that the system can process sensitive information.
16
Conduct periodic assessments of the system to ensure the
functional requirements continue to be satisfied.
Determine when the system needs to be modernized, replaced, or
retired.
17
FLOW CHART
START
input("ENTER THE YOUR USERNAME:")
input("ENTER YOUR PASSWORD IN 10
CHARACRTER : ")
for i in
range
(0,99)
print("1.CREATE ACCOUNT")
print("2.TO MAKE BILL")
print("3.TO GET DETAILS OF THE CUSTOMER")
print("4.TO GET THE DETAILE OF EVERY
CUSTOMER")
print("5.TO GET DETAILS OF A PARTICULAR
CUSTOMER")
print("6.TOINSERT MULTIPLE VALUES")
print("7.enter 0 to log out")
elif
elif
if elif choic elif
choic
choice choice e == choice
e==4
==1: ==2: 3: ==5:
:
input("ENTER THE
input("enter the namecustomer") NAME OF CUSTOMER:") mycursor.fetchall
input("enter your account number:") ()
mycursor.execute("select
input("enter your complete
* from gasin")
address:")
input("enter your debit card input("ENER yOUR
number:") print("YOUR RESULT IS
NAME")
input("enter your credit amount”) ") print("CHOOSE A CHOICE :")
print("1. C N G ..Rs.75/l")
mycursor.fetchall()
Your account is created print("2.L P G .Rs.80/l")
print(" 3.both LPG..Rs.75/l & CNG.. Rs.80/l")
ch=int(input("enter your choice:"))
18
if if if
ch== ch== ch=
1: 2: =3:
(input("enter the amount:")
input("enter the input("enter the
quantity bought:")) amount (input("enter the amount:")
80*lpg
amount= 75*cng total=80*lpgas+75*cng
as
print("your record is updated")
(input("if transaction is to be
print("your record is
done through the credit amount
updated")
enter 1:"))
if
if chio==1:
cho==
1:
remaind=v_credit-total
print("your record is updated")
print("your record is
updated")
elif elif
choice choic
==6: e==0:
input("enter the name”)
input("enter your complete address”)
input("enter your debit card
number:"):
(input("enter your credit amount:")
print("data inserted")
STOP 19
SOURCE CODE
import mysql.connector as sql , datetime as dt
conn=sql.connect(host='localhost',user='root',passwd=
'ADMINISTRATOR12345',database='gasin')
if conn.is_connected():
print("connected")
mycursor=conn.cursor()
#mycursor.execute("create table gasin(v_customer
varchar(30) primary key , v_accno bigint,v_date
date,v_add varchar(40), v_cng bigint, v_lpg bigint,
v_debit bigint,v_amtobe_paid bigint , v_credit
bigint")
print("GAS INVENTORY MANAGEMENT SYSTEN")
passw=input("enter your password to continue:")
passwd=input('confirm your password')
if (passw == passwd) :
print("your password is correct")
else:
print("invalid")
for i in range (0,999999999999999):
print("1.CREATE ACCOUNT")
print("2.TO MAKE BILL")
print("3.TO GET DETAILS OF THE CUSTOMER")
20
print("4.TO GET THE DETAILE OF EVERY CUSTOMER")
print("5.TO GET DETAILS OF A PARTICULAR
CUSTOMER")
print("6.TOINSERT MULTIPLE VALUES")
print("7.enter 0 to log out")
choice=int(input("enter your choice as per the
above information:"))
if choice==1:
v_customer=input("enter the name customer ")
v_accno=input("enter your account number:")
import datetime
v_date=datetime.datetime.now()
v_add=input("enter your complete address:")
v_debit=input("enter your debit card
number:")
v_credit=int(input("enter your credit
amount:"))
mycursor.execute("insert into gasin
values('{}' , {} , '{}' , '{}' , {} , {}
)".format(v_customer , v_accno , dt.date.today() ,
v_add , v_debit , v_credit ))
print ("äccount is created")
continue
elif choice==2:
21
mycursor.execute("select * from gasin")
re=mycursor.fetchall()
print("YOUR RESULT IS ")
for x in re:
print(x)
continue
elif choice == 3:
customer_name=input("ENTER THE NAME OF
CUSTOMER:")
import datetime
v_date=datetime.datetime.now()
date = v_date
print("the date & time is:",v_date)
print("CHOOSE A CHOICE FROM THE FOLLOWING AS
PER THE GAS IS BOUGHT BY THE CUSTOMER:")
print("1. C N G ......Rs.75/l")
print("2.L P G .......Rs.80/l")
print(" 3.both LPG.....Rs.75/l & CNG....
Rs.80/l")
ch=int(input("enter your choice:"))
if ch==1:
cng=int(input("enter the quantity
bought:"))
amount= 75*cng
22
print("THE AMOUNT TO BE PAID IS
:",amount)
mycursor.execute("update gasin set
v_cng='cng',v_amtobe_paid='amont',where customer
='customer_name'")
cho=int(input("if transaction is to be
done through the credit amount enter 1:"))
if cho==1:
remaining=v_credit-amount
mycursor.execute ("updata gasin set
v_credit=('remaining'),v_date=('date') where
v_customer='customer_name'")
print("your record is updated")
else:
print("INVALID CODE")
if ch==2:
lpg=int(input("enter the amount bought by
the customer:"))
pay = 80*lpg
print("the amount to be is: ",pay)
mycursor.execute("update gasin set
v_lpg='lpg',v_amtobe_paid='pay' where
v_customer='customer_name'")
23
print("your record is updated")
choo=int(input("if transaction is to be
done through the credit amount enter 1:"))
if choo==1:
remain=v_credit-pay
mycursor.execute("update gasin set
v_credit='remain',v_date='date'where v_customer
='customer_name'")
print("your record is updated")
if ch==3:
lpgas=int(input("enter the amount:"))
cngas=int(input("enter the amount:"))
total=80*lpgas+75*cngas
print("the amount to be is: ",total)
mycursor.execute("update gasin set
v_lpg='lpgas',v_cng='cngas',v_amtobe_paid='total'
where v_customer='customer_name'")
print("your record is updated")
chio=int(input("if transaction is to be
done through the credit amount enter 1:"))
if chio==1:
remaind=v_credit-total
24
mycursor.execute("update gasin set
v_credit='remaind',v_date='date'where v_customer
='customer_name'")
elif choice==4:
mycursor.execute("select * from gasin")
se = mycursor.fetchall()
for x in se:
print(x)
continue
elif choice==5:
customer_name=input("ENER yOUR NAME")
mycursor.execute("select v_credit , v_debit
,v_accno , v_add from gasin where
v_customer='customer_name'")
record=mycursor.fetchall()
for x in records:
print(x)
continue
elif choice==6:
v_customer=input("enter the name customer ")
v_accno=input("enter your acount number:")
import datetime
v_date=datetime.datetime.now()
date = v_date
25
v_add=input("enter your complete address:")
v_debit=input("enter your debit card
number:")
v_credit=int(input("enter your credit
amount:"))
mycursor.execute("insert into gasin
values(v_customer,v_accno,'(date)',
'v_add',44453,1009900)")
print("inserted")
continue
elif choice==0:
break
conn.commit()
26
OUTPUT
27
TESTING
Software Testing is an empirical investigation conducted to provide
stakeholders with information about the quality of the product or service
under test[1] , with respect to the context in which it is intended to
operate. Software Testing also provides an objective, independent view
of the software to allow the business to appreciate and understand the
risks at implementation of the software. Test techniques include, but are
not limited to, the process of executing a program or application with the
intent of finding software bugs.
It can also be stated as the process of validating and verifying that
a software program/application/product meets the business and
technical requirements that guided its design and development, so that it
works as expected and can be implemented with the same
characteristics. Software Testing, depending on the testing method
employed, can be implemented at any time in the development process,
however the most test effort is employed after the requirements have
been defined and coding process has been completed.
TESTING METHODS
Software testing methods are traditionally divided into black box
testing and white box testing. These two approaches are used to
describe the point of view that a test engineer takes when designing test
cases.
BLACK BOX TESTING
Black box testing treats the software as a "black box," without any
knowledge of internal implementation. Black box testing methods
include: equivalence partitioning, boundary value analysis, all-pairs
28
testing, fuzz testing, model-based testing, traceability matrix, exploratory
testing and specification-based testing.
SPECIFICATION-BASED TESTING
Specification-based testing aims to test the functionality of
software according to the applicable requirements.[16] Thus, the tester
inputs data into, and only sees the output from, the test object. This level
of testing usually requires thorough test cases to be provided to the
tester, who then can simply verify that for a given input, the output value
(or behaviour), either "is" or "is not" the same as the expected value
specified in the test case. Specification-based testing is necessary, but it
is insufficient to guard against certain risks
ADVANTAGES AND DISADVANTAGES
The black box tester has no "bonds" with the code, and a tester's
perception is very simple: a code must have bugs. Using the principle,
"Ask and you shall receive," black box testers find bugs where
programmers don't. But, on the other hand, black box testing has been
said to be "like a walk in a dark labyrinth without a flashlight," because
the tester doesn't know how the software being tested was actually
constructed.
That's why there are situations when (1) a black box tester writes
many test cases to check something that can be tested by only one test
case, and/or (2) some parts of the back end are not tested at all.
Therefore, black box testing has the advantage of "an unaffiliated
opinion," on the one hand, and the disadvantage of "blind exploring," on
the other.
WHITE BOX TESTING
29
White box testing, by contrast to black box testing, is when the
tester has access to the internal data structures and algorithms (and the
code that implement these)
Types of white box testing:-
The following types of white box testing exist:
api testing - Testing of the application using Public and
Private APIs.
Code coverage - creating tests to satisfy some criteria of
code coverage.
For example, the test designer can create tests to cause all
statements in the program to be executed at least once.
fault injection methods.
mutation testing methods.
static testing - White box testing includes all static testing.
CODE COMPLETENESS EVALUATION
White box testing methods can also be used to evaluate the
completeness of a test suite that was created with black box testing
methods. This allows the software team to examine parts of a system
that are rarely tested and ensures that the most important function points
have been tested.
Two common forms of code coverage are:
Function Coverage: Which reports on functions executed
and
Statement Coverage: Which reports on the number of lines
executed to complete the test.
They both return coverage metric, measured as a percentage
30
HARDWARE AND SOFTWARE REQUIREMENTS
I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE
II. PROCESSOR : PENTIUM(ANY) OR AMD
ATHALON(3800+- 4200+ DUAL
CORE)
III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM
0R MSI
K9MM-V VIA K8M800+8237R PLUS
CHIPSET FOR AMD ATHALON
IV. RAM : 512MB+
V. Hard disk : SATA 40 GB OR ABOVE
VI. CD/DVD r/w multi drive combo: (If back up required)
VII. FLOPPY DRIVE 1.44 MB : (If Backup required)
VIII. MONITOR 14.1 or 15 -17 inch
IX. Key board and mouse
X. Printer : (if print is required – [Hard copy])
SOFTWARE REQUIREMENTS:
I. Windows OS
II. Python
31
.
BIBLIOGRAPHY
1. Computer science With Python - Class XI By : Sumita Arora
2. Computer science With Python - Class XII By : Sumita Arora
3. Website: https://www.w3resource.com
***
32