UNIT-4-PROTOTYPING-AND-QUALITY-ASSURANCE (1).pdf

NicoleJaneMadridSuar 0 views 10 slides Oct 27, 2025
Slide 1
Slide 1 of 10
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10

About This Presentation

lesson


Slide Content

UNIT 4: PROTOTYPING AND
QUALITY ASSURANCE
by Nicole Jane Madrid Suarez

PROTOTYPING MODEL
What is prototyping model?
The Prototyping Model is one of the most popularly used Software Development Life Cycle Models (SDLC models). This model is
used when the customers do not know the exact project requirements beforehand.
In this model, a prototype of the end product is first developed, tested, and refined as per customer feedback repeatedly till a final
acceptable prototype is achieved which forms the basis for developing the final product.
In this process model, the system is partially implemented before or during the analysis phase thereby allowing the customers to
see the product early in the life cycle. The process starts by interviewing the customers and developing the incomplete high-level
paper model.
This document is used to build the initial prototype supporting only the basic functionality as desired by the customer. Once the
customer figures out the problems, the prototype is further refined to eliminate them. The process continues until the user approves
the prototype and finds the working model to be satisfactory.

PHASES OF PROTOTYPING MODEL
Prototyping Model has six phases as follows:
Requirements gathering and analysis - Requirement analysis is the first step in developing a prototyping model. During this
phase, the system¾s desires are precisely defined. During the method, system users are interviewed to determine what they
expect from the system.
1.
Quick design - The second phase could consist of a preliminary design or a quick design. During this stage, the system¾s basic
design is formed. However, it is not a complete design. It provides the user with a quick overview of the system. The rapid
design aids in the development of the prototype.
2.
Build a Prototype - During this stage, an actual prototype is intended to support the knowledge gained from quick design. It s a
small low-level working model of the desired system.
3.
Initial user evaluation - The proposed system is presented to the client for preliminary testing at this stage. It is beneficial to
investigate the performance model¾s strengths and weaknesses. Customer feedback and suggestions are gathered and
forwarded to the developer.
4.
Refining prototype - If the user is dissatisfied with the current model, you may want to improve the type that responds to user
feedback and suggestions. When the user is satisfied with the upgraded model, a final system based on the approved final type
is created.
5.
Implement Product and Maintain - The final system was fully tested and distributed to production after it was developed to
support the original version. To reduce downtime and prevent major failures, the programmer is run on a regular basis.
6.

Types of Prototyping Models
There are four types of Prototyping Models, which are described below.
Rapid Throwaway Prototyping - This technique offers a useful method of exploring ideas and getting customer feedback for
each of them. In this method, a developed prototype need not necessarily be a part of the accepted prototype. Customer
feedback helps prevent unnecessary design faults and hence, the final prototype developed is of better quality.
1.
Evolutionary Prototyping - In this method, the prototype developed initially is incrementally refined based on customer
feedback till it finally gets accepted. In comparison to Rapid Throwaway Prototyping, it offers a better approach that saves time
as well as effort. This is because developing a prototype from scratch for every iteration of the process can sometimes be very
frustrating for the developers.
2.
Incremental Prototyping - In this type of incremental prototyping, the final expected product is broken into different small
pieces of prototypes and developed individually. In the end, when all individual pieces are properly developed, then the different
prototypes are collectively merged into a single final product in their predefined order. It's a very efficient approach that reduces
the complexity of the development process, where the goal is divided into sub-parts and each sub-part is developed
individually. The time interval between the project's beginning and final delivery is substantially reduced because all parts of the
system are prototyped and tested simultaneously. Of course, there might be the possibility that the pieces just do not fit
together due to some lack of ness in the development phase 3 this can only be fixed by careful and complete plotting of the
entire system before prototyping starts.
3.
Extreme Prototyping - This method is mainly used for web development. It consists of three sequential independent phases:4.
In this phase, a basic prototype with all the existing static pages is presented in HTML format.
In the 2nd phase, Functional screens are made with a simulated data process using a prototype services layer.
This is the final step where all the services are implemented and associated with the final prototype.

BEST PRACTICES OF PROTOTYPING
1. Build the product from the inside out - One good prototyping strategy is to get the fundamental navigation components down
before concentrating on the content. The inside-out technique, which prioritizes the information that is relevant to users, is a more
user-focused method.
For instance, a navigation bar is lower on the visual hierarchy than a call-to-action button. Make a list of all the components in your
content that are crucial to users, then prioritize them accordingly.
2. Boost prototyping accuracy by adding real elements - Include real content and interactions so you can visualize your concepts
and test them all out. The more accurate and closer your prototype is to the final version, the better you can test it. Similarly, the
more authentic content you add, the more effectively you¾ll be able to assess your ideas.
Furthermore, it¾s also a good idea to include as many details as you can to estimate your assumptions fully.
3. Only build the essential functions - One common mistake in prototyping is overdoing its development. There is no need to build
a complete and perfect product. Only prototype the primary functions so that it will be easy to make quick iterations. Generally,
20% of the functionality truly accounts for user interactions. Start with the basic elements like menus, CTA buttons, and important
links.
4. Study user interactions closely - Develop user personas and consider every potential interaction the personas can have with
your website or mobile application. It¾s critical that you design for user flow rather than specific product features. You can create
functional prototypes that simulate the desired end product by concentrating on user situations.
5. Get the right users for testing - Although usability testing is different with every team and project, it¾s important to have the right
people to conduct it. Ensure that there¾s a good mix of users who¾ve already experienced the tech and those who haven¾t. For
instance, if you are rebuilding a website, divide users into two groups: those who already have an account and those who don¾t.
6. Get feedback from all team members - Working in a team minimizes any tunnel vision, which is sometimes a problem for solo
designers who miss ideas or concerns. Other team members can spot mistakes better or give a different perspective on them. By
working as a unit, they may not only resolve these problems but also enhance the overall design.
7. Conduct testing on real devices - Whichever prototyping method you employ, it¾s important to get actual customer feedback
from the right platform. The best method is to evaluate the prototype on various computers and gadgets, whether it¾s an app or a
responsive website. Test them out as though you were the intended user.
8. Be diligent in testing and iterating - No matter how many details to include, keep in mind that prototypes are just models for the
finished product. They still need improvement and updates. Continue conducting user research, and examine your audience¾s
usage patterns for your app or website. They may be using it in a way you haven¾t considered before. So, you must continually
adjust and update your design.

ADVANTAGES & DISADVANTAGES OF
PROTOTYPIGN MODEL
Advantages Disadvantages
Improved User Involvement and Feedback:
Users are actively involved, providing early and frequent
feedback, leading to a better understanding of their needs
and more effective solutions.
Early Error Detection:
Working models allow developers and users to identify
missing functionality and errors early in the development
cycle, making them easier and cheaper to fix.
Flexibility and Adaptability:
The model allows for design flexibility and the
accommodation of new requirements as they arise, leading
to refined and better-suited products.
Better Communication:
Enhanced communication between users and developers is
fostered through the iterative process of building and testing
a prototype.
Risk Management:
Prototyping helps identify potential risks early on, which
improves risk management throughout the project lifecycle.
Increased Cost and Time:
Creating multiple versions of a product can be time-
consuming and costly, and the initial effort to build a
functional prototype can be extensive.
Excessive Change Requests:
Active user involvement can lead to continuous change
requests, which can make it difficult for developers to
accommodate all demands.
Poor Documentation:
The constant changes and feedback loops can result in poor
documentation of the final product.
Misconceptions About the Final Product:
Clients might misunderstand the prototype for the final
product, leading to the expectation that it is nearly complete
when significant work remains.
Ineffective for Certain Risks:
The model is less effective for projects where risks are only
identified later in the development process, as the prototype
is built early on.

Software Quality Assurance
Software Quality Assurance (SQA) is simply a way to assure quality in the software. It is the set of activities that ensure processes,
procedures as well as standards are suitable for the project and implemented correctly. It is a process that works parallel to
Software Development. It focuses on improving the process of development of software so that problems can be prevented before
they become major issues. Software Quality Assurance is a kind of Umbrella activity that is applied throughout the software
process.
Activities in Software Quality Assurance (SQA)
SQA Management Plan: Make a plan for how you will carry out the SQA throughout the project. Think about which set of
software engineering activities are the best for project. check level of SQA team skills.
Set The Check Points: SQA team should set checkpoints. Evaluate the performance of the project on the basis of collected data
on different check points.
Measure Change Impact: The changes for making the correction of an error sometimes re introduces more errors keep the
measure of impact of change on project. Reset the new change to check the compatibility of this fix with whole project.
Multi testing Strategy: Do not depend on a single testing approach. When you have a lot of testing approaches available use
them.
Manage Good Relations: In the working environment managing good relations with other teams involved in the project
development is mandatory. Bad relation of SQA team with programmers team will impact directly and badly on project.
Maintaining records and reports: Comprehensively document and share all QA records, including test cases, defects, changes,
and cycles, for stakeholder awareness and future reference.
Reviews software engineering activities: The SQA group identifies and documents the processes. The group also verifies the
correctness of software product.
Formalize deviation handling: Track and document software deviations meticulously. Follows established procedures for
handling variances.

Software Quality Assurance: Defining Standards
What makes brands like Microsoft and Google stand out? With over 100,000 software companies in the US, how did these names
make their way to the top of the list? Simple4impeccable product quality. If you plan to build your software startup, then you first
need to learn how software quality assurance works and why it¾s necessary.
Quality ensures Loyalty
The key to brand loyalty is product quality. This is especially true for the software industry. People buy tools to make their lives
easier. If there¾s a program or app that allows them to click their problems away then they¾ll surely get their hands on it.
On the contrary, if your software happens to bring them more trouble than the actual problem, then that¾s going to lead to disastrous
publicity damage. Software is supposed to be a tool that helps people do their tasks better and faster. This is why you cannot afford
to risk the functional quality of what you are selling. This is where software quality assurance comes into play.
What is Software Quality Assurance?
Software quality assurance (SQA) is the process of checking the quality of the product based on a defined set of standards. These
standards are established at the beginning of the development stage and are used as guidelines for testers before the product¾s
release. SQA comprises a set of activities from the engineering processes until its production.  
Software QA incorporates a lot of quality assurance methods and often follows a combination of them. Over the years, the term
<quality assuranceî has evolved along with the changes in development methods.
Nowadays, there are plenty of
software testing trends that large companies use. With the need to keep up with emerging
technologies, the quality assurance process has also adjusted its standards. 
The quality assurance testing process generally follows a cycle called the PDCA Cycle. This cycle consists of three phases:
plan,
do, check,
and act. Each stage of this cycle dissects and breaks down the development of the software product.
Here¾s a brief overview of the PDCA stages:
Plan 3 This phase establishes the objectives of the project and the processes it will undergo. In the first stage, the goals and
how to attain them are specifically discussed.
1.
Do 3 During the creation and development process, the QA tester will regularly monitor and run through each change and
progress.
2.
Check 3 This stage consists of monitoring the implementation of processes, and assessing whether they meet the
predetermined objectives
3.
Act 3 Once everything has been evaluated, corrections and QA suggestions will be implemented.  4.
Software Quality Assurance (SQA) Standards provide a framework and set of guidelines for ensuring software quality throughout
the development lifecycle, focusing on preventing defects and ensuring compliance with requirements. Key standards include
those from the
International Organization for Standardization (ISO) (such as ISO/IEC 25010 for quality models, ISO 9001 for
quality management systems, and ISO/IEC/IEEE for testing) and the Institute of Electrical and Electronics Engineers (IEEE) (like
IEEE 730 for SQA plans). These standards define characteristics for quality (e.g., functionality, reliability), processes for quality
management, and methods for testing and verifying software to meet customer and regulatory needs.
Key Standards and Models
ISO/IEC 25010 (Software Product Quality Model):
This model outlines characteristics that define software quality, such as functional suitability, performance efficiency,
maintainability, and security, which guide evaluation.
ISO 9001:
A general quality management system standard, it guides organizations in consistently delivering products and services that meet
customer and regulatory requirements.
ISO/IEC/IEEE 29119 (Software Testing):
This set of standards provides internationally agreed-upon definitions for the software testing process at organizational, test
management, and dynamic test levels.
IEEE 730 (Software Quality Assurance Plans):
This standard provides guidelines for creating comprehensive SQA plans, detailing the necessary processes and procedures.
CMMI (Capability Maturity Model Integration):
A framework for improving software development processes to achieve higher levels of capability and maturity.
Core Aspects of SQA Standards
Process-Centric Approach:
SQA standards focus on processes and methods used during software development, including requirements engineering, design,
coding, testing, and release management.
Defect Prevention:
A primary goal is to prevent defects from occurring early in the software development lifecycle through activities like design audits
and requirements validation.
Verification and Validation:
Standards provide frameworks for checking that the software is built correctly (verification) and that it meets the stated needs
(validation).
Compliance:
Standards ensure that the software complies with defined quality requirements, company policies, and relevant regulatory
mandates.
Continuous Improvement:
SQA involves ongoing monitoring, evaluation, and adaptation of processes to ensure continuous improvement in software quality
over time.
How Standards Are Used
Define Quality Metrics - Standards help define what constitutes "quality" by outlining measurable characteristics and metrics.1.
Establish Processes-They provide a framework for standardizing workflows, such as code reviews, testing procedures, and
configuration management.
2.
Guide Audits and Reviews-Standards inform managers and developers on how to conduct audits and reviews to ensure
software meets established quality criteria.
3.
Ensure Consistency-By applying a common set of standards, organizations can ensure a consistent approach to quality
assurance across all software projects.
4.

10 ESSENTIAL ELEMENTS OF SQA
Software Engineering Standards - Adhering to established industry standards and project-specific guidelines to ensure
consistency and quality in the software development process.
1.
Technical Reviews and Audits -Formal and informal evaluations of software designs, code, and processes to detect defects
and ensure adherence to standards.
2.
Software Testing for Quality Control- A critical process to verify that the software functions as expected and meets all
specified requirements.
3.
Error Collection and Analysis- Systematically gathering information on defects, analyzing their root causes, and implementing
corrective actions to prevent future occurrences.
4.
Change Management- A structured process to control and document any modifications to the software or its related artifacts to
maintain quality and prevent unintended side effects.
5.
Educational Programs- Training programs to enhance the skills and knowledge of the development and SQA teams, ensuring
they are equipped to follow quality processes.
6.
Vendor Management-Processes for managing external vendors and suppliers to ensure their deliverables meet the required
quality standards.
7.
Security Management-Incorporating security considerations into the software development process to protect the software
and data from threats.
8.
Safety-Ensuring that the software is safe to use and does not pose any risks to users or the environment.9.
Risk Management-Proactively identifying potential risks to the project's quality, security, and safety, and developing strategies
to mitigate or prevent them.
10.

Various SQA Techniques
Formal Reviews and Inspections
Auditing:
SQA professionals inspect work products and related information to confirm adherence to predefined standards and processes.
Code Inspection:
A formal review where a trained mediator or peer examines code based on specific criteria to identify and prevent bugs from
reaching later stages.
Design Inspection:
Uses a checklist to evaluate a software design for adherence to standards, covering aspects like requirements, interfaces, and error
handling.
Reviewing:
A meeting where internal and external stakeholders examine a software product to gather comments and secure approval.
Walkthroughs:
A peer review where a developer guides team members through the product to discuss potential issues, suggest alternatives, and
identify errors.
Dynamic Testing Techniques
Functional Testing:
Focuses on what the system does without considering the underlying design or structure, testing against system specifications.
Path Testing:
A "white box" technique designed to execute every independent path within the code at least once, ensuring comprehensive
branch coverage.
Stress Testing:
Involves testing the software under extreme load or unusual conditions to determine its robustness and how it behaves under
stress.
Simulation:
A technique that models real-life situations to virtually examine a system's behavior under various conditions.
Process and Standardization Techniques
Static Analysis:
Uses automated tools to analyze source code without executing the program, helping to identify potential errors and quality issues
early.
Standardization:
Establishes clear quality standards, guidelines, and processes to reduce ambiguity and ensure a consistent level of quality across
projects.
SQA Management Plan:
A comprehensive plan that outlines how SQA activities will be carried out, defining quality goals and the specific techniques and
checkpoints to be used.