1. Trang chủ
  2. » Công Nghệ Thông Tin

Introduction to UML structural modeling and use cases

83 280 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 482,29 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Structural Modeling: Core Elements cont’dconstraint¹ a semantic condition or restriction.. Structural Modeling: Core Relationships cont’d... Specify lower-level structure as you discover

Trang 1

Introduction to UML: Structural Modeling and Use Cases

Trang 3

Tutorial Series

Structural Modeling and Use Cases

UML

UML, MOF and XMI

Trang 4

Tutorial Goals

techniques

Trang 6

! Provide structure for problem solving

problem solutions

Why do we model?

Trang 7

The Challenge

Trang 8

The Vision

Trang 9

Why do we model graphically?

Trang 10

! The UML is a graphical language for

! visualizing

the artifacts of software systems

! Added to the list of OMG adopted

technologies in November 1997 as UML 1.1

! Most recent minor revision is UML 1.3,

adopted in November 1999

Quick Tour

Trang 11

! Define an easy-to-learn but semantically rich visual

modeling language

languages

! scale, distribution, concurrency, executability, etc.

! Provide flexibility for applying different processes

interfaces

UML Goals

Trang 12

OMG UML Evolution

(planned minor revision)

Editorial revision with no significant technical changes.

<<document>>

ISO Publicly Available Specification

(planned major revision)

The expected result of OMG's formal liaison with ISO.

Trang 13

OMG UML Contributors

Ptech OAO Technology Solutions Rational Software

Reich SAP Softeam Sterling Software Sun

Taskon

Trang 14

OMG UML 1.3 Specification

! UML Semantics

! UML Notation Guide

! UML Standard Profiles

! Software Development Processes

! Business Modeling

! UML CORBAfacility Interface Definition

! Object Constraint Language

Trang 15

Tutorial Focus: the Language

! language = syntax + semantics

! syntax = rules by which language elements (e.g., words) are assembled into

expressions (e.g., phrases, clauses)

! semantics = rules by which syntactic

expressions are assigned meanings

graphic syntax

Trang 16

! Building blocks

Foundation Concepts

Trang 17

! The basic building blocks of UML are:

use cases, etc.)

dependencies, etc.)

interaction diagrams, etc.)

! Simple building blocks are used to create large, complex structures

Building Blocks

Trang 18

Diagram: Classifier View

Trang 19

Diagram: Instance View

:Carbon :Carbon :Hydrogen

:Hydrogen

:Hydrogen

:Hydrogen

:Hydrogen :Hydrogen

Trang 20

Well-Formedness Rules

fragment adheres to all semantic and syntactic rules that apply to it

it is expected that models will be incomplete and

inconsistent

Trang 21

Well-Formedness Rules (cont’d)

the Class should have a realizing Method in the full descriptor

! OCL: not self.isAbstract implies

self.allOperations->

forAll (op | self.allMethods->

exists (m | m.specification->

includes(op)))

Trang 22

Well-Formedness Rules (cont’d)

rectangle with three compartments separated by horizontal lines

and operation compartments may be suppressed

uppercase letter

Trang 23

Unifying Concepts

! classifier-instance dichotomy

a class is the classifier of an object

! specification-realization dichotomy

! e.g., an interface is a specification of a class OR

a class is a realization of an interface

! analysis-time vs design-time vs run-time

Trang 24

Language Architecture

Trang 25

The operation

issue of the PassengerTicket

class is an instance of the metaclass

+issuedBy : Airline +issuingAgent : TravelAgent +fare : Currency +tax : Currency

«instanceOf»

Trang 26

Package Structure

<<metamodel>>

UML

Model Management

Behavioral Elements

Foundation

package dependency

Trang 27

Relation to Other OMG Technologies

OMG UML

UML XML Document Type Definition

XML Metadata Interchange (XMI) Facility

Meta Object Facility

UML CORBAfacility Interface Definition

Trang 29

What is structural modeling?

that emphasizes the structure of the

objects, including their classifiers,

relationships, attributes and operations.

Trang 30

Construct Description Syntax

class a description of a set of objects

that share the same attributes, operations, methods, relationships and semantics

interface a named set of operations that

characterize the behavior of an element

component a physical, replaceable part of a

system that packages implementation and provides the realization of a set of interfaces

node a run-time physical object that

«interface»

Trang 31

Structural Modeling: Core Elements (cont’d)

constraint¹ a semantic condition or restriction

{constraint}

¹ An extension mechanism useful for specifying structural elements.

Trang 32

Construct Description Syntax

association a relationship between two or more

classifiers that involves connections among their instances

aggregation A special form of association that

specifies a whole-part relationship between the aggregate (whole) and the component part

generalization a taxonomic relationship between a

more general and a more specific element

dependency a relationship between two modeling

elements, in which a change to one modeling element (the independent

Trang 33

Construct Description Syntax

and its implementation

Structural Modeling: Core Relationships (cont’d)

Trang 34

! Show the static structure of the model

! the entities that exist (e.g., classes, interfaces,

Structural Diagram Tour

Trang 35

Static Structural Diagrams

elements connected by static

relationships.

Trang 37

Classes: compartments with names

bill no-shows

Reservation

operations

guarantee() cancel () change (newDate: Date)

Trang 38

Classes: method body

Trang 39

HashTable Hashable

«use»

Trang 40

employee employer

Trang 41

1 -bundle +points

Trang 42

Player Team

Year

Record

goals for goals against wins

Trang 43

Window

scrollbar [2]: Slider title: Header

1

Trang 45

Shape

Spline Ellipse

Trang 46

venue venue

power power

Sailboat Truck

Trang 48

Controller

Diagram Elements

Domain Elements Graphics Core

Trang 51

member treasurer

officer president

officer

Trang 52

Constraints and Comments

Trang 53

Implementation Diagrams

implementation, including source code structure and run-time

implementation structure

Trang 54

! Shows the organizations and

dependencies among software

components

Component Diagram

Trang 56

Component Diagram

Planner Scheduler

GUI

Reservations

Update

Trang 57

Deployment Diagram

processing elements and the software components, processes and objects

that live on them

show which components may run on which nodes

Trang 59

Deployment Diagram (cont’d)

Trang 60

When to model structure

to modeling structure

! Specify the top-level structure using “architecturally significant” classifiers and model management constructs (packages,

models, subsystems; see Tutorial 3)

! Specify lower-level structure as you discover detail re classifiers and relationships

start with structural modeling; otherwise

! If you start with use case modeling (as with a use-case driven method) make sure that your structural model is consistent

with your use cases

! If you start with role modeling (as with a collaboration-driven

Trang 61

Structural Modeling Tips

extended and refined as you learn more about your

domain

constructs and/or notation only as required

modeling process

! emphasize a particular aspect of the structural model

! contain classifiers at the same level of abstraction

Trang 62

Example: Interface-based design

module POS

{

typedef long POSId;

typedef string Barcode;

interface InputMedia

{

typedef string OperatorCmd;

void BarcodeInput(in Barcode Item);

void KeypadInput(in OperatorCmd Cmd);

Trang 63

+totals : Totals +POSlist : List

«IDLinterface»

IStore

From Modeling CORBA Applications with UML chapter

in [Siegel 00].

Trang 64

Use Case Modeling

! What is use case modeling?

Trang 65

What is use case modeling?

emphasizes the behavior as it appears

to outside users A use case model

partitions system functionality into

transactions (‘use cases’) that are

meaningful to users (‘actors’).

Trang 66

Use Case Modeling: Core Elements

variants, that a system (or other entity) can perform, interacting with actors of the system

of use cases play when interacting with these use cases

system

boundary

Represents the boundary between the physical system and the actors who interact with the physical

system

UseCaseName

ActorName

Trang 67

Construct Description Syntax

case i.e., instance of an actor and instances of a use case communicate with each other.

case to a base use case, specifying

how the behavior for the extension use case can be inserted into the behavior defined for the base use case.

<< extend >>

Trang 68

Construct Description Syntax

to an inclusion use case, specifying

how the behavior for the inclusion use case is inserted into the behavior

defined for the base use case.

Use Case Modeling: Core Relationships (cont’d)

<< include >>

Trang 69

! Shows use cases, actor and their

relationships

text and/or interaction diagrams (see

Lecture 2)

! use case diagram

! use case description

Use Case Diagram Tour

Trang 70

Cus tomer

S ales pe rs o n Place

Es tablis h

c re dit

Che c k Telep hon e Catalog

Trang 71

Use Case Relationships

additional requests :

Order Product

after creation of the order

Place Order

1 * the salesperson asks for

the catalog

Trang 72

Actor Relationships

Establish Credit

Place Order Salesperson

Trang 73

Use Case Description: Change Flight

Actors: traveler, client account db, airline reservation system

• System asks traveler to select itinerary segment she wants to

change; traveler selects itinerary segment.

• System asks traveler for new departure and destination

information; traveler provides information.

• If flights are available then

• …

• System displays transaction summary.

Trang 74

When to model use cases

! Model user requirements with use cases.

! Model test scenarios with use cases.

! If you are using a use-case driven method

behavioral models from it

! If you are not using a use-case driven

method

your structural and behavioral models

Trang 75

Use Case Modeling Tips

! Make sure that each use case describes a significant chunk of system usage that is understandable by both domain experts and programmers

! When defining use cases in text, use nouns and verbs

accurately and consistently to help derive objects and messages for interaction diagrams (see Lecture 2)

! Factor out common usages that are required by multiple use

cases

! If the usage is required use <<include>>

! If the base use case is complete and the usage may be optional, consider use <<extend>>

! A use case diagram should

! contain only use cases at the same level of abstraction

Trang 76

Example: Online HR System

Online HR System

Locate Employees

Update Employee Profile

Update Benefits

Access Travel System

Access Pay Records Employee

Manager

Healthcare Plan System

{if currentMonth = Oct.}

{readOnly}

Insurance Plan System

Trang 77

Online HR System: Use Case Relationships

Update Medical Plan

Update Dental Plan

Employee

<<include>> <<include>> <<include>>

<<extend>>

employee requests stock purchase option

<<extend>>

employee requests reimbursement option

extension point name and location

Trang 78

Online HR System: Update Benefits Use Case

Actors : employee, employee account db, healthcare plan system,

insurance plan system

• Employee has logged on to the system and selected ‘update benefits’ option

• System retrieves employee account from employee account db

System asks employee to select medical plan type; include Update

Trang 79

Wrap Up

Trang 80

! UML is effective for modeling large, complex software systems

advanced features for expert analysts, designers and architects

implementation-independent manner

time

refined and extended with additional structure and

behavior

Use case modeling specifies the functional

Ideas to Take Away

Trang 81

Preview - Next Tutorial

! Behavioral modeling overview

! Interactions

! Collaborations

! Statecharts

! Activity Graphs

Trang 82

ad/06-08-99

Communications of the ACM, Oct 1999

2000

Trang 83

! OMG UML Workshop: UML in the com Enterprise, Palm

Further Info

Ngày đăng: 22/10/2014, 21:50

TỪ KHÓA LIÊN QUAN