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
-
System Development Methodology
-
Preliminary Investigation
Feasibility
-
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.
|
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
-
System Flow Chart (Documents flow of system & information processing procedures)
Presented by variety of symbols & connecting arrows.
-
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
-
Lay out forms & screens (Pre printed forms)
Used to design source document, output, display.
-
System Components Matrix
Highlights basic activities of a system. e.g. – Input, Processing, Output & Storage
-
CASE Tools (Automation of anything that human do to develop systems)
-
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
-
System Components & Flows – System analyst to documents the data flow through flow chart
2. User Interface - designing the user interface in user and computer.
-
Data attributes & relationships - a data dictionary catalogs
-
Detailed system process - help to programmer to develop tools
Systems Design
-
Review System’s Requirements –
-
Information & b. Functional Requirement
-
Information & b. Functional Requirement
-
Developing a model –
-
Contents Logical / Physical
-
Process of Output from Input.
-
Contents Logical / Physical
-
Reporting to Management
(1) (2) (3)
Review --------Develop-------Report
-
Physical
Design
Logical Design
|
Displayed
Output (Report, Document, Message)
Printed
Objectives
-
Convey Information
i. Past
ii. Current &
iii. Future Projections
-
Signal important
i. events
ii. Opportunities
iii. Problem or warning
-
Trigger an action
-
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,
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.
|
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.
|
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)
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.