Gerência e Qualidade de Software - Aula 02 - Qualidade de produto
Quality of Software Products
In this section, the instructor discusses the quality of software products, focusing on defining quality and exploring models that help in measuring and ensuring quality in software development.
Quality Definition and Measurement
- Quality is defined as the degree to which a system, component, or process meets expected requirements and customer needs.
- Models like ISO 25000 aid in specifying quality requirements and measuring software product quality.
ISO 25000 Standards
- The ISO 25000 family of standards defines quality characteristics that software should possess.
- It helps in evaluating software product quality and provides guidelines for assessing it effectively.
Divisions of ISO 25000
- The ISO 25000 family consists of five divisions with various standards focusing on different aspects of software product evaluation.
- Each division contains multiple editions emphasizing specific qualities and common terms for clarity.
Quality Model Hierarchy
This part delves into the hierarchy of quality models, discussing characteristics, properties, and measurement methods essential for evaluating software product quality.
Characteristics vs. Properties
- Characteristics represent higher-level attributes while properties are measurable elements contributing to those characteristics.
Measurement Considerations
- Properties like lines of code or calculation accuracy can be measured during software development to assess quality.
Quality Degrees
- Quality degrees indicate how well requirements are met; properties play a crucial role in determining these degrees.
Quality in Software Development
In this section, the speaker discusses the concept of quality in software development, emphasizing the importance of considering user experience and various contexts in assessing quality.
Quality in Use
- Quality of a product is estimated through its quality in use, which considers user context and other relevant characteristics beyond initial design.
- Quality in use depends on the context, including user characteristics, hardware considerations, environmental factors like lighting and noise levels, and social aspects.
Data Quality and Process Quality
- The model also includes data quality as a crucial aspect for those working with information systems.
- Process quality influences product quality; internal properties (measurable by developers) and external properties (visible to users) are key indicators of product quality.
Internal and External Properties
- Internal properties are measurable but not visible externally (e.g., code details), while external properties are visible to users and influenced by internal factors.
- External properties impact user perception; product quality affects usability depending on the user's context.
Characteristics of Product Quality
This section delves into measuring product quality through eight distinct characteristics that encompass functionality, efficiency, compatibility, usability, reliability, security, maintainability, and portability.
Characteristics of Product Quality
- The model divides product quality into eight characteristics: functional adequacy, performance efficiency, compatibility, usability, reliability, security, maintainability, and portability.
Functional Adequacy to Portability
- Functional adequacy assesses if a product fulfills specified needs; performance efficiency evaluates resource usage relative to tasks performed.
- Compatibility measures information sharing capabilities; usability gauges ease of use with multiple sub-characteristics under it.
Reliability to Portability
- Reliability ensures functions perform as expected within set conditions promptly; security focuses on protecting information effectively.
Quality of Software Products
In this section, the speaker discusses the characteristics that define the quality of software products, emphasizing aspects like operability, modifiability, and user satisfaction.
Operability and Modifiability
- Operability refers to how easy it is to operate a software product.
- Modifiability is crucial; low modifiability indicates highly coupled code, making changes challenging.
User-Centric Characteristics
- Efficacy ensures users achieve their goals precisely and completely.
- Efficiency measures how quickly tasks can be completed without delays.
- Absence of risk focuses on minimizing potential harm to users' integrity.
Context Coverage and Stakeholder Perspectives
- Context coverage assesses a product's usability across various scenarios.
- Stakeholders have diverse viewpoints on quality attributes like ease of learning or maintainability.
Measurement in Software Quality
This part delves into prioritizing quality attributes in software development, emphasizing the need for clear specifications and measurement metrics.
Prioritization and Specification
- Prioritizing quality attributes is essential due to financial feasibility constraints.
- Clear specifications are crucial to avoid aiming for all features at maximum levels.
Measurement Metrics
- During development, adherence to prioritized characteristics must be monitored through measurements.
Normative Framework for Measurement
- ISO standards like 25000 and 25022 provide guidelines for measuring both product quality and usability.
User Experience Evaluation
The discussion shifts towards evaluating user experience by measuring learnability and task efficiency within software products.
Learnability Assessment
- Learnability can be gauged by factors such as average time taken for users to grasp functionalities.
Task Efficiency Evaluation
- Task efficiency metrics include the number of tasks users can complete unaided or without consulting manuals.
Conclusion on Product Quality
The conclusion emphasizes the necessity of clear specifications in ensuring that software products meet defined quality standards efficiently without unnecessary complexity.
Clarity in Specifications