UML Online Examination Case Study
Short Description
All related diagrams...
Description
OOMD Using UML
Case Study: Online Examination System
Object Oriented Modeling And Design Using UML Practical 11-Group Case Study Online Examination System
- Prepared By: Aniket V. Raut – 244 Vikas V. Shetty – 250 Jayprakash Yadav - 260
RGIT, Mumbai
Page 1
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
PRACTICAL 11 CASE STUDY ONLINE EXAMINATION SYSTEM
CONTENTS :
1. Scope………………………………………………………….............3 1.1 Audience 1.2 Organization 2. Software Requirement Specification…………………………………..3 3. Functional Model………………………………………………………5 4. Activity Diagram………………………………………………………16 5. Use Case Diagram………………………………………………………18 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
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
1. Scope : A. Audience :
Administrator Teacher Student Viewer
B. Organization : ONLINE EXAMINATION SYSTEM
2. Software Requirement specification System Abstract – ONLINE – EXAMINATION SYSTEM In this system, the student can take an exam ONLINE that is answer the questions on an Interactive time - bound examination system where it’s output (can also be printed) or result can be viewed immediately as soon as the user is finished with answering the questions. The system has a unique way of assessment of answers, which can be programmed by the teacher or the test taker. The input requirements to the system include, test banks which can be created by Teacher/Test Taker and can be loaded by creating a specific test – session for the student. The creation of the test – session provides a unique user Name/password which is valid for particular user. When logged in with a valid UserId/password student can open the test file and start the test. The track record of student can be maintained, regarding the tests taken by user & the marks obtained. The interactive test – creation environment can be provided, for the Teacher/Test Taker through which he/she can load/create a new test, create student login, create/open new question banks with answers, create Teacher accounts (for subject specific tests) print the test answers with the keys/solutions to them. The system can be expanded to have a detailed report of the student & the test takers along with correct answers and answers they gave with the marks.
RGIT, Mumbai
Page 3
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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 Student’s. Storing personal details and Educational details about the Teachers or Test Takers and Student’s. 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.
Answers so that Teacher
Result can be viewed immediately as soon as the student is finished with answering the Questions.
RGIT, Mumbai
Page 4
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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
Qts Bank & Test
Qts Bank Info, Test
Bank & Test Qts
Dtls
Qts Info
Creation of Qts
Qts Bank Dtls
Qts Bank Info,
Qts Addition Dtls
Qts Bank
Qts Updation Dtls
Upadated Qts Bank
S NO. Qts Bank & Test
1
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
Dept-MCA (Sem IV)
OOMD Using UML
Delete Selected
Case Study: Online Examination System
1.1.3
Questions
Deletion Of
Qts Deletion Of
Delete Selected Qts
Selected Qts
Selected Dtls
Dtls
Creation of Test
1.2
Creation of Test
Test dtls
Test Info
Selecting &
1.2.1
Addition &
Test Qts Addition &
Test Paper
Selection Of Test
Selection dtls
Adding Test Qts
Qts
Updating Test
1.2.2
Updation Of Test
Test Updation Dtls
Upadated Test Paper
Deleting
1.2.3
Deletion Of
Test Qts Deletion Of
Delete Selected Test
Selection Test
Selection Test dtls
Qts Dtls
To Generate
Test dtls,
Student Result of Test
Student Result
Enrollment dtls
To Collect Student
Student Dtls
Selected Test
Generation
2.2
Student Result
Get Student Info
2.3
Info
Trial Test &
3
Result Enrollment
RGIT, Mumbai
Dtls”
Process Student
Trial Test dtls
Trial Test & Rsult Dtls
Enrollment dtls
Valid
Trial Test & Result 3.1
Report
Test Report
Student,Test & Result
3.2
To Generate Enrollment
member,Receiptid,
Report
Examid
Display Message
Page 6
Test Conduct dtls
No such Student & Test
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System exists dtls
Trial Test &
4
To Trial Test &
Trial Test Conduct
Result
dtls
Displaying Trial
Trial Test Result dtls
Trial Test Qts Papers
Qts & Ans details
Result
Result Trial Test
4.1
Display
Trial Test Result
Test & Result
Generation of
4.2
To Generate
Result
Result
2] Data Store
Table 3.2 NO
NAME
DESCRIPTION
DATA DESCRIPTION
.
Storing the Enrollment 1.
2.
Enrollment
ExamCat
Detail
ReceiptNo, StudentId, TestId, Date, Amount, PayType, Chq_DD_No, Chq_DD_date, BankName, CC_No
Storing the Exam
CatId, CatName
Category
3. Level
4.
QuestionBan k
RGIT, Mumbai
Storing the Level
LevelId, LevelName, Marks
To store details
QuestionId, CatId, LevelId, TeacherId, Question,
QuestionBank.
Type, Opt1, Opt2, Opt3, Opt4, Answer, Active
Page 7
Dept-MCA (Sem IV)
OOMD Using UML
5.
Result
Case Study: Online Examination System
Storing the Student
Student
7.
Teacher
8.
Test
9.
Viewer
10.
TestRecord
RGIT, Mumbai
ObtainMarks, Status
Result
Storing the Student 6.
TestId, StudentId, TestDate, TotalMarks,
StudentId, FirstName, LastName, Address, PinCode ContactNo, EmailId, Password
Detail
Storing the Teacher Detail Storing the Test Detail
TeacherId, FirstName, LastName, Address, PinCode ContactNo, EmailId, Qualification, Password TestId, TestName, Catid, Teacherid, Examid, ExamDate, Duration
Storing the Viewer
ViewerId, FirstName, LastName, Address, PinCode
Detail
ContactNo, EmailId, Password, Testid
Storing the TestRecordDetail
ReceiptNo, Studentid, Qtsid, Testid, answer, correct
Page 8
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Context Level DFD
RGIT, Mumbai
Page 9
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Personal Detail
Test Demo Outstanding Report
Test Report Enrollment Report Result Copy Receipt
RGIT, Mumbai
Page 10
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Fig 3.1 Context Level DFD
DFD FRAGMENTS
RGIT, Mumbai
Page 11
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Retrieve
Store Store
Store Retrieve
Result Store
Retrieve
Retrieve
RGIT, Mumbai
Page 12
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System Store
Fig 3.2 DFD Level-1
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
Fig 3.3 DFD Level-1
RGIT, Mumbai Retrieve
Page 13
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Store
Level Assign Exam Cat
Assign
Assign Question Bank Creation
Creation of Qts Bank 1.1
Question Bank Created Teacher
Teacher Test Created Test Creation
Creation of Test 1.2
Selected
Qts Bank
Prepared Test
Fig 3.4 DFD Level-2 (Process 1)
RGIT, Mumbai
Page 14
Dept-MCA (Sem IV)
Level Case Study: Online Examination System Qts Bank & Test Qts
OOMD Using UML
1 Teacher Question Bank & Test Creation
Qts Selected
Qts Bank
Test Paper Display
Test
Display Test 2.1
Teacher
Paper created
Student Test & Result 2
Result Display Test Info Test Report Appearing For Test
Student
Test Paper Display
Summary Generation Student Result 2.2 Submit Test
Result Display
Student
Enrollment Receipt
Enrollment Report Request Retrive
Management
Enrollment
Store
Management
Get Student Info 2.3
Receipt
Report 3 Test Record
Student
Enrollment Report Id Generated
Enrollment
Fig 3.5 DFD Level-2 (Process 2)
RGIT, Mumbai
Page 15
Dept-MCA (Sem IV)
Enrollme
OOMD Using UML
Case Study: Online Examination System
Enrollment Summery
Management
Test
Summery
Request Enrollment Report Enrollment Report 3.1
Report Display Summery
Request Test Report
Management
Report Display
Test Report 3.2
Summery
Result
Fig 3.6 DFD Level-2 (Process 3)
RGIT, Mumbai
Page 16
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Qts Selected
Qts Bank
Paper created
Test
Trial Test Display 4.1 Appearing for Trial Test
Viewer
Viewer
Result Display Submit Test Generation of Result 4.2
Store Result Retrieve
Fig 3.7 DFD Level-2 (Process 4)
RGIT, Mumbai
Page 17
Dept-MCA (Sem IV)
OOMD Using UML 4.
Case Study: Online Examination System
Activity Diagram
An Activity diagram is a visual representation of any system's activities and flows of data or decisions between activities. • • • • • • •
Activity diagrams provide a very broad view of a business process. They represent the dynamics of a system. They are flow charts that are used to show the work flow of a system. They show the flow of control from activity to activity in the system. They show what activities can be done in parallel, and any alternative paths through the flow. Purpose • Model business workflows • Model operations Activity diagrams commonly contain • Activity states and action states • Transitions • Objects Action States and Activity States •
Action states are atomic and cannot be decomposed Work of the action state is not interrupted
•
Activity states can be further decomposed Their activity being represented by other activity diagrams They may be interrupted
•
Represented in UML by a rounded rectangle.
•
Activity represents the performance of some behavior in the work flow.
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.
• •
The transition from a decision point contain a guard condition. The guard condition is used to determine which path from the decision point is taken. Decisions along with their guard conditions allow you to show alternative paths through a work flow .
•
RGIT, Mumbai
Page 18
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
A branch specifies alternate paths taken based on some Boolean expression A branch may have one incoming transition and two or more outgoing ones
Admin Entered
Login
Admin Login
Defined Exam Category & Exam Level
Assign Teacher
Y
N Teacher Login
Teacher Entered N
Y
Teacher Details
Issue ID N
Y
Create Qts Bank
Teacher Authorised
Student Details
Y
Create Test
Qts Bank Created
Issue Student ID Viewer ID Issued N
Y
Modify Or Delete Teat
N
Test Created & Confirm
Appear Demo Exam & Issue Result Attempt Final Exam
Student ID Issued
Y
Enrollment N
N
Y
Modify Or Delete Qts Bank
Y
N
Attempt Exam
Issue Receipt & Enrollment ID Y
Issue Fail Result
N
Enter Enrollment ID
ID Validation N
Y
Attending Test Paper
Time Out N
Y
Display & Print Result
Submit Paper N
Y
Fig 4.1 The Activity Diagram for Online Examination system
RGIT, Mumbai
Page 19
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
5. Use Case Diagram :
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. "
Used during requirements elicitation to represent external behavior Actors represent roles, that is, a type of user of the system Use cases represent a sequence of interaction for a type of functionality The use case model is the set of all use cases. It is a complete description of the functionality of the system and its environment
Actors
An actor models an external entity which communicates with the system: User External system Physical environment An actor has a unique name and an optional description. Examples: Passenger: A person in the train GPS satellite: Provides the system with GPS coordinates
RGIT, Mumbai
Page 20
Passenger
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Fig 5.1 Use case diagram for Online Examination System
USE CASE DESCRIPTION :
Actors: A. Administrator B. Student C. Teacher D. viewer
RGIT, Mumbai
Page 22
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Use cases: 1. Creating question bank 2. Creation of test 3. Enrolling student 4. Student test 5. Generating result 6. Trail test 7. report
1. creating question bank Question bank is created by the Authorized Teacher only. 2. Creation of test Authorized teacher will create a test paper from the question bank previously prepared. 3. Enrolling student Student has to clear the demo test. After which her will be enrolled and given a Enrollment ID.
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
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
7 Report At the end of the Examination, a detailed combine result of the Enrolled students would be documented as a report
6. UML Interaction Diagram (Sequence And Collaboration Diagram) . Sequence diagrams : A sequence diagram is an interaction diagram that details how operations are carried out -- what messages are sent and when. Sequence diagrams are organized according to time. The time progresses as you go down the page. The objects involved in the operation are listed from left to right according to when they take part in the message sequence. Sequence diagrams contain the following: –
Class roles (subsystem/object/class, actor, and external system roles in the interaction). These are (usually) drawn across the top of the diagram.
–
Lifelines (subsystem/object/class existence). These (usually) extend down the diagram.
–
Activations (show when the subsystem/object/class is doing something)
Messages (communication between roles
RGIT, Mumbai
Page 24
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Qts Bank : Class Teacher : Teacher Select Exam Category & Level Exam Category & Level Selected Enter Questions
Questions Added
Modify Questions Questions Modified Delete Questions Questions Deleted
Fig 6.1 Sequence Diagram For Creating Qts Bank
Qts Bank : Class
Test : Class
Teacher : Teacher
Request for Questions Question Send Enter Question
Question Added Modify Questions
Question Modified Delete Question Question Deleted
Fig 6.2 Sequence Diagram For Creating Test
RGIT, Mumbai
Page 25
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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
Fig 6.3 Sequence Diagram For Enrollment
Test : Class
Test Record : Class
Result : Class
Question & Answer Submitted Wrong Answer Marks (-1) Correct Answer Marks (2)
Final Marks
Fig 6.4 Sequence Diagram For Generation of Result
RGIT, Mumbai
Page 26
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Result : Class
Enrollment : Class Management : Management Enrollment Report Weekly Report
Monthly Report Yearly Report Summary Report
Fig 6.5 Sequence Diagram For Report
: Trial Test : Class Viewer : Viewer Teacher : Teacher Request for Test Request send
Request Approved Request Grant Attempt Test Display Result
Fig6.6 Sequence Diagram for Trial Test
RGIT, Mumbai
Page 27
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Test : Class
Result : Class Teacher : Teacher
Student : Student
Request For Test Demand For Recept_ID Enter Receipt_ID Invalid Receipt_ID ReEnter Receipt_ID
Receipt_ID Valid Display Test Attempting Test Submit Paper Marks Stored Display & print Result
Display & print Result
Fig 6.7 Sequence Diagram For Student Test Collaboration diagrams :
RGIT, Mumbai
Page 28
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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]
Forms a context for interactions
– – –
May realize use cases May be associated with operations May describe the static structure of classes
Collaboration diagrams contain the following: – – –
Class roles (subsystems/objects/classes/actors/ external systems) as before. Association roles (pathways or links over which messages flow) Message flows (messages sent between class roles)
1: Select Exam Category & Level 3: Enter Questions 5: Modify Questions 7: Delete Questions Qts Bank : Class Teacher : Teacher
2: Exam Category & Level Selected 4: Questions Added 6: Questions Modified 8: Questions Deleted
Fig 6.8 Collaboration Diagram For Creating Qts Bank
RGIT, Mumbai
Page 29
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Qts Bank : Class
2: Question Send
1: Request for Questions
3: Enter Question 5: Modify Questions 7: Delete Question Test : Class 4: Question Added 6: Question Modified 8: Question Deleted
Teacher : Teacher
Fig 6.9 Collaboration Diagram For Creating Test
Student : Student
2: Enter Test Name 4: Fees Details 6: Receipt_ID Issued 7: Display Schedule
1: Enrolling for Test 3: Test Name Entered 5: Payment of Fees 8: Enrollment Report Enrollment : Class Management : Management
Fig 6.10 Collaboration Diagram For Enrollment
RGIT, Mumbai
Page 30
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
1: Question & Answer Submitted Test : Class
Test Record : Class
3: Marks (-1) 5: Marks (2)
2: Wrong Answer 4: Correct Answer 6: Final Marks
Result : Class
6.11 Collaboration Diagram For Generation of Result
Enrollment : Class 1: Enrollment Report Management : Management 2: Weekly Report 3: Monthly Report 4: Yearly Report 5: Summary Report Result : Class
6.12 Collaboration Diagram For Report
RGIT, Mumbai
Page 31
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
1: Request For Test 3: Enter Receipt_ID 5: ReEnter Receipt_ID 8: Attempting Test 9: Submit Paper Test : Class Student : Student
2: Demand For Recept_ID 4: Invalid Receipt_ID 6: Receipt_ID Valid 7: Display Test 10: Marks Stored 12: Display & print Result
Result : Class 11: Display & print Result
Teacher : Teacher
6.13 Collaboration Diagram For Student Test
1: Request for Test 5: Attempt Test : Trial Test : Class Viewer : Viewer
4: Request Grant 6: Display Result
3: Request Approved 2: Request send
Teacher : Teacher
6.14 Collaboration Diagram For Viewer Test
RGIT, Mumbai
Page 32
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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
The State notation marks a mode of the entity, and is indicated using a rectange with rounded corners, and the state name written inside.
Transition
A Transition marks the changing of the object State, caused by an event. The notation for a Transition is an arrow, with the Event Name written above,
RGIT, Mumbai
Page 33
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System below, or alongside the arrow.
Initial State
The Initial State is the state of an object before any transitions. For objects, this could be the state when instantiated. The Initial State is marked using a solid circle. Only one initial state is allowed on a diagram. End States mark the destruction of the object who's
Final State
state we are modeling. These states are drawn using a solid circle with a surrounding circle.
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
Fig 7.1 Statechart Diagram For Online Examination System
RGIT, Mumbai
Page 34
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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:
Analysis and design of the static view of an application.
Describe responsibilities of a system.
Base for component and deployment diagrams.
Forward and reverse engineering.
RGIT, Mumbai
Page 35
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
Notation: Class
Classes are the building blocks in object-oriented programming. A Class is depicted using a rectangle divided into three sections. The top section is the name of the Class. The middle section defines the properties of the Class. The bottom section lists the methods of the class.
Association
An Association is a generic relationship between two classes, and is modeled by a line connecting the two classes. This line can be qualified with the type of relationship, and can also feature multiplicity rules (eg. one-to-one, one-to-many, many-to-many) for the relationship.
Composition
If a class cannot exist by itself, and instead must be a member of another class, then that class has a Composition relationship with the containing class. A Composition relationship is indicated by a line with a filled diamond.
Dependency
When a class uses another class, perhaps as a member variable or a parameter, and so "depends" on that class, a Dependency relationship is formed. A Dependency relationship is indicated by a dotted arrow.
Aggregation
Aggregations indicate a whole-part relationship, and are known as "has-a" relationships. An Aggregation relationship is indicated by a line with a hollow diamond.
Generalization
A Generalization relationship is the equivalent of an inheritance relationship in object-oriented terms (an "is-a" relationship). A Generalization
RGIT, Mumbai
Page 36
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
relationship is indicated by an arrow with a hollow arrowhead pointing to the base, or "parent", class.
Result TestID : Number StudentID : Number TestDate : Date TotalMarks : Number ObtainMarks : Number Status : Varchar
1
IssueResult() DisplayResult()
AddQts() UpdateQts() DeleteQts() DisplayTestQts() 0..* 1
1
1
1
1
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
1..*
1
Test TestID : Number TestName : Varchar CatID : Number TeacherID : Number Amount : Number ExamDate : Date ExamTime : DateTime DurationH : Number DurationM : Number
1
1 Teacher TeacherID : Number FirstName : Varchar LastName : Varchar Address : Varchar Pincode : Number ContactNo : Number EmailID : Varchar Qualification : Varchar Password : Varchar
CreateQts() UpdateQts() DeteleQts() DisplayQtsBank()
1
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
1
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()
Fig 8.1 Class Diagram for Online Examination System
RGIT, Mumbai
Page 37
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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:
Visualize the components of a system.
Construct executables by using forward and reverse engineering.
Describe the organization and relationships of the components.
Notation :
RGIT, Mumbai
Page 38
Dept-MCA (Sem IV)
OOMD Using UML
Component
Case Study: Online Examination System
A component represents a software entity in a system. Examples include source code files, programs, documents, and resource files. A component is represented using a rectangular box, with two rectangles protruding from the left side, as seen in the image to the right.
Dependency
A Dependency is used to model the relationship between two components. The notation for a dependency relationship is a dotted arrow, pointing from a component to the component it depends on.
Component Diagram :
Java Application
Online Examination System Oracle
Fig 9.1 Component Diagram For Online Examination System
10. Deployment Diagram : Deployment diagrams are used to visualize the topology of the physical components of a system where the software components are deployed.
RGIT, Mumbai
Page 39
Dept-MCA (Sem IV)
OOMD Using UML
Case Study: Online Examination System
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:
Visualize hardware topology of a system.
Describe the hardware components used to deploy software components.
Describe runtime processing nodes.
Notation : Componen
A component represents a software entity in a system.
t
Examples include source code files, programs, documents, and resource files. On a deployment diagram, components are placed within nodes to identify their deployed location. A component is represented using a rectangular box, with two rectangles protruding from the left side, as seen in the image to the right.
RGIT, Mumbai
Page 40
Dept-MCA (Sem IV)
OOMD Using UML Node
Case Study: Online Examination System A node represents a piece of hardware in the system. This entity is represented by a three-dimensional cube.
Association
An association, drawn as a solid line between two Nodes, indicates a line of communication between the hardware elements.
Deployment Diagram:
Client Computer Java Application
Teacher Server FTP
Test.Sql
Administrator Server FTP
Report.Sql
JDBC
FTP
FTP
Database Printer
FTP
Oracle
Fig 10.1 Deployment Diagram For Online Examination System
RGIT, Mumbai
Page 41
Dept-MCA (Sem IV)
View more...
Comments