Upload
robin-hooper
View
25
Download
1
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
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
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
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
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)
K. Bothe, HU Berlin, Software Engineering 5
12. Basic concepts of scenario-based view
a) Messages and Scenarios
b) Collaboration diagrams
c) Sequence diagrams
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)
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()
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
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
K. Bothe, HU Berlin, Software Engineering 10
12. Basic concepts of scenario-based view
a) Messages and Scenarios
b) Collaboration diagrams
c) Sequence diagrams
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
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‘
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
K. Bothe, HU Berlin, Software Engineering 14
12. Basic concepts of scenario-based view
a) Messages and Scenarios
b) Collaboration diagrams
c) Sequence diagrams
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
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
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?
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