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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

2Peter Dolog, ERP Course, ERP Development

SD

RiskAnalysis

RiskAnalysis

RiskAnalysis

RiskAnalysis

Proto-type 1

Prototype 2Prototype 3

OperationalPrototype

Emulations Models BenchmarksConceptof Operation

SoftwareRQTS

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 separatePersonnel cost reductions

• Ability to enhance systems without incurring the time and costof custom development and modifications

Increased profitability• Ability to introduce new features

Productivity improvement• Access online to real time data

Better cash management• Reduction in cost and time of systems development and

maintanace

Page 5: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

6Peter Dolog, ERP Course, ERP Development

Selecting an ERP SystemCreate a visionCreate a feature listCreate a software candidate listNarrow the field to 4 - 6 candidatesCreate RFPSelect 2 - 3 finalistsSelect a winnerJustify the investmentNegotiate the contractRun a pre-implementation pilotValidate justification

Page 7: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

8Peter Dolog, ERP Course, ERP Development

Design

Re-engineering vs. CustomizationRe-engineering

• Analyse possibilities to change processes and organizationalstructures

• 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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

10Peter Dolog, ERP Course, ERP Development

Re-engineering and customization factorsRe-engineering Customizing

Re-engineeringbusiness processes

Software system bestpractices

Independent of toolsbeing implemented

Organizational fit

works well with minimal changes but can disturbthe organization ifextensive changes arerequired

may disruptorganization lessbecause the software is designed to theprocesses

Evolution depends on vendor

evolution can support unique requirementbut create difficultieswhen a vendorugrades features youhave changed

Page 11: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

11Peter Dolog, ERP Course, ERP Development

Re-engineering Customizing

CostImplementation is costeffective

may involve extensivecosts of customimplementation

Requirements

boundaries set by business process models and bestpractices

more flexibility for custom requirements

Competitivnessother firms have the same settings

do not have to use thesoftware which othercompanies in industryadopted

FitNeed to fit to requirementsdrawn by the ERP

Unique requirementshas to be supported by a customization

Externalconsulting

Needed to cunsult business process change

Needed to consultsystem implementationchange

Page 12: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

16Peter Dolog, ERP Course, ERP Development

Protocols/Activities

Page 17: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

17Peter Dolog, ERP Course, ERP Development

Collabotation/Interaction Diagrams

Page 18: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

20Peter Dolog, ERP Course, ERP Development

Dialog Sequencing – user interaction

Page 21: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

23Peter Dolog, ERP Course, ERP Development

Forms Development

Page 24: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

24Peter Dolog, ERP Course, ERP Development

Visual Basic for Applications

Page 25: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

26Peter Dolog, ERP Course, ERP Development

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

Page 27: ERP Course: Planning, Design, and Implementation …people.cs.aau.dk/~dolog/courses/lecture10.pdfERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner

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 proceduresAPIs/SDKs to access database and business functions on the

serverAutomation technology to embed and use it in external

programming environments and applicationsAdding attributes/tables/triggers