• No results found

Functional Architecture

N/A
N/A
Protected

Academic year: 2021

Share "Functional Architecture"

Copied!
66
0
0

Loading.... (view fulltext now)

Full text

(1)

Functional

Architecture

Session 9

Course Informatics Business

Prof.dr. Sjaak Brinkkemper

(2)

Contents

What is architecture?

Design structures in architecture

Functional Architecture

Enterprise Function Diagrams

Decomposition

Positioning

Reference Architectures

(3)

Architecture

Definition:

An Architecture is a high-level decomposition of a system into major components together with a

characterization 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 decisions

Rationale for later reference

3.  Transferable abstraction for reuse

(4)

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

(5)

Functional architecture

BaanERP

Manufacturing MES Scheduler PDM TQM Distribution RoutePro BidPro TransPro Designer Planning Planner Demand Planner Order Promising Service E-Service E-Service Remote Service Scheduler Apropos Enterprise Professional

Collaboration Business Portal

Intelligence ERP Sales E-Sales SalesPoint SalesPlus Configuration

(6)

High level technical

architecture

User Interface Driver

Application Logic Other Application Middle- ware Data Access Layer

DBMS Driver Database Management System User Interface Win-XP, Browser, X-Windows, even ASCII

IBM DB-2, Oracle, MS SQL Server, Informix

(7)

Bus

Software architecture

ERP Database Subscription Repository Business Object Synchro- nization Server Audit Trail DAL DAL2 DAL2 Sub- scription Layer Interface User Interface BOR Layer Interface ERP Server Adapter Business Object Repository BOI imple-mentation Business Object Layer Interface ERP Client Adapter BOI imple-mentation BOI imple-mentation BOI proxy SCM / CRM / PLM / E-E / … Client Adapter James Server Adapter BOI proxy BOI imple-mentation OpenWorld ERP Public method Protected method QCD DCD

(8)

Component architecture

Function drivers

Extended computer Application data types

Device interfaces

Data

banker Physical models behaviors Filter

Shared services

Software utilities

(9)
(10)

Diag. Name tiasc

Diag. Desc. Module - Assembly Control

Diag. Version tiB51a

Modification Date 26-11-1999 Assembly Line Status (tiasc720) Utilization per Critical Option Combination (tiasl310) Line Utilization (tiasl300) Assembly Lines (tiasl130) Calendar Codes (tcccp010) Exchangeable Configurations (tiasl230) Line Sequences (tiasl400) Employees (tccom001) Line Segments

(tiasl140) Line Rules (tiasl170)

Option Combinations (tiasl110) Option Combination Lists (tiasl111) Financial Transactions (tiasc710) Line Segments by Assembly Line (tiasl141)

Line Rules by Line Segment (tiasl171) Cost Components (tcmcs048) Currencies (tcmcs002) Option Combination Expressions (tiasl160)

Option Combination Lists - Option Combinations

(tiasl165) has

for

is for is planner for

is for has has placement refers to Assignments (tiasc510) is for is for refers to has calculation office

uses operation cost component

uses material cost component

uses overhead cost component is part of blocks blocks or clusters From To is for is for is critical in is refered to in

Data Architecture

(11)

Data Flow Architecture

Device interfaces

Data banker

Shared services

Function drivers Filter behaviors Physical models

sensor inputs

computed values stored values

computed values stored values values to display filtered values sensor values calculated real-world values

(12)

Contents

What is architecture?

Design structures in architecture

Functional Architecture

Enterprise Function Diagrams

Decomposition

Positioning

Reference Architectures

(13)

What makes a good

architecture?

(14)

What makes a good

architecture?

  Architecture is a premier key to the success of

a 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,

(15)

Influences on architecture

 

Requirements of product

–  Functionality

–  Technical context

 

Development organization and history

–  Earlier versions

–  Other systems

 

Background and expertise of architect

 

Technical environment

–  Design tools available

(16)

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?

(17)

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

(18)

Example: Functional modularity

Warehousing Module

Manufacturing Module

A. Single Warehousing scenario

Generic WH Module

Manufacturing Module

WH scenario Module

Retail Factory outlet Distributor

(19)

Contents

What is architecture?

Design structures in architecture

Functional Architecture

Enterprise Function Diagrams

Decomposition

Positioning

Reference Architectures

(20)

Product Software Architecture

1.

Functional Architecture

Enterprise Function Diagram

Feature Model

2.

Technical Architecture

use techniques from other courses

UML

(21)

Functional Architectures

  A functional architecture is an architectural model from a usage perspective

  So the functional architecture should resemble the

enterprise functions of the customer organisation or

customer context

–  Names of modules should resemble the names of

enterprise functions

–  Flows in functional architecture resemble the interactions

in the customer domain

  Standard functional architecture is called Reference

Architecture

  More theory on enterprise models is presented in the

(22)

Enterprise Function Model

Enterprise Function Model

An Enterprise Function Model is the representation of the primary process of an enterprise, consisting of its physical 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

(23)

Example of EFD

Production Requirements Planning Pur- chase Sales Receipt &

Goods Manufacturing Packing & Shipping

invoice customer request sales order for

planning material plan production plan progress purchase order production mfg schedules received

goods picking list shipment order

sign off

Production planning in

a manufacturing company Enterprise function

(24)

Functional Architecture

Production Requirements Planning Pur- chase Sales invoice customer request sales order for

planning material plan production plan progress purchase order production mfg schedules received

goods picking list shipment order

sign off

Simple ERP for

manufacturing industry Module

Information flow Product

(25)

FA on module level: Sales

Sales Price Management Sales Invoicing order request sales contract

sales order ready for assembly

Sales Contract Mgmt

sales invoices sales quotation order request from

delivery schedule sales order ready for

commission& rebate control

order request from quotation

Commission & Rebate Control

sales order ready

for financial settlement sales prices/discounts sales prices/discounts available

Sales Quotation Mgmt Sales Order Mgmt

Sales

commissions & rebates

Sub-module Module

(26)

Procurement Management

Purchase Order Management

Receipt & Inspection

suppliers planned purchase orders purchase contracts and inquiries purchase orders purchase order confirmation rejected items purchase items

Purchase

purchase volumes Purchase purchase orders

(27)

Enterprise Functions

  What is an Enterprise function?

Definition: An enterprise function is a collection of coherent

processes, continuously performed within an enterprise and

supporting its mission

  Examples:

Purchase Order Management Requirements Planning

Supplier Contract Management Shop Floor Control

  The supportive analogue of an Enterprise Function in a

software product is a module

  Naming standards:

–  Use substantivised nouns: Planning in stead of Plan

–  Precise, determining terms known in the business domain

(28)

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

(29)

Notation for Functional

Architectures

  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

(30)

Sales Order Management

Assembly Control

Pack & Ship Control

assembly order

shop floor order

shop floor order executed

packing & shipping control executed packing & shipping

transfer assembly order executed shipping executed shipping order

new sales order sales order executed

Final Assembly Packing & Shipping

Scenario overlay

components

(31)

Production Order Control Pick Control (Prod.) Receipt Control (Prod.) Assembly

Sales Order Fulfillment Sales Order Request Definition

Production Operation Control Packing Assembly Scheduling sales order Pick Control (Sales) Packing Control Shipping Control Shipping fulfilled sales order

Identification of interfaces

(32)

Contents

What is architecture?

Design structures in architecture

Functional Architecture

Enterprise Function Diagrams

Decomposition

Positioning

Reference Architectures

(33)

Decomposition

  What is a process?

A business process is an activity of which the

execution can be described in terms of needed and

delivered data and of which the start and end can be determined.

  A process is the WHAT a company does

  Not HOW it is being done.

receive order stock product details order details order rejected order

(34)

Functions versus Processes

  Examples of Processes:

accept order

create delivery schedule

receive payment

pay employee

verify 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

(35)

Functional Decomposition

  The modules in a

functional architecture are

modelled in 2 or 3 layers

  At the lowest level the

module provides support for processes

  The lowest level modules

are elaborated in a feature

model F1 F2 F3 Fn F11 F12 F13 Fn1 Fn2 Fn3 Fn4 P1 P2 P3 P4

(36)

Example: Authoring tool

Editing Checking Document Mgmt Printing File Mgmt Conversion and recovery Author Management Printer handling Previewing Paper setting Permission Handling Open file Save file Save file as Convert file Send file to Select Printer Find Printer

Set Default Printer ….

(37)

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.

(38)

Feature models

File Mgmt Conversion and recovery Author Management Permission Handling Save file Open file

Save file as Convert file Send file to Saving File exchange

(39)

Contents

What is architecture?

Design structures in architecture

Functional Architecture

Enterprise Function Diagrams

Decomposition

Positioning

Reference Architectures

(40)

Positioning

Execution progress Control

(41)

Hierarchical positioning

Strategic modules (management)

Tactical modules (control)

Operational modules (execution)

(42)

Sequential positioning

Input

modules Processing modules modules Output

3rd Party Products 3rd Party Products

(43)

Superpositioning

Input

modules Processing modules modules Output

3rd Party Products 3rd Party Products

Strategic modules (management) Plan

Source Deliver

Tactical modules (control) Control

Operational modules (execution) Processing

(44)

Module positioning

Input

functions Processing functions functions Output

3rd Party Products 3rd Party Products Strategic functions (management)

Tactical functions (control)

Operational functions (execution)

(45)

Contents

What is architecture?

Design structures in architecture

Functional Architecture

Enterprise Function Diagrams

Decomposition

Positioning

Reference Architectures

(46)

Reference Architectures

A Reference Architecture is a generic

functional architecture for software products in a 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 products

Sources on the web, e.g.:

•  Supply Chain Operations Reference (SCOR), see

(47)
(48)

Cobit

(49)

Quality Indication

Technical Quality Key: Differentiator Good Weak Opportunity

(50)

Variability Indication

Business Typology Key: Real Estate Facility Mgmt Both

(51)

Insurers Regulators Payers Health Interest Groups Client Supplier External Care Provider Public Health Educational Organization Care Customer Point of Service

Client Care Process Control Planning & Budgeting

Financial Administration Quality

Care Business Management

Client Order Management

Intake Observation Interpretation Intervention End of Episode of Care

Resource Allocation

Human Resource Mngt / Payroll Service Management Materials Management Customer Request Mngt. Supplier Management Reporting / Analyzing Facilitating Functions Customer Project Management

Healthcare EFD

(52)

Care Business Management Demand Plan to be defined Budget & Plan Monitoring Internal Budget Creation Resource Plan Definition Resource Planning Demand Plan Definition Contracts Demand Forecast Definition Demand Plan to be defined Internal Budgets Resource Plan Internal Budgets to be defined Demand Plan Care Business Management Internal Budgets Financial Administration Financial Business Calculation Investment information CCPC Internal Budgets to be Changed

(53)

Contents

What is architecture?

Design structures in architecture

Functional Architecture

Enterprise Function Diagrams

Decomposition

Positioning

Reference Architectures

(54)

Creating a Functional

Architecture

1.

Determine scope

2.

Define request - feedback flows

3.

Model the operational module flow

4.

Add control and monitoring

modules

5.

Specify external to/ from internal

(55)

Step 1: Determine scope

  Identify all external products in the usage

environment

  Take the Product Context diagram as a

starting point.

(56)

Example

Sales Customer Relationship Management Within Scope Out of Scope Transportation

Suppose we are architecting a Sales product that will be

interfaced with a CRM system and possibly with a

(57)

Step 2: Define request -

feedback flows

Define all request-feedback loops

a.  with the the external products

b.  between modules and external products

Note: focus just on essential interactions; those

interactions related to the main functionality of the product

(58)

Request - Feedback

Flows usually appear in a pair:

  a combination of a

Request and

  a return arrow that

represents the

Feedback of the result. This construction is called

a Request Feedback loop. Enterprise Function A Enterprise Function B request to be fulfilled fulfilled request

(59)

Example

  Describe interaction between

product and external products:

  E.g. with CRM

C

R

M

sales order delivered sales order sales quotation provided sales quotation sales contract agreed sales contract

(60)

Step 3: Model the

operational module flow

  The operational module flow (aka. primary

process) is modeled by identifying the steps as module boxes. These modules are separated by flows that are usually information flows or waiting queues.

Sales Order

Request Change Mgmt Fulfillment Order

(61)

Example

Model operational module flow

Sales

Customer Relationship Management Sales Order Request Change Mgmt Fulfillment Order request final sales order delivered sales order

(62)

Step 4: Add control and

planning modules

  The operational module flow is controlled by

one or more modules

  The relation between every operational

module and every control module is usually a request-feedback loop.

  On top of these modules the appropriate

(63)

Example

Add control and planning

Sales

Customer Relationship Management Sales Order Request Change Mgmt Fulfillment Order request final sales order delivered sales order Sales Control Sales Planning margins plans targets realisation

(64)

Step 5: Specify interactions

  Specifying the information represented by the

request flow from the external product e.g. CRM requests a sales order to be delivered.

  Follow the subsequent steps trough the scope

until one or more feedback flows;

splitting and joining (bifurcations) are possible.

  Follow the process from the outside to inside

(65)

Example

Specify interactions

Sales

CRM Sales Order Request Change Mgmt Fulfillment Order request final sales order delivered sales order Sales Control Sales Planning margins plans targets realisation quota- tion Quotation Control Quotation Registration

(66)

Concluding

  Enterprise Function Diagrams are a powerful

modeling tool for a functional architecture of software products

  Assists in the determination of modules

  Interactions between the modules and the

environment are shown

  FA Models are recognized by non-specialists

without formal training

  Can be applied in any type of business:

–  Public sector: health care, governmental

–  Private sector: manufacturing, financial, services,

References

Related documents

Support Offerings: Commencing on the issue date set forth on the face of this Certificate, Symantec will provide to Licensee the support service(s) listed on the face of

within the Andaris™ application suite or be interfaced with any of your existing host applications to further streamline your data flow and business logic. Our integrated solution

As well as offering support for all of these scenarios, iScala supports orders for service items, entered via the iScala Sales Order Management module or via the more

Natural Resources Article, Title 10-411, states landowners are not liable for accidental injury or damage to the person, whether or not the person had permission to hunt. The

and chondrocyte markers. However, that was not induced by transduction process as the parental JoMa 1 ce lis also expressed these markers. Sox9 is highly

So, even as banks reward their bigger customers with incentives or better terms, they must ensure that within the branch, every customer is rendered the same

• plays with ~/.ipython/ipythonrc to load modules by default (import_all pencil) and thus use ‘read_var’ instead of.

Fantasy Magic Made Easy High Fantasy Magic is a simple, freeform magic system designed for Fate Core and Fate Accelerated.. Its goal is to be a drop-in magic system with a high