Upload
poorna-chandra-garalapati
View
214
Download
0
Embed Size (px)
Citation preview
8/6/2019 ICTE11-FunctionalArchitecture
1/66
FunctionalArchitecture
Session 9
Course Informatics Business
Prof.dr. Sjaak Brinkkemper
8/6/2019 ICTE11-FunctionalArchitecture
2/66
Contents
What is architecture? Design structures in architecture Functional Architecture
Enterprise Function DiagramsDecompositionPositioning
Reference Architectures Creating a Functional Architecture
8/6/2019 ICTE11-FunctionalArchitecture
3/66
Architecture
Definition:AnArchitecture is a high-level decomposition of asystem into major components together with acharacterization of the interaction of the components(van Vliet 2000)
Purpose:1. Communication among stakeholders
Architects, Product Mgrs, Software Engineers, Testers,Sales&Marketing, Consultants, Customers
2. Capturing design decisionsRationale for later reference
3. Transferable abstraction for reuseGeneralized constructs to be applied in other contexts
8/6/2019 ICTE11-FunctionalArchitecture
4/66
Types of architecture
Functionele architecture: usage perspective Enterprise architecture Application architecture
Technical architecture: development perspective Software architecture Component architecture System architecture
Data architecture
Data flow architecture Examples of different architectures on the next
slides
8/6/2019 ICTE11-FunctionalArchitecture
5/66
Functional architecture BaanERP
Manufacturing
MES
Scheduler
PDM
TQM
Distribution
RoutePro
BidPro
TransPro
Designer
Planning
Planner
DemandPlanner
Order
Promising
Service
E-Service
E-ServiceRemote
ServiceScheduler
Apropos
Enterprise Professional
Collaboration PortalBusiness
IntelligenceERP
Sales
E-Sales
SalesPoint
SalesPlus
Configuration
8/6/2019 ICTE11-FunctionalArchitecture
6/66
High level technicalarchitecture
User Interface Driver
ApplicationLogic
OtherApplicationMiddle-
ware
Data Access Layer
DBMS Driver
Database
ManagementSystem
User Interface
Win-XP, Browser, X-Windows, even ASCII
IBM DB-2, Oracle, MSSQL Server, Informix
8/6/2019 ICTE11-FunctionalArchitecture
7/66
Bus
Software architecture
ERPDatabase
SubscriptionRepository
Business Object
Synchro-nization
Server
AuditTrail
DAL
DAL2
DAL2
Sub-scription
Layer
Interface
User Interface
BORLayer
Interface
ERP ServerAdapter
BusinessObject
Repository
BOI imple-mentation
Business
ObjectLayer
Inter
face
ERP Client
Adapter
BOI imple-mentation
BOI imple-mentation
BOIproxy
SCM /CRM /
PLM /
E-E /
ClientAdapter
JamesServer
Adapter
BOIproxy
BOI imple-mentation
OpenWorld
ERP
Public method
Protected method
QCDDCD
8/6/2019 ICTE11-FunctionalArchitecture
8/66
8/6/2019 ICTE11-FunctionalArchitecture
9/66
Component Architecture
8/6/2019 ICTE11-FunctionalArchitecture
10/66
Diag. Name tiascDiag. Desc. Module - Assembly ControlDiag. Version tiB51aModification Date26-11-1999Assembly Line
Status (tiasc720) Utilization perCritical OptionCombination(tiasl310)Line Utilization(tiasl300)
Assembly Lines(tiasl130)Calendar Codes
(tcccp010)ExchangeableConfigurations(tiasl230)Line Sequences
(tiasl400)Employees(tccom001)
Line Segments(tiasl140) Line Rules (tiasl170)
Option Combinations(tiasl110)
Option CombinationLists (tiasl111)
FinancialTransactions(tiasc710)
Line Segments byAssembly Line
(tiasl141)Line Rules by LineSegment (tiasl171)
Cost Components(tcmcs048)Currencies(tcmcs002)
Option CombinationExpressions (tiasl160)
Option Combination Lists- Option Combinations
(tiasl165)
has
foris for
is planner for
is forhashas
placement
refers toAssignments(tiasc510)is for
is for refers to
has calculation officeuses operation cost
componentuses material costcomponentuses overhead cost
componentis part of
blocksblocks or clusters
FromTo
is foris for
is critical inis refered to in
Data Architecture
8/6/2019 ICTE11-FunctionalArchitecture
11/66
Data Flow Architecture
Device interfaces
Data banker
Shared services
Function drivers Filter behaviors
Physical models
sensor inputs
computed values stored values
computed values
storedvalues
valuesto display
filteredvalues
sensorvalues
calculatedreal-world
values
Pilot, external world
8/6/2019 ICTE11-FunctionalArchitecture
12/66
Contents
What is architecture? Design structures in architecture Functional Architecture
Enterprise Function DiagramsDecompositionPositioning
Reference Architectures Creating a Functional Architecture
8/6/2019 ICTE11-FunctionalArchitecture
13/66
What makes a goodarchitecture?
8/6/2019 ICTE11-FunctionalArchitecture
14/66
What makes a goodarchitecture?
Architecture is a premier key to the success ofa product
Good architectures survive many releases New functionality can easily be incorporated Elegancy of a product is reflected in the elegancy of
the architecture
What makes a good design? SAP R3, Google, MS Windows, Linux, No scientific evidence of good architectures Some evidence for other domains: electronics,
building, civil engineering
8/6/2019 ICTE11-FunctionalArchitecture
15/66
Influences on architecture
Requirements of productFunctionalityTechnical context
Development organization and historyEarlier versionsOther systems
Background and expertise of architect Technical environment
Design tools availableDevelopment platform
8/6/2019 ICTE11-FunctionalArchitecture
16/66
Design structures
Design structures for the functional architecture
A. Modularity: structure and flexibility What are the modules? For now and for in the future?
B. Variability: multiple platforms and products What variability is to be distinguished? Both technical and functional In which modules resides the variability?
C. Interoperability: interfacing externally What interfaces are needed? Standards or dominant players available? Positioning of interfaces in architecture?
Discuss these on a beamer
8/6/2019 ICTE11-FunctionalArchitecture
17/66
Example: Technical modularity
Windows UI Module
Application Module
A. Single UI platform
Generic UI Module
Application Module
UI Driver Module
UI Windows UI GSM UI PDA
B. Multiple UI platforms
8/6/2019 ICTE11-FunctionalArchitecture
18/66
Example: Functional modularity
WarehousingModule
Manufacturing
Module
A. Single Warehousing scenario
Generic WH Module
Manufacturing
Module
WH scenario Module
Retail Factory outlet Distributor
B. Multiple Warehousing scenarios
8/6/2019 ICTE11-FunctionalArchitecture
19/66
Contents
What is architecture? Design structures in architecture Functional ArchitectureEnterprise Function Diagrams
Decomposition
Positioning
Reference Architectures Creating a Functional Architecture
8/6/2019 ICTE11-FunctionalArchitecture
20/66
Product Software Architecture
1.Functional Architecture Enterprise Function Diagram Feature Model
2.Technical Architecture use techniques from other courses UML software architecture
8/6/2019 ICTE11-FunctionalArchitecture
21/66
Functional Architectures
A functional architecture is an architectural model froma usage perspective
So the functional architecture should resemble theenterprise functions of the customer organisation orcustomer context
Names ofmodules should resemble the names ofenterprise functions
Flows in functional architecture resemble the interactionsin the customer domain
Standard functional architecture is called ReferenceArchitecture
More theory on enterprise models is presented in thecourse Enterprise Architecture
8/6/2019 ICTE11-FunctionalArchitecture
22/66
Enterprise Function Model
Enterprise Function ModelAn Enterprise Function Model is the representation ofthe primary process of an enterprise, consisting of itsphysical and administrative functions
The Enterprise Function Model also helps to: identify the main enterprise functions show the interaction of the enterprise functions create a clear overview of the enterprise as a whole
EFD: Enterprise Function Diagram
8/6/2019 ICTE11-FunctionalArchitecture
23/66
Example of EFD
Production
Requirements Planning
Pur-chase
Sales
Receipt &Goods
ManufacturingPacking &Shipping
invoice
customerrequest
sales order forplanningmaterial
plan
production plan
progress
purchase
order
production
mfg schedulesreceived
goods
picking
listshipment
order
sign off
Production planning ina manufacturing company
Enterprisefunction
Interaction
8/6/2019 ICTE11-FunctionalArchitecture
24/66
Functional Architecture
Production
Requirements Planning
Pur-chase
Salesinvoice
customerrequest
sales order forplanningmaterial
plan
production plan
progress
purchase
order
production
mfg schedulesreceived
goods
picking
listshipment
order
sign off
Simple ERP formanufacturing industry
Module
InformationflowProduct
scope
8/6/2019 ICTE11-FunctionalArchitecture
25/66
FA on module level: Sales
Sales PriceManagement
Sales Invoicing
order request
sales contract
sales order ready
for assembly
Sales Contract Mgmt
sales invoices
sales quotationorder request fromdelivery schedule
sales order ready forcommission& rebate
control
order request
from quotation
Commission & RebateControl
sales order readyfor financial settlement
sales prices/discounts
sales prices/discounts available
Sales Quotation Mgmt
Sales Order Mgmt
Sales
commissions & rebates
Sub-module
Module
scope
8/6/2019 ICTE11-FunctionalArchitecture
26/66
ProcurementManagement
Purchase OrderManagement
Receipt & Inspection
suppliers
plannedpurchase orders
purchase contractsand inquiries
purchase orders
purchase orderconfirmation
rejected items
purchase items
Purchase
purchase volumes
Purchase
purchaseorders
8/6/2019 ICTE11-FunctionalArchitecture
27/66
Enterprise Functions
What is an Enterprise function?Definition: An enterprise function is a collection ofcoherent
processes, continuously performedwithin an enterprise andsupporting its mission
Examples:Purchase Order ManagementRequirements PlanningSupplier Contract ManagementShop Floor Control
The supportive analogue of an Enterprise Function in asoftware product is a module
Naming standards: Use substantivised nouns: Planning in stead of Plan Precise, determining terms known in the business domain Name is Capitalized
8/6/2019 ICTE11-FunctionalArchitecture
28/66
Identifying Functions (2)
Function Typology
Life cycle stadium of a product or service:Specification, Design, Manufacturing, Distribution
Supporting resources:Human Resource Management, Facility Management
Control and planning of the company core activities:Administration, Finance, Credit Control
Usually two levels are enough for Functional Architectures
8/6/2019 ICTE11-FunctionalArchitecture
29/66
Notation for FunctionalArchitectures
Module or Sub-module Color is used for categorization Capitalized
Information flow all lower case
Product/Module scope module name in corner
Scenario as overlay on FA
Sales
sales order
Sales
8/6/2019 ICTE11-FunctionalArchitecture
30/66
Sales Order Management
Assembly
Control
Pack & Ship
Control
assemblyorder
shop floor ordershop floor
order executed
packing & shipping
control executed
packing & shippingtransfer
assembly order
executed
shipping
executed
shippingorder
new sales order
sales order executed
Final
Assembly
Packing &
Shipping
Scenario overlay
componentsfinished goods shipment
8/6/2019 ICTE11-FunctionalArchitecture
31/66
Production OrderControl
PickControl(Prod.)
ReceiptControl(Prod.)
Assembly
Sales Order Fulfillment
Sales Order Request Definition
ProductionOperation
Control
Packing
Assembly Scheduling
sales order
PickControl(Sales)
PackingControl
ShippingControl
Shipping
fulfilledsalesorder
Identification of interfaces
8/6/2019 ICTE11-FunctionalArchitecture
32/66
Contents
What is architecture? Design structures in architecture Functional ArchitectureEnterprise Function Diagrams
Decomposition
Positioning
Reference Architectures Creating a Functional Architecture
8/6/2019 ICTE11-FunctionalArchitecture
33/66
Decomposition
What is a process?A business process is an activity of which theexecution can be described in terms ofneededanddelivereddata and of which the start and endcan be
determined.
A process is the WHAT a company does Not HOW it is being done.
receive
order
stock
product
details
order detailsorder
rejected
order
8/6/2019 ICTE11-FunctionalArchitecture
34/66
Functions versus Processes
Examples of Processes:accept order
create delivery schedule
receive payment
pay employeeverify customer credit rating
Lower level of detail compared to a function No realization (how) information The supportive analogue of a process in a
software product is a feature
Processes are modeled in the Feature Model
8/6/2019 ICTE11-FunctionalArchitecture
35/66
Functional Decomposition
The modules in afunctional architecture aremodelled in 2 or 3 layers
At the lowest level themodule provides supportfor processes
The lowest level modulesare elaborated in a featuremodel
F1 F2
F3 Fn
F11 F12
F13
Fn1 Fn2
Fn3 Fn4
P1
P2
P3
P4
8/6/2019 ICTE11-FunctionalArchitecture
36/66
Example: Authoring tool
Editing Checking
DocumentMgmt
Printing
File Mgmt
Conversionand recovery
AuthorManagement Printer
handlingPreviewing
Papersetting
Permission
Handling
Open file
Save file
Save file as
Convert fileSend file to
Select Printer
Find Printer
Set Default Printer
.
8/6/2019 ICTE11-FunctionalArchitecture
37/66
Features
Feature models are a modeling tool for the process
functionality in a software product.
See: Matthias Riebisch Towards a more Precise Definition of Feature
Models - Modelling Variability for Object-Oriented Product Lines.
BookOnDemand Publ. Co., Norderstedt, 2003. pp. 64-76.
8/6/2019 ICTE11-FunctionalArchitecture
38/66
Feature models
File Mgmt
Conversionand recovery
AuthorManagement
PermissionHandling
Save file
Open file
Save file as Convert file Send file to
Saving File exchange
8/6/2019 ICTE11-FunctionalArchitecture
39/66
Contents
What is architecture? Design structures in architecture Functional ArchitectureEnterprise Function Diagrams
Decomposition
Positioning
Reference Architectures Creating a Functional Architecture
8/6/2019 ICTE11-FunctionalArchitecture
40/66
Positioning
Execution progress
Control
8/6/2019 ICTE11-FunctionalArchitecture
41/66
Hierarchical positioning
Strategic modules (management)
Tactical modules (control)
Operational modules (execution)
Supportive modules (platform)
8/6/2019 ICTE11-FunctionalArchitecture
42/66
Sequential positioning
Inputmodules
Processingmodules
Outputmodules
3rdParty
Products
3rdParty
Products
8/6/2019 ICTE11-FunctionalArchitecture
43/66
SuperpositioningInput
modules
Processing
modules
Output
modules
3rdParty
Products
3rdParty
Products
Strategic modules (management)Plan
Source Deliver
Tactical modules (control)Control
Operational modules (execution)Processing
Supportive modules (platform)Supportive
8/6/2019 ICTE11-FunctionalArchitecture
44/66
Module positioningInput
functions
Processing
functions
Output
functions
3rdParty
Products
3rdParty
Products
Strategic functions (management)
Tactical functions (control)
Operational functions (execution)
Supportive functions (platform)
8/6/2019 ICTE11-FunctionalArchitecture
45/66
Contents
What is architecture? Design structures in architecture
Functional ArchitectureEnterprise Function DiagramsDecomposition
Positioning
Reference Architectures Creating a Functional Architecture
8/6/2019 ICTE11-FunctionalArchitecture
46/66
Reference Architectures
A Reference Architecture is a genericfunctional architecture for software products ina particular line of business
Purposes:
Expressing complete functional coverage in line of business Indication of the variability of a product Indication of the technical quality of a module Identifying market growth options and roadmap Positioning with 3rd party productsSources on the web, e.g.:
Supply Chain Operations Reference (SCOR), see www.supply-chain.org
8/6/2019 ICTE11-FunctionalArchitecture
47/66
ITIL models
8/6/2019 ICTE11-FunctionalArchitecture
48/66
Cobit
Control Objectives for Information and related Technologies (COBIT)
8/6/2019 ICTE11-FunctionalArchitecture
49/66
Quality Indication
Technical Quality
Key:
Differentiator
Good
Weak
Opportunity
8/6/2019 ICTE11-FunctionalArchitecture
50/66
Variability Indication
Business Typology
Key:
Real Estate
Facility Mgmt
Both
8/6/2019 ICTE11-FunctionalArchitecture
51/66
8/6/2019 ICTE11-FunctionalArchitecture
52/66
Care Business Management
Demand Planto be defined
Budget &Plan
Monitoring
Internal BudgetCreation
Resource PlanDefinition
Resource Planning
Demand PlanDefinition
Contracts
DemandForecastDefinition
Demand Planto be defined
Internal Budgets
Resource Plan
Internal Budgetsto be defined
Demand Plan
CareBusiness
Management
Internal Budgets
FinancialAdministration
FinancialBusiness Calculation
Investmentinformation
CCPC
Internal Budgetsto be Changed
Care Planning & Budgeting
8/6/2019 ICTE11-FunctionalArchitecture
53/66
Contents
What is architecture? Design structures in architecture
Functional ArchitectureEnterprise Function DiagramsDecompositionPositioning
Reference Architectures Creating a Functional Architecture
C ti F ti l
8/6/2019 ICTE11-FunctionalArchitecture
54/66
Creating a FunctionalArchitecture
1.Determine scope2.Define request - feedback flows3.
Model the operational module flow
4.Add control and monitoringmodules
5.Specify external to/ from internalinteractions
8/6/2019 ICTE11-FunctionalArchitecture
55/66
8/6/2019 ICTE11-FunctionalArchitecture
56/66
Example
Sales
CustomerRelationship
Management
Within Scope
Out of Scope
Transportation
Suppose we are architecting a Sales product that will beinterfaced with a CRM system and possibly with aTransportation product.
Step 2: Define request
8/6/2019 ICTE11-FunctionalArchitecture
57/66
Step 2: Define request -feedback flows
Define all request-feedback loopsa. with the the external productsb. between modules and external productsNote: focus just on essential interactions; those
interactions related to the main functionality of theproduct
8/6/2019 ICTE11-FunctionalArchitecture
58/66
Request - Feedback
Flows usually appear in apair:
a combination of aRequest and
a return arrow thatrepresents theFeedback of the result.
This construction is calleda Request Feedbackloop.
EnterpriseFunction A
EnterpriseFunction B
requestto befulfilled
fulfilledrequest
8/6/2019 ICTE11-FunctionalArchitecture
59/66
Example
Describe interaction betweenproduct and externalproducts:
E.g. with CRMCRMsales order
delivered sales order
sales quotation
provided sales quotation
sales contract
agreed sales contract
8/6/2019 ICTE11-FunctionalArchitecture
60/66
8/6/2019 ICTE11-FunctionalArchitecture
61/66
ExampleModel operational module flow
Sales
CustomerRelationship
Management
Sales OrderRequest
ChangeMgmt
OrderFulfillment
request
final salesorder
deliveredsales order
Step 4: Add control and
8/6/2019 ICTE11-FunctionalArchitecture
62/66
Step 4: Add control andplanning modules
The operational module flow is controlled byone or more modules
The relation between every operationalmodule and every control module is usually arequest-feedback loop.
On top of these modules the appropriateplanning modules are added.
8/6/2019 ICTE11-FunctionalArchitecture
63/66
ExampleAdd control and planning
Sales
CustomerRelationship
Management
Sales OrderRequest
ChangeMgmt
OrderFulfillment
request
final salesorder
deliveredsales order
SalesControl
SalesPlanning
marginsplans
targets
realisation
8/6/2019 ICTE11-FunctionalArchitecture
64/66
8/6/2019 ICTE11-FunctionalArchitecture
65/66
ExampleSpecify interactions
Sales
CRMSales OrderRequest
ChangeMgmt
OrderFulfillment
request
final salesorder
deliveredsales order
SalesControl
SalesPlanning
marginsplans
targets
realisation
quota-tion
QuotationControl
QuotationRegistration
8/6/2019 ICTE11-FunctionalArchitecture
66/66
Concluding
Enterprise Function Diagrams are a powerfulmodeling tool for a functional architecture ofsoftware products
Assists in the determination of modules Interactions between the modules and the
environment are shown
FA Models are recognized by non-specialistswithout formal training
Can be applied in any type of business: Public sector: health care, governmental Private sector: manufacturing, financial, services,
food and beverage, project industries