The 7 Things I Know About Cyber Security After 25 Years | April 2024
Form-Oriented Analysis
1. Dirk Draheim, Gerald Weber
Form-Oriented Analysis
A New Methodology to Model
Form-Based Applications
Figures
Springer, 2004.
2. Fig.2.1. Example pages of the online bookshop – Part I
Welcome Page
My Shopping Cart Logout
Book Quantity Price
Quine: Word and Object 1 12.46 Delete
Wittgenstein: Tractatus 1 23.06 Delete
Varela: The Embodied Mind 2 44.68 Delete
Adams: Watership Down 7 62.30 Delete
Update
Buy items
Search for a book: in cart
Search
Springer Verlag 2004
3. Fig.2.1. Example pages of the online bookshop – Part II
Customer Registration Welcome Page
E-mail Address:
Full Name: Password:
Repeat Pwd:
Street Address:
City:
Register
State:
ZIP:
Country:
Card Type Credit Card No.
WhateverCard
Expiration Date Cardholder
01 2006
Springer Verlag 2004
4. Fig. 2.2. Examples of ultra-thin client based
submit/response style systems
HTTP
GET hypertext/dir/index.html HTTP/1.0 Web
Browser CGI Presentation
....<head> <title> Dummy </title></head>.... Layer
Application Server
PC-Memory
Database
PC
3270 Data Stream
AID Cursor Address Data.....
Application Program
3270 Terminal
Command Cursor Address Data.....
TP-Monitor
Device Buffer Disk Disk
Mainframe
Springer Verlag 2004
5. Fig. 2.3. SAP R/3 architecture - a client/server
submit/response style system
screen program
ABAP/4 GUI
PBO input template PAI
PBO input template PAI
ABAP/4 Interpreter
PBO input template PAI
module pool
TRPC
Application Server
process before output
transactional remote
process after input
procedure call Database
Springer Verlag 2004
6. Fig. 2.4. Example formchart for a system
login capability
LoginLink
Welcome Login LoginForm
WelcomeLink
Springer Verlag 2004
7. Fig.3.1. Welcome screen of the online bookshop
Welcome to Our Online Bookstore !
You can choose:
Browse the bookstore
View Cart
Login
Register as a new customer
Our recommendations:
• Richard Adams. Watership Down. view details
• Niccolo Machiavelli. Discourses. view details
• Willard Quine. Word and Object. view details
Search for a book:
Search
Springer Verlag 2004
8. Fig.3.2. Login screen of the online bookshop
Login Welcome Page
An error occurred.
The password that you provided did not match your e-mail address.
Please try to log in again or register as a new customer.
Your e-mail address:
Login
Your password:
Register as a new customer
Springer Verlag 2004
9. Fig.3.3. Registration screen of the online bookshop
Customer Registration Welcome Page
E-mail Address:
Full Name: Password:
Repeat Password:
Street Address:
City:
Register
State:
ZIP:
Country:
Card Type Credit Card No. Expiration Date Cardholder
WhateverCard 01 2006
Springer Verlag 2004
10. Fig.3.4. Category screen of the online bookshop
Welcome Page View Cart
Category: All Books
Login Register as a new customer
Browse subcategories:
• Computer
• Cooking
• Philosophy
• Literature
• Science Fiction
• Sports
Our recommendations:
• Richard Adams. Watership Down. view details
Add selected items
• Niccolo Machiavelli. Discourses. view details
to cart
• Willard Quine. Word and Object. view details
Search for a book:
Search
Springer Verlag 2004
11. Fig.3.5. Book page of the online bookshop
Welcome Page View Cart
Form-Oriented Analysis Login Register as a new customer
Authors: Dirk Draheim, Gerald Weber
Abstract: What is the business logic of an enterprise system? How do I
specify it in such a way that I know how to transform it into a running
system, by skill and by automated tool support? This book gives a self-
contained introduction to the modeling and development of business
logic for enterprise systems.
Price: $ 79,95 Add this book
to cart
Search for a book:
Search
Springer Verlag 2004
12. Fig.3.6. Shopping cart of the online bookshop
Welcome Page
My Shopping Cart Logout
Book Quantity Price
Quine: Word and Object 1 12.46 Delete
Wittgenstein: Tractatus 1 23.06 Delete
Varela: The Embodied Mind 2 44.68 Delete
Adams: Watership Down 7 62.30 Delete
Update
Buy items
Search for a book:
in cart
Search
Springer Verlag 2004
13. Fig.3.7. Order information page of the online bookshop
Order Information Welcome Page View Cart
Logout Edit Account
Shipping Details Payment Method
John Q. Public WhateverCard, ***- 86745
49 Nowhere Lane Expiration: 01/2008
New Haven, Connecticut 06511, U.S.A.
Book Quantity Price
Quine: Word and Object 1 12.46
Wittgenstein: Tractatus 1 23.06 Place your order
Varela: The Embodied Mind 2 44.68
Adams: Watership Down 7 62.30
Total 142.50
Springer Verlag 2004
14. Fig.3.8. Search result page of the online bookshop
Welcome Page View Cart
Search Result Login Register as a new customer
Search items: Immanuel Kant
• Immanuel Kant. Critique of Judgement. view details
• Immanuel Kant. Critique of Pure Reason. view details
• Immanuel Kant. Critique of Practical Reason. view details
• Immanuel Kant. Critique of the Power of Judgment. view details
• Immanuel Kant. Groundwork of the Metaphysics of Morals. view details
• Immanuel Kant. Theoretical Philosophy. view details
• Immanuel Kant. Practical Philosophy. view details
Add selected items
to cart
Search for a book:
Search
Springer Verlag 2004
15. Fig.3.9. Data model of the online bookshop
subcategories 0..*
Category Book
0..* title:String 1..* Author
name:String
featuredBooks abstract:String authors
name:String
price: Amount
1 item
OrderItem
quantity:Number
Address 1..* orderItems
streetAddress:String CardInformation
city:String Order cardType:CardType
state:String cardNumber:String
zip:Number expiration:Date
country:String 1 buyer cardholder:String
address 1 Customer
email:String 1 cardInformation
fullName:String
password:String
Springer Verlag 2004
16. Fig.4.1. Page Diagram – Part I
the login data was erroneous the registration data was erroneous
Login Welcome Registration
browse the books on offer by exploring
select a book out of a list of more and more subcategories
featured books in order to
view details of the book
SearchResult Book Category
add book to the shopping cart
select books out of a list update cart items
of featured books in order to
add them to the shopping cart delete a cart item
ShoppingCart
Springer Verlag 2004
17. Fig.4.1. Page Diagram – Part II
ShoppingCart
if the user is not yet a
registered customer, he order items:
or she might register now the user is not logged in this link only exists, if
the cart is not empty
OrderLogin the user is logged in
the login data was erroneous
OrderInformation
the registration data was erroneous
place an order
OrderRegistration
Confirmation
Springer Verlag 2004
18. My Shopping Cart Welcome Page
Fig.4.2. Logout
Book Quantity Price
Screen diagram
Delete
– Part I – Quine: Word and Object 1 12.46
Wittgenstein: Tractatus 1 23.06 Delete
Adams: Dirk Gently 2 24.00 Delete
Update
Search for a book: Buy items
Search in cart
Login Welcome Page
E-mail:
Password:
login Register as new
Springer Verlag 2004 already logged in
19. Fig.4.2. Screen diagram Customer Registration
Welcome Page
– Part II –
E-mail:
login Register as new
Full Name:
error occurred Street Address:
City:
Order Information
State:
Welcome Page View Cart
Logout Edit Account ZIP:
Country:
Shipping Details Payment Method
John Q. Public Whatever, ***- 86745 Password:
error occurred
49 Nowhere Lane Expiration: 01/2008
New Haven Repeat Password:
CT 06511, U.S.A. Place your order
Card Type Card No.
WhateverCard
Book Quantity Price
Quine: Word and Object 1 12.46 Expiration Date Cardholder
Wittgenstein: Tractatus 1 23.06 01 2006
Adams: Dirk Gently 2 24.00
Total 59.52 Register
Springer Verlag 2004
20. Fig.4.3. List of options for a single conceptual option
My Shopping Cart Welcome Page
Logout
Book Quantity Price
}
Quine: Word and Object 1 12.46 Delete
Wittgenstein: Tractatus 1 23.06 Delete
Adams: Dirk Gently 2 24.00 Delete
Update
Search for a book: Buy items
Search in cart
Springer Verlag 2004
21. Fig.4.4. Form storyboard – Part I
UpdateCart
DeleteCartItem
• cartItem • cartItem
• quantity
ShoppingCart
Search WelcomeLink
• searchItem
Order OrderLogin OrderRegistrationLink
error occurred
OrderRegistration
WelcomeLink
OrderLoginForm
• e-mail
• password
Springer Verlag 2004
22. Fig.4.4. Form storyboard – Part II
Order
user OrderRegistration
error occurred
alre
ady
OrderLoginForm OrderRegistrationForm
lo
• e-mail • eMail
gged
• password • fullName
in
• streetAddress
• city
• state
• zip
OrderInformation • country
• password
• repeatedPassword
WelcomeLink • cardType
• cardNumber
PlaceOrder • expiration
• cardholder
Springer Verlag 2004
24. Fig.4.5. Page images – Part II
OrderLogin WelcomeLink OrderRegistration
WelcomeLink
OrderLoginForm
• e-mail
• password RegistrationForm
• eMail
OrderRegistrationLink • fullName
• streetAddress
• city
• state
OrderInformation • zip
• country
WelcomeLink ViewCart • password
• repeatedPassword
Logout OrderChangeLink • cardType
• cardNumber
• expiration
• cardholder
PlaceOrder
Springer Verlag 2004
25. Fig.4.6. Form storyboard annotated with
interaction information – Part I
UpdateCart
DeleteCartItem
cartItem cartItem
quantity
ShoppingCart
Search WelcomeLink
searchItem
Order OrderLogin
OrderRegistrationLink
error occurred
OrderRegistration
WelcomeLink
OrderLoginForm
e-mail
Springer Verlag 2004
password
26. Fig.4.6. Form storyboard annotated with
interaction information – Part II
Order
OrderRegistration
user
error occurred
alre
ady
OrderRegistrationForm
lo
OrderLoginForm
gged
e-mail eMail
password fullName
in
streetAddress
city
state
zip
OrderInformation country
password
repeatedPassword
WelcomeLink cardType
cardNumber
PlaceOrder expiration
cardholder
Springer Verlag 2004
28. Fig.4.7. Message storyboard– Part II
OrderRegistration
1 user already logged in
! errorMessage
OrderLoginForm 3 error occurred
defaultEmail
Order email 4 shipping details
5 payment method
defaultFullName
password and so on...
1 3
OrderInformation
! fullName
OrderRegistrationForm
! streetAddress 4
eMail
! city
fullName
! state
! zip streetAddress
! country city
5
! cardType state
! truncatedCardNumber zip
! expiration country
password
WelcomeLink ! authorName repeatedPassword
! title cardType
! quantity cardNumber
PlaceOrder ! price expiration
cardholder
! totalPrice
Springer Verlag 2004
29. Fig.5.1. The information system model of form-oriented analysis
Dialogue Model
Dialogue
Specification
Signature Definition
User Message Model Reuse
Referring
Shared
Opaque Identity Model Model
Referring
Information Model Reuse
Springer Verlag 2004
30. Fig.5.2. A first formchart example
RegistrationLink
Login LoginForm Welcome RegistrationForm Registration
ViewBook ViewCategory
Search SearchResult Book Category
UpdateCart
AddToCart DeleteCartItem
ShoppingCart
OrderLogin OrderLoginForm
Order
OrderRegistrationLink
OrderInformation
OrderRegistration OrderRegistrationForm PlaceOrder
Confirmation
Springer Verlag 2004
31. Fig.5.3. Two alternative formcharts for the same model
(i) (ii) D Q B
Q
E F
E F
P A R
P A R
D B
D B
V C S
V C S
R D P B
Springer Verlag 2004
32. Fig.5.4. Formchart naming conventions
default transition name
default source name default target name
P P TO A A
P A
P>T T T>A
P>T>A
custom name global default name
Springer Verlag 2004
33. Fig.5.5. Opaque references in the information model
non-deletable
product
1..1 oref
opaque reference facade
information types
0..1 instance
Product
Springer Verlag 2004
34. Fig.5.6. Formchart notational elements
enabling condition
P A
client output constraint
server input constraint flow condition
A flow condition P
server output constraint
P
client input constraint
Springer Verlag 2004
35. Fig.5.8. Meaning of path expressions in the formchart
D
Q B
E
P TO A
P A
S F
R C
G
Springer Verlag 2004
36. Fig.5.9. Complete formchart for the
bookstore example – Part I
WelcomeLink
ViewCategory
ViewCart
LoginLink
Login
LoginLink
LoginForm
Logout
Logout
Welcome
WelcomeLink RegistrationLink LoginForm
ChangeLink
RegistrationLink
LoginForm
ViewBook
RegistrationForm
Search
RegistrationLink WelcomeLink
RegistrationForm Registration
RegistrationForm
ChangeLink
Springer Verlag 2004
37. Fig.5.9. Complete formchart for the
bookstore example – Part II WelcomeLink
ViewCart
WelcomeLink
ViewCategory LoginLink
ViewCart
ViewBook Logout
Book
LoginLink RegistrationLink
Category
Search
Logout ChangeLink
RegistrationLink AddToCart
ChangeLink Search
ViewCategory
WelcomeLink
ViewBook
ViewCart Logout
AddToCart
ShoppingCart UpdateCart
Search AddToCart
DeleteCartItem
UpdateCart
Order
DeleteCartItem
Springer Verlag 2004 Search
38. Fig.5.9. Complete formchart for the WelcomeLink
bookstore example – Part III ViewCart
WelcomeLink LoginLink
Order
ViewCart SearchResult Logout
OrderInformation Search RegistrationLink
Logout
ChangeLink
OrderChangeLink
OrderLoginForm ViewBook
PlaceOrder
OrderRegistrationForm AddToCart
PlaceOrder
Search
Order WelcomeLink
OrderLoginForm WelcomeLink
OrderLogin Confirmation
OrderRegistrationLink Logout
OrderLoginForm
OrderRegistrationLink OrderRegistration
WelcomeLink
OrderRegistrationForm
OrderRegistrationForm
Springer Verlag 2004 OrderChangeLink
39. Fig.5.10. Login, registration and logout feature
of the online bookshop
Logout
Welcome
LoginLink
WelcomeLink Login LoginForm
RegistrationLink
Registration RegistrationForm
Springer Verlag 2004
42. Fig.5.13. Browsing feature of the online bookshop
Welcome ViewCategory
1 view a bestseller
2 view a featured book
1
Category UpdateCart
2
ViewBook Book AddToCart ShoppingCart
SearchResult DeleteCartItem
Springer Verlag 2004
43. Fig.5.14. Shopping cart feature of the online bookshop
UpdateCart UpdateCart
update delete
ShoppingCart ShoppingCart
DeleteCartItem
Springer Verlag 2004
44. Fig.5.15. Buying feature of the online bookshop
ShoppingCart
Order OrderInformation PlaceOrder Confirmation
OrderLogin OrderLoginForm
OrderRegistrationLink
WelcomeLink
OrderRegistration
OrderRegistrationForm Welcome
Springer Verlag 2004
45. Fig.5.16. Reuse of the login and registration subdialogues
Logout ShoppingCart
OrderInformation PlaceOrder Confirmation
Order
Welcome
WelcomeLink
2.
LoginLink Welcome
WelcomeLink NewLogin NewLoginForm 2.
1.
NewRegistrationLink
NewRegistration NewRegistrationForm
Springer Verlag 2004
46. Fig.5.17. Managing user data in the online bookshop
RegistrationLink
Welcome Registration
ChangeLink
Springer Verlag 2004
47. Fig.5.18. Search feature of the online bookshop
Welcome Book
Category
Book Search ViewBook
SearchResult
ShoppingCart SearchResult
AddToCart
Springer Verlag 2004
48. Fig.5.19. Graphical representation of
a client output constraint
formchart
Category ViewBook
message model
no direct input
Category ViewBook
{selection}
opaque reference facade
selected
featuredBooks 1..* 0..1
book single selection
Springer Verlag 2004
50. Fig.6.2. Hierarchical formchart decomposition
i
A B C D E F G H
ii iii
A B C B C D E F G H
iv vi
A B E F G H
v vii viii
B C D E F F G H
Springer Verlag 2004
52. Fig.6.4. A flat formchart
A B C D E F G H
Springer Verlag 2004
53. Fig.6.5. Additional features of the bookstore – Part I
Login
Login Welcome
Welcome
Registration
Category
Book
LoginLink
Login
Welcome
Book Category
SearchResult ShoppingCart WelcomeLink
SearchResult
View Cart
Welcome OrderInformation
Category OrderLogin
ViewCart ShoppingCart
Book OrderRegistration
SearchResult
Confirmation
OrderInformation
Springer Verlag 2004
54. Fig.6.5. Additional features of the bookstore – Part II
Welcome Logout
Welcome Change User Data
Category
Logout Category
Welcome
Book ChangeLink
Registration
Book
SearchResult
ShoppingCart SearchResult
OrderRegistration
OrderInformation
OrderInformation
Confirmation OrderChangeLink
Welcome Search
Welcome Registration
Category
Category
SearchResult
RegistrationLink
Search
Book ShoppingCart
Book
SearchResult
Springer Verlag 2004
55. Fig.6.6. Modeling with state set notation
A B C A,B,C
P Q R P,Q,R
D E F D,E,F
Springer Verlag 2004
56. Fig.6.7. Using state set notation for
the bookstore features – Part I
Login
Welcome, Logout
Category, LoginLink,
Registration
Book, Logout,
Change User Data
SearchResult RegistrationLink,
ChangeLink
1 links to LoginLink only exist, if user is not logged in
2 links to Logout only exist, if user is logged in
3 links to RegistrationLink only exist, if user is not logged in
4 links to ChangeLink only exist, if user is logged in
Logout Welcome
ShoppingCart,
OrderInformation, LoginLink
Confirmation Login
ChangeLink
Registration
OrderChangeLink
OrderInformation OrderRegistration
Springer Verlag 2004
57. Fig.6.7. Using state set notation for
the bookstore features – Part II
Login,
Registration, Book, Category, Welcome
ShoppingCart, SearchResult, Welcome
OrderInformation, OrderLogin,
OrderRegistration, WelcomeLink
Confirmation
View Cart
Welcome, Category, Book,
SearchResult, OrderInformation ShoppingCart
ViewCart
Search
Welcome, Category, Book,
SearchResult, ShoppingCart Book
Search
Springer Verlag 2004
58. Fig.6.8. Modeling enabling conditions based on
state specialization
(i)
A1 A2 A3 A4 A5
S3
Start S1 S2 S5 End
S4
B1 B2 B3
(ii) A1 A2 A3 A4 A5
S3‘
S1‘ S2‘ S5‘
S4‘
Start End
S3‘‘
S1‘‘ S2‘‘ S5‘‘
S4‘‘
B1 B2 B3
Springer Verlag 2004
59. Fig.7.1. The data model of the bookshop as a PD model
Category
name featuredBooks
title String
subcategories Book
String abstract
item String
price Amount
OrderItem
orderItems quantity name String
Number Author
Order authors
buyer email String
Customer
fullName String
password String
address streetAddress String
cardInformation
Address city CardType
String CardInformation cardType
state cardNumber
String String
zip expiration
country Number Date
String
Springer Verlag 2004 cardholder String
60. Fig.7.2. A submodel of the bookshop
title String
Book
abstract
item String
price Amount
OrderItem
orderItems quantity name String
Number Author
Order authors
buyer email String
Customer
fullName String
password String
Springer Verlag 2004
61. Fig.7.3. A relation of arity 3 and an alternative
model with a relationship
Offer Offer
Customer Customer
contact Contact
Salesperson Salesperson
Springer Verlag 2004
62. Fig.7.4. A partial order in the data model and a
valid state of this model
Partial
order Fro
to2fro fro2to
To
Data model
Data state
Springer Verlag 2004
63. Fig.7.5. A composition constraint with composite
entity and contents model
composite detouring
entity relation type
weak
entity type
master
relation types external
reference
contents
subsystem
Springer Verlag 2004
64. Fig.8.1. An example data type interchange diagram
showing all the notational elements
message messages of bidirectional
representing transaction transactional signature of “order”
advertise getinsurance
order ship
deliver
inquiry
CRMprocess
unit system input welcomeMessage
type
output type
Springer Verlag 2004
65. Fig.8.2. Similar to functional decomposition,
a model subsystem in one DTIM
can be defined by a whole sub-DTIM
c
a
c
b
b a
Springer Verlag 2004
66. Fig.8.3. Edges between actions within the same model
subsystem can and should be replaced
v v
i i
a a
h h
u u
Springer Verlag 2004
67. Fig.8.4. Example DTIMs describing how the login
dialogue accesses a remote authentication service
flow: incorrect password
Login LoginForm Welcome
Form-Oriented Client Bookshop System Customer Management
Login LoginForm
Authentication
Service
Welcome
Receiver
Solution A
flow: incorrect password
Solution B
LoginForm
Authentication
Springer Verlag 2004
Login
Service
FailReceiver
Welcome
OKReceiver
68. Fig.8.5. A DTIM and an equivalent DFD
DTIM
DFD
b w b
v i c
i
w
v
a
h h
a
c u
j h j
u a
Springer Verlag 2004
69. Fig.10.1. The Angie language related tool suite
Java Server Pages
Click-Dummy
Angie
Prototype
Generator
Load Test
Angie Load Angie
Report
JSPick Revangie Angil Angil
Model Recovery Model Recovery Load Test OLAP
Java
Server Pages Web Presentation Layer
Springer Verlag 2004
72. Fig.11.1. CPDS and CPTS
forms are
editable method calls
client
page
CPTS
CPDS
page description page targets
is interpreted server side code
Browser
Server
code unit code unit code unit
that produces that produces that produces
page descriptions page descriptions page descriptions
(e.g. server page) (e.g. server page) (e.g. server page)
Springer Verlag 2004
73. Fig.11.2. Model 2 architecture
C front
request
Java Servlet
M
create/update
request
client
dispatching
server-side
access objects
Java Server Page
response
V presentation
Springer Verlag 2004
74. Fig.11.5. Higher-order server pages design example
registration error and registrationA→along
A
registration error and registrationB→along registration
new Customer
B B
registration
C error and registrationC→along
not error
somewhere
Springer Verlag 2004
75. Fig.12.1. The core syntax model
of the PD modeling language
RelationType 1
EntityType
Role
1
Springer Verlag 2004
76. Fig.12.2. Multiplicity syntax model
and union with PD syntax model
Number
Number 1
1
RelationType Upper multiplicity
Upper multiplicity 1
1 Lower multiplicity
Lower multiplicity
1 Role
1
Number
1 Number 1
EntityType 1
1
Springer Verlag 2004
77. Fig.12.3. A cutout message storyboard of the bookshop
example with custom transition names
l LoginLink
Welcome
v
! loggedIn:Boolean s ShoppingCart
! customerName:String ViewCart
Springer Verlag 2004
78. Fig.13.2. A formchart is derived from
the semantic framework
formchartframework
shdframework
pageServer
StartState
ClientPage ServerAction
ServerPage
Category
WelcomeLink Welcome
ViewCategory
Springer Verlag 2004
79. Fig.13.3. The object net over a formchart is a path
WelcomeLink
Welcome
Category ViewCategory
singleInstance:
CurrentEnd
Springer Verlag 2004
80. Fig.13.4. A login subdialogue as UML state machine
submit
[valid password]
Welcome Login
submit
[invalid password]
Springer Verlag 2004
81. Fig.13.6. Example of path expressions
x
v y
A B C D
w z
B’
x duplicate
v y
aA:A aB1:B aC1:C aC1:C aC1:C
v y
w aB2:B y aC2:C aC2:C aC2:C aC2:C
result bag
w aB’:B’ z aC3:C
Springer Verlag 2004
83. Fig.16.1. The Seeheim model of user interfaces
Application
Presentation Dialogue Control Interface
Model
Springer Verlag 2004
84. Fig.16.2. Data flow diagram of a system login
and registration feature
user-id
error-message
CurrentUser
login
User
email-and-password
customer-and-repeated-password
register
error-message Customer
Springer Verlag 2004
85. Fig.16.2. Jacobson-style use case diagram
of the example bookstore.
browse categories
search
view shopping cart
manage shopping cart
buy
register
change customer data
User
login
logout
system
Springer Verlag 2004