Week 3 Lectures

SDLC Phase 2 - Systems Analysis

     Stage 1 - Determine Requirements
     Stage 2 - Analyze Requirements
     Stage 3 - Evaluate Alternatives and Strategies

Objectives

     Evaluate various alternatives when planning systems development and acquisition
     Explain the advantages and disadvantages of in-house development versus purchasing a software
     package
     List the steps in purchasing and evaluating a software package
     Describe the contents of the system requirements document and explain its purpose
     Explain the prototyping process
     Describe computer-aided software engineering (CASE) tools
     Explain how systems flowcharts are used

Introduction

     Chapter 6 covers the remaining tasks in the systems analysis phase
          Evaluation of alternative solutions
          Preparation of the system requirements document
          Presentation to management

Evaluating Software Alternatives

     Make or buy decision
          Develop software in-house
          Purchase a software package
          Customize a software package
          Outsourcing
          End-user (or departmental) computing

     Developing software in-house
          Reasons for in-house development
               Satisfy unique requirements
               Minimize changes in business procedures and policies
               Meet constraints of existing systems
               Meet constraints of existing technology
               Develop internal resources and capabilities

     Buying a software package
          Reasons for buying a software package
               Lower costs
               Requires less time to implement
               Proven reliability and performance benchmarks
               Implemented by other companies
               Requires less technical development staff
               Future upgrades provided by the vendor

     Customizing software packages
          Purchase a basic package that can be customized to suit your needs
          Negotiate with software vendor to make enhancements to suit your needs
          Purchase the package and make your own modifications

     Outsourcing
          Using outside companies to handle part of the workload, on short-term or long-term basis
          Contract personnel firms
          Systems management or facilities management firms

     End-user systems
          Major factor in systems planning and development
          Applications can be managed by end-users
          Software suites offer integrated applications
          Interactive Help features include wizards
          Security concerns might require read-only files
          Information centers (IC) can support end-user systems

     Selecting a software alternative
          Decision will affect remaining SDLC phases
          Systems analyst’s involvement depends on which alternative is selected

Steps in Evaluating and Purchasing Software Packages

     Five step process

     1. Evaluate the information system requirements

     2. Identify potential software vendors

     3. Evaluate software package alternatives

     4. Make the purchase

     5. Install the software package

     Step 1: evaluate the information system requirements
          Identify the key features of the system
          Estimate volume and future growth
          Specify any hardware constraints
          Prepare a request for proposal or quotation

     Step 2: identify potential software vendors

          Next step is to contact potential vendors
          An RFP will help vendors to identify solutions
          Various sources of information on suppliers
               Retailers
               Computer manufacturers
               Industry trade journals
               Systems consultants

     Step 3: evaluate software package alternatives

          Object is to compare software packages and select the best alternative
          Obtain information from many sources
               Vendor presentations and literature
               Product documentation
               Trade publications
               Companies that perform software testing/evaluation
               Contact users of the package
               Benchmark test

     Step 4: make the purchase

          Software licenses
          Lease agreements
          Maintenance agreements

     Step 5: install the software package

          Installation time depends on size and complexity
          Before using the package, complete all implementation steps
               Loading, configuring, and testing the software
               Training users
               Converting data files to new format\

Hardware Alternatives

     Hardware decisions use the same five-step approach as software decisions
        1.Evaluate system requirements
        2.Identify potential hardware vendors
        3.Evaluate hardware alternatives
        4.Make the purchase
        5.Install the hardware

     Other issues to consider
          Turnkey systems
          Site preparation
               New workstations
               Network cabling
               Raised floors
               Conditioned electrical lines
               Fire extinguishing equipment
               Uninterruptible power supplies (UPSs)

TRADEOFF

     How do you select the best alternative?
     Most companies combine
          In-house developed software
          Software packages
          Outsourcing
          End-user systems
     Object is to develop a list of viable alternatives
     All viable alternatives must be evaluated
     Feedback from users is essential

Completion of Systems Analysis

     System requirements document
          Also called software requirements specification
          Describes alternatives and makes recommendation to management
          Similar to a contract for what will be delivered
          Must be clear and understandable to users
          Document contains design for the new system
          Must reflect thorough analysis and effective communication
          An accurate and understandable document is essential

     Presentation to management

          Presentation guidelines and suggestions

               Give overview of the project’s purpose and objectives
               Summarize alternatives, with costs, pros, and cons
               Explain why the recommended alternative was chosen
               Allow time for discussion, questions, and answers
               Obtain final decision from management or timetable for next step

          Five probable management decisions

               1. Develop an in-house system

               2. Modify the current system

               3. Purchase or customize a software package

               4. Perform additional systems analysis work

               5. Stop all further work

Prototyping

     A prototype is an early, rapidly constructed working version of the system
     A working model helps users understand the system
     Prototyping produces a less-expensive model
     Can eliminate problems before the final version
     Prototyping during systems analysis
          Goal is to develop a working model quickly
          Early way to test essential system features
          Prototype can be upgraded or replaced during later SDLC phases

Prototyping
 

          Nonprocedural tools specify the problem to be solved, rather than how to solve it
          Fourth-generation environment prototyping tools

               CASE toolkit
               Report writer or report generator
               Query language
               Screen generator, screen painter, screen mapper, or form generator
               Program generator or code generator

Computer-Aided Software
Engineering (CASE)

     CASE tools increase productivity
     Full set of CASE tools is called a toolkit
     CASE tools can handle variety of tasks

          Create and integrate data flow diagrams
          Logical and physical design
          Generation of program code

TRADEOFF

     Pros and cons of CASE tools
     Advantages
          Automate manual tasks
          Encourage standard methods
          Improve accuracy and overall quality of end product

     Disadvantages
          Cost of CASE software and hardware needed
          Lack of CASE standards

     Other issues
          CASE does not replace need for analyst’s skills
          Initial preparation effort not always worthwhile

Transition to Systems Design

     Next SDLC phase is system design (for in-house system development)
     Size of the development team depends on the company and the nature of the project
     System requirements document
          An accurate and understandable document is essential
          Document contains design for the new system
          Must reflect thorough analysis and effective communication



Systems Design Overview

     Logical vs. Physical Design
          Logical design defines necessary system requirements
          Logical design specifies what must take place, not how it will be accomplished
          Physical design concerns how the system will be implemented
          Physical design describes specific components and system specifications

     The relationship between analysis and design
          Logical and physical design are related closely
          Analysis should be completed before design
          Developers do not return from design to analysis work except in limited circumstances
               An important fact is overlooked
               Users have significant new needs
               Legal/governmental requirements change
               Unforeseen design issues or problems arise

     Systems design activities
          Design the system
               Output
               Input
               Files and databases
               System architecture
          Present the system design
               System design specification document

General Guidelines for Systems Design

     Characteristics of a well-designed system
          Effective
               Satisfies defined requirements
               Accepted by users
          Reliable
               Adequately handles errors (input, processing, hardware, or human mistakes)
          Maintainable
               Well-designed and flexible
               Future modifications considered

     Design suggestions
          Three categories of considerations
               User considerations
               Data considerations
               Processing considerations

     User considerations
          Make the system user-friendly
          Consider where users receive output, or provide input to the system
          Anticipate future needs
               Users
               Information system
               Organization

     Data considerations
          Enter data where and when it occurs
          Verify data where it is input
          Use automated data-entry methods
          Control access for data entry
          Report all entries or changes to critical values
          Enter data into a system only once
          Avoid data duplication

     Processing considerations
          Use a modular (structured) design
          Design modules that perform a single function

     Design tradeoffs
          Design goals often conflict with each other
               Easier use might create more complex programming requirements
               More flexibility might increase maintenance needed
               Meeting one user’s requirements might make it harder to satisfy another’s needs
          A major issue is quality versus cost

TRADEOFF

     Good design: the flexibility issue
          Hardcoded (fixed) values are inflexible
          Users’ needs constantly change
          Variable parameters can provide flexibility
          Default values can be combined with user-defined parameters

Designing and Using Codes

     A code is a set of letters or numbers that represents an item of data
     Codes serve many useful purposes
          Save storage space and costs
          Reduce data transmission time
          Decrease data entry time
          Can reveal or conceal information
          Can reduce input errors

     Types of coding
          Sequence codes
          Block sequence codes
          Classification codes
          Alphabetic codes
          Mnemonic codes
          Significant digit codes
          Derivation codes
          Cipher codes
          Action codes
          Self-checking codes

     Developing a code
          Keep codes concise
          Allow for expansion
          Keep codes stable
          Makes codes unique
          Use sortable codes
          Avoid confusing codes
          Make codes meaningful
          Use a code for a single purpose
          Keep codes consistent

Introduction to Output Design

     Users judge a system based on how well the output helps them perform their jobs
     Output must be
          Useful
          Accurate
          Understandable
          Timely

     Checklist for output design
          Design process depends on
               What is the purpose of the output?
               Who or what wants this information, why is it needed, and how will it be used?
               What information will be included?
               What format should be used?
               When will information be provided, and how often must it be updated?
               Will simultaneous user access be required?
               Are security or confidentiality issues involved that need to be considered?

Types of Output and Information Delivery

     Technology affects how people communicate and obtain information
          Printers
          Screens
          Plotters
          Audio output
          E-mail
          Links to Web pages
          Automated facsimile system
          Computer output microfilm (COM)
          Other specialized devices

     Printed output
          Impact printers
          Laser printers
          Turnaround documents
          Advantages/disadvantages of printed output
               Many people prefer to work with paper
               Paper is portable
               Printed output is expensive to purchase, print, store, and dispose of
               Printed output is outdated quickly

     Screen output
          The screen is the most familiar output device
               Monitor
               CRT (cathode ray tube)
               LCD (liquid crystal display)
               VDT (video display terminal)
          Graphical output allows various special effects and user-friendly features
          Screen output reflects immediate data changes

     Other types of information delivery
          Audio output
          Automated facsimile and faxback systems
          E-mail
          Links to Web pages
          Specialized forms of output

Designing Printed Reports

     Reports can be classified by content
          Detail reports
          Exception reports
          Summary reports
     Reports also can be classified by distribution
          Internal reports
          External reports
     Detail reports
          Provide the most information
          At least one line of output is produced for each record processed
          Detail reports can be quite lengthy
     Control-break reports
          Use a control field
          Must be sorted on the control field before printing
          A control break occurs when the control field value changes

     Exception reports
          Show only records that meet a specific condition
          Useful when particular information is required
          Special parameter queries can be used to select only the records that meet specified conditions

     Summary reports
          Show only subtotals and totals
          Useful for upper-level managers who do not require extensive detail

     Internal reports
          Distributed within the organization
          Usually printed on stock paper
               Blank, single ply, standard size
               Less expensive
               Can be used for many types of reports

     External reports
          Distributed outside the organization
          Might include statements, invoices, or paychecks
          Usually printed on special forms
               More expensive than stock paper
               Paper must be changed for each report printing job
               Multi-part forms must be separated or decollated
               Special forms can use preprinted graphics and logos
          Special applications, such as checks, require special forms

     Designing the report
          Most reports use graphical design
               Choice of typefaces and scalable fonts
               More design flexibility
          Some reports are character-based
               Printed on high-speed impact printers
               Require printer spacing charts for layout and design

     Stock paper reports
          Page heading lines
          Column heading lines
          Column heading alignment
          Spacing between columns
          Order of data items on detail lines
          Grouping detail lines
          Report footing
          Improving a report design
          Documenting a report design
          Design Consistency

     Special form reports
          Can use printer spacing charts to design
          Placement of preprinted graphics can be indicated
          Functional and aesthetic design principles are important
          Field labels should be short but descriptive
          Avoid nonstandard abbreviations
          Order and placement of printed fields should be logical
          Totals should be identified clearly

     Report volume and time calculations
          Accurate estimates are necessary to
               Determine whether printing capacity is adequate
               Achieve efficient printing operations
               Ensure timely delivery of finished reports
               Provide reliable forecasts of paper and storage needs
          Factors to consider
               Types of printers
               Print volume calculations
               Print-time calculations

A KEY QUESTION

     The problem: users receive many reports, but do not seem to read them.
     The solution?

Designing Screen Output

     Major advantage is timeliness
     Screen output can be produced when and where needed
     Disadvantage - no tangible record
     When would you use screen output?

     Screen design considerations
          Many print design principles apply to screens
          Screens also need instructions and messages
          Users require immediate Help and feedback
          Character-based screens
               Screen locations are plotted using columns and lines
               Use screen display layout forms
               Messages typically on top or bottom line
          Graphical screens
               Screen locations are plotted in inches or other units
               More flexible designs are possible

     Character output
          High-resolution monitors allow more flexibility
          Display must be clear and easy to read
          Fonts and typefaces must be chosen carefully
          High-resolution monitors allow more flexibility
          Display must be clear and easy to read
          Fonts and typefaces must be chosen carefully
          Screens vs. printed output
               Information might need redesign for smaller screen
               Multiple screens might be necessary
               Columnar or tabular designs are possible

     Graphical output
          Graphical displays can be very effective
          Many formats are possible
               Pie charts
               Maps
               Bar charts
               Area charts
               Scatter diagrams
          Use descriptive titles, label each axis, and include a legend

     Special effects
          Character-based systems can use special effects
               High brightness
               Blinking
               Reverse video
               Use of different colors for emphasis
          Graphical environment provides options
               Command buttons
               Boxes and borders
               Unlimited use of color
               Custom menus, icons, and multiple windows

Designing Other Outputs

     Output to tapes and disks
          In an integrated environment, data transfer is handled by interactive network design
          In other cases, data transfer uses tapes or disks
               Output from one program can be input to another
               An output file format is a data structure that can be understood by another program or system
               Tape or disk output design must calculate file volume

     Other output media
          Format and contents depend on the output device and its requirements
          Various output options exist
               Plotter output
                    Series of commands is formatted for the specific plotter being used
               Computer output microfilm (COM)
                    Output is recorded as images on roll or sheet film
                    Data scanned/stored in digital form

Output Control

     Output integrity
          Ensure output is correct, complete, & secure
          Include appropriate titles and dates on reports
          Number pages consecutively
          Identify the end of each report
          Print/reconcile control totals/record counts
          Review error reports for possible causes
          Create error file to flag uncorrected/reentered records

     Output security
          Protects privacy rights and proprietary data
          Important tasks to carry out
               Control the number of report copies
               Distribute reports only to authorized users
               Store sensitive reports in secure areas
               Label all pages of confidential reports
               Burn/shred sensitive reports & other output
               Inventory blank checks regularly
               Store signature forms securely

Automated Design Tools

     Report generators
          Included in CASE tools & database programs
          Powerful, easy-to-use features
               Enter constant information (titles/headings)
               Specify a print position for each item
               Use field sizes from data dictionary to create a design
               Produce a report definition
               Creates program code that can be modified

     Screen generators
          Similar to report generators
          Create displays using onscreen layout tools

     Completing the report and screen designs
          Ensure consistency with data dictionary
          Automate routine design tasks
          Produces rapid results
          Does not guarantee good design
               Still must know and apply effective design to produce reports and screens that satisfy user requirements



Prototyping

Key Points And Objectives

     1.   Prototyping is an information-gathering technique useful for supplementing the traditional systems
     development life cycle.

     2.   Prototypes are useful in seeking user reactions, suggestions, innovations, and revision plans.

     3.   There are four conceptions of prototypes:

      I.  patched-up prototypes
      II.  nonworking scale models
      III.     first full- scale models
      IV. prototypes which contain only some of the essential system features.

     4.   One advantage of prototyping is the potential for changing the system early in its development.  A
     second advantage is the opportunity to stop development on an unworkable system.  A third
     advantage is the possibility of developing a system that closely addresses users' needs and
     expectations.

     5.   One disadvantage of prototyping is that  managing the prototyping process is difficult because of its
     rapid, iterative nature.  A second disadvantage is that incomplete prototypes may be regarded as
     complete systems.

     6.   Systems analysts must work systematically to elicit and evaluate users' reactions to the prototype.
     There are three ways the user is involved:

      I.  experimenting with the prototype
      II. giving open reactions to the prototype
           III.     suggesting additions to and/or deletions from the prototype.



Preparing The Systems Proposal

Key Points And Objectives

     1.   In order to prepare the systems proposal in an effective way, systems analysts must use a systematic
     approach to identify hardware and software needs - ascertaining hardware and software needs,
     identifying and forecasting costs and benefits, comparing costs and benefits, and choosing the most
     appropriate alternative.

     2.   In ascertaining hardware and software needs, systems analysts may take the following steps.  First,
     inventory computer hardware already available in the organization. Second, estimate both current
     and projected workload for the system.  Then, evaluate the performance of hardware and software
     using some predetermined criteria.  Next, choose the vendor according to the evaluation.  Finally,
     acquire the hardware and software from the selected vendor.

     3.   When inventorying computer hardware, systems analysts should check such items as type of
     equipment, status equipment operation, estimated age of equipment, projected life of equipment,
     physical location of equipment, department or person responsible for equipment, and financial
     arrangement for equipment.

     4.   When evaluating hardware, the involved persons, including management, users, and systems
     analysts, should take the following criteria into consideration: time required for average transactions
     (including time for input and output), total volume capacity of the system, idle time of the central
     processing unit, and size of memory provided.

     5.   When evaluating hardware vendors, the selection committee needs to consider hardware support,
     software support, installation and training support, and maintenance support as well as the
     performance of the hardware.

     6.   When evaluating software packages, the selection committee needs to take the following factors into
     consideration as well as total dollar amount to purchase them.  They are: performance effectiveness,
     performance efficiency, ease of use, flexibility, quality of documentation, and manufacturer support.

     7.   Systems analysts may forecast costs and benefits of a prospective system through analysis of time
     series data including linear trend, seasonal trend, and cyclical trend, and estimation of trends using
     graphical judgment, the method of least squares, and the moving average method.

     8.   Systems analysts should take tangible costs, intangible costs, tangible benefits, and intangible
     benefits into consideration to identify cost and benefits of a prospective system.

     9.   To select the best alternative, systems analysts should compare costs and benefits of the prospective
     alternatives. Break-even analysis, payback, cash-flow analysis, and present value method are the
     most popular techniques for this purpose.

     10.  To select the best method for comparing alternatives, systems analysts may refer to the following
     guidelines:

      A.  Use break-even analysis if the project needs to be justified in terms of cost, not benefits.
      B.  Use payback when the improved tangible benefits form a convincing argument for the
     proposed system.
      C.  Use cash-flow analysis  when  the project is expensive, relative to the size of the company.
      D.  Use present value when the payback period is long.



Writing And Presenting
The Systems Proposal

Key Points And Objectives

     1.   Through the use of effectively organizing the content, writing in a professional style, and
     orally presenting the proposal in an informative way, the analyst can create a successful
     systems proposal.

     2.   When preparing a systems proposal, systems analysts should arrange the following items in
     order:

      A.  Cover letter.
      B.  Title page of project.
      C.  Table of contents.
      D.  Executive summary (including recommendation).
      E.  Outline of systems study with appropriate documentation.
      F.  Detailed results of the systems study.
      G.  Systems alternatives (3 or 4 possible solutions).
      H.  Systems analysts' recommendations.
      I.  Summary.
      J.  Appendices (assorted documentation, summary of phases, correspondence, etc.).

     3.   When writing a systems proposal, systems analysts need to keep references to a minimum
     and should not use footnotes.  Also, systems analysts need to use examples, illustrations,
     diagrams, tables, figures, and graphs to support main points of the proposal, where
     appropriate.

     4.   Some guidelines to use tables effectively are:

      A.  Type only one table per page and integrate it into the body of the proposal.
      B.  Try to fit the entire table vertically on a single page if possible.
      C.  Number and title the table at the top of the page. Make the title descriptive and
     meaningful.
      D.  Label each row and column.
      E.  Use a boxed table if room permits.
      F.  Use an asterisk if necessary to explain detailed information contained in the table.

     5.   Some guidelines to use graphs effectively are:

      A.  Draw only one graph to a page unless you want to make a critical comparison
     between graphs.
      B.  Integrate the graph into the body of the proposal.
      C.  Give the graph a sequential figure number and a meaningful title.
      D.  Label each axis, and any lines, columns, bars, and pieces of the pie on the graph.
      E.  Include a key to indicate differently colored lines, shaded bars, or crosshatched areas.

     6.   Some guidelines to use figures effectively are:

      A.  Whenever possible integrate the figure into the body of the proposal itself.
      B.  Always introduce figures in the text before they appear.
      C.  Always interpret figures in words, never leave them to stand on their own.
      D.  Title all figures, label each axis, provide legends where necessary.
      E.  Use more than one figure if necessary, so that the visual does not become cluttered.

     7.   To make presentations more persuasive, the systems analysts may use white space, headings
     and subheadings, effective page numbering style and position, relevant references and
     appendices.

     8.   After finishing the preparation of systems proposals, systems analysts need to consider the
     following items to present the systems proposal effectively.  They are:

      A.  Organizing the presentation by deciding the format, structure, sequence, visual
     devices, and other tools including PCs.
      B.  How to deliver the oral presentation effectively.

     9.   Presentation software is available that allows the analyst to use a microcomputer for a slide
     show.  The presentation may be enhanced by the use of:

      A.  Clip art.
      B.  Video clips.
      C.  Sound.
      D.  Easily adding or deleting presentation slides for the audience and length of time
     available.

     10.  Guidelines for the use of presentation software are:

      A.  Use software templates.
      B.  Use a combination of graphics and text to communicate.
      C.  Keep each slide clean and simple.
      D.  Use color in a meaningful way.
      E.  Use clip art to enhance the text and add humor.
      F.  Use sound to reinforce the presentation.
      G.  Use a multimedia approach.

     11.  When delivering the oral presentation, systems analysts need to keep the following facts in
     mind.  They are:

      A.  Project loudly enough so that the audience can hear you.
      B.  Look at each person in the audience as you speak.
      C.  Make visuals large enough so that the audience can see them.
      D.  Use gestures that are natural to your conversational style.
      E.  Introduce and conclude your talk confidently.

     12.  To overcome anxiety and nervousness, systems analysts may take preventive actions such
     as:

      A.  Be yourself
      B.  Be prepared
      C.  Speak naturally
      D.  Breathe deeply before your presentation.