You are on page 1of 39

TABLE OF CONTENTS

CHAPTER 1 3

INTRODUCTION 3
1.1 PROJECT OVERVIEW 3
1.2 PURPOSE 4
1.3 OBJECTIVE 4
1.4 SCOPE 4

CHAPTER 2 6

SYSTEM REQUIREMENTS SPECIFICATIONS 6


2.1 INTRODUCTION 6
2.2 PURPOSE 6
2.3 PROBLEM STATEMENT 7
2.4 ASSUMPTIONS 8
2.5 HARDWARE AND SOFTWARE REQUIREMENTS 8

CHAPTER 3 9

UML INTERACTION DIAGRAMS 9


3.1 ACTIVITY DIAGRAMS 9
3.2 SEQUENCE DIAGRAMS 12

CHAPTER 4 14

UML USE CASE MODEL 14


4.1 USER CHARACTERISTICS 14
4.2 USE CASE DIAGRAM 15
4.3 USE CASE SCENARIOS 16
CHAPTER 1

INTRODUCTION
1.1 PROJECT OVERVIEW

With the increasing automation and expanding businesses, it is very


important that the information related to our
business/institution is maintained in a better way
so that it can be used effectively as and when it is
required. This cannot be done if we do not have a
proper system in place. So, we require a system,
which would maintain all the minute details about
the business we are in, which can further be of
great help in the future.

Here, in this case the project deals with


creating a system to develop an Attendance
Management System for SDM Institute for
Management Development. This system plans to automate the
attendance process at SDM IMD, in a way that it will be easy to
access the attendance records of any student, be it student wise,
month wise, subject wise or any other such criteria. Another goal of
this project would be to maintain such details over the years instead
of just storing them in files which may be not be that useful and easy
to access. The major goal of this system is to ease and automate
the attendance management and generation of timely reports.

The system would have various features like searching students by


names, roll numbers and other such criteria in order to get their
attendance information. The faculties or the PGDM can also get to
know about the attendance of the students for a particular month, or
for a particular subject throughout the term and various other criteria.
1.2 PURPOSE

The purpose of this AMS for SDM IMD is to automate the process of
attendance recording and report generation in
order to consolidate the attendance for any
particular student, subject, or term. It would
also help the faculties to know the attendance
of a particular student for his/her course with
just a few clicks rather than going through various sheets to find out
the attendance records manually.

1.3 OBJECTIVE

The objective of this project is to reduce the manual workload and to


make the process faster and efficient. It would
also allow the faculties to view the attendance
and know about the status of various students,
as to how much regular they are for the
classes. So in a way, it also helps the PGDM or the faculties to
monitor the attendance of the students at any time and check out
their regularity for the course.

1.4 SCOPE:

The scope of the Attendance Management System can be defined in


two ways:
a. Features which are in the scope of the project
This project would contain the following features:
• Allow to add new students (for 1st yr students)
• Assign the chosen subjects to the students (2nd yr students)
• Entering attendance for a particular lecture for the students
• Viewing attendance details (reports)
• List of students who are absent for more than a specific number
of classes.

b. Features which are not in the scope of the project


• Automatic graphical representation of attendance for any given
period, student, course, term
• Statistical analysis about the attendance
c. Audience: The intended audience for the Attendance Management
System at SDM IMD would be mainly
• PGDM Office
• Faculties at SDM IMD
d. Organization: The AMS would only be applicable for SDM IMD
because of the certain features, which are customized as per the rules
and regulations of SDM IMD.
CHAPTER 2

SYSTEM REQUIREMENTS
SPECIFICATIONS
2.1 INTRODUCTION
The System Requirements Study is documented
with an aim to know the users of the system and
the basic activities to be performed by the user. It
tells more about certain constraints, which are to
be implemented in the project, as well as the rules,
which it should follow, in order to merge with the
current processes at SDM IMD so that the whole
system does not have to change.
This chapter explains the functional and non-
functional requirements of the system as well as
the hardware and software requirements. The use-
case diagrams and scenarios have also been
included in this chapter along with the various
other UML diagrams for the AMS.

2.2 PURPOSE:
• Communicates an understanding of users and their interference
with the system.
 Helps understanding the limitations, assumptions
and dependencies of the system.
2.3 PROBLEM STATEMENT
At SDM IMD, currently the attendance is taken manually on a sheet.
In that sheet, the students who are present would sign against their
names, which show that they attended the class. Then these
attendance sheets are filed and kept for further usage like knowing
the total leaves of the student for a course or any such thing. Now the
problem with this process is that to know the attendance results of a
particular student or course, the office needs to look through each
and every sheet and then only they can find out the information that
they want. This is very tedious, time consuming and may not be
accurate also.
• The new system to be designed should allow the PGDM office to
enter the data about the attendance of a particular course on a
specific date for the students who have opted for the course.The
PGDM office can only do entering the attendance details.
• If a particular student has not opted for a course, his name should
not be there in the attendance list when that course is selected for
entering the attendance.
• The date for entering the attendance cannot be more than 7 days
before the current date.
• Once the attendance for a particular course on a given date and a
particular session is entered, it should not allow the user to choose
the same combination again, as the attendance for that
combination is already entered.
• At any particular point of time, if a student has been absent for 2 or
more number of classes till the current date, a message should be
displayed telling that.
• Attendance for students of first and second years would differ
slightly because in the first year, it is assumed that all the students
are supposed to undergo all the courses offered where as in the
second year, they are allowed to choose specific courses according
to their specialization.

2.4 ASSUMPTIONS:
• One roll number can only be assigned to one student. And the
length of the roll number would not be more or less than 4 digits.
• Students, who are newly added to the
system, would only be of the 1st year so
there is no need to choose any subjects
or specializations for them.
• For second year students, it is assumed
that each and every one has to choose
some specific subjects. No limit for how many credits and subjects
they can choose are implemented in this system, as its main task is
attendance management.
• It is assumed that all the students for a particular course are
present. So only those who are absent for that particular class have
to be unchecked in the system.

2.5 HARDWARE AND SOFTWARE REQUIREMENTS


These details do not comply with the subject Object Oriented Analysis
and Design, so they do not fit into the scope of the document. As a
result, they are excluded from this.
CHAPTER 3

UML INTERACTION DIAGRAMS

3.1 ACTIVITY DIAGRAMS

An activity diagram is used to display the sequence of activities.


Activity diagrams show the workflow from a start point to the finish
point detailing the many decision paths that exist in the progression
of events contained in the activity. Activity diagrams are useful for
business modeling where they are used for detailing the processes
involved in business activities.
3.2 SEQUENCE DIAGRAMS

Sequence diagrams are used to represent or model the flow of


messages, events and actions between the objects or components of
a system. Time is represented in the vertical direction showing the
sequence of interactions of the header elements, which are displayed
horizontally at the top of the diagram.
Sequence Diagrams are used primarily to design, document and
validate the architecture, interfaces and logic of the system by
describing the sequence of actions that need to be performed to
complete a task or scenario. ML sequence diagrams are useful design
tools because they provide a dynamic view of the system behavior,
which can be difficult to extract from static diagrams or
specifications.
For the Attendance Management System, we have taken here the
sequence diagrams for three main activities of the system.
CHAPTER 4

UML USE CASE MODEL


4.1USER CHARACTERISTICS
Only two types of users would use the Attendance Management System.
• PGDM OFFICE:
○ It is responsible for the data entry
from the attendance sheets into
the system.
○ They can modify or update any
record about attendance
○ Viewing various reports about students
attendance
• FACULTY:
○ Allowed to view the details about
the students attendance
○ Take print outs of the various
reports as per their choice

• ADMINISTRATOR:
○ Adding new students to the system,
every year when the new batch
arrives
○ Allotting courses to the students
who are promoted to the second
year based on their preferences
○ Modify details about the students or delete them
4.2 USE CASE DIAGRAM
4.3 USE CASE SCENARIOS

4.3.1 LOGIN
The PGDM member or faculty navigates to the
login page, enters his or her username and
Summary
password and selects the option to login to the
system.
Importance Essential
Priority Expected
Use Always
Frequency
Direct PGDM member, Faculty, Admin
Actor(s)
Pre- The direct actors must have their account in the
requisite(s) system
Minimal System sends an error message when the direct
guarantee actor fails to login to the system
Display the home page to the respective actor who
Success
has logged in successfully.
guarantee
1.) Visit login page
Main
2.) Enter username and password
Success
3.) Select the option to login to the system
Scenario
4.) See personalized home page.
User enters incorrect username and password
Alternative
1.) The “login” page with empty fields and error
2a Scenario
message is displayed.
Extensions
2.) Perform UC-Login: Login to AMS steps 2-4.
1.) The username and password fields are
Business mandatory.
Rules/ 2.) The password should be alphanumeric and the
Constraints minimum length of password should be 6
characters.
4.3.2 ADD NEW STUDENTS

The administrator can add new students to the


system so that their names feature in the
Summary
attendance list. New students added should
automatically be added to the group 1st year.
Importance Essential
Priority Expected
Use Rarely (Once a year)
Frequency
Direct Administrator
Actor(s)
Pre- The user should be logged in.
requisite(s)
The system sends an error message if the roll
Minimal
number already exists in the system and the
guarantee
user should always be the admin of the system
Success The system will create the new user and
guarantee display appropriate message
1.) Theadmin will click on the ‘Students’ link
2.) Clicks the link “Add new students” and
navigates to the requested page.
Main Success
3.) Enters the details about the new student to
Scenario
be added.
4.) Clicks on submit button and the new
student is added.
The user roll number already exists.
Alternative 1) The same page with empty fields anderror
3a Scenario message is displayed.
Extensions 2.) Perform UC – ‘Add new students’ with a
distinct roll number
Business The user details are mandatory fields.
Rules
4.3.3 MODIFY STUDENT DETAILS
The administrator can modify the details about
the existing students in the system. These
Summary details can be either modifying the courses,
which they have opted for, or other details
about themselves.
Importance Optional
Priority Low
Use Rarely
Frequency
Direct Administrator
Actor(s)
Pre- The user should be logged in.
requisite(s)
The system sends an error message if some
Minimal
invalid info is modified and the user should
guarantee
always be the admin of the system
Success The system will modify the details and display
guarantee appropriate message
1.) The admin will click on the ‘Students’ link
2.) Clicks the link “Modify Student Details”
Main Success and navigates to the requested page.
Scenario 3.) Modifiesthe details about the student.
4.) Clicks on submit button and the details
would be modified.
Alternative The user roll number already exists.
Scenario 1) The same page with empty fields and error
Extensions message is displayed.

2.) Perform UC – ‘Modify students Details’ with


a distinct roll number
Business The user details are mandatory fields.
Rules

4.3.4 ALLOT COURSES TO 2ND YEAR STUDENTS

During the beginning of a new academic year,


Summary the PGDM would allot students, the selected
subjects of their choice.
Importance Essential
Priority Expected
Use
Rarely (Once a year)
Frequency
Direct
Administrator
Actor(s)
Pre-
The user should be logged in.
requisite(s)
The 2nd year students won’t be allotted any
Minimal
subjects and their selected subjects fields
guarantee
would remain blank
The system will create allot the subjects to
Success
each students as per their choice and fill in the
guarantee
details in the database.
1.) The admin will click on the ‘Students’ link
2.) Clicks the link “Allot Courses” and
navigates to the requested page.
Main Success 3.) Enters the details about the courses opted
Scenario by student.
4.) Clicks on submit button and the course
details are added for that student in the
system
Alternative The students’ subjects are already allotted.
1) The same page with the allotted fields
Scenario and a message is displayed.
Extensions 2) Click on update details
3) Student course details would be updated
Each second year student should have the
Business
courses assigned before the data entry of
Rules
the attendance starts.

4.3.5 ENTERING ATTENDANCE

Summary After the end of a lecture, the PGDM office has to


feed the data in to the AMS so as to keep a
record of the attendance details. It also helps in
proper maintenance of the data and helps in
information retrieval
Importance Essential
Priority Expected
Use Always
Frequency
Direct PGDM office member
Actor(s)
Pre- The user should be logged in.
requisite(s)
Minimal The student is marked present for the lecture in
guarantee case the update is not done.
Success The system will save the attendance details
guarantee about the students for a particular lecture on a
particular date by the respective faculty and the
given session no.
Main Success 1.) The member of the PGDM will click on the
Scenario ‘Attendance’ link
2.) Clicks the link “Mark Attendance” and
navigates to the requested page.
3.) Enters the details about the attendance opted
by student by selecting the date, the course,
faculty and the session no of the course.
4.) He would then see a list of all the students
who have opted for that particular course
along with checkboxes corresponding to their
names.
5.) All students who haven’t attended the
lecture, their names are unchecked and then
the details are updated.
6.) Clicks on update button and the attendance
details are added for all the students for the
given course, to the system
Alternative The students’ attendance for that particular
Scenario combination of date, course, faculty and sessions
Extensions is already entered in the system.
1) The same page with blank fields (resettled)
is shown
2) Go back to UC – Entering Attendance. Follow
steps 3-6 of the main case scenario
Business Each second year student should have the
Rules courses assigned before the data entry of the
attendance starts.

4.3.6 VIEW REPORTS


The faculty or the PGDM office member can view
various reports about the students attendance
Summary
based on various criteria like: subject wise, term
wise, student wise, and month wise.
Importance Optional
Priority Optional
Use Sometimes
Frequency
Direct PGDM member, Faculty
Actor(s)
Pre- The attendance details have to be added to the
requisite(s) system in order to view the required reports
System displays a message if no details have
Minimal
been added about the attendance as per the
guarantee
required report.
Success The details pertaining to the given criteria would
guarantee be displayed in a proper table format.
1.) The administrator clicks on the “Reports”
link.
2.) Clicks on the “View Pre defined reports” link
Main Success and navigates to the requested page.
Scenario 3.) Selects the type of report he wants from the
given ones
4.) Accordingly, the list of students is displayed
along with their attendance details.
1) Clicks on custom reports
2) Selects the parameters which are for the
Alternate
required criteria
Scenario
3) Clicks on ‘Show report’
4) The list of students would be shown
CHAPTER 5

LOGICAL DATA DESCRIPTION

5.1 LOGICAL DESCRIPTION OF DATA

1) Table Name: Student


Primary key: PgdmNo
Foreign key: CourseID References:
Course
Description: This table stores the details of the current students
of SDM IMD as well as the courses, which are opted by them in the
final year.

FIELD NAME DATA TYPE SIZE CONSTRAINTS


PgdmNo nvarchar 10 Not Null
StudentName nvarchar 50 Not Null
Year nvarchar 3 Not Null
Batch nvarchar 10 Not Null
CourseID nvarchar 10

2) Table Name: Course


Primary key: CourseID
Foreign key: FacId References:
Faculty
Description:This table contains details about the various courses
handled at SDM IMD, the corresponding faculty for the course and the
no of sessions for that course.

FIELD NAME DATA TYPE SIZE CONSTRAINTS


CourseID nvarchar 10 Not Null
CourseName nvarchar 50 Not Null
Credits Number 3 Not Null
FacID1 nvarchar 10 Not Null
FacID2 nvarchar 10
Term Number 2 Not Null

3) Table Name: Faculty


Primary key: FacId
Foreign key: None References: NA
Description: It stores the details about the various faculties at SDM
IMD, their type as in they are permanent or visiting as well as the
specialization, which they have.

FIELD NAME DATA TYPE SIZE CONSTRAINTS


FacID nvarchar 10 Not Null
FacName nvarchar 50 Not Null
Type nvarchar 15
AreaOfSpec nvarchar 20 Not Null

4) Table Name: Attendance


Primary key: PgdmNo, FacID, Date, CourseID
Foreign key:PgdmNo, FacID, CourseID
References: Student, Course, and Faculty
Description: This is the main table as it stores the most essential
data of the system. It contains a lot of references to other tables and
is largely dependent on data from other tables. There is no single
attribute that is the primary key. In fact, there are four attributes,
which together form the primary key. These four attributes when
combined, only, can give a unique identity to a row.

FIELD NAME DATA TYPE SIZE CONSTRAINTS


Date datetime - Not Null
FacID nvarchar 10 Not Null
CourseID nvarchar 10 Not Null
SessionNo nvarchar 3 Not Null
PgdmNo nvarchar 10 Not Null
5.2 CLASS DIAGRAM FOR AMS
A class diagram is a type of static structure diagram that describes
the structure of a system by showing the
system's classes, their attributes, and the
relationships between the classes. The
purpose of a class diagram is to depict the
classes within a model.
Top Package::Course
-CourseId : String
-CourseName : String
-Credits : Integer
1..* -FacId1 : String
-FacId2 : String
-Opts -Term : Integer
+Add New Courses() : Boolean
-Requires
+Modify Course Details() : Boolean
+Delete Course Details() : Boolean
*
+View All Courses() : Course
+View Courses by Faculty() : Course
1..* -Is taken by
0..* -Chosen By 1 -Required in

Top Package::Student Top Package::Attendance


-PgdmNo : String -Gets
-Date : Date
-Given to
-StudentName : String -FacId : String
-Year : String 1 1 -CourseId : String
-Batch : String -SessionNo : Integer
-CourseID : String -PgdmNo : String
+Add Students() : Boolean -Present : Byte
+Modify Student() : Boolean +Enter Attendance Details() : Boolean
+Delete Student() : Boolean +Modify Attendance() : Boolean
+View Students() : Student +View Attendance() : Attendance
+View Students by course() : Student +View Attendance by Course () : Attendance
+View Attendance by Term() : Attendance
1..* -Takes
-takes *
Top Package::Faculty
-FacId : String -is taken for
-FacName : String
-Type : String 1..*
-AreaOfSpec : String
+Add faculty() : Boolean
+Modify Fac Details() : Boolean
+Delete Faculty() : Boolean
+View Faculty Details() : Faculty
+View Faculties by Course() : Faculty
+View Faculties by Area() : Faculty
5.3 DESCRIPTION ABOUT THE CLASSES

COURSE
The course class contains various methods related to course like
adding new courses, modifying the
existing ones or deleting some
courses from the system. It also has
the method, which displays all the
courses on the page.
The methods for adding, updating or deleting the course have the
return type of Boolean because they would return whether the
corresponding methods have done the work they were allotted to do
or were unsuccessful.
The method ‘View Courses by Faculty (FacId)’ would help us in
showing the courses taken by a given faculty. It takes the ‘FacId’ as
the parameter and the return type would be an object of the type
‘Course’.
There are no sub classes or super classes for Course.All the methods
are declared as ‘Public’ methods.
STUDENT
The student class contains the details about the students and the
courses they have opted for (for 2nd year students). It contains
methods, which allow showing the list of all the students. It also
contains methods, which allow adding, modifying or deleting the
details about the students.
The method ‘View Students by Course ()’ allows getting the list of
students who have taken a particular course, which helps to generate
the list of students during the attendance entries.
There are no sub classes or super classes for Course. All the methods
are declared as ‘Public’ methods.
ATTENDANCE
The attendance class is the core of the system and does the most
important task of marking the attendance of the students and is also
responsible for major part of the report generation.
The main method of this class is ‘Enter Attendance ()’. It allows
adding the attendance details to the database. This class has to fetch
details from all the other classes and then add these details to the
database. It also contains methods to ‘view attendance details’ as
well as to modify them.
For the report generation, this class will contain methods like, ‘Get
Attendance by Course (CourseId)’ or ‘Get Attendance term wise (term
No)’, etc. which helps the retrieval of the data in a more efficient and
faster manner.
There are no sub classes or super classes for Course. All the methods
are declared as ‘Public’ methods.
FACULTY
This class is just to get and set the details about the faculties by
using methods like ‘Add Faculty Details()’ or ‘Modify Faculty Details
()’. It also helps in displaying the list of faculties in the system by
using the ‘View Faculties ()’ method.
For special purposes like viewing some specific faculties based on the
course, it has the function ‘View Faculties by Course (CourseId)’ which
will give the faculties that take a particular course. It also has ‘View
Faculties by Area (AreaOfSpec)’ which will give a list of all the
faculties belonging to a particular area of specialization.
CHAPTER 6

IMPLEMENTATION
ENVIRONMENT

6.1 ARCHITECTURE USED

The architecture to be used for the development


and implementation of the Attendance
management system would be a 3-tier
architecture, keeping in mind, the future
scalability of the system. So it contains three
layers as shown in the deployment diagram.
•Presentation layer:Contains the web pages to be
delivered to the browser as and when requested.This layer handles
everything to do with the presentation of your system.
• Business layer: It contains the business rules about the
Attendance Management System as well. They neither access data
(except through the data layer) nor do they bother with the display
or presentation of this data to the user
• Data Layer: Contains the database as well as the data access
layer which manages the transactions of data to and from the
database. It also contains the stored procedures related to the
various common tasks of the Attendance management system
6.2 DEPLOYMENT DIAGRAM

Da
ta
La
yer

Bu
s
La
yer
Printer

CHAPTER 7

TESTING

7.1 INTRODUCTION

A software project test plan is a document that describes the


objectives, scope, approach, and focus of a software testing effort.
The process of preparing a test plan is a useful way to think through
the efforts needed to validate the acceptability of a software product.
The completed document will help people outside the test group
understand the 'why' and 'how' of product validation
For this project, the majority of the testing would be ‘Black Box
Testing’. Various test cases would be prepared based on the
requirements to verify whether they are as per the needs. These test
cases prove to be a support while considering the quality of the
software.

7.2 SCOPE

All the testing will be done according to the program specifications


and requirement study document. Each of the requirements,
mentioned in the Requirement analysis is tested by unit testing,
which also indirectly does the requirements validation. We will be
carrying out Unit Testing, Integration testing, and System Testing. All
the testing will be manual and no automated testing tool will be used.
7.3 TESTING APPROACH

The Flow of the testing is described below.

• Unit testing – Individual modules will be tested


independently to ensure that they operate
correctly.
• System testing – System testing will be done to test whether the
system is working according to the requirement study document.
• Integration testing – Integration testing will be done to test
whether the system is working according to the program
specifications when the modules are integrated.

7.4 TESTS TO BE PERFORMED:


• Screen contains all data • Range validation
elements

• Test for standardization • Default value validation


• Fonts (size/ type/ style) • Computational Test

• Alignment • Navigational test

• Color combination • Data type validation

• Validation on each data • Test for data update


element

• Test for functions/ procedures


used
7.5 TESTING FOR THE ATTENDANCE MANAGEMENT
SYSTEM

Various test cases, as the one shown below would be prepared


corresponding to each of the activities of the
system to check whether they are functioning
properly or not. Extensive tests are done on the
system and finally, those tests which fail are
recorded in the test cases records, which would then be rectified.

For each of the use case scenario, there would be a corresponding


test case which would verify and validate the functionality. So for
Attendance Management System, there would be in all around 6 test
case which would be required for the complete functionality of the
system

SAMPLE TEST CASE

Test Test Pass/F


Pre- Expected Actual
Case Case Process ail
condition Result Result
Id Name (P/F)

Login Login User should Enter Login Name Login Name P


_01 Name be Login should be textbox is
Text Box administrat Name entered in filled with
or, faculty and hit the Login entered login
or PGDM on Tab textbox and name and
member key control control goes
should go to the
to the Password
Password textbox on
textbox on hitting Tab
hitting Tab key.
key

Various such test cases would be prepared to check the quality of the
system.

7.6 A PROTOTYPE

Shown below is a prototype of the Attendance Management Systems


main page which shows the core function of the system i.e. the
Attendance entry. This is just for the developers to know how the core
functionality should be featuring in the system