Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore draft

draft

Published by hiransidh, 2022-04-11 17:15:47

Description: draft

Search

Read the Text Version

COLLEGE MANAGEMENT SYSTEM A project report submitted in partial fulfilment of the requirements for the award of the degree of BACHELOR OF COMPUTER APPLICATION By JESHER BERNETT (REG NO. DVATBCA029) ASHLIN CHRISTY (REG NO. DVATBCA005) HIRAN SIDHARTH (REG NO. DVATBCA027) Under the guidance of Ms. ANIMA.P DEPARTMENT OF COMPUTER SCIENCE ST. JOSEPH’S COLLEGE (AUTONOMOUS), DEVAGIRI, CALICUT March 2022 PROJECT REPORT ON DEVGREE-COLLEGE MANAGEMENT SYSTEM ii

CERTIFICATE This is to certify that the project report titled COLLEGE MANAGEMENT SYSTEM Submitted by JESHER BERNETT (REG NO. DVATBCA029) ASHLIN CHRISTY (REG NO. DVATBCA005) HIRAN SIDHARTH (REG NO. DVATBCA027) St. Joseph’s College (Autonomous) Devagiri, Calicut in partial fulfilment of the requirements for the award of degree of Bachelor of Computer Application during the year 2019-2022. Internal Guide Head of Department Internal Examiner External Examiner DECLARATION iii

We hereby declare that the project entitled COLLEGE MANAGEMENT SYSTEM has been undertaken by us for the award of the degree of Bachelor of Computer Application. We have completed this project under the guidance of Ms. ANIMA.P, Department of Computer Science, St. Joseph’s College (Autonomous), Devagiri, Calicut. Place: Calicut Date: JESHER BERNETT (REG NO. DVATBCA029) ASHLIN CHRISTY (REG NO. DVATBCA005) HIRAN SIDHARTH (REG NO. DVATBCA027) CERTIFICATE iv

This is to certify that the project report titled “DEVGREE-COLLEGE MANAGEMENT SYSTEM” a record of project work done by them during the academic year 2021– 2022 under our guidance and supervision in partial fulfilment of the requirement of degree of Bachelor of Computer Application. Place: Devagiri ASHA.UNNIKRISHAN (Signature) Date: Mrs. ANIMA.P (Signature) ACKNOWLEDGEMENT We wish to express our sincere gratitude to Mr. Sabu K Thomas, Principal of St. Joseph’s College (Autonomous), Devagiri, Calicut for providing necessary facilities for developing our project. We are also grateful to Ms.Asha.Unnikrishan Head of the Department, as well as Ms.Anima.P our internal guide for her immense support and valuable suggestions. We are also grateful to Regional Technologies, Calicut for providing assistance to do this work in his organization. JESHER BERNETT (REG NO. DVATBCA029) ASHLIN CHRISTY (REG NO. DVATBCA005) v

HIRAN SIDHARTH (REG NO. DVATBCA027) vi

SYNOPSIS We are developing a web app which assist the existing system and operations in Devagiri college. First aim of our project is to help the freshers and all newcomers to get accustomed with the college by guiding through different classes, rooms and halls in college. We are thinking of a map image of Devagiri college and describing each room in the college which helps in navigation. This project is aimed to provide online booking of rooms in Devagiri college. We provide information about the availability of each room and the already booked events with full details (date, time, duration) thus helping the management in coordinating the booking system. This webapp provides and send notifications of the latest updates about the college related to academics, co-curricular activities, events etc. and information about students and classes (accessible only to specific users). Students and teachers will have login facility to retrieve their all details stored in the webapp. When looking more into academics, this website provides the facility to upload homework, assignments, question papers and other articles related to academics and accept the answers through it by the teachers and more options for assisting the academics in the college. The website also provides an option for reporting/feedback related to the college. TABLE OF CONTENTS vii

CERTIFICATE I Ⅱ DECLARATION III CERTIFICATE II IV ACKNOWLEDGEMENT V SYNOPSIS VI CHAPTER I 2 2 1. INTRODUCTION 3 4 1.1 AN OVERVIEW 4 1.2 INTRODUCTION & MISSION OF THE PROJECT 5 1.3 BACKGROUND STUDY 1.3.1 THE ORGANIZATION PROFILE 6 1.3.2 STUDY ON EXISTING SYSTEM 6 1.3.3 DISADVANTAGES OF EXISTING SYSTEM CHAPTER II 2. SYSTEM ANALYSIS 2.1 STUDY ON PROPOSED SYSTEM 2.1.1. ADVANTAGES OF PROPOSED SYSTEM viii

2.2 USER REQUIREMENT SPECIFICATION 7 2.3 SOFTWARE REQUIREMENT SPECIFICATION 9 2.4 FEASIBILITY STUDY 10 2.5 SYSTEM SPECIFICATION 11 2.5.1 HARDWARE SPECIFICATION 11 2.5.2 SOFTWARE SPECIFICATION 11 2.6.1 COST ESTIMATION 12 2.6.2 SCHEDULING 13 CHAPTER III 14 15 3. DESIGN AND DEVELOPMENT PROCESS 16 22 3.1 FUNDAMENTAL DESIGN CONCEPTS 25 3.2 DESIGN NOTATIONS 25 3.2.1 DATA FLOW DIAGRAM 36 3.2.2 ER DIAGRAM 38 3.3 DESIGN PROCESS 38 3.3.1 DATABASE DESIGN 3.3.2 NORMALIZATION 3.3.3 INPUT DESIGN 3.3.4 OUTPUT DESIGN ix

CHAPTER 1V 41 CODING 43 4.1 FRONT END 4.2 BACK END 45 CHAPTER Ⅴ 45 5 TESTING AND IMPLEMENTATION 46 5.1 TESTING 48 5.1.1 TESTING METHODOLOGIES 50 5.1.2 DIFFERENT TESTING 50 5.1.3 TEST CHART 52 5.2 QUALITY ASSURANCE & POLICIES 52 5.2.1 GENERIC RISKS 53 5.3 SYSTEM IMPLEMENTATION 5.3.1 IMPLEMENTATION PROCEDURES 54 5.4 SYSTEM MAINTENANCE 55 CHAPTER Ⅵ 57 6. CONCLUSION SCOPE FOR FURTHER ENHANCEMENTS BIBLIOGRAPHY ANNEXURE - A 1. INPUT DESIGN x

2. OUTPUT DESIGN 57 3. SAMPLE SOURCE 58 ANNEXURE - B 65 ABBREVIATION xi

S No LIST OF TABLES Page No 1 26 2 Title 27 3 User session 28 4 User 29 5 Department 30 6 Staff 31 7 Student 32 Notice Board 8 Room Booking 33 9 34 10 Feedback 35 11 Complaints 36 Contacts Rooms CHAPTER Ⅰ 1

INTRODUCTION 1.1 DEVGREE-COLLEGE MANAGEMENT SYSTEM - AN OVERVIEW Devgree- College management system provides various functionalities related to our college such as centralised room booking system, event management system, grievance management system, centralised information display interface and a space for student-teacher interaction. The system uses a web application to provide these features. 1.2 Introduction & Mission of the Project INTRODUCTION Information and communication technologies (ICTs) provide new opportunities and new challenges for developing economies. ICT adoption, digitalization and automation provide formidable new opportunities in terms of increased efficiency and productivity, the creation of new services and occupations and increased connectivity among agents. However, the extent to which developing economies are able to reap these potential benefits is contingent on a set of other social, economic and institutional dimensions. The world is making gigantic steps in the field of digitalization and it's high time that we keep up with the pace. Digitalisation have made our life easier providing us features to perform tasks efficiently. and quickly, especially in a college, digitalisation is needed so that all operations in the institution runs smoothly and efficiently. The advanced technologies are being used now and it made it easier to implement those technologies wherever we want, especially for a college management system. These changes in a college would save us time and man labour. Booking system are common in today’s system, in theatres, hospitals etc and it is very useful when implemented on a college. The communication about academic and non-academic information between staffs and students in a college is very important and we have to make sure every information is reached. to each student, latest technologies help us to achieve that. Communication is a major factor in day-to-day life and digitalization has made it very easy to do it in an efficient and in a fast manner. We have to make sure the system we are in are up to date with latest technologies so that we can maximise productivity and functionality of our system. This project is intended to bring more functionalities to our college management 2

system so as to save time and effort and do operations regarding to a college efficiently by using latest technologies and be a part of the digitalization revolution. MISSION OF THE PROJECT The mission of the project is to bring new features and updates to the already existing college management system for St. Joseph’s College. The world is moving forward in a fast pace in the field of technology and digitalisation and this project would really help to keep up with the pace. This project give new feature such as a centralised booking system, event management system, grievance management system, centralised information display interface and a space for student-teacher interaction thus giving a system for the college management to perform many tasks with ease. 1.3 Background Study As a background study, we made a detailed study in the St. Joseph’s college, Devagiri and their website(www.devagiricollege.org) to get a clear picture of the existing system. From the Study, we got a detailed view of the Existing system. We enquired with the office staff about the current room booking system. We collected feedback from various staff and students to get information about the current drawbacks in our college system. We were able to collect relevant data about the new features that is needed to be implemented in our project. Booking system was still maintained manually in books and there was no particular event or grievance management system. Students come to know events through various ways such as social media but a central portal for all events were absent in the current system and to report issues, one has to meet the concerned authorities but there was no way to do this online. Staff had to create WhatsApp group or use the help of Gmail to interact with the students or to provide and accept assignments. 3

A single digital portal for this was missing in our current college management system. 1.3.1 The Organization Profile The organization that we worked with is an online organization called geek insta (geekinsta.com) providing online classes and courses for over 6000 students providing more than different 30 different courses and more than 20 live classes. The organization provides courses on the topics .Net, blazer, Django, flutter, python, c#, adobe photoshop, flask, angular, C++, bootstrap, PostgreSQL and many other courses related to web designing. This organization mainly use online platform to help others. learn and keep up with the latest technologies. 1.3.2 Study on Existing System In the current system, the college didn’t have a centralised booking portal instead they used manual record keeping system for the halls and auditorium in the college. There was an absence of grievance system where people could report their issues regarding the college. The information about different events were promoted to students and staff through various social media apps but there was no centralised event management and notice board system thus making it difficult for the students and staff to keep track of them. We also found out that there was an absence of a space for students and staff interaction including assignment submission other than using various platforms such as WhatsApp, Gmail etc which makes staff and students difficult to keep track of all the academic and non- academic information provided. 4

1.3.3 Disadvantages of Existing System • Booking is managed by different office staffs. • No proper way to check the availability of a room before booking. • There is no online feedback system. • There is no option to check the status of a feedback or complaint. The concerned staff has to manually inform the complaint status • There is a common notice board on the college website. Usually, it does not show notification for non-academic events. • It is difficult to keep track all the information regarding the various events conducted • New students and visitors may find it difficult to find rooms and departments in the college. • An internal college map is not available. CHAPTER – II SYSTEM ANALYSIS 5

2. SYSTEM ANALYSIS A system study is a process of studying a procedure to identify the objectives and purposes of a system as well as to analyse the existing system’s problems and drawbacks. The system analysis will create systems and procedures that will achieve these objectives as well as solutions to the problems in an efficient way. It is the process of gathering and interpreting facts, diagnosing problems and using the information to recommended improvements to the system. Training, experience and common sense are required for the collection of the information needed to do the analysis. 2.1 STUDY ON PROPOSED SYSTEM Devgree- College management system provides various functionalities related to our college such as centralised room booking system, event management system, grievance management system, centralised information display interface and a space for student-teacher interaction. 2.1.1. ADVANTAGE OF PROPOSED SYSTEM • A centralized portal for room booking. • Status of each room can be checked at any time. • An online feedback management system. • Students and Parents can log in to the web app to register complaints. They can also check the status of the complaint at any time. • An image-based college map to help visitors to easily find rooms and departments they are looking for. • Students and parents will get notification via email. • Concerned staff can log in to the system and send email notifications to students and parents. 2.2 USER REQUIREMENT SPECIFICATION The system after careful analysis has been identified to be presented with the following module. The modules involved are: • Admin • Staff 6

• Student • Public User ADMIN Admin is one who manages the entire working of the system. Following are the main functions that can be performed by the Admin: 1. Add, edit or delete staff 2. Add, edit or delete students 3. Add, edit or delete rooms 4. Add, edit or delete bookings 5. Add, edit or delete notice 6. Manage complaints and feedbacks 7. Add, edit or delete events STAFF The staff has permission to create bookings, events and notice. Staff has less permissions than admin. Following are few of the functions that can be performed by staff. 1 Add, edit or delete student 7

2 Add, edit or delete room bookings 3 edit their own profile 4 Manage events 5 Manage complaints and feedback 6 Publish notice STUDENT The students have very limited permissions other than view the bookings, notices and give feedback and complaints. They can log in with their registered email and password and access these features. Following are the few functions that can be performed by students: 1 Receive notice 2 Register complaint 3 Give feedback 4 See events 5 See bookings PUBLIC USERS Public users have very few permissions. Following are their actions they can perform: 1 Give feedback 2 Register complaint 3 View college map 2.3 SOFTWARE REQUIREMENT SPECIFICATION Software selection is an important work in a project development cycle. Software must be selected in accordance with the application and latest technology available. Main software used: Visual Studio Code: 8

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and Unity). Nginx: NGINX is open-source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. Gunicorn: Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP Application Server for UNIX. It’s a pre-fork worker model ported from Ruby’s Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy. The web server accepts requests, takes care of general domain logic and takes care of handling https connections. Only requests which are meant to arrive at the application are passed on toward the application server and the application itself. Framework: Python Django Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Django makes it easier to build better web apps quickly and with less code. Django is a free and open source, full-stack web application framework, written in python. MySQL: MySQL is an Oracle-backed open-source relational database management system (RDBMS) based on Structured Query Language (SQL). MySQL runs on virtually all platforms, including Linux, UNIX and Windows. Although it can be used in a wide range of applications, MySQL is most often associated with web applications and online publishing. 9

2.4 FEASIBILITY STUDY Feasibility is defined as the practical extent to which a project can be performed successfully. To evaluate the feasibility, a feasibility study performed, which determine whether the solution considered to accomplish the requirements is practical and workable in the software. Information such as resource availability, cost estimation for software development, benefits of the software to the organisation after it is developed and cost to be incurred on its maintenance are considered during the feasibility study. The objective of the feasibility study is to establish the reason for developing the software that is acceptable to users, adaptable to change and confirmable to established standards. The result should inform the decision of whether to go ahead with a more detailed analysis. The feasibility study is done in these phases: • Technical feasibility • Economical feasibility • Operational feasibility TECHNICAL FEASIBILITY It says that the system must be evaluated from the technical point of view. Having identified an outline system, the investigation must go on to suggest the type of equipment, required method for developing the system, method of running the system once it has been designed. The current system developed is technically feasible thus it provides easy access to the user. 10

ECNOMICAL FEASIBILITY Economic feasibility is assessed based on total expenditure and profit analysis. There are certain queries needed to be answered if the enterprise or company can develop the system, is it profitable enough to stand above the expenses for its development of the system. OPERATIONAL FEASIBILITY The purpose of the operational feasibility study is to determine whether the new system will be used if it is developed and implemented from users that will undermine the possible application benefits. 2.5 SYSTEM SPECIFICATION The software requirements are description of features and functionalities of the target system. Requirements convey the expectations of users from the software product. 2.5.1 HARDWARE SPECIFICATION The selection of hardware is very important in the existence and proper working of any of the software. The size and capacity requirements are also important. The hardware must suit for all application developments. • Windows / Linux based OS • 1GB Storage • 1GB Memory 2.5.2 SOFTWARE SPECIFICATION When the system requirement is found the we have to determine whether a particular software package is suit for those system requirements • A modern web browser 11

2.5.3 TECHNOLOGY USED • Programming Language - Python 3.9 • Database – MySQL • Client-Side Languages / Frameworks – HTML, CSS, Js, Bootstrap 4 • Framework – Django 3.2 • Web Server – Apache / Nginx / Gunicorn 2.6 COST ESTIMATION AND SCHEDULING The cost estimation gives a rough picture of the budget. And the Scheduling will an idea of the execution time. Cost estimation and scheduling is said than done. Projects bring risk and risk bring unexpected cost and time in a project. Cost estimation is the process that calculates the budget of the necessary to compete for a successful project. In order to develop a software project successfully, cost estimation should be well planned. 2.6.1 COST ESTIMATION • S/W:4200 • Domain:1000 2.6.2 SCHEDULING • Requirements collection- 2weeks • Analysis and design- 2weeks • Coding- 4 weeks • Testing- 1week 12

CHAPTER -III DESIGN AND DEVELOPMENT PROCESS 3.1 Fundamental Design Concepts The design concepts provide the software designer with a foundation from which more sophisticated methods can be applied. 1. Abstraction: Abstraction is the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose. 2. Refinement: 13

It is the process of elaboration. A hierarchy is developed by decomposing a macroscopic statement of function in a step-wise fashion until programming language statements are reached. In each step, one or several instructions of a given program are decomposed into more detailed instructions. Abstraction and Refinement are complementary concepts. 3. Modularity: Software architecture is divided into components called modules. 4. Software Architecture: It refers to the overall structure of the software and the ways in which that structure provides conceptual integrity for a system. Good software architecture will yield a good return on investment with respect to the desired outcome of the project, e.g. in terms of performance, quality, schedule and cost. 5. Control Hierarchy: A program structure that represents the organization of a program component and implies a hierarchy of control. 6. Structural Partitioning: The program structure can be divided both horizontally and vertically. Horizontal partitions define separate branches of modular hierarchy for each major program function. Vertical partitioning suggests that control and work should be distributed top down in the program structure. 7. Data Structure: It is a representation of the logical relationship among individual elements of data. 8. Software Procedure: It focuses on the processing of each module individually. 9. Information Hiding: Modules should be specified and designed so that information contained within a module is inaccessible to other modules that have no need for such information. 3.2 Design Notations Process A process shows a transformation or manipulation of data flows within the system. A process transforms incoming data flow into outgoing data flow. 14

External Entity External entities are outside the system, but they either supply input data into the system or use system output. External entities are represented by a rectangle. Data Flows A data flow shows flow of information from source to destination. A data flow is represented by a line, with arrowhead showing the direction of flow. Data Source A repository of data that is to be stored for use by one or more processes; may be as simple as a buffer or queue or as sophisticated as a relational database. 3.2.1 Data Flow Diagram A graphical representation is used to describe and analyse the movement of data through a system manual or automated including the processes, storing of data and delays in the system. Data flow diagrams are the central tool and the basis from which other components are developed. The transformation of the data from input to output through process may be described logically and independently of the physical components associated with the system. They are termed logical data flow diagrams, showing the actual implementation and the movement of data between people, departments and workstations. DFD is one of the most important modelling tools used in physical design. DFD shows the flow of data through different process in the system. 15

LEVEL 0 DFD 16

Level 1 DFD: LEVEL 1.0 DFD (Admin) 17

LEVEL 1.2 DFD (STAFF) 18

LEVEL 1.3 DFD (STUDENT) 19

LEVEL 1.4 DFD (USER) 3.2.2 ER diagram Entity relationship diagram is used in modern database software engineering to illustrate logical structure of database. It is a relational schema database modelling method used to model a system and approach. This approach commonly used in database design. The diagram created using this method is called E-R diagram. The E-R diagram depicts the various relationships among entities considering each object as entity. Entity is represented as diamond shape and relationship is represented as rectangle. It depicts the relationship between data objects. The ER diagram is the relation that is used to conduct the data modelling activity. Basic ER Diagram Symbols and Notations 20

Entity Entity is the thing which we want to store information. An entity represents an object defined within the information system about which you want to store information. Relationship A relationship is named connection or association between entities used to relate two or more entities with some common attributes of meaningful interaction between the object. Attributes Attributes are the properties of the entities and relationship. Descriptor of the entity. Attributes are elementary pieces of information attached to an entity. 21

Key Attributes The Key attribute is used to donate the property that uniquely (the Entity Key), and which is mapped to the primary key field in a database 22

ER DIAGRAM 3.3 Design Process A table is a data structure that organizes information into rows and columns. It can be used to both store and display data in a structured format. Databases often contain multiple tables, with each one designed for a specific purpose. Each table may include its own set of fields, based on what data the table needs to store. In database tables, each field is considered a column, while each entry (or record), is considered a row. A specific value can be accessed from the table by requesting data from an individual column and row. There are primary key fields for uniquely identifying a record in a table. 3.3.1 Database Design Database design is one of the most important aspects of Web programming. Successful implementation of any system with Data Storage will always need proper database design. To create a great database design, you will not only have to master the Database technology but will have to master the database design process and normalization. Table Structure 23

User session Field name Type, size Column Id constraints Varchar (100) Primary key, User id Varchar (100) Not null Session id Varchar (500) Unique Expired on Date / time Not null 24

User Field name Type, size Column constraints Id Big int First name Varchar (50) Primary key, Auto Last name Varchar (50) increment Not null Email Varchar (100) Not null Join date Date/time Unique Password Varchar (100) Not null Administrator Boolean Not null Student Boolean Not null Staff Boolean Not null Not null 25

Department Column constraints Field name Type, size Primary key, not Id Big int null Name Varchar (10) Not null, unique Phone no Varchar (15) Not null Email Varchar (25) Not null description Varchar (250) Not null 26

Staff Field name Type, size Column constraints Id Big int Primary key, not User Varchar (15) null Phone Varchar (15) Foreign key, not null Not null Teacher id Varchar (20) Not null, unique Address Varchar (250) Not null Date of birth Date/time Not null department Varchar (15) Foreign key, not Blood group Varchar (10) null Not null 27

Student Field name Type, size Column constraints Id int Primary key, not null Foreign key, not null User Varchar (15) Not null Foreign key, not null Phone Varchar (15) Not null Not null Course Varchar (10) Not null Not null Semester Int Not null Address Varchar (250) Date of birth Date/time Blood group Varchar (10) Register no Varchar (20) 28

Notice board Column constraints Field name Type, size Primary key, not Id Big int null Name Varchar (50) Not null, unique Published date Date/time Not null event Varchar (50) Foreign key, not description Varchar (250) null Not null 29

Room booking Column constraints Field name Type, size Not null, primary Id Int key, Auto increment Room id int Not null, foreign key, Booked on Date time Not null Booked from Date time Not null Booked to Date time Not null 30

Feedback Column constraints Field name Type, size Primary key, not Id Int null Name Varchar (50) Not null, Unique Email Varchar (100) Not null, Unique Phone no Varchar (15) Not null, Unique Message Varchar (1500) Not null, Unique 31

Complaints Field name Type, size Column constraints Id int Name Varchar (100) Primary key, Auto Email Varchar (25) increment Phone no Varchar (10) Not null Message Varchar (2500) Department Int Not null Posted by Varchar (50) Action taken Varchar (2500) Not null, Unique Not null, Unique Not null Not null Not null 32

Contacts Field name Type, size Column Id constraints Name Int Email Varchar (50) Primary key, Auto Phone no increment Message Not null, Unique Varchar (100) Not null, Unique Varchar (15) Not null, Unique Varchar (1500) Not null, Unique 33

Rooms Field name Type, size Column constraints Id Int Primary key, Auto increment Room no int Not null, unique Room name Varchar (100) Not null Seating int Not null capacity Varchar (100) Not null Room type Room Varchar (25) status int Not null floor block Varchar (25) Not null 3.3.2 Normalization Database Normalization is a technique of organizing the data in the database. Normalization is a systematic approach of decomposing tables to eliminate data redundancy(repetition) and undesirable characteristics like Insertion, Update and Deletion Anomalies. It is a multi-step process that puts data into tabular form, 34

removing duplicated data from the relation tables. In our design the tables have been normalized up to third normalization form. Normalizations applied during database design are: • First Normal Form (1NF) • Second Normal Form (2 NF) • Third Normal Form (3 NF) First Normal Form If a relation contains composite or multi-valued attribute, it violates first normal form or a relation is in first normal form if it does not contain any composite or multi-valued attribute. A relation is in first normal form if every attribute in that relation is singled valued attribute. Our application satisfies 1 NF. The first normal form states that: • Every column in the table must be unique. • Separate tables must be created for each set of related data. • Each table must be identified with a unique column or concatenated columns called the primary key. • No rows may be duplicated. • no row/column intersections contain a null value. Second Normal Form A relation is said to be in 2NF if and only if it satisfies all 1NF conditions for the primary key and every non-primary key attribute of the relation is fully dependent on its primary key alone. If a non-key attribute is not dependent on the key, it should be removed from the relation and places as a separate relation. i.e., the fields of the table in 2NF are all related to primary key. Third Normal Form A relation is said to be in 3NF if and only if it is in 2NF and more over non-key attribute of the relation should not depend on other non-key attributes. The data in the system has to be stored and retrieved from database. Designing the database 35

is a part of system design. Data elements and data structures to be stored have been identified at analysis stage. They are structured and put together to design the data storage and retrieval system. 3.3.3 Input Design The input design is the process of converting the user-oriented inputs into the computer-based format. The goal of designing input data is make the automation as easy and free from errors as possible. For providing a good input design for the application, easy data input and selection features are adopted. 3.3.4 Output Design The output design has been done so that the results of processing should be communicated to the user. Effective output design will improve the clarity and performance of outputs. Output is the main reason for developing the system and the basis on which they will evaluate the usefulness of the application. Output design phase of the system is concerned with the convergence of information to the end user-friendly manner. The output design should be efficient, intelligible so that system relationship with the end user is improved and they’re by enhancing the process of decision-making. 3.4 Development Approach The development approach used in this project is the waterfall model. The Waterfall model is the earliest SDLC approach that was used for software development. It is also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases. The waterfall Model illustrates the software development process in a linear sequential flow. This means that any phase in the development process begins only if the previous phase is complete. In this waterfall model, the phases do not overlap. 36

3.5 Waterfall Model – Design Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of the project. In \"The Waterfall\" approach, the whole process of software development is divided into separate phases. In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase sequentially. The sequential phases in Waterfall model are − • Requirement Gathering and analysis − All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document. • System Design − The requirement specifications from first phase are studied in this phase and the system design is prepared. This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture. • Implementation − With inputs from the system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing. • Integration and Testing − All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures. • Deployment of system − Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market. • Maintenance − There are some issues which come up in the client environment. To fix those issues, patches are released. Also, to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment. 37

CHAPTER-Ⅳ CODING CODING The project is done with the help of Python in Django framework. Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code reliability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects. Python is dynamically typed and garbage collected. It supports multiple programming paradigms, including procedural, object- oriented, and functional programming. Python is often described as a \"batteries included\" language due to its comprehensive standard library. Python was conceived in the late 1980s as a successor to the ABC language. Python 2.0, released in 2000, introduced features like list comprehensions and a garbage collection system capable of collecting reference cycles. Python 3.0, released in 2008, was a major revision of the language that is not completely backwards compatible, and much Python 2 code does not run unmodified on Python 3. Android is a mobile operating system developed by Google. It is based on a 38

modified version of the Linux kernel and other open-source software and is designed primarily for touchscreen mobile devices such as smartphones and tablet devices. Also, Google has further developed Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized user interface. Variants of Android are also used on gaming consoles, cameras, PCs and many other electronic devices. 4.1 FRONT END PYTHON Python is a multi-paradigm programming language. Object-oriented programming and structured programming are fully supported, and many of Its features support functional programming and aspect-oriented programming (including metaprogramming and metaobjects (magic methods)). Many other paradigms are supported via extensions, including design by contract and logic programming. Python uses dynamic typing and a combination of reference counting and a cycle-detecting garbage collector for memory management. It also features dynamic name resolution (late binding), which binds method and variable names during program execution. Python’s design offers some support for functional programming in the Lisp tradition. It has filter, map, and reduce functions; list comprehensions, dictionaries, sets, and generator expressions. The standard library has two modules (tier tools and functions) that implement functional tools borrowed from Haskell and Standard ML. Python is meant to be an easily readable language. Its formatting is visually uncluttered, and it often uses English keywords where other languages use punctuation. Unlike many other languages, it does not use curly brackets to delimit blocks, and semicolons after statements are optional. It has fewer syntactic exceptions and special cases than C or Pascal. Python's large standard library commonly cited as one of its greatest strengths provides tools suited to many tasks. For Internet facing applications, many standard formats and protocols such as MIME and HTTP is supported. It includes modules for creating graphical user interfaces, connecting to relational databases, generating pseudorandom numbers, arithmetic with arbitrary-precision decimals, manipulating regular expressions, and unit testing. 39


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook