SE Report (TTMS-01 Final)
SE Report (TTMS-01 Final)
SE Report (TTMS-01 Final)
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
TABLE OF CONTENTS
CERTIFICATE
ACKNOWLEDGEMENT I
ABSTRACT II
LIST OF FIGURES V
LIST OF TABLES VI
Chapter 1 Introduction 1
Chapter 2 Study and Analysis of System Development Life Cycle and Process 3
Models
1
Software Engineering (3150711)
Chapter 6 Implementation 25
2
Software Engineering (3150711)
LIST OF FIGURES
FIGURE NO. FIGURE NAME PAGE NO
3
Software Engineering (3150711)
LIST OF TABLES
TABLE NO. TABLE NAME PAGE NO
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:
5
Software Engineering (3150711)
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.
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.
6
Software Engineering (3150711)
7
Software Engineering (3150711)
8
Software Engineering (3150711)
This approach includes project definitions , analysis of the system, system design,
development, testing, deployment and maintenance.
Process Models :
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)
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.
11
Software Engineering (3150711)
To schedule the project plan, a software project manager wants to do the following:
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.
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)
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 :-
14
Software Engineering (3150711)
15
Software Engineering (3150711)
• 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
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)
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 :-
Admin Module :-
Faculty Module :-
Subject Modual :-
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 :-
Room Modual :-
21
Software Engineering (3150711)
Level 0 DFD :-
22
Software Engineering (3150711)
Level 1 DFD :-
23
Software Engineering (3150711)
Level 2 DFD :-
24
Software Engineering (3150711)
Class Diagram :-
25
Software Engineering (3150711)
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 :-
27
Software Engineering (3150711)
28
Software Engineering (3150711)
Sequence diagram :-
29
Software Engineering (3150711)
Chapter-6 Implementation
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;*/
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
{
$_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)
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'];
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 :
35
Software Engineering (3150711)
Fig-6.2.2 Dashboard
36
Software Engineering (3150711)
37
Software Engineering (3150711)
38
Software Engineering (3150711)
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.
• 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)
40
Software Engineering (3150711)
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.
User Authentication :-
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 :-
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.
• 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.
Lower the Program's cyclomatic complexity, lower the risk to modify and easier to understand.
It can be represented using the below formula :-
where,
e.g :-
44
Software Engineering (3150711)
45
Software Engineering (3150711)
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)
• Analyst capability.
• Software engineering capability.
• Applications experience.
• Virtual machine experience.
• Programming language experience.
47
Software Engineering (3150711)
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
48
Software Engineering (3150711)
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.
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)
b. When ∑(fi) = 70 then CAF = 0.65 + (0.01 * 70) = 0.65 + 0.7 = 1.35
a. Errors/FP
b. $/FP.
c. Defects/FP
d. Pages of documentation/FP
e. Errors/PM.
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
We are considering the average weighting factor because our project is little bit complex.
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
51
Software Engineering (3150711)
= 109 * [ 1.08 ]
= 117.72
52
Software Engineering (3150711)
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:
53