26
ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter 3 Mary Sumner Peter Dolog dolog [at] cs [dot] aau [dot] dk 5.2.47 Information Systems October 3, 2007

ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

  • Upload
    lemien

  • View
    222

  • Download
    2

Embed Size (px)

Citation preview

Page 1: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

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

Peter Dologdolog [at] cs [dot] aau [dot] dk5.2.47Information SystemsOctober 3, 2007

Page 2: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

2Peter 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 3: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

3Peter 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 4: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

4Peter 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 5: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

5Peter 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 6: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

6Peter 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 7: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

7Peter 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 8: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

8Peter 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 9: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

9Peter 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 10: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

10Peter 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 11: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

11Peter Dolog, ERP Course, ERP Development

ERP Implementation Alternatives

Vanilla implementationSingle vendor with customizationIn-house with supplementary ERP modulesASP

Page 12: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

12Peter Dolog, ERP Course, ERP Development

Detailed Design

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

customization and development

Page 13: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

13Peter Dolog, ERP Course, ERP Development

Models Used

Component model – show major functionsOrganization model – breakdown of oranization structureData model – information needed by a companyInteraction model – information flow between organizational

units

Page 14: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

14Peter Dolog, ERP Course, ERP Development

Implementation

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

Page 15: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

15Peter Dolog, ERP Course, ERP Development

Protocols/Activities

Page 16: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

16Peter Dolog, ERP Course, ERP Development

Collabotation/Interaction Diagrams

Page 17: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

17Peter 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 18: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

18Peter 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 19: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

19Peter Dolog, ERP Course, ERP Development

Dialog Sequencing – user interaction

Page 20: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

20Peter 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 21: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

21Peter 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 22: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

22Peter Dolog, ERP Course, ERP Development

Forms Development

Page 23: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

23Peter Dolog, ERP Course, ERP Development

Visual Basic for Applications

Page 24: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

24Peter 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 25: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

25Peter 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 26: ERP Course: Planning, Design, and Implementation of …people.cs.aau.dk/~dolog/courses/erp2007/lecture8.pdf · ERP Course: Planning, Design, and Implementation of ERP Readings: Chapter

26Peter 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