ICTE11-FunctionalArchitecture

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