SlideShare a Scribd company logo
Report on
IIT Academic Automation System
SE 801: Project
Jobayer Ahmmed
BSSE 0502
Report on IIT Academic Automation System
Report on
IIT Academic Automation System
SE 801: Project
Supervised by –
Md. Nurul Ahad Tawhid
Assistant Professor
Submitted by –
Jobayer Ahmmed
BSSE 0502
Institute of Information Technology
University of Dhaka
November 15, 2016
Report on IIT Academic Automation System
Letter of Transmittal
November 15, 2016
Program Committee
Institute of Information Technology
University of Dhaka
Subject: Submission of Project Report
Sir:
I have prepared the enclosed report on the project “IIT Academic Automation System”
for your approval. This report describes the requirements, analysis of the
requirements, designs and testing details of the project.
The primary purpose of this document is creating a through report for the project we
are doing for our course SE 801: Project. This report includes the details of each steps
we followed to complete the project.
Sincerely yours,
-----------------------------------
Jobayer Ahmmed
BSSE 0502
Institute of Information Technology
University of Dhaka
Enclosure: Final Report
Report on IIT Academic Automation System
Letter of Endorsement
This report has been written by Jobayer Ahmmed, BSSE 0502, Institute of
Information Technology, University of Dhaka.
The report has been prepared under the permission of the supervisor and the data
are based on the actual outcomes.
----------------------------------
Md. Nurul Ahad Tawhid
Assistant Professor
Institute of Information Technology
University of Dhaka
Report on IIT Academic Automation System
Acknowledgement
I express my heartiest gratitude to Almighty Allah to complete the report on IIT
Academic Automation System in time and without hassles.
I would like to thank my project supervisor Md. Nurul Ahad Tawhid for his valuable
supervision, advice, instruction and time throughout the project.
Report on IIT Academic Automation System
Table of Contents
Chapter 1 Project Proposal------------------------------------------------------------------------------ 1
1.1 Overview ---------------------------------------------------------------------------------------------- 1
1.1.1 Background------------------------------------------------------------------------------------- 1
1.1.2 Objectives --------------------------------------------------------------------------------------- 1
1.1.3 Scope---------------------------------------------------------------------------------------------- 1
1.1.4 Key Challenges-------------------------------------------------------------------------------- 2
1.1.5 Dependencies and Risks-------------------------------------------------------------------- 2
1.2 Tools and Technologies --------------------------------------------------------------------------- 2
1.3 Project Delivery------------------------------------------------------------------------------------- 3
1.3.1 Deliverables ------------------------------------------------------------------------------------ 3
1.3.2 Timescales -------------------------------------------------------------------------------------- 3
1.4 Summary---------------------------------------------------------------------------------------------- 4
Chapter 2 Software Requirements Specification & Analysis -------------------------------- 5
2.1 Introduction------------------------------------------------------------------------------------------ 5
2.1.1 Purpose ------------------------------------------------------------------------------------------ 5
2.1.2 Intendent Audiences------------------------------------------------------------------------- 5
2.1.3 Document Conventions --------------------------------------------------------------------- 6
2.2 Inception ---------------------------------------------------------------------------------------------- 7
2.2.1 Identifying Stakeholders------------------------------------------------------------------- 7
2.2.2 Asking the First Questions---------------------------------------------------------------- 8
2.2.3 Recognizing Multiple Viewpoints ------------------------------------------------------- 8
2.2.4 Working toward Collaboration ----------------------------------------------------------- 9
2.3 Requirements Elicitation ---------------------------------------------------------------------- 11
2.3.1 Collaborative Requirements Gathering --------------------------------------------- 11
2.3.2 Quality Function Deployment---------------------------------------------------------- 11
2.3.3 Usage Scenario ------------------------------------------------------------------------------ 12
2.4 Scenario-based Model--------------------------------------------------------------------------- 15
2.4.1 Use Case Scenario-------------------------------------------------------------------------- 15
2.4.2 Use Case Description---------------------------------------------------------------------- 16
Report on IIT Academic Automation System
2.4.2.1 User Profile Management------------------------------------------------------- 19
2.4.2.1.1 Create User---------------------------------------------------------------------- 22
2.4.2.1.2 View Account Info ------------------------------------------------------------- 25
2.4.2.1.3 Update User Profile----------------------------------------------------------- 26
2.4.2.1.4 View Users----------------------------------------------------------------------- 28
2.4.2.1.5 Change Account Status------------------------------------------------------ 29
2.4.2.2 Batch & Semester Management ---------------------------------------------- 30
2.4.2.2.1 Create Batch -------------------------------------------------------------------- 33
2.4.2.2.2 View Batches of a Program------------------------------------------------- 37
2.4.2.2.3 Change Student Status------------------------------------------------------ 38
2.4.2.2.4 Allocate Students to Semester -------------------------------------------- 40
2.4.2.2.5 Edit Student Allocation of a Semester---------------------------------- 41
2.4.2.2.6 View Students According to Semester---------------------------------- 43
2.4.2.2.7 View Students According to Batch--------------------------------------- 45
2.4.2.3 Course Management -------------------------------------------------------------- 46
2.4.2.3.1 Create Course------------------------------------------------------------------- 50
2.4.2.3.2 Edit Course---------------------------------------------------------------------- 51
2.4.2.3.3 View Courses of a Program------------------------------------------------- 54
2.4.2.3.4 Allocate Courses to Semester---------------------------------------------- 55
2.4.2.3.5 Edit Course Allocation------------------------------------------------------- 56
2.4.2.3.6 View Courses of a Semester------------------------------------------------ 58
2.4.2.3.7 Allocate Teachers to Course------------------------------------------------ 60
2.4.2.3.8 Edit Teacher Allocation ----------------------------------------------------- 61
2.4.2.3.9 View Teaches of a Course--------------------------------------------------- 63
2.4.2.3.10 Allocate Students to Course ---------------------------------------------- 65
2.4.2.3.11 Edit Student Allocation to Course-------------------------------------- 68
2.4.2.3.12 View Students of a Course------------------------------------------------ 69
2.4.2.4 Course Content Management-------------------------------------------------- 71
2.4.2.4.1 Upload Course Content------------------------------------------------------ 73
2.4.2.4.2 View Contents of a Course-------------------------------------------------- 76
2.4.2.4.3 Download Content------------------------------------------------------------- 78
Report on IIT Academic Automation System
2.4.2.4.4 Delete Content ----------------------------------------------------------------- 79
2.5 Data Model ----------------------------------------------------------------------------------------- 82
2.5.1 Data Objects and Attributes ------------------------------------------------------------ 82
2.5.2 Relationships between Data Objects ------------------------------------------------- 84
2.5.3 Entity-Relationship Diagram----------------------------------------------------------- 86
2.5.4 Schema----------------------------------------------------------------------------------------- 88
2.6 Class-Based Modeling -------------------------------------------------------------------------- 91
2.6.1 Identifying Analysis Classes------------------------------------------------------------ 91
2.6.2 Specifying Attributes---------------------------------------------------------------------- 92
2.6.3 Defining Operations ----------------------------------------------------------------------- 93
2.6.4 Class Diagram------------------------------------------------------------------------------- 93
2.6.5 Class-Responsibility-Collaborator (CRC) Modeling ----------------------------- 95
2.7 Behavioral Model--------------------------------------------------------------------------------- 97
2.7.1 State Diagram ------------------------------------------------------------------------------- 97
2.7.1.1 State Diagram: User -------------------------------------------------------------- 98
2.7.1.2 State Diagram: Batch------------------------------------------------------------- 99
2.7.1.3 State Diagram: Semester-------------------------------------------------------100
2.7.1.4 State Diagram: Course----------------------------------------------------------101
2.7.1.5 State Diagram: Content --------------------------------------------------------102
2.7.2 Sequence Diagram ------------------------------------------------------------------------103
2.7.2.1 Sequence Diagram: User -------------------------------------------------------103
2.7.2.2 Sequence Diagram: Batch------------------------------------------------------104
2.7.2.3 Sequence Diagram: Semester -------------------------------------------------105
2.7.2.4 Sequence Diagram: Course ----------------------------------------------------106
2.7.2.5 Sequence Diagram: Content---------------------------------------------------107
Chapter 3 Architectural Design --------------------------------------------------------------------108
3.1 Architectural Context Diagram-------------------------------------------------------------108
3.2 Archetypes-----------------------------------------------------------------------------------------108
3.3 Refining the Architecture into Components --------------------------------------------109
Chapter 4 User Interface Design-------------------------------------------------------------------111
4.1 UIs for IIT Academic Automation System ----------------------------------------------111
Report on IIT Academic Automation System
4.1.1 Log In------------------------------------------------------------------------------------------111
4.1.2 Forgot Password ---------------------------------------------------------------------------112
4.1.3 Admin Home Page ------------------------------------------------------------------------113
4.1.4 Teacher Home Page-----------------------------------------------------------------------114
4.1.5 Student Home Page-----------------------------------------------------------------------115
4.1.6 User Profile----------------------------------------------------------------------------------116
4.1.7 Change Password--------------------------------------------------------------------------117
4.1.8 Teacher List ---------------------------------------------------------------------------------118
4.1.9 User List--------------------------------------------------------------------------------------119
4.1.10 Register Teacher -------------------------------------------------------------------------120
4.1.11 Register User------------------------------------------------------------------------------121
4.1.12 Set Role -------------------------------------------------------------------------------------122
4.1.13 Change Email -----------------------------------------------------------------------------123
4.1.14 Batch List ----------------------------------------------------------------------------------124
4.1.15 Create Batch ------------------------------------------------------------------------------125
4.1.16 Course List---------------------------------------------------------------------------------126
4.1.17 Create Course-----------------------------------------------------------------------------127
4.1.18 Batch Details------------------------------------------------------------------------------128
4.1.19 Admit Students---------------------------------------------------------------------------129
4.1.20 Current Student List -------------------------------------------------------------------130
4.1.21 Admitted Student List -----------------------------------------------------------------131
4.1.22 Update Current Semester-------------------------------------------------------------132
4.1.23 Update Batch Status--------------------------------------------------------------------133
4.1.24 Semester Details -------------------------------------------------------------------------134
4.1.25 Allocate Students to Semester-------------------------------------------------------135
4.1.26 Allocate Courses to Semester --------------------------------------------------------136
4.1.27 Offered Course List ---------------------------------------------------------------------137
4.1.28 Add Students to Course----------------------------------------------------------------138
4.1.29 Add Teacher to Course -----------------------------------------------------------------139
4.1.30 Download Course Content ------------------------------------------------------------140
4.1.31 Upload Course Content ----------------------------------------------------------------141
Report on IIT Academic Automation System
Chapter 5 Software Testing--------------------------------------------------------------------------142
5.1 Test Plan -------------------------------------------------------------------------------------------142
5.2 Test Case-------------------------------------------------------------------------------------------142
5.2.1 Test Case 1 ----------------------------------------------------------------------------------142
5.2.2 Test Case 2 ----------------------------------------------------------------------------------143
5.2.3 Test Case 3 ----------------------------------------------------------------------------------143
5.2.4 Test Case 4 ----------------------------------------------------------------------------------143
5.2.5 Test Case 5 ----------------------------------------------------------------------------------144
5.2.6 Test Case 6 ----------------------------------------------------------------------------------144
5.2.7 Test Case 7 ----------------------------------------------------------------------------------145
5.2.8 Test Case 8 ----------------------------------------------------------------------------------145
5.2.9 Test Case 9 ----------------------------------------------------------------------------------146
5.2.10 Test Case 10 -------------------------------------------------------------------------------146
5.2.11 Test Case 11 -------------------------------------------------------------------------------147
5.2.12 Test Case 12 -------------------------------------------------------------------------------147
5.2.13 Test Case 13 -------------------------------------------------------------------------------147
5.2.14 Test Case 14 -------------------------------------------------------------------------------148
5.2.15 Test Case 15 -------------------------------------------------------------------------------148
5.2.16 Test Case 16 -------------------------------------------------------------------------------149
5.2.17 Test Case 17 -------------------------------------------------------------------------------150
5.2.18 Test Case 18 -------------------------------------------------------------------------------150
5.2.19 Test Case 19 -------------------------------------------------------------------------------151
5.2.20 Test Case 20 -------------------------------------------------------------------------------151
Chapter 6 User Manual -------------------------------------------------------------------------------153
6.1 Getting Started ----------------------------------------------------------------------------------153
6.2 User Management ------------------------------------------------------------------------------155
6.2.1 Log In------------------------------------------------------------------------------------------155
6.2.2 Sign Out --------------------------------------------------------------------------------------155
6.2.3 Forgot Password ---------------------------------------------------------------------------156
6.2.4 Update User Profile-----------------------------------------------------------------------158
6.2.5 Change Password--------------------------------------------------------------------------160
Report on IIT Academic Automation System
6.2.6 Create User----------------------------------------------------------------------------------162
6.2.7 Set User Role -------------------------------------------------------------------------------162
6.2.8 Change Email of User--------------------------------------------------------------------163
6.2.9 Create Teacher -----------------------------------------------------------------------------164
6.2.10 Edit Role Name---------------------------------------------------------------------------164
6.3 Batch Management-----------------------------------------------------------------------------165
6.3.1 Create Batch --------------------------------------------------------------------------------165
6.3.2 Admit Students ----------------------------------------------------------------------------165
6.3.3 Update Current Semester of a Batch -----------------------------------------------166
6.3.4 Change Batch Status---------------------------------------------------------------------167
6.4 Semester Management ------------------------------------------------------------------------167
6.4.1 Allocate Students to Semester --------------------------------------------------------168
6.4.2 Allocate Courses to Semester----------------------------------------------------------168
6.4.3 Allocate Students to Course of a Semester----------------------------------------169
6.4.4 Allocate Teachers to Course of a Semester----------------------------------------170
6.5 Course Management ---------------------------------------------------------------------------171
6.5.1 Create Course of a Program------------------------------------------------------------171
6.5.2 Upload Course Content------------------------------------------------------------------172
6.5.3 Download Course content---------------------------------------------------------------172
Chapter 7 Conclusion ----------------------------------------------------------------------------------174
Chapter 8 References ----------------------------------------------------------------------------------175
List of Tables
Table 2.1 Use case scenario --------------------------------------------------------------------------- 16
Table 2.2 Data objects and attributes ------------------------------------------------------------- 83
Table 2.3 Potential classes ---------------------------------------------------------------------------- 92
Table of Figures
Figure 1.1 Timescale -------------------------------------------------------------------------------------- 3
Figure 1.2 Gantt chart of timescale ------------------------------------------------------------------ 3
Report on IIT Academic Automation System
Figure 2.1 Use case diagram – IIT Academic Automation System----------------------- 17
Figure 2.2 Use case diagram (elaborated) – IIT Academic Automation System----- 18
Figure 2.3 Use case diagram – User profile management ---------------------------------- 19
Figure 2.4 Activity diagram – User profile management ----------------------------------- 20
Figure 2.5 Swimlane diagram – User profile management--------------------------------- 21
Figure 2.6 Activity diagram - Create user ------------------------------------------------------- 23
Figure 2.7 Swimlane diagram - Create user----------------------------------------------------- 24
Figure 2.8 Activity diagram - View account info ----------------------------------------------- 25
Figure 2.9 Swimlane diagram - View account info -------------------------------------------- 26
Figure 2.10 Activity diagram - Update user profile------------------------------------------- 27
Figure 2.11 Activity diagram - View users------------------------------------------------------- 28
Figure 2.12 Activity diagram - Change account status -------------------------------------- 30
Figure 2.13 Use case diagram - Batch & semester Management------------------------- 31
Figure 2.14 Activity diagram – Batch & semester management ------------------------- 32
Figure 2.15 Swimlane diagram – Batch & semester management ---------------------- 33
Figure 2.16 Activity diagram- Create batch----------------------------------------------------- 35
Figure 2.17 Swimlane diagram - Create batch ------------------------------------------------- 36
Figure 2.18 Activity diagram - View batches of a program--------------------------------- 38
Figure 2.19 Activity diagram - Change student status -------------------------------------- 39
Figure 2.20 Activity diagram - Allocate students to semester----------------------------- 41
Figure 2.21 Activity diagram - Edit student allocation of a semester------------------- 43
Figure 2.22 Activity diagram - View students according to semester------------------- 44
Figure 2.23 Activity diagram - View students according to batch------------------------ 45
Figure 2.24 Use case diagram - Course management ---------------------------------------- 47
Figure 2.25 Activity diagram – Course management ---------------------------------------- 48
Figure 2.26 Swimlane diagram – Course management-------------------------------------- 49
Figure 2.27 Activity diagram - Create course--------------------------------------------------- 51
Figure 2.28 Activity diagram - Edit course ------------------------------------------------------ 53
Figure 2.29 Activity diagram - View courses of a program --------------------------------- 54
Figure 2.30 Activity diagram - Allocate courses to semester------------------------------- 56
Figure 2.31 Activity diagram - Edit course allocation---------------------------------------- 58
Figure 2.32 Activity diagram - View courses of a semester--------------------------------- 59
Figure 2.33 Activity diagram - Allocate teachers to course--------------------------------- 61
Figure 2.34 Activity diagram - Edit teacher allocation -------------------------------------- 63
Figure 2.35 Activity diagram - View teachers of a course----------------------------------- 65
Figure 2.36 Activity diagram - Allocate students to course -------------------------------- 67
Figure 2.37 Activity diagram - Edit student allocation to course------------------------- 69
Figure 2.38 Activity diagram - View students of a course ---------------------------------- 70
Figure 2.39 Use case diagram - Course content management----------------------------- 71
Figure 2.40 Activity diagram – Course content management ----------------------------- 72
Figure 2.41 Swimlane diagram – Course content management -------------------------- 73
Report on IIT Academic Automation System
Figure 2.42 Activity diagram - Upload course content--------------------------------------- 75
Figure 2.43 Swimlane diagram - Upload course content ------------------------------------ 76
Figure 2.44 Activity diagram - View contents of a course----------------------------------- 77
Figure 2.45 Swimlane diagram - View course contents-------------------------------------- 78
Figure 2.46 Activity diagram - Download content--------------------------------------------- 79
Figure 2.47 Activity diagram - Delete content-------------------------------------------------- 80
Figure 2.48 Data objects and attributes ---------------------------------------------------------- 84
Figure 2.49 Relationships between data objects ----------------------------------------------- 85
Figure 2.50 E-R diagram of IIT Academic Automation System--------------------------- 87
Figure 2.51 Class Diagram---------------------------------------------------------------------------- 94
Figure 2.52 State diagram for the User class --------------------------------------------------- 98
Figure 2.53 State diagram for the Batch class-------------------------------------------------- 99
Figure 2.54 State diagram for the Semester class--------------------------------------------100
Figure 2.55 State diagram for the Course class -----------------------------------------------101
Figure 2.56 State diagram for the Content class---------------------------------------------102
Figure 2.57 Sequence diagram for the User class --------------------------------------------103
Figure 2.58 Sequence diagram for the Batch class-------------------------------------------104
Figure 2.59 Sequence diagram for the Semester class --------------------------------------105
Figure 2.60 Sequence diagram for the Course class -----------------------------------------106
Figure 2.61 Sequence diagram for the Content class----------------------------------------107
Figure 3.1 Architectural Context Diagram -----------------------------------------------------108
Figure 3.2 Archetype of IIT Academic Automation System -------------------------------109
Figure 3.3 Architectural Structure of User Management----------------------------------109
Figure 3.4 Architectural Structure of Batch Management --------------------------------110
Figure 3.5 Architectural Structure of Course Management-------------------------------110
Figure 4.1 Log In page---------------------------------------------------------------------------------111
Figure 4.2 Forgot password page ------------------------------------------------------------------112
Figure 4.3 Admin home page------------------------------------------------------------------------113
Figure 4.4 Teacher home page ----------------------------------------------------------------------114
Figure 4.5 Student home page ----------------------------------------------------------------------115
Figure 4.6 User profile page -------------------------------------------------------------------------116
Figure 4.7 Change password page -----------------------------------------------------------------117
Figure 4.8 Teacher list page -------------------------------------------------------------------------118
Figure 4.9 User list page------------------------------------------------------------------------------119
Figure 4.10 Register teacher page -----------------------------------------------------------------120
Figure 4.11 Register user page ---------------------------------------------------------------------121
Figure 4.12 Set role page -----------------------------------------------------------------------------122
Figure 4.13 Change email page---------------------------------------------------------------------123
Figure 4.14 Batch list page --------------------------------------------------------------------------124
Figure 4.15 Create batch page ----------------------------------------------------------------------125
Figure 4.16 Course list page-------------------------------------------------------------------------126
Report on IIT Academic Automation System
Figure 4.17 Create course page---------------------------------------------------------------------127
Figure 4.18 Batch details page----------------------------------------------------------------------128
Figure 4.19 Admit student page--------------------------------------------------------------------129
Figure 4.20 Current student list page------------------------------------------------------------130
Figure 4.21 Admitted student list page----------------------------------------------------------131
Figure 4.22 Update current semester of a batch ----------------------------------------------132
Figure 4.23 Update batch status page------------------------------------------------------------133
Figure 4.24 Semester details page-----------------------------------------------------------------134
Figure 4.25 Allocate students to semester page-----------------------------------------------135
Figure 4.26 Allocate courses to semester page-------------------------------------------------136
Figure 4.27 Offered course list page --------------------------------------------------------------137
Figure 4.28 Add students to course page --------------------------------------------------------138
Figure 4.29 Add teacher to course page----------------------------------------------------------139
Figure 4.30 Download course content page -----------------------------------------------------140
Figure 4.31 Upload course content page---------------------------------------------------------141
Figure 6.1 Home page before log in ---------------------------------------------------------------153
Figure 6.2 Home page of admin --------------------------------------------------------------------154
Figure 6.3 Log In page---------------------------------------------------------------------------------155
Figure 6.4 User name----------------------------------------------------------------------------------155
Figure 6.5 Sign out -------------------------------------------------------------------------------------156
Figure 6.6 Forgot password--------------------------------------------------------------------------156
Figure 6.7 Email for forgot password-------------------------------------------------------------157
Figure 6.8 Reset password email-------------------------------------------------------------------157
Figure 6.9 Reset password form--------------------------------------------------------------------158
Figure 6.10 User menu --------------------------------------------------------------------------------159
Figure 6.11 User profile-------------------------------------------------------------------------------159
Figure 6.12 Edit user profile-------------------------------------------------------------------------160
Figure 6.13 Change password-----------------------------------------------------------------------161
Figure 6.14 Change password form ---------------------------------------------------------------161
Figure 6.15 Create User ------------------------------------------------------------------------------162
Figure 6.16 Set user role------------------------------------------------------------------------------163
Figure 6.17 Change user email ---------------------------------------------------------------------163
Figure 6.18 Create teacher---------------------------------------------------------------------------164
Figure 6.19 Edit role name---------------------------------------------------------------------------164
Figure 6.20 Batch list of BSSE program---------------------------------------------------------165
Figure 6.21 Create batch -----------------------------------------------------------------------------165
Figure 6.22 Admit students--------------------------------------------------------------------------166
Figure 6.23 Update current semester of batch ------------------------------------------------166
Figure 6.24 Change batch status-------------------------------------------------------------------167
Figure 6.25 List of batches and semesters of a program -----------------------------------167
Figure 6.26 Semester of a batch--------------------------------------------------------------------168
Report on IIT Academic Automation System
Figure 6.27 Allocate students to semester ------------------------------------------------------168
Figure 6.28 Allocate courses to semester --------------------------------------------------------169
Figure 6.29 Offered courses of a semester ------------------------------------------------------170
Figure 6.30 Eligible students to add to a course ----------------------------------------------170
Figure 6.31 BSSE Course list -----------------------------------------------------------------------171
Figure 6.32 Create course of a program ---------------------------------------------------------172
Report on IIT Academic Automation System
Page | xvi
Executive Summary
The purpose of IIT Academic Automation System is to automate the manual academic
system of IIT. It is a web-based system where students, teachers and program officers
can collaborate the academic works of IIT. Students can view the courses, course
teachers and course contents, teachers can manage course contents of different
programs, and program officers can manage students, teachers and courses of
different programs, batches and semesters. This document will provide the details of
the development life cycle of the project.
Report on IIT Academic Automation System
Page | 1
Chapter 1 Project Proposal
This chapter contains the proposal of the project IIT Academic Automation System.
1.1 Overview
This document contains the brief description of IIT Academic Automation System
which will be developed for the course: SE-801 Project. It also describes project
objectives, scope of the project, key challenges, tools and technologies, deliverables
and timescales.
1.1.1 Background
Institute of Information Technology (IIT), University of Dhaka creates efficient
manpower in information technology. IIT currently offers Bachelor of Science in
Software Engineering (BSSE), Master of Science in Software Engineering (MSSE),
Master in Information Technology (MIT) and Post Graduate Diploma in Information
Technology (PGDIT).
IIT has to do a lot of works manually to run these programs. It has become necessary
for IIT to automate these works. IIT Academic Automation System will automate
some of these works.
1.1.2 Objectives
The objectives of the project are –
 To implement the learnings of the previous seven semesters.
 To develop a software product following complete software engineering
processes – requirements specification, software design, testing etc.
 To follow appropriate design patterns, algorithms and software practices.
 To learn how to adapt with new technologies and implement them.
 To understand a real-life software project.
1.1.3 Scope
Here are the scopes of the project -
 The application will be developed for the use of IIT, University of Dhaka.
 Students, teachers, program officer and accountant of IIT will use the
application.
Report on IIT Academic Automation System
Page | 2
 The application will provide facilities to the users to manage courses in
different semesters, assign courses to students, manage students of different
batch, academic year and semester, manage contents of the courses, and keep
track of students’ semester fee payment.
Our activities in the IIT Academic Automation System are –
 Management of user account: create and initiate users according to user role
in the system.
 Management of user profile: update user profile information, change password
etc.
 Course management: create and initialize courses, allocate students and
teachers to course and allocate courses to semester.
 Management of batch, academic year and semester: create batch, allocate
students to batch, academic year and semester.
 Course content management: store and manage course contents uploaded by
course teachers.
 Keeping track of semester fee payment: update payment status, show status
to student.
1.1.4 Key Challenges
We have to complete the project following the standard software engineering
processes. We also have to learn new technologies and tools, and implement them in
the project.
1.1.5 Dependencies and Risks
The project is divided into two subsystems which will be developed by two individuals.
There has data dependency on each subsystem to another. One subsystem’s output
may be the input of another subsystem.
The estimated size of the project is large enough compared to available time. It is a
risk to complete and deliver the project within time.
1.2 Tools and Technologies
We will use the following tools and technologies –
 ASP.Net MVC
 Entity Framework
 SQL Server Express 2014
 Visual Studio 2015
 Git
Report on IIT Academic Automation System
Page | 3
1.3 Project Delivery
This project will be developed according to a timescale. After developing, this will be
submitted with necessary deliverables.
1.3.1 Deliverables
I will deliver the product with necessary contents. The following contents will be
delivered –
 Project with source code
 User manual
 Documentation
1.3.2 Timescales
I will complete the project maintaining a timescale so that I can deliver the project in
time. I will give enough time for both requirement analysis, software design, coding
and testing. Finally I will integrate the software components into a single one.
Figure 1.1 Timescale
Figure 1.2 Gantt chart of timescale
Report on IIT Academic Automation System
Page | 4
1.4 Summary
I have discussed my project overview including background of the project, scope,
project objectives and timescales. Next I am going to gather and analyze
requirements of the project.
Report on IIT Academic Automation System
Page | 5
Chapter 2 Software Requirements
Specification & Analysis
This chapter contains the requirements of the project and the analysis of the
requirements.
2.1 Introduction
This section intends to specify the purpose of the document and the intendent
audiences of it.
2.1.1 Purpose
The document is about the Software Requirements Specification (SRS) for the IIT
Academic Automation System. The purpose of this document is to give a detailed
description of the requirements for the IIT Academic Automation System. The SRS
serves as the official means of communicating user requirements to the developer and
provides a common reference point for both the developer team and the stakeholder
community. The SRS will evolve over time as users and developers work together to
validate, clarify and expand its contents.
2.1.2 Intendent Audiences
The intendent audiences of the document are the client and the software engineer.
 The client will use this SRS to verify that the software engineer has created a
product that is acceptable to the client.
 The software engineer will use this SRS to plan milestones and a delivery date,
and ensure that the development of the system is on track.
 The software engineer will use the SRS as a basis for creating the system
design. He will continually refer back to the SRS to ensure that the system he
is designing will fulfill the user needs. He will also use this SRS as a basis for
developing the application’s functionality. He will use this SRS to derive test
plans and test cases for each documented requirement. When portions of the
application are completed, the software engineer will run the tests to ensure
that the application fulfills the requirements documented in this SRS. He will
also run the tests again when it is completed and ensure that all requirements
documented in this SRS have been fulfilled.
Report on IIT Academic Automation System
Page | 6
2.1.3 Document Conventions
The document will freely use the pronoun “we” although the project team consists of
one member. Again the words “system” and “application” will be used
interchangeably throughout the document. As the development team is responsible
for the SRS document, no ambiguity arises from its usage.
Report on IIT Academic Automation System
Page | 7
2.2 Inception
Inception discusses the steps required to establish the groundwork for an
understanding of software requirements – to get the project started in a way that will
keep it moving forward toward a successful solution. [1]
To establish the groundwork we have worked with the following factors related to the
inception phases:
 Identifying Stakeholders
 Asking the First Questions
 Recognizing Multiple Viewpoints
 Working toward Collaboration
2.2.1 Identifying Stakeholders
A stakeholder is anyone who benefits in a direct or indirect way from the system
which is being developed. Stakeholders may be business operations managers,
product managers, marketing people, internal and external customers, end users,
consultants, product engineers, software engineers, support and maintenance
engineers, and others. Each stakeholder has a different view of the system, achieves
different benefits when the system is successfully developed, and is open to different
risks if the development effort should fail. [1]
To identify the stakeholders we consulted with one of the faculties of IIT who conducts
courses both in regular and evening program. We asked him following questions –
 Who will be using the project outcomes?
 Who has resources I need to get the project done?
 Whose work will my project affect?
 Whom else do you think I should talk to?
We identified following stakeholders for the IIT Academic Automation System –
1. Students: Students will use the system to get information about their course
programs. Using this system, they will know which courses are they taking as
well as who are the course teachers. They will also be able to see the details of
the courses, the contents of the courses and they can download the course
contents.
2. Teachers: Teachers can see which courses in which programs are they
conducting classes as well as which students are taking those courses.
3. Program officer: Program officer can maintain the students of a semester, of a
batch and of a program. He/she can maintain the courses of a semester and of
a program. He/she can assign which teacher will take which course in a
semester of a program.
Report on IIT Academic Automation System
Page | 8
2.2.2 Asking the First Questions
We set our first set of context-free questions focuses on the client and other
stakeholders, overall project goals and benefits –
 Who will use the system?
 What will be the benefit of a successful system?
 Is there another source of the solution?
We asked the next set of questions to gain a better understanding of the problem and
to allow the client to voice his or her perceptions about a solution –
 What problem(s) will this system address?
 Can you show me the environment in which the system will be used?
 Will special performance issues or constraints affect the way the solution is
approached?
The final set of questions focuses on the effectiveness of the communication activity
itself –
 Are you the right person to answer these questions?
 Are my questions relevant to the problem you have?
 Am I asking too many questions?
 Can anyone provide additional information?
 Should I be asking you anything else?
These questions and others has helped to break the ice and initiate the
communication that is essential to successful elicitation.
2.2.3 Recognizing Multiple Viewpoints
Because many different stakeholders exist, the requirements of the system will be
explored from many different points of view. We collect these viewpoints by
discussing with the stakeholders. The multiple viewpoints are given below –
1. Students
 A web-based system.
 A system with enough security.
 A system which has effective authentication.
 User friendly interface.
 Easy access.
 Account with BSSE email (BSSE students), personal email (PGDIT, MIT
students).
 Can view the offered courses and course teachers.
 Can view the taken courses and course teachers.
Report on IIT Academic Automation System
Page | 9
 Can manage their own profile.
2. Teachers
 A web-based system.
 A system which has a secured database.
 A system which has effective authentication.
 Can view the students of a semester.
 Can view the students of a batch.
 Can view the courses of a program a teacher has been conducting.
 Can manage their own profile.
3. Program officer
 A web-based system.
 Can create students’ accounts from an excel or csv file.
 User friendly interface.
 Easy to manage information.
 Can manage students according to semester, batch, and program.
2.2.4 Working toward Collaboration
Every stakeholder has their own requirements. We followed the following steps to
merge these requirements –
 Identify the common and conflicting requirements.
 Categorize the requirements.
 Take priority points for each requirement from stakeholders and on the basis
of this voting prioritize the requirements.
 Make final decision about the requirements.
Common requirements
 User friendly interface.
 Web-based system.
 Easy Access.
 Every user will have individual account.
 Maintain a database with enough security.
 A secure authentication system.
 Management of students according to semester, batch and program.
 Teachers can upload course contents.
 Students can view and download course contents.
Conflicting requirements
We found some requirements conflicting to each other. The conflicting requirements
are listed below –
 Easy access but strong authentication system.
Report on IIT Academic Automation System
Page | 10
 User friendly system but enough security.
Final requirements
We finalized following requirements for the system by categorizing and prioritizing
the
requirements –
 A web-based system.
 User friendly interface.
 Easy access.
 User with individual account.
 A secure authentication system.
 A secure database.
 User can maintain their individual account.
 Students’ information will be managed according to semester, batch and
program.
 Students can view courses and course teachers of their respective program.
 Teachers can view courses that they have been conducting in different
programs.
 Program officer can create and manage students according to semester, batch
and program.
Report on IIT Academic Automation System
Page | 11
2.3 Requirements Elicitation
Requirements elicitation or requirements gathering combines elements of problem
solving, elaboration, negotiation, and specification. In order to encourage a
collaborative, team-oriented approach to requirements gathering, stakeholders work
together to identify the problem, propose elements of the solution, negotiate different
approaches and specify a preliminary set of solution requirements. [1]
2.3.1 Collaborative Requirements Gathering
Many different approaches to collaborative requirements gathering have been
proposed. Each makes use of a slightly different scenario. We completed following
steps to do it.
 The meetings were conducted with teachers, students and program officers.
They were questioned about requirements and expectations from the IIT
Academic Automation System.
 They were asked about the problems they are facing with the current manual
system. At last we selected our final requirements list from the meetings.
2.3.2 Quality Function Deployment
Quality function deployment (QFD) is a quality management technique that
translates the needs of the customer into technical requirements for software. QFD
concentrates on maximizing customer satisfaction from the software engineering
process. To accomplish this, QFD emphasizes an understanding of what is valuable
to the customer and then deploys these values throughout the engineering process.
[1]
QFD identifies three types of requirements –
Normal requirements
Normal requirements consist of objectives and goals that are stated during the
meeting with the customers. Normal requirements of our project are –
 Program officer can manage batches according to program.
 Program officer can manage students according to program, batch, semester
and course.
 Program officer can manage courses according to program, batch and semester.
 Program officer can manage teachers according to course.
 Teacher can manage course contents.
 Student can get information about offered courses in a program and semester,
courses he or she has taken in a semester, and course teachers.
 Student can know about courses – course credits, dependent courses of a course
etc.
Report on IIT Academic Automation System
Page | 12
 Student can download course content.
Expected requirements
These requirements are implicit to the system and may be so fundamental that the
customer does not explicitly state them. Their absence will be a cause for
dissatisfaction. Expected requirements are –
 A web-based application.
 User with individual user account.
 User friendly interface.
Exciting requirements
These requirements are for features that go beyond the customer's expectations and
prove to be very satisfying when present. Exciting requirements are –
 The web pages of the application will be responsive in respect to devices
through which it will be accessed.
2.3.3 Usage Scenario
Institute of Information Technology (IIT), University of Dhaka started its journey in
June 2001 to create efficient manpower in information technology. IIT currently
offers Bachelor of Science in Software Engineering (BSSE), Master of Science in
Software Engineering (MSSE), Master in Information Technology (MIT) and Post
Graduate Diploma in Information Technology (PGDIT).
Student account
Every year students get admitted to IIT in BSSE, MSSE, PGDIT and MIT programs.
In each program students are admitted according to specific batch. They provide
necessary information to IIT while getting admission. After getting admission, only
BSSE students get individual email account from IIT. They use these email accounts
throughout the IIT life. But PGDIT and MIT students give their personal email
accounts to IIT.
After admission, program officer will create student accounts in the system with
email id as username and a common password. An activation email will go to the
student’s email account. Students must login to their email accounts and activate the
accounts. After activation, students will login to the system and update their profiles.
Student account may have four status – active, inactive, passed and waiting. Program
officer changes the status of the student account. Active students will be able to
continue a semester. Students are inactive who are not allowed to interact with the
system currently. Program officer will be able to activate an inactive student and that
student will continue with the remaining year. Students are passed who have
Report on IIT Academic Automation System
Page | 13
completed their degree. If a student fails in a semester, his/her status will be waiting.
For BSSE and MSSE students, they have to continue the year with the following
batch. For PGDIT and MIT students, they have to complete the failed courses with
the following batch.
Teacher account
Program officer will create teachers’ accounts in the system with email, full name,
designation, qualification and duty status. The username will be the email address
and the password will be common to all. An activation email will go to the teacher’s
email account. Teachers must login to their email accounts and activate the accounts.
After activation, teachers will login to the system and update their profiles.
Teacher account may have three status – active, inactive and waiting. Program officer
changes the account status. Waiting teachers are those who are on leave and they
will not be available in teacher allocation section. Inactive teachers are those who are
not working as faculties anymore and they will not perform any activity in the system.
From the system, program officer can view the registered users according to user
category – student and teacher. He/she can delete a user account.
Batch & semester
Every program consists of several semesters. Every year students get admitted to a
program under a specific batch number. Program officer will create this batch of each
program. Every batch has two status – active or inactive. Batches that are continuing
are active and that have passed are inactive. Program officer can change the batch
status. He/she will also update the current semester number of a batch. He/she will
be able to view students according to batch and semester of a program.
Course
A student has to take several courses in a semester. Each course has a course code,
course title and number of credits. Program officer will create courses under specific
program. Program officer will be able to view and edit courses of a program.
BSSE program consists of 8 semesters and each student must take 18 credits in each
semester. BSSE students have to complete compulsory courses till 7th semester. In
8th semester, they have to take optional courses and compulsory courses.
MSSE program consists of three semesters. Students have to complete 36 credits to
obtain the degree. In first semester, students have to complete compulsory courses.
In second semester, they take optional courses and conduct a thesis. The thesis
continues till 3rd semester.
Report on IIT Academic Automation System
Page | 14
PGDIT program consists of three semesters. Students have to complete 36 credits to
obtain the degree. Students have to take several courses in each semester. A course
may be dependent on one or more courses and to take that course, a student has to
complete the dependent course(s).
MIT program extends over four semesters. Students have to complete 36 credits to
obtain the degree. In each semester, students take several courses. Courses may be
compulsory or optional.
Course allocation
At the beginning of every semester, program officer will allocate courses for each
semester of a program. Program officer can view and edit the course allocation.
Student allocation
Program officer will allocate students in the beginning of every semester. He/she can
view and edit the allocation. Again program officer will allocate students in every
course of a semester. Program officer can view and edit the student allocation of a
course.
Teacher allocation
One or more teachers can take a course of a semester. Program officer will allocate
teachers for each course at the beginning of a semester.
Content management
Teachers can upload contents for their courses. Course content has a title and a short
description. Students can download the contents according to their needs.
Report on IIT Academic Automation System
Page | 15
2.4 Scenario-based Model
In this model the system is described from the users’ point of view. As this is the first
model, it serves as input for creation of other modeling elements.
2.4.1 Use Case Scenario
As requirements are gathered, an overall vision of system functions and features
begins to materialize. To understand how these functions and features will be used
by different classes of end users, developers and users, create a set of scenarios, called
use case scenario, that identify a thread of usage for the system to be constructed.
Level 0 Level 1 Level 2 Actor
IIT Academic
Automation
System
User profile
management
Create user Program officer
View account info
Student, Teacher,
Program Officer
Update user
profile
Student, Teacher,
Program Officer
View users Program officer
Change account
status
Program officer
Batch & semester
management
Create batch Program officer
View batches Program officer
Change student
status
Program officer
Allocate students
to semester
Program officer
Edit student
allocation to
semester
Program officer
View students
according to
semester
Program officer
View students
according to batch
Program officer
Course
management
Create course Program officer
Edit course Program officer
View courses of a
program
Program officer,
Student, Teacher
Allocate courses to
semester
Program officer
Report on IIT Academic Automation System
Page | 16
Edit course
allocation
Program officer
View courses of a
semester
Program officer,
Student, Teacher
Allocate teachers
to course
Program officer
Edit teacher
allocation
Program officer
View teachers of a
course
Program officer,
Student, Teacher
Allocate students
to course
Program officer
Edit student
allocation to a
course
Program officer
View students of a
course
Program officer
Course content
management
Upload content of
a course
Teacher
View contents Teacher, Student
Download content Teacher, Student
Delete content Teacher
Table 2.1 Use case scenario
2.4.2 Use Case Description
A use case describes a specific usage scenario in straightforward language from the
point of view of a defined actor. Actors are of two types:
Primary actor: The Actor(s) using the system to achieve a goal. The use case
documents the interactions between the system and the actors to achieve the goal of
the primary actor. [2]
Secondary actor: Actors that the system needs assistance from to achieve the primary
actor’s goal. [2]
The identified actors of IIT Academic Automation System are –
 Student
 Teacher
 Program officer
An activity diagram supplements the use case by providing a graphical
representation of the flow of interaction within a specific scenario. The swimlane
Report on IIT Academic Automation System
Page | 17
diagram is a useful variation of the activity diagram and allows to represent the flow
of activities described by the use case and at the same time indicate which actor has
responsibility for the action described by an activity rectangle. [1]
We shall elaborate use case scenario to use case diagram, use case description,
activity diagram & swimlane diagram.
Use case diagram: Use case diagram of Level 0 – IIT Academic Automation System
is given below:
Figure 2.1 Use case diagram – IIT Academic Automation System
Report on IIT Academic Automation System
Page | 18
Use case diagram: Elaborated use case diagram Level 1 of Level 0 – IIT Academic
Automation System is given below:
Figure 2.2 Use case diagram (elaborated) – IIT Academic Automation System
Report on IIT Academic Automation System
Page | 19
2.4.2.1 User Profile Management
This section describes the use case diagram, activity diagram and swimlane diagram
of user profile management.
Use case diagram: Use case diagram of Level 1.1 – User profile management is
given below -
Figure 2.3 Use case diagram – User profile management
Report on IIT Academic Automation System
Page | 20
Activity diagram: Activity diagram of user profile management is given below –
Figure 2.4 Activity diagram – User profile management
Report on IIT Academic Automation System
Page | 21
Swimlane diagram: Swimlane diagram of user profile management is given below
–
Figure 2.5 Swimlane diagram – User profile management
Report on IIT Academic Automation System
Page | 22
2.4.2.1.1 Create User
Use case, activity diagram and swimlane diagram of create user are given below -
Use case: Create user
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To create user in the system.
4. Preconditions: Appropriate user id and password must be obtained.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “create user”.
 Program officer uploads a csv file with user information.
 Program officer selects “create” button.
 System displays the user creation message.
6. Exceptions:
 Username or password are incorrect or not recognized.
 Cannot read the csv file.
 User information is not valid.
 Cannot save into the database.
Report on IIT Academic Automation System
Page | 23
Activity diagram: Activity diagram of Create user is given below –
Figure 2.6 Activity diagram - Create user
Report on IIT Academic Automation System
Page | 24
Swimlane diagram: Swimlane diagram of Create user is given below –
Figure 2.7 Swimlane diagram - Create user
Report on IIT Academic Automation System
Page | 25
2.4.2.1.2 View Account Info
Use case, activity diagram and swimlane diagram of view account info are given
below -
Use case: View account info
1. Primary actors: Student, Teacher, Program Officer.
2. Secondary actors: None.
3. Goal in context: See the profile information of user.
4. Preconditions: Appropriate user id and password must be obtained.
5. Scenario:
 User (Student, Teacher, Program officer) logs in to the system.
 User selects “view profile”.
6. Exception:
 Username or password are incorrect or not recognized.
Activity diagram: Activity diagram of View account info is given below -
Figure 2.8 Activity diagram - View account info
Report on IIT Academic Automation System
Page | 26
Swimlane diagram: Swimlane diagram of View account info is given below -
Figure 2.9 Swimlane diagram - View account info
2.4.2.1.3 Update User Profile
Use case, activity diagram and swimlane diagram of update user profile are given
below -
Use case: Update user profile
1. Primary actors: Student, Teacher, Program officer.
2. Secondary actors: None.
3. Goal in context: Change the profile information of user.
4. Preconditions: Appropriate user id and password must be obtained.
5. Scenario:
 User (Student, Teacher, Program officer) logs in to the system.
 User selects “update profile”.
6. Exception:
 Username or password are incorrect or not recognized.
 User info is not valid.
 Cannot save the changes for internal system failure.
Report on IIT Academic Automation System
Page | 27
Activity diagram: Activity diagram of Update user profile is given below –
Figure 2.10 Activity diagram - Update user profile
Swimlane diagram: Swimlane diagram of Update user profile is same as Figure 4-
7 Swimlane diagram of View account info.
Report on IIT Academic Automation System
Page | 28
2.4.2.1.4 View Users
Use case, activity diagram and swimlane diagram of view users are given below -
Use case: View users
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: View list of users according to user category.
4. Preconditions: Appropriate user id and password must be obtained.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view users”.
 Program officer selects user category.
6. Exceptions:
 Username or password are incorrect or not recognized.
 User list may not contain any user if there is no user created of the
selected category.
Activity diagram: Activity diagram of View users is as follows -
Figure 2.11 Activity diagram - View users
Swimlane diagram: Swimlane diagram of View users is same as Figure 4-5
Swimlane diagram of Create user.
Report on IIT Academic Automation System
Page | 29
2.4.2.1.5 Change Account Status
Use case, activity diagram and swimlane diagram of change account status are given
below -
Use case: Change account status
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: Change the status of the user account – account is active or
inactive.
4. Preconditions: Appropriate username and password must be obtained.
5. Scenario:
 Program officer logs in to the system.
 Program officer select user.
 Program officer change the account status.
6. Exceptions:
 Username and password do not exist or incorrect.
 Cannot save the changes for internal system failure.
Report on IIT Academic Automation System
Page | 30
Activity diagram: Activity diagram of Change account status is as follows –
Figure 2.12 Activity diagram - Change account status
Swimlane diagram: Swimlane diagram of Change account status is same as Figure
4-5 Swimlane diagram of Create user.
2.4.2.2 Batch & Semester Management
Here are the use case diagram, activity diagram and swimlane diagram of batch &
semester management -
Report on IIT Academic Automation System
Page | 31
Use case diagram: Use case diagram of Level 1.2 – Batch & semester management
is given below:
Figure 2.13 Use case diagram - Batch & semester Management
Report on IIT Academic Automation System
Page | 32
Activity diagram: Activity diagram of batch & semester management is given below
–
Figure 2.14 Activity diagram – Batch & semester management
Report on IIT Academic Automation System
Page | 33
Swimlane diagram: Swimlane diagram of batch & semester management is given
below –
Figure 2.15 Swimlane diagram – Batch & semester management
2.4.2.2.1 Create Batch
Use case, activity diagram and swimlane diagram of create batch are given below -
Use case: Create batch
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To create a batch of a program.
4. Preconditions:
 Appropriate username and password must be obtained.
 Program name must exist in the system.
5. Scenario:
 Program officer logs in to the system.
Report on IIT Academic Automation System
Page | 34
 Program officer selects program.
 Program officer clicks on “create batch” and the system will assign a
batch number according to order.
6. Exceptions:
 Username and password do not exist or incorrect.
 Program name does not exist in the system.
 Cannot save for internal system failure.
Report on IIT Academic Automation System
Page | 35
Activity diagram: Activity diagram of Create batch is given below -
Figure 2.16 Activity diagram- Create batch
Report on IIT Academic Automation System
Page | 36
Swimlane diagram: Here is the swimlane diagram of Create batch -
Figure 2.17 Swimlane diagram - Create batch
Report on IIT Academic Automation System
Page | 37
2.4.2.2.2 View Batches of a Program
Use case, activity diagram and swimlane diagram of view batches of a program is
given below -
Use case: View batches of a program
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To view list of batches of a program.
4. Preconditions:
 Appropriate username and password must be obtained.
 Program must contains batches to display the list of batches rather the
list will be empty.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects program.
 System shows list of batches.
6. Exceptions:
 Username and password do not exist or incorrect.
 Selected program has not any batch.
Report on IIT Academic Automation System
Page | 38
Activity diagram: Activity diagram of View batches of a program are given below -
Figure 2.18 Activity diagram - View batches of a program
Swimlane diagram: Swimlane diagram of View batches of a program is same as
Figure 4-13 Swimlane diagram of Create batch.
2.4.2.2.3 Change Student Status
Use case, activity diagram and swimlane diagram of change student status are given
below -
Use case: Change student status
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To change the status of a student – active, inactive, waiting or
passed.
4. Preconditions: Appropriate username and password must be obtained.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects program name, batch no and student.
 Program officer changes the account status.
Report on IIT Academic Automation System
Page | 39
6. Exceptions:
 Username and password do not exist or incorrect.
 Cannot save the changes for internal system failure.
Activity diagram: Activity diagram of Change student status is given below -
Figure 2.19 Activity diagram - Change student status
Report on IIT Academic Automation System
Page | 40
Swimlane diagram: Swimlane diagram of Change student status is same as Figure
4-13 Swimlane diagram of Create batch.
2.4.2.2.4 Allocate Students to Semester
Use case, activity diagram and swimlane diagram of allocate students to semester
are given below -
Use case: Allocate students to semester
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To add students to a semester of a program’s batch.
4. Preconditions:
 User must be logged in.
 There will have eligible students to allocate.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects program name, batch and semester.
 Program officer selects students.
 Program officer submits the selection.
6. Exceptions:
 Username and password are incorrect or do not exist of the program
officer.
 Cannot save for internal system failure.
 There is no eligible student to allocate.
Report on IIT Academic Automation System
Page | 41
Activity diagram: Activity diagram of Allocate students to semester is as follows -
Figure 2.20 Activity diagram - Allocate students to semester
Swimlane diagram: Swimlane diagram of Allocate students to semester is same as
Figure 4-13 Swimlane diagram of Create batch.
2.4.2.2.5 Edit Student Allocation of a Semester
Use case, activity diagram and swimlane diagram of edit student allocation of a
semester are given below -
Report on IIT Academic Automation System
Page | 42
Use case: Edit student allocation of a semester
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To change the allocation of students to a semester.
4. Preconditions: User must be logged in.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects program, batch and semester.
 Program officer edits the allocation.
 Program officer saves the allocation.
6. Exceptions:
 Username and password are incorrect.
 Cannot save the changes for internal system failure.
 Students have not been allocated yet to the semester.
Report on IIT Academic Automation System
Page | 43
Activity diagram: Activity diagram of Edit student allocation of a semester is given
below -
Figure 2.21 Activity diagram - Edit student allocation of a semester
Swimlane diagram: Swimlane diagram of edit student allocation of a semester is
same as Figure 4-13 Swimlane diagram of create batch.
2.4.2.2.6 View Students According to Semester
Use case, activity diagram and swimlane diagram of view students according to
semester are given below -
Report on IIT Academic Automation System
Page | 44
Use case: View students according to semester
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To view the allocated students of a semester of a program’s
batch.
4. Preconditions:
 User must be logged in.
 There should be an allocation of student to that semester.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view students”.
 Program officer selects program, batch and semester.
 System displays the list of students.
6. Exceptions:
 Username and password are incorrect.
 Students have not been allocated yet to the semester.
Activity diagram: Activity diagram of View students according to semester is as
follows -
Figure 2.22 Activity diagram - View students according to semester
Swimlane diagram: Swimlane diagram of View students according to semester is
same as Figure 4-13 Swimlane diagram of Create batch.
Report on IIT Academic Automation System
Page | 45
2.4.2.2.7 View Students According to Batch
Use case, activity diagram and swimlane diagram of view students according to batch
are given below -
Use case: View students according to batch
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To view the allocated students of a program’s batch.
4. Preconditions:
 User must be logged in.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view students”.
 Program officer selects program and batch.
 System displays the list of students.
6. Exceptions:
 Username and password are incorrect.
Activity diagram: Activity diagram of View students according to batch is given
below -
Figure 2.23 Activity diagram - View students according to batch
Swimlane diagram: Swimlane diagram of View students according to batch is same
as Figure 4-13 Swimlane diagram of Create batch.
Report on IIT Academic Automation System
Page | 46
2.4.2.3 Course Management
Use case diagram, activity diagram and swimlane diagram of course management
are given below:
Report on IIT Academic Automation System
Page | 47
Use case diagram: Use case diagram of Level 1.3 – Course management is given
below -
Figure 2.24 Use case diagram - Course management
Report on IIT Academic Automation System
Page | 48
Activity diagram: Activity diagram of course management is given below –
Figure 2.25 Activity diagram – Course management
Report on IIT Academic Automation System
Page | 49
Swimlane diagram: Swimlane diagram of course management is given below –
Figure 2.26 Swimlane diagram – Course management
Report on IIT Academic Automation System
Page | 50
2.4.2.3.1 Create Course
Use case, activity diagram and swimlane diagram of create course are given below -
Use case: Create course
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To add a course to a program.
4. Preconditions:
 User must be logged in.
 Program name must exist.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “create course”.
 Program officer selects program name and enters course info.
 Program officer clicks on submit button.
6. Exceptions:
 Username and password are incorrect.
 Course info is not valid.
 Program name does not exist.
Report on IIT Academic Automation System
Page | 51
Activity diagram: Here is the activity diagram of Create course -
Figure 2.27 Activity diagram - Create course
Swimlane diagram: Swimlane diagram of Create course is same as Figure 4-13
Swimlane diagram of Create batch.
2.4.2.3.2 Edit Course
Use case, activity diagram and swimlane diagram of edit course are given below -
Use case: Edit course
1. Primary actor: Program officer.
Report on IIT Academic Automation System
Page | 52
2. Secondary actors: None.
3. Goal in context: To edit a course info of a program.
4. Preconditions:
 User must be logged in.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view courses of a program”.
 Program officer selects a course.
 Program officer clicks on edit button.
 Program officer edits the course info.
 Program officer saves the course.
6. Exceptions:
 Username and password are incorrect.
 Cannot save the changes for internal system failure.
 Course info is not valid.
Report on IIT Academic Automation System
Page | 53
Activity diagram: Here is the activity diagram of Edit course -
Figure 2.28 Activity diagram - Edit course
Swimlane diagram: Swimlane diagram of Edit course is same as Figure 4-13
Swimlane diagram of Create batch.
Report on IIT Academic Automation System
Page | 54
2.4.2.3.3 View Courses of a Program
Use case, activity diagram and swimlane diagram of view courses of a program are
given below -
Use case: View courses of a program
1. Primary actor: Student, Teacher, Program officer.
2. Secondary actors: None.
3. Goal in context: To view the courses of a program.
4. Preconditions:
 User must be logged in.
5. Scenario:
 User (program officer, student, and teacher) logs in to the system.
 User selects “view courses”.
 User selects program name.
 System displays the list of courses.
6. Exceptions:
 Username and password are incorrect.
 Program name does not exist.
Activity diagram: Here is the activity diagram of View courses of a program -
Figure 2.29 Activity diagram - View courses of a program
Swimlane diagram: Swimlane diagram of View courses of a program is same as
Figure 4.30 Swimlane diagram of View account info.
Report on IIT Academic Automation System
Page | 55
2.4.2.3.4 Allocate Courses to Semester
Use case, activity diagram and swimlane diagram of allocate courses to semester are
given below -
Use case: Allocate courses to semester
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To allocate courses to a semester.
4. Preconditions:
 User must be logged in.
 Course should be exist in the system.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “allocate course”.
 Program officer selects program name and semester.
 Program officer selects courses.
 Program officer clicks on submit button.
6. Exceptions:
 Username and password are incorrect.
 Cannot save for internal system failure.
 There is no course of the program.
Report on IIT Academic Automation System
Page | 56
Activity diagram: Here is the activity diagram of Allocate courses to semester -
Figure 2.30 Activity diagram - Allocate courses to semester
Swimlane diagram: Swimlane diagram of Allocate courses to semester is same as
Figure 4-13 Swimlane diagram of Create batch.
2.4.2.3.5 Edit Course Allocation
Use case, activity diagram and swimlane diagram of edit course allocation are given
below -
Report on IIT Academic Automation System
Page | 57
Use case: Edit course allocation
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To edit allocated courses of a semester.
4. Preconditions:
 User must be logged in.
 Course allocation of a semester should be exist in the system.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view courses of a semester”.
 Program officer selects program name and semester.
 Program officer change course allocation.
 Program officer clicks on save button.
6. Exceptions:
 Username and password are incorrect.
 Cannot save the changes for internal system failure.
 There is no course allocation of the semester.
Report on IIT Academic Automation System
Page | 58
Activity diagram: Here is the activity diagram of Edit course allocation -
Figure 2.31 Activity diagram - Edit course allocation
Swimlane diagram: Swimlane diagram of Edit course allocation is same as Figure
4-13 Swimlane diagram of Create batch.
2.4.2.3.6 View Courses of a Semester
Use case, activity diagram and swimlane diagram of view courses of a semester are
given below -
Report on IIT Academic Automation System
Page | 59
Use case: View courses of a semester
1. Primary actor: Student, Teacher, Program officer.
2. Secondary actors: None.
3. Goal in context: To view the courses of a semester.
4. Preconditions:
 User must be logged in.
5. Scenario:
 User (program officer, student, and teacher) logs in to the system.
 User selects “view courses”.
 Teacher and program officer select program name and semester.
 Student selects semester.
 System displays the list of courses.
6. Exceptions:
 Username and password are incorrect.
 Courses have not been allocated to that semester.
Activity diagram: Here is the activity diagram of View courses of a semester -
Figure 2.32 Activity diagram - View courses of a semester
Report on IIT Academic Automation System
Page | 60
Swimlane diagram: Swimlane diagram of View courses of a semester is same as
Figure 4.34 Swimlane diagram of View account info.
2.4.2.3.7 Allocate Teachers to Course
Use case, activity diagram and swimlane diagram of allocate teachers to course are
given below -
Use case: Allocate teachers to course
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To allocate teachers to a course.
4. Preconditions:
 User must be logged in.
 Teacher should be exist in the system.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “allocate teacher”.
 Program officer selects program, batch, semester and course.
 Program officer selects teacher(s).
 Program officer clicks on submit button.
6. Exceptions:
 Username and password are incorrect.
 Cannot save for internal system failure.
 There is no teacher to allocate.
Report on IIT Academic Automation System
Page | 61
Activity diagram: Here is the activity diagram of Allocate teachers to course -
Figure 2.33 Activity diagram - Allocate teachers to course
Swimlane diagram: Swimlane diagram of Allocate teachers is same as Figure 4-13
Swimlane diagram of Create batch.
2.4.2.3.8 Edit Teacher Allocation
Use case, activity diagram and swimlane diagram of edit teacher allocation are given
below -
Report on IIT Academic Automation System
Page | 62
Use case: Edit teacher allocation
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To edit allocated teachers of a course.
4. Preconditions:
 User must be logged in.
 There should be allocated teacher of the course in the system.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view courses of a semester”.
 Program officer selects program, batch, semester and course.
 Program officer changes teacher allocation.
 Program officer clicks on submit button.
6. Exceptions:
 Username and password are incorrect.
 Cannot save the changes for internal system failure.
 There is no teacher allocated.
Report on IIT Academic Automation System
Page | 63
Activity diagram: Activity diagram of Edit teacher allocation is given below -
Figure 2.34 Activity diagram - Edit teacher allocation
Swimlane diagram: Swimlane diagram of Edit teacher allocation is same as Figure
4-13 Swimlane diagram of Create batch.
2.4.2.3.9 View Teaches of a Course
Use case, activity diagram and swimlane diagram of view teachers of a course are
given below -
Report on IIT Academic Automation System
Page | 64
Use case: View teachers of a course
1. Primary actor: Student, Teacher, Program officer.
2. Secondary actors: None.
3. Goal in context: To view the allocated teacher(s) in a course of a program’s
batch.
4. Preconditions:
 User must be logged in.
5. Scenario:
 User (program officer, student, and teacher) logs in to the system.
 User selects “view courses”.
 Teacher and program officer select program, batch, semester and course.
 Student selects semester and course.
 System displays the list of teachers.
6. Exceptions:
 Username and password are incorrect.
 Teachers have not been allocated to that course.
Report on IIT Academic Automation System
Page | 65
Activity diagram: Here is the activity diagram of View teachers of a course -
Figure 2.35 Activity diagram - View teachers of a course
Swimlane diagram: Swimlane diagram of View teachers of a course is same as
Figure 4.38 Swimlane diagram of View account info.
2.4.2.3.10 Allocate Students to Course
Use case, activity diagram and swimlane diagram of allocate students to course are
given below -
Use case: Allocate students to course
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To allocate students to a course.
4. Preconditions:
Report on IIT Academic Automation System
Page | 66
 User must be logged in.
 Students should be exist to allocate.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “allocate students to course”.
 Program officer selects program, batch, semester and course.
 Program officer selects students.
 Program officer clicks on submit button.
6. Exceptions:
 Username and password are incorrect.
 Cannot save for internal system failure.
 There is no eligible student to allocate.
Report on IIT Academic Automation System
Page | 67
Activity diagram: Here is the activity diagram of Allocate students to course –
Figure 2.36 Activity diagram - Allocate students to course
Report on IIT Academic Automation System
Page | 68
Swimlane diagram: Swimlane diagram of Allocate students to course is same as
Figure 4-13 Swimlane diagram of Create batch.
2.4.2.3.11 Edit Student Allocation to Course
Use case, activity diagram and swimlane diagram of edit student allocation to course
are given below -
Use case: Edit student allocation to course
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To edit allocated students of a course.
4. Preconditions:
 User must be logged in.
 Students should be allocated to the course.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view students of a course”.
 Program officer selects program, batch, semester and course.
 Program officer clicks on “edit”.
 Program officer changes selected students.
 Program officer clicks on submit button.
6. Exceptions:
 Username and password are incorrect.
 Cannot save the changes for internal system failure.
 There is no student allocation to the course.
Report on IIT Academic Automation System
Page | 69
Activity diagram: Here is the activity diagram of Edit student allocation to course
-
Figure 2.37 Activity diagram - Edit student allocation to course
Swimlane diagram: Swimlane diagram of Edit student allocation to course is same
as Figure 4-13 Swimlane diagram of Create batch.
2.4.2.3.12 View Students of a Course
Use case, activity diagram and swimlane diagram of view students of a course are
given below -
Report on IIT Academic Automation System
Page | 70
Use case: View students of a course
1. Primary actor: Program officer.
2. Secondary actors: None.
3. Goal in context: To view allocated students of a course.
4. Preconditions:
 User must be logged in.
 Students should be allocated to the course.
5. Scenario:
 Program officer logs in to the system.
 Program officer selects “view students of a course”.
 Program officer selects program, batch, semester and course.
 System displays list of students.
6. Exceptions:
 Username and password are incorrect.
 There is no student allocation to the course.
Activity diagram: Here is the activity diagram of View students of a course -
Figure 2.38 Activity diagram - View students of a course
Report on IIT Academic Automation System
Page | 71
Swimlane diagram: Swimlane diagram of View students of a course is same as
Figure 4-13 Swimlane diagram of Create batch.
2.4.2.4 Course Content Management
Here are the use case diagram, activity diagram and swimlane diagram of course
content management -
Use case diagram: Use case diagram of Level 1.4 – Course content management is
as follows -
Figure 2.39 Use case diagram - Course content management
Report on IIT Academic Automation System
Page | 72
Activity diagram: Activity diagram of course content management is given below –
Figure 2.40 Activity diagram – Course content management
Report on IIT Academic Automation System
Page | 73
Swimlane diagram: Swimlane diagram of course content management is given
below –
Figure 2.41 Swimlane diagram – Course content management
2.4.2.4.1 Upload Course Content
Use case, activity diagram and swimlane diagram of upload course content are given
below -
Report on IIT Academic Automation System
Page | 74
Use case: Upload course content
1. Primary actor: Teacher.
2. Secondary actors: None.
3. Goal in context: To upload content of a course.
4. Preconditions: User must be logged in.
5. Scenario:
 Teacher logs in to the system.
 Teacher selects “upload content”.
 Teacher selects course.
 Teacher select content.
 Teacher uploads the content.
6. Exceptions:
 Username and password do not exist or incorrect.
 File format is not supported or incorrect.
 File size is larger than required size.
Report on IIT Academic Automation System
Page | 75
Activity diagram: Activity diagram of Upload course content is as follows -
Figure 2.42 Activity diagram - Upload course content
Report on IIT Academic Automation System
Page | 76
Swimlane diagram: Swimlane diagram of Upload course content is given below -
Figure 2.43 Swimlane diagram - Upload course content
2.4.2.4.2 View Contents of a Course
Use case, activity diagram and swimlane diagram of view contents of a course are
given below -
Report on IIT Academic Automation System
Page | 77
Use case: View contents of a course
1. Primary actor: Student, Teacher.
2. Secondary actors: None.
3. Goal in context: To view contents of a course.
4. Preconditions: User must be logged in.
5. Scenario:
 User (student, teacher) logs in to the system.
 User selects “view content”.
 User selects course.
 System displays list of contents of the course.
6. Exceptions:
 Username and password do not exist or incorrect.
 There is no file to display.
Activity diagram: Here is the activity diagram of View contents of a course -
Figure 2.44 Activity diagram - View contents of a course
Report on IIT Academic Automation System
Page | 78
Swimlane diagram: Swimlane diagram of View contents of a course -
Figure 2.45 Swimlane diagram - View course contents
2.4.2.4.3 Download Content
Use case, activity diagram and swimlane diagram of download content are given
below -
Use case: Download content
1. Primary actor: Student, Teacher.
2. Secondary actors: None.
3. Goal in context: To download content of a course.
4. Preconditions: User must be logged in.
5. Scenario:
 User (student, teacher) logs in to the system.
 User selects “view content”.
 User selects course.
 System displays list of contents of the course.
 User selects content.
 System displays the content title and description.
 User clicks on “download”.
 System starts the download.
Report on IIT Academic Automation System
Page | 79
6. Exceptions:
 Username and password do not exist or incorrect.
 There is no file to download.
Activity diagram: Here is the activity diagram of Download content -
Figure 2.46 Activity diagram - Download content
Swimlane diagram: Swimlane diagram of Download content is same as Figure 4-
40 Swimlane diagram – View course contents.
2.4.2.4.4 Delete Content
Use case, activity diagram and swimlane diagram of delete content are given below -
Use case: Delete content
1. Primary actor: Teacher.
2. Secondary actors: None.
3. Goal in context: To delete content of a course.
4. Preconditions: User must be logged in.
5. Scenario:
 Teacher logs in to the system.
Report on IIT Academic Automation System
Page | 80
 Teacher selects “view content”.
 Teacher selects course and content.
 System displays the content title and description.
 Teacher clicks on “Delete”.
 System deletes the content.
6. Exceptions:
 Username and password do not exist or incorrect.
 Cannot delete for internal system failure.
 There is no file to delete.
Activity diagram: Here is the activity diagram of Delete content –
Figure 2.47 Activity diagram - Delete content
Report on IIT Academic Automation System
Page | 81
Swimlane diagram: Swimlane diagram of Delete content is same as Figure 4-38
Swimlane diagram – Upload course content.
Report on IIT Academic Automation System
Page | 82
2.5 Data Model
If software requirements include the need to create, extend or interface with a
database or if complex data structures must be constructed and manipulated, the
software team may choose to create a data model as part of overall requirements
modeling.
2.5.1 Data Objects and Attributes
A data object is a representation of composite information that must be understood
by software. It can be an external entity (e.g., anything that produces or consumes
information), a thing (e.g., a report or a display), an occurrence (e.g., a telephone call)
or event (e.g., an alarm), a role (e.g., salesperson), an organizational unit (e.g.,
accounting department), a place (e.g., a warehouse), or a structure (e.g., a file).
Data attributes define the properties of a data object and take on one of three different
characteristics. They can be used to (1) name an instance of the data object, (2)
describe the instance, or (3) make reference to another instance in another table. [1]
Here is a table of potential data objects –
Noun Attributes Remarks
IIT Rejected
University of Dhaka Rejected
BSSE Rejected
MSSE Rejected
PGDIT Rejected
MIT Rejected
Student
Email, status, program, batch, semester,
academic year, full name
Accepted
Program Program name Accepted
Batch Program name, batch no Accepted
Information Rejected
Admission Rejected
Email Rejected
Program officer Rejected
System Rejected
Report on IIT Academic Automation System
Page | 83
Email id Rejected
Username Rejected
Password Rejected
Profile Rejected
Status Rejected
Semester Program name, semester no Accepted
Degree Rejected
Year Rejected
Course Course code, course title, course credit Accepted
Teacher Rejected
Full name Rejected
Designation Rejected
Qualification Rejected
Course code Rejected
Course title Rejected
Course credit Rejected
Dependent course Rejected
Academic year Rejected
Grade Rejected
Course content Title, description Accepted
Title Rejected
Description Rejected
Table 2.2 Data objects and attributes
Report on IIT Academic Automation System
Page | 84
IIT Academic Automation System has the following data objects with attributes –
2.5.2 Relationships between Data Objects
Data objects are connected to one another in different ways. Here are the
relationships between data objects.
Figure 2.48 Data objects and attributes
Report on IIT Academic Automation System
Page | 85
Figure 2.49 Relationships between data objects
Report on IIT Academic Automation System
Page | 86
2.5.3 Entity-Relationship Diagram
An entity relationship (E-R) diagram shows the relationships of entity sets stored in
a database. An entity in this context is a component of data. In other words, E-R
diagrams illustrate the logical structure of databases. [3]
It is usually drawn in a graphical form as boxes (entities) that are connected by lines
(relationships) which express the associations and dependencies between entities. [4]
Report on IIT Academic Automation System
Page | 87
The E-R diagram of the data objects are given below –
Figure 2.50 E-R diagram of IIT Academic Automation System
Report on IIT Academic Automation System
Page | 88
2.5.4 Schema
The schema of the data objects are given below –
User
Attributes Data type
Id int
Email varchar
Password varchar
Full Name varchar
Designation varchar
IIT profile link varchar
Image path varchar
Status varchar
Is delete bit
Role
Attributes Data type
Id int
Role name varchar
User Role
Attributes Data type
Id int
User id int
Role id int
Student
Attributes Data type
Id int
User id int
Program id int
Batch id original int
Batch id current int
Semester id int
Original roll varchar
Current roll varchar
Registration no varchar
Admission session varchar
Current session varchar
Report on IIT Academic Automation System
Page | 89
Phone varchar
Guardian phone varchar
Current address varchar
Permanent address varchar
Program
Attributes Data type
Id int
Program name varchar
Batch
Attributes Data type
Id int
Program id int
Batch no int
Current semester int
Status bit
Semester
Attributes Data type
Id int
Program id int
Semester no int
Course
Attributes Data type
Id int
Program id int
Course code varchar
Course title varchar
Course credit int
Credit lab int
Credit theory int
Dependent course id 1 int
Dependent course id 2 int
Student Course
Attributes Data type
Report on IIT Academic Automation System
Page | 90
Id int
Batch id current int
Semester id int
Student id int
Course id int
Course Semester
Attributes Data type
Id int
Batch id current int
Semester id int
Course id int
Teacher id int
Course Content
Attributes Data type
Id int
Course id int
Teacher id int
Title varchar
Description varchar
Upload date datetime
File path varchar
Is delete bit
Report on IIT Academic Automation System
Page | 91
2.6 Class-Based Modeling
Class-based modeling represents the objects that the system will manipulate, the
operations that will be applied to the objects to effect the manipulation, relationships
between the objects and the collaborations that occur between the classes that are
defined. The elements of a class-based model include classes and objects, attributes,
operations, class responsibility-collaborator models and collaboration diagrams. [1]
2.6.1 Identifying Analysis Classes
We can begin to identify the analysis classes by examining the usage scenarios.
Classes are determined by identifying each noun or noun phrase and entering it into
a simple table. Analysis classes manifest themselves in one of the following ways –
 External entities
 Things
 Occurrences or events
 Roles
 Organizational units
 Places
 Structures
Coad and Yourdon suggest six selection characteristics that should be used to
consider each potential class for inclusion in the analysis model –
1. Retained information
2. Needed services
3. Multiple attributes
4. Common attributes
5. Common operations
6. Essential requirements
Potential Class General Classification
Characteristic
Numbers That
Applies
Remarks
Student External entity, role All apply Accepted
Program Organizational unit 1,2 Rejected
Batch Organizational unit All apply Accepted
Email Thing 3 fails Rejected
Program officer
(alias user)
Role All apply Accepted
System Rejected
Report on IIT Academic Automation System
Page | 92
Username Thing 3 fails Rejected
Password Thing 3 fails Rejected
Profile Thing 3 fails Rejected
Status Thing 3 fails Rejected
Semester Organizational unit All apply Accepted
Degree Thing 3 fails Rejected
Year Thing 3 fails Rejected
Course Thing All apply Accepted
Teacher (alias
user)
Role All apply Accepted
Full name Thing 3 fails Rejected
Designation Thing 3 fails Rejected
Course code Thing 3 fails Rejected
Course title Thing 3 fails Rejected
Course credit Thing 3 fails Rejected
Dependent
course
Thing 3 fails Rejected
Academic year Thing 3 fails Rejected
Grade Thing 3 fails Rejected
Course content Thing All apply Accepted
Title Thing 3 fails Rejected
Description Thing 3 fails Rejected
Table 2.3 Potential classes
2.6.2 Specifying Attributes
Attributes describe a class that has been selected for inclusion in the requirements
model. In essence, it is the attributes that define the class—that clarify what is meant
by the class in the context of the problem space. [1]
We represent the attributes of potential classes in the following manner –
1. User = user id + email + password + full name + designation + IIT profile link
+ image path
Report on IIT Academic Automation System
Page | 93
2. Student = student id + user id + program id + batch id + semester id + roll +
registration no + session + phone + guardian phone + current address +
permanent address
3. Batch = batch id + program id + current semester + students
4. Semester = semester id + program id + batch id + semester id + students +
teachers + courses
5. Course = course id + course code + course title + course credit + credit lab +
credit theory + dependent course id 1 + dependent course id 2 + program id
6. Course content = content title + file path + upload date + course id + teacher
2.6.3 Defining Operations
Operations define the behavior of an object. Although many different types of
operations exist, they can generally be divided into four broad categories: (1)
operations that manipulate data in some way (e.g., adding, deleting, reformatting,
selecting), (2) operations that perform a computation, (3) operations that inquire
about the state of an object, and (4) operations that monitor an object for the
occurrence of a controlling event. [1]
1. User = create user(), update user profile(), change account status(), view user
profile(), delete user().
2. Student = create student(), update student profile(), view student profile().
3. Batch = create batch(), view batches of a program(), view students of a batch(),
update current semester no(), update batch status().
4. Semester = allocate students to semester(), edit allocation(), view students of a
semester(), allocate courses to semester(), edit course allocation(), view courses
of a semester(), allocate teachers to course(), edit teacher allocation(), view
teachers of a course().
5. Course = create course(), edit course(), view courses of a program().
6. Course content = upload content(), view content(), download content(), delete
content().
2.6.4 Class Diagram
A class diagram shows the interaction among the classes. Here is the class diagram
for the classes –
Report on IIT Academic Automation System
Page | 94
Figure 2.51 Class Diagram
Report on IIT Academic Automation System
Page | 95
2.6.5 Class-Responsibility-Collaborator (CRC) Modeling
Class-responsibility-collaborator (CRC) modeling provides a simple means for
identifying and organizing the classes that are relevant to system or product
requirements. A CRC model is really a collection of standard index cards that
represent classes. The cards are divided into three sections. Along the top of the card
you write the name of the class. In the body of the card you list the class
responsibilities on the left and the collaborators on the right. Responsibilities are the
attributes and operations that are relevant for the class. Collaborators are those
classes that are required to provide a class with the information needed to complete
a responsibility. [1]
Class: User
Responsibility Collaborator
Defines user information
Creates user account
Manages user account
Class: Student
Responsibility Collaborator
Defines student information
Creates student account User
Manages student account User
Class: Batch
Responsibility Collaborator
Creates batch
Manage batches
Manages students of a batch Student
Update semester Semester
Class: Semester
Responsibility Collaborator
Allocates students to semester
Find eligible students for allocation Student, Batch
Manages students of a semester Student, Batch
Manages courses of a semester Course
Manages teachers of course Course, User
Report on IIT Academic Automation System
Page | 96
Class: Course
Responsibility Collaborator
Defines course information
Manage course information
Class: Course Content
Responsibility Collaborator
Display file selection interface
Check file size
Upload file Course, User
Download file
Manage course contents Course, User
Report on IIT Academic Automation System
Page | 97
2.7 Behavioral Model
The behavioral model indicates how software will respond to external events.
Behavioral model describes the control structure of a dynamic system. This can be
things like –
 Sequence of operations
 Object states
 Object interactions
The behavioral model indicates how software will respond to external events. We
represent behavioral model through two diagrams –
 State Diagram
 Sequence Diagram
2.7.1 State Diagram
State diagram represents active states for each class and events that cause changes
between the active states. An event occurs whenever the system and an actor
exchange information. In a state diagram, each arrow represents a transition from
one active state of an object to another. The labels of each arrow represent the event
that triggers the transition.
Report on IIT Academic Automation System
Page | 98
2.7.1.1 State Diagram: User
State diagram for the user class is given below -
Figure 2.52 State diagram for the User class
Report on IIT Academic Automation System
Page | 99
2.7.1.2 State Diagram: Batch
State diagram for the batch class is given below –
Figure 2.53 State diagram for the Batch class
Report on IIT Academic Automation System
Page | 100
2.7.1.3 State Diagram: Semester
State diagram for the semester class is given below –
Figure 2.54 State diagram for the Semester class
Report on IIT Academic Automation System
Page | 101
2.7.1.4 State Diagram: Course
State diagram for the course class is given below –
Figure 2.55 State diagram for the Course class
Report on IIT Academic Automation System
Page | 102
2.7.1.5 State Diagram: Content
State diagram for the content class is given below –
Figure 2.56 State diagram for the Content class
Report on IIT Academic Automation System
Page | 103
2.7.2 Sequence Diagram
Sequence Diagram indicates how events cause transitions from object to object. It is
actually a representation of how events cause flow from one object to another as a
function of time.
2.7.2.1 Sequence Diagram: User
Sequence Diagram for the user class is given below –
Figure 2.57 Sequence diagram for the User class
Report on IIT Academic Automation System
Page | 104
2.7.2.2 Sequence Diagram: Batch
Sequence Diagram for the batch class is given below –
Figure 2.58 Sequence diagram for the Batch class
Report on IIT Academic Automation System
Page | 105
2.7.2.3 Sequence Diagram: Semester
Sequence Diagram for the semester class is given below –
Figure 2.59 Sequence diagram for the Semester class
Report on IIT Academic Automation System
Page | 106
2.7.2.4 Sequence Diagram: Course
Sequence Diagram for the course class is given below –
Figure 2.60 Sequence diagram for the Course class
Report on IIT Academic Automation System
Page | 107
2.7.2.5 Sequence Diagram: Content
Sequence Diagram for the content class is given below –
Figure 2.61 Sequence diagram for the Content class
Report on IIT Academic Automation System
Page | 108
Chapter 3 Architectural Design
This section contains the architectural design of IIT Academic Automation System.
3.1 Architectural Context Diagram
The architectural context diagram of IIT Academic Automation System is given below
–
Figure 3.1 Architectural Context Diagram
3.2 Archetypes
The archetype of IIT Academic Automation System is as follows –
Report on IIT Academic Automation System
Page | 109
Figure 3.2 Archetype of IIT Academic Automation System
3.3 Refining the Architecture into Components
The architectural structure for User Management of IIT Academic Automation
System is given below –
Figure 3.3 Architectural Structure of User Management
Report on IIT Academic Automation System
Page | 110
The architectural structure of Batch Management is as follows –
Figure 3.4 Architectural Structure of Batch Management
The architectural structure of Course Management is given below –
Figure 3.5 Architectural Structure of Course Management
Report on IIT Academic Automation System
Page | 111
Chapter 4 User Interface Design
This section provides the designed user interfaces (UIs) for IIT Academic Automation
System. Developers will design the web pages for the application according to these
UIs. These UIs are designed using Balsamiq Mockups.
4.1 UIs for IIT Academic Automation System
Here are the designed UIs for IIT Academic Automation System –
4.1.1 Log In
UI for log in page –
Figure 4.1 Log In page
Report on IIT Academic Automation System
Page | 112
4.1.2 Forgot Password
UI for forgot password page –
Figure 4.2 Forgot password page
Report on IIT Academic Automation System
Page | 113
4.1.3 Admin Home Page
UI for home page of admin –
Figure 4.3 Admin home page
Report on IIT Academic Automation System
Page | 114
4.1.4 Teacher Home Page
UI for home page of teacher –
Figure 4.4 Teacher home page
Report on IIT Academic Automation System
Page | 115
4.1.5 Student Home Page
UI for home page of student –
Figure 4.5 Student home page
Report on IIT Academic Automation System
Page | 116
4.1.6 User Profile
UI for user profile –
Figure 4.6 User profile page
Report on IIT Academic Automation System
Page | 117
4.1.7 Change Password
UI for change password –
Figure 4.7 Change password page
Report on IIT Academic Automation System
Page | 118
4.1.8 Teacher List
UI for teacher list page –
Figure 4.8 Teacher list page
Report on IIT Academic Automation System
Page | 119
4.1.9 User List
UI for user list page –
Figure 4.9 User list page
Report on IIT Academic Automation System
Page | 120
4.1.10 Register Teacher
UI for register new teacher page –
Figure 4.10 Register teacher page
Report on IIT Academic Automation System
Page | 121
4.1.11 Register User
UI for register user page –
Figure 4.11 Register user page
Report on IIT Academic Automation System
Page | 122
4.1.12 Set Role
UI for set role –
Figure 4.12 Set role page
Report on IIT Academic Automation System
Page | 123
4.1.13 Change Email
UI for change email page –
Figure 4.13 Change email page
Report on IIT Academic Automation System
Page | 124
4.1.14 Batch List
UI for batch list of a program –
Figure 4.14 Batch list page
Report on IIT Academic Automation System
Page | 125
4.1.15 Create Batch
UI for create batch of a program –
Figure 4.15 Create batch page
Report on IIT Academic Automation System
Page | 126
4.1.16 Course List
UI for course list of a program –
Figure 4.16 Course list page
Report on IIT Academic Automation System
Page | 127
4.1.17 Create Course
UI for create course page –
Figure 4.17 Create course page
Report on IIT Academic Automation System
Page | 128
4.1.18 Batch Details
UI for batch details page –
Figure 4.18 Batch details page
Report on IIT Academic Automation System
Page | 129
4.1.19 Admit Students
UI for admit students to a batch –
Figure 4.19 Admit student page
Report on IIT Academic Automation System
Page | 130
4.1.20 Current Student List
UI for current student list of a batch –
Figure 4.20 Current student list page
Report on IIT Academic Automation System
Page | 131
4.1.21 Admitted Student List
UI for admitted student list of a batch –
Figure 4.21 Admitted student list page
Report on IIT Academic Automation System
Page | 132
4.1.22 Update Current Semester
UI for update current semester of a batch –
Figure 4.22 Update current semester of a batch
Report on IIT Academic Automation System
Page | 133
4.1.23 Update Batch Status
UI for update batch status page –
Figure 4.23 Update batch status page
Report on IIT Academic Automation System
Page | 134
4.1.24 Semester Details
UI for semester details of a batch –
Figure 4.24 Semester details page
Report on IIT Academic Automation System
Page | 135
4.1.25 Allocate Students to Semester
UI for allocate students to semester –
Figure 4.25 Allocate students to semester page
Report on IIT Academic Automation System
Page | 136
4.1.26 Allocate Courses to Semester
UI for allocate courses to semester –
Figure 4.26 Allocate courses to semester page
Report on IIT Academic Automation System
Page | 137
4.1.27 Offered Course List
UI for offered course list of a semester –
Figure 4.27 Offered course list page
Report on IIT Academic Automation System
Page | 138
4.1.28 Add Students to Course
UI for add students to course of a semester –
Figure 4.28 Add students to course page
Report on IIT Academic Automation System
Page | 139
4.1.29 Add Teacher to Course
UI for add teacher to course of a semester –
Figure 4.29 Add teacher to course page
Report on IIT Academic Automation System
Page | 140
4.1.30 Download Course Content
UI for download course content page –
Figure 4.30 Download course content page
Report on IIT Academic Automation System
Page | 141
4.1.31 Upload Course Content
UI for upload course content page –
Figure 4.31 Upload course content page
Report on IIT Academic Automation System
Page | 142
Chapter 5 Software Testing
This section describes the following software testing artifacts –
 Test Plan
 Test Case
5.1 Test Plan
Test plan for IIT Academic Automation System includes the following assumptions –
 Tester must have a browser and Internet connection.
 Tester must have an account in the system with required user role.
5.2 Test Case
Test cases for conducting testing against IIT Academic Automation System are given
below –
5.2.1 Test Case 1
1. Test Case Name: Sign in
2. System: IIT Academic Automation System
3. Short Description: Verify sign in with username and password
4. Pre-conditions: User has account in the system with valid username and
password.
5. Post-conditions: User is signed into the system
Step Action Expected System Response Pass /
Fail
1 Click on Log in without
entering email and password
Email and password are
required
Pass
2 Enter email and click on Log in Password is required Pass
3 Enter password and click on
Log in
Email is required Pass
4 Enter wrong email and
password
Email or password is invalid Pass
5 Enter email and password of
which email is not confirmed
Display page with message –
Email is not confirmed
Pass
6 Enter right email and
password
Display page of specific user
role
Pass
Report on IIT Academic Automation System
Page | 143
5.2.2 Test Case 2
1. Test Case Name: Sign out
2. System: IIT Academic Automation System
3. Short Description: Sign out from the system
4. Pre-conditions: User is logged in to the system
5. Post-conditions: User is logged out from the system
Step Action Expected System Response Pass /
Fail
1 Click on user name Display user profile with Sign
out option
Pass
2 Click on Sign out System signs out the user and
display the Log in page
Pass
5.2.3 Test Case 3
1. Test Case Name: Forgot password
2. System: IIT Academic Automation System
3. Short Description: Make a request to reset password if password is forgotten
4. Pre-conditions: User has account in the system
5. Post-conditions: User will get an email with the option to reset password
Step Action Expected System Response Pass /
Fail
1 Go to log in page Pass
2 Click on Forgot password Display forgot password page Pass
3 Enter wrong email Display message – There is no
account with this email
Pass
4 Enter correct email Display page that shows – An
email has been sent to reset
password
Pass
5.2.4 Test Case 4
1. Test Case Name: Update profile
2. System: IIT Academic Automation System
3. Short Description: Update user profile information
4. Pre-conditions: User must be logged in
5. Post-conditions: Profile is successfully updated
Report on IIT Academic Automation System
Page | 144
Step Action Expected System Response Pass /
Fail
1 Click on user name Display profile menu with
Profile button
Pass
2 Click on Profile Display user profile page Pass
3 Click on Update Profile Display user profile with edit
mode
Pass
4 Change field values as
required
Pass
5 Click on Save Display user profile with
updated profile information
Pass
5.2.5 Test Case 5
1. Test Case Name: Change password
2. System: IIT Academic Automation System
3. Short Description: Change user account password
4. Pre-conditions: User must be logged in
5. Post-conditions: Password is successfully changed
Step Action Expected System Response Pass /
Fail
1 Go to user profile Pass
2 Click on Change Password Display page with fields to
change password
Pass
3 Enter current password, new
password and confirm new
password
Pass
4 Click on Save Display page with message –
Password has been
successfully changed
Pass
5.2.6 Test Case 6
1. Test Case Name: Create user
2. System: IIT Academic Automation System
3. Short Description: Create user in the system
4. Pre-conditions: User must be logged in and in specific role
5. Post-conditions: User successfully created in the system
Report on IIT Academic Automation System
Page | 145
Step Action Expected System Response Pass /
Fail
1 Click on Users Display page with user list Pass
2 Click on Register New User Display page with fields to
create user
Pass
3 Fill up the required fields Pass
4 Click on Create User Display page with successful
message
Pass
5.2.7 Test Case 7
1. Test Case Name: Set User Role
2. System: IIT Academic Automation System
3. Short Description: Assign role to user
4. Pre-conditions: User must be logged in and in specific role
5. Post-conditions: User is in specified role
Step Action Expected System Response Pass /
Fail
1 Click on Users Display list of users Pass
2 Click on Set Role Display checkbox list to select
roles
Pass
3 Click on Save Role is assigned and
successful message is
displayed
Pass
5.2.8 Test Case 8
1. Test Case Name: Change Email
2. System: IIT Academic Automation System
3. Short Description: Change email of user account
4. Pre-conditions: User must be logged in and in specific role
5. Post-conditions: Account email is changed to new email
Step Action Expected System Response Pass /
Fail
1 Click on Users Display list of users Pass
2 Click on Change Email Display fields to change email Pass
3 Enter email and confirm email Pass
Report on IIT Academic Automation System
Page | 146
4 Click on Save Display page with message –
Email is successfully changed
and confirmation email has
been sent
Pass
5.2.9 Test Case 9
1. Test Case Name: Create Batch
2. System: IIT Academic Automation System
3. Short Description: Create batch of a program
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Batch is created of the program
Step Action Expected System Response Pass /
Fail
1 Click on program name Display list of batches Pass
2 Click on Create Batch Display program name and
batch no to be created
Pass
3 Click on Confirm Create Display created batch Pass
5.2.10 Test Case 10
1. Test Case Name: Create Students
2. System: IIT Academic Automation System
3. Short Description: Create students of a program’s batch
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Students are created under a batch of a program
Step Action Expected System Response Pass /
Fail
1 Click on a program name of
which students are going to be
created
Display list of batches Pass
2 Click on a batch Display batch info Pass
3 Click on Admit Students Display page with
downloadable formatted file
Pass
4 Click on Download to download
the formatted file
System will download the file Pass
5 Enter students information in
the file
Pass
6 Upload the file by clicking on
Browse and selecting the file
Display page with student
account creation messages
Pass
Report on IIT Academic Automation System
Page | 147
5.2.11 Test Case 11
1. Test Case Name: Update current semester
2. System: IIT Academic Automation System
3. Short Description: Update current semester no. of a batch
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Semester no. is updated to the next semester
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on a batch Display batch info Pass
3 Click on Update in Current
Semester box
Display page to update
semester to the next one
Pass
4 Select the new semester Pass
5 Click on Save Display updated semester Pass
5.2.12 Test Case 12
1. Test Case Name: Update batch status
2. System: IIT Academic Automation System
3. Short Description: Change batch status from active to passed
4. Pre-conditions: User is logged in and in specific role, batch has completed all
semesters of the program
5. Post-conditions: Batch status is now passed
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on a batch Display batch info Pass
3 Click on Update in batch
status box
Display confirm page Pass
4 Click on Confirm Update Display updated batch status Pass
5.2.13 Test Case 13
1. Test Case Name: Allocate student to semester
2. System: IIT Academic Automation System
3. Short Description: Allocate students to a semester of a batch
Report on IIT Academic Automation System
Page | 148
4. Pre-conditions: User is logged in and in specific role, students have passed
the previous semester
5. Post-conditions: Students are added to the semester
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on the semester of a
batch
Display semester information Pass
3 Click on Add Student Display list of eligible
students
Pass
4 Select students to be added Pass
5 Click on Save Display added students of the
semester
Pass
5.2.14 Test Case 14
1. Test Case Name: Allocate course to semester
2. System: IIT Academic Automation System
3. Short Description: Add courses to a semester of a batch
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Courses are added to the semester
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on the semester of a
batch
Display semester information Pass
3 Click on Add Course Display list of remaining
courses of a program
Pass
4 Select courses to be added Pass
5 Click on Save Display list of added courses
to the semester
Pass
5.2.15 Test Case 15
1. Test Case Name: Allocate students to course
2. System: IIT Academic Automation System
3. Short Description: Add students to course of a semester of a batch
Report on IIT Academic Automation System
Page | 149
4. Pre-conditions: User is logged in and in specific role, students have passed
the previous semester and dependent courses
5. Post-conditions: Students are added to the course
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on the semester of a
batch
Display semester information Pass
3 Click on Offered Courses Display list of courses of the
semester
Pass
4 Click on Students of a course Display list of students of the
course if there is any
Pass
5 Click on Add Students Display list of eligible
students
Pass
6 Select students to be added to
the course
Pass
7 Click on Save Display added students to the
course
Pass
5.2.16 Test Case 16
1. Test Case Name: Allocate teachers to course
2. System: IIT Academic Automation System
3. Short Description: Add teachers to course of a semester of a batch
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Teachers are added to the course
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on the semester of a
batch
Display semester information Pass
3 Click on Offered Courses Display list of courses of the
semester
Pass
4 Click on Teachers of a course Display list of teachers of the
course if there is any
Pass
5 Click on Add Teacher Display list of teachers Pass
6 Select teachers to be added to
the course
Pass
Report on IIT Academic Automation System
Page | 150
7 Click on Save Display added teachers to the
course
Pass
5.2.17 Test Case 17
1. Test Case Name: Update students to the next semester
2. System: IIT Academic Automation System
3. Short Description: Assign students of current semester to the next semester
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Students are added to the next semester
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on the semester of a
batch
Display semester information Pass
3 Click on Enrolled Students Display list of students Pass
4 Click on Update Students Display list of students with
checkboxes
Pass
5 Select students to update to
the next semester
Pass
6 Click on Update Display updated students to
the next semester
Pass
5.2.18 Test Case 18
1. Test Case Name: Upload course content
2. System: IIT Academic Automation System
3. Short Description: Upload content of a course that the user teaches
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Content is uploaded and saved in the database
Step Action Expected System Response Pass /
Fail
1 Click on Courses Display list of courses that the
user teaches
Pass
2 Click on upload content of a
course
Display page to upload
content
Pass
3 Click on Browse Display windows explorer to
select a content file
Pass
4 Select file content and click ok File is added in the form Pass
Report on IIT Academic Automation System
Page | 151
5 Click on Upload Display uploaded file name Pass
5.2.19 Test Case 19
1. Test Case Name: Download course content
2. System: IIT Academic Automation System
3. Short Description: Download content of a course of a semester
4. Pre-conditions: User is logged in and in specific role
5. Post-conditions: Content is downloaded from the system
Step Action Expected System Response Pass /
Fail
1 Click on a program name Display list of batches Pass
2 Click on the semester of a
batch
Display semester information Pass
3 Click on Offered Courses Display list of courses of the
semester
Pass
4 Click on Contents of a course Display list of contents of the
course if there is any
Pass
5 Click on Download System will download the
content
Pass
5.2.20 Test Case 20
1. Test Case Name: Delete course content
2. System: IIT Academic Automation System
3. Short Description: Delete uploaded content of a course
4. Pre-conditions: User is logged in and in specific role, the content is uploaded
by the user
5. Post-conditions: Course content is removed from the course
Step Action Expected System Response Pass /
Fail
1 Click on Courses Display list of courses that the
user teaches
Pass
2 Click on Contents Display list of content files
that the user uploaded
Pass
3 Click on Delete Display page to confirm delete Pass
Report on IIT Academic Automation System
Page | 152
4 Click on Confirm Delete Display list of content files
except the deleted one
Pass
Report on IIT Academic Automation System
Page | 153
Chapter 6 User Manual
This section is the user manual for IIT Academic Automation System. The audience
for the manual includes students, teachers, program officers and batch coordinators
of IIT, University of Dhaka. The intent was to make the user manual intuitive and
easy to use.
6.1 Getting Started
Welcome to IIT Academic Automation System. You are going to experience the
collaboration of students, teachers, and batches and courses of different programs in
one place over the Internet. This user manual gives a detailed description of all the
features of IIT Academic Automation System. Let’s get started.
First visit to the application’s home page. To enter into the system, you need an
account. If you have not an account, contact to the program officer of regular or
evening program. After getting an account from the program officer, you need to
activate your account. Check your email to activate your account. Then you can
proceed to log in.
Here is the home page of IIT Academic Automation System before log in –
Figure 6.1 Home page before log in
Report on IIT Academic Automation System
Page | 154
And here is the home page of admin after log in –
Figure 6.2 Home page of admin
Report on IIT Academic Automation System
Page | 155
6.2 User Management
This section describes user related features of IIT Academic Automation System.
6.2.1 Log In
Figure 6.3 Log In page
 Go to home page
 Enter Email
 Enter Password
 Click on Log in
6.2.2 Sign Out
Figure 6.4 User name
 Click on name of the user
Report on IIT Academic Automation System
Page | 156
Figure 6.5 Sign out
 Click on Sign Out
 You will be redirected to log in page
6.2.3 Forgot Password
Figure 6.6 Forgot password
Report on IIT Academic Automation System
Page | 157
 Go to log in page
 Click on Forgot your password?
Figure 6.7 Email for forgot password
 Enter email address of your account
 Click on submit, an email will be sent to your email address with a link to reset
password
Figure 6.8 Reset password email
 Log in to your email account and open the email sent from IIT Academic
Automation System
Report on IIT Academic Automation System
Page | 158
 Click on click here to reset your password, you will be redirected to reset
password page of IIT Academic Automation System
Figure 6.9 Reset password form
 Enter Password and Confirm password
 Click on Submit to reset the password
 You will be redirected to a page displaying reset password confirmation
message
6.2.4 Update User Profile
 Click on name of the user
Report on IIT Academic Automation System
Page | 159
Figure 6.10 User menu
 Click on Profile
Figure 6.11 User profile
Report on IIT Academic Automation System
Page | 160
 Click on Update Profile
Figure 6.12 Edit user profile
 Change user information as required
 Click on Save
6.2.5 Change Password
 Click on name of the user
 Click on Profile
Report on IIT Academic Automation System
Page | 161
Figure 6.13 Change password
 Click on Change Password, you will be redirected to a page with change
password fields
Figure 6.14 Change password form
 Enter current password, new password and confirm new password
Report on IIT Academic Automation System
Page | 162
 Click on Save, you will redirected to a page displaying password change
successful message
6.2.6 Create User
 Click on Users from the menu
 Click on Register New User
Figure 6.15 Create User
 Fill up the required fields
 Click on Create User
6.2.7 Set User Role
 Click on Users from the menu
 Click on Set Role of a user in the user list
Report on IIT Academic Automation System
Page | 163
Figure 6.16 Set user role
 Select role to assign to user
 Click on Save
6.2.8 Change Email of User
 Click on Users
 Click on Change Email of a user from user list
Figure 6.17 Change user email
 Enter Email and Confirm Email
 Click on Save
Report on IIT Academic Automation System
Page | 164
6.2.9 Create Teacher
 Click on Teachers from the menu
 Click on Register New Teacher
Figure 6.18 Create teacher
 Fill up required fields
 Click on Register
6.2.10 Edit Role Name
 Click on Roles from the menu
 Click on Edit to rename a role from the role list
Figure 6.19 Edit role name
 Change role name
Report on IIT Academic Automation System
Page | 165
 Click on Save
6.3 Batch Management
This section describes batch management features of IIT Academic Automation
System.
Figure 6.20 Batch list of BSSE program
6.3.1 Create Batch
 Click on a program name from the menu of which the batch will be created
 Click on Create Batch
Figure 6.21 Create batch
 Enter batch number
 Click on Confirm Create
6.3.2 Admit Students
 Click on program name from the menu
 Click on a batch
Report on IIT Academic Automation System
Page | 166
 Click on Admit Students
Figure 6.22 Admit students
 Click on Download to download the formatted file
 Fill up the downloaded file with students’ information
 Upload the file by clicking the Browse button and selecting the file
 Click on Submit to admit students
6.3.3 Update Current Semester of a Batch
 Click on program name from the menu
 Click on a batch of which the semester will be updated
Figure 6.23 Update current semester of batch
 Click on Update from the Current Semester box
Report on IIT Academic Automation System
Page | 167
 Confirm the semester, the batch will be updated to
6.3.4 Change Batch Status
 Click on program name from the menu
 Click on a batch of which the status will be changed
Figure 6.24 Change batch status
 Click on Update from the Batch Status box
 Confirm status ‘Passed’ by clicking the Confirm button
6.4 Semester Management
This section describes semester management features of IIT Academic Automation
System.
Here is the list of batches and semesters of each batch of a program –
Figure 6.25 List of batches and semesters of a program
Here is the details of a semester of a batch –
Report on IIT Academic Automation System
Page | 168
Figure 6.26 Semester of a batch
6.4.1 Allocate Students to Semester
 Click on program name from the menu
 Click on a batch
 Click on a semester
 Click on Add Student
Figure 6.27 Allocate students to semester
 Select students to be added
 Click on Add Student
6.4.2 Allocate Courses to Semester
 Click on program name from the menu
 Click on a batch
 Click on a semester
 Click on Add Course
Report on IIT Academic Automation System
Page | 169
Figure 6.28 Allocate courses to semester
 Select courses to be added
 Click on Add Course
6.4.3 Allocate Students to Course of a Semester
 Click on program name from the menu
 Click on a batch
 Click on a semester
 Click on View of Offered Courses box
Report on IIT Academic Automation System
Page | 170
Figure 6.29 Offered courses of a semester
 Click on Students of a course
 Click on Add Students
Figure 6.30 Eligible students to add to a course
 Select students
 Click on Add Student
6.4.4 Allocate Teachers to Course of a Semester
 Click on program name from the menu
 Click on a batch
 Click on a semester
 Click on View of Offered Courses box
 Click on Teachers of a course
 Click on Add Teacher
Report on IIT Academic Automation System
Page | 171
 Select teacher
 Click on Add Teacher
6.5 Course Management
This section describes course management features of IIT Academic Automation
System.
Here is the list of courses of BSSE program –
Figure 6.31 BSSE Course list
6.5.1 Create Course of a Program
 Click on a program name
 Click on Courses
 Click on Create Course
Report on IIT Academic Automation System
Page | 172
Figure 6.32 Create course of a program
 Fill up the required fields
 Click on Create
6.5.2 Upload Course Content
 Click on program name from the menu
 Click on a batch
 Click on a semester
 Click on View of Offered Courses box
 Click on Contents of a course
 Click on Upload
 Browse and select the content file to be uploaded
 Click on Upload
6.5.3 Download Course content
 Click on program name from the menu
 Click on a batch
 Click on a semester
 Click on View of Offered Courses box
 Click on Contents of a course
 Click on Download of a content file
 System will download the content
Report on IIT Academic Automation System
Page | 173
If this user manual does not fulfil your need, please contact to system administrator
of IIT Academic Automation System.
Report on IIT Academic Automation System
Page | 174
Chapter 7 Conclusion
The above report will provide the readers with a clear and easy view of IIT Academic
Automation System. To improve the efficiency of the academic system of IIT, it needs
to automate the academic tasks. An academic institute with automated software
system is more effective than paper based manual system. This report is used
effectively to maintain software development cycle. We believe that the reader will
find it in order.
Report on IIT Academic Automation System
Page | 175
Chapter 8 References
[1
]
R. S. Pressman, Software Engineering - A Practitioner's Approach, Seventh ed.,
Mc Graw Hill.
[2
]
"Use case actors," [Online]. Available:
https://blogs.oracle.com/oum/entry/use_case_actors_primary_versus. , Last
Accessed: September 10, 2016
[3
]
"ERD," SmartDraw, [Online]. Available: https://www.smartdraw.com/entity-
relationship-diagram/., Last Accessed: September 15, 2016
[4
]
"ERD," Wikipedia, [Online]. Available:
https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model. , Last
Accessed: November 05, 2016
[5
]
"tutorialspoint.com," [Online]. Available:
https://www.tutorialspoint.com/software_testing/software_testing_documentatio
n.htm., Last Accessed: November 10, 2016

More Related Content

PDF
Software Requirements Specification on Student Information System (SRS on SIS)
PDF
Project Proposal
PDF
Software Project Report
DOTX
Final fyp report template
 
PDF
E-FREELANCING - MAJOR/FINAL YEAR PROJECT DOCUMENTATION
PDF
report_FYP_Nikko_23582685
DOC
Srs sample
PDF
Bpr Project - Attendance Management System
Software Requirements Specification on Student Information System (SRS on SIS)
Project Proposal
Software Project Report
Final fyp report template
 
E-FREELANCING - MAJOR/FINAL YEAR PROJECT DOCUMENTATION
report_FYP_Nikko_23582685
Srs sample
Bpr Project - Attendance Management System

What's hot (20)

PDF
Human Resource Management System
DOCX
Student database management system PROJECT
PDF
SRS for student database management system
PDF
Employee Management System in C++
PPT
Human Resource Management System (HRMS)
DOCX
Srs course managment system
PDF
Feasibility Study Report Personal Information & Leave Management System
DOCX
Android Based Application Project Report.
DOC
Project scheduler doc
DOCX
ERP on School Management System
PDF
Attendance management system project report.
DOCX
AUTOMATED FOOTBALL MANAGEMENT SYSTEM
PDF
Specification based testing
PDF
student mangement
PDF
1 contents about_book
PDF
IT Passport Examination.
DOCX
AUTOMATED LIBRARY MANAGEMENT SYSTEM
PDF
FINAL PROJECT REPORT1
DOC
My Project 003
PDF
Student management system university erp
Human Resource Management System
Student database management system PROJECT
SRS for student database management system
Employee Management System in C++
Human Resource Management System (HRMS)
Srs course managment system
Feasibility Study Report Personal Information & Leave Management System
Android Based Application Project Report.
Project scheduler doc
ERP on School Management System
Attendance management system project report.
AUTOMATED FOOTBALL MANAGEMENT SYSTEM
Specification based testing
student mangement
1 contents about_book
IT Passport Examination.
AUTOMATED LIBRARY MANAGEMENT SYSTEM
FINAL PROJECT REPORT1
My Project 003
Student management system university erp
Ad

Similar to Software Project Report (20)

PPTX
Project Proposal Presentation
PDF
Project Abstract
PPTX
Academic dbms
PDF
Interview_Revised
PPTX
Usability evaluation of the IIT Mandi Website
PDF
An Android Application on AITR Management and Bus Tracking System
PDF
IRJET- Office Automation System
PDF
IRJET- ACE Forum
PPTX
Adhyyan presentation.pptx
DOCX
java desktop app development project using NetBeans
DOCX
College Management System project
PDF
IRJET- Efficient Student Faculty Management System
DOCX
TRAINING REPORT of JAVA batch 2K22 1.docx
PDF
IRJET- Smart College
DOCX
Project report
PDF
Development of a Student Database Management System for a University
PDF
Iimsr student management system
PPT
Eli Sita Presentation 2010
PDF
Automated Class Scheduling System.pdf
PDF
Document_from_rupali_lohar.pdf FGDFGDF DFDG
Project Proposal Presentation
Project Abstract
Academic dbms
Interview_Revised
Usability evaluation of the IIT Mandi Website
An Android Application on AITR Management and Bus Tracking System
IRJET- Office Automation System
IRJET- ACE Forum
Adhyyan presentation.pptx
java desktop app development project using NetBeans
College Management System project
IRJET- Efficient Student Faculty Management System
TRAINING REPORT of JAVA batch 2K22 1.docx
IRJET- Smart College
Project report
Development of a Student Database Management System for a University
Iimsr student management system
Eli Sita Presentation 2010
Automated Class Scheduling System.pdf
Document_from_rupali_lohar.pdf FGDFGDF DFDG
Ad

Recently uploaded (20)

PDF
Updated Idioms and Phrasal Verbs in English subject
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
 
PPTX
master seminar digital applications in india
PDF
Trump Administration's workforce development strategy
PDF
Classroom Observation Tools for Teachers
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Yogi Goddess Pres Conference Studio Updates
PPTX
UNIT III MENTAL HEALTH NURSING ASSESSMENT
PPTX
Orientation - ARALprogram of Deped to the Parents.pptx
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
Computing-Curriculum for Schools in Ghana
Updated Idioms and Phrasal Verbs in English subject
Paper A Mock Exam 9_ Attempt review.pdf.
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Microbial disease of the cardiovascular and lymphatic systems
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
 
master seminar digital applications in india
Trump Administration's workforce development strategy
Classroom Observation Tools for Teachers
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Final Presentation General Medicine 03-08-2024.pptx
Yogi Goddess Pres Conference Studio Updates
UNIT III MENTAL HEALTH NURSING ASSESSMENT
Orientation - ARALprogram of Deped to the Parents.pptx
LDMMIA Reiki Yoga Finals Review Spring Summer
Computing-Curriculum for Schools in Ghana

Software Project Report

  • 1. Report on IIT Academic Automation System SE 801: Project Jobayer Ahmmed BSSE 0502
  • 2. Report on IIT Academic Automation System Report on IIT Academic Automation System SE 801: Project Supervised by – Md. Nurul Ahad Tawhid Assistant Professor Submitted by – Jobayer Ahmmed BSSE 0502 Institute of Information Technology University of Dhaka November 15, 2016
  • 3. Report on IIT Academic Automation System Letter of Transmittal November 15, 2016 Program Committee Institute of Information Technology University of Dhaka Subject: Submission of Project Report Sir: I have prepared the enclosed report on the project “IIT Academic Automation System” for your approval. This report describes the requirements, analysis of the requirements, designs and testing details of the project. The primary purpose of this document is creating a through report for the project we are doing for our course SE 801: Project. This report includes the details of each steps we followed to complete the project. Sincerely yours, ----------------------------------- Jobayer Ahmmed BSSE 0502 Institute of Information Technology University of Dhaka Enclosure: Final Report
  • 4. Report on IIT Academic Automation System Letter of Endorsement This report has been written by Jobayer Ahmmed, BSSE 0502, Institute of Information Technology, University of Dhaka. The report has been prepared under the permission of the supervisor and the data are based on the actual outcomes. ---------------------------------- Md. Nurul Ahad Tawhid Assistant Professor Institute of Information Technology University of Dhaka
  • 5. Report on IIT Academic Automation System Acknowledgement I express my heartiest gratitude to Almighty Allah to complete the report on IIT Academic Automation System in time and without hassles. I would like to thank my project supervisor Md. Nurul Ahad Tawhid for his valuable supervision, advice, instruction and time throughout the project.
  • 6. Report on IIT Academic Automation System Table of Contents Chapter 1 Project Proposal------------------------------------------------------------------------------ 1 1.1 Overview ---------------------------------------------------------------------------------------------- 1 1.1.1 Background------------------------------------------------------------------------------------- 1 1.1.2 Objectives --------------------------------------------------------------------------------------- 1 1.1.3 Scope---------------------------------------------------------------------------------------------- 1 1.1.4 Key Challenges-------------------------------------------------------------------------------- 2 1.1.5 Dependencies and Risks-------------------------------------------------------------------- 2 1.2 Tools and Technologies --------------------------------------------------------------------------- 2 1.3 Project Delivery------------------------------------------------------------------------------------- 3 1.3.1 Deliverables ------------------------------------------------------------------------------------ 3 1.3.2 Timescales -------------------------------------------------------------------------------------- 3 1.4 Summary---------------------------------------------------------------------------------------------- 4 Chapter 2 Software Requirements Specification & Analysis -------------------------------- 5 2.1 Introduction------------------------------------------------------------------------------------------ 5 2.1.1 Purpose ------------------------------------------------------------------------------------------ 5 2.1.2 Intendent Audiences------------------------------------------------------------------------- 5 2.1.3 Document Conventions --------------------------------------------------------------------- 6 2.2 Inception ---------------------------------------------------------------------------------------------- 7 2.2.1 Identifying Stakeholders------------------------------------------------------------------- 7 2.2.2 Asking the First Questions---------------------------------------------------------------- 8 2.2.3 Recognizing Multiple Viewpoints ------------------------------------------------------- 8 2.2.4 Working toward Collaboration ----------------------------------------------------------- 9 2.3 Requirements Elicitation ---------------------------------------------------------------------- 11 2.3.1 Collaborative Requirements Gathering --------------------------------------------- 11 2.3.2 Quality Function Deployment---------------------------------------------------------- 11 2.3.3 Usage Scenario ------------------------------------------------------------------------------ 12 2.4 Scenario-based Model--------------------------------------------------------------------------- 15 2.4.1 Use Case Scenario-------------------------------------------------------------------------- 15 2.4.2 Use Case Description---------------------------------------------------------------------- 16
  • 7. Report on IIT Academic Automation System 2.4.2.1 User Profile Management------------------------------------------------------- 19 2.4.2.1.1 Create User---------------------------------------------------------------------- 22 2.4.2.1.2 View Account Info ------------------------------------------------------------- 25 2.4.2.1.3 Update User Profile----------------------------------------------------------- 26 2.4.2.1.4 View Users----------------------------------------------------------------------- 28 2.4.2.1.5 Change Account Status------------------------------------------------------ 29 2.4.2.2 Batch & Semester Management ---------------------------------------------- 30 2.4.2.2.1 Create Batch -------------------------------------------------------------------- 33 2.4.2.2.2 View Batches of a Program------------------------------------------------- 37 2.4.2.2.3 Change Student Status------------------------------------------------------ 38 2.4.2.2.4 Allocate Students to Semester -------------------------------------------- 40 2.4.2.2.5 Edit Student Allocation of a Semester---------------------------------- 41 2.4.2.2.6 View Students According to Semester---------------------------------- 43 2.4.2.2.7 View Students According to Batch--------------------------------------- 45 2.4.2.3 Course Management -------------------------------------------------------------- 46 2.4.2.3.1 Create Course------------------------------------------------------------------- 50 2.4.2.3.2 Edit Course---------------------------------------------------------------------- 51 2.4.2.3.3 View Courses of a Program------------------------------------------------- 54 2.4.2.3.4 Allocate Courses to Semester---------------------------------------------- 55 2.4.2.3.5 Edit Course Allocation------------------------------------------------------- 56 2.4.2.3.6 View Courses of a Semester------------------------------------------------ 58 2.4.2.3.7 Allocate Teachers to Course------------------------------------------------ 60 2.4.2.3.8 Edit Teacher Allocation ----------------------------------------------------- 61 2.4.2.3.9 View Teaches of a Course--------------------------------------------------- 63 2.4.2.3.10 Allocate Students to Course ---------------------------------------------- 65 2.4.2.3.11 Edit Student Allocation to Course-------------------------------------- 68 2.4.2.3.12 View Students of a Course------------------------------------------------ 69 2.4.2.4 Course Content Management-------------------------------------------------- 71 2.4.2.4.1 Upload Course Content------------------------------------------------------ 73 2.4.2.4.2 View Contents of a Course-------------------------------------------------- 76 2.4.2.4.3 Download Content------------------------------------------------------------- 78
  • 8. Report on IIT Academic Automation System 2.4.2.4.4 Delete Content ----------------------------------------------------------------- 79 2.5 Data Model ----------------------------------------------------------------------------------------- 82 2.5.1 Data Objects and Attributes ------------------------------------------------------------ 82 2.5.2 Relationships between Data Objects ------------------------------------------------- 84 2.5.3 Entity-Relationship Diagram----------------------------------------------------------- 86 2.5.4 Schema----------------------------------------------------------------------------------------- 88 2.6 Class-Based Modeling -------------------------------------------------------------------------- 91 2.6.1 Identifying Analysis Classes------------------------------------------------------------ 91 2.6.2 Specifying Attributes---------------------------------------------------------------------- 92 2.6.3 Defining Operations ----------------------------------------------------------------------- 93 2.6.4 Class Diagram------------------------------------------------------------------------------- 93 2.6.5 Class-Responsibility-Collaborator (CRC) Modeling ----------------------------- 95 2.7 Behavioral Model--------------------------------------------------------------------------------- 97 2.7.1 State Diagram ------------------------------------------------------------------------------- 97 2.7.1.1 State Diagram: User -------------------------------------------------------------- 98 2.7.1.2 State Diagram: Batch------------------------------------------------------------- 99 2.7.1.3 State Diagram: Semester-------------------------------------------------------100 2.7.1.4 State Diagram: Course----------------------------------------------------------101 2.7.1.5 State Diagram: Content --------------------------------------------------------102 2.7.2 Sequence Diagram ------------------------------------------------------------------------103 2.7.2.1 Sequence Diagram: User -------------------------------------------------------103 2.7.2.2 Sequence Diagram: Batch------------------------------------------------------104 2.7.2.3 Sequence Diagram: Semester -------------------------------------------------105 2.7.2.4 Sequence Diagram: Course ----------------------------------------------------106 2.7.2.5 Sequence Diagram: Content---------------------------------------------------107 Chapter 3 Architectural Design --------------------------------------------------------------------108 3.1 Architectural Context Diagram-------------------------------------------------------------108 3.2 Archetypes-----------------------------------------------------------------------------------------108 3.3 Refining the Architecture into Components --------------------------------------------109 Chapter 4 User Interface Design-------------------------------------------------------------------111 4.1 UIs for IIT Academic Automation System ----------------------------------------------111
  • 9. Report on IIT Academic Automation System 4.1.1 Log In------------------------------------------------------------------------------------------111 4.1.2 Forgot Password ---------------------------------------------------------------------------112 4.1.3 Admin Home Page ------------------------------------------------------------------------113 4.1.4 Teacher Home Page-----------------------------------------------------------------------114 4.1.5 Student Home Page-----------------------------------------------------------------------115 4.1.6 User Profile----------------------------------------------------------------------------------116 4.1.7 Change Password--------------------------------------------------------------------------117 4.1.8 Teacher List ---------------------------------------------------------------------------------118 4.1.9 User List--------------------------------------------------------------------------------------119 4.1.10 Register Teacher -------------------------------------------------------------------------120 4.1.11 Register User------------------------------------------------------------------------------121 4.1.12 Set Role -------------------------------------------------------------------------------------122 4.1.13 Change Email -----------------------------------------------------------------------------123 4.1.14 Batch List ----------------------------------------------------------------------------------124 4.1.15 Create Batch ------------------------------------------------------------------------------125 4.1.16 Course List---------------------------------------------------------------------------------126 4.1.17 Create Course-----------------------------------------------------------------------------127 4.1.18 Batch Details------------------------------------------------------------------------------128 4.1.19 Admit Students---------------------------------------------------------------------------129 4.1.20 Current Student List -------------------------------------------------------------------130 4.1.21 Admitted Student List -----------------------------------------------------------------131 4.1.22 Update Current Semester-------------------------------------------------------------132 4.1.23 Update Batch Status--------------------------------------------------------------------133 4.1.24 Semester Details -------------------------------------------------------------------------134 4.1.25 Allocate Students to Semester-------------------------------------------------------135 4.1.26 Allocate Courses to Semester --------------------------------------------------------136 4.1.27 Offered Course List ---------------------------------------------------------------------137 4.1.28 Add Students to Course----------------------------------------------------------------138 4.1.29 Add Teacher to Course -----------------------------------------------------------------139 4.1.30 Download Course Content ------------------------------------------------------------140 4.1.31 Upload Course Content ----------------------------------------------------------------141
  • 10. Report on IIT Academic Automation System Chapter 5 Software Testing--------------------------------------------------------------------------142 5.1 Test Plan -------------------------------------------------------------------------------------------142 5.2 Test Case-------------------------------------------------------------------------------------------142 5.2.1 Test Case 1 ----------------------------------------------------------------------------------142 5.2.2 Test Case 2 ----------------------------------------------------------------------------------143 5.2.3 Test Case 3 ----------------------------------------------------------------------------------143 5.2.4 Test Case 4 ----------------------------------------------------------------------------------143 5.2.5 Test Case 5 ----------------------------------------------------------------------------------144 5.2.6 Test Case 6 ----------------------------------------------------------------------------------144 5.2.7 Test Case 7 ----------------------------------------------------------------------------------145 5.2.8 Test Case 8 ----------------------------------------------------------------------------------145 5.2.9 Test Case 9 ----------------------------------------------------------------------------------146 5.2.10 Test Case 10 -------------------------------------------------------------------------------146 5.2.11 Test Case 11 -------------------------------------------------------------------------------147 5.2.12 Test Case 12 -------------------------------------------------------------------------------147 5.2.13 Test Case 13 -------------------------------------------------------------------------------147 5.2.14 Test Case 14 -------------------------------------------------------------------------------148 5.2.15 Test Case 15 -------------------------------------------------------------------------------148 5.2.16 Test Case 16 -------------------------------------------------------------------------------149 5.2.17 Test Case 17 -------------------------------------------------------------------------------150 5.2.18 Test Case 18 -------------------------------------------------------------------------------150 5.2.19 Test Case 19 -------------------------------------------------------------------------------151 5.2.20 Test Case 20 -------------------------------------------------------------------------------151 Chapter 6 User Manual -------------------------------------------------------------------------------153 6.1 Getting Started ----------------------------------------------------------------------------------153 6.2 User Management ------------------------------------------------------------------------------155 6.2.1 Log In------------------------------------------------------------------------------------------155 6.2.2 Sign Out --------------------------------------------------------------------------------------155 6.2.3 Forgot Password ---------------------------------------------------------------------------156 6.2.4 Update User Profile-----------------------------------------------------------------------158 6.2.5 Change Password--------------------------------------------------------------------------160
  • 11. Report on IIT Academic Automation System 6.2.6 Create User----------------------------------------------------------------------------------162 6.2.7 Set User Role -------------------------------------------------------------------------------162 6.2.8 Change Email of User--------------------------------------------------------------------163 6.2.9 Create Teacher -----------------------------------------------------------------------------164 6.2.10 Edit Role Name---------------------------------------------------------------------------164 6.3 Batch Management-----------------------------------------------------------------------------165 6.3.1 Create Batch --------------------------------------------------------------------------------165 6.3.2 Admit Students ----------------------------------------------------------------------------165 6.3.3 Update Current Semester of a Batch -----------------------------------------------166 6.3.4 Change Batch Status---------------------------------------------------------------------167 6.4 Semester Management ------------------------------------------------------------------------167 6.4.1 Allocate Students to Semester --------------------------------------------------------168 6.4.2 Allocate Courses to Semester----------------------------------------------------------168 6.4.3 Allocate Students to Course of a Semester----------------------------------------169 6.4.4 Allocate Teachers to Course of a Semester----------------------------------------170 6.5 Course Management ---------------------------------------------------------------------------171 6.5.1 Create Course of a Program------------------------------------------------------------171 6.5.2 Upload Course Content------------------------------------------------------------------172 6.5.3 Download Course content---------------------------------------------------------------172 Chapter 7 Conclusion ----------------------------------------------------------------------------------174 Chapter 8 References ----------------------------------------------------------------------------------175 List of Tables Table 2.1 Use case scenario --------------------------------------------------------------------------- 16 Table 2.2 Data objects and attributes ------------------------------------------------------------- 83 Table 2.3 Potential classes ---------------------------------------------------------------------------- 92 Table of Figures Figure 1.1 Timescale -------------------------------------------------------------------------------------- 3 Figure 1.2 Gantt chart of timescale ------------------------------------------------------------------ 3
  • 12. Report on IIT Academic Automation System Figure 2.1 Use case diagram – IIT Academic Automation System----------------------- 17 Figure 2.2 Use case diagram (elaborated) – IIT Academic Automation System----- 18 Figure 2.3 Use case diagram – User profile management ---------------------------------- 19 Figure 2.4 Activity diagram – User profile management ----------------------------------- 20 Figure 2.5 Swimlane diagram – User profile management--------------------------------- 21 Figure 2.6 Activity diagram - Create user ------------------------------------------------------- 23 Figure 2.7 Swimlane diagram - Create user----------------------------------------------------- 24 Figure 2.8 Activity diagram - View account info ----------------------------------------------- 25 Figure 2.9 Swimlane diagram - View account info -------------------------------------------- 26 Figure 2.10 Activity diagram - Update user profile------------------------------------------- 27 Figure 2.11 Activity diagram - View users------------------------------------------------------- 28 Figure 2.12 Activity diagram - Change account status -------------------------------------- 30 Figure 2.13 Use case diagram - Batch & semester Management------------------------- 31 Figure 2.14 Activity diagram – Batch & semester management ------------------------- 32 Figure 2.15 Swimlane diagram – Batch & semester management ---------------------- 33 Figure 2.16 Activity diagram- Create batch----------------------------------------------------- 35 Figure 2.17 Swimlane diagram - Create batch ------------------------------------------------- 36 Figure 2.18 Activity diagram - View batches of a program--------------------------------- 38 Figure 2.19 Activity diagram - Change student status -------------------------------------- 39 Figure 2.20 Activity diagram - Allocate students to semester----------------------------- 41 Figure 2.21 Activity diagram - Edit student allocation of a semester------------------- 43 Figure 2.22 Activity diagram - View students according to semester------------------- 44 Figure 2.23 Activity diagram - View students according to batch------------------------ 45 Figure 2.24 Use case diagram - Course management ---------------------------------------- 47 Figure 2.25 Activity diagram – Course management ---------------------------------------- 48 Figure 2.26 Swimlane diagram – Course management-------------------------------------- 49 Figure 2.27 Activity diagram - Create course--------------------------------------------------- 51 Figure 2.28 Activity diagram - Edit course ------------------------------------------------------ 53 Figure 2.29 Activity diagram - View courses of a program --------------------------------- 54 Figure 2.30 Activity diagram - Allocate courses to semester------------------------------- 56 Figure 2.31 Activity diagram - Edit course allocation---------------------------------------- 58 Figure 2.32 Activity diagram - View courses of a semester--------------------------------- 59 Figure 2.33 Activity diagram - Allocate teachers to course--------------------------------- 61 Figure 2.34 Activity diagram - Edit teacher allocation -------------------------------------- 63 Figure 2.35 Activity diagram - View teachers of a course----------------------------------- 65 Figure 2.36 Activity diagram - Allocate students to course -------------------------------- 67 Figure 2.37 Activity diagram - Edit student allocation to course------------------------- 69 Figure 2.38 Activity diagram - View students of a course ---------------------------------- 70 Figure 2.39 Use case diagram - Course content management----------------------------- 71 Figure 2.40 Activity diagram – Course content management ----------------------------- 72 Figure 2.41 Swimlane diagram – Course content management -------------------------- 73
  • 13. Report on IIT Academic Automation System Figure 2.42 Activity diagram - Upload course content--------------------------------------- 75 Figure 2.43 Swimlane diagram - Upload course content ------------------------------------ 76 Figure 2.44 Activity diagram - View contents of a course----------------------------------- 77 Figure 2.45 Swimlane diagram - View course contents-------------------------------------- 78 Figure 2.46 Activity diagram - Download content--------------------------------------------- 79 Figure 2.47 Activity diagram - Delete content-------------------------------------------------- 80 Figure 2.48 Data objects and attributes ---------------------------------------------------------- 84 Figure 2.49 Relationships between data objects ----------------------------------------------- 85 Figure 2.50 E-R diagram of IIT Academic Automation System--------------------------- 87 Figure 2.51 Class Diagram---------------------------------------------------------------------------- 94 Figure 2.52 State diagram for the User class --------------------------------------------------- 98 Figure 2.53 State diagram for the Batch class-------------------------------------------------- 99 Figure 2.54 State diagram for the Semester class--------------------------------------------100 Figure 2.55 State diagram for the Course class -----------------------------------------------101 Figure 2.56 State diagram for the Content class---------------------------------------------102 Figure 2.57 Sequence diagram for the User class --------------------------------------------103 Figure 2.58 Sequence diagram for the Batch class-------------------------------------------104 Figure 2.59 Sequence diagram for the Semester class --------------------------------------105 Figure 2.60 Sequence diagram for the Course class -----------------------------------------106 Figure 2.61 Sequence diagram for the Content class----------------------------------------107 Figure 3.1 Architectural Context Diagram -----------------------------------------------------108 Figure 3.2 Archetype of IIT Academic Automation System -------------------------------109 Figure 3.3 Architectural Structure of User Management----------------------------------109 Figure 3.4 Architectural Structure of Batch Management --------------------------------110 Figure 3.5 Architectural Structure of Course Management-------------------------------110 Figure 4.1 Log In page---------------------------------------------------------------------------------111 Figure 4.2 Forgot password page ------------------------------------------------------------------112 Figure 4.3 Admin home page------------------------------------------------------------------------113 Figure 4.4 Teacher home page ----------------------------------------------------------------------114 Figure 4.5 Student home page ----------------------------------------------------------------------115 Figure 4.6 User profile page -------------------------------------------------------------------------116 Figure 4.7 Change password page -----------------------------------------------------------------117 Figure 4.8 Teacher list page -------------------------------------------------------------------------118 Figure 4.9 User list page------------------------------------------------------------------------------119 Figure 4.10 Register teacher page -----------------------------------------------------------------120 Figure 4.11 Register user page ---------------------------------------------------------------------121 Figure 4.12 Set role page -----------------------------------------------------------------------------122 Figure 4.13 Change email page---------------------------------------------------------------------123 Figure 4.14 Batch list page --------------------------------------------------------------------------124 Figure 4.15 Create batch page ----------------------------------------------------------------------125 Figure 4.16 Course list page-------------------------------------------------------------------------126
  • 14. Report on IIT Academic Automation System Figure 4.17 Create course page---------------------------------------------------------------------127 Figure 4.18 Batch details page----------------------------------------------------------------------128 Figure 4.19 Admit student page--------------------------------------------------------------------129 Figure 4.20 Current student list page------------------------------------------------------------130 Figure 4.21 Admitted student list page----------------------------------------------------------131 Figure 4.22 Update current semester of a batch ----------------------------------------------132 Figure 4.23 Update batch status page------------------------------------------------------------133 Figure 4.24 Semester details page-----------------------------------------------------------------134 Figure 4.25 Allocate students to semester page-----------------------------------------------135 Figure 4.26 Allocate courses to semester page-------------------------------------------------136 Figure 4.27 Offered course list page --------------------------------------------------------------137 Figure 4.28 Add students to course page --------------------------------------------------------138 Figure 4.29 Add teacher to course page----------------------------------------------------------139 Figure 4.30 Download course content page -----------------------------------------------------140 Figure 4.31 Upload course content page---------------------------------------------------------141 Figure 6.1 Home page before log in ---------------------------------------------------------------153 Figure 6.2 Home page of admin --------------------------------------------------------------------154 Figure 6.3 Log In page---------------------------------------------------------------------------------155 Figure 6.4 User name----------------------------------------------------------------------------------155 Figure 6.5 Sign out -------------------------------------------------------------------------------------156 Figure 6.6 Forgot password--------------------------------------------------------------------------156 Figure 6.7 Email for forgot password-------------------------------------------------------------157 Figure 6.8 Reset password email-------------------------------------------------------------------157 Figure 6.9 Reset password form--------------------------------------------------------------------158 Figure 6.10 User menu --------------------------------------------------------------------------------159 Figure 6.11 User profile-------------------------------------------------------------------------------159 Figure 6.12 Edit user profile-------------------------------------------------------------------------160 Figure 6.13 Change password-----------------------------------------------------------------------161 Figure 6.14 Change password form ---------------------------------------------------------------161 Figure 6.15 Create User ------------------------------------------------------------------------------162 Figure 6.16 Set user role------------------------------------------------------------------------------163 Figure 6.17 Change user email ---------------------------------------------------------------------163 Figure 6.18 Create teacher---------------------------------------------------------------------------164 Figure 6.19 Edit role name---------------------------------------------------------------------------164 Figure 6.20 Batch list of BSSE program---------------------------------------------------------165 Figure 6.21 Create batch -----------------------------------------------------------------------------165 Figure 6.22 Admit students--------------------------------------------------------------------------166 Figure 6.23 Update current semester of batch ------------------------------------------------166 Figure 6.24 Change batch status-------------------------------------------------------------------167 Figure 6.25 List of batches and semesters of a program -----------------------------------167 Figure 6.26 Semester of a batch--------------------------------------------------------------------168
  • 15. Report on IIT Academic Automation System Figure 6.27 Allocate students to semester ------------------------------------------------------168 Figure 6.28 Allocate courses to semester --------------------------------------------------------169 Figure 6.29 Offered courses of a semester ------------------------------------------------------170 Figure 6.30 Eligible students to add to a course ----------------------------------------------170 Figure 6.31 BSSE Course list -----------------------------------------------------------------------171 Figure 6.32 Create course of a program ---------------------------------------------------------172
  • 16. Report on IIT Academic Automation System Page | xvi Executive Summary The purpose of IIT Academic Automation System is to automate the manual academic system of IIT. It is a web-based system where students, teachers and program officers can collaborate the academic works of IIT. Students can view the courses, course teachers and course contents, teachers can manage course contents of different programs, and program officers can manage students, teachers and courses of different programs, batches and semesters. This document will provide the details of the development life cycle of the project.
  • 17. Report on IIT Academic Automation System Page | 1 Chapter 1 Project Proposal This chapter contains the proposal of the project IIT Academic Automation System. 1.1 Overview This document contains the brief description of IIT Academic Automation System which will be developed for the course: SE-801 Project. It also describes project objectives, scope of the project, key challenges, tools and technologies, deliverables and timescales. 1.1.1 Background Institute of Information Technology (IIT), University of Dhaka creates efficient manpower in information technology. IIT currently offers Bachelor of Science in Software Engineering (BSSE), Master of Science in Software Engineering (MSSE), Master in Information Technology (MIT) and Post Graduate Diploma in Information Technology (PGDIT). IIT has to do a lot of works manually to run these programs. It has become necessary for IIT to automate these works. IIT Academic Automation System will automate some of these works. 1.1.2 Objectives The objectives of the project are –  To implement the learnings of the previous seven semesters.  To develop a software product following complete software engineering processes – requirements specification, software design, testing etc.  To follow appropriate design patterns, algorithms and software practices.  To learn how to adapt with new technologies and implement them.  To understand a real-life software project. 1.1.3 Scope Here are the scopes of the project -  The application will be developed for the use of IIT, University of Dhaka.  Students, teachers, program officer and accountant of IIT will use the application.
  • 18. Report on IIT Academic Automation System Page | 2  The application will provide facilities to the users to manage courses in different semesters, assign courses to students, manage students of different batch, academic year and semester, manage contents of the courses, and keep track of students’ semester fee payment. Our activities in the IIT Academic Automation System are –  Management of user account: create and initiate users according to user role in the system.  Management of user profile: update user profile information, change password etc.  Course management: create and initialize courses, allocate students and teachers to course and allocate courses to semester.  Management of batch, academic year and semester: create batch, allocate students to batch, academic year and semester.  Course content management: store and manage course contents uploaded by course teachers.  Keeping track of semester fee payment: update payment status, show status to student. 1.1.4 Key Challenges We have to complete the project following the standard software engineering processes. We also have to learn new technologies and tools, and implement them in the project. 1.1.5 Dependencies and Risks The project is divided into two subsystems which will be developed by two individuals. There has data dependency on each subsystem to another. One subsystem’s output may be the input of another subsystem. The estimated size of the project is large enough compared to available time. It is a risk to complete and deliver the project within time. 1.2 Tools and Technologies We will use the following tools and technologies –  ASP.Net MVC  Entity Framework  SQL Server Express 2014  Visual Studio 2015  Git
  • 19. Report on IIT Academic Automation System Page | 3 1.3 Project Delivery This project will be developed according to a timescale. After developing, this will be submitted with necessary deliverables. 1.3.1 Deliverables I will deliver the product with necessary contents. The following contents will be delivered –  Project with source code  User manual  Documentation 1.3.2 Timescales I will complete the project maintaining a timescale so that I can deliver the project in time. I will give enough time for both requirement analysis, software design, coding and testing. Finally I will integrate the software components into a single one. Figure 1.1 Timescale Figure 1.2 Gantt chart of timescale
  • 20. Report on IIT Academic Automation System Page | 4 1.4 Summary I have discussed my project overview including background of the project, scope, project objectives and timescales. Next I am going to gather and analyze requirements of the project.
  • 21. Report on IIT Academic Automation System Page | 5 Chapter 2 Software Requirements Specification & Analysis This chapter contains the requirements of the project and the analysis of the requirements. 2.1 Introduction This section intends to specify the purpose of the document and the intendent audiences of it. 2.1.1 Purpose The document is about the Software Requirements Specification (SRS) for the IIT Academic Automation System. The purpose of this document is to give a detailed description of the requirements for the IIT Academic Automation System. The SRS serves as the official means of communicating user requirements to the developer and provides a common reference point for both the developer team and the stakeholder community. The SRS will evolve over time as users and developers work together to validate, clarify and expand its contents. 2.1.2 Intendent Audiences The intendent audiences of the document are the client and the software engineer.  The client will use this SRS to verify that the software engineer has created a product that is acceptable to the client.  The software engineer will use this SRS to plan milestones and a delivery date, and ensure that the development of the system is on track.  The software engineer will use the SRS as a basis for creating the system design. He will continually refer back to the SRS to ensure that the system he is designing will fulfill the user needs. He will also use this SRS as a basis for developing the application’s functionality. He will use this SRS to derive test plans and test cases for each documented requirement. When portions of the application are completed, the software engineer will run the tests to ensure that the application fulfills the requirements documented in this SRS. He will also run the tests again when it is completed and ensure that all requirements documented in this SRS have been fulfilled.
  • 22. Report on IIT Academic Automation System Page | 6 2.1.3 Document Conventions The document will freely use the pronoun “we” although the project team consists of one member. Again the words “system” and “application” will be used interchangeably throughout the document. As the development team is responsible for the SRS document, no ambiguity arises from its usage.
  • 23. Report on IIT Academic Automation System Page | 7 2.2 Inception Inception discusses the steps required to establish the groundwork for an understanding of software requirements – to get the project started in a way that will keep it moving forward toward a successful solution. [1] To establish the groundwork we have worked with the following factors related to the inception phases:  Identifying Stakeholders  Asking the First Questions  Recognizing Multiple Viewpoints  Working toward Collaboration 2.2.1 Identifying Stakeholders A stakeholder is anyone who benefits in a direct or indirect way from the system which is being developed. Stakeholders may be business operations managers, product managers, marketing people, internal and external customers, end users, consultants, product engineers, software engineers, support and maintenance engineers, and others. Each stakeholder has a different view of the system, achieves different benefits when the system is successfully developed, and is open to different risks if the development effort should fail. [1] To identify the stakeholders we consulted with one of the faculties of IIT who conducts courses both in regular and evening program. We asked him following questions –  Who will be using the project outcomes?  Who has resources I need to get the project done?  Whose work will my project affect?  Whom else do you think I should talk to? We identified following stakeholders for the IIT Academic Automation System – 1. Students: Students will use the system to get information about their course programs. Using this system, they will know which courses are they taking as well as who are the course teachers. They will also be able to see the details of the courses, the contents of the courses and they can download the course contents. 2. Teachers: Teachers can see which courses in which programs are they conducting classes as well as which students are taking those courses. 3. Program officer: Program officer can maintain the students of a semester, of a batch and of a program. He/she can maintain the courses of a semester and of a program. He/she can assign which teacher will take which course in a semester of a program.
  • 24. Report on IIT Academic Automation System Page | 8 2.2.2 Asking the First Questions We set our first set of context-free questions focuses on the client and other stakeholders, overall project goals and benefits –  Who will use the system?  What will be the benefit of a successful system?  Is there another source of the solution? We asked the next set of questions to gain a better understanding of the problem and to allow the client to voice his or her perceptions about a solution –  What problem(s) will this system address?  Can you show me the environment in which the system will be used?  Will special performance issues or constraints affect the way the solution is approached? The final set of questions focuses on the effectiveness of the communication activity itself –  Are you the right person to answer these questions?  Are my questions relevant to the problem you have?  Am I asking too many questions?  Can anyone provide additional information?  Should I be asking you anything else? These questions and others has helped to break the ice and initiate the communication that is essential to successful elicitation. 2.2.3 Recognizing Multiple Viewpoints Because many different stakeholders exist, the requirements of the system will be explored from many different points of view. We collect these viewpoints by discussing with the stakeholders. The multiple viewpoints are given below – 1. Students  A web-based system.  A system with enough security.  A system which has effective authentication.  User friendly interface.  Easy access.  Account with BSSE email (BSSE students), personal email (PGDIT, MIT students).  Can view the offered courses and course teachers.  Can view the taken courses and course teachers.
  • 25. Report on IIT Academic Automation System Page | 9  Can manage their own profile. 2. Teachers  A web-based system.  A system which has a secured database.  A system which has effective authentication.  Can view the students of a semester.  Can view the students of a batch.  Can view the courses of a program a teacher has been conducting.  Can manage their own profile. 3. Program officer  A web-based system.  Can create students’ accounts from an excel or csv file.  User friendly interface.  Easy to manage information.  Can manage students according to semester, batch, and program. 2.2.4 Working toward Collaboration Every stakeholder has their own requirements. We followed the following steps to merge these requirements –  Identify the common and conflicting requirements.  Categorize the requirements.  Take priority points for each requirement from stakeholders and on the basis of this voting prioritize the requirements.  Make final decision about the requirements. Common requirements  User friendly interface.  Web-based system.  Easy Access.  Every user will have individual account.  Maintain a database with enough security.  A secure authentication system.  Management of students according to semester, batch and program.  Teachers can upload course contents.  Students can view and download course contents. Conflicting requirements We found some requirements conflicting to each other. The conflicting requirements are listed below –  Easy access but strong authentication system.
  • 26. Report on IIT Academic Automation System Page | 10  User friendly system but enough security. Final requirements We finalized following requirements for the system by categorizing and prioritizing the requirements –  A web-based system.  User friendly interface.  Easy access.  User with individual account.  A secure authentication system.  A secure database.  User can maintain their individual account.  Students’ information will be managed according to semester, batch and program.  Students can view courses and course teachers of their respective program.  Teachers can view courses that they have been conducting in different programs.  Program officer can create and manage students according to semester, batch and program.
  • 27. Report on IIT Academic Automation System Page | 11 2.3 Requirements Elicitation Requirements elicitation or requirements gathering combines elements of problem solving, elaboration, negotiation, and specification. In order to encourage a collaborative, team-oriented approach to requirements gathering, stakeholders work together to identify the problem, propose elements of the solution, negotiate different approaches and specify a preliminary set of solution requirements. [1] 2.3.1 Collaborative Requirements Gathering Many different approaches to collaborative requirements gathering have been proposed. Each makes use of a slightly different scenario. We completed following steps to do it.  The meetings were conducted with teachers, students and program officers. They were questioned about requirements and expectations from the IIT Academic Automation System.  They were asked about the problems they are facing with the current manual system. At last we selected our final requirements list from the meetings. 2.3.2 Quality Function Deployment Quality function deployment (QFD) is a quality management technique that translates the needs of the customer into technical requirements for software. QFD concentrates on maximizing customer satisfaction from the software engineering process. To accomplish this, QFD emphasizes an understanding of what is valuable to the customer and then deploys these values throughout the engineering process. [1] QFD identifies three types of requirements – Normal requirements Normal requirements consist of objectives and goals that are stated during the meeting with the customers. Normal requirements of our project are –  Program officer can manage batches according to program.  Program officer can manage students according to program, batch, semester and course.  Program officer can manage courses according to program, batch and semester.  Program officer can manage teachers according to course.  Teacher can manage course contents.  Student can get information about offered courses in a program and semester, courses he or she has taken in a semester, and course teachers.  Student can know about courses – course credits, dependent courses of a course etc.
  • 28. Report on IIT Academic Automation System Page | 12  Student can download course content. Expected requirements These requirements are implicit to the system and may be so fundamental that the customer does not explicitly state them. Their absence will be a cause for dissatisfaction. Expected requirements are –  A web-based application.  User with individual user account.  User friendly interface. Exciting requirements These requirements are for features that go beyond the customer's expectations and prove to be very satisfying when present. Exciting requirements are –  The web pages of the application will be responsive in respect to devices through which it will be accessed. 2.3.3 Usage Scenario Institute of Information Technology (IIT), University of Dhaka started its journey in June 2001 to create efficient manpower in information technology. IIT currently offers Bachelor of Science in Software Engineering (BSSE), Master of Science in Software Engineering (MSSE), Master in Information Technology (MIT) and Post Graduate Diploma in Information Technology (PGDIT). Student account Every year students get admitted to IIT in BSSE, MSSE, PGDIT and MIT programs. In each program students are admitted according to specific batch. They provide necessary information to IIT while getting admission. After getting admission, only BSSE students get individual email account from IIT. They use these email accounts throughout the IIT life. But PGDIT and MIT students give their personal email accounts to IIT. After admission, program officer will create student accounts in the system with email id as username and a common password. An activation email will go to the student’s email account. Students must login to their email accounts and activate the accounts. After activation, students will login to the system and update their profiles. Student account may have four status – active, inactive, passed and waiting. Program officer changes the status of the student account. Active students will be able to continue a semester. Students are inactive who are not allowed to interact with the system currently. Program officer will be able to activate an inactive student and that student will continue with the remaining year. Students are passed who have
  • 29. Report on IIT Academic Automation System Page | 13 completed their degree. If a student fails in a semester, his/her status will be waiting. For BSSE and MSSE students, they have to continue the year with the following batch. For PGDIT and MIT students, they have to complete the failed courses with the following batch. Teacher account Program officer will create teachers’ accounts in the system with email, full name, designation, qualification and duty status. The username will be the email address and the password will be common to all. An activation email will go to the teacher’s email account. Teachers must login to their email accounts and activate the accounts. After activation, teachers will login to the system and update their profiles. Teacher account may have three status – active, inactive and waiting. Program officer changes the account status. Waiting teachers are those who are on leave and they will not be available in teacher allocation section. Inactive teachers are those who are not working as faculties anymore and they will not perform any activity in the system. From the system, program officer can view the registered users according to user category – student and teacher. He/she can delete a user account. Batch & semester Every program consists of several semesters. Every year students get admitted to a program under a specific batch number. Program officer will create this batch of each program. Every batch has two status – active or inactive. Batches that are continuing are active and that have passed are inactive. Program officer can change the batch status. He/she will also update the current semester number of a batch. He/she will be able to view students according to batch and semester of a program. Course A student has to take several courses in a semester. Each course has a course code, course title and number of credits. Program officer will create courses under specific program. Program officer will be able to view and edit courses of a program. BSSE program consists of 8 semesters and each student must take 18 credits in each semester. BSSE students have to complete compulsory courses till 7th semester. In 8th semester, they have to take optional courses and compulsory courses. MSSE program consists of three semesters. Students have to complete 36 credits to obtain the degree. In first semester, students have to complete compulsory courses. In second semester, they take optional courses and conduct a thesis. The thesis continues till 3rd semester.
  • 30. Report on IIT Academic Automation System Page | 14 PGDIT program consists of three semesters. Students have to complete 36 credits to obtain the degree. Students have to take several courses in each semester. A course may be dependent on one or more courses and to take that course, a student has to complete the dependent course(s). MIT program extends over four semesters. Students have to complete 36 credits to obtain the degree. In each semester, students take several courses. Courses may be compulsory or optional. Course allocation At the beginning of every semester, program officer will allocate courses for each semester of a program. Program officer can view and edit the course allocation. Student allocation Program officer will allocate students in the beginning of every semester. He/she can view and edit the allocation. Again program officer will allocate students in every course of a semester. Program officer can view and edit the student allocation of a course. Teacher allocation One or more teachers can take a course of a semester. Program officer will allocate teachers for each course at the beginning of a semester. Content management Teachers can upload contents for their courses. Course content has a title and a short description. Students can download the contents according to their needs.
  • 31. Report on IIT Academic Automation System Page | 15 2.4 Scenario-based Model In this model the system is described from the users’ point of view. As this is the first model, it serves as input for creation of other modeling elements. 2.4.1 Use Case Scenario As requirements are gathered, an overall vision of system functions and features begins to materialize. To understand how these functions and features will be used by different classes of end users, developers and users, create a set of scenarios, called use case scenario, that identify a thread of usage for the system to be constructed. Level 0 Level 1 Level 2 Actor IIT Academic Automation System User profile management Create user Program officer View account info Student, Teacher, Program Officer Update user profile Student, Teacher, Program Officer View users Program officer Change account status Program officer Batch & semester management Create batch Program officer View batches Program officer Change student status Program officer Allocate students to semester Program officer Edit student allocation to semester Program officer View students according to semester Program officer View students according to batch Program officer Course management Create course Program officer Edit course Program officer View courses of a program Program officer, Student, Teacher Allocate courses to semester Program officer
  • 32. Report on IIT Academic Automation System Page | 16 Edit course allocation Program officer View courses of a semester Program officer, Student, Teacher Allocate teachers to course Program officer Edit teacher allocation Program officer View teachers of a course Program officer, Student, Teacher Allocate students to course Program officer Edit student allocation to a course Program officer View students of a course Program officer Course content management Upload content of a course Teacher View contents Teacher, Student Download content Teacher, Student Delete content Teacher Table 2.1 Use case scenario 2.4.2 Use Case Description A use case describes a specific usage scenario in straightforward language from the point of view of a defined actor. Actors are of two types: Primary actor: The Actor(s) using the system to achieve a goal. The use case documents the interactions between the system and the actors to achieve the goal of the primary actor. [2] Secondary actor: Actors that the system needs assistance from to achieve the primary actor’s goal. [2] The identified actors of IIT Academic Automation System are –  Student  Teacher  Program officer An activity diagram supplements the use case by providing a graphical representation of the flow of interaction within a specific scenario. The swimlane
  • 33. Report on IIT Academic Automation System Page | 17 diagram is a useful variation of the activity diagram and allows to represent the flow of activities described by the use case and at the same time indicate which actor has responsibility for the action described by an activity rectangle. [1] We shall elaborate use case scenario to use case diagram, use case description, activity diagram & swimlane diagram. Use case diagram: Use case diagram of Level 0 – IIT Academic Automation System is given below: Figure 2.1 Use case diagram – IIT Academic Automation System
  • 34. Report on IIT Academic Automation System Page | 18 Use case diagram: Elaborated use case diagram Level 1 of Level 0 – IIT Academic Automation System is given below: Figure 2.2 Use case diagram (elaborated) – IIT Academic Automation System
  • 35. Report on IIT Academic Automation System Page | 19 2.4.2.1 User Profile Management This section describes the use case diagram, activity diagram and swimlane diagram of user profile management. Use case diagram: Use case diagram of Level 1.1 – User profile management is given below - Figure 2.3 Use case diagram – User profile management
  • 36. Report on IIT Academic Automation System Page | 20 Activity diagram: Activity diagram of user profile management is given below – Figure 2.4 Activity diagram – User profile management
  • 37. Report on IIT Academic Automation System Page | 21 Swimlane diagram: Swimlane diagram of user profile management is given below – Figure 2.5 Swimlane diagram – User profile management
  • 38. Report on IIT Academic Automation System Page | 22 2.4.2.1.1 Create User Use case, activity diagram and swimlane diagram of create user are given below - Use case: Create user 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To create user in the system. 4. Preconditions: Appropriate user id and password must be obtained. 5. Scenario:  Program officer logs in to the system.  Program officer selects “create user”.  Program officer uploads a csv file with user information.  Program officer selects “create” button.  System displays the user creation message. 6. Exceptions:  Username or password are incorrect or not recognized.  Cannot read the csv file.  User information is not valid.  Cannot save into the database.
  • 39. Report on IIT Academic Automation System Page | 23 Activity diagram: Activity diagram of Create user is given below – Figure 2.6 Activity diagram - Create user
  • 40. Report on IIT Academic Automation System Page | 24 Swimlane diagram: Swimlane diagram of Create user is given below – Figure 2.7 Swimlane diagram - Create user
  • 41. Report on IIT Academic Automation System Page | 25 2.4.2.1.2 View Account Info Use case, activity diagram and swimlane diagram of view account info are given below - Use case: View account info 1. Primary actors: Student, Teacher, Program Officer. 2. Secondary actors: None. 3. Goal in context: See the profile information of user. 4. Preconditions: Appropriate user id and password must be obtained. 5. Scenario:  User (Student, Teacher, Program officer) logs in to the system.  User selects “view profile”. 6. Exception:  Username or password are incorrect or not recognized. Activity diagram: Activity diagram of View account info is given below - Figure 2.8 Activity diagram - View account info
  • 42. Report on IIT Academic Automation System Page | 26 Swimlane diagram: Swimlane diagram of View account info is given below - Figure 2.9 Swimlane diagram - View account info 2.4.2.1.3 Update User Profile Use case, activity diagram and swimlane diagram of update user profile are given below - Use case: Update user profile 1. Primary actors: Student, Teacher, Program officer. 2. Secondary actors: None. 3. Goal in context: Change the profile information of user. 4. Preconditions: Appropriate user id and password must be obtained. 5. Scenario:  User (Student, Teacher, Program officer) logs in to the system.  User selects “update profile”. 6. Exception:  Username or password are incorrect or not recognized.  User info is not valid.  Cannot save the changes for internal system failure.
  • 43. Report on IIT Academic Automation System Page | 27 Activity diagram: Activity diagram of Update user profile is given below – Figure 2.10 Activity diagram - Update user profile Swimlane diagram: Swimlane diagram of Update user profile is same as Figure 4- 7 Swimlane diagram of View account info.
  • 44. Report on IIT Academic Automation System Page | 28 2.4.2.1.4 View Users Use case, activity diagram and swimlane diagram of view users are given below - Use case: View users 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: View list of users according to user category. 4. Preconditions: Appropriate user id and password must be obtained. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view users”.  Program officer selects user category. 6. Exceptions:  Username or password are incorrect or not recognized.  User list may not contain any user if there is no user created of the selected category. Activity diagram: Activity diagram of View users is as follows - Figure 2.11 Activity diagram - View users Swimlane diagram: Swimlane diagram of View users is same as Figure 4-5 Swimlane diagram of Create user.
  • 45. Report on IIT Academic Automation System Page | 29 2.4.2.1.5 Change Account Status Use case, activity diagram and swimlane diagram of change account status are given below - Use case: Change account status 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: Change the status of the user account – account is active or inactive. 4. Preconditions: Appropriate username and password must be obtained. 5. Scenario:  Program officer logs in to the system.  Program officer select user.  Program officer change the account status. 6. Exceptions:  Username and password do not exist or incorrect.  Cannot save the changes for internal system failure.
  • 46. Report on IIT Academic Automation System Page | 30 Activity diagram: Activity diagram of Change account status is as follows – Figure 2.12 Activity diagram - Change account status Swimlane diagram: Swimlane diagram of Change account status is same as Figure 4-5 Swimlane diagram of Create user. 2.4.2.2 Batch & Semester Management Here are the use case diagram, activity diagram and swimlane diagram of batch & semester management -
  • 47. Report on IIT Academic Automation System Page | 31 Use case diagram: Use case diagram of Level 1.2 – Batch & semester management is given below: Figure 2.13 Use case diagram - Batch & semester Management
  • 48. Report on IIT Academic Automation System Page | 32 Activity diagram: Activity diagram of batch & semester management is given below – Figure 2.14 Activity diagram – Batch & semester management
  • 49. Report on IIT Academic Automation System Page | 33 Swimlane diagram: Swimlane diagram of batch & semester management is given below – Figure 2.15 Swimlane diagram – Batch & semester management 2.4.2.2.1 Create Batch Use case, activity diagram and swimlane diagram of create batch are given below - Use case: Create batch 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To create a batch of a program. 4. Preconditions:  Appropriate username and password must be obtained.  Program name must exist in the system. 5. Scenario:  Program officer logs in to the system.
  • 50. Report on IIT Academic Automation System Page | 34  Program officer selects program.  Program officer clicks on “create batch” and the system will assign a batch number according to order. 6. Exceptions:  Username and password do not exist or incorrect.  Program name does not exist in the system.  Cannot save for internal system failure.
  • 51. Report on IIT Academic Automation System Page | 35 Activity diagram: Activity diagram of Create batch is given below - Figure 2.16 Activity diagram- Create batch
  • 52. Report on IIT Academic Automation System Page | 36 Swimlane diagram: Here is the swimlane diagram of Create batch - Figure 2.17 Swimlane diagram - Create batch
  • 53. Report on IIT Academic Automation System Page | 37 2.4.2.2.2 View Batches of a Program Use case, activity diagram and swimlane diagram of view batches of a program is given below - Use case: View batches of a program 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To view list of batches of a program. 4. Preconditions:  Appropriate username and password must be obtained.  Program must contains batches to display the list of batches rather the list will be empty. 5. Scenario:  Program officer logs in to the system.  Program officer selects program.  System shows list of batches. 6. Exceptions:  Username and password do not exist or incorrect.  Selected program has not any batch.
  • 54. Report on IIT Academic Automation System Page | 38 Activity diagram: Activity diagram of View batches of a program are given below - Figure 2.18 Activity diagram - View batches of a program Swimlane diagram: Swimlane diagram of View batches of a program is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.2.3 Change Student Status Use case, activity diagram and swimlane diagram of change student status are given below - Use case: Change student status 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To change the status of a student – active, inactive, waiting or passed. 4. Preconditions: Appropriate username and password must be obtained. 5. Scenario:  Program officer logs in to the system.  Program officer selects program name, batch no and student.  Program officer changes the account status.
  • 55. Report on IIT Academic Automation System Page | 39 6. Exceptions:  Username and password do not exist or incorrect.  Cannot save the changes for internal system failure. Activity diagram: Activity diagram of Change student status is given below - Figure 2.19 Activity diagram - Change student status
  • 56. Report on IIT Academic Automation System Page | 40 Swimlane diagram: Swimlane diagram of Change student status is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.2.4 Allocate Students to Semester Use case, activity diagram and swimlane diagram of allocate students to semester are given below - Use case: Allocate students to semester 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To add students to a semester of a program’s batch. 4. Preconditions:  User must be logged in.  There will have eligible students to allocate. 5. Scenario:  Program officer logs in to the system.  Program officer selects program name, batch and semester.  Program officer selects students.  Program officer submits the selection. 6. Exceptions:  Username and password are incorrect or do not exist of the program officer.  Cannot save for internal system failure.  There is no eligible student to allocate.
  • 57. Report on IIT Academic Automation System Page | 41 Activity diagram: Activity diagram of Allocate students to semester is as follows - Figure 2.20 Activity diagram - Allocate students to semester Swimlane diagram: Swimlane diagram of Allocate students to semester is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.2.5 Edit Student Allocation of a Semester Use case, activity diagram and swimlane diagram of edit student allocation of a semester are given below -
  • 58. Report on IIT Academic Automation System Page | 42 Use case: Edit student allocation of a semester 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To change the allocation of students to a semester. 4. Preconditions: User must be logged in. 5. Scenario:  Program officer logs in to the system.  Program officer selects program, batch and semester.  Program officer edits the allocation.  Program officer saves the allocation. 6. Exceptions:  Username and password are incorrect.  Cannot save the changes for internal system failure.  Students have not been allocated yet to the semester.
  • 59. Report on IIT Academic Automation System Page | 43 Activity diagram: Activity diagram of Edit student allocation of a semester is given below - Figure 2.21 Activity diagram - Edit student allocation of a semester Swimlane diagram: Swimlane diagram of edit student allocation of a semester is same as Figure 4-13 Swimlane diagram of create batch. 2.4.2.2.6 View Students According to Semester Use case, activity diagram and swimlane diagram of view students according to semester are given below -
  • 60. Report on IIT Academic Automation System Page | 44 Use case: View students according to semester 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To view the allocated students of a semester of a program’s batch. 4. Preconditions:  User must be logged in.  There should be an allocation of student to that semester. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view students”.  Program officer selects program, batch and semester.  System displays the list of students. 6. Exceptions:  Username and password are incorrect.  Students have not been allocated yet to the semester. Activity diagram: Activity diagram of View students according to semester is as follows - Figure 2.22 Activity diagram - View students according to semester Swimlane diagram: Swimlane diagram of View students according to semester is same as Figure 4-13 Swimlane diagram of Create batch.
  • 61. Report on IIT Academic Automation System Page | 45 2.4.2.2.7 View Students According to Batch Use case, activity diagram and swimlane diagram of view students according to batch are given below - Use case: View students according to batch 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To view the allocated students of a program’s batch. 4. Preconditions:  User must be logged in. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view students”.  Program officer selects program and batch.  System displays the list of students. 6. Exceptions:  Username and password are incorrect. Activity diagram: Activity diagram of View students according to batch is given below - Figure 2.23 Activity diagram - View students according to batch Swimlane diagram: Swimlane diagram of View students according to batch is same as Figure 4-13 Swimlane diagram of Create batch.
  • 62. Report on IIT Academic Automation System Page | 46 2.4.2.3 Course Management Use case diagram, activity diagram and swimlane diagram of course management are given below:
  • 63. Report on IIT Academic Automation System Page | 47 Use case diagram: Use case diagram of Level 1.3 – Course management is given below - Figure 2.24 Use case diagram - Course management
  • 64. Report on IIT Academic Automation System Page | 48 Activity diagram: Activity diagram of course management is given below – Figure 2.25 Activity diagram – Course management
  • 65. Report on IIT Academic Automation System Page | 49 Swimlane diagram: Swimlane diagram of course management is given below – Figure 2.26 Swimlane diagram – Course management
  • 66. Report on IIT Academic Automation System Page | 50 2.4.2.3.1 Create Course Use case, activity diagram and swimlane diagram of create course are given below - Use case: Create course 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To add a course to a program. 4. Preconditions:  User must be logged in.  Program name must exist. 5. Scenario:  Program officer logs in to the system.  Program officer selects “create course”.  Program officer selects program name and enters course info.  Program officer clicks on submit button. 6. Exceptions:  Username and password are incorrect.  Course info is not valid.  Program name does not exist.
  • 67. Report on IIT Academic Automation System Page | 51 Activity diagram: Here is the activity diagram of Create course - Figure 2.27 Activity diagram - Create course Swimlane diagram: Swimlane diagram of Create course is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.3.2 Edit Course Use case, activity diagram and swimlane diagram of edit course are given below - Use case: Edit course 1. Primary actor: Program officer.
  • 68. Report on IIT Academic Automation System Page | 52 2. Secondary actors: None. 3. Goal in context: To edit a course info of a program. 4. Preconditions:  User must be logged in. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view courses of a program”.  Program officer selects a course.  Program officer clicks on edit button.  Program officer edits the course info.  Program officer saves the course. 6. Exceptions:  Username and password are incorrect.  Cannot save the changes for internal system failure.  Course info is not valid.
  • 69. Report on IIT Academic Automation System Page | 53 Activity diagram: Here is the activity diagram of Edit course - Figure 2.28 Activity diagram - Edit course Swimlane diagram: Swimlane diagram of Edit course is same as Figure 4-13 Swimlane diagram of Create batch.
  • 70. Report on IIT Academic Automation System Page | 54 2.4.2.3.3 View Courses of a Program Use case, activity diagram and swimlane diagram of view courses of a program are given below - Use case: View courses of a program 1. Primary actor: Student, Teacher, Program officer. 2. Secondary actors: None. 3. Goal in context: To view the courses of a program. 4. Preconditions:  User must be logged in. 5. Scenario:  User (program officer, student, and teacher) logs in to the system.  User selects “view courses”.  User selects program name.  System displays the list of courses. 6. Exceptions:  Username and password are incorrect.  Program name does not exist. Activity diagram: Here is the activity diagram of View courses of a program - Figure 2.29 Activity diagram - View courses of a program Swimlane diagram: Swimlane diagram of View courses of a program is same as Figure 4.30 Swimlane diagram of View account info.
  • 71. Report on IIT Academic Automation System Page | 55 2.4.2.3.4 Allocate Courses to Semester Use case, activity diagram and swimlane diagram of allocate courses to semester are given below - Use case: Allocate courses to semester 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To allocate courses to a semester. 4. Preconditions:  User must be logged in.  Course should be exist in the system. 5. Scenario:  Program officer logs in to the system.  Program officer selects “allocate course”.  Program officer selects program name and semester.  Program officer selects courses.  Program officer clicks on submit button. 6. Exceptions:  Username and password are incorrect.  Cannot save for internal system failure.  There is no course of the program.
  • 72. Report on IIT Academic Automation System Page | 56 Activity diagram: Here is the activity diagram of Allocate courses to semester - Figure 2.30 Activity diagram - Allocate courses to semester Swimlane diagram: Swimlane diagram of Allocate courses to semester is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.3.5 Edit Course Allocation Use case, activity diagram and swimlane diagram of edit course allocation are given below -
  • 73. Report on IIT Academic Automation System Page | 57 Use case: Edit course allocation 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To edit allocated courses of a semester. 4. Preconditions:  User must be logged in.  Course allocation of a semester should be exist in the system. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view courses of a semester”.  Program officer selects program name and semester.  Program officer change course allocation.  Program officer clicks on save button. 6. Exceptions:  Username and password are incorrect.  Cannot save the changes for internal system failure.  There is no course allocation of the semester.
  • 74. Report on IIT Academic Automation System Page | 58 Activity diagram: Here is the activity diagram of Edit course allocation - Figure 2.31 Activity diagram - Edit course allocation Swimlane diagram: Swimlane diagram of Edit course allocation is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.3.6 View Courses of a Semester Use case, activity diagram and swimlane diagram of view courses of a semester are given below -
  • 75. Report on IIT Academic Automation System Page | 59 Use case: View courses of a semester 1. Primary actor: Student, Teacher, Program officer. 2. Secondary actors: None. 3. Goal in context: To view the courses of a semester. 4. Preconditions:  User must be logged in. 5. Scenario:  User (program officer, student, and teacher) logs in to the system.  User selects “view courses”.  Teacher and program officer select program name and semester.  Student selects semester.  System displays the list of courses. 6. Exceptions:  Username and password are incorrect.  Courses have not been allocated to that semester. Activity diagram: Here is the activity diagram of View courses of a semester - Figure 2.32 Activity diagram - View courses of a semester
  • 76. Report on IIT Academic Automation System Page | 60 Swimlane diagram: Swimlane diagram of View courses of a semester is same as Figure 4.34 Swimlane diagram of View account info. 2.4.2.3.7 Allocate Teachers to Course Use case, activity diagram and swimlane diagram of allocate teachers to course are given below - Use case: Allocate teachers to course 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To allocate teachers to a course. 4. Preconditions:  User must be logged in.  Teacher should be exist in the system. 5. Scenario:  Program officer logs in to the system.  Program officer selects “allocate teacher”.  Program officer selects program, batch, semester and course.  Program officer selects teacher(s).  Program officer clicks on submit button. 6. Exceptions:  Username and password are incorrect.  Cannot save for internal system failure.  There is no teacher to allocate.
  • 77. Report on IIT Academic Automation System Page | 61 Activity diagram: Here is the activity diagram of Allocate teachers to course - Figure 2.33 Activity diagram - Allocate teachers to course Swimlane diagram: Swimlane diagram of Allocate teachers is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.3.8 Edit Teacher Allocation Use case, activity diagram and swimlane diagram of edit teacher allocation are given below -
  • 78. Report on IIT Academic Automation System Page | 62 Use case: Edit teacher allocation 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To edit allocated teachers of a course. 4. Preconditions:  User must be logged in.  There should be allocated teacher of the course in the system. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view courses of a semester”.  Program officer selects program, batch, semester and course.  Program officer changes teacher allocation.  Program officer clicks on submit button. 6. Exceptions:  Username and password are incorrect.  Cannot save the changes for internal system failure.  There is no teacher allocated.
  • 79. Report on IIT Academic Automation System Page | 63 Activity diagram: Activity diagram of Edit teacher allocation is given below - Figure 2.34 Activity diagram - Edit teacher allocation Swimlane diagram: Swimlane diagram of Edit teacher allocation is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.3.9 View Teaches of a Course Use case, activity diagram and swimlane diagram of view teachers of a course are given below -
  • 80. Report on IIT Academic Automation System Page | 64 Use case: View teachers of a course 1. Primary actor: Student, Teacher, Program officer. 2. Secondary actors: None. 3. Goal in context: To view the allocated teacher(s) in a course of a program’s batch. 4. Preconditions:  User must be logged in. 5. Scenario:  User (program officer, student, and teacher) logs in to the system.  User selects “view courses”.  Teacher and program officer select program, batch, semester and course.  Student selects semester and course.  System displays the list of teachers. 6. Exceptions:  Username and password are incorrect.  Teachers have not been allocated to that course.
  • 81. Report on IIT Academic Automation System Page | 65 Activity diagram: Here is the activity diagram of View teachers of a course - Figure 2.35 Activity diagram - View teachers of a course Swimlane diagram: Swimlane diagram of View teachers of a course is same as Figure 4.38 Swimlane diagram of View account info. 2.4.2.3.10 Allocate Students to Course Use case, activity diagram and swimlane diagram of allocate students to course are given below - Use case: Allocate students to course 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To allocate students to a course. 4. Preconditions:
  • 82. Report on IIT Academic Automation System Page | 66  User must be logged in.  Students should be exist to allocate. 5. Scenario:  Program officer logs in to the system.  Program officer selects “allocate students to course”.  Program officer selects program, batch, semester and course.  Program officer selects students.  Program officer clicks on submit button. 6. Exceptions:  Username and password are incorrect.  Cannot save for internal system failure.  There is no eligible student to allocate.
  • 83. Report on IIT Academic Automation System Page | 67 Activity diagram: Here is the activity diagram of Allocate students to course – Figure 2.36 Activity diagram - Allocate students to course
  • 84. Report on IIT Academic Automation System Page | 68 Swimlane diagram: Swimlane diagram of Allocate students to course is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.3.11 Edit Student Allocation to Course Use case, activity diagram and swimlane diagram of edit student allocation to course are given below - Use case: Edit student allocation to course 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To edit allocated students of a course. 4. Preconditions:  User must be logged in.  Students should be allocated to the course. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view students of a course”.  Program officer selects program, batch, semester and course.  Program officer clicks on “edit”.  Program officer changes selected students.  Program officer clicks on submit button. 6. Exceptions:  Username and password are incorrect.  Cannot save the changes for internal system failure.  There is no student allocation to the course.
  • 85. Report on IIT Academic Automation System Page | 69 Activity diagram: Here is the activity diagram of Edit student allocation to course - Figure 2.37 Activity diagram - Edit student allocation to course Swimlane diagram: Swimlane diagram of Edit student allocation to course is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.3.12 View Students of a Course Use case, activity diagram and swimlane diagram of view students of a course are given below -
  • 86. Report on IIT Academic Automation System Page | 70 Use case: View students of a course 1. Primary actor: Program officer. 2. Secondary actors: None. 3. Goal in context: To view allocated students of a course. 4. Preconditions:  User must be logged in.  Students should be allocated to the course. 5. Scenario:  Program officer logs in to the system.  Program officer selects “view students of a course”.  Program officer selects program, batch, semester and course.  System displays list of students. 6. Exceptions:  Username and password are incorrect.  There is no student allocation to the course. Activity diagram: Here is the activity diagram of View students of a course - Figure 2.38 Activity diagram - View students of a course
  • 87. Report on IIT Academic Automation System Page | 71 Swimlane diagram: Swimlane diagram of View students of a course is same as Figure 4-13 Swimlane diagram of Create batch. 2.4.2.4 Course Content Management Here are the use case diagram, activity diagram and swimlane diagram of course content management - Use case diagram: Use case diagram of Level 1.4 – Course content management is as follows - Figure 2.39 Use case diagram - Course content management
  • 88. Report on IIT Academic Automation System Page | 72 Activity diagram: Activity diagram of course content management is given below – Figure 2.40 Activity diagram – Course content management
  • 89. Report on IIT Academic Automation System Page | 73 Swimlane diagram: Swimlane diagram of course content management is given below – Figure 2.41 Swimlane diagram – Course content management 2.4.2.4.1 Upload Course Content Use case, activity diagram and swimlane diagram of upload course content are given below -
  • 90. Report on IIT Academic Automation System Page | 74 Use case: Upload course content 1. Primary actor: Teacher. 2. Secondary actors: None. 3. Goal in context: To upload content of a course. 4. Preconditions: User must be logged in. 5. Scenario:  Teacher logs in to the system.  Teacher selects “upload content”.  Teacher selects course.  Teacher select content.  Teacher uploads the content. 6. Exceptions:  Username and password do not exist or incorrect.  File format is not supported or incorrect.  File size is larger than required size.
  • 91. Report on IIT Academic Automation System Page | 75 Activity diagram: Activity diagram of Upload course content is as follows - Figure 2.42 Activity diagram - Upload course content
  • 92. Report on IIT Academic Automation System Page | 76 Swimlane diagram: Swimlane diagram of Upload course content is given below - Figure 2.43 Swimlane diagram - Upload course content 2.4.2.4.2 View Contents of a Course Use case, activity diagram and swimlane diagram of view contents of a course are given below -
  • 93. Report on IIT Academic Automation System Page | 77 Use case: View contents of a course 1. Primary actor: Student, Teacher. 2. Secondary actors: None. 3. Goal in context: To view contents of a course. 4. Preconditions: User must be logged in. 5. Scenario:  User (student, teacher) logs in to the system.  User selects “view content”.  User selects course.  System displays list of contents of the course. 6. Exceptions:  Username and password do not exist or incorrect.  There is no file to display. Activity diagram: Here is the activity diagram of View contents of a course - Figure 2.44 Activity diagram - View contents of a course
  • 94. Report on IIT Academic Automation System Page | 78 Swimlane diagram: Swimlane diagram of View contents of a course - Figure 2.45 Swimlane diagram - View course contents 2.4.2.4.3 Download Content Use case, activity diagram and swimlane diagram of download content are given below - Use case: Download content 1. Primary actor: Student, Teacher. 2. Secondary actors: None. 3. Goal in context: To download content of a course. 4. Preconditions: User must be logged in. 5. Scenario:  User (student, teacher) logs in to the system.  User selects “view content”.  User selects course.  System displays list of contents of the course.  User selects content.  System displays the content title and description.  User clicks on “download”.  System starts the download.
  • 95. Report on IIT Academic Automation System Page | 79 6. Exceptions:  Username and password do not exist or incorrect.  There is no file to download. Activity diagram: Here is the activity diagram of Download content - Figure 2.46 Activity diagram - Download content Swimlane diagram: Swimlane diagram of Download content is same as Figure 4- 40 Swimlane diagram – View course contents. 2.4.2.4.4 Delete Content Use case, activity diagram and swimlane diagram of delete content are given below - Use case: Delete content 1. Primary actor: Teacher. 2. Secondary actors: None. 3. Goal in context: To delete content of a course. 4. Preconditions: User must be logged in. 5. Scenario:  Teacher logs in to the system.
  • 96. Report on IIT Academic Automation System Page | 80  Teacher selects “view content”.  Teacher selects course and content.  System displays the content title and description.  Teacher clicks on “Delete”.  System deletes the content. 6. Exceptions:  Username and password do not exist or incorrect.  Cannot delete for internal system failure.  There is no file to delete. Activity diagram: Here is the activity diagram of Delete content – Figure 2.47 Activity diagram - Delete content
  • 97. Report on IIT Academic Automation System Page | 81 Swimlane diagram: Swimlane diagram of Delete content is same as Figure 4-38 Swimlane diagram – Upload course content.
  • 98. Report on IIT Academic Automation System Page | 82 2.5 Data Model If software requirements include the need to create, extend or interface with a database or if complex data structures must be constructed and manipulated, the software team may choose to create a data model as part of overall requirements modeling. 2.5.1 Data Objects and Attributes A data object is a representation of composite information that must be understood by software. It can be an external entity (e.g., anything that produces or consumes information), a thing (e.g., a report or a display), an occurrence (e.g., a telephone call) or event (e.g., an alarm), a role (e.g., salesperson), an organizational unit (e.g., accounting department), a place (e.g., a warehouse), or a structure (e.g., a file). Data attributes define the properties of a data object and take on one of three different characteristics. They can be used to (1) name an instance of the data object, (2) describe the instance, or (3) make reference to another instance in another table. [1] Here is a table of potential data objects – Noun Attributes Remarks IIT Rejected University of Dhaka Rejected BSSE Rejected MSSE Rejected PGDIT Rejected MIT Rejected Student Email, status, program, batch, semester, academic year, full name Accepted Program Program name Accepted Batch Program name, batch no Accepted Information Rejected Admission Rejected Email Rejected Program officer Rejected System Rejected
  • 99. Report on IIT Academic Automation System Page | 83 Email id Rejected Username Rejected Password Rejected Profile Rejected Status Rejected Semester Program name, semester no Accepted Degree Rejected Year Rejected Course Course code, course title, course credit Accepted Teacher Rejected Full name Rejected Designation Rejected Qualification Rejected Course code Rejected Course title Rejected Course credit Rejected Dependent course Rejected Academic year Rejected Grade Rejected Course content Title, description Accepted Title Rejected Description Rejected Table 2.2 Data objects and attributes
  • 100. Report on IIT Academic Automation System Page | 84 IIT Academic Automation System has the following data objects with attributes – 2.5.2 Relationships between Data Objects Data objects are connected to one another in different ways. Here are the relationships between data objects. Figure 2.48 Data objects and attributes
  • 101. Report on IIT Academic Automation System Page | 85 Figure 2.49 Relationships between data objects
  • 102. Report on IIT Academic Automation System Page | 86 2.5.3 Entity-Relationship Diagram An entity relationship (E-R) diagram shows the relationships of entity sets stored in a database. An entity in this context is a component of data. In other words, E-R diagrams illustrate the logical structure of databases. [3] It is usually drawn in a graphical form as boxes (entities) that are connected by lines (relationships) which express the associations and dependencies between entities. [4]
  • 103. Report on IIT Academic Automation System Page | 87 The E-R diagram of the data objects are given below – Figure 2.50 E-R diagram of IIT Academic Automation System
  • 104. Report on IIT Academic Automation System Page | 88 2.5.4 Schema The schema of the data objects are given below – User Attributes Data type Id int Email varchar Password varchar Full Name varchar Designation varchar IIT profile link varchar Image path varchar Status varchar Is delete bit Role Attributes Data type Id int Role name varchar User Role Attributes Data type Id int User id int Role id int Student Attributes Data type Id int User id int Program id int Batch id original int Batch id current int Semester id int Original roll varchar Current roll varchar Registration no varchar Admission session varchar Current session varchar
  • 105. Report on IIT Academic Automation System Page | 89 Phone varchar Guardian phone varchar Current address varchar Permanent address varchar Program Attributes Data type Id int Program name varchar Batch Attributes Data type Id int Program id int Batch no int Current semester int Status bit Semester Attributes Data type Id int Program id int Semester no int Course Attributes Data type Id int Program id int Course code varchar Course title varchar Course credit int Credit lab int Credit theory int Dependent course id 1 int Dependent course id 2 int Student Course Attributes Data type
  • 106. Report on IIT Academic Automation System Page | 90 Id int Batch id current int Semester id int Student id int Course id int Course Semester Attributes Data type Id int Batch id current int Semester id int Course id int Teacher id int Course Content Attributes Data type Id int Course id int Teacher id int Title varchar Description varchar Upload date datetime File path varchar Is delete bit
  • 107. Report on IIT Academic Automation System Page | 91 2.6 Class-Based Modeling Class-based modeling represents the objects that the system will manipulate, the operations that will be applied to the objects to effect the manipulation, relationships between the objects and the collaborations that occur between the classes that are defined. The elements of a class-based model include classes and objects, attributes, operations, class responsibility-collaborator models and collaboration diagrams. [1] 2.6.1 Identifying Analysis Classes We can begin to identify the analysis classes by examining the usage scenarios. Classes are determined by identifying each noun or noun phrase and entering it into a simple table. Analysis classes manifest themselves in one of the following ways –  External entities  Things  Occurrences or events  Roles  Organizational units  Places  Structures Coad and Yourdon suggest six selection characteristics that should be used to consider each potential class for inclusion in the analysis model – 1. Retained information 2. Needed services 3. Multiple attributes 4. Common attributes 5. Common operations 6. Essential requirements Potential Class General Classification Characteristic Numbers That Applies Remarks Student External entity, role All apply Accepted Program Organizational unit 1,2 Rejected Batch Organizational unit All apply Accepted Email Thing 3 fails Rejected Program officer (alias user) Role All apply Accepted System Rejected
  • 108. Report on IIT Academic Automation System Page | 92 Username Thing 3 fails Rejected Password Thing 3 fails Rejected Profile Thing 3 fails Rejected Status Thing 3 fails Rejected Semester Organizational unit All apply Accepted Degree Thing 3 fails Rejected Year Thing 3 fails Rejected Course Thing All apply Accepted Teacher (alias user) Role All apply Accepted Full name Thing 3 fails Rejected Designation Thing 3 fails Rejected Course code Thing 3 fails Rejected Course title Thing 3 fails Rejected Course credit Thing 3 fails Rejected Dependent course Thing 3 fails Rejected Academic year Thing 3 fails Rejected Grade Thing 3 fails Rejected Course content Thing All apply Accepted Title Thing 3 fails Rejected Description Thing 3 fails Rejected Table 2.3 Potential classes 2.6.2 Specifying Attributes Attributes describe a class that has been selected for inclusion in the requirements model. In essence, it is the attributes that define the class—that clarify what is meant by the class in the context of the problem space. [1] We represent the attributes of potential classes in the following manner – 1. User = user id + email + password + full name + designation + IIT profile link + image path
  • 109. Report on IIT Academic Automation System Page | 93 2. Student = student id + user id + program id + batch id + semester id + roll + registration no + session + phone + guardian phone + current address + permanent address 3. Batch = batch id + program id + current semester + students 4. Semester = semester id + program id + batch id + semester id + students + teachers + courses 5. Course = course id + course code + course title + course credit + credit lab + credit theory + dependent course id 1 + dependent course id 2 + program id 6. Course content = content title + file path + upload date + course id + teacher 2.6.3 Defining Operations Operations define the behavior of an object. Although many different types of operations exist, they can generally be divided into four broad categories: (1) operations that manipulate data in some way (e.g., adding, deleting, reformatting, selecting), (2) operations that perform a computation, (3) operations that inquire about the state of an object, and (4) operations that monitor an object for the occurrence of a controlling event. [1] 1. User = create user(), update user profile(), change account status(), view user profile(), delete user(). 2. Student = create student(), update student profile(), view student profile(). 3. Batch = create batch(), view batches of a program(), view students of a batch(), update current semester no(), update batch status(). 4. Semester = allocate students to semester(), edit allocation(), view students of a semester(), allocate courses to semester(), edit course allocation(), view courses of a semester(), allocate teachers to course(), edit teacher allocation(), view teachers of a course(). 5. Course = create course(), edit course(), view courses of a program(). 6. Course content = upload content(), view content(), download content(), delete content(). 2.6.4 Class Diagram A class diagram shows the interaction among the classes. Here is the class diagram for the classes –
  • 110. Report on IIT Academic Automation System Page | 94 Figure 2.51 Class Diagram
  • 111. Report on IIT Academic Automation System Page | 95 2.6.5 Class-Responsibility-Collaborator (CRC) Modeling Class-responsibility-collaborator (CRC) modeling provides a simple means for identifying and organizing the classes that are relevant to system or product requirements. A CRC model is really a collection of standard index cards that represent classes. The cards are divided into three sections. Along the top of the card you write the name of the class. In the body of the card you list the class responsibilities on the left and the collaborators on the right. Responsibilities are the attributes and operations that are relevant for the class. Collaborators are those classes that are required to provide a class with the information needed to complete a responsibility. [1] Class: User Responsibility Collaborator Defines user information Creates user account Manages user account Class: Student Responsibility Collaborator Defines student information Creates student account User Manages student account User Class: Batch Responsibility Collaborator Creates batch Manage batches Manages students of a batch Student Update semester Semester Class: Semester Responsibility Collaborator Allocates students to semester Find eligible students for allocation Student, Batch Manages students of a semester Student, Batch Manages courses of a semester Course Manages teachers of course Course, User
  • 112. Report on IIT Academic Automation System Page | 96 Class: Course Responsibility Collaborator Defines course information Manage course information Class: Course Content Responsibility Collaborator Display file selection interface Check file size Upload file Course, User Download file Manage course contents Course, User
  • 113. Report on IIT Academic Automation System Page | 97 2.7 Behavioral Model The behavioral model indicates how software will respond to external events. Behavioral model describes the control structure of a dynamic system. This can be things like –  Sequence of operations  Object states  Object interactions The behavioral model indicates how software will respond to external events. We represent behavioral model through two diagrams –  State Diagram  Sequence Diagram 2.7.1 State Diagram State diagram represents active states for each class and events that cause changes between the active states. An event occurs whenever the system and an actor exchange information. In a state diagram, each arrow represents a transition from one active state of an object to another. The labels of each arrow represent the event that triggers the transition.
  • 114. Report on IIT Academic Automation System Page | 98 2.7.1.1 State Diagram: User State diagram for the user class is given below - Figure 2.52 State diagram for the User class
  • 115. Report on IIT Academic Automation System Page | 99 2.7.1.2 State Diagram: Batch State diagram for the batch class is given below – Figure 2.53 State diagram for the Batch class
  • 116. Report on IIT Academic Automation System Page | 100 2.7.1.3 State Diagram: Semester State diagram for the semester class is given below – Figure 2.54 State diagram for the Semester class
  • 117. Report on IIT Academic Automation System Page | 101 2.7.1.4 State Diagram: Course State diagram for the course class is given below – Figure 2.55 State diagram for the Course class
  • 118. Report on IIT Academic Automation System Page | 102 2.7.1.5 State Diagram: Content State diagram for the content class is given below – Figure 2.56 State diagram for the Content class
  • 119. Report on IIT Academic Automation System Page | 103 2.7.2 Sequence Diagram Sequence Diagram indicates how events cause transitions from object to object. It is actually a representation of how events cause flow from one object to another as a function of time. 2.7.2.1 Sequence Diagram: User Sequence Diagram for the user class is given below – Figure 2.57 Sequence diagram for the User class
  • 120. Report on IIT Academic Automation System Page | 104 2.7.2.2 Sequence Diagram: Batch Sequence Diagram for the batch class is given below – Figure 2.58 Sequence diagram for the Batch class
  • 121. Report on IIT Academic Automation System Page | 105 2.7.2.3 Sequence Diagram: Semester Sequence Diagram for the semester class is given below – Figure 2.59 Sequence diagram for the Semester class
  • 122. Report on IIT Academic Automation System Page | 106 2.7.2.4 Sequence Diagram: Course Sequence Diagram for the course class is given below – Figure 2.60 Sequence diagram for the Course class
  • 123. Report on IIT Academic Automation System Page | 107 2.7.2.5 Sequence Diagram: Content Sequence Diagram for the content class is given below – Figure 2.61 Sequence diagram for the Content class
  • 124. Report on IIT Academic Automation System Page | 108 Chapter 3 Architectural Design This section contains the architectural design of IIT Academic Automation System. 3.1 Architectural Context Diagram The architectural context diagram of IIT Academic Automation System is given below – Figure 3.1 Architectural Context Diagram 3.2 Archetypes The archetype of IIT Academic Automation System is as follows –
  • 125. Report on IIT Academic Automation System Page | 109 Figure 3.2 Archetype of IIT Academic Automation System 3.3 Refining the Architecture into Components The architectural structure for User Management of IIT Academic Automation System is given below – Figure 3.3 Architectural Structure of User Management
  • 126. Report on IIT Academic Automation System Page | 110 The architectural structure of Batch Management is as follows – Figure 3.4 Architectural Structure of Batch Management The architectural structure of Course Management is given below – Figure 3.5 Architectural Structure of Course Management
  • 127. Report on IIT Academic Automation System Page | 111 Chapter 4 User Interface Design This section provides the designed user interfaces (UIs) for IIT Academic Automation System. Developers will design the web pages for the application according to these UIs. These UIs are designed using Balsamiq Mockups. 4.1 UIs for IIT Academic Automation System Here are the designed UIs for IIT Academic Automation System – 4.1.1 Log In UI for log in page – Figure 4.1 Log In page
  • 128. Report on IIT Academic Automation System Page | 112 4.1.2 Forgot Password UI for forgot password page – Figure 4.2 Forgot password page
  • 129. Report on IIT Academic Automation System Page | 113 4.1.3 Admin Home Page UI for home page of admin – Figure 4.3 Admin home page
  • 130. Report on IIT Academic Automation System Page | 114 4.1.4 Teacher Home Page UI for home page of teacher – Figure 4.4 Teacher home page
  • 131. Report on IIT Academic Automation System Page | 115 4.1.5 Student Home Page UI for home page of student – Figure 4.5 Student home page
  • 132. Report on IIT Academic Automation System Page | 116 4.1.6 User Profile UI for user profile – Figure 4.6 User profile page
  • 133. Report on IIT Academic Automation System Page | 117 4.1.7 Change Password UI for change password – Figure 4.7 Change password page
  • 134. Report on IIT Academic Automation System Page | 118 4.1.8 Teacher List UI for teacher list page – Figure 4.8 Teacher list page
  • 135. Report on IIT Academic Automation System Page | 119 4.1.9 User List UI for user list page – Figure 4.9 User list page
  • 136. Report on IIT Academic Automation System Page | 120 4.1.10 Register Teacher UI for register new teacher page – Figure 4.10 Register teacher page
  • 137. Report on IIT Academic Automation System Page | 121 4.1.11 Register User UI for register user page – Figure 4.11 Register user page
  • 138. Report on IIT Academic Automation System Page | 122 4.1.12 Set Role UI for set role – Figure 4.12 Set role page
  • 139. Report on IIT Academic Automation System Page | 123 4.1.13 Change Email UI for change email page – Figure 4.13 Change email page
  • 140. Report on IIT Academic Automation System Page | 124 4.1.14 Batch List UI for batch list of a program – Figure 4.14 Batch list page
  • 141. Report on IIT Academic Automation System Page | 125 4.1.15 Create Batch UI for create batch of a program – Figure 4.15 Create batch page
  • 142. Report on IIT Academic Automation System Page | 126 4.1.16 Course List UI for course list of a program – Figure 4.16 Course list page
  • 143. Report on IIT Academic Automation System Page | 127 4.1.17 Create Course UI for create course page – Figure 4.17 Create course page
  • 144. Report on IIT Academic Automation System Page | 128 4.1.18 Batch Details UI for batch details page – Figure 4.18 Batch details page
  • 145. Report on IIT Academic Automation System Page | 129 4.1.19 Admit Students UI for admit students to a batch – Figure 4.19 Admit student page
  • 146. Report on IIT Academic Automation System Page | 130 4.1.20 Current Student List UI for current student list of a batch – Figure 4.20 Current student list page
  • 147. Report on IIT Academic Automation System Page | 131 4.1.21 Admitted Student List UI for admitted student list of a batch – Figure 4.21 Admitted student list page
  • 148. Report on IIT Academic Automation System Page | 132 4.1.22 Update Current Semester UI for update current semester of a batch – Figure 4.22 Update current semester of a batch
  • 149. Report on IIT Academic Automation System Page | 133 4.1.23 Update Batch Status UI for update batch status page – Figure 4.23 Update batch status page
  • 150. Report on IIT Academic Automation System Page | 134 4.1.24 Semester Details UI for semester details of a batch – Figure 4.24 Semester details page
  • 151. Report on IIT Academic Automation System Page | 135 4.1.25 Allocate Students to Semester UI for allocate students to semester – Figure 4.25 Allocate students to semester page
  • 152. Report on IIT Academic Automation System Page | 136 4.1.26 Allocate Courses to Semester UI for allocate courses to semester – Figure 4.26 Allocate courses to semester page
  • 153. Report on IIT Academic Automation System Page | 137 4.1.27 Offered Course List UI for offered course list of a semester – Figure 4.27 Offered course list page
  • 154. Report on IIT Academic Automation System Page | 138 4.1.28 Add Students to Course UI for add students to course of a semester – Figure 4.28 Add students to course page
  • 155. Report on IIT Academic Automation System Page | 139 4.1.29 Add Teacher to Course UI for add teacher to course of a semester – Figure 4.29 Add teacher to course page
  • 156. Report on IIT Academic Automation System Page | 140 4.1.30 Download Course Content UI for download course content page – Figure 4.30 Download course content page
  • 157. Report on IIT Academic Automation System Page | 141 4.1.31 Upload Course Content UI for upload course content page – Figure 4.31 Upload course content page
  • 158. Report on IIT Academic Automation System Page | 142 Chapter 5 Software Testing This section describes the following software testing artifacts –  Test Plan  Test Case 5.1 Test Plan Test plan for IIT Academic Automation System includes the following assumptions –  Tester must have a browser and Internet connection.  Tester must have an account in the system with required user role. 5.2 Test Case Test cases for conducting testing against IIT Academic Automation System are given below – 5.2.1 Test Case 1 1. Test Case Name: Sign in 2. System: IIT Academic Automation System 3. Short Description: Verify sign in with username and password 4. Pre-conditions: User has account in the system with valid username and password. 5. Post-conditions: User is signed into the system Step Action Expected System Response Pass / Fail 1 Click on Log in without entering email and password Email and password are required Pass 2 Enter email and click on Log in Password is required Pass 3 Enter password and click on Log in Email is required Pass 4 Enter wrong email and password Email or password is invalid Pass 5 Enter email and password of which email is not confirmed Display page with message – Email is not confirmed Pass 6 Enter right email and password Display page of specific user role Pass
  • 159. Report on IIT Academic Automation System Page | 143 5.2.2 Test Case 2 1. Test Case Name: Sign out 2. System: IIT Academic Automation System 3. Short Description: Sign out from the system 4. Pre-conditions: User is logged in to the system 5. Post-conditions: User is logged out from the system Step Action Expected System Response Pass / Fail 1 Click on user name Display user profile with Sign out option Pass 2 Click on Sign out System signs out the user and display the Log in page Pass 5.2.3 Test Case 3 1. Test Case Name: Forgot password 2. System: IIT Academic Automation System 3. Short Description: Make a request to reset password if password is forgotten 4. Pre-conditions: User has account in the system 5. Post-conditions: User will get an email with the option to reset password Step Action Expected System Response Pass / Fail 1 Go to log in page Pass 2 Click on Forgot password Display forgot password page Pass 3 Enter wrong email Display message – There is no account with this email Pass 4 Enter correct email Display page that shows – An email has been sent to reset password Pass 5.2.4 Test Case 4 1. Test Case Name: Update profile 2. System: IIT Academic Automation System 3. Short Description: Update user profile information 4. Pre-conditions: User must be logged in 5. Post-conditions: Profile is successfully updated
  • 160. Report on IIT Academic Automation System Page | 144 Step Action Expected System Response Pass / Fail 1 Click on user name Display profile menu with Profile button Pass 2 Click on Profile Display user profile page Pass 3 Click on Update Profile Display user profile with edit mode Pass 4 Change field values as required Pass 5 Click on Save Display user profile with updated profile information Pass 5.2.5 Test Case 5 1. Test Case Name: Change password 2. System: IIT Academic Automation System 3. Short Description: Change user account password 4. Pre-conditions: User must be logged in 5. Post-conditions: Password is successfully changed Step Action Expected System Response Pass / Fail 1 Go to user profile Pass 2 Click on Change Password Display page with fields to change password Pass 3 Enter current password, new password and confirm new password Pass 4 Click on Save Display page with message – Password has been successfully changed Pass 5.2.6 Test Case 6 1. Test Case Name: Create user 2. System: IIT Academic Automation System 3. Short Description: Create user in the system 4. Pre-conditions: User must be logged in and in specific role 5. Post-conditions: User successfully created in the system
  • 161. Report on IIT Academic Automation System Page | 145 Step Action Expected System Response Pass / Fail 1 Click on Users Display page with user list Pass 2 Click on Register New User Display page with fields to create user Pass 3 Fill up the required fields Pass 4 Click on Create User Display page with successful message Pass 5.2.7 Test Case 7 1. Test Case Name: Set User Role 2. System: IIT Academic Automation System 3. Short Description: Assign role to user 4. Pre-conditions: User must be logged in and in specific role 5. Post-conditions: User is in specified role Step Action Expected System Response Pass / Fail 1 Click on Users Display list of users Pass 2 Click on Set Role Display checkbox list to select roles Pass 3 Click on Save Role is assigned and successful message is displayed Pass 5.2.8 Test Case 8 1. Test Case Name: Change Email 2. System: IIT Academic Automation System 3. Short Description: Change email of user account 4. Pre-conditions: User must be logged in and in specific role 5. Post-conditions: Account email is changed to new email Step Action Expected System Response Pass / Fail 1 Click on Users Display list of users Pass 2 Click on Change Email Display fields to change email Pass 3 Enter email and confirm email Pass
  • 162. Report on IIT Academic Automation System Page | 146 4 Click on Save Display page with message – Email is successfully changed and confirmation email has been sent Pass 5.2.9 Test Case 9 1. Test Case Name: Create Batch 2. System: IIT Academic Automation System 3. Short Description: Create batch of a program 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Batch is created of the program Step Action Expected System Response Pass / Fail 1 Click on program name Display list of batches Pass 2 Click on Create Batch Display program name and batch no to be created Pass 3 Click on Confirm Create Display created batch Pass 5.2.10 Test Case 10 1. Test Case Name: Create Students 2. System: IIT Academic Automation System 3. Short Description: Create students of a program’s batch 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Students are created under a batch of a program Step Action Expected System Response Pass / Fail 1 Click on a program name of which students are going to be created Display list of batches Pass 2 Click on a batch Display batch info Pass 3 Click on Admit Students Display page with downloadable formatted file Pass 4 Click on Download to download the formatted file System will download the file Pass 5 Enter students information in the file Pass 6 Upload the file by clicking on Browse and selecting the file Display page with student account creation messages Pass
  • 163. Report on IIT Academic Automation System Page | 147 5.2.11 Test Case 11 1. Test Case Name: Update current semester 2. System: IIT Academic Automation System 3. Short Description: Update current semester no. of a batch 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Semester no. is updated to the next semester Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on a batch Display batch info Pass 3 Click on Update in Current Semester box Display page to update semester to the next one Pass 4 Select the new semester Pass 5 Click on Save Display updated semester Pass 5.2.12 Test Case 12 1. Test Case Name: Update batch status 2. System: IIT Academic Automation System 3. Short Description: Change batch status from active to passed 4. Pre-conditions: User is logged in and in specific role, batch has completed all semesters of the program 5. Post-conditions: Batch status is now passed Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on a batch Display batch info Pass 3 Click on Update in batch status box Display confirm page Pass 4 Click on Confirm Update Display updated batch status Pass 5.2.13 Test Case 13 1. Test Case Name: Allocate student to semester 2. System: IIT Academic Automation System 3. Short Description: Allocate students to a semester of a batch
  • 164. Report on IIT Academic Automation System Page | 148 4. Pre-conditions: User is logged in and in specific role, students have passed the previous semester 5. Post-conditions: Students are added to the semester Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on the semester of a batch Display semester information Pass 3 Click on Add Student Display list of eligible students Pass 4 Select students to be added Pass 5 Click on Save Display added students of the semester Pass 5.2.14 Test Case 14 1. Test Case Name: Allocate course to semester 2. System: IIT Academic Automation System 3. Short Description: Add courses to a semester of a batch 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Courses are added to the semester Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on the semester of a batch Display semester information Pass 3 Click on Add Course Display list of remaining courses of a program Pass 4 Select courses to be added Pass 5 Click on Save Display list of added courses to the semester Pass 5.2.15 Test Case 15 1. Test Case Name: Allocate students to course 2. System: IIT Academic Automation System 3. Short Description: Add students to course of a semester of a batch
  • 165. Report on IIT Academic Automation System Page | 149 4. Pre-conditions: User is logged in and in specific role, students have passed the previous semester and dependent courses 5. Post-conditions: Students are added to the course Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on the semester of a batch Display semester information Pass 3 Click on Offered Courses Display list of courses of the semester Pass 4 Click on Students of a course Display list of students of the course if there is any Pass 5 Click on Add Students Display list of eligible students Pass 6 Select students to be added to the course Pass 7 Click on Save Display added students to the course Pass 5.2.16 Test Case 16 1. Test Case Name: Allocate teachers to course 2. System: IIT Academic Automation System 3. Short Description: Add teachers to course of a semester of a batch 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Teachers are added to the course Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on the semester of a batch Display semester information Pass 3 Click on Offered Courses Display list of courses of the semester Pass 4 Click on Teachers of a course Display list of teachers of the course if there is any Pass 5 Click on Add Teacher Display list of teachers Pass 6 Select teachers to be added to the course Pass
  • 166. Report on IIT Academic Automation System Page | 150 7 Click on Save Display added teachers to the course Pass 5.2.17 Test Case 17 1. Test Case Name: Update students to the next semester 2. System: IIT Academic Automation System 3. Short Description: Assign students of current semester to the next semester 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Students are added to the next semester Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on the semester of a batch Display semester information Pass 3 Click on Enrolled Students Display list of students Pass 4 Click on Update Students Display list of students with checkboxes Pass 5 Select students to update to the next semester Pass 6 Click on Update Display updated students to the next semester Pass 5.2.18 Test Case 18 1. Test Case Name: Upload course content 2. System: IIT Academic Automation System 3. Short Description: Upload content of a course that the user teaches 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Content is uploaded and saved in the database Step Action Expected System Response Pass / Fail 1 Click on Courses Display list of courses that the user teaches Pass 2 Click on upload content of a course Display page to upload content Pass 3 Click on Browse Display windows explorer to select a content file Pass 4 Select file content and click ok File is added in the form Pass
  • 167. Report on IIT Academic Automation System Page | 151 5 Click on Upload Display uploaded file name Pass 5.2.19 Test Case 19 1. Test Case Name: Download course content 2. System: IIT Academic Automation System 3. Short Description: Download content of a course of a semester 4. Pre-conditions: User is logged in and in specific role 5. Post-conditions: Content is downloaded from the system Step Action Expected System Response Pass / Fail 1 Click on a program name Display list of batches Pass 2 Click on the semester of a batch Display semester information Pass 3 Click on Offered Courses Display list of courses of the semester Pass 4 Click on Contents of a course Display list of contents of the course if there is any Pass 5 Click on Download System will download the content Pass 5.2.20 Test Case 20 1. Test Case Name: Delete course content 2. System: IIT Academic Automation System 3. Short Description: Delete uploaded content of a course 4. Pre-conditions: User is logged in and in specific role, the content is uploaded by the user 5. Post-conditions: Course content is removed from the course Step Action Expected System Response Pass / Fail 1 Click on Courses Display list of courses that the user teaches Pass 2 Click on Contents Display list of content files that the user uploaded Pass 3 Click on Delete Display page to confirm delete Pass
  • 168. Report on IIT Academic Automation System Page | 152 4 Click on Confirm Delete Display list of content files except the deleted one Pass
  • 169. Report on IIT Academic Automation System Page | 153 Chapter 6 User Manual This section is the user manual for IIT Academic Automation System. The audience for the manual includes students, teachers, program officers and batch coordinators of IIT, University of Dhaka. The intent was to make the user manual intuitive and easy to use. 6.1 Getting Started Welcome to IIT Academic Automation System. You are going to experience the collaboration of students, teachers, and batches and courses of different programs in one place over the Internet. This user manual gives a detailed description of all the features of IIT Academic Automation System. Let’s get started. First visit to the application’s home page. To enter into the system, you need an account. If you have not an account, contact to the program officer of regular or evening program. After getting an account from the program officer, you need to activate your account. Check your email to activate your account. Then you can proceed to log in. Here is the home page of IIT Academic Automation System before log in – Figure 6.1 Home page before log in
  • 170. Report on IIT Academic Automation System Page | 154 And here is the home page of admin after log in – Figure 6.2 Home page of admin
  • 171. Report on IIT Academic Automation System Page | 155 6.2 User Management This section describes user related features of IIT Academic Automation System. 6.2.1 Log In Figure 6.3 Log In page  Go to home page  Enter Email  Enter Password  Click on Log in 6.2.2 Sign Out Figure 6.4 User name  Click on name of the user
  • 172. Report on IIT Academic Automation System Page | 156 Figure 6.5 Sign out  Click on Sign Out  You will be redirected to log in page 6.2.3 Forgot Password Figure 6.6 Forgot password
  • 173. Report on IIT Academic Automation System Page | 157  Go to log in page  Click on Forgot your password? Figure 6.7 Email for forgot password  Enter email address of your account  Click on submit, an email will be sent to your email address with a link to reset password Figure 6.8 Reset password email  Log in to your email account and open the email sent from IIT Academic Automation System
  • 174. Report on IIT Academic Automation System Page | 158  Click on click here to reset your password, you will be redirected to reset password page of IIT Academic Automation System Figure 6.9 Reset password form  Enter Password and Confirm password  Click on Submit to reset the password  You will be redirected to a page displaying reset password confirmation message 6.2.4 Update User Profile  Click on name of the user
  • 175. Report on IIT Academic Automation System Page | 159 Figure 6.10 User menu  Click on Profile Figure 6.11 User profile
  • 176. Report on IIT Academic Automation System Page | 160  Click on Update Profile Figure 6.12 Edit user profile  Change user information as required  Click on Save 6.2.5 Change Password  Click on name of the user  Click on Profile
  • 177. Report on IIT Academic Automation System Page | 161 Figure 6.13 Change password  Click on Change Password, you will be redirected to a page with change password fields Figure 6.14 Change password form  Enter current password, new password and confirm new password
  • 178. Report on IIT Academic Automation System Page | 162  Click on Save, you will redirected to a page displaying password change successful message 6.2.6 Create User  Click on Users from the menu  Click on Register New User Figure 6.15 Create User  Fill up the required fields  Click on Create User 6.2.7 Set User Role  Click on Users from the menu  Click on Set Role of a user in the user list
  • 179. Report on IIT Academic Automation System Page | 163 Figure 6.16 Set user role  Select role to assign to user  Click on Save 6.2.8 Change Email of User  Click on Users  Click on Change Email of a user from user list Figure 6.17 Change user email  Enter Email and Confirm Email  Click on Save
  • 180. Report on IIT Academic Automation System Page | 164 6.2.9 Create Teacher  Click on Teachers from the menu  Click on Register New Teacher Figure 6.18 Create teacher  Fill up required fields  Click on Register 6.2.10 Edit Role Name  Click on Roles from the menu  Click on Edit to rename a role from the role list Figure 6.19 Edit role name  Change role name
  • 181. Report on IIT Academic Automation System Page | 165  Click on Save 6.3 Batch Management This section describes batch management features of IIT Academic Automation System. Figure 6.20 Batch list of BSSE program 6.3.1 Create Batch  Click on a program name from the menu of which the batch will be created  Click on Create Batch Figure 6.21 Create batch  Enter batch number  Click on Confirm Create 6.3.2 Admit Students  Click on program name from the menu  Click on a batch
  • 182. Report on IIT Academic Automation System Page | 166  Click on Admit Students Figure 6.22 Admit students  Click on Download to download the formatted file  Fill up the downloaded file with students’ information  Upload the file by clicking the Browse button and selecting the file  Click on Submit to admit students 6.3.3 Update Current Semester of a Batch  Click on program name from the menu  Click on a batch of which the semester will be updated Figure 6.23 Update current semester of batch  Click on Update from the Current Semester box
  • 183. Report on IIT Academic Automation System Page | 167  Confirm the semester, the batch will be updated to 6.3.4 Change Batch Status  Click on program name from the menu  Click on a batch of which the status will be changed Figure 6.24 Change batch status  Click on Update from the Batch Status box  Confirm status ‘Passed’ by clicking the Confirm button 6.4 Semester Management This section describes semester management features of IIT Academic Automation System. Here is the list of batches and semesters of each batch of a program – Figure 6.25 List of batches and semesters of a program Here is the details of a semester of a batch –
  • 184. Report on IIT Academic Automation System Page | 168 Figure 6.26 Semester of a batch 6.4.1 Allocate Students to Semester  Click on program name from the menu  Click on a batch  Click on a semester  Click on Add Student Figure 6.27 Allocate students to semester  Select students to be added  Click on Add Student 6.4.2 Allocate Courses to Semester  Click on program name from the menu  Click on a batch  Click on a semester  Click on Add Course
  • 185. Report on IIT Academic Automation System Page | 169 Figure 6.28 Allocate courses to semester  Select courses to be added  Click on Add Course 6.4.3 Allocate Students to Course of a Semester  Click on program name from the menu  Click on a batch  Click on a semester  Click on View of Offered Courses box
  • 186. Report on IIT Academic Automation System Page | 170 Figure 6.29 Offered courses of a semester  Click on Students of a course  Click on Add Students Figure 6.30 Eligible students to add to a course  Select students  Click on Add Student 6.4.4 Allocate Teachers to Course of a Semester  Click on program name from the menu  Click on a batch  Click on a semester  Click on View of Offered Courses box  Click on Teachers of a course  Click on Add Teacher
  • 187. Report on IIT Academic Automation System Page | 171  Select teacher  Click on Add Teacher 6.5 Course Management This section describes course management features of IIT Academic Automation System. Here is the list of courses of BSSE program – Figure 6.31 BSSE Course list 6.5.1 Create Course of a Program  Click on a program name  Click on Courses  Click on Create Course
  • 188. Report on IIT Academic Automation System Page | 172 Figure 6.32 Create course of a program  Fill up the required fields  Click on Create 6.5.2 Upload Course Content  Click on program name from the menu  Click on a batch  Click on a semester  Click on View of Offered Courses box  Click on Contents of a course  Click on Upload  Browse and select the content file to be uploaded  Click on Upload 6.5.3 Download Course content  Click on program name from the menu  Click on a batch  Click on a semester  Click on View of Offered Courses box  Click on Contents of a course  Click on Download of a content file  System will download the content
  • 189. Report on IIT Academic Automation System Page | 173 If this user manual does not fulfil your need, please contact to system administrator of IIT Academic Automation System.
  • 190. Report on IIT Academic Automation System Page | 174 Chapter 7 Conclusion The above report will provide the readers with a clear and easy view of IIT Academic Automation System. To improve the efficiency of the academic system of IIT, it needs to automate the academic tasks. An academic institute with automated software system is more effective than paper based manual system. This report is used effectively to maintain software development cycle. We believe that the reader will find it in order.
  • 191. Report on IIT Academic Automation System Page | 175 Chapter 8 References [1 ] R. S. Pressman, Software Engineering - A Practitioner's Approach, Seventh ed., Mc Graw Hill. [2 ] "Use case actors," [Online]. Available: https://blogs.oracle.com/oum/entry/use_case_actors_primary_versus. , Last Accessed: September 10, 2016 [3 ] "ERD," SmartDraw, [Online]. Available: https://www.smartdraw.com/entity- relationship-diagram/., Last Accessed: September 15, 2016 [4 ] "ERD," Wikipedia, [Online]. Available: https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model. , Last Accessed: November 05, 2016 [5 ] "tutorialspoint.com," [Online]. Available: https://www.tutorialspoint.com/software_testing/software_testing_documentatio n.htm., Last Accessed: November 10, 2016