0% found this document useful (0 votes)
47 views38 pages

Student Marksheet

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views38 pages

Student Marksheet

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 38

SHANTI GYAN NIKETAN SR.

SEC. PUBLIC SCHOOL

COMPUTER SCIENCE (083)


(Academic Year 2020-21)

PROJECT REPORT
on
‘Project Title’

SUBMITTED BY: -
NAME : …………………………………….……
CLASS : ………………… ROLL.NO: …………….

UNDER THE GUIDANCE OF: Ms.RITA SEGAN

1
CERTIFICATE

This is to certify that this project report entitled

‘Project Title’

is a bonafide record of the project work done by

Name of the student of class XII in the academic year

2020 – 21. The project has been submitted in partial

fulfillment of CBSE AISSCE for practical

Examination and has been carried out under

my direct supervision and guidance.

………………………… ……………………………..
Signature of Student Signature of
Teacher

Name: Name: Ms. RITA SEGAN

Roll No.: Design.: PGT Comp.Sc.


2
ACKNOWLEDGEMENT

I
, undertook this Project work, as the part of my XII-
Computer Science. I had tried to apply my best of
knowledge and experience, gained during the study and
class work experience. However, developing software system
is generally a quite complex and time-consuming process. It
requires a systematic study, insight vision and professional
approach during the design and development. Moreover, the
developer always feels the need, the help and good wishes of
the people near you, who have considerable experience and
idea.

I would like to extend my sincere thanks and gratitude to my


teacher

Ms.Neetu Bhasin , for giving valuable time and moral


support to develop this software.

I also feel indebted to my friends for the valuable suggestions


during the project work.

Name of Student

Class XII B

3
C O N T E N T S

1. Introduction-------------------------------------------------------Page No

2. Objective & Scope of the Project--------------------------------------

3. System Implementation---------------------------------------------------

3.1 The Hardware used:-----------------------------------------------------

3.2 The Softwares used:-----------------------------------------------------

4. Theoretical Background------------------------------------

4.1 What is Database? -------------------------------------------------

4.2 What is MySQL?-----------------------------------------------------

4.3 What is Python? ----------------------------------------------------

5. System Design & Development----------------------------------------

5.1 Database Design:---------------------------------------------------------

5.2 Event Coding:--------------------------------------------------------------

6. Output------------------------------------------------------------------------

7. References -------------------------------------------------------------------

4
1. Introduction

This project is developed to automate the functionalities.The

purpose of the software project is to develop the Management

Information System (MIS) to automate the records with a view to

enhance the decision making of the functionaries.

A MIS mainly consists of a computerized database. An application

program is tied with the database for easy access and interface to

the database. Using Application program or front-end, we can

store, retrieve and manage all information in proper way.

This project, being simple in design and working, does not require

much of training to users, and can be used as a powerful tool for

automating a NAME OF THE PROJECT.

During coding and design of the Project, Python IDLE, a powerful

front-end tool is used for getting Graphical User Interface (GUI)

based integrated platform and coding simplicity. As a back-end a

powerful, open source RDBMS, My SQL or Binary file is used.

2. Objective & Scope of the Project


5
The objective of the project is to develop a computerized MIS
to automate the functions of a NAME OF THE PROJECT

The proposed software system is expected to do the following


functionality-

 To provide a user friendly, Graphical User Interface (GUI)


based integrated and centralized environment for MIS
activities.
 The proposed system should maintain all the records and
transactions, and should generate the required reports and
information when required.
 To provide graphical and user-friendly interface to interact
with a centralized database based on client-server
architecture.
 To identify the critical operation procedure and possibilities
of simplification using modern IT tools and practices.

In its current scope, the software enables user to retrieve and


update the information from centralized database designed with
MySQL or Binary file . This software does not require much
training time of the users due to limited functionality and
simplicity.

During the development of NAME OF THE PROJECT project,


Python IDLE, a powerful, open source event-driven form-based
development environment is used for modular design and future
expandability of the system.
6
Despite of the best effort of the developer, the following
limitations and functional boundaries are visible, which limits the
scope of this application project.

This project can store records and produce reports in pre-


designed format in soft copy. There is no facility yet to produce
customized reports. Only specified reports are covered.

So far as future scope of the project is concerned, firstly it is open


to any modular expansion i.e. other modules or functions can be
designed and embedded to handle the user need in future. Any
part of the software and reports can be modified independently
without much effort.

7
3. System Implementation

The Hardware and Software used:

Hardware Requirement-
 Intel Pentium/Celeron or similar processor based PC at
Client/Server end.
 128 MB RAM and 4GB HDD space (for Database) is desirable.
 Standard I/O devices like Keyboard and Mouse etc.
 Printer is needed for hard-copy reports.
 Local Area Network(LAN) is required for Client-Server
Installation

Software Requirement-
 Microsoft Windows® 7 or Higher Version as Operating
System.
 Python 3.7.2 as Front-end Development environment.
 MySQL as Back-end Sever with Database for Testing.
 MS-Word 2010 for documentation.

8
4. Theoretical Background

4.1 What is Database?

Introduction and Concepts:


Database is a collection of related information that is organized in
such a way that supports for easy access, modify and maintain
data. The contents of a database are obtained by combining data
from all the different sources in an organization. Generally, the
database is managed by some special software packages known
as Database Management Systems (DBMSs). DBMSs are specially
designed applications to create connection between user and
program, and to store data in an organized manner. The purpose
of DBMS software is to allow the user to create, modify and
administration of database. Examples of database management
systems are: Ms-Access, MySQL, PostgreSQL, SQLite, Microsoft
SQL Server, Oracle, SAP, dBASE, FoxPro, etc.

A table is a collection of data about a specific topic, such as


products or suppliers. Using a separate table for each topic means
you can store that data only once, which makes your database
more efficient and reduces data-entry errors. Table organises
data into columns (called fields) and rows (called records).

A Primary key is one or more fields whose value or values


uniquely identify each record in a table. In a relationship, a
primary key is used to refer to specific record in one table from
another table. A primary key is called foreign key when it is
referred to from another table.

To find and retrieve just the data that meets conditions you
specify, including data from multiple tables, create a query. A
query can also update or delete multiple records at the same
time, and perform built-in or custom calculations on your data.
9
Role of RDBMS Application Program:
A computer database works as an electronic filing system, which
has a large number of ways of cross-referencing, and this allows
the user many different ways in which to re-organize and retrieve
data. A database can handle business inventory, accounting and
filing and use the information in its files to prepare summaries,
estimates and other reports. The management of data in a
database system is done by means of a general-purpose software
package called a Database Management System (DBMS). Some
commercially available DBMS are MS SQL Server, MS ACCESS,
INGRES, ORACLE, and Sybase. A database management system,
therefore, is a combination of hardware and software that can be
used to set up and monitor a database, and can manage the
updating and retrieval of database that has been stored in it. Most
of the database management systems have the following
capabilities:

 Creating of a table, addition, deletion, modification of


records.
 Retrieving data collectively or selectively.
 The data stored can be sorted or indexed at the user's
discretion and direction.
 Various reports can be produced from the system. These
may be either standardized report or that may be specifically
generated according to specific user definition.
 Mathematical functions can be performed and the data
stored in the database can be manipulated with these
functions to perform the desired calculations.
 To maintain data integrity and database use.

10
The DBMS interprets and processes users' requests to retrieve
information from a database. In most cases, a query request will
have to penetrate several layers of software in the DBMS and
operating system before the physical database can be accessed.
The DBMS responds to a query by invoking the appropriate
subprograms, each of which performs its special function to
interpret the query, or to locate the desired data in the database
and present it in the desired order.

4.2 What is My SQL ?


The management of data in a database system is done by means
of a general-purpose software package called a Database
Management System (DBMS). Some commercially available
RDBMS are MS SQL Server, MS ACCESS, INGRES, ORACLE, and
Sybase.

MySQL, the most popular Open Source SQL database


management system, is developed, distributed, and supported by
Oracle Corporation. MySQL is named after co-founder Monty
Widenius's daughter, My. The name of the MySQL Dolphin (our
logo) is “Sakila,”.

 MySQL is a database management system.


A database is a structured collection of data. It may be
anything from a simple shopping list to a picture gallery or
the vast amounts of information in a corporate network. To
add, access, and process data stored in a computer
database, you need a database management system such
as MySQL Server. Since computers are very good at handling
large amounts of data, database management systems play
a central role in computing, as standalone utilities, or as
parts of other applications.
 MySQL is based on SQL.
11
A relational database stores data in separate tables rather
than putting all the data in one big storeroom. This adds
speed and flexibility. The SQL part of “MySQL” stands for
“Structured Query Language.” SQL is the most common
standardized language used to access databases and 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.
 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. The MySQL software uses the
GPL (GNU General Public License),
 The MySQL Database Server is very fast, reliable, and
easy to use.
If that is what you are looking for, you should give it a try.
MySQL Server also has a practical set of features developed
in close cooperation with our users. You can find a
performance comparison of MySQL Server with other
database managers on our benchmark page. 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.
12
The MySQL Database Software is a client/server system that
consists of a multi-threaded SQL server that supports
different backends, several different client programs and
libraries, administrative tools, and a wide range of
application programming interfaces (APIs).

The Main Features of MySQL

 Written in C and C++.


 Works on many different platforms.
 Uses multi-layered server design with independent modules.
 Provides transactional and non-transactional storage
engines.
 Designed to make it relatively easy to add other storage
engines. This is useful if you want to provide an SQL
interface for an in-house database.
 Uses a very fast thread-based memory allocation system.
 Executes very fast joins using an optimized nested-loop join.
 Implements SQL functions using a highly optimized class
library that should be as fast as possible. Usually there is no
memory allocation at all after query initialization.
 Provides the server as a separate program for use in a
client/server networked environment, and as a library that
can be embedded (linked) into standalone applications. Such
applications can be used in isolation or in environments
where no network is available.
 Password security by encryption of all password traffic when
you connect to a server.
 Support for large databases. We use MySQL Server with
databases that contain 50 million records. We also know of
users who use MySQL Server with 200,000 tables and about
5,000,000,000 rows.

13
 MySQL client programs can be written in many languages. A
client library written in C is available for clients written in C
or C++, or for any language that provides C bindings.
 APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl
are available, enabling MySQL clients to be written in many
languages.
 The Connector/ODBC (MyODBC) interface provides MySQL
support for client programs that use ODBC (Open Database
Connectivity) connections.
 The Connector/J interface provides MySQL support for Java
client programs that use JDBC connections. Clients can be
run on Windows or Unix. Connector/J source is available.

4.3What is Python ?
Python is an open source , object oriented high level
programming language developed by Guido Van Rossum in 1991
at the National Research Institute for Mathematics, Netherlands.
Features of Python:
 It is an interactive ,interpreted language.
 It is a loosely typed object –oriented language.
 It is a free open –source and portable language,
 It takes less time to develop programs.
 It is extensible / extendable and highly efficient .
 It supports GUI.
 It can be easily compatible with other languages like C , C++
etc.
 It is used for both scientific and non-scientific programming.

Installing Python:
It can be installed by using website :
https://www.python.org/downloads/

14
Interacting with Python:
Python programs can be run in two ways:
 Using Command line window

 Using IDLE

15
For those who use SQL Connectivity

5. System Design & Development

5.1 Database Design:


An important aspect of system design is the design of data
storage structure. To begin with a logical model of data structure
is developed first. A database is a container object which contains
tables, queries, reports and data validation policies enforcement
rules or constraints etc. A logical data often represented as a
records are kept in different tables after reducing anomalies and
redundancies. The goodness of data base design lies in the table
structure and its relationship.

This project maintains a database named ……… which contains


the following tables.

Table Design:
For example BUT PUT ACCORDING TO YOUR PROJECT

The database of LIBRARY MANAGEMENT SYSTEM contains 3


tables in database Library. The tables are normalized to minimize
the redundancies of data and enforcing the validation rules of the
organization. Most of the tables are designed to store master
records. The tables and their structure are given below.

16
Table 1: BOOKRECORD

17
Table2: MEMBER

18
Table3: ISSUE

19
TABLE JOIN

20
21
For those who use DFH, Binary file

5. System Design & Development


Data is stored using file(s) permanently on secondary storage
media. A file (i.e. data file) is a named place on the disk where a
sequence of related data is stored. In python files are simply
stream of data, so the structure of data is not stored in the file,
along with data.

File:- A file is a collection of related data stored in a particular area on the disk.

Stream: - It refers to a sequence of bytes.

Need of File Handling:


File handling is an important part of any web application.
To store the data in secondary storage.
To Access the data fast.
To perform Create, Read, Update, Delete operations easily.

Basic operations performed on a data file are:


 Naming a file
 Opening a file
 Reading data from the file
 Writing data in the file
 Closing a file

Using these basic operations, we can process file in many


ways, such as
 Creating a file
 Traversing a file for displaying the data on screen
 Appending data in file
 Inserting data in file
 Deleting data from file
 Create a copy of file
 Updating data in the file, etc.

22
Python allow us to create and manage following types of
file
 Text
 Binary

A text file is usually considered as sequence of lines. Line is a


sequence of characters (ASCII), stored on permanent storage
media. Although default character coding in python is ASCII but
using constant with string, supports Unicode as well. Each line is
terminated by a special character, known as End of Line (EOL).
From strings we know that \n is newline character. So at the
lowest level, text file will be collection of bytes. Text files are
stored in human readable form and they can also be created
using any text editor.

A binary file contains arbitrary binary data i.e. numbers stored in


the file, can be used for numerical operation(s). So when working
on binary file, we have to interpret the raw bit pattern(s) read
from the file into correct type of data in our program. It is
perfectly possible to interpret a stream of bytes originally written
as string, as numeric value. But that will be incorrect
interpretation of data and we are not going to get desired output
after the file processing activity. So in the case of binary file it is
extremely important that we interpret the correct data type while
reading the file. Python provides special module(s) for encoding
and decoding of data for binary file.

CSV (Comma Separated Values). A csv file is a type of plain text


file that uses specific structuring to arrange tabular data. A CSV is
a common format for data interchange as it is compact, simple
and general. Each line of the file is one line of the table. csv files
have .csv as file extension.

23
Source Code:

24
6.Output

25
7. References

In order to work on this project titled –NAME OF THE ROJECT, the following books and
literature are referred by me during the various phases of development of the project:

(1) Computer Science with Python for class XII

-by Preeti Arora

(2) Computer Science with Python for class XII

-by Sumita Arora

(3) http://www.mysql.org/

(4) http://www.python.org/

(5) Various Websites of Discussion Forum and software development activities.

Other than the above-mentioned books, the suggestions and supervision of my


Computer Science teacher Ms. Rita Segan and my classmates also helped me to develop
this software project.

Source code
import pickle
def add_rec():
f=open("students.dat","wb")
rec=[]
while True:
roll=int(input("Enter roll no"))
name=input("enter the name of student")
physics=float(input("Enter marks of physics"))
26
chemistry=float(input("Enter marks of chemistry"))
maths=float(input("Enter marks of maths"))
computer=float(input("Enter marks of computer"))
english=float(input("Enter marks of english"))
total=physics+chemistry+maths+computer+english
per=total/5
if(per>=90):
grade="A1"
elif(per>=80 and per<90):
grade="A2"
elif(per>=70 and per<80):
grade="B1"
elif(per>=60 and per<70):
grade="B2"
else:
grade="C"
data=[roll,name,physics,chemistry,maths,computer,english,total,per,grade]
rec.append(data)
ch=input("Do you want to enter more records(y/n)")
if ch =="n" or ch=="N":
break
pickle.dump(rec,f)
print("Records added successfully")
f.close()

def display_rec():
print("Contents in file are:")
f=open("students.dat","rb")
try:
while True:
s=pickle.load(f)
count=1
for i in s:
print("***************Record of stuident:",count,"****************")
print("Roll number:",i[0])
print("Name of student:",i[1])
print("Marks in physics:",i[2])
print("Marks in chemistry:",i[3])
print("Marks in maths:",i[4])
print("Marks in Computer:",i[5])
print("Marks in english:",i[6])

27
print("Total Marks of student in 5 subjects:",i[7])
print("Percentage :",i[8])
print("Grade of student:",i[9])
count=count+1
except:
f.close()

def append_rec():
f=open("students.dat","rb+")
print("append records in the file:")
rec=pickle.load(f)

while True:
roll=int(input("Enter roll no"))
name=input("enter the name of student")
physics=float(input("Enter marks of physics"))
chemistry=float(input("Enter marks of chemistry"))
maths=float(input("Enter marks of maths"))
computer=float(input("Enter marks of computer"))
english=float(input("Enter marks of english"))
total=physics+chemistry+maths+computer+english
per=total/5
if(per>=90):
grade="A1"
elif(per>=80 and per<90):
grade="A2"
elif(per>=70 and per<80):
grade="B1"
elif(per>=60 and per<70):
grade="B2"
else:
grade="C"
data=[roll,name,physics,chemistry,maths,computer,english,total,per,grade]
rec.append(data)
ch=input("Do you want to enter more records(y/n)")
if ch =="n" or ch=="N":
break
f.seek(0)
pickle.dump(rec,f)
print("Records appended successfully")
f.close()

28
def search_roll():
f=open("students.dat","rb")
r=int(input("Enter roll number of student whose record u want to search:"))
found=0
try:
while True:
s=pickle.load(f)
count=1
for i in s:
if i[0]==r:
print("Record found and details of student are:")
print("Roll number:",i[0])
print("Name of student:",i[1])
print("Marks in physics:",i[2])
print("Marks in chemistry:",i[3])
print("Marks in maths:",i[4])
print("Marks in Computer:",i[5])
print("Marks in english:",i[6])
print("Total Marks of student in 5 subjects:",i[7])
print("Percentage :",i[8])
print("Grade of student:",i[9])
found=1
except:
f.close()
if found==0:
print("sorry...record not found.")

def search_name():
f=open("students.dat","rb")
n=input("Enter name of student whose record u want to search:")
found=0
try:
while True:
s=pickle.load(f)
count=1
for i in s:
if i[1]==n:
print("Record found and details of student are:")
print("Roll number:",i[0])
print("Name of student:",i[1])

29
print("Marks in physics:",i[2])
print("Marks in chemistry:",i[3])
print("Marks in maths:",i[4])
print("Marks in Computer:",i[5])
print("Marks in english:",i[6])
print("Total Marks of student in 5 subjects:",i[7])
print("Percentage :",i[8])
print("Grade of student:",i[9])
found=1
except:
f.close()
if found==0:
print("sorry...record not found.")

def modifyby_roll():
f=open("students.dat","rb+")
r=int(input("Enter roll number of student whose details u want to modify:"))
f.seek(0)
try:
while True:
rpos=f.tell()
s=pickle.load(f)
for i in s:
if i[0]==r:
i[1]=input("enter new name of student ")
i[2]=float(input("Enter new marks of physics "))
i[3]=float(input("Enter new marks of chemistry "))
i[4]=float(input("Enter new marks of maths "))
i[5]=float(input("Enter new marks of computer "))
i[6]=float(input("Enter new marks of english "))
i[7]=i[2]+i[3]+i[4]+i[5]+i[6]
i[8]=i[7]/5
if(i[8]>=90):
i[9]="A1"
elif(i[8]>=80 and i[8]<90):
i[9]="A2"
elif(i[8]>=70 and i[8]<80):
i[9]="B1"
elif(i[8]>=60 and i[8]<70):
i[9]="B2"
else:

30
i[9]="C"

f.seek(rpos)
pickle.dump(s,f)

print("Records modified successfully")


break
except:
f.close()

def deleteby_roll():
f=open("students.dat","rb")
s=pickle.load(f)
f.close()
found=0
r=int(input("Enter roll no whose detail u want to delete:"))
f=open("students.dat","wb")
reclst=[]
for i in s:
if i[0]==r:
found=1
print("Record deleted successfully..")
continue
reclst.append(i)
pickle.dump(reclst,f)
if found==0:
print("Sorry!!record not found..")
f.close()

def menu():
while True:
print(""" Main Menu

1. Add record
2. Display all records
3. Append Records
4. Search by rollno
5. Search by name
6. Modify by rollno
7. Delete by rollno
8. Exit

31
""")
print(110*"=")
ch=int(input("Enter your choice"))
print(110*"=")
if(ch==1):
add_rec()
elif(ch==2):
display_rec()
elif(ch==3):
append_rec()
elif(ch==4):
search_roll()
elif(ch==5):
search_name()
elif(ch==6):
modifyby_roll()
elif(ch==7):
deleteby_roll()
elif(ch==8):
print("END")
break
else:
print("Enter any valid choice from 1-8")
menu()

OUTPUT

32
Main Menu

Adding Records

Displaying Records

33
Appending Records

34
35
Searching record by Roll number

Searching record by name


36
Modifying record of particular student

Deleting record

37
38

You might also like