0% found this document useful (0 votes)
12 views19 pages

Project CS

The document describes a student report maker project completed by Sheetal Beni Xalxo for class 12 computer science. The project involved developing a web-based application using the system development lifecycle (SDLC) methodology to allow students to easily create reports using templates. The project report details the objectives, design, features, benefits, source code, outputs, and testing of the student report maker system.

Uploaded by

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

Project CS

The document describes a student report maker project completed by Sheetal Beni Xalxo for class 12 computer science. The project involved developing a web-based application using the system development lifecycle (SDLC) methodology to allow students to easily create reports using templates. The project report details the objectives, design, features, benefits, source code, outputs, and testing of the student report maker system.

Uploaded by

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

DAV KAPILDEV PUBLIC

SCHOOL
KADRU, RANCHI

ACADEMIC YEAR: 2023 – 24


PROJECT REPORT ON:
Student Report Marker
ROLL (Board) :
NAME : SHEETAL BENI XALXO
CLASS XII
SUBJECT : COMPUTER
SCIENCE PROJECT GUIDE :

Mr. RAJIV SUMAN


PGT (CS)
D.A.V. KAPILDEV PUBLIC SCHOOL
JHARKHAND

1
DAV KAPILDEV PUBLIC SCHOOL
KADRU, RANCHI

CERTIFICATE
This is to certify that SHEETAL BENI XALXO CBSE
student Roll No: has successfully completed the
project Work entitled “STUDENT REPORT MAKER”, in
the subject COMPUTER SCIENCE laid down in the
regulation of CBSE for the purpose of Practical
Examination in Class XII.

(RAJIV SUMAN)
PGT Comp
S c i
MASTER

Examiner :
N a m e : S H E E TA L B E N I
XALXO Signature :
Date :

2
TABLE OF CONTENT
S DESCRIPITION PAGE
NO. NO.
01 Acknowledgement 4
02 Objec ve of product 5
03 Proposed system 5
04 System development lifecycle SDLC 6
05 Phase of system development 8
lifecycle
06 Flow chart 9
07 System design 10
08 Features 12
09 Elabora on 14
10 Bene ts 15
10 Conclusion 16
11 Source code 17
12 Output 24
13 Tes ng 25
14 Hardware and so ware 30
requirements
16 Bibliography 31
3
ti
fi
ti
ti
ft
Acknowledgement
Apart from the heart 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 expressed deep sense of gratitude to almighty God for
giving me strength for the successful completion of this project.
I expressed my heartfelt gratitude to my parents for
constant encouragement while carrying out this project.
I gratefully acknowledge the contribution of individual who
contributed in bringing the project up to this level who
continues to look after me despite my flaws.
I express my deep sense of gratitude to the luminary, The
Principal, DAV Kapildev Public Ranchi, who has been
continuously motivating and extending their help hands to us.
I am overwhelmed to express my thanks to The
Administrative officer, DAV Kapildev Public Ranchi, for
providing me an infrastructure and moral support while
carrying out this project in the school.

4
Objective of product

This system is a web-based student report which will


help students to create reports by selecting templates
and entering the required information.It will be an user
friendly application which will provide varieties of
templates for various purposes.This report maker
application can be used by students of different
leagues as such colleges can provide this app to their
students.

System development lifecycle

The system development lifecycle (SDLC) is a framework

for developing information systems. The SDLC consists of

the following phases:

1. Requirements gathering and analysis: This phase involves

gathering and analysing the requirements for the system.

The requirements are gathered from users

2. System design: This phase involves designing the system

architecture and components. The design is based on the

requirements gathered in the previous phase.

5
3. Implementation: This phase involves developing the

system components and integrating them into a working

system.

4. Testing: This phase involves testing the system to ensure

that it meets the requirements and is free of defects.

5. Deployment: This phase involves deploying the system to

users.

Phase of system development life cycle:

Caption

6
Flowchart

Caption

System design
The system will be designed as a three-tier architecture:
• Presentation tier: The presentation tier will be
responsible for displaying the user interface and
interacting with the user.
I. Application tier: The application tier will be responsible

for processing the user requests and generating the

reports.
7
2. Data tier: The data tier will be responsible for storing and

retrieving the data required by the system.

Purpose and idea


The purpose of the student report maker is to help

students to create professional-looking reports quickly and

easily. The idea for the system came from my own

experience as a student. I often found it difficult to create

professional-looking reports, especially when I was short

on time. I wanted to develop a system that would make it

easier for students to create reports, so that they could

focus on their studies.

Features
The student report maker will have the following features:
• A variety of templates for different types of reports
• Easy-to-use interface
• Ability to add and remove sections from reports
• Ability to add images, charts, and graphs to reports
• Ability to download or print report.

8
Benefits of using the student report maker system
• Improved student productivity: The system can help

students to create reports more quickly and easily, freeing

up their time to focus on their studies.

• Increased student confidence: The system can help

students to create professional-looking reports that they

can be proud of.

• Improved student grades: Teachers are more likely to give

higher grades to reports that are well-written and well-

organised.

• Reduced teacher workload: The system can help teachers

to reduce their workload by automating the grading

process.

9
SOURCE CODE

import csv
def get_student_input():
name = input("Enter student name: ")
class_ = input("Enter student class: ")
marks = []
for i in range(5):
subject = input("Enter subject name: ")
mark = int(input("Enter mark: "))
marks.append(mark)
return name, class_, marks

def store_student_data(student_data):
with open("student_data.csv", "a", newline="") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(student_data)
def edit_student_data(name):
with open("student_data.csv", "r", newline="") as csvfile:
reader = csv.reader(csvfile)
students = list(reader)

for i in range(len(students)):
if students[i][0] == name:
class_ = input("Enter new student class: ")
marks = []
for j in range(5):
subject = input("Enter new subject name: ")
mark = int(input("Enter new mark: "))
marks.append(mark)
students[i][1] = class_
students[i][2:] = marks

10
with open("student_data.csv", "w", newline="") as
csvfile:
writer = csv.writer(csvfile)
writer.writerows(students)
def delete_student_data(name):
with open("student_data.csv", "r", newline="") as csvfile:
reader = csv.reader(csvfile)
students = list(reader)
for i in range(len(students)):
if students[i][0] == name:
del students[i]
break
with open("student_data.csv", "w", newline="") as
csvfile:
writer = csv.writer(csvfile)
writer.writerows(students)
def show_student_data():
with open("student_data.csv", "r", newline="") as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
def main():

while True:

print("Enter 1 to add student data")


print("Enter 2 to edit student data")
11
print("Enter 3 to delete student data")
print("Enter 4 to show stored student data")
print("Enter 5 to exit")
choice = input("Enter your choice: ")
if choice == "1":
name, class_, marks = get_student_input()
store_student_data([name, class_, *marks])
elif choice == "2":
name = input("Enter student name to edit: ")
edit_student_data(name)
elif choice == "3":
name = input("Enter student name to delete: ")
delete_student_data(name)
elif choice == "4":
show_student_data()
elif choice == "5":
break
else:
print("Invalid choice. Please try again.")

if name == " main ":


main()

12
Output:

2
Testing

Software Testing is an empirical investigation conducted


to provide stakeholders with information about the quality
of the product or service under test 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 thatit 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.

2
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.

BLACKBOX 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 testing, fuzz testing,
model-based testing, traceability matrix, exploratory
testing and specification-based testing.

SPECIFICATION-BASED TESTING
Specification-based techniques are appropriate at all levels
of testing (component testing through to acceptance testing)
where a specification exists. For example, when performing
system or acceptance testing, the requirements specification
or functional specification may form the basis of the tests.

The definition mentions both functional and non-functional


testing. Functional testing is concerned with what the system
does its features or functions. Non-functional testing is
concerned with examining how well the system does.

2
ADVANTAGES AND DISADVANTAGES

Black Box Testing is a testing technique where no knowledge of


the internal functionality and structure of the system is available.
This testing technique treats the system as a black box or
closed box. The tester only knows the formal inputs and
expected outputs, but does not know how the program actually
arrives at those outputs. As a result, all testing must be based
on functional specifications.

• Efficient when used on large systems.


• Since the tester and developer are independent of each
other, testing is balanced and unprejudiced.
• Tester can be non-technical.
• There is no need for the tester to have detailed functional
knowledge of system.
• Tests will be done from an end user's point of view,
because the end user should accept the system.

WHITE BOX TESTING

White box testing involves looking at the structure of the


code. When you know the internal structure of a product,
tests can be conducted to ensure that the internal operations
are performed according to the specification. All internal
components should have been adequately exercised.

2
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

2
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

HARDWARE AND SOFTWARE REQUIREMENTS


I. OPERATING SYSTEM : WINDOWS 7 AND ABOVE
Il. PROCESSOR : PENTIUM(ANY) OR
AMD
V. RAM : 512MB+
I. Printer : (if print is required-[Hard
copy])

SOFTWARE REOUIREMENTS:
1. Windows OS
2. Python
2
Bibliography:

1.In computer science with Python class. 12 by Sumita


Arora. 2.ChatGPT
3. Google Bard

4. Website: https://

www.w3schools.com/ 5.Website:
https://www.wikipedia.org/

31

You might also like