Student Management System
Student Name:
Student Id:
The module of Student Management System: 5
LO1: Algorithm and process of programming an application 6
Process in building an application: 7
Advantage of Iterative model: 8
The disadvantage of the Iterative model: 8
Types of feasibility study: 11
Characteristics of procedural language: 12
Object-Orientated programming: 13
Analysis of a suitable IDE: 20
LO3: Implement basic algorithms in code using an IDE 20
The program that implements an algorithm using an IDE: 20
LO4: Debugging process and importance of coding standards 25
Determine the debugging process: 25
The debugging facility in IDE: 25
Importance of Coding Standards: 26
Table of Figures
Figure 1: Software Development Lifecycle (SDLC) 8
Figure 2: Diagram of Model View Template pattern 10
Figure 3: Procedural paradigm split the program into procedurals 13
Figure 4: Example of Procedural Language 13
Figure 5: Example of a class 14
Figure 6: Class & Object Example 15
Figure 7: Output of a class 15
Figure 8: Parent Class Example 16
Figure 9: Create Child Class 16
Figure 10: Example of Encapsulation 17
Figure 11: Example of Polymorphism 19
Figure 13: Home Page of the Student Management System 22
Figure 14: Search result page, where user can remove and download the data 23
Figure 15: Print/Show student details page 23
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.
Modules are used for different segments to process a specific task. Models will help the system to develop easily and make is user- friendly.
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.
[P1]:
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-
Add Student Details:
First, create models to take all students details and save them into the database by the ‘POST’ method
Set URL for student information in urls.py
Create a view for student information in views.py
Create an HTML page to render the data
Search Student:
Create a view for the search bar in view.py
Set URL for the search bar in urls.py
Get phone number as a primary key for users to search for information
Remove Student Details:
Create a view for remove in view.py
Set URL for remove in urls.py
Get phone number as a primary key for users to delete student information.
Print/Show student details:
Create a view to show student details in view.py
Set URL for a show in urls.py
Get phone number as a primary key for users to show student details.
Sort of student details:
Create a view to show student details in view.py
Set URL for a show in urls.py
Get phone number as a primary key for users to show student details.
Use orderby function in views.py
Save the student details:
Create a view to show student details in view.py
Set URL for a show in urls.py
Get phone number as a primary key for users to show student details.
Use .csv file for save student details
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.
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.
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.
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:
Admin Module
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 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
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
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 is a term to describe people’s attitude towards different things that how complex is the behavior
[P2]:
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.
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-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
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:
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:
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:
Create a parent class :
Figure 8: Parent Class Example
Create child class :
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 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
It is a programming paradigm where the flow of a program is dependent on events such as user actions like keypresses and mouse clicks.
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.
[P3]
The student management system is a web-based application that is built in the Django framework. The whole application work in the following steps-
Firstly start the Django project using this command-
>> python manage.py run server
After the first step, a message pop up for system check identified no issues
Example:
Start the Apache server and MySQL or database.
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
After entering the above details students can perform these tasks:
Search Student
Remove Student Details
Print/Show Student Details
Sort of Student Details
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
[P4]
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.
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]
Coding standard is an essential attribute while developing an application.
Coding standards help to develop software programs that reduce error and are less complex.
Coding standards that defined the methods and different procedures
The proper consistency is maintained in coding standards and the code can be easily identified.
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.
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).