Chapter 5
Chapter 5
1
Academy Ch. 5 – Acquisition, Development &
Implementation of Information System
1.4) - Reasons for failure of 1.5) - System Development 1.6) - Accountants Involvement
System Development Teams (D) in Development
1) Preliminary Investigation:
When the user comes across a problem in the existing system or a totally new requirement
for computerisation, he submits a formal request for the same to the IT department.
It consists of 3 parts:
Request Clarification: To determine what user wants by conducting investigation
through various fact finding techniques.
Feasibility Study: To evaluate alternative systems through cost benefit analysis.
Request Approval: Which system should be undertaken based on Feasibility Report of
the Analyst.
2) Requirement Analysis:
Once the request of system development is approved, user requirements are studied by
making use of fact finding tools & techniques such as Questionnaires, Interviews,
observation etc.
Analyst study the present system to identify its problems and short comings and identify
the features which new system should include satisfying user needs.
3) Design of system:
This activity evolves the methodology and steps to be included in the system to meet the
identified needs and requirements of the system.
The analyst designs various procedures, reports, input files and database structures and
prepares the comprehensive system design.
These specifications are then passed on to the development team for program coding & testing.
4) New Technologies:
When an organization applies advance Information technology, it generally finds that
attaining system development objectives is more difficult because personnel are not as
familiar with the technology.
b) Benefits:
The benefits, which result from developing new or improved information systems that can be
subdivided into tangible and intangible benefits.
IV)Strength:
1) Progress of system development is measurable.
2) It enables to conserves resources.
3) Sequential phases of development ensure the quality, reliability, adequacy &
maintainability of the developed software.
4) Ideal for supporting project teams:
Who are less experienced or
Whose composition fluctuates
V) Weakness:
1) Inflexible, slow, costly due to significant structure & tight controls.
2) Project progresses forward, with only slight movement backward.
3) Difficult to respond to changes that occur later in the life cycle.
4) Users may not be able to clearly define what they need early in the project.
5) Problems are often not discovered until system testing.
6) System performance cannot be tested until the system is almost fully coded.
7) Produces excessive documentation & updating them is time consuming.
VI) Weaknesses
1) Approval process and control are not strict.
2) Requirements may frequently change significantly.
3) Prototype may not have sufficient checks and balances incorporated.
4) Prototyping may cause behavioral problems with system users.
5) Prototyping fails to meet its objectives when users do not:
Devote significant time in experimenting with the prototype &
Provide system developers with change suggestions.
V) Weaknesses:
1) Each phase of an iteration is rigid and do not overlap each other.
2) Since some modules are completed much earlier than others, well-defined interfaces are
required.
3) There is a lack of overall consideration of the business problem and technical requirements
for overall system as mini waterfalls are performed for individual components.
4) It is difficult to demonstrate early success to management.
III) Applications:
The spiral model is intended for large, expensive and complicated projects.
Game development is a main area where the spiral model is used because of the size & the
constantly shifting goals of those large projects.
IV) Strengths
1) Enhance risk avoidance.
2) It can incorporate Waterfall, Prototyping, and Incremental methodologies as special cases
in the framework.
3) It is useful in helping for optimal deployment of a given software iteration based on project
risk.
4) Potential exists for using earlier iterations for risk reduction in next iteration.
5) Useful for large, expensive and complicated project.
V) Weaknesses
1) Challenges to determine the exact composition of development methodologies.
2) Highly customized to each project, and thus is quite complex, limiting reusability.
3) A skilled and experienced project manager required for applying it to any given project.
4) No established controls for moving from one cycle to another cycle.
5) No firm deadlines - cycles continue with no clear termination condition so there is an
inherent risk of not meeting budget or schedule.
IV) Strengths
1) The operational version of an application is available much earlier than other models.
2) RAD produces quality systems more quickly at lower cost.
3) Quick initial reviews are possible.
4) It concentrates on essential system elements from user viewpoint.
5) Provides the ability to rapidly change system design as demanded by users.
6) Ensures active user involvement.
7) Produces documentation necessary to facilitate future development and maintenance.
V) Weaknesses:
1) Fast speed and lower cost may affect adversely the overall system quality.
2) Project may end up with more requirements than needed.
3) Formal reviews and audits are more difficult to implement than for a complete system.
4) Since some modules are completed much earlier than others, well-defined interfaces are
required.
5) Tendency for difficult problems to be pushed to future to demonstrate early success.
IV) Strengths:
1) Concept of an adaptive team helps to respond to the changing requirements.
2) The documentation is crisp and to the point to save time.
3) Face to face communication with customer leaves no space for guesswork.
4) The end result is the high quality software in least possible time duration.
5) The team does not find that by the time they delivered the product, the requirement of the
customer has changed.
V) Weaknesses:
1) In some cases it is difficult to assess the efforts required at the beginning of the SDLC.
2) There is lack of emphasis on documentation.
3) Agile requires more re-work due to lack of long term planning.
4) The project can easily get off track if customer is not clear about final outcome they want.
5) Agile increases potential threats to business continuity and knowledge transfer.
3.1) - Preliminary 3.2) - System Requirement 3.3) - System Design 3.4) - System
Investigation Analysis Acquisition
Few aspects should be kept in mind, while eliciting information to delineate the scope:
1) Addressing the concerns of the initiator of the project should be the basis of the scope.
2) Understanding profile of users who may be from operating levels or senior level of
organisation for appropriate designing of user interface features.
3) Quantifying the economic benefits of the proposed solution for a problem to the user
organisation.
4) Understanding the impact of the solution on the organisation with respect to its structures,
roles and responsibilities.
5) Considering various other factors from the perspective of the user management. (for
e.g. Security)
The two primary methods used to analyse the scope of the project are:
1) Reviewing internal documents:
The analysts conducting the investigation first try to learn about the organization involved
in the project by examining organization charts and studying written operating procedures.
For example: To review an inventory system proposal, an analyst may try to know how does
the inventory department operates and who are the managers and supervisors.
2) Conducting Interviews :
Interviewing management and supervisory personnel helps analyst to understand :
Users' views about current operations
Nature of project request and reasons for submitting it.
Merits of proposed system
IV) Feasibility Study:
A feasibility study is carried out by the system analysts which refers to a process of
evaluating alternative systems through cost/benefit analysis so that the most feasible
and desirable system can be selected for development.
The following issues are typically addressed in the Feasibility Study:
Determine whether the solution is as per the business strategy.
Determine the approximate cost to develop the system.
Define the time frame for which the solution is required.
Determine whether the vendor product offers a solution to the problem.
Determine whether the existing system can be used without a major modification.
2) Technical Feasibility:
It is concerned with issues pertaining to hardware and software.
Analyst ascertains whether the proposed system is feasible with existing or expected
computer hardware and software technology.
The technical issues usually raised during the feasibility stage of investigation are:
Can the proposed application be implemented with existing technology?
Does the necessary technology exist to do what is suggested & can it be acquired?
Does the proposed equipment have the technical capacity to hold the data required to
use the new system?
Are there technical guarantees of accuracy, reliability, ease of access, and data
security?
Can the system be expanded if developed?
Will the proposed system provide adequate responses to inquires, regardless of the
number or location of users?
3) Economic Feasibility:
It includes an evaluation of all the incremental costs and benefits expected if the proposed
system is implemented.
The financial and economic questions raised by analysts during the preliminary
investigation are for the purpose of estimating the following:
The cost of conducting a full systems investigation.
The cost of hardware and software for the class of applications being considered.
The benefits in the form of reduced costs or fewer costly errors.
The cost if nothing changes (i.e., the proposed system is not developed)
After identifying possible solutions analyst should make estimate of costs and benefits for
each solution.
4) Schedule or Time Feasibility:
It involves design team, estimating how long it will take for a new or revised system to
become operational and communicating this information to the steering committee.
5) Resources Feasibility:
This focuses on acceptance of proposed software by human resources.
Implementing sophisticated software solutions becomes difficult at specific locations
because of the reluctance of skilled personnel to move to such locations.
6) Operational Feasibility :
It is concerned with ascertaining the views of workers, employees, customers and suppliers
about the use of computer facility.
Some of the questions which help in testing the operational feasibility of a project are stated
below:
Have the users been involved in planning and development of the project?
Is there sufficient support for the system from management and from users?
Will individual performance be poorer after implementation than before?
Are current business methods acceptable to users?
Will proposed system result in loss of control result in any areas?
7) Behavioral Feasibility:
Systems are designed to process data and produce the desired outputs.
However, if the data input for the system is not readily available or collectable, then the
system may not be successful.
8) Legal Feasibility:
Legal feasibility is concerned with whether there will be any conflict between a newly
proposed system and the organization’s legal obligations.
Any system, which is liable to violate the local legal requirements, should be rejected.
For example: A system should comply with all applicable statutes about financial and
statuary reporting requirements, as well as the company’s contractual obligations.
V) Reporting Results to Management:
After the analyst articulates the problem and its scope, s/he:
Provides one or more solution alternatives,
Estimates the cost and benefits of each alternative, &
Reports these results to the management
The report should be accompanied by a short cover letter that summarizes the results and
makes the recommendation regarding further procedures.
From the analyst's report, management should determine further course of action.
VI) Internal Control Aspects:
Management implements proper internal control to ensure business objectives.
Business objectives will be achieved when there is:
Proper understanding of controls during planning &
Effective implementation of those controls during the development of system.
For validating control aspects in system entity may have internal audit team or outside experts.
Review by external consultant:
Is more independent &
Brings his expertise to entity
Key control queries regarding various aspects at this stage may include the following:
Whether problem definition is proper?
Whether all feasibility studies have been properly done?
Whether results of feasibility studies have been documented?
B) Document/Deliverable:
A Systems Requirements Specification Report.
C) The steps involved in the System Requirement Analysis phase are as follows:
I) Fact Finding:
To assess needs / requirements of user, various fact-finding techniques are used by system
analyst such as:
1) Documents:
Document includes-
Manuals, forms, diagrams of how the current system works,
Organization charts showing hierarchy of users and manager responsibilities,
Job descriptions for the people who work with the current system,
Procedure manuals, program codes for the applications associated with current
system,
Documents are a good source of information about user needs and the current system.
2) Questionnaires:
Questionnaires can be used to collect large amount of data through variety of users quickly.
Questionnaires are generally chosen when traditional model of system development
approach is selected.
3) Interviews:
Users and managers are interviewed to extract information in depth.
Information through interviews often provides system developer with a complete picture of
the problems and opportunities.
Interviews give analyst the opportunity to observe and record the first hand user reaction.
4) Observation:
In prototyping approaches, observation plays a central role in requirement analysis.
Only by observing how users react to prototypes of a new system, the system can be
successfully developed.
2) User interface:
These tools help to design the interface between end users and the computer system
User interface tools consists of following:
a) Layout forms and screens: These are used to construct the formats & contents of
input/output media.
b) Dialogue flow diagrams: Dialogue flow diagrams analyze the flow of dialogue between
computers and people.
3) Data attributes and relationships:
These tools are used to define, catalogue and design the data resources in information
system.
Data attributes and relationship tools consists of:
a) Data Dictionary: It catalogs the description of the attributes of data elements & their
relationships to each other.
b) Entity-relationship diagrams: These are used to document the number and type of
relationship among entities in a system.
c) File layout forms: They document the type, size, and names of the data elements in a
system.
4) Detailed system process :
These tools are used to help the programmer develop detailed procedures and processes
required in the design of a computer program
Detailed system process tools consists of:
a) Decision trees: Decision Tree is a support tool that uses a tree-like model of decisions &
their possible consequences.
b) Decision table: It defines the possible contingencies/conditions that may be considered
within the program and the appropriate course of action for each contingency.
c) Structure charts: It documents the purpose, structure and hierarchical relationships of
the modules in a program
2 Data flows
3 Transformation Process
4 Data Storage
These four symbols are combined to show how data are processed.
4) Decision Tree:
Decision Tree is a support tool that uses a tree-like model of decisions & their possible
consequences.
Decision tree is commonly used in operations research, specifically in decision analysis to
identify a strategy most likely to reach the goal.
5) Decision Table:
A Decision Table defines the possible contingencies/conditions that may be considered
within the program and the appropriate course of action for each contingency.
The four parts of the decision table are as follows :
a) Condition Stub- This comprehensively lists the conditions.
b) Action Stub- This comprehensively lists the actions to be taken.
c) Condition entries- This lists in its various columns the possible permutations of answer
to the questions in the conditions stub.
d) Action entries-This lists in its columns corresponding to the condition entries the
actions contingent upon the set of answers to questions of that column.
8) Data Dictionary :
Data Dictionary is also known as metadata.
A data dictionary contains descriptive information about the data items in the files of a
business information system.
Thus a data dictionary is a computer file about data.
The information includes the:
Identity of the source documents used to create the data item,
Names of the computer files that store the data item,
Name of the computer program that modify the data items,
Identity of the individuals permitted to access the data item for the purpose of file
maintenance.
Users of Data Dictionary:
Useful for auditors as it helps to establish an audit trail as it can identify the input
sources of data items, computer programs that modify particular data items, and the
managerial reports on which the data items are output.
Useful for accountants participating in the design of a new system to plan the flow of
transaction data through the system.
V) Systems Specification:
At the end of the analysis phase, the systems analyst prepares a document called Systems
Requirement Specifications (SRS).
A SRS contains the following:
1) Introduction:
Goals, Objectives and Scope of computer based system.
2) Information Description:
Problem description;
Information content, flow & structure;
Hardware, Software, Human interfaces for external system elements.
3) Functional Description:
Diagrammatic representation of functions,
Interplay among functions,
Design Constraints
4) Behavioural Description:
Response to internal controls.
5) Validation Criteria:
Classes of tests to be performed to validate functions, performance and constraints.
6) Appendix:
Tabular Data,
Detailed description of algorithms charts.
Graphs and other such material.
7) SRS Review:
The development team hands over the SRS document to the user for review.
The review reflects the development teams understanding of the existing processes.
Only after ensuring that the document represents existing processes accurately, should the
user sign the document.
3) Project Leader:
Project leader is dedicated to a project ensuring its completion & fulfilment of objectives.
4) Systems Analyst / Business Analyst:
The systems analysts main responsibility is to conduct interviews with users and
understand their requirements.
He is a link between the users and the designers/programmers, who converts the users’
requirements in the system requirements.
5) Module Leader / Team Leader:
A project is divided into several manageable modules, & the development responsibility
for each module is assigned to Module Leaders.
Module leaders are responsible for the delivery of tested modules within the stipulated
time and cost.
6) Programmer / Coder / Developer:
Programmer is a mason of the software industry who converts design into programs by
coding using programming language.
Programmer also tests the program for debugging activity to assure correctness and
reliability.
7) Database Administrator (DBA):
Database Administrator:
Handles multiple projects &
Ensures the integrity and security of information stored in the database.
Inclusion of new data elements has to be done only with the approval of the DBA.
8) Quality Assurance :
This team sets the standards for development, and checks compliance with these
standards by project teams on a periodic basis.
9) Tester:
Tester is junior level quality assurance personnel who tests programs & subprograms as
per the plan given by the module / project leaders and prepare test reports.
10) Domain Specialist:
Whenever a project team has to develop an application in a field that’s new to them, they
take the help of a domain specialist.
11) IS Auditor :
IS Auditor ensures that the application development focuses on the control perspective.
He should be involved at the Design Phase & the Final Testing Phase to ensure the
existence and the operations of the Controls in the new software.
Once the detailed design is completed, the design is then distributed to the system
developers for coding.
B) Objective:
Designing an Information System that best satisfies the user/ managerial requirements.
System Design describes:
Parts of the system & their interaction,
Implementation of system using the chosen hardware, software & network,
Programs and database specifications
Security plan
Change control mechanism to prevent uncontrolled entry of new requirements.
C) Document / Deliverable:
Blueprint for the design with the necessary specifications for the hardware, software,
people and data resources.
D) Activities:
The key and generic design phase activities include:
Describing inputs and outputs such as screen design and reports
Determining the processing steps and computation rules for the new solution
Determining data file or database system file design
Information criteria defined
Key design phase activities include –
1) Architectural Design:
Architectural design deals with the organisation of application in terms of hierarchy of
modules and sub modules.
>
b) Data Modelling Conceptual Models is translated into data models so that it can be
accessed & manipulated by high-level and low- level programming
languages.
c) Storage Structure Decisions must be made on how to linearize (logically arrange) and
Design partition the data structure so that it can be stored on some device.
d) Physical Layout Decisions are made on how to distribute the storage structure across
design specific storage media and locations. For example, the cylinders, tracks,
and sectors on a disk and the computers in a LAN or WAN.
4) Physical Design:
For the physical design, the logical design is transformed into units, which in turn can be
decomposed further into implementation units such as programs and modules.
Some of the issues addressed here are:
Type of hardware for client & server application.
Operating systems to be used.
Type of networking.
Type of processing (batch, real time).
Frequency of input, output.
Design Principles applied to develop the design of typical Information System:
One should design two or three alternatives & choose the best one.
The design should be based on the analysis.
The design should be modular.
The software functions designed should be directly relevant to business activities.
The design should follow standards laid down. (E.g. User interface should have consistent
colour scheme, menu structure)
Modularity:
A module is a manageable unit containing data & instructions to perform a defined task.
Interaction among modules is based on well-defined interfaces.
Modularity is measured by two parameters:
Cohesion- refers to the manner in which elements within a module are linked
Coupling- is a measure of the interconnection between modules. It refers to the
number and complexity of connections between ‘calling’ and ‘called’ modules.
Important factors in Input / Output design which should be considered by the system
analyst while designing user input/ output forms are as follows:
Characteristic Definition Input Design Output Design
Content It refers to the actual The analyst should consider Example: Weekly
pieces of data to be the types of data that are output report to a Sales
gathered to produce the needed to be gathered to manager might consist
required user output. generate desired user of sales person's name,
outputs. sales calls made by
each sales person
during the week,
amount of each
product sold by each
salesperson.
Timeliness It refers to when users Data should be inputted to Example:
need outputs, which may computer in time because A sales manager may
be required on a regular outputs cannot be require a weekly sales
periodic basis. produced until certain report.
inputs are available. Hence, Airline agents, require
a plan must be established real- time information.
accordingly.
Media It refers to the physical It involves the choice of Variety of output
device used for input, input media and media available in the
output & storage. subsequently the devices to market include paper,
enter the data. User input video display, and
alternatives include key- voice output
boards, optical character
recognition, pen-based
computers and voice input
etc.
Form Input Form refers to the Forms are pre-printed papers Output form should be
way the information is that require people to fill in decided keeping in
inputted. responses in standardized view the requirements
Output Form is the way way. of the concerned user.
information is presented Forms serve as source For example –
to users.(e.g. text, documents for the data Managers can use
graphics, video, audio) entry personnel. graph to analyse the
trend.
Input Volume / Input -Amount of data that In some DSS and many real- If the output volume is
Output Volume has to be entered in the time processing systems, heavy, it is better to
computer at any one time. input volume is light. use high speed printer.
Output-Amount of data In batch-oriented
output required at any one transaction processing
time. systems input volume could
be heavy.
A) Acquisition Standards:
Management should establish acquisition standards which should focus on:
Ensuring security, reliability, and functionality built into a product.
Ensuring managers do complete review of vendors & contract.
Ensuring that acquiring products are compatible with existing systems.
Invitations-to-tender soliciting bids from vendors when acquiring hardware or
integrated systems of hardware and software.(Aim of ITT is to get the lowest bid)
Request-for-proposals soliciting bids when acquiring third-party developed software.
(RFP means asking vendors to submit proposals for the requirements mentioned)
Besides these, some specific considerations for hardware and software acquisition
are described as follows:
1) The benchmark tests to be done for proposed machine. For hardware there are specified
standard benchmark tests defined based on the nature of hardware.
2) The benchmarking problems are oriented towards testing whether a computer offered by
the vendor meets the requirements of the job on hand of the buyer.
3) The benchmarking problems would then comprise long jobs, short jobs, printing jobs,
mathematical problems, input and output loads etc., in proportion typical of the job mix.
4) If the job is truly represented by the selected benchmarking problems, then this approach
can provide a realistic and tangible basis for comparing all vendors’ proposals.
5) Tests should enable buyer to evaluate cross performance of various systems in terms of:
Hardware performance (CPU and input/output units)
Compiler language and operating system capabilities
Diagnostic messages
Effectiveness of software utilities
6) Benchmarking problems, however, suffer from a couple of disadvantages as follows:
It takes considerable time and efforts to select problems representative of the job mix
which itself must be precisely defined.
It also requires the existence of operational hardware, software and services of
systems.
e) Test problems:
Test problems disregard actual job mix & are devised to test the true capabilities of the
hardware, software or system.
The results achieved by the machine can be compared & price-performance judgement can
be made.
F) Programming Language:
Application programs are coded on the form of statements or instructions and the same is
converted by the compiler to object code for the computer to understand and execute.
The programming languages commonly used are as follows:
High – level general purpose programming language such as COBOL and C language
Object oriented languages such as C++, JAVA etc
Scripting language like JAVA Script, VB Script
Decision Support or Expert System languages like PROLOG
Choice of Programming Language is made n the basis of following criteria :
Basis of application area
Algorithmic complexity
knowledge of software development staff
Capability of in-house staff for maintenance
G) Program Debugging:
Debugging refers to correcting programming language syntax and diagnostic errors so that
the program compiles cleanly.
A clean compile means that the program can be successfully converted from the source
code written by the programmer into machine language instructions.
Debugging can be a tedious task consisting of following four steps:
Inputting the source program to the compiler
Letting the compiler find errors in the program
Correcting lines of code that are erroneous
Resubmitting the corrected source program as input to the compiler
I) Program Documentation:
Program documentation involves writing of narrative procedures and instructions for
people who will use software. This is done throughout the program life cycle.
Managers and users should carefully review documentation in order to ensure that the
software and system behave as the documentation indicates.
J) Program Maintenance:
The requirements of business data processing applications are subject to continual change.
This calls for modification of the various programs which is done by maintenance
programmers.
3.6) Testing
Testing is a process used to identify the correctness, completeness and quality of
developed computer software
Testing should systematically uncover different classes of errors in a minimum amount of
time and with a minimum amount of effort.
Different levels of Testing are as follows:
A)- Unit Testing B)– Integration Testing C) –System Testing D) –Final Acceptance E) –Internal Testing
Testing Control
A) Unit Testing:
A unit is the smallest testable part of an application which may be an individual program,
function, procedure, etc.
Unit tests are typically written and run by software developers to ensure that code meets
its design and behaves as intended.
The goal of unit testing is to isolate each part of the program and show that the individual
units of source code are correct.
There are five categories of tests that programmer typically performs on a program unit:
1) Functional Tests:
Functional Tests check whether programs do what they are supposed to do or not.
The test plan specifies input values, operating conditions & expected results, and
accordingly programmer checks by inputting the values to check whether the actual result
match with expected result.
2) Performance Tests:
Performance Tests should be designed to verify the response time, execution time,
primary and secondary memory utilization, traffic rates on data channels and
communication links.
3) Stress Tests:
Stress testing is a form of testing that is used to determine the stability of a given system.
It involves testing beyond normal operational capacity, often to a breaking point.
4) Structural Tests:
Structural Tests are concerned with examining the internal processing logic of a software
system. (E.g. for tax calculation, the verification of the logic is a structural test.)
5) Parallel Tests:
In Parallel Tests, the same test data is used in the new and old system and the output
results are then compared.
B) Integration Testing:
Integration testing is an activity of software testing in which individual software modules
are combined and tested as a group.
It occurs after unit testing and before system testing with an objective to evaluate the
connection of two or more components that pass information from one area to another.
This is carried out in the following manner:
1) Bottom-up Integration:
Bottom-up integration is used to integrate the components of a software system into a
functioning whole.
It consists of unit testing, followed by sub-system testing, & then testing of the entire
system.
Bottom-up testing is easy to implement as at the time of module testing, tested
subordinate modules are available.
The disadvantage is that testing of major control points is deferred to a later period.
2) Top-down Integration:
Top - down integration starts with the main routine and stubs are substituted for the
modules, directly subordinate to the main module.
Stubs are incomplete portion of program code that is put under function to allow the
function and the program to be compiled and tested.
Once the main module testing is complete, stubs are substituted with real modules one by
one, and these modules are tested.
The difficulty arises in the top-down method, because the high-level modules are tested, not
with real outputs from subordinate modules, but from stubs.
3) Regression Testing:
Regression Testing is performed when a new module is added or any modification is made
to the existing software.
New data flow paths are established, new I/O may occur.
These changes may cause problems with functions that previously worked flawlessly.
This testing ensures that changes or corrections have not introduced new faults.
The data used for the regression tests should be the same as the data used in the
original test.
C) System Testing:
System testing is a process in which software & other system elements are tested as a
whole.
The purpose of system testing is to ensure that the new or modified system functions
properly.
The types of testing that might be carried out are as follows :
1) Recovery Testing:
To verify how well the application is able to recover from crashes, hardware failures etc.
Recovery testing is the forced failure of the software in a variety of ways to verify that
recovery is properly performed.
2) Security Testing:
To check whether the Information System protects data & maintains functionality as intended.
It ensures the existence and proper execution of access controls in the new system.
The six basic security concepts that need to be covered by security testing are:
Confidentiality Availability Authorization
Integrity Authentication Non-repudiation
4) Performance Testing:
Software performance testing is used to determine the speed or effectiveness of a
computer, network, software program.
This testing technique compares the new system's performance with that of similar systems
using well defined benchmarks.
B) Document / Deliverable :
A full documented system in its operational environment.
Implementation includes all those activities that take place to convert from the old system to
the new.
C) Activities:
The activities involved in System Implementation are as follows:
Conversion of data to the new System changeover
system files Evaluation of the system a regular
Training of end users intervals
Completion of user documentation
Some of the generic activities involved in system implementation stage are described
briefly as follows:
1) Equipment Installation:
Hardware required to support the new system is selected prior to implementation phase.
Hardware should be ordered in time to allow installation and testing of equipment during
the implementation phase.
Adequate time should be scheduled to allow completion of the following activities :
a) Site Preparation:
An appropriate location must be selected to provide an operating environment for the
equipment that will meet the vendor's temperature, humidity & dust control specifications.
b) Installation of New Hardware / Software:
The equipment must be physically installed by the manufacturer, connected-to the power
source and wired to communication lines, if required.
c) Equipment Checkout:
The equipment must be turned on for testing under normal operating conditions.
Though the routine 'diagnostic tests' should be run by the vendor, the implementation in-
house team should devise and run extensive tests of its own to ensure that equipment
functionalities in actual working conditions.
2) Training Personnel:
A system can succeed or fail depending on the way it is operated and used.
Thus training is a major component of systems implementation.
When a new system is acquired which often involves new hardware and software, both
users and computer professionals generally need some type of training which are often
imparted through classes, which may be organised by vendors.
3) System Change-
Conversion or changeover is the process of changing over or shifting over from the old
system (may be the manual system) to the new system.
The Four types of popular implementation strategies are described as follows:
a) Direct Implementation / Abrupt Change-Over:
This is achieved through an abrupt takeover – an all or nothing approach.
With this strategy, the changeover is done in one operation, completely replacing the old
system in one go.
Direct Implementation which usually takes place on a set date.
b) Phased Changeover:
In this implementation strategy conversion to the new system taking place gradually.
For example - some new files may be converted and used by employees while other files
continue to be used on the old system i.e. new is brought in stages (phases).
If each phase is successful then the next phase is started, eventually leading to the final
phase when the new system fully replaces the old one.
c)Pilot Changeover:
In this, the new system replaces the old one in one operation but only on a small scale.
If successful then the pilot is extended until it eventually replaces the old system completely.
Any errors can be rectified or further beneficial changes can be introduced and replicated
throughout the whole system in good time with the least disruption.
For example - it might be tried out in one branch of the company or in one location.
d) Parallel Changeover:
This is considered the most secure method with both systems running in parallel over an
introductory period.
The old system remains fully operational while the new systems come online.
If all goes well, the old system is stopped and new system is carried on as the only system.
2) Operation evaluation:
The evaluation of the information system's operation pertains to whether the hardware,
software and personnel are capable to perform their duties.
It tries to answer the questions related to functional aspects of the system.
Example- whether system is supporting 100 terminals.
3) Information evaluation:
The objective of an information system is to provide information to support the
organizational decision system.
Therefore the extent to which information provided by the system is supportive to
decision making is the area of concern in evaluating the system.
System Maintenance:
Most information systems require at least some modification after development.
The need for modification arises from a failure to anticipate all requirements during system
design and/or from changing organizational requirements
Maintenance can be categorized in the following ways:
1) Scheduled Maintenance:
Scheduled maintenance is anticipated and can be planned for operational continuity &
avoidance of anticipated risks
2) Rescue Maintenance:
Rescue maintenance refers to previously undetected malfunctions that were not
anticipated but require immediate solution.
3) Corrective Maintenance:
It deals with fixing bugs in the code or defects found during the executions.
A defect can result from design errors, logic errors, coding errors etc.
Corrective maintenance is usually initiated by bug reports drawn up by the end users.
4) 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.
5) 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.
6) Preventive Maintenance:
Preventive maintenance concerns activities aimed at increasing the system’s
maintainability, such as updating documentation, adding comments.
As a large program is continuously changed, its complexity increases unless work is done
to maintain or reduce it.
This work is known as preventive maintenance.
Shortcomings and anticipated risks associated with the SDLC are as follows:
1) The development team may find it cumbersome.
2) The users may find that the end product is not visible for a long time.
3) The rigidity of the approach may prolong the duration of many projects.
4) It may not be suitable for small and medium sized projects.
Important Questions:
1) Discuss the key characteristics of Waterfall Model in brief. Also explain its major
strengths & weaknesses.
2) Briefly explain Prototyping approach and its major strengths.
3) What is Rapid Application Development? Discuss its strengths and weaknesses in brief.
4) Explain major strengths and weaknesses of Spiral model.
5) What do you understand by agile model of software development? Also explain its major
strengths and weaknesses in brief.
6) State and briefly explain the stages of System Development Life Cycle (SDLC).
7) The top management of company has decided to develop a computer information system
for its operations. Is it essential to conduct the feasibility study of system before
implementing it? If answer is yes, state the reasons. Also discuss three different angles
through which feasibility study of the system is to be conducted.
8) What are the possible advantages of SDLC from the perspective of IS Audit?
9) What are the major aspects that need to be kept in mind while eliciting information to
delineate scope?
10) System Analysts use various fact-finding techniques for determining the needs/
requirements of a system to be developed. Explain these techniques in brief.
11) Discuss in detail, how the analysis of present system is made by the system analyst?
12) Explain two primary methods used for the analysis of the scope of a project in SDLC.
13) What are the major objectives of system requirements analysis phase in the SDLC?
14) Describe briefly four categories of major tools that are used for system development.
15) Bring out the reasons as to why organizations fail to achieve their Systems Development
Objectives?
16) Discuss major characteristics of a good coded program in brief.
17) What is Unit Testing? Explain five categories of tests that a programmer typically performs
on a program unit.
18) Explain the following testing techniques:
a) Black Box Testing
b) White Box Testing
c) Gray Box Testing
19) Explain different changeover strategies used for conversion from old system to new
system.
20) Discuss briefly, various activities that are involved for successful conversion with respect to
a computerized information system.
21) Discuss the roles of the following with reference to SDLC:
a) Steering Committee
b) System Analyst
c) Database Administrator
d) IS Auditor
22) Write short notes on the following:
a) Final Acceptance Testing
b) Static Testing
c) Regression Testing
d) System Testing
e) Preventive Maintenance
f) Data Dictionary