1/18
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Software quality
is the degree to which a software product meets the gathered requirements
Software quality assurance
is a set of activities that define and assess the adequacy of software process to provide evidence which establishes confidence that the software processes are appropriate for and produce software products of suitable quality for their intended processes
Here are some key reasons that drive software quality assurance:
Reputation
Limiting Technical Debt
Software Certification
Legality
Ethical Codes of Practice
Reputation
– Software developers and their organizations rely on this. Software bugs can have immediate impacts on clients or customers.
Limiting Technical Debt
– Poor quality software tendsto be expensive to develop and maintain, which can negatively affect organizations or end up maintaining the software in the longer term. These costs are often referred to as “technical debt.”
Software Certification
– The development and use of the software might require some form of certification, which can often require evidence of the application of various quality control and assessment measures.
Legality
– There may be overriding legal obligations that apply to organizations that use the software. As such, every
practicable measure must be taken to demonstrate that the software system does not pose a risk to its users.
Ethical Codes of Practice
– In cases where a software system is not covered by software certification and legislation, and where its failure is not necessarily business or safety-critical, there can remain moral obligation to the users. This implies that software engineers should do whatever is possible to maximize the quality of their software and to prevent it from containing potentially harmful bugs
Software prototyping
refers to building software application prototypes which displays the functionality of the product under development, but may not actually hold the exact logic of the original software.
Prototyping software is used to achieve the following:
• Allow users to evaluate the software system design and how the software actually works.
• Clarify the functionalities of the software to both users and developers.
• Reduce cost and time relative to building software product and iterating the process.
• Reduce the need to recreate the software system due to some gaps on the implementation
Prototyping Paradigms:
Throwaway Prototyping and Evolutionary Prototyping
Throwaway Prototyping
– This is a relatively fast method of prototyping that focuses on employing prototypes to generate insights about the software design idea
Evolutionary Prototyping
– The prototypes on this paradigm are reused after the testing in a way that they are altered according to the test results and then reused in a new test cycle.
Low-Fidelity Prototyping
– Its role is to check and test the visual appearance and user flows of a software. A throwaway prototype can be created in low-fidelity.
These are some techniques to create low-fidelity prototypes:
Paper-Based Prototyping and Wireframing
Paper-Based Prototyping
– This prototyping technique is used to create a prototype based on hand drawings that represent user interfaces of the software. This allows developers to explore ideas and refine designs quickly.
Wireframing
– is a visual representation of a product page that developers can use to arrange pages of user interfaces. Wireframes are used to create interactive prototypes by linking different wireframes together
High-Fidelity Prototyping
prototypes are created when developers have a solid understanding of what they are going to build.
(IDE)
Integrated Development Environment software.