Chap12 - Lyle School of Engineering

advertisement
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
Download