Project CS

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

DAV KAPILDEV PUBLIC

SCHOOL
KADRU, RANCHI

ACADEMIC YEAR: 2023 – 24


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

PROJECT GUIDE : Mr S. K. Jha


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

1
DAV KAPILDEV PUBLIC SCHOOL
KADRU, RANCHI

CERTIFICATE
This is to certify that ___________________ CBSE student Roll
No: _________________ has successfully completed the
project Work entitled “STUDENT REPORT MAKER”, in the
subject COMPUTER SCIENCE (083) laid down in the regulation
of CBSE for the purpose of Practical Examination in Class XII to
be held in DAV KAPILDEV PUBLIC SCHOOL, RANCHI on
______________.

__________________
(SK JHA)
PGT Comp Sci
MASTER IC

Examiner :
Name : ________________
Signature : ________________
Date : ________________

2
TABLE OF CONTENT
S NO. DESCRIPITION PAGE NO.
01 Acknowledgement 4
02 Objective 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 Elaboration 14
10 Benefits 15
10 Conclusion 16
11 Source code 17
12 Output 24
13 Testing 25
14 Hardware and software 30
requirements
16 Bibliography 31

3
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

The objective of this project is to develop a student report

maker that can help students to create professional-

looking reports quickly and easily. The software should be

easy to use and should provide a variety of templates and

features to help students create reports for a variety of

purposes.

Proposed system

The proposed system is a web-based student report

maker. The system will allow students to create reports by

selecting a template and entering the required information.

The system will then generate a professional-looking

report that can be downloaded or printed.

5
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 analyzing the requirements for the system.

The requirements are gathered from users and

stakeholders.

2. System design: This phase involves designing the system

architecture and components. The design is based on the

requirements gathered in the previous phase.

6
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 lifecycle:

The following diagram shows the phases of the system

development lifecycle:

7
Flow chart

The following flowchart shows the flow of the student

report maker system:

8
System design

tier architecture:
The system will be designed as a three-tier

9
1. Presentation tier: The presentation tier will be responsible

for displaying the user interface and interacting with the

user.

2. Application tier: The application tier will be responsible for

processing the user requests and generating the reports.

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

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

Purpose and Idea

The purpose of the student report maker system is to help

students to create professional and well-formatted project

11
reports with ease. The idea behind the system is to

provide students with a variety of features to help them

create customized reports, without the need to have any

knowledge of coding or design.

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 reports

Conclusion

12
The student report maker is a web-based application that

will help students to create professional-looking reports

quickly and easily. The system will provide a variety of

templates and features to help students create reports for

a variety of purposes. The system is currently under

development and is expected to be released in the near

future.

Elaboration with pictures and diagrams:

13
The following pictures and diagrams illustrate the main

components of the student report maker system:

Benefits of using the student report maker

system
14
The student report maker system offers a number of

benefits, including:

 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-

organized.

 Reduced teacher workload: The system can help teachers

to reduce their workload by automating the grading

process.

15
Conclusion

The student report maker is a web-based application that

can help students to create professional-looking reports

quickly.

16
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):

17
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):

18
subject = input("Enter new subject name: ")

mark = int(input("Enter new mark: "))

marks.append(mark)

students[i][1] = class_

students[i][2:] = marks

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)

19
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)

20
for row in reader:

print(row)

def main():

while True:

print("Enter 1 to add student data")

print("Enter 2 to edit student data")

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: ")

21
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:
22
print("Invalid choice. Please try again.")

if __name__ == "__main__":

main()

23
Output:

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

25
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 testing aims to test the functionality of


software according to the applicable requirements. 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.

26
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 a black box tester writes many test
cases to check something that can be tested by only one test
case, and/or 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

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)

27
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 testingmethods
 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

28
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

29
HARDWARE AND SOFTWARE REQUIREMENTS
I.OPERATING SYSTEM : WINDOVWS 7 AND ABOVE

Il. PROCESSOR : PENTIUM(ANY) OR AMD


ATHALON(3800+- 4200+ DUALCORE)

II. MOTHERBOARD : 845 OR 915,995 FOR


PENTIUM OR MSI

V. RAM : 512MB+

V. Hard disk : SATA 40 GB OR ABOVE

VI. CD/DVD rlw multi drive combo :(If back up required)

VIL. FLOPPY DRIVE 1.44 MB : (If back up required)

VIll. MONITOR 14.1 or 15 -17 inch

IX Key board and mouse

X Printer : (if print is required-[Hard copy])

SOFTWARE REOUIREMENTS:
1. Windows OS
2. Python

30
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