finaldss

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 29

CONTENTS

OBJECTIVE………………………………………………………...……………2

INTRODUCTION ……………………………………………………………….………..….3-4

HARDWARE & SOFTWARE REQUIREMENT…………….……………………….….....5

SYSTEM ANALYSIS………..……….…………………………………………….…..… 6

SOFTWARE ANALYSIS , DESIGN ………………………………………………............9

TESTING………………………………………………………………………..……..…...21

BENEFITS……………………………………………………………………..…………...25

LIMITATIONS………………………………………………………………..………...….26

FUTURE ENHANCEMENT…………………………………………………………....…27

CONCLUSION…………………………………………………………………………..…28

REFERENCES…………………………………………………………………………...…29

1
OBJECTIVE

Student Management System is software which is helpful for college as


well as the school authorities. In the current system all the activities are
done manually. It is very time consuming and costly. Our Student
Management System deals with the various activities related to
managing student records. Our Objective is computerizing the process
of student records management.

There are mainly 2 modules in this software


 User module
 Student Module

In the Software we can register as a user and user has of two types,
student and administrator. Administrator has the power to add new user
and can edit and delete a user. A student can register as user and can
add edit and delete his profile. The administrator can add edit and
delete marks for the student.

INTRODUCTION
2
This project is aimed to automate the student management system. This project is
developed mainly to administrate student records.
The purpose of the project entitled as STUDENT MANAGEMENT SYSTEM is
to computerize the Front Office Management of student records in colleges,
schools and coaching’s, to develop software which is user friendly, simple, fast,
and cost – effective. Traditionally, it was done manually.
The main function of the system is to register and store student details, retrieve
these details as and when required, and also to manipulate these details
meaningfully.

SCOPE

3
The proposed software product is the Student Management System. The system
will be used in any School, College and coaching institute to get the information
from the student and then storing that data for future usage

The current system in use is a paper-based system. It is too slow and cannot
provide updated lists of students within a reasonable timeframe. The intentions of
the system are to reduce over-time pay and increase the productivity.
Requirements statements in this document are both functional and non-functional.

HARDWARE AND SYSTEM REQUIREMENT

4
2.1 HARDWARE REQUIREMENT

 Pentium IV processor or higher


 128 MB RAM(or above)
 40 GB or more HARDDISK
 Mouse/Keyboard

2.2 SOFTWARE REQUIREMENT

 OS-Windows 7/8/10
 Python Interpreter
 Pycharm IDE or VS code
 Xampp (For Mysql) or Mysql Workbench
 Network connectivity

5
SYSTEM ANALYSIS

EXISTING SYSTEM:

System Analysis is a detailed study of the various operations performed by


a system and their relationships within and outside of the system. Here the key
question is- what all problems exist in the present system? What must be done to
solve the problem? Analysis begins when a user or manager begins a study of the
program using existing system.

During analysis, data collected on the various files, decision points and
transactions handled by the present system. The commonly used tools in the
system are Data Flow Diagram, interviews, etc. Training, experience and
common sense are required for collection of relevant information needed to
develop the system. The success of the system depends largely on how clearly the
problem is defined, thoroughly investigated and properly carried out through the
choice of solution. A good analysis model should provide not only the
mechanisms of problem understanding but also the frame work of the solution.
Thus it should be studied thoroughly by collecting data about the system. Then
the proposed system should be analyzed thoroughly in accordance with the needs.

System analysis can be categorized into four parts.

 System planning and initial investigation


 Information Gathering
 Applying analysis tools for structured analysis
 Feasibility study
 Cost/ Benefit analysis.

In the current system we need to keep a number of records related to the


student and want to enter the details of the student and the marks manually. In
this system only the teacher or the school authority views the mark of the student

6
and they want to enter the details of the student. This is time consuming and has
much cost.

PROPOSED SYSTEM

In our proposed system we have the provision for adding the details of
the students by themselves. So the overhead of the school authorities and the
teachers is become less. Another advantage of the system is that it is very easy to
edit the details of the student and delete a student when it found unnecessary. The
marks of the student are added in the database and so students can also view the
marks whenever they want.

Our proposed system has several advantages

 User friendly interface


 Fast access to database
 Less error
 More Storage Capacity
 Search facility
 Look and Feel Environment
 Quick transaction

All the manual difficulties in managing the student details in a school


or college have been rectified by implementing computerization.

7
FEASIBILITY ANALYSIS

Whatever we think need not be feasible .It is wise to think about the
feasibility of any problem we undertake. Feasibility is the study of impact, which
happens in the organization by the development of a system. The impact can be
either positive or negative. When the positives nominate the negatives, then the
system is considered feasible. Here the feasibility study can be performed in two
ways such as technical feasibility and Economical Feasibility.

Technical Feasibility:

We can strongly says that it is technically feasible, since there will not be
much difficulty in getting required resources for the development and
maintaining the system as well. All the resources needed for the development of
the software as well as the maintenance of the same is available in the
organization here we are utilizing the resources which are available already .

Economical Feasibility

Development of this application is highly economically feasible .The


organization needed not spend much money for the development of t he system
already available. The only thing is to be done is making an environment for the
development with an effective supervision. I f we are doing so , we can attain the
maximum usability of the corresponding resources .Even after the development ,
the organization will not be in condition to invest more in t he
organization .There fore , the system is economically feasible.

8
SOFTWARE ANALYSIS & DESIGN

Software Analysis

4.1.1 Software Development Life cycle

Fig:- SDLC

9
DESCRIPTION OF USED MODEL

The Waterfall Model

The Waterfall model is a sequential software development process, in which


progress is seen as flowing steadily downwards (like a waterfall) through the
phases of Conception, Initiation, Analysis, Design (validation), Construction,
Testing and Maintenance.

To follow the waterfall model, one proceeds from one phase to the next in a
sequential manner. For example, one first completes requirements specification,
which after sign-off are considered "set in stone." When the requirements are
fully completed, one proceeds to design. The software in question is designed and
a blueprint is drawn for implementers (coders) to follow — this design should be
a plan for implementing the requirements given. When the design is fully
completed, an implementation of that design is made by coders. Towards the later
stages of this implementation phase, separate software components produced are
combined to introduce new functionality and reduced risk through the removal of
errors.

Thus the waterfall model maintains that one should move to a phase only when
its preceding phase is completed and perfected. However, there are various
modified waterfall models (including Royce's final model) that may include slight
or major variations upon this process. Time spent early in the software production
cycle can lead to greater economy at later stages. It has been shown that a bug
found in the early stages (such as requirements specification or design) is cheaper

10
in terms of money, effort and time, to fix than the same bug found later on in the
process. To take an extreme example, if a program design turns out to be
impossible to implement, it is easier to fix the design at the design stage than to
realize months later, when program components are being integrated, that all the
work done so far has to be scrapped because of a broken design.

This is the central idea behind the waterfall model - time spent early on making
sure that requirements and design are absolutely correct will save you much time
and effort later. Thus, the thinking of those who follow the waterfall process
goes, one should make sure that each phase is 100% complete and absolutely
correct before proceeding to the next phase of program creation. Program
requirements should be set in stone before design is started (otherwise work put
into a design based on incorrect requirements is wasted); the program's design
should be perfect before people begin work on implementing the design
(otherwise they are implementing the wrong design and their work is wasted),
etc.

A further argument for the waterfall model is that it places emphasis on


documentation (such as requirements documents and design documents) as well
as source code. In less designed and documented methodologies, should team
members leave, much knowledge is lost and may be difficult for a project to
recover from. Should a fully working design document be present (as is the intent
of Big Design Up Front and the waterfall model) new team members or even
entirely new teams should be able to familiarize themselves by reading the
documents.

Basic principles of the waterfall model are:


11
Project is divided into sequential phases, with some overlap and splash back
acceptable between phases.

Emphasis is on planning, time schedules, target dates, budgets and


implementation of an entire system at one time.

Tight control is maintained over the life of the project through the use of extensive
written documentation, as well as through formal reviews and approval/signoff by
the user and information technology management occurring at the end of most
phases before beginning the next phase.

12
SOFTWARE DESIGN

4.2.1 Data Flow Diagram

The DFD takes an input-process-output view of a system. That is, data objects flow

into the software, are transformed by the processing elements, and resultant data

objects flow out of the software. Data objects are represented by labeled arrows

and transformations are represented by circles. The DFD is represented in a

hierarchical fashion. The first DFD represents the system as a whole. Subsequent

data flow diagrams provide increasing detail with each subsequent level.

The data flow diagram enables the software engineer to develop models of the

information domain and functional domain at the same time. As the DFD is refined

into levels of greater detail, the analysts perform an implicit functional

decomposition of the system. Also DFD refinement results in a corresponding

refinement of data as it moves through the processes that embody the application.

13
Fig:- Zero (0) Level

14
ER DIAGRAM

Fig: ER DIAGRAM

15
USE CASE DIAGRAM

TECHNICAL DESCRIPTION

16
FRONT END DESCRIPTION

LANGUAGE:- Python

Python Overview:-
Python is a general-purpose high-level programming language. It is an open
source language, released under a GPL-Compatible license. Python Software
Foundation (PSF), a non-profit organization, holds the copy-right of python.
Guido Van Rossum conceived python in the late 1980s. It was released in 1991 at
Centrum Wiskunde & Informatica (CWI) in the Netherlands as a successor to the
ABC language. He named this language after a popular comedy show called
„Monty Python‟s Flying Circus‟ (and not after python - the snake). In the last
few years, it‟s popularity has increased immensely. According to
stackoverflow.com‟s recent survey, python is in the top ten most popular
technologies in 2018. It is also dynamically-typed because it carries out type-
checking at run time. It does so to make sure that the type of construct matches
what we except it to be. The distinctive feature of python is that it is an
interpreted language. The Python IDLE (Integrated Development & Learning
Environment) executes instruction one line at a time. The python programming
language is one of the richest languages.

Tkinter

Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python


interface to the Tk GUI toolkit, and is Python's de facto standard GUI.Tkinter is
included with standard Linux, Microsoft Windows and Mac OS X installs of
Python.

The name Tkinter comes from Tk interface. Tkinter was written by Fredrik Lundh.

Tkinter is the inbuilt python module that is used to create GUI applications. It is one

17
of the most commonly used modules for creating GUI applications in Python as it is
simple and easy to work with. You don’t need to worry about the installation of the
Tkinter module separately as it comes with Python already. It gives an object-
oriented interface to the Tk GUI toolkit.

Some other Python Libraries available for creating our own GUI applications are

• Kivy

• Python Qt

• wxPython

Among all Tkinter is most widely used

My SQL workbench Overview

MySQL is a relational database management system based on the Structured


Query Language, which is the popular language for accessing and managing the
records in the database. MySQL is open-source and free software under the GNU
license. It is supported by Oracle Company.

o MySQL is a Relational Database Management System (RDBMS)


software that provides many things, which are as follows:

o It allows us to implement database operations on tables, rows, columns, and


indexes.
o It defines the database relationship in the form of tables (collection of rows
and columns), also known as relations.
o It provides the Referential Integrity between rows or columns of various
tables.
o It allows us to updates the table indexes automatically.
o It uses many SQL queries and combines useful information from multiple
tables for the end-users.

WORKING OF MYSQL

18
MySQL follows the working of Client-Server Architecture. This model is
designed for the end-users called clients to access the resources from a
central computer known as a server using network services. Here, the
clients make requests through a graphical user interface (GUI), and the
server will give the desired output as soon as the instructions are matched.
The process of MySQL environment is the same as the client-server model.

The core of the MySQL database is the MySQL Server. This server is
available as a separate program and responsible for handling all the
database instructions, statements, or commands. The working of MySQL
database with MySQL Server are as follows:

1. MySQL creates a database that allows you to build many tables to store and
manipulate data and defining the relationship between each table.
2. Clients make requests through the GUI screen or command prompt by using
specific SQL expressions on MySQL.
3. Finally, the server application will respond with the requested expressions
and produce the desired result on the client-side.

A client can use any MySQL GUI. But, it is making sure that your GUI should
be lighter and user-friendly to make your data management activities faster
and easier. Some of the most widely used MySQL GUIs are MySQL
Workbench, SequelPro, DBVisualizer, and the Navicat DB Admin Tool. Some
GUIs are commercial, while some are free with limited functionality, and
some are only compatible with MacOS. Thus, you can choose the GUI
according to your needs.

19
Download MySQL Installer
1. Download MySQL Installer

2. Run the Installer

3. Choose Setup Type

4. Install MySQL Products

5. MySQL Server Configuration

6. Complete Installation

7. Start MySQL Server

8. Test MySQL Installation

20
TESTING

Testing is more than just debugging. The purpose of testing can be quality
assurance, verification and validation, or reliability estimation. Correctness testing and
reliability testing are two major areas of testing. Software testing is a trade-off
between budget, time and quality.

Software Testing

Software Testing is the process of executing a program or system with the intent of finding
errors. Or, it involves any activity aimed at evaluating an attribute or capability of a
program or system and determining that it meets its required results. Software is not
unlike other physical processes where inputs are received and outputs are produced. Where
software differs is in the manner in which it fails. Unlike most physical systems, most of
the defects in software are design errors, not manufacturing defects.

To improve quality

As computers and software are used in critical applications, the outcome of a bug can be
severe. Bugs can cause huge losses.

For Verification & Validation (V&V)

Another important purpose of testing is verification and validation (V&V). It is heavily


used as a tool in the V&V process. Testers can make claims based on interpretations of the
testing results, which either the product works under certain situations, or it does not
work.

21
Software Testing Types

Black-box testing

The black-box approach is a testing method in which test data are derived from the
specified functional requirements without regard to the final program structure. It is also
termed data-driven, input/output driven or requirements-based testing. A testing method
emphasized on executing the functions and examination of their input and output data.

White-box testing

Contrary to black-box testing, software is viewed as a white-box, or glass-box in white-box


testing, as the structure and flow of the software under test are visible to the tester. This
testing is based on knowledge of the internal logic of an application’s code. Testing plans
are made according to the details of the software implementation, such as programming
language, logic, and styles. Test cases are derived from the program structure. White-box
testing is also called glass-box testing, logic-driven testing or design-based testing .

Unit testing

This involves testing of individual software components or modules. Typically done by


the programmer and not by testers, as it requires detailed knowledge of the internal
program design and code.

System testing

Entire system is tested as per the requirements. Black-box type testing that is based on
overall requirements specifications, covers all combined parts of a system.

End-to-end testing

Similar to system testing, involves testing of a complete application environment in a


situation that mimics real-world use, such as interacting with a database, using network

22
communications, or interacting with other hardware, applications, or systems if
appropriate.

Usability testing

User-friendliness check. Application flow is tested, Can new user understand the
application easily, Proper help documented whenever user stuck at any point. Basically
system navigation is checked in this testing.

Install/uninstall testing

Tested for full, partial, or upgrade install/uninstall processes on different operating


systems under different hardware, software environment.

Recovery testing

Testing how well a system recovers from crashes, hardware failures, or other catastrophic
problems.

Security testing

Can system be penetrated by any hacking way. Testing how well the system protects
against unauthorized internal or external access. Checked if system, database is safe from
external attacks.

Compatibility testing

Testing how well software performs in a particular hardware/software/operating


system/network Environment and different combination s of above.

Comparison testing

Comparison of product strengths and weaknesses with previous versions or other


similar products.
Alpha testing
23
In house virtual user environment can be created for this type of testing. Testing is done at
the end of development. Still minor design changes may be made as a result of such testing.

Beta testing

Testing typically done by end-users or others. Final testing before releasing application for
commercial purpose.

24
BENEFITS

 Software provides easy management of student records.


 Software has very user friendly interface which is very easy to handle and
understand.
 Software provides security to private data by hiding them.
 Software uses very less memory and takes less time to startup.

25
LIMITATIONS

 Software is limited to Desktop only.

 System requires python interpreter installed on the system.

 All options of student management are not included in current version.

 Security options provide only low level security against beginner attackers.

 GUI is in English only.

26
FUTURE ENHANCEMENT

 This Software can be made for all OS


 Higher Security features can be included in this software.
 Program scheduling can also be included in this software.
 This software can be developed to use as tutorial to teach basic concepts of
OS to new users.
 This system can be implemented with OS to reduce overhead of installing
and running interface of each and every tool at different place.
 Automatic Shutdown through SMS service can be implemented in this.

27
CONCLUSION

The project entitled “Student Management System” is developed using Python


Tkinter as front end and MYSQL database in back end to computerize the
process of management of student records. This project covers only the basic
features required.

28
REFERENCES

 Wikipedia
 https://www.geeksforgeeks.org/python-gui-tkinter/
 https://www.javatpoint.com/python-tkinter
 https://www.python.org/
 CHAT GPT AI

29

You might also like