12 1 LEARNING OBJECTIVES APPRAISE SYSTEM BUILDING ALTERNATIVES
12. 1
LEARNING OBJECTIVES • APPRAISE SYSTEM BUILDING ALTERNATIVES • COMPARE STRENGTHS, WEAKNESSES OF APPROACHES • ASSESS SOLUTIONS TO PROBLEMS CREATED BY APPROACHES • DESCRIBE TOOLS, METHODOLOGIES OF SYSTEMS DEVELOPMENT 12. 2 *
MANAGEMENT CHALLENGES • TRADITIONAL SYSTEMS LIFECYCLE • ALTERNATIVE SYSTEM-BUILDING APPROACHES • SYSTEM-BUILDING METHODOLOGIES & TOOLS * 12. 3
SYSTEM LIFECYCLE • PROJECT DEFINITION: Is there a problem? Can it be solved with a project? • SYSTEM STUDY: Analyze problems in existing systems; define objectives evaluate alternatives • DESIGN: Logical & physical specifications for systems solution • PROGRAMMING: Develop software code * 12. 4
SYSTEM LIFECYCLE • INSTALLATION: Construct, test, train, convert to new system • POSTINSTALLATION: On-going evaluation, modifications for improvement to meet new requirements NECESSARY FOR LARGE, COMPLEX SYSTEMS & PROJECTS * 12. 5
SYSTEM LIFECYCLE • CAN BE COSTLY, TIME CONSUMING • MAY ENCOURAGE FREEZING SPECIFICATIONS EARLY IN DEVELOPMENT • MAY NOT BE SUITABLE FOR SMALL, LESS STRUCTURED SYSTEMS * 12. 6
ALTERNATIVE SYSTEMBUILDING APPROACHES • PROTOTYPING • APPLICATION SOFTWARE PACKAGES • END-USER DEVELOPMENT • OUTSOURCING * 12. 7
PROTOTYPING PROCESS OF BUILDING EXPERIMENTAL SYSTEM TO DEMONSTRATE, EVALUATE APPROACH; USERS REFINE NEEDS • PROTOTYPE: Preliminary working version of information system for demonstration, evaluation purposes • ITERATIVE PROCESS * 12. 8
STEPS IN PROTOTYPING 1. IDENTIFY USER’S REQUIREMENTS 2, DEVELOP PROTOTYPE 3, USE PROTOTYPE 4. REVISE & ENHANCE PROTOTYPE BEST FOR DESIGN OF END-USER INTERFACE: How end-user interacts with system * 12. 9
APPLICATION SOFTWARE PACKAGES • • • PREWRITTEN, PRECODED APPLICATION SOFTWARE, COMMERCIALLY AVAILABLE FOR SALE OR LEASE GEARED TO COMMON REQUIREMENTS CUSTOMIZATION: Modification of software to meet organization’s needs MUST WEIGH COSTS / BENEFITS * 12. 10
SELECTED EXAMPLES OF APPLICATION PROGRAMS ACCOUNTS RECEIVABLE; BOND & STOCK MANAGEMENT; COMPUTER-AIDED DESIGN (CAD) ; DOCUMENT IMAGING; E- MAIL; ENTERPRISE RESOURCE PLANNING (ERP); GROUPWARE; HEALTH CARE; HOTEL MANAGEMENT; INTERNET TELEPHONE; INVENTORY CONTROL; JOB COSTING; LIBRARY SYSTEMS; LIFE INSURANCE; MAILING LABELS; MATHEMATICAL / STATISTICAL MODELING; ORDER PROCESSING; PAYROLL; PROCESS CONTROL; TAX ACCOUNTING; WEB BROWSER; WORD PROCESSING 12. 11 *
CUSTOMIZATION MODIFYING SOFTWARE PACKAGE TO MEET ORGANIZATION’S UNIQUE REQUIREMENTS WITHOUT DESTROYING INTEGRITY OF PACKAGE RAISES DEVELOPMENT COSTS * 12. 12
EFFECTS OF CUSTOMIZING SOFTWARE ON TOTAL IMPLEMENTATION COSTS 10 8 6 4 2 0 0. 5 1 2 3 4 % LINES OF CODE CONVERTED 12. 13 5
REQUEST FOR PROPOSAL (RFP) (RFP • • • DESCRIPTION (PRESENT, PROPOSED) RELIABILITY BACKUP SERVICES SYSTEM SPECIFICATIONS CRITERIA DEMONSTRATION (PROTOTYPE) SCHEDULE (BENCH MARKS) PRICE (PENALTIES) SPECIFIC QUESTIONS PROCEDURES FOR RESPONSE * 12. 14 Source: Senn, Information Technology in Business (1995)
END-USER DEVELOPMENT END-USERS DEVELOP INFORMATION SYSTEM WITH LITTLE HELP FROM TECHNICAL SPECIALISTS USING 4 th GENERATION TOOLS * 12. 15
END-USER DEVELOPMENT STRENGTHS: • IMPROVED REQUIREMENTS DETERMINATION • INCREASED USER INVOLVEMENT & SATISFACTION • REDUCED APPLICATION BACKLOG * 12. 16
END-USER DEVELOPMENT WEAKNESSES: • RELATIVELY INEFFICIENT • SLOW TRANSACTION PROCESSING • MAY CARRY HIGH COST • LARGE FILES CAN DEGRADE PERFORMANCE • NONPROCEDURAL APPROACH MAY HAMPER LOGIC & UPDATING REQUIREMENTS 12. 17 *
MANAGING END-USER DEVELOPMENT INFORMATION CENTER: • SPECIAL FACILITY WITHIN ORGANIZATION • PROVIDES TRAINING, SUPPORT FOR END -USER-COMPUTING * 12. 18
OUTSOURCING CONTRACTING: • • • COMPUTER CENTER OPERATIONS TELECOMMUNICATIONS NETWORKS APPLICATION DEVELOPMENT TO EXTERNAL VENDORS * 12. 19
OUTSOURCING WHEN TO OUTSOURCE: • IF FIRM WON’T DISTINGUISH ITSELF BY DEVELOPING APPLICATION • PREDICTABILITY OF UNINTERRUPTED SERVICE NOT IMPORTANT • IF EXISTING SYSTEM IS LIMITED, INEFFECTIVE, INFERIOR * 12. 20
SYSTEM BUILDING METHODOLOGIES • STRUCTURED METHODOLOGIES • OBJECT- ORIENTED SOFTWARE DEVELOPMENT • COMPUTER AIDED SOFTWARE ENGINEERING (CASE) • SOFTWARE REENGINEERING * 12. 21
STRUCTURED METHODOLOGIES TOP DOWN, STEP BY STEP, EACH STEP BUILDS ON PREVIOUS • STRUCTURED ANALYSIS • STRUCTURED DESIGN • STRUCTURED PROGRAMMING • FLOWCHARTS * 12. 22
STRUCTURED ANALYSIS • DEFINES SYSTEM INPUTS, PROCESSES, OUTPUTS • PARTITIONS SYSTEM INTO SUBSYSTEMS OR MODULES • LOGICAL, GRAPHICAL MODEL OF INFORMATION FLOW • DATA FLOW DIAGRAM: Graphical display of component processes, flow of data * 12. 23
SYMBOLS FOR DATA FLOW DIAGRAMS (DFD): DATA FLOW PROCESS SOURCE OR SINK FILE 12. 24
DATA FLOW DIAGRAM: GENERATE BALANCE GENERATE BILL CUSTOMER FILE PAYMENT FILE GENERATE REPORT CUSTOMER MANAGER 12. 25
STRUCTURED ANALYSIS • DATA DICTIONARY: Controlled definitions of descriptions of all data, such as variable names & types of data • PROCESS SPECIFICATIONS: Describes logic of processes at module level * 12. 26
STRUCTURED DESIGN • • • DESIGN RULES / TECHNIQUES TO DESIGN SYSTEM, TOP DOWN IN HIERARCHICAL FASHION STRUCTURE CHART STRUCTURED PROGRAMMING MODULE SEQUENCE CONSTRUCT SELECTION CONSTRUCT * 12. 27
HIGH LEVEL STRUCTURE CHART: PROCESS PAYROLL GET VALID CALCULATE WRITE INPUTS PAY OUTPUTS CALCULATE GROSS PAY NET PAY GET VALIDATE UPDATE WRITE INPUTS MASTER FILE OUTPUTS (WHITE BOXES ARE MODULES) 12. 28
STRUCTURED PROGRAMMING: • DISCIPLINE TO ORGANIZE, CODE PROGRAMS • SIMPLIFIES CONTROL PATHS • EASY TO UNDERSTAND, MODIFY • MODULE HAS ONE INPUT, ONE OUTPUT * 12. 29
STRUCTURED PROGRAMMING: • MODULE: Logical unit of program. performs specific task(s) • SEQUENCE CONSTRUCT: Sequential steps or actions in program logic; streamlines flow • SELECTION CONSTRUCT: IF Condition R is True THEN Action C ELSE Action D • ITERATION CONSTRUCT: WHILE Condition is True DO Action E 12. 30 *
SYSTEM FLOWCHART SYMBOLS: 12. 31
SYSTEM FLOWCHART: HUMAN RESOURCES DATA TIME CARDS PAYROLL MASTER LOAD & VALIDATE PAYROLL SYSTEM VALID - COMPARE & 12. 32 PAYROLL REPORTS & CHECKS DIRECT DEPOSITS TRANS ACTIONS PAYROLL MASTER UPDATE GENERAL LEDGER UPDATED PAYROLL MASTER
PROGRAM FLOWCHART SYMBOLS: 12. 33
PROGRAM FLOWCHART: PROCESS A SEQUENCE PROCESS B R TRUE PROCESS D PROCESS E TRUE PROCESS C S 12. 34 SELECTION ITERATION
PROGRAM FLOWCHART: 1 START 2 READ PRINT REPORT >$10, 000 PROCESS A <$10, 000 PROCESS B 12. 35 1 2 MORE? END
OBJECT - ORIENTED SOFTWARE DEVELOPMENT • • • DE-EMPHASIZES PROCEDURES SHIFTS FOCUS FROM MODELS & DATA TO OBJECTS, WHICH COMBINE DATA & PROCEDURES • OBJECTS REUSABLE • SYSTEM: Classes; objects; relationships REDUCES DEVELOPMENT TIME & COST * 12. 36
COMPUTER AIDED SOFTWARE ENGINEERING (CASE) • AUTOMATION OF SOFTWARE METHODOLOGIES • PRODUCES CHARTS; DIAGRAMS; SCREEN & REPORT GENERATORS; DATA DICTIONARIES; PROGRESS REPORTS; ANALYSIS; CHECKING TOOLS; CODE; DOCUMENTATION * 12. 37 CASE
COMPUTER AIDED SOFTWARE ENGINEERING (CASE) INCREASES PRODUCTIVITY & QUALITY: • ENFORCES DEVELOPMENT DISCIPLINE • IMPROVES COMMUNICATION • DESIGN REPOSITORY FOR OBJECTS • AUTOMATES TEDIOUS TASKS • AUTOMATES TESTING & CONTROL • REQUIRES ORGANIZATIONAL DISCIPLINE * 12. 38 CASE
SOFTWARE REENGINEERING • SALVAGES & UPGRADES AGING SOFTWARE • DELAYS EXPENSIVE REPLACEMENT • REVERSE ENGINEERING: CONVERTING EXISTING PROGRAMS, FILES, DATABASE FOR USE IN NEW APPLICATIONS * 12. 39
SOFTWARE REENGINEERING • REVISE DESIGN & PROGRAM SPECIFICATIONS • FORWARD ENGINEERING: USE REVISED MATERIALS TO GENERATE NEW, STRUCTURED CODE; STRUCTURED & MAINTAINABLE SYSTEM * 12. 40
Connect to the INTERNET PRESS LEFT MOUSE BUTTON ON ICON TO CONNECT TO THE LAUDON & LAUDON WEB SITE FOR MORE INFORMATION ON THIS CHAPTER 12. 41
12. 42
- Slides: 42