- Prepared By:
Aniket V. Raut 244
Vikas V. Shetty 250
Jayprakash Yadav - 260
RGIT, Mumbai
Page 1
PRACTICAL 11
CASE STUDY ONLINE EXAMINATION SYSTEM
CONTENTS :
1. Scope.............3
1.1 Audience
1.2 Organization
2. Software Requirement Specification..3
3. Functional Model5
4. Activity Diagram16
5. Use Case Diagram18
6. UML Interaction Diagram (Sequence and Collaboration Diagram)21
7. State Chart Diagram.29
8. UML Class Diagram.32
9. Component Diagram.35
10. Deployment Diagram..36
RGIT, Mumbai
Page 2
1. Scope :
A. Audience :
Administrator
Teacher
Student
Viewer
B. Organization :
ONLINE EXAMINATION SYSTEM
RGIT, Mumbai
Page 3
Also each exam/test paper can be made to expire so that no same question paper is availed to the
user.
Major features provided by the system are:
Provide log in form to Teachers or Test Takers and also for Students.
Storing personal details and Educational details about the Teachers or Test Takers and Students.
A Time limit is given for the paper, on that time paper should be completed otherwise paper is
submitted.
Provide detail information about Exams like Exam dates, time, subjects and also Syllabus of
Exam that is Books name, Topics included in Exam.
Storing the Questions and Answers of particular subject is made in such way that the teachers or
Test Takers can access them.
Storing the Results of particular subject of particular student is done.
Provide new blank paper for setting the new Questions set with his
or Test Taker can set his paper with appropriate marks.
Result can be viewed immediately as soon as the student is finished with answering the
Questions.
RGIT, Mumbai
Page 4
3. Functional Model.
The functional model describes the data value transformations within the system, transformation of
values function, mapping constraints and functional dependencies.
The Functional model is basically a representation of how information is transformed.
Functional modeling tries to specify the function of each component in your software by providing
consistent in-flows and out-flows. It is a sort of black box approach, in which only inputs/outputs are
considered and the detailed implementations are ignored.
Functional model is represented with the Data Flow Diagram (DFD).
DFD shows the dependencies between the value and the computation of output value from the input value
and function without regards for when the function is executed.
The functional model captures what a system does without regards of how and when it is done.
Data Dictionary
1] Data Process
Table 3.1
NAME
PROCES
PURPOSE
INBOUND DATA
OUTBOUND DATA
FLOW
FLOW
Creation of Qts
Dtls
Qts Info
Creation of Qts
Qts Bank
S
NO.
Qts Bank & Test
Qts
Creation of Qts
1.1
Bank
Adding
Bank
1.1.1
Questions
Updating
Addition Of
Questions
1.1.2
Updation Of Qts
Questions
RGIT, Mumbai
Page 5
Delete Selected
1.1.3
Questions
Deletion Of
Qts Deletion Of
Selected Qts
Selected Dtls
Dtls
Creation of Test
1.2
Creation of Test
Test dtls
Test Info
Selecting &
1.2.1
Addition &
Test Paper
Selection Of Test
Selection dtls
Qts
Updating Test
1.2.2
Updation Of Test
Deleting
1.2.3
Deletion Of
Selection Test
Qts Dtls
To Generate
Test dtls,
Student Result
Enrollment dtls
To Collect Student
Student Dtls
Selected Test
Generation
2.2
Student Result
2.3
Info
Result
Enrollment
RGIT, Mumbai
Dtls
Process Student
Enrollment dtls
Valid
Report
Test Report
3.2
To Generate
Enrollment
member,Receiptid,
Report
Examid
Display Message
Page 6
Result
dtls
Displaying Trial
Result
Result
Trial Test
4.1
Display
Generation of
4.2
To Generate
Result
Result
2] Data Store
Table 3.2
NO
NAME
DESCRIPTION
DATA DESCRIPTION
2.
Enrollment
ExamCat
Detail
CatId, CatName
Category
3.
Level
4.
QuestionBan
k
RGIT, Mumbai
To store details
QuestionBank.
Page 7
5.
Result
Student
7.
Teacher
8.
Test
9.
Viewer
10.
TestRecord
RGIT, Mumbai
ObtainMarks, Status
Result
Detail
Detail
Storing the
TestRecordDetail
Page 8
RGIT, Mumbai
Page 9
Personal Detail
Test Demo
Outstanding Report
Test Report
Enrollment Report
Result Copy
Receipt
RGIT, Mumbai
Page 10
DFD FRAGMENTS
RGIT, Mumbai
Page 11
Retrieve
Store
Store
Store
Retrieve
Result
Store
Retrieve
Retrieve
RGIT, Mumbai
Page 12
Retrieve
TestTest
Qts BankQts Bank
Selected Qts
ResultResult
TestName
Test details
Trial Test & Result
4
Viewer
Appearing for Trial Test
Test Paper & Result Display
Viewer
Store
RGIT, Mumbai
Retrieve
Page 13
Store
Level
Assign
Exam Cat
Assign
Assign
Question Bank Creation
Teacher
Test Created
Test Creation
Creation of Test
1.2
Selected
Qts Bank
Prepared
Test
RGIT, Mumbai
Page 14
Level
Case Study:
Online Examination
System
Qts Bank
& Test Qts
1
Teacher
Question Bank & Test Creation
Qts Selected
Qts Bank
Test
Display Test
2.1
Teacher
Paper created
Result Display
Test Info
Test Report
Appearing For Test
Student
Summary
Generation Student Result
2.2
Submit Test
Result Display
Student
Enrollment Receipt
Management
Enrollment
Store
Management
Receipt
Report
3
Test Record
Student
Enrollment Report
Id Generated
Enrollment
RGIT, Mumbai
Page 15
Enrollme
Enrollment
Summery
Management
Test
Summery
Report Display
Summery
Management
Report Display
Test Report
3.2
Summery
Result
RGIT, Mumbai
Page 16
Qts Selected
Qts Bank
Paper created
Test
Viewer
Viewer
Result Display
Submit Test
Generation of Result
4.2
Store
Result
Retrieve
RGIT, Mumbai
Page 17
Activity Diagram
An Activity diagram is a visual representation of any system's activities and flows of data or decisions
between activities.
Branching
When modeling the workflow of a system, it is often necessary to show where the flow of control
branches based on a decision point.
RGIT, Mumbai
Page 18
Admin
Entered
Login
Admin Login
Assign Teacher
N
Teacher Login
Teacher
Entered
N
Teacher
Details
Issue ID
N
Create Qts
Bank
Teacher
Authorised
Student Details
Create Test
Qts Bank
Created
Issue Student
ID
Viewer ID
Issued
N
Modify Or
Delete Teat
Student ID
Issued
Enrollment
N
Modify Or Delete
Qts Bank
Attempt Exam
Issue Fail
Result
Enter Enrollment
ID
ID Validation
N
Attending Test
Paper
Time Out
N
Submit Paper
N
RGIT, Mumbai
Page 19
The use-case concept was introduced by Ivar Jacobson in the object-oriented software engineering
(OOSE) method.
A use-case diagram is a graph of actors, a set of use cases enclosed by a system boundary,
communication (participation) associations between the actors and the use cases, and generalization
among the cases.
Use case diagrams show how users interact with the system.
Use case diagrams describe what a system does from the standpoint of an external observer. The
emphasis is on what a system does rather than how.
Use case diagrams are closely connected to scenarios. A scenario is an example of what happens
when someone interacts with the system. Here is a scenario for a medical clinic.
"A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds the
nearest empty time slot in the appointment book and schedules the appointment for that time slot.
"
Actors
RGIT, Mumbai
Page 20
Passenger
Use Cases
A use case represents a class of functionality provided by the system as an event flow.
A use case consists of:
Unique name
Participating actors
Pre-conditions
Entry conditions (triggers)
Flow of events
Exit conditions (success guarantees)
Special requirements
RGIT, Mumbai
Purchase Ticket
Page 21
Actors:
A. Administrator
B. Student
C. Teacher
D. viewer
RGIT, Mumbai
Page 22
Use cases:
1. Creating question bank
2. Creation of test
3. Enrolling student
4. Student test
5. Generating result
6. Trail test
7. report
4. Student Test
After receiving the Enrollment ID the particular student has to give the exam online on the
prescheduled date and time
5. Generating results
The exam is of fixed duration after which the paper would be auto submitted and the result of the
candidate would be generated.
6. Trail Test
Any unregistered user or first time user is a Viewer. He has to clear a demo test in order to receive
the enrollment ID which in turn will be used to appear for the Final Examination.
RGIT, Mumbai
Page 23
7 Report
At the end of the Examination, a detailed combine result of the Enrolled students would be
documented as a report
Class roles (subsystem/object/class, actor, and external system roles in the interaction). These are
(usually) drawn across the top of the diagram.
RGIT, Mumbai
Page 24
Questions Added
Modify Questions
Questions Modified
Delete Questions
Questions Deleted
Qts Bank :
Class
Test : Class
Teacher : Teacher
Question Added
Modify Questions
Question Modified
Delete Question
Question Deleted
RGIT, Mumbai
Page 25
Enrollment : Class
Management :
Management
Student : Student
Enrolling for Test
Enter Test Name
Test Name Entered
Fees Details
Payment of Fees
Receipt_ID Issued
Display Schedule
Enrollment Report
Test : Class
Result : Class
Final Marks
RGIT, Mumbai
Page 26
Result : Class
Enrollment : Class
Management :
Management
Enrollment Report
Weekly Report
Monthly Report
Yearly Report
Summary Report
Request Approved
Request Grant
Attempt Test
Display Result
RGIT, Mumbai
Page 27
Test : Class
Result : Class
Teacher : Teacher
Student : Student
Receipt_ID Valid
Display Test
Attempting Test
Submit Paper
Marks Stored
Display & print Result
RGIT, Mumbai
Page 28
Collaboration diagrams are also interaction diagrams. They convey the same information as
sequence diagrams, but they focus on object roles instead of the times that messages are sent. In a
sequence diagram, object roles are the vertices and messages are the connecting links.
Collaboration diagrams show (used to model) how objects interact and their roles.
They are very similar to sequence diagrams. Actually they are considered as a cross between class
and sequence diagram.
Sequence Diagrams are arranged according to Time.
Collaboration Diagrams represent the structural organization of object.
[Both sequence and collaboration diagrams are called interaction diagrams]
RGIT, Mumbai
Page 29
Qts Bank :
Class
2: Question Send
3: Enter Question
5: Modify Questions
7: Delete Question
Test :
Class
4: Question Added
6: Question Modified
8: Question Deleted
Teacher : Teacher
Student : Student
RGIT, Mumbai
Page 30
Test Record :
Class
3: Marks (-1)
5: Marks (2)
2: Wrong Answer
4: Correct Answer
6: Final Marks
Result :
Class
Enrollment :
Class
1: Enrollment Report
Management :
Management
2: Weekly Report
3: Monthly Report
4: Yearly Report
5: Summary Report
Result :
Class
RGIT, Mumbai
Page 31
Result :
Class
11: Display & print Result
Teacher : Teacher
4: Request Grant
6: Display Result
3: Request Approved
2: Request send
Teacher : Teacher
RGIT, Mumbai
Page 32
7. Statechart Diagram:
The name of the diagram itself clarifies the purpose of the diagram and other details. It describes
different states of a component in a system. The states are specific to a component/object of a system.
A Statechart diagram describes a state machine. Now to clarify it state machine can be defined as a
machine which defines different states of an object and these states are controlled by external or internal
events.
Purpose:
Statechart diagram is one of the five UML diagrams used to model dynamic nature of a system.
They define different states of an object during its lifetime. And these states are changed by events. So
Statechart diagrams are useful to model reactive systems. Reactive systems can be defined as a system
that responds to external or internal events.
Statechart diagram describes the flow of control from one state to another state. States are defined as a
condition in which an object exists and it changes when some event is triggered. So the most important
purpose of Statechart diagram is to model life time of an object from creation to termination.
Following are the main purposes of using Statechart diagrams:
To model dynamic aspect of a system.
To model life time of a reactive system.
To describe different states of an object during its life time.
Define a state machine to model states of an object.
Notation :
State
Transition
RGIT, Mumbai
Page 33
Initial State
Final State
Admin
Login
Alloting Teacher
For Specific Test
Teacher
Assign
Create Qts
Create Qts
Bank
Select Qts
Form QtsBank
Enrolling
Student for
Test
Create Test
Student
Enrollment
Pay Fees
Issue Exam
ID
Display Test
Finish Test
When
Student==Viewer
Appearing
Demo Exam
Appearing
Test
Finish Test
Display &
Print Result
RGIT, Mumbai
Page 34
8. CLASS DIAGRAM :
The class diagram is a static diagram. It represents the static view of an application. Class diagram is
not only used for visualizing, describing and documenting different aspects of a system but also for
constructing executable code of the software application.
The class diagram describes the attributes and operations of a class and also the constraints imposed on
the system. The class diagrams are widely used in the modelling of object oriented systems because they
are the only UML diagrams which can be mapped directly with object oriented languages.
The class diagram shows a collection of classes, interfaces, associations, collaborations and constraints. It
is also known as a structural diagram.
Purpose:
The purpose of the class diagram is to model the static view of an application. The class diagrams
are the only diagrams which can be directly mapped with object oriented languages and thus widely used
at the time of construction.
The UML diagrams like activity diagram, sequence diagram can only give the sequence flow of the
application but class diagram is a bit different. So it is the most popular UML diagram in the coder
community.
So the purpose of the class diagram can be summarized as:
RGIT, Mumbai
Page 35
Notation:
Class
Association
Composition
Dependency
Aggregation
Generalization
RGIT, Mumbai
Page 36
Result
TestID : Number
StudentID : Number
TestDate : Date
TotalMarks : Number
ObtainMarks : Number
Status : Varchar
IssueResult()
DisplayResult()
AddQts()
UpdateQts()
DeleteQts()
DisplayTestQts()
0..*
1
Test Record
ReceiptNo : Number
StudentID : Number
TestID : Number
QuestionID : Number
Answer : Varchar
Correct : Varchar
TotalCalculation()
0..*
1..*
Student
StudentID : Number
FirstName : Varchar
LastName : Varchar
Address : Varchar
Pincode : Number
ContactNo : Number
EmailID : Varchar
Password : Varchar
1
Viewer
ViewerID : Number
FirstName : Varchar
LastName : Varchar
Address : Varchar
Pincode : Number
ContactNo : Number
EmailID : Varchar
TestName : Varchar
GetDetails()
DisplayDetails()
UpdateDetails()
DeleteDetails()
GetDetails()
DisplayDetails()
UpdateDetails()
DeleteDetails()
1..*
Test
TestID : Number
TestName : Varchar
CatID : Number
TeacherID : Number
Amount : Number
ExamDate : Date
ExamTime : DateTime
DurationH : Number
DurationM : Number
1
Teacher
TeacherID : Number
FirstName : Varchar
LastName : Varchar
Address : Varchar
Pincode : Number
ContactNo : Number
EmailID : Varchar
Qualification : Varchar
Password : Varchar
CreateQts()
UpdateQts()
DeteleQts()
DisplayQtsBank()
GetDetails()
DisplayDetails()
UpdateDetails()
DeleteDetails()
1..*
Enrollment
ReceiptNo : Number
StudentID : Number
TestID : Number
Date : Date
Amount : Number
PayType : Varchar
ChqDDNo : Number
ChqDDDate : Date
BankName : Varchar
CCNO : Number
0..*
Qts Bank
QtsID : Number
CatID : Number
LevelID : Number
TeacherID : Number
Question : Varchar
Type : Varchar
Opt1 : Varchar
Opt2 : Varchar
Opt3 : Varchar
Opt4 : Varchar
Answer : Varchar
Active : Varchar
Exam Category
CatID : Number
CatName : Varchar
AssignCat()
Level
LevelID : Number
LevelName : Varchar
Marks : Number
AssignLevel()
Management
UserID : Number
UserName : Varchar
Password : Varchar
AssignTeacher()
AnalysReports()
GetPayment()
PutPayment()
IssueReceipt()
RGIT, Mumbai
Page 37
9. Component Diagram :
Component diagrams are different in terms of nature and behavior. Component diagrams are used to
model physical aspects of a system.
Physical aspects are the elements like executables, libraries, files, documents etc which resides in a node.
So component diagrams are used to visualize the organization and relationships among components in a
system. These diagrams are also used to make executable systems.
Purpose:
Component diagram is a special kind of diagram in UML. The purpose is also different from all
other diagrams discussed so far. It does not describe the functionality of the system but it describes the
components used to make those functionalities.
So from that point component diagrams are used to visualize the physical components in a system. These
components are libraries, packages, files etc.
Component diagrams can also be described as a static implementation view of a system. Static
implementation represents the organization of the components at a particular moment.
A single component diagram cannot represent the entire system but a collection of diagrams are used to
represent the whole.
So the purpose of the component diagram can be summarized as:
Notation :
RGIT, Mumbai
Page 38
Component
Dependency
Component Diagram :
<<GUI>>
Java
Application
<<INFRASTRUCTURE>>
Online Examination
System
Oracle
RGIT, Mumbai
Page 39
So deployment diagrams are used to describe the static deployment view of a system. Deployment
diagrams consist of nodes and their relationships.
Purpose:
The name Deployment itself describes the purpose of the diagram. Deployment diagrams are used
for describing the hardware components where software components are deployed. Component diagrams
and deployment diagrams are closely related.
Component diagrams are used to describe the components and deployment diagrams shows how they are
deployed in hardware.
UML is mainly designed to focus on software artifacts of a system. But these two diagrams are special
diagrams used to focus on software components and hardware components.
So most of the UML diagrams are used to handle logical components but deployment diagrams are made
to focus on hardware topology of a system. Deployment diagrams are used by the system engineers.
The purpose of deployment diagrams can be described as:
Notation :
Componen
RGIT, Mumbai
Page 40
Association
Deployment Diagram:
Client Computer
Java
Application
Teacher Server
FTP
Test.Sql
Administrator Server
FTP
Report.Sql
JDBC
FTP
FTP
Database
Printer
FTP
Oracle
RGIT, Mumbai
Page 41