SE Report (TTMS-01 Final)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 57

GUJARAT TECHNOLOGICAL UNIVERSITY

Shri S’ad Vidya Mandal Institute of


Technology
Affiliated with GTU
A
Report
on
TIME TABLE MANAGEMENT SYSTEM
Under subject of
SOFTWARE ENGINEERING
B. E. III, Semester - V
Computer Science and Engineering
Submitted by:
Group:
Sr. Name of student Enrollment No.
1. PATEL NIKUNJBHAI KULINBHAI 210450131013
2. PATEL JIGAR DAHYABHAI 210450131009
3. PATEL KEYUR CHANDUBHAI 210450131012
4. VYAS JAINIL NILESHBHAI 210450131008

Prof. Jignasa N. Patel


(Faculty Guide)

Dr. Kruti J. Dangarwala


Head of the Department
Academic Year
2023-24
Shri S’ad Vidya Mandal Institute of Technology
Department of Computer Science and Engineering

Academic Year 2023-24

CERTIFICATE

This is to certify that the Project entitled “Time Table Management System” has been prepared
by Patel Nikunj(210450131013), Patel Jigar(210450131009), Patel Keyur (210450131012),
Vyas Jainil (210450131008) in the subject of “SOFTWARE ENGINEERING” under my
guidance in partial fulfilment of the degree of Bachelor of Engineering in Computer Engineering
(5th Semester)of Gujarat Technological University, Ahmedabad during the academic year 2023-24.

Date: / / 2023
Place: SVMIT, Bharuch

Project Guide Head of CE/IT Department

Prof. Jignasa N. Patel Dr. Kruti J. Dangra wala


ACKNOWLEDGEMENT
Every successful completion of any undertaking would be complete only after we remember
and thank the almighty, the parents, the teachers, and the personalities, who directly or
indirectly helped and guided during the execution of that work. The success of this work is
equally attributed to all well-wishers who have encouraged and guided throughout the
execution. We express our deepest gratitude to Prof. Jignasa N. Patel for their guidance and
assistance throughout the project with great interest. We also thank all teaching staff members
of the CSE department for their invaluable co-operation. Finally, we would like to express our
sincere thanks to our Parents and Friends for their enormous encouragement and all other
who have extended their helping hands towards completion of our project

PATEL NIKUNJ (210450131013)

PATEL JIGAR (210450131009)

PATEL KEYUR (210450131012)

VYAS JAINIL (210450131008)


ABSTRACT

A time table management system is a project which is developed to provide better


support for staff in a college. The time table management system provides a function
to create and view the specific staff and student's timetable. This system also contains
a database that stores staff and student allotted subject details and notifications
before time. A college timetable is atemporal arrangement of a set of staff and
students in which all given constraints are satisfied. Hence we have developed a
practical approach for building staff and student timetable systems, which can be
customized to fit any college timetable system. Each staff and student can view their
time table once they are finalized for a given semester and can also edit the time
table. The timetable module acts as a robust platform to forecast.
Software Engineering (3150711)

TABLE OF CONTENTS

TITLE OF THE PROJECT

CERTIFICATE

ACKNOWLEDGEMENT I

ABSTRACT II

TABLE OF CONTENTS III

LIST OF FIGURES V

LIST OF TABLES VI

Chapter 1 Introduction 1

1.1 Overview of the system 1

1.2 Objectives and uses 2

Chapter 2 Study and Analysis of System Development Life Cycle and Process 3
Models

Chapter 3 Project planning and scheduling 7

Chapter 4 System Analysis 10

4.1 Study of Existing System 11

4.2 Design of Proposed System 12

4.3 Feasibility Study 12

Chapter 5 System Design 14

5.1 Design of Data Dictionary 14

5.2 Data Flow Diagram 16

5.3 Diagram Design (UML) 19

5.3.1 Survey and Design of Class Diagram 20

5.3.2 Survey and Design of Use Case Diagram 20

5.3.3 Survey and Design of Activity Diagram 21

1
Software Engineering (3150711)

5.3.4 Survey and Design of State Chart Diagram 23

5.3.5 Survey and Design of Sequence Diagram 23

Chapter 6 Implementation 25

6.1 Introduction and Tools & Technology Used 25

6.2 Data Entry Development 25

6.3 Security Features 32

6.4 Coding Standards 32

Chapter 7 Software Testing 34

7.1 Analysis of Testing Method 34

7.2 Analysis of Test Cases 35

7.3 Cyclomatic Complexity 36

Chapter 8 Cost Estimation 37

8.1 Basic and Intermediate COCOMO 37

8.2 FP Oriented Estimation Model 40

Chapter 9 Conclusion and Future Enhancement 45

2
Software Engineering (3150711)

LIST OF FIGURES
FIGURE NO. FIGURE NAME PAGE NO

Fig 2.1 Software Development Life Cycle 11

Fig 2.2 SDLC Models 12

Fig 2.3 Incremental Model 13

Fig 3.1 Gantt Chart 17

Fig 4.1 System Analysis 19

Fig 5.1 System Design 22

Fig 5.2.1 Level 0 DFD 25

Fig 5.2.2 Level 1 DFD 26

Fig 5.2.3 Level 2 DFD 27

Fig 5.3.1 Class Diagram 28

Fig 5.3.2 Use case Diagram 29

Fig 5.3.3 Activity Diagram 30

Fig 5.3.4 State Chart Diagram 31

Fig 5.3.5 Sequence Diagram 32

Fig 6.2.1 Admin login 38

Fig 6.2.2 Dashboard 39

Fig 6.2.3 Faculty Details 39

Fig 6.2.4 Room Management 40

Fig 6.2.5 Time Management 40

Fig 7.3.1 Cyclomatic Complexity 47

Fig 8.1.1 Basic COCOMO 49

Fig 8.1.2 Intermediate COCOMO 50

Fig 8.2.1 Weight factor of FP 52

3
Software Engineering (3150711)

LIST OF TABLES
TABLE NO. TABLE NAME PAGE NO

Table 3.1 Project Milestone 16

Table 3.2 Project Deliverable 17

Table 5.1.1 User Module 23

Table 5.1.2 Admin Module 23

Table 5.1.3 Faculty Module 23

Table 5.1.4 Add Subject 23

Table 5.1.5 Add Deparatment 24

Table 5.1.6 Add Room 24

Table 8.2.1 FP Attributes 51

Table 8.2.2 Weights of FP Attributes 51

Table 8.2.2 Function point calculation 54

4
Software Engineering (3150711)

Chapter-1 Introduction
1.1 Overview of the system
Time Table Management System Overview

A Time Table Management System is a computerized tool or software application that plays a
crucial role in efficiently planning, creating, and managing schedules for various activities
within organizations, particularly in educational institutions and businesses. This system is
designed to automate the scheduling process, which can be a complex and time -consuming
task when done manually. It aims to optimize resource allocation, minimize scheduling
conflicts, and improve overall operational efficiency. In this overview, we will delve into the
key features and benefits of such a system.

Key Features:

1. User Management: A Time Table Management System typically includes a user


management module. It allows administrators to define different roles and permissions for
users. For instance, administrators may have full control over the system, while other users
have limited access. This ensures data security and user accountability.

2. Course/Class Management:The system provides tools for defining and managing


courses, subjects, or classes. It enables administrators to assign instructors or teachers to
specific classes or courses, streamlining the process of matching educators with teaching
responsibilities.

3. Teacher/Instructor Management: Maintaining a comprehensive database of teachers and


their availability is a crucial aspect of scheduling. The system facilitates this by allowing
administrators to add, modify, or delete teacher information. It also permits the assignment of
teachers to specific classes or subjects, ensuring that the right educators are scheduled for the
right classes.

4. Student Management: For educational institutions, managing student information and


enrollment details is vital. The Time Table Management System often includes a module for
recording student data and associating them with particular classes or courses, making it
easier to track and manage student schedules.

5
Software Engineering (3150711)

5. Room/Resource Management: In addition to managing people and classes, the system


also helps in the allocation of rooms, laboratories, or other resources. Users can check room
availability, book resources for specific classes or events, and ensure that resources are
optimally utilized.

6. Schedule Creation: One of the most critical features of a Time Table Management System
is its ability to automate the creation of schedules. It can generate schedules based on user -
defined constraints and preferences, taking into account various factors, such as teacher
availability, room capacity, and class size. The system may also support different scheduling
algorithms to optimize resource allocation and minimize conflicts.

7. Conflict Resolution: Detecting and resolving scheduling conflicts is a crucial function.


The system can automatically identify conflicts, such as double-booked resources or teachers
assigned to multiple classes simultaneously, and provide solutions to rectify these issues.

8. Notifications and Alerts: The system can send automatic notifications and alerts to users,
informing them of schedule changes, upcoming events, or any other relevant information.
This ensures that everyone is well-informed and can plan accordingly.

9. Reporting: Reporting capabilities are essential for monitoring and analyzing scheduling
data. The system can generate reports and statistics on class schedules, teacher workload, and
resource utilization. Users can export these reports in various formats, such as PDF or Excel,
for further analysis and decision-making.

10. Mobile Accessibility: Given the increasing reliance on mobile devices, the Time Table
Management System often includes a mobile-friendly interface. This allows both
administrators and users to access and manage schedules on the go, providing flexibility and
convenience.

11. Integration: To enhance its functionality and utility, the system may offer integration
with other software applications or platforms. This could include integration with attendance
management systems, student information systems, or popular email and calendar platforms.
Such integrations streamline data sharing and reduce redundancy.

12. Security: Data security is of paramount importance, especially in educational institutions.


The system typically incorporates user authentication and authorization mechanisms to
protect sensitive scheduling data, ensuring that unauthorized individuals cannot access or
manipulate the schedules.

6
Software Engineering (3150711)

1.2 Objectives and Scopes

1. Efficient Scheduling: The primary objective of a Time Table Management System is to


efficiently create and manage schedules for various activities, such as classes, meetings, and
events. It aims to automate this process, saving time and reducing scheduling conflicts.
2. Resource Optimization: The system seeks to optimize the allocation of resources,
including teachers, rooms, and equipment, to ensure that they are used effectively and
efficiently.
3. Conflict Minimization: One of the key goals is to minimize scheduling conflicts, such as
double-booked rooms or teachers assigned to multiple classes simultaneously. This minimizes
disruptions and enhances operational smoothness.
4. Data Analysis: By collecting and storing scheduling data, the system supports data
analysis, enabling administrators to make data-driven decisions and continuously improve
scheduling processes.
5. Integration: Integration with other systems, such as attendance management and student
information systems, ensures data consistency and streamlines processes.
6. Data Security: The system aims to protect sensitive scheduling data from unauthorized
access, maintaining data integrity and confidentiality.
7. Educational Institutions: The system is commonly used in schools, colleges, and
universities to manage class schedules, teacher assignments, and student enrollments. It
covers all academic activities, from regular classes to examinations.
8. Businesses: In the corporate world, organizations utilize scheduling systems to manage
meetings, conferences, training sessions, and other events. It ensures that meeting rooms and
resources are optimally allocated.
9. Resource Management: The system includes the allocation and management of various
resources, including rooms, laboratories, equipment, and personnel. It helps ensure these
resources are utilized efficiently.
10. User Management: The system offers user roles and permissions, allowing
administrators to manage different users' access and responsibilities.

7
Software Engineering (3150711)

Chapter – 2 Study and Analysis of System Development Life Cycle and


Process Models
A "System Development Life Cycle" (SDLC) and "Process Models" are fundamental concepts
in software engineering and project management. They provide structured frameworks for the
development and management of software systems. The System Development Life Cycle is a
systematic approach to software development that outlines the stages and processes involved
in the creation of a software system or application. It provides a structured path from initial
concept to implementation and maintenance. There are following phases in software
engineering life cycle model :

• Requirements gathering and analysis


• Design
• Implementation
• Testing
• Deployment
• Maintenance

Fig-2.1 Software Development Life Cycle

8
Software Engineering (3150711)

This approach includes project definitions , analysis of the system, system design,
development, testing, deployment and maintenance.

Details of each phase :

• Requirement gathering analysis : In this phase, project goals, requirements, and


constraints are defined. A project plan is created, outlining budgets, timelines, and
resource allocation. Requirements are gathered and analyzed to understand the system's
functional and non-functional aspects.
• Design : This phase involves creating detailed design specifications, both for system
architecture and user interfaces.
• Implementation : The actual code is written and tested in this phase. The system begins
to take shape.
• Testing : The system is rigorously tested to ensure it meets the specified requirements
and quality standards.
• Deployment : The software is deployed in the target environment, and users begin to
interact with it.
• Maintenance : Ongoing updates, bug fixes, and enhancements are performed to keep
the software operational and up to date.

Process Models :

Fig-2.2 SDLC Models


9
Software Engineering (3150711)

Selected Process Model: Incremental Model


• Incremental Model is a process of software development where requirements divided
into multiple standalone modules of the software development cycle.
• In this model, each module goes through the requirements, design, implementation and
testing phases. Every subsequent release of the module adds function to the previous
release. The process continues until the complete system achieved.
• These models are particularly useful in scenarios where data is constantly changing or
where it is impractical to retrain the model from scratch every time new data is acquired.
• Incremental models offer a dynamic and efficient approach to machine learning,
enabling models to stay up-to-date, adapt to changing conditions, and provide real-time
insights or predictions in various application domains.

Fig-2.3 Incremental Model

Advantages :-

• Efficient : Incremental models are computationally efficient because they update their
parameters with new data without retraining from scratch. This makes them well-suited
for scenarios with large datasets or resource constraints.
• Real-time Adaptation : These models can adapt to changing data distributions in real-
time, ensuring that their predictions and insights are up-to-date. This is particularly
important in dynamic environments.

10
Software Engineering (3150711)

• Resource Savings : By updating the model incrementally, you can save on


computational and storage resources since you don't need to store and process the entire
historical dataset repeatedly.
• Anomaly Detection : For anomaly detection applications, incremental models can
adapt to evolving patterns of normal behaviour and efficiently detect new anomalies
without requiring extensive retraining.

Limitations :-

• Technical issues :- Online library management systems rely on computers, servers, and
networks to function. Any technical issues with the system can result in downtime, slow
response time.
• Lack of Equipment and devices :- Online library management systems require
suitable equipment and infrastructure to function effectively. Libraries that lack the
necessary equipment, such as computers or internet access, may find it challenging to
use the system.
• System upgrades :- Online library management systems require periodic upgrades to
keep up with changing technologies and user needs. Upgrading the system can be
time-consuming and costly.
• Dependence on the internet :- Online library management systems require a stable
internet connection to function. In areas with poor internet connectivity, the system may
not work correctly, leading to delays in service.

Justification of selected model:


➢ The justification for using an incremental model in developing a timetable
management system lies in its ability to effectively address the dynamic and
evolving nature of such systems. Timetable management systems often encounter
changing requirements and involve multiple stakeholders, including students,
faculty, and administrators. The incremental model enables a flexible and iterative
approach to development, providing several benefits.

➢ The incremental model is a well-suited approach for developing a timetable


management system due to its adaptability, risk management capabilities,
stakeholder engagement, and the ability to deliver value incrementally. It
addresses the dynamic and evolving nature of such systems, resulting in a more
effective and user-centric final product.

11
Software Engineering (3150711)

Chapter – 3 Project planning


Project-task scheduling is a significant project planning activity. It comprises deciding which
functions would be taken up when. Project schedule simply means a mechanism that is used to
communicate and know about that tasks are needed and has to be done or performed and which
organizational resources will be given or allocated to these tasks and in what time duration or
time frame work is needed to be performed. Effective project scheduling leads to success of
project, reduced cost, and increased customer satisfaction. Scheduling in project management
means to list out activities, deliverables, and milestones within a project that are delivered. It
contains more notes than your average weekly planner notes.

To schedule the project plan, a software project manager wants to do the following:

1. Identify all the functions required to complete the project.


2. Break down large functions into small activities.
3. Determine the dependency among various activities.
4. Establish the most likely size for the time duration required to complete the activities.
5. Allocate resources to activities.
6. Plan the beginning and ending dates for different activities.
7. Determine the critical path. A critical way is the group of activities that decide the
duration of the project.

The first method in scheduling a software plan involves identifying all the functions required
to complete the project. A good judgment of the intricacies of the project and the development
process helps the supervisor to identify the critical role of the project effectively. Next, the large
functions are broken down into a valid set of small activities which would be assigned to
various engineers. The work breakdown structure formalism supports the manager to
breakdown the function systematically after the project manager has broken down the purpose
and constructs the work breakdown structure; he has to find the dependency among the
activities. Dependency among the various activities determines the order in which the various
events would be carried out. If an activity A necessary the results of another activity B, then
activity A must be scheduled after activity B. In general, the function dependencies describe a
partial ordering among functions, i.e., each service may precede a subset of other functions,
but some functions might not have any precedence ordering describe between them (called
concurrent function). The dependency among the activities is defined in the pattern of an
activity network. Once the activity network representation has been processed out, resources

12
Software Engineering (3150711)

are allocated to every activity. Resource allocation is usually done using a Gantt chart. For task
scheduling, the project plan needs to decompose the project functions into a set of activities.
The time frame when every activity is to be performed is to be determined. The end of every
action is called a milestone. The project manager tracks the function of a project by audit the
timely completion of the milestones. If he examines that the milestones start getting delayed,
then he has to handle the activities carefully so that the complete deadline can still be met.

Sr. No Task Start Date End Date


1. Introduction 31-07-23 07-08-23
2. Study and Analysis 07-08-23 14-08-23
3. Project planning and 14-08-23 21-08-23
scheduling
4. System Analysis 21-08-23 28-08-23
5. System Design 28-08-23 04-09-23
6. Implementation 04-09-23 16-10-23
7. Software Testing 16-10-23 22-10-23
8. Cost Estimation 23-10-23
Table-3.1 Project Milestone

Project planning and scheduling are critical processes in project management that involve
defining the project's objectives, breaking them down into tasks, allocating resources, and
establishing a timeline for completing the project. Effective planning and scheduling help
ensure that a project is executed efficiently, on time, and within budget. Project planning and
scheduling tools, such as Gantt charts, project management software, and collaborative
platforms, are commonly used to assist in these processes. Effective project planning and
scheduling are crucial for achieving project success and meeting organizational goals.

The project deliverable is outlined to construe the result of this project. The deliverables are
shown in below table.

13
Software Engineering (3150711)

Deliverable Deliverable Description


1. Web based application
2. Final Report
3. Viva Demonstration
Table-3.2 Project Deliverable

Gantt Chart :-

Gantt chart is type of chart in which series of horizontal lines are present that show the amount
of work done or production completed in given period of time in relation to amount planned
for those projects. A Gantt chart is a widely used project management tool that provides a
visual representation of a project's schedule. Gantt charts are particularly helpful for showing
the start and end dates of various project tasks, their interdependencies, and the overa ll timeline
of the project. The purpose of Gantt chart is to emphasize scope of individual tasks. Hence set
of tasks is given as input to Gantt chart. Gantt chart is also known as timeline chart. It can be
developed for entire project or it can be developed for individual functions. In most of projects,
after generation of timeline chart, project tables are prepared. In project tables, all tasks are
listed in proper manner along with start date and end date and information related to it.

Gantt Chart :-

Fig-3.1 Gantt Chart

14
Software Engineering (3150711)

Chapter-4 System Analysis


System analysis is a crucial phase in software engineering that focuses on understanding and
defining the requirements, constraints, and goals of a software system. It plays a fundamental
role in the software development life cycle and is typically followed by system design,
implementation, testing, and maintenance. System analysis is an iterative process, and as
requirements evolve and become better understood, adjustments may be made. The results of
this phase serve as the foundation for system design and development, ensuring that the
software solution meets the needs of the users and the organization. Effective system analysis
helps in reducing the risk of project failure and cost overruns by aligning the project with the
business goals and user expectations. System analysis is conducted for the purpose of studying
a system or its parts in order to identify its objectives. It is a problem solving technique that
improves the system and ensures that all the components of the system work efficiently to
accomplish their purpose. Systems analysis is a process of collecting factual data, understand
the processes involved, identifying problems and recommending feasible suggestions for
improving the system functioning. This involves studying the business processes, gath ering
operational data, understand the information flow, finding out bottlenecks and evolving
solutions for overcoming the weaknesses of the system so as to achieve the organizational
goals. The major objectives of systems analysis are to find answers for each business process:
What is being done, How is it being done, Who is doing it, When is he doing it, Why is it being
done and How can it be improved? It is more of a thinking process and involves the creative
skills of the System Analyst. It attempts to give birth to a new efficient system that satisfies the
current needs of the user and has scope for future growth within the organizational constraints.
The result of this process is a logical system design. Systems analysis is an iterative process
that continues until a preferred and acceptable solution emerges. Based on the user requirements
and the detailed analysis of the existing system, the new system must be designed. This is the phase
of system designing. It is the most crucial phase in the developments of a system. System Analysis
allows the developer to work directly on a project instead of thinking about it as a module. This
ensures the perfect execution and estimation of the project. Once the project executes, the
developer provides a trial to the client, and in case of any issues, it is necessary to clarify them.
The system design role starts when he gets into a particular project. The executive’s work is to
collect all raw data, the need of the customer, the structure, and boundary conditions. The
decision table in system analysis and design describes the basic steps and further works on the
project as per the parameters.

15
Software Engineering (3150711)

Fig-4.1 System Analysis

4.1 Study Of Existing System


In the available Online Library Management System, librarian maintains the details of each
book on the registers so to find out the number of books available in the library they need to
go to check the entire entry which makes the process slow. While they need to spend an extra
hour to maintain the records of books. For a student who wants to know about a book in the
library need to search the entire book section. The student needs to check the status of the book
means the last date of book, how many books has issued. The problem faced are given below
:-

• Early days libraries are managed manually. It required a lot of time to record or to
retrieve the details.
• Maintenance of library catalogue and arrangement of books in catalogue is very tough
task. In addition to its maintenance of member details, issue dates, and return dates etc.
manually is a complex task.
• Security of information is very less.
• Report generation of all the information is very tough task.
16
Software Engineering (3150711)

Study 1 :-
• There is a possibility of issuing a book to a user, whose membership is not registered.
• When a user requests for the a book, one has to physically check for the presence of a
book in the library.
• Daily keeping a manual record of changes taking place in the library such as book being
issued, book being returned etc can become cumbersome if the library size is bigger.
Study 2 :-

• The employees who have to record the details must perform their job very carefully.
Even a small mistake would create a lot of problems.
• In addition to its maintenance of member details, issue dates and return dates etc.
manually is a complex task.
• Security of information is very less.
4.2 Design of Proposed System

To solve the inconveniences as mentioned in existing system, an online Library is proposed.


The proposed system contains following features:
• The students will register through online.
• Individually each member will have his account through which he/she can access the
information which is needed.
• Book details like authors, name of available books, books to return/renew etc. all this
information can be made handy.
• Regarding the members designation, numbers of books was issued.
• Issue dates and returns of each member is maintained separately.
• Admin can add, update the books.
• Time consuming is low, gives accurate results, reliability can be improved with the
help of security.

4.3 Feasibility Study


A feasibility study analyzes the viability of a proposed project or venture. It is used to evaluate
a project's potential, including the technical, financial, and economic aspects, and to determine
whether it should proceed. A feasibility study aims to identify and assess a proposed project's
strengths, weaknesses, opportunities, and threats to determine its potential for success.
Feasibility study is carried out based on many purposes to analyze whether software product
will be right in terms of development, implantation, contribution of project to the organization
etc.
Types of Feasibility Study :

17
Software Engineering (3150711)

1. Financial Feasibility: This study evaluates whether the expected financial benefits of
a project outweigh its costs. It involves estimating initial and ongoing expenses, as well
as the expected revenue or savings over time.
2. Market Feasibility: This study assesses the demand for the product or service that the
project will deliver. It helps determine if there is a market for the project and what the
potential customer base is.
3. Technical Feasibility: This study examines whether the proposed project can be
implemented with the available technology and expertise. It considers factors such as
the availability of necessary hardware, software, and skills.
4. Operational Feasibility: This study focuses on whether the project can be integrated
into the existing operations and processes of the organization. It evaluates the impact
on daily operations and workflow.
5. Organizational Feasibility: This study assesses whether the organization has the
capacity to manage and implement the project successfully. It considers factors like
staff skills, available resources, and the organizational structure.

18
Software Engineering (3150711)

Chapter-5 System Design

System Design involves identifying sources of data, It is an intuition towards characterizing,


creating, and planning a framework to fullfill the necessity and indeed the prerequisites of
particular businesses. In any development process, be it Software or any other tech, the most
important stage is Design. Without the designing phase, you cannot jump to the implementation
or the testing part. The same is the case with the System as well. System Design not only is a
vital step in the development of the system but also provides the backbone to handle
exceptional scenarios because it represents the business logic of software.

Fig-5.1 System Design

5.1 Design of Data Dictionary

A Data Dictionary is a collection of names, definitions, and attributes about data elements that
are being used or captured in a database, information system, or part of a research project. It
describes the meanings and purposes of data elements within the context of a project, and
provides guidance on interpretation, accepted meanings and representation. A Data Dictionary
also provides metadata about data elements. A data dictionary contains metadata i.e., data about
the database. The data dictionary is very important as it contains information such as what is
in the database, who is allowed to access it, where is the database physically stored etc. The

19
Software Engineering (3150711)

users of the database normally don't interact with the data dictionary, it is only handled by the
database administrators.

User Module :-

Field Data Type Size Constraint Description


User_Id Varchar 20 Primary Key Id of user
User_Name Varchar 50 Not Null Name of user
Password Varchar 10 Not Null User password
Email Varchar 20 Not Null User Email
Table-5.1.1 User Table

Admin Module :-

Field Data Type Size Constraint Description


Admin_ID Varchar 20 Primary Key Id of admin
Admin Name Varchar 50 Not Null Name of admin
Password Varchar 10 Not Null Admin name
Email Varchar 20 Not Null Admin Email
Table-5.1.2 admin Table

Faculty Module :-

Field Data Type Size Constraint Description


User_ID Varchar 20 Primary Key Id of Faculty
Faculty_Name Varchar 50 Not Null Name of
Faculty
Password Varchar 10 Not Null Faculty name
Email Varchar 20 Not Null Faculty Email
Table-5.1.3 Faculty Table

Subject Modual :-

Field Data type Size Constraint Description

Subject_ID Integer 11 NOT NULL Id of Subject

Subject_code Varchar 15 NOT NULL Code of Subject

20
Software Engineering (3150711)

Subject_title
Varchar 100 NOT NULL Title of Subject
Member_ID
Integer 11 NOT NULL Id of Member
Table-5.1.4 Add Subject

Department Modual :-

Field Data type Size Constraint Description

Department_ID Integer 11 NOT NULL Id of Department

Department _code Varchar 10 NOT NULL Code of Department

Department_name Varchar 100 NOT NULL Name of Department


Table-5.1.5 Add Department

Room Modual :-

Field Data type Size Constraint Description

Room_ID Integer 11 NOT NULL Id of Room

Room Varchar 15 NOT NULL Room


Table-5.1.6. Add Room

5.2 Data Flow Diagram


A Data Flow Diagram (DFD) is a traditional visual representation of the information flows
within a system. A neat and clear DFD can depict the right amount of the system requirement
graphically. It can be manual, automated, or a combination of both. It shows how data enters
and leaves the system, what changes the information, and where data is stored.

21
Software Engineering (3150711)

Level 0 DFD :-

Fig-5.2.1 Level 0 DFD

22
Software Engineering (3150711)

Level 1 DFD :-

Fig-5.2.2 Level 1 DFD

23
Software Engineering (3150711)

Level 2 DFD :-

Fig-5.2.3 Level 2 DFD


5.3 Diagram Design (UML)
The UML diagrams are categorized into structural diagrams, behavioral diagrams, and also
interaction overview diagrams. UML helps software engineers, businessmen and system
architects with modelling, design and analysis.

5.3.1 Survey and Design of Class Diagram


Class diagram is a static diagram. It represents the static view of an application. Class diagram
is not only used for visualizing, describing, and documenting different aspects of a system but
also for constructing executable code of the software application. Class diagram describes the
attributes and operations of a class and also the constraints imposed on the system. The class
diagrams are widely used in the modelling of object oriented systems because they are the only
UML diagrams, which can be mapped directly with object-oriented languages.

24
Software Engineering (3150711)

Class Diagram :-

Fig-5.3.1 Class Diagram

5.3.2 Survey and Design of Use Case Diagram


A use case diagram is used to represent the dynamic behaviour of a system. It encapsulates the
system's functionality by incorporating use cases, actors, and their relationships. It models the
tasks, services, and functions required by a system/subsystem of an application. It depicts the
high-level functionality of a system and also tells how the user handles a system.

25
Software Engineering (3150711)

Use Case Diagram :-

Fig-5.3.2 Use Case Diagram


5.3.3 Survey and Design of Activity Diagram
Activity diagram is basically a flowchart to represent the flow from one activity to another
activity. The activity can be described as an operation of the system. The control flow is drawn
from one operation to another. This flow can be sequential, branched, or concurrent. Activity
diagrams deal with all type of flow control by using different elements such as fork, join, etc.
The basic purposes of activity diagrams is similar to other four diagrams. It captures the
dynamic behaviour of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to

26
Software Engineering (3150711)

another. Activity is a particular operation of the system. Activity diagrams are not only used
for visualizing the dynamic nature of a system, but they are also used to construct the
executable system by using forward and reverse engineering techniques. The only missing
thing in the activity diagram is the message part.

Activity Diagram :-

Fig-5.3.3 Activity Diagram


5.3.4 Survey and Design of State Chart Diagram
A State chart diagram describes a state machine. State machine can be defined as a machine
which defines different states of an object and these states are controlled by external or internal
events. It describes different states of a component in a system. The states are specific to a
component/object of a system.

27
Software Engineering (3150711)

State Chart Diagram :

Fig-5.3.4 State Chart Diagram

28
Software Engineering (3150711)

5.3.5 Survey and Design of Sequence Diagram


The sequence diagram represents the flow of messages in the system and is also termed as an
event diagram. It helps in envisioning several dynamic scenarios. It portrays the
communication between any two lifelines as a time-ordered sequence of events, such that these
lifelines took part at the run time.

Sequence diagram :-

Fig-5.3.5 Sequence Diagram

29
Software Engineering (3150711)

Chapter-6 Implementation

6.1 Introduction and Tools & Technology Used

• Front-End Technology :- HTML, CSS, Bootstrap, JavaScript, JQuery


• Backend Technology :- PHP
• Code Editor :- VS Code
• Server :- Xampp
• Web Browser :- Chrome, Micro-soft Being, etc.

6.2 Data Entry Development

Admin Login :-

<?php session_start();

include('dist/includes/dbcon.php');

if(isset($_POST['login']))
{

$user_unsafe=$_POST['username'];
$pass_unsafe=$_POST['password'];

$user = mysqli_real_escape_string($con,$user_unsafe);
$pass = mysqli_real_escape_string($con,$pass_unsafe);

/*$pass=md5($pass1);
$salt="a1Bz20ydqelm8m1wql";
$pass=$salt.$pass;*/

$query=mysqli_query($con,"select * from member where username='$user' and


password='$pass'")or die(mysqli_error($con));
$row=mysqli_fetch_array($query);

$name=$row['member_salut']." ".$row['member_first']." ".$row['member_last'];

30
Software Engineering (3150711)

$counter=mysqli_num_rows($query);
$id=$row['member_id'];
$status=$row['status'];
if ($counter == 0)
{
echo "<script type='text/javascript'>alert('Invalid Username or Password!');
document.location='index.php'</script>";
}
else
{

$query=mysqli_query($con,"select * from settings where status='active'")or


die(mysqli_error());
$row=mysqli_fetch_array($query);

$_SESSION['settings']=$row['settings_id'];
$_SESSION['term']=$row['term'];
$_SESSION['id']=$id;
$_SESSION['name']=$name;
$_SESSION['type']=$status;

if ($status=='admin')
{

echo "<script
type='text/javascript'>document.location='pages/home.php'</script>";
}
else
{

echo "<script
type='text/javascript'>document.location='pages/faculty_home.php'</script>";
}

31
Software Engineering (3150711)

// echo "<script
type='text/javascript'>document.location='pages/home.php'</script>";
}
}
?>
Faculty Schedule :-

<?php session_start();
if(empty($_SESSION['id'])):
header('Location:../index.php');
endif;?>
<?php error_reporting(0);?>
<!DOCTYPE hmtl>
<html>
<head>
<link rel="stylesheet" href="../dist/css/print.css" media="print">
<script src="../dist/js/jquery.min.js"></script>

</head>
<body>
<?php
include('../dist/includes/dbcon.php');
?>
<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function() {

window.print()

)};
</script>

<div class="wrapper_print">
<?php

$member=$_REQUEST['id'];
$sid=$_SESSION['settings'];

32
Software Engineering (3150711)

$search=mysqli_query($con,"select * from member where member_id='$member'")or


die(mysqli_error($con));
$row=mysqli_fetch_array($search);

$settings=mysqli_query($con,"select * from settings where settings_id='$sid'")or


die(mysqli_error($con));
$rows=mysqli_fetch_array($settings);

include('../dist/includes/report_header.php');
include('../dist/includes/report_body.php');
if ($_SESSION['type']=='admin')
include('../dist/includes/report_footer.php');

?>

</body>
<script src="jquery.js"></script>

</html>
Class Schedule :-
<?php session_start();
if(empty($_SESSION['id'])):
header('Location:../index.php');
endif;?>
<?php error_reporting(0);?>
<!DOCTYPE hmtl>
<html>
<head>
<link rel="stylesheet" href="../dist/css/print.css" media="print">
<script src="../dist/js/jquery.min.js"></script>

</head>
<body>
<?php
include('../dist/includes/dbcon.php');

33
Software Engineering (3150711)

?>
<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function() {

window.print()

)};
</script>

<div class="wrapper_print">
<?php
if (isset($_POST['search']))

$class=$_POST['class'];
$sid=$_SESSION['settings'];

$settings=mysqli_query($con,"select * from settings where settings_id='$sid'")or


die(mysqli_error($con));
$rows=mysqli_fetch_array($settings);

include('../dist/includes/report_header.php');
include('../dist/includes/report_body.php');
include('../dist/includes/report_footer.php');
?>

</body>
<script src="jquery.js"></script>
<script type="text/javascript">
$(function() {
$(".delete").click(function(){
var element = $(this);
var del_id = element.attr("id");
var info = 'id=' + del_id;
if(confirm("Are you sure you want to delete this?"))
{
$.ajax({

34
Software Engineering (3150711)

type: "POST",
url: "class_sched_del.php",
data: info,
success: function(){
}
});
$(this).parents(".show").animate({ backgroundColor: "#003" }, "slow")
.animate({ opacity: "hide" }, "slow");
}
return false;
});
});
</script>
</html>

Output :

Fig-6.2.1 Login Page

35
Software Engineering (3150711)

Fig-6.2.2 Dashboard

Fig-6.2.3 Faculty Details

36
Software Engineering (3150711)

Fig-6.2.4 Room Manage

Fig-6.2.5 Time Manage

37
Software Engineering (3150711)

Fig-6.2.6 Class Manage

Fig-6.2.7 Time Table Manage

38
Software Engineering (3150711)

6.3 Security Features


• Data backups are essential for the protection of data and ensuring the integrity of the
Time Table management system (TTMS).
• In these times of cyber crimes, the best way to protect data is to encrypt it. Encryption
is a process of encoding information in such a way that only authorized parties can
access the data.
• Users should have the right to access their own personal data and check its accuracy.
Instructions on how the user can access their personal data should be clear and easy to
find.
• Only a user should have access to their personal identification numbers (PINs) and
passwords stored in the TTMS.

6.4 Coding Standards

Good software development organizations want their programmers to maintain to some well-
defined and standard style of coding called coding standards. They usually make their own
coding standards and guidelines depending on what suits their organization best and based on
the types of software they develop. It is very important for the programmers to maintain the
coding standards.

Purpose of Having Coding Standards :-

• A coding standard gives a uniform appearance to the codes written by different


engineers.
• It improves readability, and maintainability of the code and it reduces complexity also.
• It helps in code reuse and helps to detect error easily.
• It promotes sound programming practices and increases efficiency of the programmers.

Some of the coding standards are given below :-

• Limited use of globals :- These rules tell about which types of data that can be declared
global and the data that can’t be.
• Naming conventions for local variables, global variables, constants and functions
:- Meaningful and understandable variables name helps anyone to understand the
reason of using it.

39
Software Engineering (3150711)

• Indentation :- Proper indentation is very important to increase the readability of the


code. For making the code readable, programmers should use White spaces properly.
• Avoid using a coding style that is too difficult to understand :- Code should be easily
understandable. The complex code makes maintenance and debugging difficult and
expensive.
• Error return values and exception handling conventions :- All functions that
encountering an error condition should either return a 0 or 1 for simplifying the
debugging.
• Inline comments :- Inline comments analyze the functioning of the subroutine, or key
aspects of the algorithm shall be frequently used.

40
Software Engineering (3150711)

Chapter-7 Software Testing

The aim of the system testing process was to determine all defects in our project. The
program was subjected to a set of test inputs and various observations were made and
based on these observations it will be decided whether the program behaves as expected
or not.
7.1 Analysis of Testing Method
Unit Testing :- Unit testing is undertaken when a module has been created and successfully
reviewed In order to test a single module we need to provide a complete environment i.e
besides the module we would require:
• The procedures belonging to other modules that the module under test calls Non
local data structures that module accesses.
• A procedure to call the functions of the module under test with appropriate
parameters.
• Unit testing was done on each and every module that is described under module
description of Test For the admin module.
Testing admin login :-
• This form is used for log in of administrator of the system. In this we enter the
username and password if both are correct administration page will open other-wise
if any of data is wrong it will get redirected back to the login page and again ask for
username and password.
• Student account addition- In this section the admin can verify student details from
student academic info and then only add student details to main library database it
contains add and delete buttons if user click add button data will be added to student
database and if he clicks delete button the student data will be deleted.
• Book Addition- Admin can enter details of book and can add the details to the main
book table also he can view the books requests.
Testing staff login :-
• This form is used for log in of staff of the system. In this we enter the username and
password if both are correct staff page will open other-wise if any of data is wrong
it will get redirected back to the login page and again ask for username and
password.
• Student account addition- In this section the staff can verify student details from
student academic info and then only add student details to main library database it

41
Software Engineering (3150711)

contains add and delete buttons if user click add button data will be added to student
database and if he clicks delete button the student data will be deleted.
Test for Student login module :-
• Test for Student login Form-This form is used for log in of Student.In this we enter the
library id, username and password if all these are correct student login page will open
otherwise if any of data is wrong it will get redirected back to the login page and again
ask for library id, username and password.
• Test for account creation- This form is used for new account creation when student does
not fill the form completely it asks again to fill the whole form when he fill the form
fully it gets redirected to page which show waiting for conformation message as his
data will be only added by administrator after verification.

White box testing:

➢ White-box testing, sometimes called glass-box testing, is a test-case design


philosophy that uses the control structure described as part of component level design
to derive test cases.
➢ Using white-box testing methods, you can derive test cases that
1. Guarantee that all independent paths within a module have been exercised at least once.
2. Exercise all logical decisions on their true and false sides.
3. Execute all loops at their boundaries and within their operational bounds.
4. Exercise internal data structures to ensure their validity.
➢ White Box Testing method is applicable to the following levels of software testing:
It is mainly applied to Unit testing and Integration testing
Unit Testing: For testing paths within a unit.
Integration Testing: For testing paths between units.
System Testing: For testing paths between subsystems.
7.2 Analysis of Test Cases

User Authentication :-

• Verify that users can log in with valid credentials.


• Check that invalid credentials result in appropriate error messages.
• Test password reset functionality.

User Roles and Permissions :

42
Software Engineering (3150711)

• Ensure that user roles (e.g., Admin , student, faculty) have the correct permissions.
• Confirm that users can only access features and data relevant to their roles.

Faculty Management :-

• Test adding, updating, and deleting Faculty in TTMS.


• Verify that Faculty information is stored correctly.
• Check for handling of duplicate.

User Profile Management :-

• Test user profile creation and modification.


• Check if users can update their contact information.
• Confirm that users can view their borrowing history.

Functional Testing:-

• Input Validation: Test cases should check if the system correctly validates inputs, such
as date, time, and room availability, to prevent invalid data from being entered.
• Scheduling: Ensure that scheduling of classes, events, or meetings works as expected,
including recurring events and one-time bookings.
• Conflict Resolution: Test for conflicts in scheduling, like double-booking a room or
assigning the same time slot to multiple events.
• Search and Retrieval: Verify that the system can accurately retrieve scheduled events
by various criteria, like date, room, or organizer.

User Interface Testing:-

• Usability: Evaluate the user interface for ease of use, including navigation, clarity of
labels, and responsiveness.
• Cross-Browser and Cross-Device Compatibility: Test the system on different web
browsers and devices to ensure it functions correctly across platforms.

Security Testing:-

• Authentication: Ensure that only authorized users can access the system. Test cases
should check login and password recovery mechanisms.
• Authorization: Verify that users have the appropriate permissions to perform actions
(e.g., only administrators can modify the master timetable).

43
Software Engineering (3150711)

Documentation Testing:-

• Verify that the system's documentation (user manuals, help guides, FAQs) is accurate
and up to date.

7.3 Cyclomatic Complexity


Cyclomatic complexity is a source code complexity measurement that is being correlated to a
number of coding errors. It is calculated by developing a Control Flow Graph of the code that
measures the number of linearly-independent paths through a program module.

Lower the Program's cyclomatic complexity, lower the risk to modify and easier to understand.
It can be represented using the below formula :-

Cyclomatic complexity = E - N + 2*P

where,

E = number of edges in the flow graph.

N = number of nodes in the flow graph.

P = number of nodes that have exit points

e.g :-

Fig-7.3.1 Cyclomatic Complexity

44
Software Engineering (3150711)

Chapter-8 Cost Estimation

Software development efficiency would alleviate the present challenges of software


production, which have resulted in cost overruns or even project cancellations. Software
engineering cost models, like any other discipline, has had its share of difficulties. The fast-
paced nature of software development has made developing parametric models that deliver
high accuracy for software development in all disciplines very challenging. S/w development
expenses are rising at an extraordinary pace, and practitioners are constantly lamenting their
inability to effectively forecast the costs involved. Software models help to describe the
development lifecycle and anticipate the cost of building a software product. Many software
estimating models have emerged during the past two decades as a result of academics'
pioneering work.

Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO is one


of the most generally used software estimation models in the world. COCOMO predicts the
efforts and schedule of a software product based on the size of the software.

8.1 Basic and Intermediate COCOMO


Basic COCOMO :-
The basic COCOMO model provide an accurate size of the project parameters. The following
expressions give the basic COCOMO estimation model:
Effort=a1*(KLOC)a2 PM
Tdev=b1*(efforts)b2 Months
Where,
KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
a1,a2,b1,b2 are constants for each group of software products,
Tdev is the estimated time to develop the software, expressed in months,
Effort is the total effort required to develop the software product, expressed in person months
(PMs).
Estimation of development effort
For the three classes of software products, the formulas for estimating the effort based on the
code size are shown below:
Organic: Effort = 2.4(KLOC) 1.05 PM
Semi-detached: Effort = 3.0(KLOC) 1.12 PM
Embedded: Effort = 3.6(KLOC) 1.20 PM

45
Software Engineering (3150711)

Estimation of development time


For the three classes of software products, the formulas for estimating the development time
based on the effort are given below:
Organic: Tdev = 2.5(Effort) 0.38 Months
Semi-detached: Tdev = 2.5(Effort) 0.35 Months
Embedded: Tdev = 2.5(Effort) 0.32 Months

Fig-8.1.1 Basic COCOMO


Intermediate COCOMO :-

The basic Cocomo model considers that the effort is only a function of the number of lines of
code and some constants calculated according to the various software systems. The
intermediate COCOMO model recognizes these facts and refines the initial estimates obtained
through the basic COCOMO model by using a set of 15 cost drivers based on various attributes
of software engineering.

46
Software Engineering (3150711)

Classification of Cost Drivers and their attributes:

(i) Product attributes -

• Required software reliability extent.


• Size of the application database.
• The complexity of the product.

(ii) Hardware attributes -

• Run-time performance constraints.


• Memory constraints.
• The volatility of the virtual machine environment.
• Required turnabout time.

(iii) Personnel attributes -

• Analyst capability.
• Software engineering capability.
• Applications experience.
• Virtual machine experience.
• Programming language experience.

(iv) Project attributes -

• Use of software tools.


• Application of software engineering methods.
• Required development schedule.

47
Software Engineering (3150711)

Fig-8.1.2 Intermediate COCOMO

8.1 FP Oriented Estimation Model

The basic and primary purpose of the functional point analysis is to measure and provide the
software application functional size to the client, customer, and the stakeholder on their request.
Further, it is used to measure the software project development along with its maintenance,
consistently throughout the project irrespective of the tools and the technologies.

Table-8.2.1 FP Attributes

Measurements Parameters Examples

1.Number of External Inputs(EI) Input screen and tables

2. Number of External Output (EO) Output screens and reports

3. Number of external inquiries (EQ) Prompts and interrupts.

4. Number of internal files (ILF) Databases and directories

5. Number of external interfaces (EIF) Shared databases and shared routines.


All the parameters mentioned above are assigned some weights that have been experimentally
determined and are shown in Table.

48
Software Engineering (3150711)

Measurement Parameter Low Average High

1. Number of external inputs (EI) 7 10 15

2. Number of external outputs (EO) 5 7 10

3. Number of external inquiries (EQ) 3 4 6

4. Number of internal files (ILF) 4 5 7

5. Number of external interfaces (EIF) 3 4 6


Table-8.2.2 Weights of FP Attributes

The functional complexities are multiplied with the corresponding weights against each
function, and the values are added up to determine the UFP (Unadjusted Function Point) of the
subsystem.

Fig-8.2.1 Weight factor of FP


The Function Point (FP) is thus calculated with the following formula :-

FP = Count-total * [0.65 + 0.01 * ∑(f i)]


= Count-total * CAF

where Count-total is obtained from the above Table.

CAF = [0.65 + 0.01 *∑(fi)]

49
Software Engineering (3150711)

and ∑(fi) is the sum of all 14 questionnaires and show the complexity adjustment value/ factor-
CAF (where i ranges from 1 to 14). Usually, a student is provided with the value of ∑(f i)

Also note that ∑(fi) ranges from 0 to 70, i.e.,

0 <= ∑(f i) <=70

and CAF ranges from 0.65 to 1.35 because

a. When ∑(fi) = 0 then CAF = 0.65

b. When ∑(fi) = 70 then CAF = 0.65 + (0.01 * 70) = 0.65 + 0.7 = 1.35

Based on the FP measure of software many other metrics can be computed:

a. Errors/FP

b. $/FP.
c. Defects/FP

d. Pages of documentation/FP
e. Errors/PM.

f. Productivity = FP/PM (effort is measured in person-months).

g. $/Page of Documentation.

8. LOCs of an application can be estimated from FPs. That is, they are interconvertible. This
process is known as backfiring. For example, 1 FP is equal to about 100 lines of COBOL
code.

9. FP metrics is used mostly for measuring the size of Management Information System
(MIS) software.

10. But the function points obtained above are unadjusted function points (UFPs). These
(UFPs) of a subsystem are further adjusted by considering some more General System
Characteristics (GSCs). It is a set of 14 GSCs that need to be considered. The procedure for
adjusting UFPs is as follows:

Degree of Influence (DI) for each of these 14 GSCs is assessed on a scale of 0 to 5. (b) If a
particular GSC has no influence, then its weight is taken as 0 and if it has a strong influence
then its weight is 5.

50
Software Engineering (3150711)

a. The score of all 14 GSCs is totaled to determine Total Degree of Influence (TDI).

b. Then Value Adjustment Factor (VAF) is computed from TDI by using the
formula: VAF = (TDI * 0.01) + 0.65

Remember that the value of VAF lies within 0.65 to 1.35 because

When TDI = 0, VAF = 0.65

a. When TDI = 70, VAF = 1.35


b. VAF is then multiplied with the UFP to get the final FP count: FP = VAF * UFP

Functional point calculation :-

We are considering the average weighting factor because our project is little bit complex.

Domain values Count Average Total

External Inputs 5 * 4 = 20

External Outputs 1 * 5 = 5

External Inquiries 5 * 4 = 20

Internal Logical 5 * 10 = 50
Files

External Interface 2 * 7 = 14

Total Counts = 109

Table-8.2.2 Function point calculation

Various processing complexity factors are: 4, 1, 0, 3, 3, 5, 4, 4, 3, 3, 2, 2, 4, 5.


Therefore ∑Fi = 4 + 1 + 0 + 3 + 5 + 4 + 4 + 3 + 3 + 2 + 2 + 4 + 5 = 43
FP = Total Count * [0.65 + 0.01 * ∑fi]

51
Software Engineering (3150711)

= 109 *[0.65 + 0.01 * 43]

= 109 * [0.65 + 0.43]

= 109 * [ 1.08 ]

= 117.72

52
Software Engineering (3150711)

Chapter-9 Conclusion and Future Enhancement

Conclusion :

After more than two months of investigation, research, analysis, design and development, the
basic management of the Time Table management system is completed. This system will be
more efficient once it has been put into practice and it will help to save time of Students and
Faculties both. It functions seamlessly in each and every aspect one can think. Being user
friendly it can be used easily by Students, admin_HOD, Faculties.

Future Enhancement :-
For future enhancement of our student management project, we have following ideas to make
it more reliable:

➢ Admin can manage student and Faculties.

➢ Admin can update/delete student and Faculties.

➢ Admin can see student progress and result reports.

➢ Admin can create a course, add courses and delete courses.

➢ Student can view their marks, result reports.

➢ Student can view Time Table.

➢ Student can download Subject/courses materials.

53

You might also like