0% found this document useful (0 votes)
111 views8 pages

Chapter 9

The document discusses software quality assurance and summarizes key points: 1) Software quality assurance aims to avoid problems in software systems by identifying issues early through solid design, documentation, testing and following quality standards. 2) Internationally recognized standards like CMM, CMMI, and ISO provide guidelines for software development processes and documentation requirements. 3) Application development involves translating the system design into program modules through tasks like reviewing documentation, creating program designs, and testing modules individually and together.

Uploaded by

angelica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views8 pages

Chapter 9

The document discusses software quality assurance and summarizes key points: 1) Software quality assurance aims to avoid problems in software systems by identifying issues early through solid design, documentation, testing and following quality standards. 2) Internationally recognized standards like CMM, CMMI, and ISO provide guidelines for software development processes and documentation requirements. 3) Application development involves translating the system design into program modules through tasks like reviewing documentation, creating program designs, and testing modules individually and together.

Uploaded by

angelica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 8

SOFTWARE QUALITY ASSURANCE

Angelica R. Malaluan

Systems Implementation is the fourth of five phases in the systems


development life cycle. It includes application development, documentation,
testing, training, data conversion, and system changeover. The deliverable or
end product for this phase is a completely functioning information system.

SOFTWARE QUALITY ASSURANCE

In todays competitive business environment, companies are intensely


concerned with the quality of their products and services. A successful
organization must improve quality in every area, including its information
systems.

Problems can occur no matter how careful a system is designed and


implemented. The main objective of quality assurance is to avoid
problems or to identify them as soon as possible. Poor quality can result from
inaccurate requirements, design problems, coding errors, faulty
documentation, and ineffective testing. To improve the finished product,
software systems developers should consider software engineering and
internationally recognized quality standards.

Software Engineering

Software engineering is a software development process that stresses


solid design, accurate documentation, and careful testing. It is use to

manage and improve the quality of the finished system.


Figure 1. The
Software Engineering Institute represents the cutting edge of
software design and development technology.

The Web site for the Software Engineering Institute (SEI) at Carnegie
Mellon University is shown above. SEI is a leader in software engineering and
provides quality standards and suggested procedures for software
developers and systems analysts. SEIs primary objective is to find better,
faster, and less-expensive methods of software development.

Capability Maturity Model (CMM) is set software development


standards designed by the Software Engineering Institute to achieve
their goals. The purpose of the model was to improve software quality,
reduce

development time, and cut costs.

Capability Maturity Model Integration (CMMI) which integrates


software and systems development into a much larger framework
called process improvement. The CMMI tracks an organizations
processes, using five maturity levels, from Level 1, which is referred to
as unpredictable, poorly controlled, and reactive, to Level 5, in which
the optimal result is process improvement. The five maturity levels is
shown below.

Figure 2. Five maturity levels of


CMMI

International Organization for Standardization (ISO)

International Organization for Standardization (ISO) is a worldwide


body that establishes quality standards for products and services, including
software development. ISO includes everything from internationally
recognized symbols, such as those shown in below.
Figure 3. ISO standards include internationally recognized symbols.

Software systems that are either purchased or developed in-house


must meet rigid quality standards. In 2004, ISO updated a set of guidelines
called ISO 9000-3:20047, which provided a quality assurance framework
for developing and maintaining software.

A company can specify ISO standards when it purchases software from


a supplier or use ISO guidelines for in-house software development to ensure
that the final result measures up to ISO standards. ISO requires a specific
development plan, which outlines a step by-step process for transforming
user requirements into a finished product. ISO standards can be quite
detailed. For example, ISO requires that a software supplier document all
testing and maintain records of test results. If problems are found, they must
be resolved, and any modules affected must be retested. Additionally,
software and hardware specifications of all test equipment must be
documented and included in the test records.

OVERVIEW OF APPLICATION DEVELOPMENT

Application development is the process of constructing the programs


and code modules that serve as the building blocks of the information
system. Regardless of the development method used, the objective is to
translate the design into program and code modules that will function
properly.

At this point, it might be helpful to review the tasks involved in the creation
of the system design.

In Chapter 4, you learned about requirements modeling and how to use


functional decomposition diagrams (FDDs) to break complex business
operations
down into smaller
units, or functions.
In Chapter 5,
you learned
about structured
data and process
modeling, and you
created data flow
diagrams (DFDs). You
also developed
process descriptions
for functional
primitive processes
that documented
the business logic and processing requirements.
In Chapter 6, you selected a development strategy.
In Chapter 7, you designed the user interface.
In Chapter 8, you considered overall system architecture.

Taken together, this set of tasks produced an overall design and a plan for
physical implementation.

Application Development Tasks

If you used traditional structured or object-oriented (O-O) methods, you now


are ready to translate the design into a functioning application. If you
selected an agile development method, you will plan the project, lay the
groundwork, assemble the team, and prepare to interact with the customers.

Traditional Methods

A module consists of related program code organized into small units that
are easy to understand and maintain. After the modules are developed and
tested individually, more testing takes place, along with thorough
documentation of the entire system.
Figure 4. The main steps in application development

If you create program modules using structured or object-oriented


methods, you start by reviewing documentation from prior SDLC
phases and creating a set of program designs.
If you use CASE tool during the systems analysis and design process, it
will be much easier.

Agile Methods

If you decided to use an agile approach, intense communication and


collaboration will now begin between the IT team and the users or
customers. The objective is to create the system through an iterative process
of planning, designing, coding, and testing. Agile method use spiral model or
extreme programming (XP).

Figure 5. Simplified model of an Extreme Programming (XP) project. Note the emphasis on
iteration

Systems Development Tools


System developers also can use multipurpose tools to help them
translate the system logic into properly functioning program modules. These
are the following:

Entity-Relationship Diagrams show the interaction among system


entities and objects. Because of its various relationships (one-to-one,
one-to-many, and many-to-many), ERD is useful regardless of the
methodology used.
Flowchart represents logical rules and interaction graphically, using
a series of symbols connected by arrows.
Pseudocode is a technique for representing program logic.
Figure 6 .Sample of a sales promotion policy with logical rules, and a pseudocode
version of the policy. Notice the alignment and indentation of the logic statements.
Decision Tables and Decision Trees is used to model business logic
for an information system. In addition to that analysts and
programmers can use decision tables and decision trees during system
development, as they develop code modules that implement the
logical rules.

Figure 7. Sample decision tree that reflects the sales promotion policy in Figure 6.
Like a decision table, a decision tree shows the action to be taken based on certain
conditions.

Project Management
Project management is important because even modest-sized
project might have hundreds or even thousands of modules which
makes application development complex and difficult to manage.

You might also like