Mini Project

47
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)

Transcript of Mini Project

Page 1: Mini Project

MINI PROJECTON

ONLINE EXAMINATION SYSTEM

BYD.HARIKRISHNA (040-09-009)

M.HARISH KUMAR (040-09-011) N.V.M.KARTHEEK (040-09-014)

G.MUKESH KUMAR (040-09-024)

Page 2: Mini Project

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 Signature of Signature of Internal examiner HOD External Examiner Date: Date: Date:

Page 3: Mini Project

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

Page 4: Mini Project

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

Page 5: Mini Project

• 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:-

Page 6: Mini Project

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:-

Page 7: Mini Project

• Use-case diagrams present a high-level view of system usage as viewed from an outsider’s (actor’s) 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:-

Page 8: Mini Project

• 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 object’s lifetime, whereas an activity diagram is better suited to model the sequence of activities in a process.

Page 9: Mini Project

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.

Page 10: Mini Project

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

FacultyAnother 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.

Page 11: Mini Project

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:

Page 12: Mini Project

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.

Page 13: Mini Project

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 client’s 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 student’s 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

Page 14: Mini Project

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.

Por t ability :-

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

Page 15: Mini Project

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

Page 16: Mini Project

True color visual display unit

User peripherals for better interaction

UML DIAGRAMS

Use Case Diagrams:-

Use Case overview:

Page 17: Mini Project

Add faculties

Login

User Profile

Student Registration

Manage Test

Appear for test

Result Generation

Manage student Groups

Log out

Administrator

Student

Faculty

System

Page 18: Mini Project

Add Faculty Use Case

Login Use Case

Page 19: Mini Project

Manage Student Groups Use Case

Student Registration Use Case

`

Page 20: Mini Project

Manage Test Use Case

User Profile Edit Use Case

Page 21: Mini Project

Appear for Test Use Case

Generate Result Use Case

Page 22: Mini Project

ACTIVITY DIAGRAMS

Login Activity Diagram:-

initial state

Enter user name and password

Submit username and password

Verify username and password

Redirect to user home page

final state

invalid login

valid login

Page 23: Mini Project

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

Set time for answering

Add more questions

Set test options

Allow practice tests

Select groups

Set test time

Set -ve marks

Final state

default time for answering questi...

default practice mode:off

Page 24: Mini Project

STUDENT REGISTRATION:-

RecieveMailInformation

EnterUserDetails

EnterStudentNAme

EnterStudentPassword

Submit

Page 25: Mini Project

MANAGE STUDENT ACTIVITY DIAGRAM:-

changeGroup name

initialState

login

ManageStudentGroups

AddStudent list students list groups

Send Email with verification code

select a student liststudents

Remove Student

Change Group

finalState

Page 26: Mini Project

ANSWER TEST ACTIVITY DIAGRAM:-

initialState

login

SelectTest

SelectTestMode

AnswerQuestions

finalState

untill all attempts/time out

Page 27: Mini Project

Generate Result Activity Diagram:-

Initial State

Compare selected choice with correct answer

Deduct from score

if answer is wrong

Add more weightage to default score Add default

score

Mail result

Final State

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

if answer is correct

answering time < default answering time >= default

Next answered question

Page 28: Mini Project

SWIM LANES:-

Receive e-mail

Register

Login

Select test

Answer Question

Total Answered

Add questions with highest weightage and strength

Add questions with less marks and stength

Receive result

NO

Login 1

manage student groups send mail to

student

validation

Redirect user

Verify answer and time

Verification

Send Result

Total Marks

Generate result

NO

YES

YES

NO

SystemFacultyStudent

Page 29: Mini Project

CLASS DIAGRAM:-

ResultstudentIDtestIdmarks

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

MailersendInvitation(email)sendResult()

UseruseriduserNamepasswordName

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

TesttestIDtestNametimeperQuestiontimeperTestallowPractice

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

CFaculty

prepareGroup()addStudent()prepareTest()

GroupgroupIDgrroupName

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

CStudentgroupID

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

StudentResponsestudentIDquestionIDchoiceSelected

getStudentID()setStudentID()getQuestion()setQuestion()getChoiceSelected()setChoiceSeleced()

TestQuestionsquestionIDqustionchoicecorrectAnswer

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

Page 30: Mini Project

STATE CHART DIAGRAM:-

composite state

connected

Active

Processing

waiting

Answering

Finished

Recieved

idle

connected

Active

Processing

waiting

Answering

login

checkSumNOTOK

checkSumOK

selectTest

Register

Finished

Recieved

Page 31: Mini Project

SEQUENCE DIAGRAM:-

Student Faculty System

1: login()2: verify()

3: createGroup()

4: addStudent()

5: sendMauilInvitation()

6: createTest()

7: logout()

8: register()

9: login()

11: selectTest()

12: answerQuestion()

10: veryfyLoginInfo()

13: veryfyAnswers()

14: mailResult()

Page 32: Mini Project

COLLABORATION DIAGRAM:-

s:student

f:faculty

r:system

1...3 verifyLogin()

4: sendMailInvitation

7: register()

8: login()

9: selectTest

10: answerQuestion()

11: mailResult()

1: login()2: createGroup()

3: addStudent()5: createTest

6: logout()

Page 33: Mini Project

COMPONENT DIAGRAM:-

Home.html

login.html

index.html

test.html

result.html

verify.exe

check.exe

student.db

exam.db

Page 34: Mini Project

DEPLOYMENT DIAGRAM:-

client terminal<<cpu>>

dbserver<<cpu>>

mainserver<<cpu>>

Page 35: Mini Project

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 that’s 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.

Page 36: Mini Project

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.

Page 37: Mini Project

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.