software engineering session 8 main theme business model … · 2017-01-19 · » handout 30 –...

132
1 Software Engineering Session 8 – Main Theme Business Model Engineering Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Presentation material partially based on textbook slides Software Engineering: A Practitioner’s Approach (7/e) by Roger S. Pressman Slides copyright © 1996, 2001, 2005, 2009

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

1

Software Engineering

Session 8 – Main Theme

Business Model Engineering

Dr. Jean-Claude Franchitti

New York University

Computer Science Department

Courant Institute of Mathematical Sciences

Presentation material partially based on textbook slides

Software Engineering: A Practitioner’s Approach (7/e)

by Roger S. Pressman

Slides copyright © 1996, 2001, 2005, 2009

Page 2: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

2

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Process Interoperability

6 BPMN, BPML, and BPEL4WS

Page 3: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

3

What is the class about?

Course description and syllabus:

» http://www.nyu.edu/classes/jcf/g22.2440-001/

» http://www.cs.nyu.edu/courses/spring14/G22.2440-001/

Textbooks: » Software Engineering: A Practitioner’s Approach

Roger S. Pressman

McGraw-Hill Higher International

ISBN-10: 0-0712-6782-4, ISBN-13: 978-00711267823, 7th Edition (04/09)

» http://highered.mcgraw-hill.com/sites/0073375977/information_center_view0/

» http://highered.mcgraw-

hill.com/sites/0073375977/information_center_view0/table_of_contents.html

Page 4: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

4

Icons / Metaphors

4

Common Realization

Information

Knowledge/Competency Pattern

Governance

Alignment

Solution Approach

Page 5: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

5

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Process Interoperability

6 BPMN, BPML, and BPEL4WS

Page 6: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

6

Business Model Representation

See Session 7 Handouts: » Handout 30 – OMG’s BPMN Resource Page

» Handout 31 – BPMN 1.0 Specification

» Handout 32 – BPMN Patterns

» Handout 33 – Business/Application Arch. Engineering

» Handout 34 – Sample Business Architecture

» Handout 35 – Sample BPMS (Lombardi TeamWorks)

Page 7: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

7

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Process Interoperability

6 BPMN, BPML, and BPEL4WS

Page 8: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

8

Section Outline

Business Process Modeling background

Business Process Modeling Phases

Page 9: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

9

Discussion

How do you know that what you are doing

is the right thing to do?

Who do you build your interfaces for?

How can you ensure that you are “doing

the right thing”?

Has anyone built something that missed the mark?

• It failed to meet the business need

• End-users did not use it

Page 10: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

10

What is BPM?

A standardized approach to analyze, streamline and integrate business processes independent of organizational boundaries, to provide maximum operating efficiencies via clearly defined business and IS projects

A business process focused methodology » Not Business Process Reengineering

» Led by the business

» Facilitated by IS

Page 11: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

11

Why BPM?

Identify and document business process

improvement opportunities

» To gain operating efficiencies through analysis of

current and future business processes

Align business and IS

» To promote integration of business processes and

technologies by identifying strategic initiatives

Identify and reuse processes

» To identify core business processes

» To share and reuse business processes across

organizational boundaries

Page 12: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

12

BPM Objectives

Analyze business processes independent

from organization

Quantify the benefits and savings for each

proposed initiative

Identify opportunities for process

elimination and/or reassignment

Identify opportunities for business process

improvement through automation and

optimization

Page 13: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

13

Risks without BPM

Systems could be implemented as a

“forced fit”

Potential loss of business and technology

alignment

Increased manual processes and

“workarounds”

Building unnecessary user interfaces

Not identifying the best possible solutions

Page 14: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

14

The Value of BPM

Business area and IS develop a common understanding of business requirements

» Simple modeling notation

» Consistent, repeatable approach

Short, focused BPM efforts

» Swift identification of process improvement initiatives

Promotes seamless integration and reuse of processes, data and technologies

Captures current business processes that can be used as a knowledge-base for training

Page 15: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

15

BPM Methodology Phases

Business Process

Modeling

(BPM)

Pre-Project

Assessment

Project

Planning

Business Needs

Analysis

Current Process

Understanding

New Process

Design Transformation

Page 16: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

16

Project Planning

Develop project plan

» High-level scope definition

Build project team

Conduct project kick-off meeting

» Core team

» Stakeholders

Initiate project management activities

Training of Core team and subject

matter experts

Page 17: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

17

Business Needs Analysis

Define BPM detailed scope

»Define project purpose, goals and

objectives

»Identify problems to be addressed

»Determine key measures

Page 18: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

18

Current Process Understanding

Develop business process models

Identify business process information needs

Capture current process metrics and characteristics

Identify areas of opportunity for improvement

Page 19: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

19

New Process Design

Develop Global Business Function Model

» Based on annotated CPU models from

Optimization

» Incorporate process improvement

opportunities

Page 20: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

20

Transformation

Document recommended business

initiatives

Produce list of recommended projects

Identify sequence for recommended IS

projects

Page 21: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

21

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Process Interoperability

6 BPMN, BPML, and BPEL4WS

Page 22: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

22

Sample Business Process Map (Trading)

Client

OTC

Market

Client

logs in

"Personalized

" Web Page

Submits

Order

Validate Order

Valid

"Not a valid

order"

Manual Review

Needed

Is this a product in your

inventory or available on

ECN.

No

Route to

Trading

Desk

Yes

Electronic

Trading Available

No Yes

"Electronic

pass

through"

Electronic

submission

execution

Non

Automated

Execution

No

Monitor

Execution

E-mail

Confirmation

Confirm

Execution

(price Qty,

Etc..)

Update

customer

account

"Real-time

alert"

Is it

Domestic

Trigger

FX No

FX Process

Front/Back Office

Electronic Execution?

Yes

*

Client

Client Calls

in Order

Sales Desk

Contacts

Client Record

Order

No

Yes

Yes

Page 23: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

23

Understanding Business Model Engineering

• Data conversion

• Supplied volume

data

• Projects creation and update

• Projects approval

• KPI creation

• Project information retrieval

• System administration

• Hardware

• Standard system

software

• Reporting software

• Ad-hoc spreadsheet

functions

• Security and

performance

• Site navigation design

• Site content design

• Reusable components

• Security workflow

• Help

Location

Data

Technology

Organization Business Process

Application

• Implementation Team

• Training Team

• Office hosting development

Page 24: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

24

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Process Interoperability

6 BPMN, BPML, and BPEL4WS

Page 26: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

26

Page 27: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

27

Models of Business Processes

UML became the standard modeling language for business processes.

Of the 9 UML diagram types, 3 are particularly important:

use cases,

activity diagrams and

scenarios (sequence or colaboration diagrams).

Use cases show informally how the business process interacts

with outside actors (customers, stakeholders, suppliers etc.)

The process dynamics is modeled by activity diagrams.

Often only specific scenarios are of interest. E.g. service monitoring,

system reconfiguration, performance degradation etc.

Page 28: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

28

A Use Case

WEB

Hotel

Desk

Reservation

System

Room

Service

<<extends>>

<<extends>>

<<includes>>

John

Markus

Room Reservation

Page 29: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

29

Activity Diagrams

Activity Diagram: state transition diagram with

concurrent states (Statechart)

Activity: state with internal action

BPM: activity = Mealy state

Activity diagrams constitute the core of a business model.

action agent

input

data

output

data

event

Page 30: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

30

Page 31: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

31

A UML Business Process Model: Different Views

Page 32: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

32

Page 33: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

33

Activity Diagram Applications

Intended for applications that need control

flow or object/data flow models …

... rather than event-driven models like state

machines.

For example: business process modeling and

workflow.

The difference in the three models is how a

step in a process is initiated, especially with

respect to how the step gets its inputs.

Page 34: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

34

Control Flow

Each step is taken when the previous one

finishes

…regardless of whether inputs are available,

accurate, or complete.

Emphasis is on order in which steps are taken.

Not UML

Notation! Start Trip Cancel Trip

Analyze Weather Info

Weather Info

Start

Page 35: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

35

Object/Data Flow

Each step is taken when all the required input

objects/data are available …

… and only when all the inputs are available.

Emphasis is on objects flowing between steps.

Design Product

Procure

Materials

Acquire Capital

Build

Subassembly 1

Build

Subassembly 2

Final

Assembly Not UML

Notation

Page 36: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

36

State Machine

Each step is taken when events

are detected by the machine …

… using inputs given by the event.

Emphasis is on reacting to

environment. Ready To Start

Coin

Deposited

Ready For Order Selection

Made

Dispense

Product

Return

Change

Cancel Button

Pressed

Not UML

Notation

Page 37: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

37

Action (State)

Subactivity (State)

Just like their state machine counterparts (simple state and submachine state) except that ...

... transitions coming out of them are taken when the step is finished, rather than being triggered by a external event, ...

... and they support dynamic concurrency.

Kinds of Steps in Activity Diagrams

Action

Subactivity

Page 38: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

38

Action (State)

An action is used for anything that does not directly start another activity graph, like invoking an operation on an object, or running a user-specified action.

However, an action can invoke an operation that has another activity graph as a method (possible polymorphism).

Action

Page 39: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

39

A subactivity (state) starts another activity

graph without using an operation.

Used for functional decomposition, non-

polymorphic applications, like many

workflow systems.

The invoked activity graph can be used by

many subactivity states.

Subactivity (State)

Subactivity

Page 40: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

40

Example

POEmployee.sortMail Deliver Mail

POEmployee

sortMail() Check Out

Truck

Put Mail

In Boxes

Deliver Mail

Page 41: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

41

THE model (application) is completely OO

when all action states invoke operations,

and all activity graphs are methods for

operations.

Activity Graph as Method

POEmployee

sortMail()

deliverMail() «realize»

POEmployee.sortMail POEmployee.deliverMail

Check Out

Truck

Put Mail

In Boxes

PO Employee Deliver Mail Method

Page 42: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

42

Invokes an action or subactivity any number of times in parallel, as determined by an expression evaluated at runtime..

Upper right-hand corner shows a multiplicity restricting the number of parallel invocations.

Outgoing transition triggered when all invocations are done.

Currently no standard notation for concurrency expression or how arguments are accessed by actions. Attach a note as workaround for expression.

Dynamic concurrency

Action/Subactivity *

Page 43: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

43

Object Flow (State)

A special sort of step (state) that represents the availability of a particular kind of object, perhaps in a particular state.

No action or subactivity is invoked and control passes immediately to the next step (state).

Places constraints on input and output parameters of steps before and after it.

Class

[State]

Page 44: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

44

Object Flow (State)

Take Order must have an output parameter giving an order, or one of its subtypes.

Fill Order must have an input parameter taking an order, or one of its supertypes.

Dashed lines used with object flow have the same semantics as any other state transition.

Order

[Taken] Take Order Fill Order

Page 45: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

45

Inherited from state machines

Initial state

Final state

Fork and join

Coordinating Steps

Page 46: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

46

Coordinating Steps (1/2)

Decision point and merge (

) are inherited from state

machines.

For modeling conventional flow

chart decisions.

Calculate

Cost

Charge

Account

Get

Authorization

[cost < $50]

[cost >= $50]

Page 47: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

47

Coordinating Steps (2/2)

Synch state ( ) is inherited from state machines but used mostly in activity graphs.

Provides communication capability between parallel processes.

State

machine

notation

Inspect

Build

Frame

Install

Foundation

Install

Electricity

in Foundation

Put

On

Roof

Install

Electricity

In Frame

Install

Electricity

Outside

Install

Walls

* *

Page 48: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

48

Convenience Features (Synch State)

Forks and joins do not require composite states.

Synch states may be omitted for the common case (unlimited bound and one incoming and outgoing transition).

Build

Frame

Install

Foundation

Install

Electricity

in Foundation

Put

On

Roof

Install

Electricity

In Frame

Install

Electricity

Outside

Install

Walls

Inspect

Activity

diagram

notation

Page 49: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

49

Convenience Features (Synch State)

Object flow states can be synch

states

Obj

[S2]

A11 A12 A13

A21 A22 A23

Page 50: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

50

Convenience Features (1/3)

Fork transitions can have guards.

Instead of doing this:

Register

Bug

Evaluate

Impact

Fix

Bug

Revise

Plan

Release

Fix

Test

Fix

[ priority = 1]

Register

Bug

Evaluate

Impact

Fix

Bug

Revise

Plan

Release

Fix

Test

Fix

[ priority = 1]

[else]

Page 51: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

51

Convenience Features (2/3)

Partitions are a grouping mechanism.

Swimlanes are the notation for partitions.

They do not provide domain-specific semantics.

Tools can generate swimlane presentation from domain-specific information without partitions.

Register

Bug

Evaluate

Impact

Fix

Bug

Revise

Plan

Release

Fix

Test

Fix

[ priority = 1]

Management

Support

Engineering

Page 52: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

52

Signal send icon

… translates to a transition with a send action.

Signal receipt icon

… translates to a wait state (an state with no action and a signal trigger event).

Convenience Features (3/3)

Signal

Coffee Done

Wake Up

Get Cups

Drink Coffee

Turn on Coffee Pot

Coffee

Pot

Signal

Page 53: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

53

Cas

e S

tudy

Submission Team Task Force Revision Task Force

Issue RFP

Evaluate initial

submissions

Submit

specification

draft

Collaborate with

competitive

submitters

Develop

technology

specification

partition

action state

RFP

[issued]

[optional]

control flow

Finalize

specification

Specification

[initial

proposal]

input value

Begin

object flow

initial state

join of control

conditional

fork

fork of control

Specification

[final

proposal]

Adapte

d f

rom

Kobry

n,

“UM

L 2

001”

Com

munic

ations o

f th

e A

CM

Octo

ber

1999

Page 54: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

54

Cas

e S

tudy

A

dapte

d f

rom

Kobry

n,

“UM

L 2

001”

Com

munic

ations o

f th

e A

CM

Octo

ber

1999

Evaluate initial

submissions

Evaluate final

submissions

Vote to

recommend

Enhance

specification

Implement

specification

Revise

specification

Finalize

specification

Specification

[final

proposal]

Specification

[adopted]

Recommend

revision

Specification

[revised]

[NO] [YES]

[else] [Enhanced]

decision

final state

guard

Collaborate with

competitive

submitters

Page 55: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

55

When to Use Activity Diagrams

Use activity diagrams when the behavior you

are modeling ...

» does not depend much on external events.

» mostly has steps that run to completion, rather than

being interrupted by events.

» requires object/data flow between steps.

» is being constructed at a stage when you are more

concerned with which activities happen, rather than

which objects are responsible for them (except

partitions possibly).

Page 56: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

56

Activity Diagram Modeling Tips (1/6)

Control flow and object flow are not separate. Both are modeled with state transitions.

Dashed object flow lines are also control flow.

You can mix state machine and control/object flow constructs on the same diagram (though you probably do not want to).

Page 57: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

57

Activity Diagram Modeling Tips (2/6)

Request Return

Get Return Number

Ship Item

Item [returned]

Receive Item

Restock Item

Credit Account

Item [available]

Customer Telesales Warehouse Accounting From UML

User Guide:

Page 58: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

58

Act

ivity

Mod

elin

g T

ips

Request Return

Get Return Number

Ship Item

Item [returned]

Receive Item

Restock Item

Credit Account Item

[available]

Customer Telesales Warehouse Accounting

Page 59: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

59

Activity Diagram Modeling Tips (3/6)

Activity diagrams inherit from state machines the requirement for well-structured nesting of composite states.

This means you should either model as if composite states were there by matching all forks/decisions with a correspond join/merges …

… or check that the diagram can be translated to one that is well-nested.

This insures that diagram is executable under state machine semantics.

Page 60: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

60

Activity Diagram Modeling Tips (4/6)

Well-nested:

Page 61: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

61

Not well-nested:

Apply structured coding principles. (Be careful with goto’s!)

Activity Diagram Modeling Tips (5/6)

Page 62: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

62

Activity Diagram Modeling Tips (6/6)

Can be translated to well-nested

diagram on earlier slide:

Page 63: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

63

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Process Interoperability

6 BPMN, BPML, and BPEL4WS

Page 64: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

64

See: » http://www.bpmi.org

» http://www.processwave.net/Articles/SoftwareProcess/BusinessModelingArticles.htm

» http://cde.berkeley.edu/resources/bpmn/

» http://www.popkin.com/

» http://www.popkin.com/customers/customer_service_center/demos/business/bpmn_tutorial_viewlet_swf.html

» http://www.popkin.com/customers/customer_service_center/demos/demos_with_overview_process_map.htm

Business Process Modeling Notation (BPMN) and BPML / BPEL4WS

Page 65: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

65

Procedural Knowledge Road Map

Type ofknowledge/

LevelsConceptual model Deployment

methodologyInteroperability

ProcessInstance

levelProcess instance

conceptBPMN+ Wf-XML

Processdefinition

level

Process definitionconcept

WfMC meta-model+BPMN XPDL+

BPMN - Business Process Modeling

Notation, BPMI, 11.02

XPDL - XML Process Definition Language,

WfMC, 07.02

Wf-XML - Workflow Interoperability Binding,

WfMC, 11.01

Page 66: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

66

ICONS’ conceptual models

Process definition concepts - WfMC’s

workflow meta-model extended with

» time modeling

» flexible Workflow Participant Assignment

[Momotko2002]

Process instance concepts

» advanced process instance and activity

instance behavioral models (timing and

criticality behavior)

» advanced time management

Page 67: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

67

BPMN and XPDL extensions

BPMN extension (BPMN+)

» idea - standard well-known notation for both

process definition adjusted to the needs for

process instance

» ICONS’ approach - a BPMN extension to

visualise process execution

XPDL extension (XPDL+)

» performer relationships (WPA)

» pre & post conditions

Page 68: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

68

Process Definition - An Example

Page 69: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

69

Possible Process Execution

Page 70: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

70

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Model Interoperability

6 BPMN, BPML, and BPEL4WS

Page 71: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

71

Semantic Web & Ontology

Semantic Web » Machine-processible semantics of data

• Semantic annotation, XML, RDF

» Explicit representation of the semantics of data accompanied with domain theories (i.e. ontologies)

» Lead to a highly knowledgeable world-wide system

Ontology » “specifications of a shared conceptualization of a

particular domain”

» Describe the semantics of information exchange

» Ontology description tools : ontolingua, OIL, DAML

Page 72: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

72

Generic Interoperability Methodology

Framework BFramework A ECIMF Interop. Model

Business Context MatchingBusiness Context Model

Semantic Model

Business Process Model

Syntax Model

Semantic Translation

Process Mediation

Syntax Mapping

Business Context Model

Semantic Model

Business Process Model

Syntax Model

Example: ECIMF methodology

Page 73: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

73

Generic Interoperability Methodology

Example: Relationship between the ECIML and other modeling standards.

Page 74: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

74

Semantic Translation Layer

Mapping concepts from different ontologies

Page 75: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

75

Semantic Translation Layer

Semantic Translation meta-model

Page 76: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

76

Business Process Mediation Layer

Enterprise A Process Mediator Enterprise BRequest

Response

Transaction

boundaries

(also legal)

Transaction

boundaries

(also legal)Request

Response

Request

Response

Request

Response

Request

Response

Request

Response

Transaction

boundaries

(also legal)

Transaction

boundaries

(also legal)

Example scenario that requires Process

Mediator.

Page 77: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

77

Business Context Matching

«Event»

Shipment

«Resource»

Car

2 - GIVE

«Agent»

ShippingAgent

custody

stock-flow

{use}

role

«Agent»

Customer

1 - TAKE

«Event»

CashRcpt

«Resource»

Cash

«Agent»

Cashier

collaboration

collaboration

role

«Commitment»

Shipment

«Commitment»

Payment

«Agreement»

ShippingContract

labor cars

used carscash

collaborationexecutes

Uses {when, how long, etc …}

Gives {when, where to, etc …}

Business Context model as seen by the shipping agency

Page 78: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

78

Business Context Matching

«Event»

Shipment

«Resource»

Truck

2 - TAKE

«Agent»

ShippingAgent

custody

stock-flow

{use}

role

«Agent»

Customer

1 - GIVE

«Event»

CashRcpt

«Resource»

Cash $1000

«Agent»

ShippingAgent

collaboration

collaboration

role

Uses {when, how long, etc …}

Gives {when, where to, etc …}

«Commitment»

Shipment

«Commitment»

Payment

«Agreement»

ShippingContract

cash

executes

payload

shipped payload

Business Context model as seen by the customer

Page 79: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

79

Process Mediation (1/2)

Page 80: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

80

Process Mediation (2/2)

Page 81: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

81

Semantic Translation (1/2)

Semantics of the two corresponding concepts

Customer: TV-set Semantic Translation Shipping Agency: Box

Properties Mapping Rules Properties

Height Width Depth Represent the physical dimensions of the TV set

chassis.

Tv_set → Box: dimension values will always be

higher, but discrete. Need to be obtained

from a cardboard box catalogue (external

resource)

Height Width Depth Represent the physical dimensions of the cardboard

box used to ship the electronic equipment of

any kind. The values are discrete, because

only certain box sizes are available. Box → Tv_set: dimension values will always be

lower. Need to be obtained from a TV

products catalogue (external resource) using productID

Not available (N/A) Tv_set → Box: needs to be obtained from a

product catalogue (external resource)

Weight

Represents the weight of the box with the contents.

Box → Tv_set: not needed

N/A Tv_set → Box: needs to be obtained from a

product catalogue (external resource)

StackingLevels Represents the number of levels the boxes can be

stacked, one on top of the other.

Box → Tv_set: not needed

N/A Tv_set → Box: always set to True. Fragile Marks the payload as fragile (requiring special care

during transportation) Box → Tv_set: not needed

Color Tv_set → Box: not needed N/A

Box → Tv_set: needs to be obtained from a

product catalogue (external resource)

Page 82: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

82

Semantic Translation (2/2)

Analyze the message delivery control mechanisms

SecureFlow

Signal

Document

Exception

RcptAckExc. GeneralExc.

RcptAck

APERAK

ORDERS

QUOTES

REQUOTE

CONTRL ORDRSP

INVOIC

REMADV

Customer (RNIF) Semantic Translation Shipping Agency (EDI)

SecureFlow consists of a business document

(containing business data), and a responding

business signal (acknowledgement).

The RNIF business documents map 1:1 to EDI

business messages, e.g.: QuoteRequest ↔ REQUOTE QuoteConfirm ↔ QUOTES PORequest ↔ ORDERS POConfirm ↔ ORDRSP etc ... However, individual data elements can be

missing, and will have to be collected from the

previous messages, or supplied explicitly in the

rules, or obtained from external resources.

In this particular case, the EDI system uses APERAK and CONTRL messages only to signal

exceptions. Acknowledgements are implicit, in

the form of response business documents.

ReceiptAck This signal means that the document business

data has been accepted for further processing

(which implies also well-formedness)

RNIF → EDI: not needed – don’t forward. N/A – implementation choice (positive

acknowledgements are implicit).

EDI → RNIF: needs to be synthesized from the

response document. Possible problems with

timing constraints… (ack. too late)

ReceiptAckException This signal means the document was not well-

formed (parsing errors). Business data was not

considered at all.

The semantics of both messages is identical,

which means a 1:1 mapping can be applied,

both ways.

CONTRL This message is sent when parsing errors

occur. Business data was not considered at all.

Page 83: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

83

Syntax Mapping

Message syntax mapping

Page 84: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

84

Shared Ontology Approach to Semantic Translation

local ontology

Multiple ontologies + labels

local ontology

local ontology

Shared ontology

local ontology

Multiple ontologies + labels

local ontology

local ontology

Shared ontology

Page 85: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

85

EDOC & ebXML: Vision

EDOC » Simplify the development of component based

EDOC systems by means of a modeling framework, based on UML 1.4 and conforming to the OMG Model Driven Architecture.

» Provide a platform independent, recursive collaboration based modeling approach that can be used at different levels of granularity and different degrees of coupling, for both business and systems modeling.

» Embrace MDA – Provide design and infrastructure models and mapping

ebXML » Creating a single global electronic market

Page 86: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

86

The Internet Computing Model

Collaboration of independent entities

Document exchange over internet technologies

» Large grain interactions, not “method calls”

No required infrastructure *

Long lived business processes

Business transactions

» Not technical transactions

Business

Party

Business

Party

Portals

Page 87: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

87

Requirements for the “ICM”

Contract of Collaboration

» Meta-Model (EDOC-ECA) and

representation (I.E. XMI,

ebXML-BPSS)

» Shared Repository for

Contracts (MOF, UDDI, ebXML)

» Tightly coupled systems may

simulate the repository with file

exchange (I.E. IDL)

Connectivity which meets

requirements of the contract

Implementation of each

contract role providing

connectivity (application

server)

Business

Partner

Business

Partner

Repository

Contracts

(Metadata)

Contract of collaboration can be

mapped to the format of various

technologies. (ebXML, Soap,

.NET)

Instance Data

Page 88: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

88

Two Levels of Interoperability

Instance data and interoperability

Metadata (model) interoperability

Business

Partner

Business

Partner Bridge

Each can be transformed

EDOC

ECA Biztalk ebXML

ebXML Biztalk

Normal Form

Over Soap Over Soap

Page 89: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

89

Drilling Down – Inside a Role

Inside one role you

frequently find more

Collaborating “parts”

of the enterprise

Until you get to a

role within a domain » These can share

resources!

» E.G. Common access to

a DBMS or Service

» Exist within a managed

domain

» Can also be a legacy

application

Inner Role

Legacy

Inner

Role

Inner Role

Domain

ebXML does not go here,

Only EDOC-ECA

Cust

Page 90: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

90

Standards for collaboration

EDOC-ECA ebXML-BPSS

Business Collaborations Yes – Community Process Yes – Multi Party Collaboration

Contract of Interaction Yes – Protocol with

Choreography & Object

Interface

Yes – Binary Collaboration with

Choreography and Business

Transactions

Content Model Yes – Document Model Uses external forms, such as XML

Schema

Recursive Composition Yes – Recursive Composition

into Enterprise

No – Only “B2B”

Detail sufficient to drive

communications

No – Requires technology

mapping

Yes – As ebXML transport. BPSS

includes timing and security

parameters.

Computing Models

Supported

Internet document exchange,

entities, business processes,

objects and events

Internet document exchange

Page 91: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

91

Parts of EDOC

Enterprise Collaboration Architecture (PIM)

» Component Collaboration Architecture

» Business Process Specification

» Entities

» Business Events

» Patterns

Technology Mapping (PSM)

» Flow Composition Model (Messaging)

» EJB & Corba Components

» ebXML (In progress)

» Others…

MAPPING – Models are the standards and

are source code

Page 92: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

92

HTTP Web Server

Applications

Enterprise Architecture

SQL DBMS, Client/Server

& Legacy Applications

Client Applications

Business and data rules go here

User interface and application logic go here

The data goes here

EAI Applications & B2B E-Commerce

Web

Browser

Standard Middleware connects applications to components & components to components

XML

Corba

EJB

DCOM

MQ

Supply Chain

Enterprise

Components

Page 93: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

93

Parts of ebXML

Business Process Specification (Like CCA) » XML Representation of business process

Core Components » Business Data Types

Collaboration Protocol Profile » What business partners implement what business processes

using what technologies

» One-One agreement for doing business

Transport Routing & Packaging » Messaging Built on Soap

Registry & Repository » Finding business partners, document and process

specifications

Page 94: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

94

ebXML Architecture

BP

Specification

Business

Process Core Data

Blocks

Business

Messages

CPA

Context For Built With

Implement one

Partner Role Implement other

Partner Roles

Register

Designtime Designtime

CPP CPP

Transport

Package

Business

Service

Interface

Internal Business

App

Internal Business

App

Business

Service

Interface

Runtime

Page 95: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

95

Component Collaboration Architecture (The Model of Doing) The Marketplace Example

Mechanics Are Us

Buyer Acme Industries

Seller

GetItThere Freight

Shipper

Order

Conformation

Ship Req

Shipped

Shipped

Physical

Delivery Delivered

Status

Process

Complete

Page 96: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

96

The Seller’s Detail

Order

Conformation

Shipped

Ship Req

Shipped

Delivered

Order Processing

Shipping

Receivables

Event

Page 97: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

97

Parts of a CCA Specification

Structure of process components and protocols

» Process components, ports, protocols and

documents

• Class Diagram or CCA Notation

Composition of process components

» How components are used to specify components

• Collaboration diagram or CCA Notation

Choreography

» Ordering of flows and protocols in and between

process components

• Activity Diagram

Page 98: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

98

The Community Process

Identify a “community process”, the roles and

interactions

Using CCA Notation

Buyer Seller

BuySell CommunityProcess

Buy Sell

Shipper

ShipDelivery

ShipDelivery

Page 99: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

99

Seller

Sell

Buyer

Buy

Component structure

Buys

(from Buyer)

<<ProtocolPort>>

Buyer<<ProcessComponent>> <<initiates>> Sells

(from Seller)

<<ProtocolPort>>

Seller<<ProcessComponent>><<responds>>

BuySellProtocol<<Protocol>>

Component structure

Defines the “outside”

Contract of a component

Page 100: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

100

OrderData<<CompositeData>>

OrderConfirmationData<<CompositeData>>

Order

(from OrderBT)

<<FlowPort>>OrderConfirmation

(from OrderBT)

<<FlowPort>>

OrderBT<<Protocol>><<responds>>

<<initiates>>

OrderDeniedData<<CompositeData>>

OrderDenied

(from OrderBT)

<<FlowPort>>

<<initiates>>

Protocol Example

Specification of a protocol

Protocol OrderBT

OrderDenied

OrderConfirmationOrder

responderRole

Seller

initiatorRole

Buyer

Page 101: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

101

Protocol OrderBT

OrderDenied

OrderConfirmationOrder

responderRole

Seller

initiatorRole

Buyer

Choreography of Protocol

<<initiates>> Order

<<responds>> OrderDenied <<responds>> OrderConfirmation

Failure Success

Page 102: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

102

Object Interfaces

Use standard

interface notation

Are a subtype of

“Protocol” in the

MetaModel

Allow modeling of and

integration with

classical and/or

existing objects

CustService

+ checkCustomer()+ checkCredit()

<<Interface>>

EnqStatus

(from CustomerComponent)

<<ProtocolPort>>

CustomerComponent<<Entity>>

<<responds>>Interface

Protocol

Page 103: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

103

Composition

Seller : Sells

Validate : OrderValidation

: checkOrder

: reject

: acceptOrder

: CheckCustomer

Process : OrderProcessing

: doOrder

: ProcessedOrder

CustBean : CustomerComponent

: SendOrder

: GetDenied

: GetConfirmation

: EnqStatus

Seller Composition

1: checkCustomer(order : Order)

Use of an

interface

Composition defines

the “inside” of a

component

Page 104: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

104

ECA Entity Profile (The Model of Things) Sample Information Model

+Street : String

+City : String

+State : String

+Zip : String

«EntityData»

Addtress+Cust

1

+Adr

1..*

+Name : String

+Balance : Decimal = 0

+AccountNo : long

«EntityData»

Account

+InvNum : Integer

+Total : Decimal

«EntityData»

Invoice

-Act1

-Invoices*

+Quantity : float

-Price : Currency

«EntityData»

LineItem +PartId : String

+Description : String

+QtyInStock : float(idl)

«EntityData»

Part

-Env

1

-Items

*

-Items

*

-Part

1+InvNum : Integer

«Key»

InvoiceKey

-.

1

-.

1

+PartId : String

«Key»

PartKey

-. 1

-. *

+AccountNo : String

«Key»

AccountKey

-.

1

-.

1

+Name : String

-CompanyId : String

«EntityData»

Company

+CompanyId : String

«Key»

CompanyKey

-.

1

-.

1

Page 105: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

105

Adding Entities

Entities are added to

manage entity data

Entity Roles are

managers that provides

a view of the same

identity in another

context

The Entities have ports

for managing and

accessing the entities

Non-entities which are

owned by (aggregate

into) an entity are

managed by the entity

+Street : String

+City : String

+State : String

+Zip : String

«EntityData»

Addtress+Cust

1

+Adr

1..*

+Name : String

+Balance : Decimal = 0

+AccountNo : long

«EntityData»

Account

+AccountNo : String

«Key»

AccountKey

-.

1

-.

1

+Name : String

-CompanyId : String

«EntityData»

Company

+CompanyId : String

«Key»

CompanyKey

-.

1

-.

1

.

Manages

<<Entity>>

CompanyManager

Manage

<<EntityRole>>

AccountManager

Manage

-Manages1

-.1

Page 106: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

106

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

Event

Notification

ECA Business Events (The Model of When …) Event-Based Business Processes

Page 107: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

107

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

Point to point Event Notification

Event

Notifications

Page 108: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

108

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

App

Business

Process

Business

Entity

Business

Rules

Business

Events

Business

Actions

Pub/Sub

Pub/Sub Event Notification

Page 109: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

109

Event Example

Page 110: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

110

EDOC Business Process (The Model of How) Business Process Model

Specializes CCA

Activity-centric view of a Process

Expresses

» Complex temporal and data dependencies between

business activities

» Iteration of activities

» Alternative required Inputs and Outputs of activities

» Roles related to performers, artifacts and responsible

parties for activities

Page 111: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

111

Data Flows

DataFlows are special CCA Connections

» Uni-directional between ProcessFlowPorts

» DataFlows indicate

• data dependency & transmit values at run-time, or

• temporal dependency (aka control flow)

Page 112: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

112

Patterns: Buyer/Seller

Inheritance

Composition

Page 113: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

113

3 Business Process Modeling

4 Capturing the Organization and Location Aspects

Agenda

1 Introduction

8 Summary and Conclusion

2 Business Model Representation

5 Developing a Process Model

7 Business Process Interoperability

6 BPMN, BPML, and BPEL4WS

Page 114: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

114

Summary – Key Business Model Engineering Objectives

We must enable the emerging Internet Computing

Model

» Loosely coupled roles exchanging documents based on a

contract of collaboration

Web need interoperability at two levels

» Messaging for the data

» Metadata for the contract of collaboration, stored in

repositories

This model of collaborating roles is recursive,

extending into the enterprise, into managed domains

and into applications

» Inside the enterprise we want to include resources entities,

business events and business processes

Between EDOC & ebXML we are covering B2B and

intra enterprise

Page 115: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

115

Course Assignments

Individual Assignments

Reports based on case studies / class presentations

Project-Related Assignments

All assignments (other than the individual assessments) will

correspond to milestones in the team project.

As the course progresses, students will be applying various

methodologies to a project of their choice. The project and related

software system should relate to a real-world scenario chosen by each

team. The project will consist of inter-related deliverables which are

due on a (bi-) weekly basis.

There will be only one submission per team per deliverable and all

teams must demonstrate their projects to the course instructor.

A sample project description and additional details will be available

under handouts on the course Web site

Page 116: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

116

Team Project

Project Logistics

Teams will pick their own projects, within certain constraints: for instance,

all projects should involve multiple distributed subsystems (e.g., web-

based electronic services projects including client, application server, and

database tiers). Students will need to come up to speed on whatever

programming languages and/or software technologies they choose for their

projects - which will not necessarily be covered in class.

Students will be required to form themselves into "pairs" of exactly two (2)

members each; if there is an odd number of students in the class, then one

(1) team of three (3) members will be permitted. There may not be any

"pairs" of only one member! The instructor and TA(s) will then assist the

pairs in forming "teams", ideally each consisting of two (2) "pairs", possibly

three (3) pairs if necessary due to enrollment, but students are encouraged

to form their own 2-pair teams in advance. If some students drop the

course, any remaining pair or team members may be arbitrarily reassigned

to other pairs/teams at the discretion of the instructor (but are strongly

encouraged to reform pairs/teams on their own). Students will develop and

test their project code together with the other member of their programming

pair.

Page 117: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

117

Document Transformation methodology driven approach

Strategy Alignment Elicitation

Equivalent to strategic planning

i.e., planning at the level of a project set

Strategy Alignment Execution

Equivalent to project planning + SDLC

i.e., planning a the level of individual projects + project

implementation

Build a methodology Wiki & partially implement the

enablers

Apply transformation methodology approach to a

sample problem domain for which a business solution

must be found

Final product is a wiki/report that focuses on

Methodology / methodology implementation / sample

business-driven problem solution

Team Project Approach - Overall

Page 118: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

118

Document sample problem domain and

business-driven problem of interest

Problem description

High-level specification details

High-level implementation details

Proposed high-level timeline

Team Project Approach – Initial Step

Page 119: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

119

Course Project

• Project Logistics • Teams will pick their own projects, within certain constraints: for instance,

all projects should involve multiple distributed subsystems (e.g., web-based

electronic services projects including client, application server, and database

tiers). Students will need to come up to speed on whatever programming

languages and/or software technologies they choose for their projects -

which will not necessarily be covered in class.

• Students will be required to form themselves into "pairs" of exactly two (2)

members each; if there is an odd number of students in the class, then one

(1) team of three (3) members will be permitted. There may not be any

"pairs" of only one member! The instructor and TA(s) will then assist the

pairs in forming "teams", ideally each consisting of two (2) "pairs", possibly

three (3) pairs if necessary due to enrollment, but students are encouraged to

form their own 2-pair teams in advance. If some students drop the course,

any remaining pair or team members may be arbitrarily reassigned to other

pairs/teams at the discretion of the instructor (but are strongly encouraged to

reform pairs/teams on their own). Students will develop and test their

project code together with the other member of their programming pair.

Page 120: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

120

Sample Project Methodology Very eXtreme Programming (VXP)

After teams formed, 1/2 week to Project

Concept

1/2 week to Revised Project Concept

2 to 3 iterations

For each iteration:

» 1/2 week to plan

» 1 week to iteration report and demo

Page 121: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

121

Sample Project Methodology Very eXtreme Programming (VXP) - (continued)

Requirements: Your project focuses on two application services

Planning: User stories and work breakdown

Doing: Pair programming, write test cases before coding, automate testing

Demoing: 5 minute presentation plus 15 minute demo

Reporting: What got done, what didn’t, what tests show

1st iteration: Any

2nd iteration: Use some component model framework

3rd iteration: Refactoring, do it right this time

Page 122: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

122

Revised Project Concept (Tips)

1. Cover page (max 1 page)

2. Basic concept (max 3 pages): Briefly

describe the system your team

proposes to build. Write this

description in the form of either user

stories or use cases (your choice).

Illustrations do not count towards page

limits.

3. Controversies (max 1 page)

Page 123: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

123

First Iteration Plan (Tips)

Requirements (max 2 pages):

Select user stories or use cases to implement in your first iteration, to produce a demo by the last week of class

Assign priorities and points to each unit - A point should correspond to the amount of work you expect one pair to be able to accomplish within one week

You may optionally include additional medium priority points to do “if you have time”

It is acceptable to include fewer, more or different use cases or user stories than actually appeared in your Revised Project Concept

Page 124: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

124

First Iteration Plan (Tips)

Work Breakdown (max 3 pages):

Refine as engineering tasks and assign to pairs

Describe specifically what will need to be coded in order to complete each task

Also describe what unit and integration tests will be implemented and performed

You may need additional engineering tasks that do not match one-to-one with your user stories/use cases

Map out a schedule for the next weeks

Be realistic – demo has to been shown before the end of the semester

Page 125: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

125

2nd Iteration Plan (Tips): Requirements

Max 3 pages

Redesign/reengineer your system to use a component framework (e.g., COM+, EJB, CCM, .NET or Web Services)

Select the user stories to include in the new system » Could be identical to those completed for your 1st

Iteration

» Could be brand new (but explain how they fit)

Aim to maintain project velocity from 1st iteration

Consider what will require new coding vs. major rework vs. minor rework vs. can be reused “as is”

Page 126: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

126

2nd Iteration Plan (Tips): Breakdown

Max 4 pages

Define engineering tasks, again try to maintain project velocity

Describe new unit and integration testing

Describe regression testing » Can you reuse tests from 1st iteration?

» If not, how will you know you didn’t break something that previously worked?

2nd iteration report and demo to be presented before the end of the semester

Page 127: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

127

2nd Iteration Report (Tips): Requirements

Max 2 pages

For each engineering task from your 2nd Iteration Plan, indicate whether it succeeded, partially succeeded (and to what extent), failed (and how so?), or was not attempted

Estimate how many user story points were actually completed (these might be fractional)

Discuss specifically your success, or lack thereof, in porting to or reengineering for your chosen component model framework(s)

Page 128: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

128

2nd Iteration Report (Tips): Testing

Max 3 pages

Describe the general strategy you followed for unit testing, integration testing and regression testing

Were you able to reuse unit and/or integration tests, with little or no change, from your 1st Iteration as regression tests?

What was most difficult to test?

Did using a component model framework help or hinder your testing?

Page 129: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

129

Project Presentation and Demo

All Iterations Due

Presentation slides (optional)

Page 130: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

130

Assignments & Readings

Readings

Slides and Handouts posted on the course web site

Textbook: Part Two-Chapters 6-8

Individual Assignment (assigned)

See Session 5 Handout: “Assignment #2”

Team Project #1 (ongoing)

Team Project proposal (format TBD in class)

See Session 2 Handout: “Team Project Specification” (Part 1)

Team Exercise #1 (ongoing)

Presentation topic proposal (format TBD in class)

Project Frameworks Setup (ongoing)

As per reference provided on the course Web site

Page 131: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

131

Any Questions?

Page 132: Software Engineering Session 8 Main Theme Business Model … · 2017-01-19 · » Handout 30 – OMG’s BPMN Resource Page » Handout 31 – BPMN 1.0 Specification » Handout 32

132

Next Session: From Analysis and Design to Software Architecture