2.System Development Life Cycle Methodology

CMA KNVV Sri Vidya - Sri Kanth (C.A.Final (New) ICWAI FINAL (New))   (11269 Points)

06 April 2011  

 

2.System Development Life Cycle Methodology

 

1.    System Development:

2.    System Development Life Cycle Activities:

a.    Preliminary Investigation

b.    Requirement Analysis and system analysis:

c.     Design of the system:

d.    Development of software:

e.    System testing:

f.     Implementation and development:

3.    Achieving the System Development Objective:

Reasons for failure to achieve system development objectives

4.    System Development Approaches

1. Traditional Approach

2. Prototyping Approach

Four Steps  

When The Prototype Approach Should Be Used Following Conditions Exists:

Advantages (May-2000)

   Disadvantages

3. Top Down Approach

4. End User Development Approach:

5. Bottom Up Approach

6. Systematic Approach

Reasons for Project Failure

 

  1. System Development Methodology

  2. Preliminary Investigation
           Feasibility

 

  1. Requirement Analysis
            Fact Finding Techniques
            System Analysis  /  Analysis of the present system :

 

 

8.    System Development Tools
             System Flow Chart
             Data Flow Diagram
             Lay out forms & screens
             System Components Matrix
             CASE Tools
             Data Dictionery

 

Category of Tools

System Components & Flows

User Interface

Data attributes & relationships

Detailed system process

9.    Systems Design

Output     

        Objectives

        Determinants of Designing/ important factors in output design

Input

        Important factors in input design
        Guidelines for form designing 

        Characteristics of good coding scheme

        Coding Schemes

Making Form Easiest To Fill:

Guidelines For Printed Outout Layout:

Data Storage :

Design of data communication

10.     System Manual

11.     System’s Acquisition, Software Development & Testing

Acquisition of Hardware

Acquisition of software

Advantages of Packaged Software
Sources of Packaged Software

Steps for selection of a computer system

Evaluation & Ranking of Proposals (Factors)

Vendor Evaluation

Method of Evaluation

 

12.     Software Development / In house creation of program six stages

Stages [Program Development Life Cycle]

 

a.    Program Analysis

b.    Program Design.

c.     Program Coding

d.    Debug the program

e.    Program documentation

f.     Program maintenance.

13.     System Testing done prior to installation of a system.

14.     System Implementation & Maintenance

Aspect of Implementation:

Equipment Installation Activities

Training Personnel

Change Over or Conversion

          Conversion Strategies

1)    Direct Changeover:

2)    Parallel conversion :

3)    Graphical conversion

4)    Modular Prototype conversion :

5)    Distributed conversion :

 

Activities Involved

Post Implementation Evaluation / Evaluation Of The New System

 

Evaluation Provides:

Purpose:

Types Of Evaluation

1)    Development Evaluation

2)    Operational Evaluation

3)    Informational Evaluation

 

15.     System Maintenance  / Information system maintenance

Types Of Maintenance:

1.    Schedule Maintenance:

2.    Rescue Maintenance:

 

 

System Development:

Refer to the-

*      Process of examining

*      a business situation

*      with the intent of improving it

*      through better procedure and methods.

 

System Development Life Cycle (Nov-2004/May-98/Nov-2000)

Starts when management and personnel relies that a particular business system need improvement.

 

System Development Life Cycle Method Consists Of Followings Activities:

1)    Preliminary Investigation

2)    Requirement analysis

3)    Design  

4)    Develop

5)    Testing

6)    Implement

It is also called Traditional approach of “System Development”.

 

1)    Preliminary Investigation:

Undertaken when user come across a problem or opportunity & submit request for new system to MIS Dept.

 Consists-Activities:

A)   Request clarification

B)    Feasibility study

C)    Request approval

 

2)    Requirement Analysis and system analysis:

      After study of preliminary investigation results:-

      Process includes the following steps:

a)     Need of user

b)    Requirement of user

c)     Fact finding techniques and tools

d)     Identifying the features

3)    Design of the system:

After the Step 1 and 2 start to design a system which will satisfy the requirement of user. 

 

4)    Development of software:

After the system design needs –specific type of

                        -Hardware

                        -Software

                        -Services

For development of customized software in-house after considering the cost of the software.          

 

5)    System testing:

1.    Before implementation must be tested.

2.    To ensure software doesn’t fail.

3.    Test data inputted and find results.

4.    Satisfied the user and applicant.                

 

6)    Implementation and development:

1.    After testing, system to be implemented in present system.

2.    Hardware installed for user training.

3.    Ensure that the need of user is satisfied.

7)    Achieving the System Development Objective:

 

Reasons for failure to achieve system development objectives

1.    Lack of senior management support and involvement

2.    Shifting user needs

3.    Development of strategic system (Because they are unstructured)

4.    New technologies.

5.    Lack of standard project management

6.    Over-worked or under-trained  staff

7.    Resistance to change

8.    Lack of user participation

9.    Inadequate testing & User training.

 

System Development Approaches

System Development Approaches

1.Traditional Approach/ Waterfall Approach/ Sequential Approach–linear framework type

2. Prototyping Approach - Iterative frame work type

3. Incremental Approach – Combination of linear and iterative framework type

4. Spiral Approach - Combination of linear and iterative framework type

5. Rapid Application Development ( RAD ) - Iterative frame work type

6. Agile Methodologies

 

 

 

1)    Traditional Approach

 

Ø      Activities are performed in sequence

Ø      Work performed in each stage are reviewed by managers & users

Ø      It takes years to develop, analyse & implement.

Ø      Popular and usable approach

Ø      Used primarily to develop large & complex IS.

Ø      All steps of SDLC are followed as it is

Ø      Initial traditional approach was based on principle that there will be no error in previous step of SDLC

Ø      Later, the old approach was modified to include feedback to rectify errors in previous phases

Ø      Latest traditional approach has been further modified to simultaneously starting 2 or more phases to cut time Also known as WATER FALL APPROACH

 

2.    Prototyping Approach

 

Ø      Used to develop smaller systems such as

a)     Decision support system (DSS)

b)    MIS

c)     Expert system

Ø      Useful when system requirement is not known or difficult to determine

Ø      Developed in small parts (prototypes) & at lesser cost

Ø      Developed prototypes are refined & either turned into final system or scrapped to develop a new real system

 

Four Steps

a)     Identifying information system requirement

b)    Develop the initial prototype

c)     Test & Revise

d)     Obtain user’s approval

(1)                   (2)                 (3)                 (4)       

Requirement ----- Develop-------Test & Revise----User signoff

      

When The Prototype Approach Should Be Used Following Conditions Exists:

1)    End user does not understand their information need.

2)    System requirement are hard to define.

3)    New system needed quickly.

4)    Post interaction –misunderstanding in user and designer.

5)    Risk-with wrong system high.

 

Advantages (May-2000)

1)    Need and requirement - Satisfied.

2)    Short time period – Required to develop.

3)    User experiment – Reliable and less costly.

4)    Active user participation

5)    Less time consuming

 

      Disadvantages

1)    Time Consuming Process.

2)    Inadequate Testing and documentation

3)    Dissatisfaction by user.


3. Top Down Approach

 

Ø      High Degree of top mgmt. involvement

       Stages:

1)          Analyse the objectives & goals of the entity

2)          Identify the functions. e.g. – Production, Marketing, R & D

3)          Ascertain the major activities, decisions & functions

4)          Find out the information requirement

5)          Prepare information processing program

 

4. End User Development Approach:

 

Ø      End user is responsible for system development

Ø      Low-cost technology

Ø      Risk :

o       Decline in standards & controls

o       Reduction in quality assurance

o       Unrelated & incomplete systems

o       No experienced staff

o       Difficulty in access

o       In accuracy

 

5.    Bottom Up Approach

 

Ø      Starts from Supervisory management (Used to design various sub-systems)

Ø      Identification of life stream systems that are essential for day to day activities

Ø      Identify basic transactions, file-requirements & programs and develop system for each such life stream

Ø      Integration of data & such systems

Ø      Addition of decision models & planning models

Ø      Involvement of supervisory management.

 

6.    Systematic Approach

Used in small organizations in which no MIS personnel is involved.        (Use of MIS professional for development.)

       Steps:

1)    Identify requirements

2)    Locate suitable software & hardware

3)    Implement the system

Reasons for Project Failure

v     Under estimation of time

v     Lack of senior mgmt. participation

v     Under estimation of resources

v     Under estimation of size & scope of project

v     Inadequate control

v     Inadequate planning

v     Changing system specifications

 

System Development Methodology also known as SDLC methodology

It refers to Formalized, standardized & documented set of activities used to manage system development project.

Characteristics of SDLC Methodology

Ø      Project Processes: Division of project into several processes

Ø      Deliverables (Specific report & documentation) must be produced periodically

Ø      Approval of development process by users, managers & auditors (Sign Offs)

Ø      System Testing

Ø      Proper Training

Ø      Prevent unauthorised changes to complete program by formalizing system modifications.

Ø      Post implementation review.

 

Investigation

 

 

       Review of              Conducting

Internal documents        Interviews

 

Preliminary Investigation

 

1.    Starts when a problem / opportunity
is identified by user or manager.

2. Clarify & understand he project request.

3. Determine the size of the project

1.    Determine the feasibility of alternative approaches

2.    Determine their costs & benefits

3.    Final report to the management with recommendations.

 

Feasibility

 
 

 

 

 

 


Technical           Economic          Operational       Schedule      Legal

Hardware &       Evaluation of            Support of   Time required for      Fulfills all

Software          all the increm-      workers,         development &         the statutory

(no. of users)            ental costs &            customers          implementation         obligations

                     benefits          & suppliers                               & financial

                                                                           reporting

 Requirement Analysis

Ø      Determining user needs

Ø      Study of application area in depth

Ø      Assessing the strengths & weaknesses of present system

Ø      Reporting to management

Fact Finding Techniques

1. Documents  2. Questionnaire 3. Interviews    4. Observations

 
 

 

 


              Input forms, Output forms, Organization Manual / Chart

 

System Analysis

Means Process of gathering and interpreting facts, diagnosing problems and using the information to recommend improvements to the system. This is the job of system analyst.

 

 

System Analysis

 

 

         Present System                             Proposed System

 
 

 

 

 

 

 

 

 

 

 

 


Analysis of the present system :

The following areas should be studied in depth:

1)    Review:

A)   Historical aspects       

B)    Data file maintained

C)  Method, Procedure and data communication

D)  Internal control        

2)    Analyse:

A)   Input

B)    Output

C)    Overall

1.    Present work volume

2.    Current personal requirement

3.    Present benefits and costs.                   

3)    Model of the exiting system:

A)   Physical System or

B)    Logical System Through flow chart.

 

System Development Tools

v     System Flow Chart

v     Data Flow Diagram

v     Lay out forms & screens

v     System Components Matrix

v     CASE Tools

v     Data Dictionery

 

  1. System Flow Chart (Documents flow of system & information processing procedures)

Presented by variety of symbols & connecting arrows.

 

  1. Data Flow Diagram (Flow of data within an organisation)

[Data sources & destinations, Data flows, Transformation process, Data Stores]

Symbols in DFD              Data Source & Destination

                           Data Flow

                           Transformation Process

                       =   Data Storage

 

  1. Lay out forms & screens (Pre printed forms)

Used to design source document, output, display.

 

  1. System Components Matrix

Highlights basic activities of a system. e.g. – Input, Processing, Output & Storage

 

  1. CASE Tools (Automation of anything that human do to develop systems)

 

  1. Data Dictionery

*      A computer file

*      contain descriptttive information

*      about the data item in the files of Business Information System.

This information may include:

1)    Codes – LTR-Length/Type/Range

2)    Identity of source documents

3)    Name of Computer files

4)    Name of Computer Programs

5)    Identity Computer file maintenance

 

v     It contains  information about the data item in the system, in which it is stored,program that modifies it, authorized users & unauthorized persons.

v     It is updated with every change in data item .

v     Gives an audit trail to the auditor & helping  aid in investigation 

 

Category of Tools

  1. System Components & Flows – System analyst to documents the data flow through flow chart

2.    User Interface - designing the user interface in user and computer.

  1. Data attributes & relationships - a data dictionary catalogs
  2. Detailed system process - help to programmer to develop tools

 

Systems Design

  1. Review System’s Requirements –
    1. Information &  b. Functional Requirement
  2. Developing a model –
    1.  Contents Logical / Physical
    2. Process of Output from Input.
  3. Reporting to Management

              (1)                (2)                (3)

           Review --------Develop-------Report

 

 

  1. Physical

    Design

     

    Logical Design

     
     

 
 

Output              Input                Processing

Storage            Procedure        Personnel

 

 

 

 


                                              Displayed

Output (Report, Document, Message)

                                               Printed

        Objectives

  1. Convey Information

                                                             i.      Past

                                                           ii.      Current &

                                                         iii.      Future Projections

  1. Signal important

                                                             i.      events

                                                           ii.      Opportunities

                                                         iii.      Problem or warning

  1. Trigger an action
  2. Confirmation of an action

    Determinants of Designing/ important factors in output design

1.    Content - Piece of data included in output, it must be objective

2.    Form - Refers the way of presenting content – Text / Graphical / Audio

3.    Volume - Amount of data output required – High Speed Printer / Monitor

4.    Timeliness -Daily / Weekly / Monthly or on real time basis

5.    Media - Physical device used for Input-Process-Output are Paper / Display / Audio / Video

6.    Format - Manner in which data are arranged – Tabular / Graphic

 

Input (Efficient data capture, effective coding & appropriate data entry methods)

 

        Important factors in input design

1.    Content- Type of the data that are needed.

2.    Timeliness- Data inputted in the computer in time.

3.    Media- Choice of input media device used for entering data in computer.

4.    Format-Input format are considered after timeliness and media.

5.    Input Volume-Amount of data that has to enter in computer at one time.

 

        Guidelines for form designing

1.    Easy to fill (logical division, proper flow, captioning)

2.    Purposeful

3.    Accurate completion

4.    Attractive

      

  Characteristics of good coding scheme

       [Code: - Brief no./title/symbol used instead of lengthy/ambiguous descriptttion]

Word and relationships are expressed by a code are developed to reduce:

1)    Input error

2)    Control error

A Code is a brief number.

 

Characteristics Of Good Coding System :

1.    Unique Code – One code for one object

2.    Brief - Coding must be much briefer then descriptttion.

3.    Convenient  - Short and simple codes.

4.    Expandability (compatible with future growth)

5.    Suggestive - Readily understandable.

6.    Permanence - Changing circumstances should not invalidate codes

 

       Coding Schemes

1.    Classification codes (Used to classify record in a particular class)

2.    Function codes (Used to describe a function e.g. – sold, delivered)

3.    Significant digit subset codes (Permanent Account No.)

Entire code is divided into meaningful parts.

4.    Mnemonic Code (Linking with descriptttion e.g. MBA, C.A., C.S.)

5.    Hierarchical Classification / Progressive Code

 

Making Form Easiest To Fill:

1.    Form Flow

2.    Divide form in logical sections

3.    Captioning

Guidelines For Printed Outout Layout:

1.    Report & Document from left to right and top to bottom.

2.    Important item-easiest to find.

3.    Heading/Title of the report and page no.

4.    Each data should have separate heading.

5.    Control break should be used.

6.    Margin should be left.

7.    Mock up report should review.

 

Data Storage :   Individual File System   &     DBMS

 

Design of data communication  - Simple & Cost effective

 

System Manual: Contains Descriptttion, Flow, Output, Input, Persons responsible

 

System Manual :

 

The basic output of system design is

-a descriptttion of the task to be performed and

-Complete with layouts and flow charts is

-called job specifications manual or system manual.

 

Its contains:

1)    Descriptttion of the existing system

2)    Flow of the existing system

3)    Output of the existing system

4)    General descriptttion of the New system

5)    Flow descriptttion of the new system

6)    Output descriptttion of the new system

7)    Output distribution

8)    Input distribution

9)    Input responsibility

10)                       List of Programs

11)                       Timing estimates

12)                       Control

13)                       Audit trails

14)                       .Glossary of terms used

 

 

System’s Acquisition, Software Development & Testing

 

Acquisition of Hardware

1.    Latest possible technology.          

2.    Speeds & capabilities.           

3.    Software Considerations.

4.    Compatibility to future expansion.

5.    Vendor selection & machine selection

 

Acquisition of software (Pre-packaged Application Software)

(Sources may be computer manufacturer, software houses, retail stores, user groups)

Sources of Packaged Software

1. Computer manufacturers

2. Large and small software houses

3. Computer retail sources

4. User groups or association of users of a particular system.

Advantages Of Prepackaged Application Software/ Application Packages:

1.    Rapid Implementation          

2.    Low Risk

3.    Quality

4.    Lower Cost (No hidden costs)

 

1. Rapid implementation

2. Low risk – the organization knows what it’s going to get for the price it has paid.

3. Quality – developers are generally specialist in their product’s niche area.

4. Lower Cost ( No Hidden Costs ) – cost of application software is generally lower

 

Steps for selection of a computer system

1.          Prepare design specification.

2.          Distribute request for proposal (RFP)

3.          Analysis of proposals.

4.          Contact present users of proposed system

5.   Conduct Benchmark Test.

6.   Select the equipment/system.

     (Actual testing of the system)

 

Evaluation & Ranking of Proposals (Factors)

1.         

System Maintenance

System Development Support

Training

Back-up

Complement Hardware / Software

 

Capability & Quality

 

2.          Cost-Benefit Analysis

3.          Cost of maintenance

4.          Compatibility

5.          Services provided by the vendor

Vendor Evaluation

The following factors have to be considered in relation to each proposed system:

1)    Performance Capability in relation to Cost- capable to processing the ORZ data.

2)    Cost and Benefits-Perform cost/benefit analysis of each proposed system.

3)    Maintainability-Refer to modification or alter(Flexibility)

4)    Compatibility-Ability to interface and implement the new system with exiting system.

5)    Vendor Support-

1.       Help in implementing & testing the new system.

2.     Training Classes.

3.     Maintenance Contract/ Back up system.

 

 

Method of Evaluation

1.          Checklists (Subjective Method)

2.          Point-scoring analysis

3.          Public evaluation reports (consultancy agency, present users, financial statement analysis, credit rating agency)

 

Development of Software/ In house creation of program six stages

Stages [Program Development Life Cycle]

 

1.    Program Analysis.- Analyse the output required, input available & processing

 

2.    Program Design. - Planning the basic layout of the program e.g. Flow Charts, etc.

 

3.    Program Coding
[Flow Charts converted into program statements. Eg:- Interpreter or Compiler] Coded instructions are entered into a magnetic media that constitutes source language. Then it is translated into machine language. It should be simple, short & require less processing time.

 

4.    Debug the program. - including walkthrough, tests & review of program codes

5.    Thorough testing of the program.

6.    Program documentation

It refers to writing of narrative procedures and instructions for users of the software.

User documentation should be reviewed for:

- Parity i.e. software and system behave as the documentation indicates.

  - Understandability.

 

7.    Program maintenance.

 

Tools

1.   

Represents program logic

 

Program Flow Charts. (Graphical Format)     

 

2.    Pseudo Code. (English-Like statements)

3.    Structure Chart. (Similar to organization chart ; No program logic)

4.    4GL Tools. (Automation of manual task)

5.    Object Oriented Programming & Designing Tools.

 

1)    Program Flow Chart: - Common design tools that manager, user encounter when reviewing the design work of system development project.

 

2)    Pseudo code: - After reviewing the work of designing, users may also need to review narrative descriptttion of program logic.

Represent - Program logic instead of using Graphical symbols, present the program logic in English and program code more closely. 

3)    Structure Chart: - Similar to Corporate organization chart.

4)    4GL Tools: - The various tools described above developed by manually applied method. Drawback of manually tools: -

a)     Lot of time to prepare. 

b)    Consistent              

             In 4GL –remove all drawbacks.

5)    Object Oriented: - Provide means of enhancing programmer productivity and reducing the application back log common in much organization.

Object oriented software design result in a model that describes:

 -Object

 -Classes

 -and their relationship to one another.

 

 System Testing done prior to installation of a system.  92

1)    Preparation of realistic test data.

2)    Processing the data (New Equipment).

3)    Checking the results

4)    Reviewing the results.

Preparation--------Processing-------- Checking--------- Reviewing

 (Test data)          (Data)                 (Results)            (Results)

 

System Implementation & Maintenance

 

System Implementation

The Process of ensuring that:

*      The information system is operational,

*      then allowing user to take over it operation

*      For use and evaluation

*      Called implementation.

Includes all activity that takes place to convert from the old system to the new.

 

Aspect of Implementation:

Components:

1)    Equipment installation   

2)    Training personnel

3)    Conversion procedure

4)    Post Implementation evaluation

Equipment Installation Activities

Activities:

1)    Site Preparation

2)    Equipment installation

3)    Equipment check out

 

Training Personnel

Ø      System operator training. [Trouble-shooting list i.e. list of probable errors & their remedies]

Ø      User training.

 

Change Over or Conversion

 “Conversion or changeover” is the process of changing from the old system to new system

Conversion Strategies

 

Direct Changeover:

Means on a fixed date the old system is dropped and new system is put into use.

Disadvantages:

1)    Risk         2)  Comparison

 

Parallel conversion :

 Means running the both system parallel.

Advantages:

a.    Checking        b. Security

Disadvantages:

1)    Cost         2)  Comparison of Output

Graphical conversion

Means attempt to combine the best feature without risk as earlier (1) and (2).

Advantages:

1)    Checking    2)  Detect Errors

2)    Disadvantages:        1)   Time Consuming

6)    Modular Prototype conversion :

Means all processes are distributed in separated module wise.

7)    Distributed conversion :

Means once entire conversion is done at one site, then other site are to be considered.

Advantages:              Detect Errors

Disadvantages:    Difference Problem

 

Activities Involved

1)    Procedure conversion.

2)    File conversion.

3)    System conversion.

4)    Scheduling personnel & equipment.

5)    Alternative plans in case of equipment failure.

 

Post Implementation Evaluation / Evaluation Of The New System

System Evaluation Provides:

The feedback necessary to assess-

1)    Value of information

2)    Performance of personnel

3)    Technology included in newly designed system.

 

Purpose / Basic dimensions of evaluation systems:

Basic dimension whether:

1)    Newly developed system is operation properly.

2)    User is satisfied.

 

Types Of Evaluation

 

1.    Development Evaluation

Ø      Whether the system was developed on schedule and with in budgets.

Ø      It requires schedules and budgets to be established in advance and that records of actual performance and cost be maintained.

Ø      Very few information systems have been developed on schedule and within budget

Ø      Many information systems are developed without clearly defined schedules or budgets.

 

2.    Operational Evaluation

Ø      Whether the Hardware, Software and Personnel are capable to perform their duties.

Ø      Operation evaluation is relatively straightforward if evaluation criteria are established in advance.

3.    Informational Evaluation

Ø      Objective to provide information to support the organizational decision system.

Ø      system evaluation is difficult and it cannot be conducted in a quantitative manner, as is the case with development and operation evaluations.

o       Using level of satisfaction as an evaluation tool

§         Information needs are met i.e. user is more satisfied

§         Information needs are not met i.e. user is dissatisfied 

 

System Maintenance  / Information system maintenance

 

Most of Information system requires at least some modification after development. The need arise from a failure to anticipate all requirement or from changing ORZ requirement.

System maintenance involves:

1)    Adding new data elements

2)    Modifying reports

3) Adding new reports

4) Changing calculation

Types Of Maintenance:

 

1)    Schedule Maintenance:

             Schedule maintenance is anticipated and can be planned for.

 

2)    Rescue Maintenance:

Rescue maintenance is not anticipated but require immediate solution.

 

Corrective maintenance :

 

Ø      Corrective maintenance deals with fixing bugs in the code or defects found.

Ø      A defect can result from design errors, logic errors; coding errors, data processing and system  performance errors.

Ø      The need for corrective maintenance is usually initiated by bug reports drawn up by the end users.

 

 

 

 

Adaptive maintenance :

 

Ø      Adaptive maintenance consists of adapting software to changes in the environment, such as the hardware or the operating system. 

Ø      The need for adaptive maintenance can only be recognized by monitoring the environment.

 

Perfective maintenance :

 

Ø      Perfective maintenance mainly deals with

accommodating to new or changed user requirements and

concerns functional enhancements

to the system and

activities to increase the system’s performance

or to enhance its user interface.

 

Preventive maintenance :

 

Ø      Preventive maintenance concerns activities aimed at

increasing the system’s maintainability,

such as updating documentation,

adding comments, and

  improving the modular structure of the system.

Ø      The long-term effect of corrective, adaptive and perfective changes increases the system’s complexity.

Ø      As a large program is continuously changed, its complexity, which reflects deteriorating structure, increases unless work is done to maintain or reduce it.

Ø      This work is known as preventive change.