cs project final edited
cs project final edited
1 PROJECT OVERVIEW
1.1 INTRODUCTION
1.2 OBJECTIVE
4 PHASE OF SYSTEM
DEVELOPMENT LIFE CYCLE
5 SYSTEM REQUIREMENTS
6 MODULES
7 TESTING
8 CONCLUSION
1
9 SOURCE CODE
2
S.N Titl Pg.
o e No.
10 SCREEN SHOTS
11 BIBLIOGRAPHY
12 WEBLIOGRAPHY
3
1. PROJECT OVERVIEW:
INTRODUCTION:
This project is about student attendance management system and i chose this topic
because i have seen the struggles of my own school teachers spending their
valuable time on top of their already crowded responsibilities for manual entry of
the student’s attendance in other cases the attendance is not marked or the
attendance register is misplaced and it leads to a big chaos in the school
management system, i took this as a challenge to solve this problem by creating a
program. The program deals with the maintenance of the student’s attendance
details, it generates the attendance of the students on the basis of presence in class,
it is maintained on the daily basis of their attendance. The teachers are given a
unique username and password to make their students status,
The staffs handling the particular class will be responsible to make the
attendance for all students, only if the student is present on that particular day the
attendance will be calculated. The students attendance reprt will be generated
OBJECTIVE:
The objective is to create a program where there’s an admin assigned who can
enter the details of the teacher and provide an unique username and password for
a teacher, the teacher can log in and enter the attendance data, the students are also
provided an username and password, where they can log in and view or even
download their attendance report. The attendance data is securely stored in a
database.
EXISTING SYSTEM
In the existing system we use to manually enter the students name and their
attendance status in the attendance register notebook, it takes a lot of time to enter
the attendance and the main problem in this system is to store these registers in
cupboards or even in some worst cases the registers can be misplaced and lost this
leads to huge problem for the school management as well as the the respective
class teacher
4
PROPOSED SYSTEM
In the proposed system we will be using a database to store our attendance data
and an interactive program for easy entry of data. This will reduce the space for
storage of registers and the chances of registers getting lost is very low and further
problems like manual entry of data can be solved by using RFID [Radio
Frequency identification ] tags, where students can swipe these cards before
entering into their classroom to record their attendance in the database
Overview of Python:
Python is a high-level, interpreted, interactive and object-oriented scripting
language. Python is designed to be highly readable. It uses English keywords
frequently where as other languages use punctuation, and it has fewer syntactical
constructions than other languages.
● Python is Interpreted
Python is processed at runtime by the interpreter. You do not
● Python is Interactive
You can actually sit at a Python prompt and interact with the interp
● Python is Object-Oriented
Python supports Object-Oriented style or technique of progra
History of Python
Python was developed by Guido van Rossum in the late eighties and
early nineties at the National Research Institute for Mathematics and Computer
Science in the Netherlands.
Python is derived from many other languages, including ABC, Modula-3,
C, C++, Algol-68, SmallTalk, and Unix shell and other scripting languages.
5
Python is copyrighted. Like Perl, Python source code is now available
under the GNU General Public License (GPL).
Python is now maintained by a core development team at the institute,
although Guido van Rossum still holds a vital role in directing its progress.
Python Features
● Easy-to-read
Python code is more clearly defined and visible to the eyes.
● Easy-to-maintain
Python's source code is fairly easy-to-maintain.
● Interactive Mode
Python has support for an interactive mode which allows interacti
● Portable
Python can run on a wide variety of hardware platforms and has the same in
● Extendable
You can add low-level modules to the Python interpreter. These modules
● Databases
Python provides interfaces to all major commercial databases.
● GUI Programming
Python supports GUI applications that can be created and ported
● Scalable
Python provides a better structure and support for large programs than shell
Apart from the above-mentioned features, Python has a big list of good
features, few are listed below:
6
● It supports functional and structured programming methods as well as
OOP.
● It can be used as a scripting language or can be compiled to byte-code
for building large applications.
● It provides very high-level dynamic data types and supports dynamic
type checking.
● It supports automatic garbage collection.
● It can be easily integrated with C, C++, COM, ActiveX, CORBA, and
Java.
7
Integrated Development Environment
To run Python from a Graphical User Interface (GUI) environment as,
● Unix IDLE is the very first Unix IDE for Python.
● Windows
PythonWin is the first Windows interface for Python and is an IDE with a G
● Macintosh
The Macintosh version of Python along with the IDLE IDE is available fr
Overview of MySQL:
Database Management System & Types of DBMS
Types of DBMS
There are mainly 4 types of DBMS, which are Hierarchical, Relational,
Network, and Object-Oriented DBMS.
8
Structured Query Language (SQL)
SQL is the core of a relational database which is used for accessing and
managing the database. By using SQL, you can add, update or delete rows of
data, retrieve subsets of information, modify databases and perform many
actions. The different subsets of SQL are as follows:
9
● High Performance – Provides fast load utilities with distinct memory
caches and table index partitioning.
11
● 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.
12
● 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.
13
SYSTEM CONCEPT DEVELOPMENT PHASE
PLANNING PHASE:
15
target dates are established.
16
● Develop detailed data and process models (system inputs, outputs, and
the process.
● Develop the test and evaluation requirements that will be used
to determine acceptable system performance.
17
DESIGN PHASE:
DEVELOPMENT PHASE:
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.
21
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 user requirements.
5. SYSTEM REQUIREMENTS
OPERATING SYSTEM
Windows 7 or higher
Mac OS X 10.11 or higher
Linux - ubuntu
22
6. SOFTWARE REQUIREMENT
PYTHON
MYSQL
installation of MYSQL
.
7. HARDWARE REQUIREMENT
8. MODULES
1. mysql module
TESTING
24
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 that it works 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.
SPECIFICATION-BASED TESTING
25
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
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, 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)
26
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.
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
6. CONCLUSION:
27
7. SOURCE CODE:
#----------$ MYSQL CONNECTION $---------
import mysql.connector as connector
db = connector.connect(host="localhost",user="root",
passwd="",database="college", charset="utf8")
command_handler = db.cursor()
def teacher_session():
while 1:
print("")
print("----------------Teachers Menu------------")
print("1 - Mark student register")
print("2 - View student register")
print("3 - Logout")
def student_session(username):
while 1:
print("")
print("-------------Students Menu-------------")
print("1 - View register")
print("2 - Download register")
print("3 - Logout")
def admin_session():
while 1:
print("")
print("----------------Admin Menu---------------")
29
print("1 - Register new Student")
print("2 - Register new Teacher")
print("3 - Delete Existing Student")
print("4 - Delete Existing Teacher")
print("5 - Logout")
30
Account---------##--------")
username = input(str("Teacher username : "))
query_vals = (username,"teacher")
def auth_student():
print("")
print("-----------------Student's Login------------")
print("")
username = input(str("Username : "))
password = input(str("Password : "))
query_vals = (username,password)
command_handler.execute("SELECT * FROM users WHERE username =
%s AND password = %s AND privilege = 'student'", query_vals)
if command_handler.rowcount <= 0:
print("Invalid login details")
else:
student_session(username)
def auth_teacher():
print("")
print("-----------------Teacher Login--------------")
print("")
username = input(str("Username : "))
password = input(str("Password : "))
query_vals = (username,password)
command_handler.execute("SELECT * FROM users WHERE username =
%s AND password = %s AND privilege = 'teacher'", query_vals)
if command_handler.rowcount <= 0:
print("Login not recognized")
else:
teacher_session()
31
#----------$ AUTHENTICATION -> ADMIN $------------
def auth_admin():
print("")
print("-----------------Admin Login----------------")
print("")
username = input(str("Username : "))
password = input(str("Password : "))
if username == "admin":
if password == "password":
admin_session()
else:
print("Incorrect password !")
else:
print("Login details not recognised")
def main():
while 1:
print("Welcome to the college system")
print("")
print("1. Login as student")
print("2. Login as teacher")
print("3. Login as admin")
main()
32
8. SCREEN SHOTS:
33
34
35
9. BIBLIOGRAPHY:
10. WEBLIOGRAPHY:
stackoverflow.com
w3schools.com
github.com
36
.
37
38
39
40
41
42
43
44
45
46
47
48
49
50