You are on page 1of 5

9/1/2022 ISP250_MANAGING SYSTEMS IMPLEMANTATION (C8) – HUDA JAAFAR

Software Quality Assurance

Introduction - Managing systems implementation involves application development, testing, documentation,


training, data conversion, system changeover & post-implementation evaluation of the results.
- During system implementation the system design specification serves as a blueprint for constructing
new system
- The initial task is application development; requires SA & programmers to work 2gether to construct
the necessary programs & code modules.
- The system must be tested & documented carefully, users must be trained, & existing data must be
converted.
- A formal evaluation of the results takes place as part of a final report to management.

- Company in today’s competitive environment are intensely concerned with the quality of their
product & services.
- A successful organization must improve quality in every area, including its information system.
- Top management must provide the leadership, encouragement & support need for IT resources.
- No matter how careful the system is implemented a problem is bound to happen specially in
complex system.
- Main objective quality assurance: to avoid problem or to detect them as soon as possible.
- Poor quality can result from inaccurate requirements, design problems, coding errors, faulty
documentation & ineffective testing.
- Effort to achieve high standards of quality, system developers should consider software engineering
concept, internationally recognized quality standards, & careful management techniques.

Software - Function: to manage & improve the quality of the finish system
Engineering - A software development process that stresses solid design, accurate documentation & careful
testing.
- Software Engineering Institute (SEI) is a leader in software engineering & provides quality standards
& suggested that procedures for software developers & SA.
- SEI prime objective is to find better, fast, & less-expensive methods of software development
~in order to achieve that they have design a set of software development standards called Capability
Maturity Model (CMM).
- CMM has been used successfully by thousands of organizations around the globe.
- Was introduce in 1991 which was to improve software quality, reduce development time & cut costs.
- SEI recently establish a new model called Capability Maturity Model Integration (CMMI), that
integrates software & systems development into a much larger framework called process
improvement.
- CMMI regards software as a part of larger quality improvement process, CMMI tracks an organization
process, using 5 maturity level.
International - A world wide body that establishes quality standards for products & services
Organization for - ISO standards include everything from internationally recognized symbol to the ISBN numbering
Standardization system.
(ISO) - Seek to offer a global consensus of what constitutes good management practices.
~can help firm delivers consistently high-quality products & services.
- Many firms seek assurance that software system (in-house or purchase) will meet the right quality
standard.
- ISO established a set of guidelines called ISO 9000-3
~ISO 9000-3: provide a quality assurance framework for developing & maintaining software.
- A company can specify the ISO 9000-3 standards when they purchase software from a supplier or use
it as a guideline for in-house software development.
- ISO standard can be quite detailed.
~E.g.
1. Requires software supplier to document every testing & maintain records of test results.
2. If there’s a problem, it must be resolved, and the affected modules must be retested.
3. Software & hardware specifications of all test equipment must be documented & included
in the test records.

OVERVIEW OF APPLICATION DEVELOPMENT

Application - Process of constructing the programs & code modules that serve as the building block of the
Development information system.
- The objective is to translate the design into program and code modules that will function properly
- Systems implementation usually is very labor-intensive, developer often use project management
tools & techniques to control schedules & budgets.
- 3 popular development process:  Structured Analysis  Object-Oriented (O-O) Analysis  Agile
- Traditional structured/Object-oriented: you’re ready to translate the design into a functioning
application
- Agile method: you need to plan the project, lay the groundwork, assemble the team, & prepare to
interact with the customers.

Traditional Methods  Building new system requires careful planning

 When overall strategies are established, individual


modules must be designed, coded, tested &
documented.
~Module: consists of related program code organized into small units that
are easy to understand & maintain

 After the modules is developed and tested individually, more testing will take
place along with thorough documentation of the entire system.
 When you create programs modules using structured/o-o methods you can
start by reviewing documentation from prior SDLC phase & creating a set of
program designs.
~if you build a documentation on the early process and updated it
regularly you already have a valuable repository of information.
 The centerpiece of the documentation is the system design specification,
followed by diagrams, source documents, screen layouts, report designs, data
dictionary entries & user comments
 CASE tools can be used during system analysis and design process in order to
make your job much easier.
 At this point coding & testing task begin

Agile Method  If you wanted to use this method you need to have an intense communication
& collaboration between IT team and the users/customers
 The objective is to create the system through an iterative process of planning,
designing, coding & testing.

 E.g. of models are spiral


model & Extreme
Programming (XP)

System Development  Each development approach have they’re own set of tools that has worked well
Tools for that method.
~E.g. Structured development relies heavily on DFDs, structure chats, o-o
methods use a variety of diagrams (case, class, sequence, & transition state
programs), agile method tend to use spiral/ other iterative models.
 System developers can use multipurpose tools to help them translate the
system logic into properly functioning programs modules.
 Generic tools:  Entity-Relationship Diagram (ERD)  Flowcharts
 Pseudocode  Decision table  Decision trees

ERD to show interaction between system entities and objects


ERD is a useful tool because of the various relationship (1:1,
1:M, M:M); must be understood & implemented in the
application development process
Flowcharts can be used to describe program logic & useful in visualizing
modular design
represent logical rules & interaction graphically using a series
of symbols connected by arrows
programmers can break large systems into subsystems &
modules that are easy to understand and code.

Pseudocode a technique for representing program logic.


similar to structured English, but it’s not language-specific
~so, you can use it to describe a software module in
plain text English without requiring strict syntax rules.
SA/programmer can describe program actions that can be
implemented in any programming language

Decision Table can be used to model business logic for an information


/Decision Tree system
SA & programmers can use it during system development

~when developing code


modules that implement
the logical rules

Project  Application development can be quite hard to manage because some project
Management might have hundreds or thousands of modules
 So, it’s important to set realistic schedules, meet the deadlines, control costs &
maintain quality
 The goal above can be achieved when project managers use project
management tools & techniques to monitor & control the development effort

STRUCTURED APPLICATION DEVELOPMENT

- Improves a top-down approach that proceeds from general design to a detailed structure
- Portioning: After SA documents the system’s requirements, they break the system down into
subsystems & modules
~this process also called modular design
- This is similar to constructing a leveled set of DFDs
- By assigning different programmers several development
areas can be covered at the same time.
- Project management software can be used to monitor work
on each module, forecast overall development time,
estimate required human & technical resources, and
calculate a critical path for the project.
- SA must proceed carefully & with constant input from the
programmers & IT management to achieve a sound and well-integrated structure because all the
module must work properly.
- SA must also ensure that integration capability is build within each design & thoroughly tested
Structured Charts - Shows the programs modules & the relationship among them.
- Consist of rectangles that represents the program modules, with arrows & other symbol that
provider additional information
- Control module : a typical higher-level module directs lower-level modules a.k.a. subordinate
modules
- Symbols represents various actions/conditions, modules, data couples, control couples, conditions
& loops.

MODULE

You might also like