Você está na página 1de 37

MINI PROJECT

ON
ONLINE EXAMINATION SYSTEM

BY
D.HARIKRISHNA (040-09-009)
M.HARISH KUMAR (040-09-011)
N.V.M.KARTHEEK (040-09-014)
G.MUKESH KUMAR (040-09-024)

VASAVI COLLEGE OF ENGINEERING


(OSMANIA UNIVERSITY AND AICTE AFFILIATED)
IBRAHIMBAGH, HYDERABAD-031

CERTIFICATE
This is certify that Mr. __________________________ bearing Register No:
____________________ has successfully completed the Mini project work
for the case study
in
OBJECT ORIENTED SYSTEM DEVELOPMENT LAB in P.G course
of MASTER OF COMPUTER APPLICATIONS of Osmania university
for the 3rd year 1st semester for the year 2010-2011.

Signature of
Internal examiner
Date:

Signature of
HOD
Date:

Signature of
External Examiner
Date:

Index
Rational Rose An Introduction
Problem Statement for Online Examination System
Software Requirements Specification

Online Examination System Design Using UML Diagrams:


Use case Diagrams
Activity Diagrams
Class Diagrams
State Chart Diagrams
Sequence Diagrams
Collaboration Diagrams
Component Diagrams
Deployment Diagrams
Glossary

INTRODUCTION TO RATIONAL ROSE


NEED TO MODEL SOFTWARE:
Designing a model for software systems is as essential as having a blueprint for a large
building. Good models:
identify requirements and communicate information
focus on how system components interact, without getting bogged down
in specific details
Allow you to see relationships among design components.
improve communication across your team through the use of a common,
graphical language

RATIONAL ROSE-PURPOSE:
There are a number of reasons to use Rational Rose for your development work. Here
are just a few:
Model-driven development results in increased developer productivity.
Use-case and business-focused development results in improved software
quality.
Common standard language--the Unified Modeling Language (UML)
--results in improved team communication.
Reverse-engineering capabilities allow you to integrate with legacy OO
systems.
Models and code remain synchronized through the development cycle.

Rose Enterprise :

supports multiple languages including (VC++, VB, Java, and CORBA)

The Rose graphical user interface :The most common elements are:
Standard toolbar
Diagram toolbox

Browser
Diagram window
Documentation window
Specifications
These items are briefly discussed in subsequent slides. How, where, and why each
of these elements is used will become clearer as you progress through the tutorial.

Views:

Just as there are many views of a house under construction the floor
plan, the wiring diagram, the elevation plan, there are many views of a
software project under development.

Rational Rose is organized around the following views of a software project:


Use Case
Logical
Component
Deployment
Each of these views presents a different aspect of the model and is explained in
subsequent slides.

The use-case view:The use-case view helps you to understand and use the system. This view looks
at how actors and use cases interact. The diagrams in this view are:
Use-case diagrams
Sequence diagrams
Collaboration diagrams
Activity diagrams
This view contains a Main diagram by default. Additional diagrams can be added
throughout the analysis and design process

The logical view:The logical view addresses the functional requirements of the system. This view
looks at classes and their relationships. The diagrams in this view are:
Class diagrams
State chart diagrams
This view contains a Main diagram by default. Additional diagrams can be added
throughout the analysis and design process.

The component view:The component view addresses the software organization of the system. This
view contains information about the software, executable and library components for the
system. This view contains only component diagrams. The component view contains a
Main diagram by default. Additional diagrams can be added to this view throughout.

The deployment view:The deployment view shows the mapping of processes to hardware. This type of
diagram is most useful in a distributed architecture environment where you might have
applications and servers at different locations. This view contains only one diagram the
deployment diagram.

Diagrams :

Simply put, a diagram is a graphical representation of the elements of your


system.
Different diagram types allow you to view your system from multiple
perspectives.
You can create various types of diagrams in Rational Rose. The diagram
types include:
Use Case
Class
Activity
State chart
Component
Deployment
Sequence
Collaboration
Each of these diagram types is explained below.

Use-case diagrams:

Use-case diagrams present a high-level view of system usage as viewed


from an outsiders (actors) perspective.
These diagrams show the functionality of a system or a class and how the
system interacts with the outside world.
Use-case diagrams can be used during analysis to capture the system
requirements and to understand how the system should work.
During the design phase, use-case diagrams specify the behavior of the
system as implemented.
Rose automatically creates a Main use-case diagram in the use-case view.
There are typically many use-case diagrams in a single model.

Class diagrams:

A class diagram helps you visualize the structural or static view of a


system and is one of the most common diagram types.
Class diagrams show the relationships among and details about each class.
Class diagrams are also the foundation for component and deployment
diagrams.
Rose automatically creates a Main class diagram in the logical view.
There are typically many class diagrams in a single model.

Sequence diagrams:

A sequence diagram illustrates object interactions arranged in a time


sequence.
These diagrams are typically associated with use cases. Sequence
diagrams show you step-by-step what has to happen to accomplish
something in the use case.
This type of diagram emphasizes the sequence of events, whereas
collaboration diagrams (an alternative view of the same information)
emphasize the relationship.
This type of diagram is best used early in the design or analysis phase
because it is simple and easy to comprehend.

Collaboration diagrams:

Collaboration diagrams provide a view of the interactions or structural


relationships between objects in the current model.
This type of diagram emphasizes the relationship between objects whereas
sequence diagrams emphasize the sequence of events.
Collaboration diagrams contain objects, links, and messages.
Use collaboration diagrams as the primary vehicle to describe interactions
that express decisions about system behavior.

Activity diagrams

Activity diagrams model the workflow of a business process and the


sequence of activities in a process.
These diagrams are very similar to a flowchart because you can model a
workflow from activity to activity or from activity to state.
It is often beneficial to create an activity diagram early in the modeling of
a process to help you understand the overall process.
Activity diagrams are also useful when you want to describe parallel
behavior or illustrate how behaviors in several use cases interact.

Component diagrams:

Component diagrams provide a physical view of the current model.


They show the organization and dependencies among software
components, including source code, binary code, and executable
components.
You can create one or more component diagrams to depict components
and packages or to represent the contents of each component package.

State chart diagrams:

You can use state chart diagrams to model the dynamic behavior of
individual classes or objects.
State chart diagrams show the sequences of states that an object goes
through, the events that cause a transition from one state or activity to
another and the actions that result from a state or activity change.
A state chart diagram is typically used to model the discrete stages of an
objects lifetime, whereas an activity diagram is better suited to model the
sequence of activities in a process.

PROBLEM STATEMENT:-

The problem is to take online exam in an efficient manner and no time wasting for
checking the paper. This will not only saves time but also gives fast results, for students
they give question papers set according to their choice and there is no need of using extra
things like paper, pen and etc.
This project assesses students by conducting online objective tests. The tests would be
highly customizable. This project will enable educational institutes to conduct test and
have automated checking of answers based on the response by the candidates.
The project allows faculties to create their own tests. It would enable educational
institutes to perform tests. It asks faculty to create his/her set of questions. Faculty then
creates groups and adds related students into the groups.
Further the tests are associated with specific groups so that only associated students can
appear for the test. The result of the response would be available to the faculty of the
question set. Further the result would also be mailed to the student.

SOFTWARE REQUIREMENTS SPECIFICATION


1. INTRODUCTION:1.1 Purpose:

Responses by the candidates will be checked automatically and instantly.

Online examination will reduce the hectic job of assessing the answers given by the
candidates.

Being an integrated Online Examination System it will reduce paper work.

Can generate various reports almost instantly when and where required.

1.2 Scope:This project would be very useful for educational institutes where regular
evaluation of students is required. Further it can also be useful for anyone who
requires feedback based on objective type responses.

1.3 Definitions, Acronyms:The sub-section provides the definitions of all terms, acronyms, and abbreviations
used in this document to understand the SRS properly.
Sr.
No.

Terms/Acronyms

Description

Student

User mostly a student who will appear for the examination

Faculty

Another user mostly faculty member, lecturer or examiner who posts


set of questions, the available options and correct answers.

Administrator Super user, adds faculty and manages system.

2. Functional or Specific Requirements:Required software is for conducting on-line `objective type examination and
providing immediate results. The system should satisfy the following requirements:

Administrator Aspect

Taking backup of the database

Editing/Deleting/Creating the database.

Adding or expelling faculty

Changing the super password.

Faculty Aspect

Logging into the system.

Sending invitations to specific student by mail

Accepting registrations of candidates

Adding the candidate to a group

Create/Edit/Delete candidate groups

Creating a test

Posting questions in the above test

Posting multiple options to respective question

Marking correct answer within the given options

Specifying to allow user defined answer

Time limit of the test if any.

Whether to randomize the questions

Whether to randomize the options displayed

To allow the test to be taken in practice mode where the correct


answer is shown immediately after the candidate selects an option.

Set negative marks for wrong responses

Student Aspect:

Requesting registration

Logging into the system.

Edit user information.

Selecting the test.

Selecting whether the test to be taken in practice mode where the


correct answer is shown immediately after the candidate selects an
option.

Appearing for the examination.

Printing the result at the end of the examination.

Reviewing the given responses.

Changing password.

Resetting of forgotten password

Analysis

Authenticating users based on username and password

Keeping session track of user activity

Recording candidates responses to every question

Checking whether the given response is correct or not

Keeping history of test reports of all users

Mailing

The reports are required to be mailed to the candidates on the


registered mail address.

Temporary password will be mailed to the user incase the user


forgets the password.

Invitations for the appearance for the new test will be mailed.

3. External Interface Requirements:Hardware Interfaces

Server side hardware

Hardware recommended by all the software needed.

Communication hardware to serve client requests

Client side hardware

Hardware recommended by respective clients operating system and


web browser.

Communication hardware to communicate the server.

Assumption and Dependency


Username are valid email addresses of respective user
Administrator has the authority to add/delete faculty level accounts.
Faculties have the authority to approve/expel student
Faculties have the authority to change students group

Non-Functional Requirements
System should be able handle multiple users
Database updating should follow transaction processing to avoid data

inconsistency.

4. Security:-

Administrator has the highest authority to edit/delete/create database

Faculty have the authority to add/expel students

Students can only view their test records.

Faculty can view all the test records of every student.

Critical information like passwords should be transferred in encrypted form

Passwords should be stored in encrypted form

Password will not be mailed to the user in case user forgets password, instead
either temporary password or a password reset link will be sent.

Reliability:-

Data validation and verification needs to be done at every stage of activity.

Validating user input

Use of locking mechanism while updating database like transaction


processing

Recovering the transaction using rollback.

Availability:The examination system being an online system should be available anytime.


Constraints:
Though the system should be available 24x7 some features may be restricted.

Quiz creator may allow the specific test to be available only at certain time
like scheduled examination.

The test may be time limited so the candidates appearing will have limited
time to answer the test.

Portability:-

The web application will be built using PHP which has support to run on any
platform provided the required compilers are available.

For database either XML or MySQL would be used, that too has extensive
support over many popular architectures and operating systems.

Constraints:
Portability would be limited to the support provided by the respective application
vendor on various architectures and operating environments.

Performance:-

The system would be used by multiple users at a time and may grow as time
passes; the system would need to implement multithreading to achieve acceptable
performance. Further a database connection pool may also be required for
assigning faster database connection.

Software
Rational Rose software

Hardware

The recommended hardware specified by the respective software would suffice


the needs. The memory and processing power needed would increase as the
number of users increase. The estimated hardware requirements are as
specified.

Server

The minimum hardware as recommended by all of the software required on


server side say web server, operating system and development software

Processing speed of 1.6 GHz

1 GB of RAM

Client

The minimum hardware as recommended by all of the software


required on client side say web browser, operating system

Minimum hardware depending on the operating system used

True color visual display unit

User peripherals for better interaction

UML DIAGRAMS

Use Case Diagrams:Use Case overview:

Add faculties
Faculty
Administrator
Login

User Profile

Manage student Groups

Student Registration
Student
Manage Test

Appear for test

Result Generation

Log out

System

Add Faculty Use Case

Login Use Case

Manage Student Groups Use Case

Student Registration Use Case

Manage Test Use Case

User Profile Edit Use Case

Appear for Test Use Case

Generate Result Use Case

ACTIVITY DIAGRAMS
Login Activity Diagram:-

initial state
Enter user name and
password

Submit username and password

Verify username and password

valid login
Redirect to user
home page

final state

invalid login

Manage Test Activity Diagram:-

initial state
login

Create new
test

Edit test

Select
existing test

Set test titile

Add question

Add choices

Set correct
answer

Add more questions

Set time for


answering

default
time for
answering
questi...

Set test
options
Allow practice
tests
Select groups

Set test time

Set -ve marks


Final state

default
practice
mode:off

STUDENT REGISTRATION:-

RecieveMailI
nformation

EnterUserDe
tails
EnterStudent
NAme

Submit

EnterStudent
Password

MANAGE STUDENT ACTIVITY DIAGRAM:initialState

login

ManageStudentGroups

list groups

list students

AddStudent

Send Email with


verification code

select a
student

Remove
Student

liststudents

Change
Group

finalState

changeGrou
p name

ANSWER TEST ACTIVITY DIAGRAM:initialState

login

SelectTest

untill all attempts/time out

AnswerQues
tions

finalState

SelectTestM
ode

Generate Result Activity Diagram:-

Initial State

Compare selected choice


with correct answer

if answer is wrong

if answer is correct

answering time < default

answering time >= default

Add more weightage to


default score

Deduct from
score

Add default
score

Score to be deducted
is the negative marking
ratio set while creating
test

Next answered question

Mail result

Final State

SWIM LANES:-

Student

Faculty

System

Receive
e-mail
Login 1
Register
manage student
groups

send mail to
student

Login

validation

Select
test

NO
YES
Redirect
user

Answer
Question

Total
Answered

Add questions with highest


weightage and strength

Add questions with less


marks and stength

Verify answer
and time

NO

Verification

YES
NO
Total
Marks

Generate
result
Receive
result
Send
Result

CLASS DIAGRAM:-

User
userid
userName
password
Name

Result
studentID
testId
marks

StudentResponse

getOperation()
setUserID()
getUserName()
setUserName()
getPassword()
setPassword()
login()
logout()

getStudId()
setStudId()
getTestId()
setTestId()
calculateMarks()

Mailer
sendInvitation(email)
sendResult()

studentID
questionID
choiceSelected
getStudentID()
setStudentID()
getQuestion()
setQuestion()
getChoiceSelected()
setChoiceSeleced()

CStudent
groupID

Group
groupID
grroupName

getGroupID()
setGroupID()
selectTest()
answerQuestions()
register()

getID()
setID()
getGroupName()
setGroupName()

CFaculty
prepareGroup()
addStudent()
prepareTest()

Test
testID
testName
timeperQuestion
timeperTest
allowPractice

questionID
qustion
choice
correctAnswer

gettestID()
settestID()
getTestName()
setTestName()
getTimeperQustion()
setTimeperQuestion()
getTimeperSet()
setTimeperSet()

getQuestionID()
setQustionID()
getQustion()
setQuestion()
getChoices()
setChoices()
getCorrectAnswer()
setCorrectAnswer()

TestQuestions

STATE CHART DIAGRAM:-

idle
composite state
Register

connecte
d

checkSumNOTOK
Processi
ng

login
checkSumOK

Active

selectTest

Recieved

waiting

Answerin
g

Finished

SEQUENCE DIAGRAM:-

Student

Faculty

System
1: login()
2: verify()

3: createGroup()

4: addStudent()
5: sendMauilInvitation()
6: createTest()

7: logout()

8: register()

9: login()
10: veryfyLoginInfo()
11: selectTest()

12: answerQuestion()

14: mailResult()

13: veryfyAnswers()

COLLABORATION DIAGRAM:-

f:faculty

2: createGroup()

s:student

5: createTest

7: register()

1: login()

3: addStudent()

8: login()
9: selectTest

4: sendMailInvitation
10: answerQuestion()

6: logout()
1...3 verifyLogin()

11: mailResult()
r:system

COMPONENT DIAGRAM:-

verify.exe
login.html
Home.html

index.html
student.d
b

test.html

check.ex
e

result.html
exam.db

DEPLOYMENT DIAGRAM:-

<<cpu>>

mainserver

<<cpu>>

dbserver
<<cpu>>

client terminal

GLOSSARY

Action: an executable atomic computation that results in a change in state of the system
or the return of a value.

Action expression: an expression that evaluates to a collection of actions.


Action state: a state that represents the execution of an atomic action, typically the
invocation of an operation.

Active class: a class whose instances are active objects.


Active object: an object that owns a process or thread and can initiate control activity.
Activity: ongoing nonatomic execution within a state machine.
Activity diagram: a diagram that shows the flow from activity to activity; activity
diagrams address the dynamic view of a system. A special case of a state diagram in
which all or most of the states are activity states and in which all are most of the
transitions are triggered by completion of activities in the source states.

Artifact: a piece of information that is used or produced by a software development


process.

Association: a structural relationship that describes a set of links, in which a link is


connection among objects; the semantic relationship between two or more classifiers that
involves the connections among their instances.

Class: a description of a set of objects that share the same attributes operations,
relationships and semantics.

Class Diagram: a diagram that shows a set of classes, interfaces, collaborations and
their relationships; class diagrams address the static design view of a system; a diagram
shows a collection of declarative elements.

Collaboration: a society of roles and other elements that work together to provide
some cooperative behavior thats bigger than the sum of all its parts; the specification of
how an element, such as a use case or an operation, is realized by a set of classifiers and
associations playing specific roles and used in a specific way.

Collaboration diagram: an interaction diagram that emphasizes the structural


organization of the objects that send and receive messages; a diagram that shows
interaction organized around instances and their links to each other.

Component: a physical and replaceable part of a system that conforms to and provides
the realization of a set of interfaces.

Component diagram: a diagram that shows the organization of and dependencies


among a set of components; component diagram address the static implementation view
of a system.

Composite state: a state that consist of either concurrent sub states or disjoint sub
states.

Deployment diagram: a diagram that shows the configuration of run time


processing nodes and the components that live on them; a deployment diagram address
the static deployment view of the system.

Event: the specification of a significant occurrence that has a location in time and
space; in the context of state machine, an event is an occurrence of a stimulus that can
trigger a state transition.

Focus of control: a symbol on a sequence diagram that shows the period of time
during which an object is performing an action directly or through a subordinate
operation.

Interaction: a behavior that comprises a set of messages that are exchanged among a
set of objects with in a particular context to accomplish to a purpose.

Interaction diagram: a diagram that shows an interaction, consisting of a set of


objects and their relationship, including a message that may be dispatched among them.
They address the dynamic view of the system.

Object lifeline: a line in a sequence diagram that represents the existence of an object
over a period of time.

Sequence diagram: an interaction diagram that emphasizes the time ordering of


messages.

State: a condition or a situation during the life of an object during which it satisfies
some conditions, perform some activity, or wait for some event.

State chart diagram: a diagram that shows a state machine; state chart diagrams
address the dynamic view of a system.

Swim lane: a partition on an interaction diagram for organizing responsibilities for


actions.

UML: The Unified Modeling Language, a language for visualizing, specifying,


constructing and documenting the artifacts of a software-intensive system.

Use Case: a description of set of sequences of actions, including variants, that a system
performs that yields an observable result of value to an actor.

Use Case diagram: a diagram that shows a set of use cases and actors and their
relationships; use case diagrams address the static use case view of a system.

Use Case View: the view of systems architecture that encompasses the use cases that
describe the behavior of the system as seen by its end users, analysts, and testers.

View: a projection into a model which is seen from a given perspective or vantage point
and omits entities those are not relevant to this perspective.

Você também pode gostar