DATA FLOW DIAGRAM: DIAGRAM: GENERATE BALANCE GENERATE BILL CUSTOMER FILE PAYMENT FILE GENERATE REPORT CUSTOMER MANAGER 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 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) • • • • • • • • • • • 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 4th 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 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 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 * 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