CHAPTER 5-Systems Development and Program Change Activities
CHAPTER 5-Systems Development and Program Change Activities
CHAPTER 5-Systems Development and Program Change Activities
Province of Rizal
Binangonan Campus
COLLEGE OF ACCOUNTANCY
Chapter 5: Systems
Development and Program
Change Activities
Submitted by:
Camposano, Christin
Centillas, Robert
Mendoza, French Aira C.
BSA 3-2
Submitted to:
Prof. Liberty Ocampo
0
Chapter 5: System Development and Program Change Activities
Learning Objectives:
1
Chapter 5: System Development and Program Change Activities
Introduction:
One of the most valuable assets of the modern business organization is a
responsive, user-oriented information system. A well-designed system can increase
productivity, reduce inventories, eliminate non value-added activities, improve customer
service and management decisions, and coordinate activities throughout the
organization.
This chapter concludes our treatment of general control issues as they relate
to management and auditor responsibilities under SOX Section 404. It begins
by describing the roles of the participants involved in developing an organization’s
information system, including systems professionals, users, and stakeholders. Then it
outlines the key activities that constitute the systems development life cycle (SDLC).
These include systems planning, systems analysis, conceptual design, system
selection, detailed design, system implementation, and program change procedures
(systems maintenance). This multistage procedure is used to guide systems
development in many organizations. Finally, it discusses SDLC risks, controls, and audit
issues.
2
How Are Accountants Involved with the SDLC?
In-House Development
Many organizations require systems that are highly tuned to their unique operations.
These firms design their own information systems through in-house systems
development activities. In-house development requires maintaining a full-time
systems staff of analysts and programmers who identify user information needs and
satisfy their needs with custom systems.
Commercial Systems
A growing number of systems are purchased from software vendors. Faced with
many competing packages, each with unique features and attributes, management
must choose the system and the vendor that best serve the needs of the
organization. Making the optimal choice requires that this be an informed decision.
Turnkey systems are pre-built and thoroughly tested systems ready for
3
implementation. They can be general or industry-specific, with limited customization
options. Users may have basic customization choices or the option to buy source
code for further modifications, often at an extra cost.
General accounting systems are mass-produced by vendors to cut costs
compared to in-house development. They offer modules like accounts payable,
receivable, payroll, and inventory control, allowing flexibility for different business
needs.
Office automation systems are computer systems that improve the productivity of
office workers. Examples of office automation systems include word processing
packages, database management systems, spreadsheet programs,and desktop
publishing systems.
● Implementation. Custom systems take time to develop in-house and may lead
to unmet needs if future requirements aren't anticipated. Commercial software
can be implemented quickly, meeting user needs without delay.
● Cost. In-house development costs are shouldered by a single user, while
commercial software costs are spread across many users, resulting in lower unit
costs.
● Reliability. Most reputable commercial software undergoes thorough testing
before release, with any remaining errors usually found and fixed by user
organizations soon after. Overall, commercial software is less error-prone than
in-house systems.
4
● Independence. Buying a vendor-supported system means relying on the vendor
for maintenance. However, there's a risk of the vendor ending support or going
out of business, which is a major drawback.
● The need for customized systems. In-house development allows for precise
customization to meet specific needs, a benefit lacking in commercial software
which may be too general or inflexible for unique and complex requirements.
● Maintenance. Commercial software may struggle to adapt to frequent changes
in business needs, while in-house development provides proprietary applications
that are economically maintainable and flexible to evolving requirements.
Systems Planning—Phase I
Systems planning aims to align individual system projects with the strategic
objectives of the firm, typically based on the organization's business plan. The IT
strategic plan, derived from and aligned with the business plan, guides the analysis
of systems projects.
5
Who Should Do Systems Planning?
Firms serious about systems planning establish a steering committee comprising
top executives, user area management, auditors, and external consultants. Typical
responsibilities for a steering committee include the following:
● Resolving conflicts that arise from new systems
● Reviewing projects and assigning priorities
● Budgeting funds for systems development
● Reviewing the status of individual projects under development
● Determining at various checkpoints throughout the SDLC whether to continue
with the project or terminate it
Systems planning occurs at two levels: strategic systems planning and project
planning.
6
Project Planning
Project planning aligns resources with the strategic plan by identifying needs,
assessing feasibility, prioritizing projects, and scheduling tasks. Its goal is efficient
resource allocation. Key documents include the project proposal, outlining system
recommendations and alignment with business objectives, and the project schedule,
detailing time and cost estimates for each SDLC phase. Success depends on a
diverse and competent team.
Systems Analysis—Phase II
Systems analysis, the second SDLC phase, involves evaluating the current system
and assessing user needs. It's crucial for the analyst to understand the business
problem fully to propose an effective solution. This phase lays the foundation for the
entire SDLC, ending with a formal report detailing findings and recommendations for
the new system.
7
Gathering Facts
The survey of the current system is essentially a fact-gathering activity. The facts
gathered by the analyst are pieces of data that describe key features, situations,
and relationships of the system. System facts fall into the following broad classes.
• Data sources
• Users
• Data stores
• Processes
• Data flows
• Controls
• Transaction volumes
• Error rates
• Resource costs
• Bottlenecks and redundant operations
Fact-Gathering Techniques
Systems analysts employ several techniques to gather the previously cited facts.
Commonly used techniques include observation, task participation, personal
interviews, and reviewing key documents.
• Open-ended questions let users explain problems and suggest solutions, though
analyzing answers can be challenging. The analyst needs to be a good listener and
focus on key facts.
• Questionnaires ask specific questions to gather detailed, objective facts about
procedures, transaction volumes, data sources, report users, and control issues.
• Organizational charts
• Job descriptions
• Accounting records
8
• Charts of accounts
• Policy statements
• Descriptions of procedures
• Financial statements
• Performance reports
• System flowcharts
• Source documents
• Transaction listings
• Budgets
• Forecasts
• Mission statements
9
The Auditor’s Role in Systems Analysis
Auditors are stakeholders in system proposals and require involvement in the needs
analysis phase to assess suitability for advanced audit features. Integration of
Computer-Assisted Audit Techniques (CAATTs) like embedded audit modules
discussed in Chapter 8 should occur during the SDLC.
10
The Object-Oriented Approach
The object-oriented design (OOD) approach is to build information systems from
reusable standard components or objects. This approach may be equated to the
process of building an automobile. Car manufacturers do not create each new
model from scratch.
Concept of Reusability is central to the object-oriented approach to systems
design, allowing standard modules to be used in multiple systems with similar
needs. Ideally, the organization’s systems professionals will create a library
(inventory) of modules that can be used by other system designers within the firm.
The benefits of this approach include reduced time and cost for development,
maintenance, and testing and improved user support and flexibility in the
development process.
The procedure for selecting the one system from the set of alternative conceptual
designs that will go to the detailed design phase. The systems evaluation and
selection phase is an optimization process that seeks to identify the best system.
This decision represents a critical juncture in the SDLC.
Purpose - to structure this decision-making process and thereby reduce both
uncertainty and the risk of making a poor decision. The evaluation and selection
process involves two steps:
1. Perform a detailed feasibility study
2. Perform a cost-benefit analysis
11
new system. This may require adopting new procedures and retraining operations
personnel. Question that must be answered - Can adequate procedural changes be
made, sufficient personnel retrained, and new skills obtained to make the system
operationally feasible?
5. Schedule Feasibility - relates to the firm's ability to implement the project
within an acceptable time. This impacts both the scope of the project and whether it
will be developed in-house or purchased from a software vendor.
2. Perform a Cost-Benefit Analysis
It helps management determine whether (and by how much) the benefits
received from a proposed system will outweigh its costs. This technique is
frequently used for estimating the expected financial value of business investments.
Three steps in the application of cost-benefit analysis: identify costs, identify
benefits, and compare costs and benefits.
1. Identify Costs. One method of identifying costs is to divide them into two
categories: one-time costs and recurring costs.
a. One-time costs include the initial investment to develop and
implement the system.
b. Recurring costs include operating and maintenance costs that recur
over the life of the system.
One-time costs include the following:
• Hardware acquisition - includes the cost of mainframe, minicomputers,
microcomputers, and peripheral equipment, such as tape drives and disk packs. Cost
figures can be obtained from the vendor.
• Site preparation - involves such frequently overlooked costs as building modifications
(e.g., adding air conditioning or making structural changes), equipment installation
(which may include the use of heavy equipment), and freight charges. Estimates of
these costs can be obtained from the vendor and the subcontractors who do the
installation.
• Software acquisition - apply to all software purchased for the proposed system,
including operating system software (if not bundled with the hardware), network control
software, and commercial applications (such as accounting packages). Estimates of
these costs can be obtained from vendors.
• Systems design - cost incurred by systems professionals performing the planning,
analysis, and design functions. Technically, such costs incurred up to this point are
“sunk” and irrelevant to the decision. The analyst should estimate only the costs needed
to complete the detailed design.
• Programming and testing - Programming costs are based on estimates of the
personnel hours required to write new programs and modify existing programs for the
proposed system. System testing costs involve bringing together all the individual
program modules for testing as an entire system.
• Data conversion - arise in the transfer of data from one storage medium to another.
For example, the accounting records of a manual system must be converted to
magnetic form when the system becomes computer-based. This can represent a
significant task. The basis for estimating conversion costs is the number and size of the
files to be converted.
12
• Training - involve educating users to operate the new system. In-house personnel
could do this in an extensive training program provided by an outside organization at a
remote site or through on-the-job training. The cost can be easily obtained. The cost of
an in-house training program includes instruction time, classroom facilities, and lost
productivity. This cost is often the first one cut to meet budgets, and such an action can
be fatal to systems development.
Recurring costs include the following:
• Hardware maintenance - involves the upgrading of the computer (increasing the
memory), as well as preventive maintenance and repairs to the computer and peripheral
equipment.
• Software maintenance - include upgrading and debugging operating systems,
purchased applications, and in-house developed applications. Maintenance contracts
with software vendors can be used to specify these costs fairly accurately. Estimates of
in-house maintenance can be derived from historical data.
• Insurance - covers such hazards and disasters as fire, hardware failure, vandalism,
and destruction by disgruntled employees.
• Supplies - incurred through routine consumption of such items as paper, magnetic
disks, CDs, and general office supplies.
• Personnel costs - the salaries of individuals who are part of the information system.
2. Identify Benefits. These may be both tangible and intangible.
a. Tangible benefits fall into two categories: those that increase revenue and
those that reduce costs.
3. Compare Costs and Benefits. The two most common methods used for
evaluating information systems are net present value and payback.
a. Net present value method - is deducted from the present value of
the benefits over the life of the system. Projects with a positive net
present value are economically feasible. When comparing
competing projects, the optimal choice is the project with the
greatest net present value.
b. Payback method - variation of break-even analysis. The
break-even point is reached when total costs equal total benefits.
13
Prepare Systems Selection Report
- deliverable product of the systems selection process
- a formal document consists of a revised feasibility study, a cost-benefit analysis,
and a list and explanation of intangible benefits for each alternative design
The Auditor’s Role in Evaluation and Selection
The primary concern for auditors is that the economic feasibility of the proposed
system is measured as accurately as possible. Specifically, the auditor should ensure
five things:
1. Only escapable costs are used in calculations of cost savings benefits.
2. Reasonable interest rates are used in measuring present values of cash flows.
3. One-time and recurring costs are completely and accurately reported.
4. Realistic useful lives are used in comparing competing projects.
5. Intangible benefits are assigned reasonable financial values.
Detailed Design—Phase V
Purpose: to produce a detailed description of the proposed system that both
satisfies the system requirements identified during systems analysis and is in
accordance with the conceptual design.
In this phase, all system components (user views, database tables, processes,
and controls) are meticulously specified.
Output: components are presented formally in a detailed design report. This
report constitutes a set of blueprints that specify input screen formats, output report
layouts, database structures, and process logic. These completed plans then proceed to
the final phase in the SDLC—systems implementation—where the system is physically
constructed.
1. Perform a System Design Walkthrough
- involves a thorough review of the detailed design by a quality assurance group
comprising programmers, analysts, users, and internal auditors. By simulating system
operation, this process aims to uncover conceptual errors, omissions, and ambiguities,
reducing the likelihood of costly reprogramming by addressing design flaws early.
2. Review System Documentation
The detailed design report documents and describes the system to this point.
This report includes the following:
• Designs for all screen inputs and source documents for the system.
• Designs of all screen outputs, reports, and operational documents.
• Normalized data for database tables, specifying all data elements.
• Database structures and diagrams: Entity relationship (ER) diagrams describing
the data relations in the system, context diagrams for the overall system,
low-level data flow diagrams of specific system processes, structure diagrams for
the program modules in the system—including a pseudocode description of each
module.
• An updated data dictionary describing each data element in the database.
• Processing logic (flow charts).
14
Application Programming and Testing—Phase VI
The next stage of the SDLC is to select a programming language from among
the various languages available and suitable to the application. These include
procedural languages like COBOL, event-driven languages like Visual Basic, or
object-oriented programming (OOP) languages like Java or C++. This presents a brief
overview of various programming approaches. Systems professionals will make their
decision based on the in-house standards, architecture, and user needs.
1. Procedural Languages - requires the programmer to specify the precise
order in which the program logic is executed. Procedural languages are often called
third-generation languages (3GLs). Examples of 3GLs include COBOL, FORTRAN, C,
and PL1. In business (particularly in accounting) applications, COBOL was the
dominant language for years. COBOL has great capability for performing highly detailed
operations on individual data records and handles large files very efficiently.
2. Event-Driven Languages - the program’s code is not executed in a
predefined sequence. Instead, external actions or “events” that are initiated by the user
dictate the control flow of the program. For example, when the user presses a key, or
“clicks” on an icon on the computer screen, the program automatically executes code
associated with that event. This is a fundamental shift from the 3GL era. Now, instead of
designing applications that execute sequentially from top to bottom in accordance with
the way the programmer thinks they should function, the user is in control.
Microsoft’s Visual Basic is the most popular example of an event-driven
language.
3. Object-Oriented Languages - Central to achieving the benefits of the object
oriented approach is developing software in an object-oriented programming (OOP)
language. The most popular true OOP languages are Java and Smalltalk.
4. Programming the System. Regardless of the programming language used,
modern programs should follow a modular approach. This technique produces small
programs that perform narrowly defined tasks. The following three benefits are
associated with modular programming.
1. Programming efficiency. Modules can be coded and tested
independently, which vastly reduces programming time.
2. Maintenance efficiency. Small modules are easier to analyse and
change, which reduces the start-up time during program maintenance. Extensive
changes can be parcelled out to several programmers simultaneously to shorten
maintenance time.
3. Control. By keeping modules small, they are less likely to contain
material errors of fraudulent logic. Since each module is independent of the
others, errors are contained within the module.
Test the Application Software
All program modules must be thoroughly tested before they are implemented.
Some proven concepts about testing that should be followed by the system developers,
and considered by auditors in conducting audits.
15
1. Testing Methodology. The process itself has structured steps to follow. The results
of the tests are then compared against predetermined results to identify programming
and logic errors.
2. Testing Offline Before Deploying Online. The first point that is critical in testing is
to never underestimate the principle of testing offline before deploying a system online.
Implementing a system without testing offline is an invitation to disaster. O
3. Test Data. This activity can, however, provide future benefits. To facilitate future
testing, test data prepared during the implementation phase should be retained for
reuse. This test data will give the auditor a frame of reference for designing and
evaluating future audit tests. For example, if a program has undergone no maintenance
changes since its original implementation, the test results from the audit should be
identical to the original test results. Having a basis for comparison, the auditor can thus
quickly verify the integrity of the program code. If changes have occurred, however, the
original test data can provide evidence regarding these changes. The auditor can thus
focus attention upon those areas.
16
that constitute the system.
● Program flowchart provides a detailed description of the sequential and
logical operation of the program. Each program in the system’s flowchart
is represented by a separate program flowchart, as shown in Figure 5.9.
From these, the programmer can visually review and evaluate the
program’s logic.
● Program code should itself be documented with comments that describe
each major program segment.
17
classification scheme:
● Novices
● Occasional users
● Frequent light users
● Frequent power users
User Handbook. User documentation often takes the form of a user handbook, as well
as online documentation. The typical user handbook will contain the following items:
• An overview of the system and its major functions
• Instructions for getting started
• Descriptions of procedures with step-by-step visual references
• Examples of input screens and instructions for entering data
• A complete list of error message codes and descriptions
• A reference manual of commands to run the system
• A glossary of key terms
• Service and support information
Online documentation will guide the user interactively in the use of the system.
Commonly found online features include
1. Tutorials. Online tutorials can be used to train the novice or the occasional user.
The success of this technique is based on the tutorial’s degree of realism.
Tutorials should not restrict the user from access to legitimate functions.
2. Help Features. Online help features range from simple to sophisticated. A
simple help feature may be nothing more than an error message displayed on
the screen. The user must “walk through” the screens in search of the solution to
the problem. More sophisticated help is context-related. When the user makes an
error, the system will send the message, “Do you need help?” The help feature
analyzes the context of what the user is doing at the time of the error and
provides help with that specific function (or command).
Converting the Databases
Database conversion is a critical step in the implementation phase. This is the
transfer of data from its current form to the format or medium required by the new
system. The degree of conversion depends on the technology leap from the old system
to the new one. Some conversion activities are very labor intensive, requiring data to be
entered into new databases manually
1. Validation The old database must be validated before conversion. This
requires an- alyzing each class of data to determine whether it should be
reproduced in the new database.
2. Reconciliation After the conversion action, the new database must be
reconciled against the original. Sometimes this must be done manually, record by
record and field by field. In many instances, this process can be automated by
writing a pro- gram that will compare the two sets of data.
3. Backup Copies of the original files must be kept as backup against
discrepancies in the converted data. If the current files are already in magnetic
form, they can be conveniently backed up and stored. However, paper
documents can create storage problems. When the user feels confident about
18
the accuracy and completeness of the new data- bases, he or she may destroy
the paper documents
Cold Turkey Cutover. Under the cold turkey cutover approach (also called the "Big
Bang" approach), the firm switches to the new system and simultaneously terminates
the old system. When implementing simple systems, this is often the easiest and least
costly approach. With more complex systems, it is the riskiest.
Phased Cutover. Sometimes an entire system cannot, or need not, be cut over at
Once. The phased cutover begins operating the new system in modules.
Parallel Operation Cutover. Parallel operation cutover involves running the old system
and the new system simultaneously for a period of time. Figure 5.11 illustrates
This approach, which is the most time-consuming and costly of the three. Running two
systems in parallel essentially doubles resource consumption. During the cutover
period, the two systems consume twice the resources of a single system. This includes
twice the source documents, twice the processing time, twice the databases, and twice
19
the output production.
The advantage of parallel cutover is the reduction in risk. By running two systems, the
user can reconcile outputs to identify errors and debug errors before running the new
sys- tem solo. Parallel operation should usually extend for one business cycle, such as
one month. This allows the user to reconcile the two outputs at the end of the cycle as a
final test of the system’s functionality.
Provide Technical Expertise The detailed design phase involves precise specific
actions of procedures, rules, and conventions to be used in the system. In the case of
an AIS, these specifications must comply with GAAP, GAAS, SEC regulations, and IRS
codes. Failure to so comply can lead to legal exposure for the firm.
Post-Implementation Review
One of the most important steps in the implementation stage actually takes place
some months later in a post-implementation review. The review is conducted by an
independent team to measure the success of the system and of the process after the
dust has settled. Although systems professionals strive to produce systems that are on
budget, on time, and meet user needs, this goal is not always attained.
Systems Design Adequacy The physical features of the system should be reviewed to
see if they meet user needs. The reviewer should seek answers to the following types of
questions
• Does the output from the system possess such characteristics of information as
relevance, timeliness, completeness, accuracy, and so on?
• Is the output in the format most useful and desired by the user (such as tables,
graphs, electronic, hard copy, and so on)?
20
• Are the databases accurate, complete, and accessible?
• Were data lost, corrupted, or duplicated by the conversion process?
• Are input forms and screens properly designed and meeting user needs?
• Are the users using the system properly?
• Does the processing appear to be correct?
• Can all program modules be accessed and executed properly, or does the user
ever get stuck in a loop?
• Is user documentation accurate, complete, and easy to follow?
• Does the system provide the user adequate help and tutorials?
Accuracy of Time, Cost, and Benefit Estimates The task of estimating time, costs,
and benefits for a proposed system is complicated by uncertainty. This is particularly
true for large projects involving many activities and long time frames.
21
activities pertain to systems maintenance procedures.
• Verify that SDLC activities are applied consistently and in accordance with
management’s policies.
• Determine that the system as originally implemented was free from material
errors and fraud.
• Confirm that the system was judged to be necessary and justified at various
checkpoints throughout the SDLC.
• Verify that system documentation is sufficiently accurate and complete to
facilitate audit and maintenance activities
The auditor should select a sample of completed projects (completed in both the current
22
period and previous periods) and review the documentation for evidence of compliance
with SDLC policies. Specific points for review should include determining the following:
• User and computer services management properly authorized the project.
• A preliminary feasibility study showed that the project had merit.
• A detailed analysis of user needs was conducted that resulted in alternative
general designs.
• A cost-benefit analysis was conducted using reasonably accurate figures.
• The project's documentation shows that the detailed design was an appropriate
and accurate solution to the user's problem.
• Test results show that the system was thoroughly tested at both the individual
module and the total system level before implementation. (To confirm these test results,
the auditor may decide to retest selected elements of the application.)
• There is a checklist of specific problems detected during the conversion period,
along with evidence that they were corrected in the maintenance phase.
• Systems documentation complies with organizational requirements and
standards.
23
1. Access to program is completely unrestricted. Programmers and others can
access any programs stored in the library, and there is no provision for detecting an
unauthorized intrusion.
To control the SPL, protective features and procedures must be explicitly addressed,
and this requires the implementation of an SPL. Management system (SPLMS). The
black box surrounding the SPL. Signifies the SPLMS. This software is used to control
four routine but critical functions: (1) storing programs on the SPL, (2) retrieving
programs for maintenance purposes, (3) deleting obsolete programs from the library,
and (4) documenting program changes to provide an audit trail of the changes.
You may have recognized the similarities between the SPI. Management system
and a database management system. This is a valid analogy, the difference being that
SPL software manages program files and DBMSs manage data files. SPLMSs may be
supplied by the computer manufacturer as part of the operating system or may be
purchased through software vendors. Some organizations, to provide special control
features, develop their own SPL software
24
Password Control
Assigning passwords provides one form of access control over the SPL. This is
similar to password controls used in a DBMS to protect data files. Every financially
significant program stored in the SPL. Can be assigned a separate password. As
previously discussed, passwords have drawbacks. When more than one person is
authorized to access a program, preserving the secrecy of a shared password is a
problem.
25
The SPLMS assigns a version number automatically to each program stored on the
SPL. When programs are first placed in the libraries (upon implementation), they are
assigned a version number of 0. With each modification to the program, the version
number is increased by 1. An unauthorized change is signaled by a version number on
the production load module that cannot be reconciled to the number of authorized
changes.
26
Identify Unauthorized Changes To establish that program changes were authorized,
the auditor should examine the audit trail of program changes for a sample of
applications that have undergone maintenance. The auditor can confirm that
authorization procedures were followed by performing the following tests of controls.
● Reconcile the source code Each application’s permanent file should contain the
current program listing and listings of all changes made to the application. These
documents describe in detail the application’s maintenance history.
● Review test results Every program change should be thoroughly tested before
being implemented. Program test procedures should be properly documented by
test objectives, test data, and processing results, which support the
programmer’s decision to implement the change
● Retest the program The auditor can retest the application to confirm its integrity.
We examine several techniques for application testing in Chapter 7.
● Test authority table The auditor should simulate the programmer’s access
27
privileges and then violate the authorization rules by attempting to access
unauthorized libraries.
SUMMARY
28
29