1
1
Adaptive Software EngineeringG22.3033-007
Session 9 - Main ThemeBusiness Model Engineering (BME)
Dr. Jean-Claude Franchitti
New York UniversityComputer Science Department
Courant Institute of Mathematical Sciences
2
Agenda
ReviewBusiness Process ModelingCapturing the Organization and Location AspectsDeveloping a Process ModelBusiness Process ManagementModel Driven ArchitecturesWorkflow Support TechnologiesBusiness Model Engineering Frameworks BME Advanced TopicsSummary
(Individual) Assignment #6Project (Part 3) ongoing
2
3
Summary of Previous Session
Towards Agile Enterprise Architecture ModelsBuilding an Object Model Using UMLArchitectural AnalysisDesign PatternsArchitectural PatternsArchitecture Design Methodology
Achieving Optimum-Quality ResultsSelecting Kits and FrameworksUsing Open Source vs. Commercial Infrastructures
SummaryIndividual Assignment #5Project (Part 3)
4
Part I
Review
3
5
Extreme Programmingand
Agile Modeling
http://www.agilemodeling.com/essays/agileModelingXP.htm
6
Overall XP Process(review)
System
New requirements
Requirements gathering
Stories
Acceptance test scenarios
Planning Game
Start
Iteration ReleaseCode
Failed tests
Not completed acceptance testsNot completed tasksNew velocity estimate
Stories to implement
4
7
Agile Model-Driven Development Lifecycle(review)
8
eXtreme Programming (XP) Map http://www.extremeprogramming.org
5
9
XP Project Lifecycle
10
XP Iteration Planning
6
11
Agile Modeling & XPhttp://www.agilemodeling.com/, http://www.agilemodeling.com/resources.htm
• Practices-based software process whose scope is to describe how to model and document in an effective and “agile” manner
• One goal is to address the issue of how to apply modeling techniques on software projects taking an agile approach such as:– eXtreme Programming (XP)– Dynamic Systems Development Method (DSDM)– SCRUM– etc.
• Using modeling throughout the XP lifecycle– http://www.agilemodeling.com/essays/agileModelingXPLifecycle.htm
12
“Agile” Methodologies
See Agile Project Development Methodology at Work:http://www.thoughtworks.com/library/agileEAIMethods.pdfhttp://www.thoughtworks.com/library/newMethodology.pdf
7
13
Service-Oriented Architectures
14
Structured Applications Design TipsReuse: should focus on Domain Models/System Family ArchitecturesApplications should separate the various information elements (i.e., content, logic, style, and architecture/handling schemes)Various content formats: presentation, message, storage, etc.Application architecture supports:
Web Enabling (WE), XML Enabling (XE), Data Enabling (DE), Enterprise System Assurance Enabling (ESAE)
Various application support services to support:Interactions with users via content (content + logic) - WEEncoding of user requests as secure (portable) messages (content generation) -XE/ESAEProcessing of user requests via logic (content + logic) - XERendering of content via logic using style (content + style + logic) - WE/XEQuerying information via logic (content + logic) - XE/DEInteractions with back office via content (content + logic) - XE/ESAE
8
15
Generic Architecture Blueprint+ Architecture Design Methodology + Mgmt
XML Application Infrastructure(logic)
XML Application Services(logic)
Applications of XML(structured content/object data, style information)
Technology Infrastructure(hardware platforms)
XML Applications(logic) Logical View Implementation View
Process View Deployment View
Use CaseView
Use CaseView
Applications Of XML
Structure
Style
XMLApplications
Content
Management
Processing
Querying
Rendering
Applicationand
Technology Infrastructure
Additional Services
16
Sample Conceptual Architecture Diagram(e.g., virtual classroom environment)
Technology Infrastructure (OS and hardware)
XML Application (logic )
XML Application Infrastructure (logic)
Applications of XML (content/style) XML Application Services (logic )
Legend
Presentation Enabling(posting, querying, locating, viewing)
SMIL
JSP Engine / SMIL Viewer (processing, rendering)
Web Community Avatar-Based Chat Platform
Web-Based Infrastructure(lightweight client machines, server platforms)
Q&A Enabling (questions capture, integration, viewing)
XLF
3rd Party Tool
SMILAuthoring
Tool
XLF Processing/Rendering
XML POP Framework (processing, rendering)
XMLAuthoring
Tool
9
17
Investigating Logging Infrastructure(e.g., virtual classroom environment)
18
Refined Application Architecture Blueprint(e.g., virtual classroom environment)
Users—
Sales TradiDesk
UserInterfaces
ClientAdministrator
Marketing
Client
Support
Phone
PDA
Connectivitye-Business
Portal e-Business Services
Data Repositories
Legacy Systems
Web
Visitor
VPN
Facilitator
FacilitatorAdministrator
UserData
LegacyDatabases
XML-Based Application Data
Back-OfficeSystems
Component Manager
XML/WebEnablingFacilities
10
19
Mapping Application to App. Infrastructure
Business Constraints
Application ModelContent Model
Web Interface
Data ModelLogical Data
PrinciplesAssumptions
Constraints
PresentationNavigation
Look and Feel
Business modelOrganization
Location
Process
Logical Application ModelExecution &
MarketSystems
EFIExecutionSystems
FXExecutionSystems
MarketSystems
Core Components
ServicesEvents
Externalization
Licensing
Messaging
Naming
Persistence
TransactionSecurity
Common Facilities
Backup /Recovery
Channels
ErrorHandling
XML POP
Help XML MOM
Monitoring
PerformanceTuning
Query / Search
Reporting
SystemAdmin
Domain SpecificClient API
EFI ExecutionInterface
FX ExecutionInterface
MarketInstrument
Reference data
Markets
Portalinterfaces
Client Handler
Client to Corecomponents
Handler
Global Front EndSystem
ClientInterface
Components
Technology Infrastructure Model
Execution &Market
Systems
InstrumentRepository
ForeignExchange
MarketSystems
EuroFixed
Income
Core ComponentsClient Handler
Preferences andOperating
Constraints
Sun E220/Solaris 2.6nC
ipher SSL acceleratorW
ebsphere:- H
TTP svr- servlet engine- jsp engine
Web ServerServlets & JSP
StreamingServer
(https & http)
Sun E220/Solaris 2.6TIBC
O Stream
ing SvrnC
ipher SSL accelerator
Global Front EndSystem
Client ServicesAdministrator
XML, SWIFT, FIX,Email, Fax
ClientWorkstation
System Admin& Support
Sun E420/Solaris 2.6200GB raid5 Disk ArrayiPlanet Enterprise SvrWebtrends
Admin/ReportingServer
Database Server
Sun E4500/Solaris 2.650G
B Disk Array
Sybase 11.9.2
Security &Entitlements Srv
Sun E420/Solaris 2.6enC
omm
erce GetAccess
50GB D
isk ArrayApplicationServer
Sun E420/Solaris 2.6W
ebsphereM
Qseries
20
Sample Logical Architecture Diagram(e.g., virtual classroom environment)
Uni
vers
ity In
tern
et L
AN
Uni
vers
ity In
trane
t WA
N
University Intranet LAN
Professor
Facilitators
Clients
Students
Presentation Enabling:AuthoringPosting
Q&A Enabling:AuthoringPosting
BusinessFunctions Users
NT &Unix
Win2000
IVR
UniversityInternet or
Intranet LANs
UniversityInternet LAN
PBX-Based Service
Connectivity
Facilitator Interfaces
Call Forwarding,Teleconferencing, etc.
Front Office Apps
Ft Off. & Web Apps
Portal Mgmt.Interface
Maintenance Apps
Web-EnabledApplications
Client Interfaces
Telephony-BasedServices
Web-EnabledApplications
"Lights Out" Svcs
XML, Email, Fax
e-BusinessPortal
Integrated Data Architecture Layer
e-Business Services
Front Office Apps
Data Mining
Educational Applications(Custom Java Applications)
Facilitator Application,Channel, and Client/
System Admin Interfaces
Business Intelligence(Customer Analysis, Course Planning)
Customer Care Services(Call Center Support: Educational & Systems)
Personalization Interface
Channels Interface(Browsers, PDAs, WAPs)
Remote Training Interface
Customer Calls Handling(ACD, Flex-Routing, Call Center Mgmt.)
CSR Assisted Services(Product Support, Issue Resolution, Proactive
Account Mgmt.)
Email XMLInterfaces Fax
Internet-Based Services(XML interfaces, Email, Browser)
Collaborative Applications(2D Avatars, Classroom Navigation, Chat, Events)
Real Time Services(Web Channels, Chat, TV Events, etc.)
Collaborative Applications(2D Avatars, Classroom Navigation, Chat, Events)
Voice/Data IntegrationTeleweb / Web Integration Services
(Consolidated Messaging, Telephone-Based WebServices, Video Conf., etc.)
(via VPN)
Software / Global ContentMonitoring / Backup
PBX-Based Services
TeachingAssistant
Presentation Enabling:Authoring
Q&A Enabling:Integration
System Support:MonitoringSystem Admin.Help Desk
FaxbackIVR
Telephony Svcs
NT &Unix
Win2000
UniversityInterne or
Intranet LANs
Front Office Apps
Ft Off. & Web Apps
"Lights Out" Services
Telephony Svcs
PDA/WAP Applications
Win2000
Web Applications Client Interface(Presentation querying, locating, and viewing -
Questions capture and Q&A viewring)
Self Care Services(tutorials, online help)
In scope
Out of scope
Legend:
WAP Server
(via VPN)
Third Party Data
Content-Mgmt Repository
XML-based presentationoriented publishing
templates
Component ManagerApplication Server Back-Office SystemsXML/Web Enabling Facilities
Client Request HandlerSubnet (within DMZ)
Web Server
Servlet Engine
Client Request HandlerFirewall
Component ManagerFirewall
Servlets/JSPs: session hdlr SMIL presentation hdlr Q&A hdlr XML MOM/POP hdlr etc.
Facilitator/Client Admin. Servlets
System Administration Servlets
Legacy Systems
Chat PlatformApplication Logic
Chatroom Component
ChatUser Component
Client & SystemAdministration Component
Entitlement & SecurityComponent
ConnectorsCourse Production Systems)
Support Services
Process Automation &Dynamic Content Mgmt.
Session/State Mgmt.
Site Development Svc.
XML Core Services(Doc Hdlr, Version Manager)
DataWarehouse-DrivenProcessing
Legacy Operational Data
DesktopFilesystems
In Memory Database
Customer ProfilesTime CriticalInformation
Global Application Data Replicas
Business Information Warehouse
Operational Data StoreClient Knowledge Engine
Metadata Repository
XMLMOM & POPTemplates
Educational ResearchEducational News
etc.
SMIL DataXLF Data
Operational Data
Local Account DataEntitlement/Security Data
etc.
JSP Engine
Client Request Handler API
University SystemsFirewall
Client Administration
Login, Authentification,Non-Repudiation
Router
Presentation Enabling:QueryingLocatingViewing
Q&A Enabling:CaptureViewing
Registration Systems
Accounting Systems
Sales/Marketing Systems
Internal Administration
Course Development Systems
Human Resources Systems
Payroll Systtems
Course Production Systems
Proxy Server
Support Systtems
Client Support Systtems(carreer management, alumnirelations, library support, etc.)
Database Management Systems (DBMS)
11
21
Sample Logical Architecture Diagram(e.g., virtual classroom environment)
Facilitators, and Production Interfaces
Component Manager
XML/Web Enabling Facilities
Firewall
Database Server
ApplicationServer
Uni
vers
ity In
trane
t LA
N (d
ual)
Firewall
Firewall
Router
Router
Firewall / IIOP Proxy Server
Tape SiloVeritas NetworkBackup (shared service)
University Mgmt. Firewall
University Systems & Network Management Environment
IntrusionDetection
Connects toall devices below
Security &Entitlements Srv
IntrusionDetection
Intrusion Detection
Internet
UniversityIntranet LAN Professor/TA
HSRP
Sun E220/Solaris 2.6nC
ipher SSL acceleratorApache H
TTP severTom
Cat servlet engine
TomC
at jsp engine
Alteon AC3
Sun E220/Solaris 2.6Checkpoint Firewall-1StonebeatIONA Wonderwall Proxy Server
Sun E220/Solaris 2.6C
heckpoint Firewall-1
Stonebeat
Sun E420/Solaris 2.6W
ebLogic
Sun E4500/Solaris 2.650G
B Disk Array
Sybase 11.9.2
Sun E420/Solaris 2.6enC
omm
erce GetAccess
50GB D
isk Array
Web-EnabledApplications
FacilitatorApplication andClient/SystemAdministration
Interfaces
Students, Professor, and TA Interfaces
Web-EnabledApplications
Clients/FacilitatorsApplication/Admin
Interfaces(e.g.,SOJA Applet)XML, Email, Fax
CollaborativeApplications
(e.g., Chat Applet)
Channels Interface
Sun E420/Solaris 2.6200GB raid5 Disk ArrayiPlanet Enterprise SvrWebtrends
Admin/ReportingServer
LoadBalancers
Web ServerServlets & JSP
Engines
Intrusion Detection
Sun E220/Solaris 2.6Checkpoint Firewall-1Stonebeat
NFR
Flight Recorder
Rem
ote-1N
FR Flight R
ecorderR
emote-1
Client Request Handler
Servlets/JSPs:- session handler- SMIL presentation handler- Q&A handler- Cocoon 2 XML POP handler
NFR Flight RecorderRemote-1
ClientWorkstation
Professor/TAWorkstation
Back-Office Systems
Client Administration
Internal Administration
ProgramAdministrator
Uni
vers
ity In
tern
et L
AN
(dua
l)
Support Services
XML Core Services
Session/State/EOD Mgmt
Dynamic Content Mgmt
Chat PlatformApplication Logic
ChatUser Component
ChatRoom Component
Global Application Data
SMIL DataXLF Data
Operational Data
Content Mgmt. Repository
XML POPTemplates
22
Part II
Business Process Modeling(BPM)
12
23
Section Outline
• Business Process Modeling background• Business Process Modeling Phases
24
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
13
25
What is BPM?
• A standardized approach to analyze, streamline and integrate business processes independent of organizational boundaries, to provide maximum operating efficienciesvia clearly defined business and IS projects
• A business process focused methodology– Not Business Process Reengineering– Led by the business– Facilitated by IS
26
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
14
27
BPM Objectives
• Analyze business processes independent from organization
• Quantify the benefits and savings for each proposed initiative
• Identify opportunities for process eliminationand/or reassignment
• Identify opportunities for business process improvement through automation and optimization
28
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
15
29
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
30
BPM Methodology Phases
Business ProcessModeling
(BPM)
Pre-ProjectAssessment
Business NeedsAnalysis
Current ProcessUnderstanding
New ProcessDesign TransformationProject
Planning
16
31
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
32
Business Needs Analysis
• Define BPM detailed scope– Define project purpose, goals and
objectives– Identify problems to be addressed– Determine key measures
17
33
Current Process Understanding
Develop business process modelsIdentify business process information needsCapture current process metrics and characteristicsIdentify areas of opportunity for improvement
34
New Process Design
• Develop Global Business Function Model– Based on annotated CPU models from
Optimization– Incorporate process improvement opportunities
18
35
Transformation
• Document recommended business initiatives• Produce list of recommended projects• Identify sequence for recommended IS
projects
36
Part III
Capturing the Organization and Location Aspects
19
37
Sample Business Process Map (Trading)
Client
OTCMarket
Clientlogs in
"Personalized" Web Page
SubmitsOrder
Validate Order
Valid
"Not a validorder"
Manual ReviewNeeded
Is this a product in yourinventory or available on
ECN.
No
Route toTradingDesk
Yes
Electronic Trading
Available
NoYes
"Electronicpass
through"
Electronicsubmissionexecution
NonAutomatedExecution
No
MonitorExecution
E-mailConfirmation
ConfirmExecution(price Qty,
Etc..)
Updatecustomeraccount
"Real-timealert"
Is itDomestic
TriggerFXNo
FX Process
Front/BackOffice
ElectronicExecution?
Yes
*
Client
Client Callsin Order
Sales DeskContacts
ClientRecordOrder
No
Yes
Yes
38
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 BusinessProcess
Application
• Implementation Team• Training Team
• Office hosting development
20
39
Part IV
Developing a Process Model
40
UML and Business Process Modeling
See Also:http://umlcenter.visual-paradigm.com/umlresources/exte_11.pdf
http://xml.coverpages.org/ni2003-08-29-a.html
21
41
42
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 interactswith 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.
22
43
A Use Case
WEB
HotelDesk
ReservationSystem
Room Service
<<extends>>
<<extends>>
<<includes>>
John
Markus
Room Reservation
44
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
inputdata
outputdata
event
23
45
46
A UML Business Process Model: Different Views
24
47
48
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.
25
49
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 UMLNotation! Start Trip Cancel Trip
Analyze Weather Info
Weather InfoStart
50
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
ProcureMaterials
Acquire Capital
BuildSubassembly 1
BuildSubassembly 2
FinalAssembly
Not UMLNotation
26
51
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 OrderSelection
Made
DispenseProduct
ReturnChange
Cancel Button Pressed
Not UMLNotation
52
• 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
27
53
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
54
• 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
28
55
Example
POEmployee.sortMail Deliver Mail
POEmployee
sortMail() Check OutTruck
Put MailIn Boxes
Deliver Mail
56
• 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 OutTruck
Put MailIn Boxes
PO Employee Deliver Mail Method
29
57
• 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 concurrencyAction/Subactivity *
58
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]
30
59
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
60
• Inherited from state machines
• Initial state
• Final state
• Fork and join
Coordinating Steps
31
61
Coordinating Steps• Decision point and merge ( )
are inherited from state machines.
• For modeling conventional flow chart decisions.
CalculateCost
ChargeAccount
GetAuthorization
[cost < $50]
[cost >= $50]
62
Coordinating Steps• Synch state ( ) is inherited from state
machines but used mostly in activity graphs.• Provides communication capability between
parallel processes.State machinenotation
Inspect
BuildFrame
InstallFoundation
InstallElectricity
in Foundation
PutOn
Roof
InstallElectricityIn Frame
InstallElectricityOutside
InstallWalls
* *
32
63
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).
BuildFrame
InstallFoundation
InstallElectricity
in Foundation
PutOn
Roof
InstallElectricityIn Frame
InstallElectricityOutside
InstallWalls
Inspect
Activity diagramnotation
64
Convenience Features (Synch State)
• Object flow states can be synch states
Obj[S2]
A11 A12 A13
A21 A22 A23
33
65
Convenience Features
• Fork transitions can have guards.
• Instead of doing this:
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
[else]
66
Convenience Features• 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.
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
Management
Support
Engineering
34
67
• 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
Signal
Coffee Done
Wake Up
Get Cups
Drink Coffee
Turn on Coffee Pot
CoffeePot
Signal
68
Cas
e St
udy
Submission Team Task Force Revision Task Force
Issue RFP
Evaluate initialsubmissions
Submitspecification
draft
Collaborate withcompetitivesubmitters
Developtechnology
specification
partition
action state
RFP[issued]
[optional]
control flow
Finalizespecification
Specification[initial
proposal]
input value
Begin
object flow
initial state
join of controlconditionalfork
fork of control
Specification[final
proposal]
Ada
pted
from
Kob
ryn,
“UM
L 20
01”
Com
mun
icat
ions
of t
he A
CM
Oct
ober
199
9
35
69
Cas
e St
udy
Ada
pted
from
Kob
ryn,
“UM
L 20
01”
Com
mun
icat
ions
of t
he A
CM
Oct
ober
199
9
Evaluate initialsubmissions
Evaluate finalsubmissions
Vote torecommend
Enhancespecification
Implementspecification
Revisespecification
Finalizespecification
Specification[final
proposal]
Specification[adopted]
Recommendrevision
Specification[revised]
[NO][YES]
[else] [Enhanced]
decision
final state
guard
Collaborate withcompetitivesubmitters
70
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).
36
71
Activity Diagram Modeling Tips
• 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).
72
Activity Diagram Modeling Tips
RequestReturn
Get ReturnNumber
Ship Item
Item[returned]
ReceiveItem
RestockItem
CreditAccount
Item[available]
Customer Telesales WarehouseAccountingFrom UMLUser Guide:
37
73
Act
ivity
Mod
elin
g T
ips Request
ReturnGet Return
Number
Ship Item
Item[returned]
ReceiveItem
RestockItem
CreditAccount Item
[available]
Customer Telesales WarehouseAccounting
74
Activity Diagram Modeling Tips• 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.
38
75
Activity Diagram Modeling Tips
Well-nested:
76
Not well-nested:
Apply structured coding principles. (Be careful with goto’s!)
Activity Diagram Modeling Tips
39
77
Activity Diagram Modeling Tips
Can be translated to well-nesteddiagram on earlier slide:
78
Business Process Modeling Notation (BPMN)
and BPML / BPEL4WS
See also:(BPMN standards)
http://www.bpmi.orghttp://www.processwave.net/Articles/SoftwareProcess/BusinessModelingArticles.htm
http://cde.berkeley.edu/resources/bpmn/(BPMN tools)
http://www.popkin.com/http://www.popkin.com/customers/customer_service_center/demos/business/bpmn_tutorial_viewlet_swf.htmlhttp://www.popkin.com/customers/customer_service_center/demos/demos_with_overview_process_map.htm
40
79
Procedural Knowledge Road MapType of
knowledge/Levels
Conceptual model Deploymentmethodology
Interoperability
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
80
ICONS’ conceptual models
• Process definition concepts - WfMC’sworkflow 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
41
81
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
82
Process definition - an example
42
83
Possible process execution
84
Part V
Business Process ManagementSee: http://www.ebpml.org/technoforum_2003_b_eng.ppt
43
85
Part VI
Model Driven ArchitecturesAlso See http://www.omg.org/mda
86
Model Driven Architectures (MDA)
MDA Technology Relies on:UML, MOF, and CWM
Applications Based on MDA are Platform IndependentImplementations/Realizations can be Targeted to Any Application Server Platform
XML-Based Web-Enabled/Web Services-Enabled Platforms
Based on CORBA, J2EE, Microsoft
44
87
UML’s Business Engineering Methodology
Business Model/ArchitectureUse Case View/Model
Application Model/ArchitectureLogical and Process View/Models
Content, Data, and Process Model (e.g., OIM’s knowledge management, and database/datawarehousing models)
Application Infrastructure Model/ArchitectureImplementation View
Component Model (e.g., OIM’s component and object model)
Technology Model/ArchitectureDeployment View/Model
88
UML and Modeling Methodologies
UML: object modelingXML: content modelingORM: data modeling
45
89
Towards XML Model Based Computing(review)
Step 1: Document Object ModelStep 2: XML Data BindingStep 3: Standard XML Information ModelsStep 4: XML Application Services Frameworks
Processing, Rendering, Querying, Secure Messaging
Step 5: XML-Based “Web Object Model”Web Services Architecture
Step 6: XML Model Driven Architectures (to come)
90
Current XML-Based Software DevelopmentBusiness Engineering Methodology
Language + Process + Toolse.g., Rational Unified Process (RUP)
XML Application Development InfrastructureMetadata Management (e.g., XMI)XML APIs (e.g., JAXP, JAXB)XML Tools (e.g., XML Editors, XML Parsers)
XML Applications:Application(s) of XMLXML-based applications/services
MOM & POPOther Services
Application Infrastructure Frameworks
46
91
XML Metadata ManagementIssue: UML may not provides enough modeling views and enough expressive power in each view to represent a complete applicationPossible Solutions:
Extend UMLSee OIM’s Analysis and Design Model
Use Different Modeling Languages:See handout on “XML Information Modeling” (uses different models such as UML, XML, and ORM)
Use a Meta-Model: MOF and XMISee handouts on “UML, MOF, and XMI” and “OMG’sXML Metadata Interchange Format (XMI)”
92
Open Information ModelAnalysis and Design Model
Unified Modeling Language (UML) - uml.dtdUML Extensions - umlx.dtdCommon Data Types - dtm.dtdGeneric Elements - gen.dtd
Components and Object ModelComponent Description Model - cde.dtd
Database and Warehousing ModelDatabase Schema Elements - dbm.dtdData Transformation Elements - tfm.dtdOLAP Schema Elements - olp.dtdRecord Oriented Legacy Databases - rec.dtd
Knowledge Management ModelSemantic Definition Elements - sim.dtd
47
93
XML Support for UML Modeling
Meta Object Facility (MOF)CORBA Common Facility for the Management of Meta Information such as UML Models, Database Schemas, Programming Language Types, etc.
XML Metadata Interchange (XMI)Enables interchange of metadata between modeling toolsDevelop models using Rational Rose or Java, and the XMI toolkitUse Objects by Design xmi-to-html.xsl style sheet and Cocoonframework to present the resulting model
94
MDA Development Approach
48
95
Sample MOF MetaModel
96
Sample MOF MetaModel(continued)
49
97
MOF to XML Mapping
98
Simplified UML XMI DTD
50
99
MDA
• OMG's MDA (Model-Driven Architecture) specification describes:– a PIM - Platform-Independent Models (i.e.
business design)– PSMs - the mapping of a PIM to one or more
Platform-Specific Model • MDA => Model Once, Generate
Everywhere• Review MDA presentations:
– http://www.io-software.com
100
MDA(continued)
UML Model (PIM)
AutoColor : StringDoor : IntegerEngine : Integer
<Auto><Color> Red </Color><Door> 4 </Door><Engine> 2 </Engine>
</Auto>
XMI Document (PSM)
XMI
<!Element Auto(Color*,Door*,Engine*)>
XMI DTD, Schema (PSM)
XM
I
MO
F
interface Auto{};
IDL, Java… (PSM)
Class Auto{public String color;public int Door;public int Engine;}
51
101
Vision
102
Business Component Marketplace
• The business component marketplace is projected to be a 10b market in 5 years
• Consider the value of XML components that wrap popular legacy
• New application functionality built from components
• Components for integration and transformation• XML and web services makes an excellent basis
for such components• Technology components, such as for repositories
and DBMS
52
103
OMG Model Driven Architecture
• High level – platform independent models
• Technology Models• Mapping
– Custom– Standard
• Standard Models produce technology specific standards artifacts
104
Automated Model Driven Architecture
Profile(E.G. EDOC)
Framework &Infrastructure
(E.G. XML)
InfrastructureMapping
(E.G. XML)
Mapping is tunedto the infrastructure
ToolsProduce &Integrate
EnterpriseComponents
UMLDesign
53
105
Technology Independence
BusinessLogic
ComponentebXml
BusinessLogic
ComponentBizTalk
BusinessLogic
ComponentRosetaNet
BusinessLogic
ComponentEjb
Adapters
EJB
BusinessLogic
Component
ebXml
BizTalk
RosetanetXML
Adapters
CICS
EJB
MQ
CorbaXML
106
High level tooling & infrastructure
• MUST BE SIMPLE!– We must be able to create better applications
faster – We must separate the technology and business
concerns, enable the user• Tooling + Infrastructure
– Executable models are source code– Tooling must be technology aware– Infrastructure must support tooling, not manual
techniques• Model based component architectures
54
107
High level tooling & infrastructure
Executable Models
108
Model Driven Development Tool(http://www.sygel.com/)
55
109
Part VII
Workflow Support TechnologiesSee http://www.wfmc.org/
110
Workflow Reference Model
56
111
Part VIII
Business Model Engineering Frameworks
112
Solution: Re-engineering the “Vision”
SolutionArchitecture
Vision andObjectives
BusinessModel
57
113
Business Model Engineering Context
• Focus on Architectural IDEs• No Support for Business Model
Reengineering• Limited Applications to IT Outsourcing
114
The first level of automation. ~30 Years
Environment
Programming IDEs (e.g. JBuilder, Visual Age, NetBeans)
Programming Language
•Higher levelof expression
•Easier to understand
•Portable•Standardized
PIM
Diverse HW/OS PlatformsPSM
Compiler Engine
•Dependable•Flexible•Configurable•Optimizing•Complete:
Linker, Debugger,Etc.
Generator,Projection
58
115
MDA= New automation levels ~ Last 8 Years
Environment
Generator Engine
•Dependable•Flexible•Configurable•Debuggable•Optimizing•Complete
Architectural IDEs
Model (UML, BOM…) &Modeling Style (J2EE, eEPC, COBOL, .NET…)
•Higher levelof expression
•Easier to understand
•Portable•Standardized
PIM
PSM
Generator,Projection
P-Stack: A Level of Automation
Models to CodeModels to Models
116
Towards a Holistic IT-Architecture Platform
Core Modules
Rational Rose Programming IDE
MDA Cartridges
PatternRefinementAssistant
UMLRefinementAssistant
Build,Deploy & Test
Support
BEA WebLogic
IBM WAS NT, z/OS
J2EE/EJB, .NET
Borland, JBoss
Oracle, IONA
BusinessObject
Modeler
IDS ARIS
MDA-EngineEngine
with Meta IDE
Open MDA/UML/XML Repository
Optional integrated Tools
Std. MDA Projections
Architect Edition adds support
forcustom infrastructure
MDA-Cartridge IDE & MDA Engine
59
117
Third Party Business Modeling IDEs
118
The Meta-Tools Solution
• Focus on Architectural Layers• Meta-Tools for Model Driven Architectures
60
119
Initial Focus on Architectural Layers
Technology Infrastructure
Application Infrastructure
Application Suite
Business Architecture
120
Meta-Tools For Model Driven Architectures
User & BusinessModels
I nfr
astr
uctu
reA
p pl ic
a ti o
n
AbstractConcrete
DomainIndependent
DomainDependent
Domain
Preferences
Application
Analysis
Analysis
Application Model- Data Model- Business Model- Content Model
Technical Solution Development
TechnicalSolution
Development
TechnicalSolution
Development
ArchitecturalStyles
DomainModelsApplication:
- Data- Business Logic- Content (Screens)
KITS
Frameworks
Concrete CostsInitial Costs
Abstract Costs
Concrete Costs
Conceptual
InfrastructureLogical
- NT/ UNIX- Application Server
- Transaction Processing- Persistence- etc.
Abstract Costs
Technology& Software
Proposal End Point
TechnicalSolution
Development
Application Production(Approach/ Assembly/
Delivery)
Domain Analysis UserInformationGathering
Use
rIn
form
ati o
nG
athe
ring
(Bus
ines
s,U
s er ,
Us a
bil it
y,P
refe
ren
ces
Questions ?
InformationNot Specific
to Domain
Questio
ns ?
Taxonom
y
DomainSpecific
Information
As information is collected, work effort,estimates and solution becomes concrete
Questions ?
Questions ?
Infrastructure
PhysicalInfrastructure
Patterns
61
121
Business Model and Model Driven Architecture Engineering Toolkit
Reusable ModelsDatabase
Business ModelEngineering Tool
Business ModelRe-engineering Tool
Business ModelEvolution Tool
Case 1: No Business ModelNo existing application
Case 2: Business ModelNo existing application
Case 3: Business ModelExisting application
ReusableComponents
Database
Analyzer
Generator
ApplicationApplication InfrastructureTechnical Infrastructure Spec
122
Business Model Engineering Portfolio and Collateral
• Process Tools– Development Model– Delivery Process
• Process Map Engineering• Information Gathering Instruments• Cost / Time Metrics
• Modeling Markup Language • Reference Models• Evaluation Metrics
62
123
Modeling Markup Language Sample
124
Part IX
Conclusion
63
125
Course AssignmentsIndividual Assignments
Reports based on case studies or exercises
Project-Related AssignmentsAll 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 consists 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.
126
Course ProjectProject 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.
64
127
Readings
ReadingsSlides and Handouts posted on the course web siteDocumentation provided with software engineering toolsXP Explained (all sections)Agile Software Development Ecosystems (parts I and II)
Project Frameworks Setup (ongoing)As per references provided on the course Web site
Individual AssignmentSee Handouts: “Assignment #6”See Handouts: “Project (Part 3)” (ongoing)
128
Next Session:Building Software
Language and Platform IssuesComponent InfrastructuresPair ProgrammingRefactoringTest Driven Development (TDD)Distributed Development and Agile Methods ScalabilitySummary
(Individual) Assignment #6 (ongoing)Project (Part 4)
Top Related