320 likes | 494 Views
12. APPROACHES TO SYSTEMS-BUILDING. 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.
E N D
12. APPROACHES TO SYSTEMS-BUILDING 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 SYSTEM-BUILDING 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
10 8 6 4 COSTS TOTAL IMPLEMENTATION 2 0 0.5 1 2 3 4 5 % LINES OF CODE CONVERTED EFFECTS OF CUSTOMIZING SOFTWARE ON TOTAL IMPLEMENTATION COSTS 12.13
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 • TOOBJECTS, 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 * CASE 12.37
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 * CASE 12.38
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