APP DEV PRE FINALS

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

Reputation - Software devs and their organizations rely on this. Software bugs can have immediate impacts on clients or customers.

Limiting Technical Debt - Poor quality software tends to be expensive to develop and maintain, which can negatively affect organizations or end up maintaining the software in the longer term.

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

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. 

Software prototyping - Refers to building software application prototypes which displays the functionality of the product under development.

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;

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.

Paper-Based Prototyping - This prototyping technique is used to create a prototype based on hand drawings that represent user interfaces of the software.

 

Wireframing - is a visual representation of a product page that developers can use to arrange pages of user interfaces.                            

High-Fidelity Prototyping - Created when developers have a solid understanding of what they are going to build. They need to test it with the actual users.

Software inspection or software review - is a formalized peer review process for detecting and correcting defects or bugs in software artifacts.

Software artifacts - are things that have been documented and stored during the software development process.

Fagan inspection methodology  - This methodology was developed by Michael Fagan to identify and remove errors in the software products and to identify any systematic defects in the process.

Moderator - S/He leads the inspection team and takes care of logistics.

Author - S/He is the creator of the software artifacts under inspection. Will actively answer all the questions regarding the artifacts during the inspection meeting. Responsible for fixing identified defects and bugs in the artifacts.

Reader - S/He is an experienced peer who can be a subject matter expert on the software artifacts under inspection.

Tester - S/He is responsible for writing and executing test cases for the software module or product. Is focused on how the product would be tested.

Structured Walkthrough - It is a peer review in which the author of a deliverable, such as a document or source code, objectives are to get feedback from the reviewers on the quality of the document or code.

Review leader - is one of the roles in a structured walkthrough.

Scribe - is one of the roles in a structured walkthrough.

Review Audience - is one of the roles in a structured walkthrough.

Code reviewing/inspection - is the act of systematically convening with fellow programmers to check each other's code for faults to ensure the code meets quality standards.

Tool-Driven Code Review - This approach uses automated code analysis techniques that can pick out problematic patterns within the source code.

 

Developer-Driven Code Review - Some properties of code quality are difficult to assess automatically. In this approach, the developers themselves review the code to pick out problems.

Modern code review - is a lightweight variant of the code inspections because it does not rely on face-to-face meetings.

Pull-Based Development - This development approach enforces modern code review and does not use code reviewing tools. This revolves around a mechanism known as a "pull request."