Student Management System

Home
breadCrumb image
Student Management System





Student Management System































Student Name:

Student Id:









Table of Figures








Introduction

The student management system is a web-based application for managing the information of students regarding the examination part and admission. This project providing an environment where an institution is managed all the processes of the students. The student management system reduces the workforce and cost required for this management. This system includes processes like student details, marks, and maintenance of the records and easy to handle.

As for the existing system of institutions, they use manually to maintain their records, which is outdated as it requires paper and files. This web-based system stored all the data in the database, which makes it easy to use, easy to fetch, and easy to update their data. This system can make it simpler to explore, utilize augmenting the viability of time and numerous assets. The student management system allows the storing of personal data in a form that can be easily analyzed and accessed successively.

The Student Management System implemented in Django (which is a web development framework of python), and Database used here is Mysql and for frontend HTML, CSS and Bootstrap have used here. Through this implementation, an Internet-based Student Management System has been made. In this project, students can store their details like name, phone number, date of birth, and their 4 subject marks. Admin can remove, print, sort, and save any student details.

The module of Student Management System:

Modules are used for different segments to process a specific task. Models will help the system to develop easily and make is user- friendly.

Student_Info Module:

In this module, students can store their information in the database.

It will have several fields regarding their information like name, date of birth, phone, and subject marks. After submitting the students' data stored in a database.



LO1: Algorithm and process of programming an application



[P1]:

Definition of Algorithm:

The algorithm is a formula and procedure for solving a problem, it is based on a sequence of a specific action. In mathematics and computer science, an algorithm is a usually finite sequence of well defined small procedure that solved a class of problem.

The student management system requires a particular action like additional details, search, remove, and sort, show the student details, and delete the student details.

These actions are written in this manner-

  1. Add Student Details:


  1. First, create models to take all students details and save them into the database by the ‘POST’ method

  2. Set URL for student information in urls.py

  3. Create a view for student information in views.py

  4. Create an HTML page to render the data

  1. Search Student:



  1. Create a view for the search bar in view.py

  2. Set URL for the search bar in urls.py

  3. Get phone number as a primary key for users to search for information


  1. Remove Student Details:



  1. Create a view for remove in view.py

  2. Set URL for remove in urls.py

  3. Get phone number as a primary key for users to delete student information.



  1. Print/Show student details:



  1. Create a view to show student details in view.py

  2. Set URL for a show in urls.py

  3. Get phone number as a primary key for users to show student details.



  1. Sort of student details:

  1. Create a view to show student details in view.py

  2. Set URL for a show in urls.py

  3. Get phone number as a primary key for users to show student details.

  4. Use orderby function in views.py



  1. Save the student details:

  1. Create a view to show student details in view.py

  2. Set URL for a show in urls.py

  3. Get phone number as a primary key for users to show student details.

  4. Use .csv file for save student details



Process in building an application:

I have used the iterative model for the software development lifecycle. An iterative lifecycle doesn't need to begin with a full particular prerequisite. This cycle of programming improvement is then rehashed, and creating another form of the product for every life pattern of the module.







Figure 1: Software Development Lifecycle (SDLC)






Advantage of Iterative model:

In this model, I am improving and building the products step by step. Recognize issues at the soonest conceivable stage. Gather important input all through the cycle. Produces a more cleaned got done with eLearning item. Incorporates hypothesis. Decreases danger of disappointment, by successive testing. Simpler to survey and extend expenses to finishing. Simpler to develop a framework, adding extra usefulness.

The disadvantage of the Iterative model:

More resources will be required. Even though the cost of progress is lesser, yet it isn't truly appropriate for evolving prerequisites. Greater administration consideration is required. It isn't reasonable for more modest tasks. Exceptionally gifted assets are needed for expertise investigation.

When Iterative Model is used:

  • When requirements are clearly defined and understood of the complete system

  • When the project is big.



Working of Iterative Model:

MVC pattern:

It is a software design pattern. Model View Controller is a typically multitier structure design. These categories are following in MVC

Model:

Model is a central component of MVC architecture and manages the data and logic. It is an interface of your data and is a logical structure behind the web application which is represented by databases like MySQL, PostgreSQL.

View:

View interacts with the model and renders the templates, it executes the business logic. Views accept the HTTP request and then render the request. It deals with how data will be displayed to the user.

Controller:

A controller is providing the bridge between the Model and Views. It is controlled UI data displaying and update the model object state, and manipulate the model and view.

DJANGO MVC - MVT Pattern:

MVT stands for Model View Template architecture. The Model View Template is different from MVC.



Figure 2: Diagram of Model View Template pattern







It contains the subsequent Elements:

  1. Admin Module

  2. Student Module



1. Admin Module:

An administrator is that the ultimate controller of the application and the admin have the highest authority. Admin has the following features:-



  • Add new student information: Admin has the right to add new student information

  • Delete students information: Admin has the right to delete the students' information



2. Student Module:

It enables a student to enter his/her personal information.

  • Add Information: The student can add information

  • View information: The student can view his/her information.



Feasibility Study:

Feasibility is a process that describes, identifies, and evaluates the proposed system. A feasibility study selects the most effective application for the job. The feasibility study is just a simple report, which is a formal document detailing the scope and nature of the proposed solution. A feasibility study could be an initial design of any project.

Feasibility study target the following:

  • User requirements

  • Utilization of resources

  • Develop a value-effective system

  • Develop a technically feasible system



Types of feasibility study:

Technical feasibility:



Technical feasibility determines the technologies needed for the proposed system are available and it will be communicated within the organization. It helps to organization assess the technical team is capable to convert ideas into work. It also evaluates hardware and software requirements.

These are technical issues mostly raised during the feasibility study:

  • The technology must be existed to do

  • The equipment can hold the data required to use the system.

  • Technical guarantees of accuracy

Economical Feasibility:

The purpose of economic feasibility is to identify the financial benefits and cost of the development of the system. It is known as cost-benefit analysis.

Student Management System project is Economically Feasible because:

  • The cost of the project of hardware is very low.

  • The software cost was under budget and the software loaded in the application was used for many other applications.

  • There were no personal costs associated.



Behavioral Feasibility:

Behavioral feasibility is a term to describe people’s attitude towards different things that how complex is the behavior

LO2: Characteristics of procedural, object-oriented, and event-driven programming, analysis of a suitable IDE



[P2]:

Programming Paradigm:

A programming paradigm is an approach or method to solve some problem and do some task using a programming language or using some tools and techniques. It is a way or style of programming.

Many programming paradigms are available which has their structure and procedure.

Characteristics of procedural language:

The procedural paradigm is the first paradigm that developers will learn. A procedural paradigm is a method that is used to splitting the program functionality into numbers of procedural.

The procedural programming paradigm can reuse the code. In this method, a large program broke down into small parts called procedural.

Figure 3: Procedural paradigm split the program into procedurals



When a program is larger, then it broke the program into smaller units called procedure.

Figure 4: Example of Procedural Language




Object-Orientated programming:

Object-oriented programming is a method to solve the programming problem using objects. It is based on a class and its object. Class is a blueprint of an object.

The terminology of Object-Oriented Programming

Class:

A class definition starts with the class keyword, which is followed by a class name and colon. Class is a blueprint of an object.

Here is an example of a class:

Figure 5: Example of a class

Object:

An object is an instance of a class. When class is declared, no memory is allocated to class but when it is instantiated, memory is allocated. Here is an example of creating an object of a class dog:

#Python

Class bird:

Pass

Obj = bird()



Example: Declare class and create the object in python

Figure 6: Class & Object Example

Output:

Figure 7: Output of a class



Inheritance:

Inheritance allows us to define a class that inherits all the properties and methods from another class. Inheritance provides the facility of reusability of code.

Parent class: The class being inherited from another class, also known as the base class.

Child class: Child class is that class that inherits all the properties from another class.

Example:

  1. Create a parent class :



Figure 8: Parent Class Example

  1. Create child class :



Figure 9: Create Child Class



Encapsulation:

In Object-Oriented Programming, wrapping up data and methods into a single unit called Encapsulation.

Example:

Figure 10: Example of Encapsulation





Output :

The selling price of mobile : 2000

Selling price of mobile : 1500

Selling price of mobile : 1000

Abstraction

In this feature, we hide the internal details and only showing the relevant information. Abstraction implies concealing the genuine usage and we, as a client, realizing just how to utilize it. A ground-breaking approach to oversee deliberation is using various leveled grouping.

Polymorphism:

Polymorphism is a Greek word that means having many forms, for example, display a message in many forms. Polymorphism has two types such as static and dynamic.

Example:

Figure 11: Example of Polymorphism



Output:

Bird can fly

Eagle can’t fly



Event-Driven programming:

It is a programming paradigm where the flow of a program is dependent on events such as user actions like keypresses and mouse clicks.

Analysis of a suitable IDE:

The developing components based on software applications depend on environments and tools that support the deployment and design of software components. In this application, Notepad++ is selected as an Integrated Development Environment (IDE) for creating the Django application.

LO3: Implement basic algorithms in code using an IDE



[P3]

The program that implements an algorithm using an IDE:

The student management system is a web-based application that is built in the Django framework. The whole application work in the following steps-



  1. Firstly start the Django project using this command-



>> python manage.py run server

  1. After the first step, a message pop up for system check identified no issues


Example:

Figure 12: System Setting

  1. Start the Apache server and MySQL or database.

  2. Then open localhost on the browser from which the home page of the application will appear.



In this section, the student enters many details such as student name, phone number, date of birth, marks of a subject such as physics, chemistry, biology & mathematics.

Figure 13: Home Page of the Student Management System



  1. After entering the above details students can perform these tasks:


      1. Search Student

      2. Remove Student Details

      3. Print/Show Student Details

      4. Sort of Student Details

      5. Save Student Details



Figure 14: Search result page, where user can remove and download the data



Figure 15: Print/Show student details page

Figure 16: Sort the student details





Figure 17: Download Student Details

LO4: Debugging process and importance of coding standards

[P4]

Determine the debugging process:


To develop an application, developers spend most of their time finding and remove a bug from the application. An application needs to be error-free and working properly before submitting it to the client.

For this purpose Debugging and Testing plays an important role in software development. Debugging is the process of fixing or remove a bug from the application.

Certain steps are followed in the debugging which is mentioned below:

1. Identify the errors in starting to save our time.

2. Find the exact location of the error in the code.

3. Properly analyze the error to solve the problem.

4. Prove the proper analysis.

5. Lateral damage is the final step where we fix all the bugs.


The debugging facility in IDE:


Django debug toolbar-

Django application allows monitoring of our application and project.


Django developer panel:

It is a feature of debugging in Django. For using the Django development panel it must install two packages, the first package is Django Development Panel and the second is the plugin.


Firstly install Django-development-panel using pip:


pip install Django-development-panel

After this step adds the development panel middleware in the applications aettings.py and makes sure DEBUG is true.



Python

[P5]

Importance of Coding Standards:

Coding standard is an essential attribute while developing an application.

  1. Coding standards help to develop software programs that reduce error and are less complex.

  2. Coding standards that defined the methods and different procedures

  3. The proper consistency is maintained in coding standards and the code can be easily identified.







Conclusion:

This application is paperless work. It can be controlled and monitored remotely. This application is to reduce the manpower required. This Django-based application system proposes many functionalities, which overcome the previous practice of maintaining and storing the Manually System. This application provides accurate information always. The data which is stored in the database helps in taking intelligent decisions by the management.

References:

Koh, J.C., 2018. A web-based project management system.

Melé, A., 2020. Django 3 By Example: Build powerful and reliable Python web applications from scratch. Packt Publishing Ltd.

Praveen, S., 2018. Python Django-Getting Started with Django.

Roy, R., 2020. Back-end Web Development with Python and Django.

Srinath, K.R., 2017. Python–The Fastest Growing Programming Language. International Research Journal of Engineering and Technology (IRJET)4(12), pp.354-357.

Galvez, J.J., Senthil, K., and Kale, L., 2018, September. Charmy: A Python Parallel Programming Model. In 2018 IEEE International Conference on Cluster Computing (CLUSTER) (pp. 423-433). IEEE.

Sharma, P., 2018. Programming in Python: Learn the Powerful Object-Oriented Programming. BPB Publications.

Mihajlovi?, S., Kupusinac, A., Iveti?, D. and Berkovi?, I., The Use of Python in the field of Artificial Intelligence.

Kapil, S., 2019. Debugging and Testing Python Code. In Clean Python (pp. 221-251). Apress, Berkeley, CA.

Sinha, S., 2017. Debugging, Unittest Module. In Beginning Ethical Hacking with Python (pp. 153-156). Apress, Berkeley, CA.

Liu, D., and Petersen, A., 2019, February. Static analyses in python programming courses. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (pp. 666-671).

FAQ's