18
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac DAAD Project “Joint Course on Software Engineering” Version: Aug. 1st, 2003 (D May. 16, 2003) Topic 12 Basic concepts of scenario-based view Parts of this topic use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001

Topic 12 Basic concepts of scenario-based view

Embed Size (px)

DESCRIPTION

Topic 12 Basic concepts of scenario-based view. Parts of this topic use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001. Basi c concepts: Scenario - based view. Concepts and Views. Alternative Notations. Rarely used. - PowerPoint PPT Presentation

Citation preview

Page 1: Topic  12 Basic concepts of scenario-based view

Humboldt University Berlin, University of Novi Sad, University of Plovdiv,University of Skopje, University of Belgrade, University of Niš, University of Kragujevac

DAAD Project“Joint Course on Software Engineering”

Version: Aug. 1st, 2003 (D May. 16, 2003)

Topic 12 Basic concepts of scenario-based view

Parts of this topic use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001

Page 2: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 2

Basic concepts: Scenario-based view

Function tree

Data-Dictio-nary1979

Class diagram 1980/1990

Program structure chart

1973

Program flowchart

1966

Pseudocode

Decision tables

1957

Rules Petri-Net1962

Sequ. diagram

1987

Stateautomat 1954

Entity Relation-ship Model1976

Data flow diagram1966

Use Case Diagram1987

Activity diagram

1997

Collabo-ration diagram

Functional View Data Oriented View Object Oriented View

Algorith-micView

Functional hierarchy

Businessprocess

Infor-mation Flow

Class structures

Data Structures

Rule

Based View

State Oriented View

Controlstructures

If-Thenstructures

Entity types and relations

Finite State Automat

Concurrentstructures

Interaction structures

Scenario Based View

Concepts and Views

Alte

rna

tive

Not

atio

nsO

ften

use

d

Rar

ely

used

Page 3: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 3

Collaboration diagram

Definition phase

Implementation phase

Design phase

Pseudo code

Rules

Decision table

DD (Data Dictionary)

Class diagram

Program structure chart

Program flowchart

Entity Relationship

Model

Petri-Net

Data flow diagram

Business process

State automat

Function tree

Sequence diagram

Legend: A B: A is used in B

Page 4: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 4

text

ual

gra

ph

ical

verbal

Program structure chart

Class diagram

Data flow diagram

Decision tree

ER

Petri-NetsState automat

PAP

DDPetri-Nets(textual)Rules

Pseudo code

ET

State-diagram/-table

Sequence diagram

informal semiformal/formalized formal

Collaboration diagram

Order requirements

Clasification schemeText

Use Case Diagr.

Function tree

State automat(textual)

Page 5: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 5

12. Basic concepts of scenario-based view

a) Messages and Scenarios

b) Collaboration diagrams

c) Sequence diagrams

Page 6: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 6

Messages

Message • A sender (client) requests a receiver (server, supplier)

to perform a certain service by sending a message

• ... by calling an operation of the receiver

Sender ReceiverMessage

(Operation of the receiver)

Page 7: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 7

Sending messages: createParticipantsList()

:Seminar :SeminarType

:Lecturer :Customer

createParticipantList()

P-List

getSeminarTitle()

SeminarTitle

getName()Name

getName()

Name

no order of messages

defined

no order of messages

defined

Objects- not classes

Objects- not classes

Contained information: Sender: seminar manager, seminar Receiver: seminar, seminartype, lecturer, customer 4 messages: createParticipantsList(), getSeminarTitle(),

getName(), getName()

Page 8: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 8

Szenario

Describes dynamic operational sequence of a system

order of messages is defined A use case can be documented by a collection of

scenarios

Scenario = Sequence of messages

Page 9: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 9

Szenario during the execution of createParticipantList()

:Seminar :SeminarType

:Lecturer :Customer

createParticipantList()

P-List

getSeminarTitle()

SeminarTitle

getName()

Name

getName()Name

1 2

43

Page 10: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 10

12. Basic concepts of scenario-based view

a) Messages and Scenarios

b) Collaboration diagrams

c) Sequence diagrams

Page 11: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 11

UML representation of scenarios

Collaboration diagrams

Interaction diagrams

Sequence diagrams

Basic concepts of the scenario-based view:describe sequencies of messages between actors and objects of the system

Page 12: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 12

Collaboration diagram: createParticipantList()

Execution of the operation ‘createParticipantList()‘ leads to a collaboration between objects (of 4 differend classes and the actor)

Order by numbers

:Seminar :SeminarType

:Lecturer

:Customer

1:createParticipantsList()

2:getSeminarTitle()

3:getName() 4:getName()

to all dedicated customers

to all dedicated lecturers

overspecification: the order 2,3,4 is arbitrary

How many objects are involved?

Object ‘:customer‘ is placeholder for an arbitrary object of class ‘customer‘

Page 13: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 13

1: operation1()

2: operation2() 3: operation4()

2.1: operation3()

:class1{transient}

:class2{new}

:class3{new}

:class4{destroy}

Collaboration diagram: lifetime of objects

objects – not classes !

triggering operation

object constructed and destroyed

new object

object destroyed

Page 14: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 14

12. Basic concepts of scenario-based view

a) Messages and Scenarios

b) Collaboration diagrams

c) Sequence diagrams

Page 15: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 15

createParticipantsList()

time

:Seminar :SeminarType :Lecturer :Customer

getSeminarTitel()

getName()

getName()

control flow returns

Sequence diagram: ‘createParticipantList()‘

Order by time axis

overspecification: the order is partly arbitrary

Page 16: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 16

firstObject:class1

:class2

operation2()

actor

operation1()

class3()

operation5()

operation3()

newObject:class3

Sequence diagram: lifetime of objects

Object symbol: from there on the object exists

Object linie: represents temporal existence of an object

allready existing objects

Object sends a message to it self

Bar length shows the activity duration

Object is deleted

Page 17: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 17

text

ual

gra

ph

ical

verbal

Program structure chart

Class diagram

Data flow diagram

Decision tree

ER

Petri-NetsState automat

PAP

DDPetri-Nets(textual)Rules

Pseudo code

ET

State-diagram/-table

Sequence diagram

informal semiformal/formalized formal

Collaboration diagram

Order requirements

Clasification schemeText

Use Case Diagr.

Function tree

State automat(textual)

textual?

Page 18: Topic  12 Basic concepts of scenario-based view

K. Bothe, HU Berlin, Software Engineering 18

History

Dr. Ivar Hjalmar Jacobson*2.9.1939 in Ystad, SchwedenVice President Business EngineeringRational Software Corporation

Pioneer of object-oriented

software-development (use case driven approach)

Introduction of interaction diagrams tothe object-oriented software development

Pioneer of object-oriented enterprise modelling