Вы находитесь на странице: 1из 17

DEPARTMENT OF COMPUTING

Advanced Object Oriented Modeling


COMP 30006
SPRING 2017
INDIVIDUAL ASSIGNMENT

1
Table of Contents
Introduction .......................................................................... Error! Bookmark not defined.
Task 2…………………………………………………………………………………
Use Case
Diagram…………………………………………………………………………….4
Use-case
description………………………………………………………………………..5

Task 3………………………………………………………………………………..
Use-case templet description 1 ............................................................................................5
Use-case templet description 2 ............................................................................................7
Task 4…………………………………………………………………………………..
Class Diagram ……………………………………………………………………………8
Class Diagram
Description…………………………………………………………………..9

Task 5………………………………………………………………………………….
Sequence Diagram .............................................................................................................10
Sequence Diagram
Description…………………………………………………………….11

Task 6……………………………………………………………………………….
OO Method .........................................................................................................12,13,14,15
Conclusion…………………………………………………………………………16

References……………………………………………………………………….. Error!
Bookmark not defined.

2
Introduction:

In this assignment, I will use my knowledge and understanding to design use case
diagrams, class diagrams and sequence diagrams by using StarUML to design this
diagrams. For Muscat University Examination System. I need 2 weeks to do this
assignment. This assignment is dived into 5 tasks the first task is to do work proposal.
The second task is to design use case diagram, the third task is to create use-case
description for any two of use case. The fourth task is for design class diagram, the fifth
task is for design sequence diagram the last task is to identify OO methods that related to
the scenario. The tools that I will be used during this assignment, I use my laptop which
is a basic tool. Also, I use a Microsoft Word, And Star UML program.

3
4
Task 2: Use case diagram

System

hold the examinations


deposit secure

<<include>>

Send a list of venues


book venues authorize from their budget
<<extend>>

confirmed booking <<include>> mark the scripts.

allocate how many invigilators


Administration Officer Appropriate Examiner

return the scripts

generate a list of results

send the scripts


<<include>>

Get results

attend a venue to attempt the exam paper

record proof
Invigilators
Student
pass the assessments associated

check proof
sent list of their nearest venues
<<include>>
<<include>>

<<include>>
register pick the attend
<<include>>
check scripts number-Student

apply for mitigation


bring proof

Sick death case

5
Use case description:
A use case diagram is defined and it described what happened in the system. In the use
case diagram, I will explain the system for Muscat University for examination how it
works and also I will show the relation between the operations and actor.
There are various actors in the system:

 Primary actor: student, Administration Officer.


 Secondary actor: Invigilators, appropriate Examiner.
There are various use cases such as: book venues, confirmed booking, send script... etc.

 There are various relationships between actors and use case:


 Association: actor (Invigilators) and use case (record proof).
 Generalization: super use case (Apply for mitigation) and sub use case (illness,
death case).
 Extend: the Administration Officer authorize from their budget
 Include: when Administration confirmed booking, he allocate how many
invigilators.

Task 3:

6
Use-case templet description 1

Use case Name: register ID: 2A43

 Primary Actor: Importance


 Muscat university Student Level
 Administration Officer
High
 Invigilators

Stakeholders and Interests: This use case is for register for examination Use Case
Type:
So the student can register to do exam.
External detail

 Brief Description: This uses case begins when the student register he
should bring proof to do exam.

Association: The relation between Student and register.


Include: between register and bring proof.

Normal Flow of Events : register steps:

 First step the student need to register and bring proof


 The second step the Invigilators will check and record proof.
 The student can do the exam.

Sub Flows: The student can cancel the register.

Alternate/Exceptional Flows: The student can Submit hard copy to


Invigilator.

Use-case templet description 2

7
Use case Name: Apply for mitigation ID: 3A40

 Primary Actor: Muscat university Student Importance


 Administration Officer Level

High

Stakeholders and Interests: This use case is for apply for mitigation So that Use Case
they can attend the next iteration of the examination, without financial penalty. Type:

External
detail

Brief Description: This uses case starts if the student not attend the exam.
And he Want to Upload Medical Certificate in the system.

Association: The relation between student and apply for mitigation.


Generalization: apply for mitigation (Sick, death case)

Normal Flow of Events

 If the student want to apply for mitigation he should various reasons


he can upload in the system by following this steps.
 The student Open sis then enter username and password.
 First Student select request
 Then chose file
 And upload the medical certificate

Sub Flows: if the student don’t want to apply for mitigation

Alternate/Exceptional Flows: The student can get hard copy to the


administrator officer.

Task 4: Class Diagram

8
budget script

+script Id: string


+script name: string
Administration Officer - send the scripts +mark the script()
*
+Name: character +get script()
+Id: String +send script()
+Email: String send the scripts
1
+generate a list of results() *
1 return the scripts Appropriate Examiner-
+book the venues()
+allocate how many invigilators()
1 +Name: string
1 +Id: String
1 * +Email: String
generate a list of results
+send a list of venues()
Book venues +mark the scripts()
+send the scripts()
*
check the number of scripts
Booking venues
Results
+student id: string
+exam code: string allocate how many invigilators +ID: String
+book venues: string * +Student id: String
+Mark: Flate
+get proof()
+get venues() +get student Id()
+authorize from their budget() +get grade()
+calculate mark()
1

1
Course
*
+Course id: String Invigilators -
Modules +CourseName: String
Examination *
+courseTime: Inteeger +id: String
+Module Code: String 1 +name: character
+Id: String * +Fees: Flate
+Modul name: String +email: String
+Exam Date: date 0..1 +modul time: int
+Exam time: Inteeger 1 +View Course()
+remove course() +check proof()
+Course code: String +registe modul()
+create course() +send scripts()
+fees: flate +get time()
* +Invigilators student()
+get exam()
+prepare exam paper()
+check copies() * 1
+show reuslt()
have attend
1..*
* check prof

Proof
1..* 1
+ID: string
Student-
assessment 1 +Date: date
* bring proof
+Name: character
+Ass_Id: String * +get proof()
+Id: String
+Module name: String HAVE +check proof()
+Email: String
+grade: flate +bring proof()
1 1 -get ruslt()
+get assessment() +register()
+do exam() +confirmed pick the attend() 1
register for exam
+pass the assessments() *
1
apply for mitigation
Register
* +Student id: String
+Student Name: Character
+Exam code: String
mitigation
+get student name()
+get student id()
+get exame code()

SiCK

Class Diagram Description

9
The class diagram is easier than it looks. These are simple diagrams that describe the
structure of the system by modeling classes operations, attributes, and the relationships
between the objects.

In this scenario, there are 12 classes. Each class has several attributes and operations. The
class that I founded it show did below the diagram. There are different relationships
between classes to communicate with them:

 Association: the relationship between student and register.


 Generalization: the relation between sup and super class.
 Aggregation: the relation between examination and assessment (examination is
part of assessment).
 Generalization: apply for mitigation (Sick )
 Multiplicity: There are 4 types of multiplicity:
1. One-to-one: register and proof.
2. One-to-many: Invigilators and proof.
3. Many-to-one: Course and student.
4. Many-to-many: student and Invigilators.

Task 5: Sequence Diagram

10
Sequence diagrams model object collaboration based on time series.

In a sequence diagram, is diagram that shows how to communicate in a scenario because


sequence diagram it defines the communication between an actor and objects. In this
diagram there is one actor (Administration Officer) which has a key role of the system.

The administration officer enter to the system he have to book venues for the student to enter the
exam the student send list of venue and the Administration Officer will pick wich one will
attended ounce’s the confirmed the administration officer will make booking and allocate how
many people(invigilators ) required for the examination? Then the system will send the email to
invigilator about the class room.

login Venues students booking invigilators Serach

: Administration Officer

1 : authorize from their budget()

2 : Enter user name and password()

3 : sent a list of their nearest venues()

4 : login successful()
5 : confirmed booking()

6 : pick which one they will attend()

7 : Booking venues()

8 : Serach for class room()

9 : allocate how many invigilators are needed for the examination()

Sequence Diagram Description

11
Actor System Response
Administration Officer System open home page(login
Enter to the system by using his user successfully)
name and password.
Student send list of their nearest venues Pick which one they will attend.

Administration Officer Search for class room


Booking the venues
Administration Officer Mail to the invigilators about class
allocate how many invigilators room

Task 6: OO Method

12
The OO method that I have choosing is (Use case driven) for many reasons which
including: is the primary modeling tools that define the behavior of the system. In the use
case, which explains how users interact with the system and perform operations and
Activity information like making a reservation and searching for Information. The use
case is inherently simple. Because it only focus business processes at the same time so
when you developing models it will be much easier. A use case is a function in the
system that brings valuable results to users Use case capture the functional requirements

The reason to choices this method?

I chose this method because it perfectly fits with Muscat University for examination
system. It also has wide compatibility with each other. The use case is inherently simple.
Because its focus on business processes only at one time

Use cases are very suitable for a variety of reasons, such as requirements capture,
analysis, design, and implementation for several reasons.

Why Use–Case Driven?

 It means creating a user manual first then writing code. This practice is tailored to
the needs of the user, not the user who enhances the basic concepts required by
the system.

Reasons to use case

• Systematic and intuitive means to capture functional requirements

• Promote the entire development process

• Supports software identification to achieve user goals

• Evaluate what system should be executed for each user

• Provides all available specifications for the system.

13
How does the use case drive the process?

• Acquire requirements
• Requirement process goals
• Use case is a requirement deliverable
A. Used by customer
B. Used by developers
Also, use case provide input for
• Search and specify classes, subsystems, and interfaces
• Search and designate test cases
• Plan development iterations and system integration.

Driving of development process

• A use case starts a series of workflows


• Use cases combine core workflows
• Support class and user interface development
• Used to validate an instance of a class.
Traceability support by system
Improve maintainability when changes are made

Use-Case Driven Development:


 Promotion of development activities using use cases
 Can be started from business level in business use cases
 Identify business use cases
 Development of business process to satisfy business use case
 Identify opportunities for automation and define systems (software applications)
that provide automation functions
 Identify system use cases of software applications

14
Requirements Driven Flow-Down

15
Use-Case Driven Flow-Down

16
Conclusion
At the end when doing this assignment I learn many things I learn how to draw class, use
case, and sequence Diagrams and I learn the different between the relationships: include,
extends, aggregation, association and Generalization also I know what the different
between OO method. And how to Identify OO Method.

References
 informit. 2017. Use Case Driven. [ONLINE] Available at:
http://www.informit.com/articles/article.aspx?p=24671&seqNum=4. [Accessed 18 May
2017].
 acm. 2017. Why use case driven approach?. [ONLINE] Available
at: http://dl.acm.org/citation.cfm?id=1354041. [Accessed 18 May 2017].
 slideshare. 2017. A use case-driven iterative method. [ONLINE] Available
at: https://pt.slideshare.net/MarshallXMa/esip-s2013x-magcissessionv1. [Accessed 20
May 2017].
 slideshare. 2017. Unified Process. [ONLINE] Available
at: https://pt.slideshare.net/MarshallXMa/esip-s2013x-magcissessionv1. [Accessed 20
May 2017].
 slideshare. 2017. Unified Process. [ONLINE] Available
at: https://pt.slideshare.net/MarshallXMa/esip-s2013x-magcissessionv1. [Accessed 20
May 2017].
 slideshare. 2017. Unified Process. [ONLINE] Available
at: https://pt.slideshare.net/MarshallXMa/esip-s2013x-magcissessionv1. [Accessed 20
May 2017].

17

Вам также может понравиться