Software Quality Engineering BS(SE)-VI
Dr. Assad Abbas
Department of Computer Science
Topics
n Performing QA Activities
n QA and SDLC Phases
5 Waterfall, Prototyping, Spiral
Introduction…
n Why discuss the models?
n Answer: They represent the framework of a
disciplined approach to development.
5 Have milestones, deliverables, constraints, etc.
n SQA must take place in conjunction with the
completing of these activities or looking at the work products produced from these activities.
n Need to understand the models before we can
Classic and Other Software Development Methodologies
n The Software Development Life Cycle (SDLC)
n The prototyping model
n The spiral model
The SDLC
n The ‘classic model
5 Still in WIDE use today
5 Captures the major building blocks in development
5 Linear sequence
5 Highly structured; plan-driven;
5 Product delivered for evaluation and deployment at the end of development and testing
5 Used for major projects of length
Prototyping Model
n Replaces some of the parts of the SDLC with an
evolutionary and iterative process.
n Software prototypes are repeatedly provided to customer for evaluation and feedback.
5 Primarily iterate design and implementation.
5 Development teams are provided requirements.
n Ultimately, the product reaches a satisfactory completion.
Spiral Model
n Uses an iterative approach designed to address each phase
in development by obtaining customer comments and
change, risk analysis, and resolution.
n The spiral model typically has a ‘spiral’ for each of the
traditional development phases.
n Within a cycle, specific engineering (design, development,
etc.) can take place using any other models, like SDLC, prototyping,..
n The Spiral Model is a risk-centered development model
where each spiral includes major risk activities / assessments.
n Was developed after SDLC in response to delayed risk in
The Object-Oriented Model
n Emphasis here is on re-usability via reusable objects
and components.
n Component-based software development.
n For non-available components, developer may
5 prototype needed modules,
5 use an SDLC approach,
The SDLC
• Requirements
Definition: done by customers.
• Analysis: analyze
requirements to form an initial software model.
• Design: Detailed
The SDLC
• Coding: Design
translated into code.
• Coding includes SQA activities such as
inspections, unit tests and integration tests.
• Many takeoffs from this: These tests done by
The SDLC
• System Tests: Goal: to discover errors / correct errors to achieve an
acceptable level of
quality. Carried out by developers prior to
delivery.
• Sometimes ‘acceptance tests’ carried out by
The SDLC
• Installation / Conversion:
• After testing, system is installed and/or replaces an existing system.
• Requires software / data conversion.
• Important to not interrupt daily activities during
conversion process.
The SDLC
• Operations and Maintenance:
• Hopefully done for years.
• Maintenance:
• Corrective
• Adaptive
• Perfective
• Lots of variations to the classic SDLC many in response to problems….
The Prototyping Model
n One main idea behind prototyping is for the
development of fast prototypes and customer
availability for feedback.
n Often prototyping tools are used to help.
n Developers respond to feedback and add
additional parts as application evolves into an acceptable product.
n Recognize this process can be inserted into
The Prototyping Model
REQUIREMENTS DETERMINATION BY CUSTOMER PROTOTYPE DESIGM PROTOTYPE IMPLEMENTATION PROTOTYPE EVALUATION BY CUSTOMER REQUIREMENTS FOR CORRECTIONS, CHANGES AND ADDITIONS REQUIREMENTS FULFILLED ? SYSTEM TESTS ANDACCEPTANCE TESTS
Prototyping Model - more
n Advantages
5 Shorter development process.
5 Substantial savings in development resources (time).
5 Better fit to customer requirements and reduced risk
of project failure.
5 Easier and faster user comprehension of new system.
n Disadvantages
The Spiral Model
n A heavy-weight, plan-driven, highly-structured
approach for large projects.
n Especially designed for those with higher chances of
failure.
n Combines iterative model, emphasizes risk
assessment, customer participation, prototyping, and more
The Spiral Model
Each spiral includes:
• Planning
• Risk Analysis / Resolution
• Engineering activities (design, code, test…)
• Customer Evaluation
The Advanced Spiral Model-The Win-Win Model
Revised Spiral Model provides
customer with improved chances for changes;
developer better chances to stay within budget and time.
Done by increased emphasis on customer participation and on engineering activities.
Extra sections in spiral
dedicated to customer actions
The Object-Oriented Model
n Easy integration of existing software modules (objects / components)
into newly developed software systems.
n Process begins with OOA and OOD.
n Then, acquire suitable components from reusable software component
libraries (or purchase them).
n Otherwise, develop as needed.
n Can involve adding to repertoire of library components.
n Economy: integrating reusable components; much lower cost than
developing.
n Improved quality – using tested components
n Shorter development times: integration of reusable software
Factors affecting intensity of quality assurance activities in the development projects
n Quality assurance activities will be integrated into
development plan that implements one or more SW development models.
n Quality assurance planners for project are required to
determine :
5 The list of QA activities needed for a project
5 For each QA activity:
g Timing
g Who to perform & the resources required g Team members, external body for QA
Factors affecting intensity of quality assurance activities in the development projects…
n Project factors
5 Magnitude of the project
5 Technical complexity and difficulty
5 Extent of reusable SW components
5 Severity of failure outcome if the project fails
n Team factors
5 Professional qualification of team members
5 Team acquaintance with the project and its experience in the area
How project and team factors can
Example 1
n A software development team has planned the quality
assurance activities for its new consumer club project.
The current project contract, signed with a leading furniture store, is the team’s 11th consumer club project dealing in the last three years. The team
estimates that about seven man-months need to be
invested by the two team members assigned to the
Example 1…
n The main considerations affecting this plan are:
5 Degree of team acquaintance with the subject
5 High percentage of software reuse
Example 2
n The real-time software development unit of a hospital’s information
systems department has been assigned to develop an advanced patient
monitoring system. The new monitoring unit is to combine patient’s room unit with a control unit. The patient’s room unit is meant to interface with several types of medical equipment, supplied by different manufacturers, which measure various indicators of the patient’s condition. A
sophisticated control unit will be placed at the nurses’ station, with data to be communicated to cellular units carried by doctors.
n The project leader estimates that 14 months will be required to complete
the system; a team of five will be needed, with an investment of a total of
n The main considerations
affecting this plan are:
5 High complexity and difficulty of the system.
5 Low percentage of reusable software available.
5 Large size of the project.
5 High severity of failure
Exercise 2
References
1. Software Quality Assurance: from Theory to