UML REVIEW –PART1 1. Introduction What is UML visual modelling language UML is a language not a...

31
UML REVIEW –PART1 1

Transcript of UML REVIEW –PART1 1. Introduction What is UML visual modelling language UML is a language not a...

UML REVIEW –PART1

1

Introduction• What is UML• visual modelling language• UML is a language not a methodology?

• Q: why is this distinction important?

• UML Model• repository of all things and relationships

2

Building Blocks• Things

• Things are the nouns of a UML model

• Three types• structural things:

• nouns (class, interface, use case etc.)

• behaviour things:• verbs (interactions, activities etc.)

• grouping things:• package

• annotational things:• note

3

Building Blocks• Relationships

• representation of how things relate to each other• adds semantics to connections between entities

4

Example

5

Building Blocks• Types of UML Diagrams that

• represent static model• things• the structural relationship between things

• represent dynamic behaviour• how things interact to• generate the required functionality

6

Building Blocks• UML Model

• graphical for visualization• specifications

• provide meaning to the visual components

7

Building BlocksExtensibility Mechanisms• stereotypes

• allow defining new modelling elements based on existing• must define the semantics of the new elements

• or else the new model is just a picture• usually attach a note to the new element

8

9

Use Case Modelling - Components

• system/boundary• defines internal (system) & external parts

• actors• a role that an external entity adopts when interacting with the

systems

• flows• main & alternative flows

10

Actors

11

Actors• Identifying Actors

• consider who or what uses/interacts with your system

• Use Roles not Individuals• assuming a set of customers {Jim, Mike, Helen}

• Q: who/what should be the actor here?

• Other things as actors• Q: what about time as an actor?

• e.g. scheduled tasks

12

Use Case Definition• “A specification of sequence of actions, including

variant sequences and error sequences, that a system, subsystem or class can perform by interacting with the with outside actors” - UML Reference Manual, 2nd Edition-2004

• A use case defines system behaviour during interactions with the actors

13

Use Case Diagram Example

14

Actor Generalization

15

Example: Use Case Generalization

16

Use Case Specification

17

Use Case «include»

18

Use Case «extend»

• provides a mechanism to insert new behaviour into existing (base) use case

• base use case provides extension points (hooks)• extension use case provides a set of insertion segments

19

Use Case «extend»

20

Use Case «extend»• Rules• «extend» relationship must identify one or more extension

points in the base use case• otherwise the relationship refers to all extension points

• extension use case must have the same number of insertion segments as there are extension points in the «extend» relationship

• it is legal for legal for two extension use cases to «extend» the same base use case at the same extension point

21

Conditional Extensions

22

Use Case Example

23

http://www.modeliosoft.com/en/resources/diagram-examples/use-case-diagrams.html

Functional Decomposition• what is functional decomposition?

24

Functional Decomposition• Observations

• focus on capturing the requirements• it is not object design• the higher level use cases might not be of interest• model is complicated• usually indicates that the analyst is viewing the system in a

procedural way rather the OO paradigm

• Verdict• bad

25

Use Case & Requirements Tracing

• Purpose• link requirements to use cases• many-to-many relationship

• Requirement Tracing Matrix• validate consistency

• missing use cases• missing requirements

26

Summary

27

Tutorial 1• Draw a use case diagram for this system. • courses are taught by instructors, while registrars can enroll or remove students from a course. Students take a course, provided they are enrolled in it.

28

Tutorial 1

29

Tutorial 2• A student may register for classes during a specified registration period. To register, a

student must see their advisor. The advisor must approve each course that the student has selected. The advisor will use the registration system to determine if the student has met the course prerequisites, is in good academic standings and is eligible to register. If the advisor approves the courses, the advisor enters the student's college id into the course registration system. The course registration number for each course is entered. The course description, course number and section for those courses will automatically display. The system will check for schedule conflicts before saving the registrations. A bill for the courses will print in the Bursar's office. The student should proceed to pick it up.

• Faculty can use the registration system to check enrollments in their classes, get a class list, check a student's transcript, look up a student's phone number and other such student information.

• The registrar can use the registration system to enter new classes for an up coming semester, cancel a class, and check conflicts in classroom/faculty assignments.

• Admissions use the registration system to add new students. Enrollment services use the registration system to report on retention, update student information, and check fulfillment of graduation requirements for those students planning to graduate

30

31