27
ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems November 1, 2006

ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

Embed Size (px)

Citation preview

Page 1: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

ERP Course: Planning, Design, and Implementation of ERPReadings: Chapter 3 Mary Sumner

Peter Dologdolog [at] cs [dot] aau [dot] dkE2-201Information SystemsNovember 1, 2006

Page 2: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

2Peter Dolog, ERP Course, ERP Development

SD

RiskAnalysis

RiskAnalysis

RiskAnalysis

RiskAnalysis

Proto-type 1

Prototype 2Prototype 3

OperationalPrototype

EmulationsModels BenchmarksConcept

of OperationSoftware

RQTS

RequirementsValidation

Development Plan

RQTS Life CyclePlan

Integration andTest Plan

SoftwareProductDeisgn

Design Validationand Verification

Cumulative Costs

Progress ThroughSteps

DetailedDesign

Code

Unit Test

Integrationand Test

AcceptanceTestImplemen-

tation

Review

Commitment,Partition

Develop, VerifyNext Level

Product

EvaluateAlternatives,

Identify/ResolveRisk

DetermineObjectives,Alternatives,Constraints

Plan Next Phase

Page 3: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

3Peter Dolog, ERP Course, ERP Development

ERP Implementation

Phases stay:• Planning• Requirements analysis• Design• Detailed design• Implementation• Maintanance

Focus changes• To fit the existing software (ERP) package to an

organization

Page 4: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

4Peter Dolog, ERP Course, ERP Development

Planning (Business justification)Inventory cost reductions

• Ability to use timely operational dataIT cost reductions

• Ability to integrate systems instead of maintaining many separate

Personnel cost reductions• Ability to enhance systems without incurring the time

and cost of custom development and modificationsIncreased profitability

• Ability to introduce new featuresProductivity improvement

• Access online to real time dataBetter cash management

• Reduction in cost and time of systems development and maintanace

Page 5: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

5Peter Dolog, ERP Course, ERP Development

Requirements Analysis

Analyzing business process (how company works)Analyzing how those process are already supportedSpecifying the processes to be supported in addition

or change of the current support Should fit with organization’s goals and competitive

strategyAnalysis of technical infrastructureSpecification of technical infrastructure which

should enable the change

Page 6: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

6Peter Dolog, ERP Course, ERP Development

Selecting an ERP System

Create a vision

Create a feature list

Create a software candidate list

Narrow the field to 4 - 6 candidates

Create RFP

Select 2 - 3 finalists

Select a winner

Justify the investment

Negotiate the contract

Run a pre-implementation pilot

Validate justification

Page 7: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

7Peter Dolog, ERP Course, ERP Development

Technology Factors

Cost of technology (start-up and recurring)Installation (support, time, and cost)User interfacesUpgradabilityComputing environmentPersonnel requirements (to use and to design)

Page 8: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

8Peter Dolog, ERP Course, ERP Development

Design

Re-engineering vs. CustomizationRe-engineering

• Analyse possibilities to change processes and organizational structures

• Design changes to fit ERP best practicesCustomization

• Analyse current processes• Suggest an ERP system change to fit it to

existing processes

Page 9: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

9Peter Dolog, ERP Course, ERP Development

Re-Engineering vs. Customizing

Customizing+Supports unique bussiness processes+Strategic processes are maintained- Difficulty to introduce some changes- Difficulty with upgrades

Re-Engineering+Features and processes supported by ERP+Based on best practices- Does not support strategic or unique business

processes- Resistance to organizational change

Page 10: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

10Peter Dolog, ERP Course, ERP Development

Re-engineering and customization factors  Re-engineering Customizing

Re-engineering business processes

Software system best practices

Independent of tools being implemented

Organizational fit

works well with minimal changes but can disturb the organization if extensive changes are required

may disrupt organization less because the software is designed to the processes

Evolution depends on vendor

evolution can support unique requirement but create difficulties when a vendor ugrades features you have changed

Page 11: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

11Peter Dolog, ERP Course, ERP Development

  Re-engineering Customizing

CostImplementation is cost effective

may involve extensive costs of custom implementation

Requirements

boundaries set by business process models and best practices

more flexibility for custom requirements

Competitivnessother firms have the same settings

do not have to use the software which other companies in industry adopted

FitNeed to fit to requirements drawn by the ERP

Unique requirements has to be supported by a customization

External consulting

Needed to cunsult business process change

Needed to consult system implementation change

Page 12: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

12Peter Dolog, ERP Course, ERP Development

ERP Implementation Alternatives

Vanilla implementationSingle vendor with customizationIn-house with supplementary ERP modulesASP

Page 13: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

13Peter Dolog, ERP Course, ERP Development

Detailed Design

Select applicable business processesDiscard inaplicable business processesReorganize and document new processesIdentify ireas not covered by the best practices

which require customization and development

Page 14: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

14Peter Dolog, ERP Course, ERP Development

Models Used

Component model – show major functionsOrganization model – breakdown of oranization

sttructureData model – information needed by a companyInteraction model – information flow between

organizational units

Page 15: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

15Peter Dolog, ERP Course, ERP Development

Implementation

Dialog customizationDialog connection customizationProcessing functions customizationData model customizationReports customizationIntegration with othe office systems

Page 16: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

16Peter Dolog, ERP Course, ERP Development

Protocols/Activities

Page 17: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

17Peter Dolog, ERP Course, ERP Development

Collabotation/Interaction Diagrams

Page 18: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

18Peter Dolog, ERP Course, ERP Development

+getName() : string+setName(in Name : string)+getSICCode() : string+setSICCode(in SICCode : string)+getLegalForm() : string+setLegalForm(in LegalForm : string)+getRevenue() : string+setRevenue(in Revenue : string)+getType() : string+setType(in Type : string)+getEmployees() : string+setEmployees(in Employees : string)+getStatus() : string+setStatus(in Status : string)+getAccountId() : string+setAccountId(in Status : string)+Account()+getAccountObject(in AccountId : string) : Account+getDetails(in Account : Account) : object

-Name : string-Code : string-LegalForm : string-Industry-Revenue-Type-Employees-Status-AccountId

Account

+Accounts()+getAccount(in AccountId : string) : Account+Accounts(in SalesMan : SalesMan, in Role : string) : Accounts+getAccountManager() : SalesMan+getNameIndex(in Accounts : Accounts) : object

Accounts

+SalesMan()+getSalesManObject(in SalesManId) : SalesMan+getName() : string+setName(in Name : string)+getRole() : string+setRole(in Role : string)+getSalesManId() : string+setSalesManId(in SalesManId : string)

-Name : string-Role : string-SalesManrId : string

SalesMan

+getName() : string+getPrice() : float+getItems() : int+getType() : string+getDescription() : string+getProductId() : string+setName(in Name : string)+setPrice(in Price : float)+setItems(in Items : int)+setType(in Type : string)+setDescription(in Description : string)+setProduct(in ProductId : string)

-Name : string-Price : float-Items : int-Type : string-Description : string-ProductId : string

Product

Products

+soldProduct

*

+Member

*+AccountSet1..*

*

+AccountManager*

*

+AccountManager

*

+MemberProduct*

+ProductSet*

*

+ProductManager

*

*

+ProductManager

*

Page 19: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

19Peter Dolog, ERP Course, ERP Development

Dialog Sequencing – clasify product

Modify Product

User

Connect(CategoryID, ProductID)

Categories Product

Set()

updateCagtegory(categoryOID)

CategoryProductDetails

Show()

Show()

fetch()

fetch()

Page 20: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

20Peter Dolog, ERP Course, ERP Development

Dialog Sequencing – user interaction

Page 21: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

21Peter Dolog, ERP Course, ERP Development

-Value(scenario)

Contract

-Value(scenario)

Portfolio

* *

«derived»

{All instances on contract on which self.filter is true}

ContractSelector

Date

Instrument Party

*

+primaryparties

*

*

+counterparties

** *

+start0..1* +end0..1 *

+selectContracts(in Collection)

-isIncluded

ContractFilter

1..1

*

-Value(scenario)

HardCodedFilter

BooleanMethod

*

+filter1..1

SetFilter SetOperation{documentation = Instances: Union, Intersection, Negation}

* 1..1

*

*

Page 22: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

22Peter Dolog, ERP Course, ERP Development

Client Customization

4G languages – forms• Adding, modifying attributes, control boxes, …• Adding/modifying client function• Adding/modifying connection to database• Adding/modifying menus, control flows, …

Client APIs• Externilize dialogs to functions• Allow to instantiate and embed client dialogs

and functions in external programs

Page 23: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

23Peter Dolog, ERP Course, ERP Development

Forms Development

Page 24: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

24Peter Dolog, ERP Course, ERP Development

Visual Basic for Applications

Page 25: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

25Peter Dolog, ERP Course, ERP Development

Message Queues (e.g. Navision)

public Form1() { // // Required for Windows Form Designer support //

InitializeComponent();

// // TODO: Add any constructor code after InitializeComponent call //

mqFromNavision.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] {typeof(String)}); }

private void mqFromNavision_ReceiveCompleted(object sender, System.Messaging.ReceiveCompletedEventArgs e) { System.Messaging.Message m = mqFromNavision.EndReceive(e.AsyncResult);

txtReceive.Text = (string)m.Body; }

Page 26: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

26Peter Dolog, ERP Course, ERP Development

Customer callingCall center software identifies the numberThe procedure at the call center site associated with sales telephones runs a procedure where a navision objects are embededA function for openning and looking up particular contact is implemented

Page 27: ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information

27Peter Dolog, ERP Course, ERP Development

Business And Database Tier Customizations

Set of business functions and rulesLanguage to create them, e.g. Enterprise Java

Beans, Oracle Application Server procedures, Oracle stored procedures

APIs/SDKs to access database and business functions on the server

Automation technology to embed and use it in external programming environments and applications

Adding attributes/tables/triggers