Week-11 Approaches to Information Systems (IS) Building
THE TRADITIONAL SYSTEMS LIFECYCLE
• The systems lifecycle describes large- and medium-size systems projects. It has existed for years and uses triedand-true methods that help ensure success of the system from its humble beginnings as an idea to an old relic that eventually needs replacing. • There are seven stages to the lifecycle: Project definition or System identification Systems study or System Analysis System Design Programming or Coding System Installation (also include System Testing, Implementation, Training and Conversion) System Maintenance
STAGES OF THE SYSTEMS LIFECYCLE • The project definition stage or problem identification or system identification stage helps you determine if a problem exists. • if there is an opportunity the company can take advantage of with a new information system. You can also determine if you need to modify an existing system in order to keep up with the competition. • At this point you decide what the new system can do. • The systems study stage or Analysis stage takes longer than you might expect. • You need to gather as much information as you can about the current situation, what you expect from the new system, and how it will all fit together.
STAGES OF THE SYSTEMS LIFECYCLE • Oh, and don't forget to check the business plan. The more information you gather at this stage, the more complete your information requirements statement will be and the better idea you'll have of the finished product. • In design stage, the analyst (or developer) design the logical and physical design of the software (IS). • Design stage also involves – Data design (ERD, DFD) – Architectural design (Modular framework of computer program) – User-interface design (Front-end of IS) – Procedural design (PSPEC,CSPEC,STD)
STAGES OF THE SYSTEMS LIFECYCLE • Just before the programming stage or coding stage begins you should get everyone together, review all documentation, rehash (recycle) system requirements, and verify agreement (preferably in writing) from all sides. It's hard work to create the programming code - it can be harder to re-create it later on. • What you decide up to this point will be pretty much set in concrete during the programming stage. • In Programming stage or Coding stage, the developer selects the programming tool for the software development according to the type, situation, scope and size of problem.
STAGES OF THE SYSTEMS LIFECYCLE • Programming stage or Coding stage, also ahead with debugging stage, which involves detecting & correcting programming errors. • The installation stage includes System testing, Implementation, training, and conversion. This is where the rubber (means tyre) meets the road! • Read out, in previous week (i.e Week-10) • The System Maintenance stage (Read out, in previous week (i.e Week-10))
TRADITIONAL SYSTEM LIFECYCLE pros and cons
CAN BE COSTLY, TIME CONSUMING MAY ENCOURAGE FREEZING SPECIFICATIONS EARLY IN DEVELOPMENT MAY NOT BE SUITABLE FOR SMALL, LESS STRUCTURED SYSTEMS *
ALTERNATIVE SYSTEMBUILDING APPROACHES
PROTOTYPING APPLICATION SOFTWARE PACKAGES END-USER DEVELOPMENT *
PROTOTYPING • A strategy for determining user information requirements is used when the user cannot establish information needs accurately before the information is built. • A prototype is a small-scale, incomplete, but working sample of a desired system. i.e. representative or working model of the users’ requirements in order to discover or verify those requirements. • The prototyping approach is an iterative process involving a close working relationship between the designer and the users.
KEY BENEFITS Prototypes are an active, not passive, model that end-users can see, touch, feel, and experience. An approved prototype is a working equivalent to a paper design specification, with one exception -errors can be detected much earlier. Increases creativity because it allows for quicker user feedback, which can lead to better solutions. Built something quickly to explore some aspect of the systems requirements.
KEY BENEFITS The prototype is not intended as the final working system; among other things. It may be incomplete. less resilient (flexible). The objective is to investigate user requirements, in particular: What data should be presented and what data should be captured; To investigate suitable forms of interfaces; Also to determine whether a particular implementation platform is appropriate, Also to determine, the efficiency of a language, DBMS or communication infrastructure.
APPLICATION SOFTWARE PACKAGES • Fast, easy, convenient, user-driven: Many software packages are extremely convenient for non-technicals to use to build their own systems. Commonly called "off-the-shelf" software, these packages can be the best method of creating an Information System if that system is fairly standard across different types of businesses. • Application software packages still need lots of planning, especially when it comes to integrating them with the other Information Systems throughout the organization. Compatibility is key.
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 *
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 *
END-USER DEVELOPMENT END-USERS DEVELOP INFORMATION SYSTEM WITH LITTLE HELP FROM TECHNICAL SPECIALISTS USING 4th GENERATION TOOLS *
END-USER DEVELOPMENT STRENGTHS: IMPROVED REQUIREMENTS DETERMINATION INCREASED USER INVOLVEMENT & SATISFACTION REDUCED APPLICATION BACKLOG *
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 *
MANAGING END-USER DEVELOPMENT INFORMATION CENTER: SPECIAL FACILITY WITHIN ORGANIZATION PROVIDES TRAINING, SUPPORT FOR END-USER-COMPUTING *
SYSTEM BUILDING APPROACHES
STRUCTURED METHODOLOGIES OBJECT- ORIENTED SOFTWARE DEVELOPMENT COMPUTER AIDED SOFTWARE ENGINEERING (CASE) SOFTWARE REENGINEERING *
STRUCTURED METHODOLOGIES TOP DOWN, STEP BY STEP, EACH STEP BUILDS ON PREVIOUS STRUCTURED ANALYSIS STRUCTURED DESIGN STRUCTURED PROGRAMMING FLOWCHARTS *
STRUCTURED METHODOLOGIES • A structured methodology is oriented toward the actual processes used rather than the data generated. • Each step must be completed before the next one is started--just like building a house. • These methods all have their shortcomings. In fact, many of them simply aren't flexible enough to be used in designing systems in today's fast-paced world.
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 *
STRUCTURED ANALYSIS • Use data flow diagrams such as in coming Figure 11.3 so you can track how the information enters, how it's processed, and how it comes out. • It's very helpful to use a data flow diagram because people understand pictures much better than a whole lot of text. It also forces you to think the whole process through from beginning to end. You can test the process on paper to see if it's feasible. It doesn't matter whether you are using a structured approach to system development or one of the other types we've discussed in this week.
SYMBOLS FOR DATA FLOW DIAGRAMS (DFD): DATA FLOW
PROCESS
SOURCE OR SINK
FILE
Fig 11.3: Data flow diagram for mail-in registration system.
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 *
STRUCTURED DESIGN DESIGN RULES / TECHNIQUES TO DESIGN SYSTEM, TOP DOWN IN HIERARCHICAL FASHION
STRUCTURE CHART STRUCTURED PROGRAMMING SEQUENCE CONSTRUCT *
STRUCTURED DESIGN • Using a structured design makes sure your system is clear and simple. It may not seem so, but you can actually save time, money, and frustration by following the rules and techniques of a structured design. • A structure chart or organizational chart like the one shown here will give you a visual picture of the system and help you understand the relationship between each element.
HIGH LEVEL STRUCTURE CHART: PROCESS PAYROLL
GET VALID
CALCULATE
WRITE
INPUTS
PAY
OUTPUTS
CALCULATE
CALCULATE
GROSS PAY
NET PAY
GET
VALIDATE
UPDATE
WRITE
INPUTS
INPUTS
MASTER FILE
OUTPUTS
(WHITE BOXES ARE MODULES)
STRUCTURED PROGRAMMING:
DISCIPLINE TO ORGANIZE, CODE PROGRAMS SIMPLIFIES CONTROL PATHS EASY TO UNDERSTAND, MODIFY MODULE HAS ONE INPUT, ONE OUTPUT *
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 *
FLOWCHARTS
Flowcharts represents Flow of data within the system
PROGRAM FLOWCHART SYMBOLS: BEGIN OR END
INPUT OR OUTPUT
DIRECTION SUBROUTINE PROCESS MANUAL OPERATION DECISION CONNECTOR
PROGRAM FLOWCHART: 1
START
2 READ PRINT REPORT
>$10,000 PROCESS A
<$10,000 PROCESS B
1
2
MORE?
END
PROGRAM FLOWCHART:
PROCESS A
SEQUENCE PROCESS B
R TRUE
PROCESS D
PROCESS E
TRUE
PROCESS C S
SELECTION
ITERATION
SYSTEM FLOWCHART SYMBOLS: INPUT/OUTPUT
PUNCHED CARD
PROCESS
MAGNETIC TAPE
MANUAL OPERATION
ON-LINE STORAGE
DOCUMENT DATABASE ON-LINE INPUT
ON-LINE DISPLAY
TELECOMMUNICATIONS LINK
SYSTEM FLOWCHART: HUMAN RESOURCES DATA
TIME CARDS
PAYROLL MASTER
LOAD & VALIDATE
PAYROLL SYSTEM VALID
TRANSACTIONS
COMPARE &
PAYROLL REPORTS & CHECKS
DIRECT DEPOSITS
PAYROLL MASTER
UPDATE
GENERAL LEDGER
UPDATED PAYROLL MASTER
OBJECT - ORIENTED SOFTWARE DEVELOPMENT DE-EMPHASIZES OR NOT EMPHASIS ON USE/DEVELOP OF PROCEDURES SHIFTS FOCUS FROM MODELS & DATA TO OBJECTS, WHICH COMBINE DATA & PROCEDURES EMPHASIS ON OBJECTS REUSABLE SYSTEM: Classes; objects; relationships REDUCES DEVELOPMENT TIME & COST *
COMPUTER AIDED SOFTWARE ENGINEERING (CASE)
AUTOMATION OF SOFTWARE METHODOLOGIES PRODUCES − CHARTS; DIAGRAMS; SCREEN & REPORT GENERATORS; DATADICTIONARIES; PROGRESS REPORTS; ANALYSIS; CHECKING TOOLS; CODE; *
CASE
(CASE) In Detail • Computer-aided software engineering (CASE) tools automate much of the mundane (everyday), repetitious work and can sometimes do a better job of it than a human. • CASE tools keep you organized by automatically updating data dictionaries and validating design diagrams and specifications. • The figure shows an example of how CASE tools let you a visualize business processes while you're developing a process to automate them. • These tools won't do everything for you, though. You still have to ask the hard questions: Is the system feasible? cost effective? right for our business? integrated with other areas of the organization? And they require organizational discipline. CASE tools enforce common methods and standards.
Fig 11.5: Using Scitor's Process Charter for Windows to map and simulate business processes in real-time.
COMPUTER AIDED SOFTWARE ENGINEERING (CASE) BENEFITS INCREASES PRODUCTIVITY & QUALITY: ENFORCES DEVELOPMENT DISCIPLINE IMPROVES COMMUNICATION DESIGN DEPOSITORY FOR OBJECTS AUTOMATES TEDIOUS TASKS AUTOMATES TESTING & CONTROL
CASE *
RAPID APPLICATION DEVELOPMENT (RAD) DEVELOP SYSTEM RAPIDLY: PROTOTYPING 4th GENERATION TOOLS CLOSE TEAMWORK AMONG USERS & SPECIALISTS *
Connect to the INTERNET Laudon/Laudon Web site: http://www.prenhall.com/laudon Additional Internet Resources related to this chapter: http://www.sap.comhttp://www.yourdon.com/index.htm http://www.erpassist.com http://www.togethersoft.com http://www.cio.com/forums/erp http://www.spr.com http://www.erpsupersite.com http://www.rational.com http://osiris.sunderland.ac.uk/sst/casehome.html http://www.eiffel.com http://www.brint.com http://www.reengineering.com http://www.bpr.com http://bprc.warwick.ac.uk http://www.cne.gmu.edu © 2001 Laudon & Laudon, Essentials of Management Information Systems 4/e