Vous êtes sur la page 1sur 37


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)



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:

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


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

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.


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.


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.



Student Faculty

User mostly a student who will appear for the examination 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


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.


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.


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.

Rational Rose software

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 System

Appear for test

Result Generation

Log out

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

Login Activity Diagram:-

initial state Enter user name and password

Submit username and password

Verify username and password

invalid login

valid login Redirect to user home page

final state

Manage Test Activity Diagram:-

initial state login

Create new test

Edit test

Select existing test

Set test titile

Add question

Add choices

Add more questions

Set correct answer default time for answering questi...

Set time for answering

Set test options Allow practice tests Select groups default practice mode:off

Set test time

Set -ve marks Final state


RecieveMailI nformation

EnterUserDe tails EnterStudent NAme EnterStudent Password






list students

list groups

Send Email with verification code

select a student


changeGrou p name

Remove Student

Change Group





untill all attempts/time out

SelectTestM ode

AnswerQues tions


Generate Result Activity Diagram:-

Initial State

Com pare selected choice w correct answ ith er

if answ is correct er

if answ is w er rong

answ ering tim < default e Add m weightage to ore default score

answering tim >= default e

Deduct from score

Add default score

Next answ ered question

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

M result ail

Final State





Receive e-mail Login 1 Register manage student groups Login

send mail to student

Select test

validation NO YES Redirect user

Answer Question

Total Answered


Verify answer and time

Add questions with highest weightage and strength

YES NO Total Marks


Add questions with less marks and stength

Generate result Receive result Send Result


userid userName password Name getOperation() setUserID() getUserName() setUserName() getPassword() setPassword() login() logout()

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

Result studentID testId marks getStudId() setStudId() getTestId() setTestId() calculateMarks()

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

sendInvitation(email) sendResult()

groupID grroupName getID() setID() getGroupName() setGroupName()

prepareGroup() addStudent() prepareTest()

testID testName timeperQuestion timeperTest allowPractice gettestID() settestID() getTestName() setTestName() getTimeperQustion() setTimeperQuestion() getTimeperSet() setTimeperSet()

questionID qustion choice correctAnswer getQuestionID() setQustionID() getQustion() setQuestion() getChoices() setChoices() getCorrectAnswer() setCorrectAnswer()


id le c o m p o s ite s ta te R e g is te r c o n n e c te c h e c k S u m N O T O K d P ro c e s s i ng lo g in A c tiv e c he ck S um O K

s e le c tT e s t w a i ti n g

R e c ie ve d

A n s w e ri n g

F i n is h e d



Faculty 1: login()

System 2: verify()

3: createGroup()

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

7: logout()

8: register()

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

12: answerQuestion()

13: veryfyAnswers()

14: mailResult()


f:fa c u lty

s :s tu d e n t

1 : lo g in ( ) 2 : c r e a te G r o u p ( )

7 : r e g i s te r ( ) 8 : lo g in ( )

5 : c r e a te T e 3 t: a d d S tu d e n t( ) s

9 4 : s e n d M a i lIn v i ta ti o n : s e le c tT e s t 6 : lo g o u t( ) 1 0 : a n s w e r Q u e s tio n () 1 1 : m a i lR e s u lt( ) r :s y s te m 1 ...3 v e r ify L o g i n ()


ve rify.e xe lo g in.htm l H o m e .htm l

ind e x.htm l s tud e nt.d b

te s t.htm l

c he c k .e x e

re s ult.htm l e xa m .d b


< < c pu> >

m a ins e rve r

< < c pu> >

d b s e rve r
< < c pu> >

c lie nt te rm ina l


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


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

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


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


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.