3.3 (4)

3A Software Selection and Acquisition

not a phase in the standard SDLC.

if a decision is reached to acquire rather than develop software, it is the process that should occur after the requirements definition phase

Decide ability of the organization to do development project, the costs and risk of doing so, and the benefits of having total ownership and control over the new system

rather than becoming dependent on a vendor

decision is generally based on various factors such as , and

the COST differential between development and acquisition,

the TIME GAP between development and acquisition.

if decision is to purchase USER must be involved in the PACKAGE EVALUATION AND SELECTION PROCESS

Phase 4A—Configuration

consists of defining, tracking and controlling changes in an acquired system to meet the needs of the business.

involves the modification of configuration tables as well as some development

configuration is supported by the CHANGE MANAGEMENT POLICIES AND PROCESSES which define:

• Roles and responsibilities

Classification and prioritization of all changes based on business risk

• Assessment of impact

Authorization and approval of all changes by the business process owners and IT

Tracking and status of changes

• Impact on data integrity

(e.g., all changes to data files being made under system and application control rather than by direct user intervention)

Phase 4B—Development

Responsibilities in this phase rest primarily with programmers and systems analysts who are building the system.

Key activities

Coding and developing program and system-level documents 🗃

Debugging and testing the programs developed ⚠

Developing programs to convert data from the old system for use on the new system 🔣 ➡ 1⃣ 2⃣

Creating USER PROCEDURES TO HANDLE TRANSITION to the new system 🕹

Training selected users on the new system because their participation will be needed 📚 👨‍🎓

Ensuring modifications are documented and applied accurately and completely to vendor-acquired software to ensure that future updated versions of the vendor’s code can be applied 🌘 🌗 🌖 🌕

• Identifying secure coding and configuration standards 💠

Programming Methods and Techniques

WHY? program coding standards should be applied. #

essential to writing, reading and understanding code, simply and clearly, without having to refer back to design specifications.

Elements

methods and techniques for internal
(source-code level) documentation

methods for data declaration

an approach to statement construction

techniques for input/output (I/O)

Advantages

an essential CONTROL because

they serve as a method of communicating among members of the program team, and between the team and users during system development.

MINIMIZE system development SETBACKS resulting from PERSONNEL TURNOVER

provide the MATERIAL NEEDED TO USE THE SYSTEM EFFECTIVELY,

required FOR EFFICIENT PROGRAM MAINTENANCE AND MODIFICATIONS

traditional structured programming techniques should be applied in developing quality and easily maintained software products.

easier to develop, understand and maintain because they are divided into subsystems, components, modules, programs, subroutines and units.

it is to maintain and
enhance a system

when each software item performs dedicated function (Cohesion) retains independence
from other comparable items (coupling)

easier to determine how to apply a change and reduce chances of unintended consequences

Online Programming Facilities (Integrated Development Environment)

facilitate effective use of structured programming methods and techniques, an online programming facility should be available as part of an integrated development environment (IDE).

allows programmers to code and compile programs interactively with a remote computer or server from a terminal or a client’s PC workstation.

programmers can enter, modify and delete programming codes as well as compile, store and list programs (source and object) on the development computer.

Advantages

lower the development costs

maintain rapid response
time

expand the programming resources and aids available (e.g., editing tools, programming languages, debugging aids)

potential weaknesses

• The proliferation of multiple versions of programs

Reduced program and processing integrity through the increased potential for unauthorized access and updating

• The possibility that valid changes could be overwritten by other changes

Solution :- Access control software

Program Debugging

purpose of

debugging programs during system development is to ensure that all program abends (unplanned ending of a program due to programming errors) and program coding flaws are detected and corrected before the final program goes into production

Debugging tools categories

Logic path monitors

Memory dumps

Output analyzers

Report on the sequence of events performed by the
program, thus providing the programmer with clues on logic errors

Provide a picture of the internal memory’s content at
one point in time.

often produced at the point where the program fails or is aborted,

providing the programmer with clues on inconsistencies in data or parameter values

Help check results of program execution for accuracy.

availability of generic software

enhance the quality of programming activities and future maintenance capabilities,

This is achieved by comparing expected results with the actual results.