Iso Iec 25010 Pdf

0 views
Skip to first unread message

Manuela

unread,
Aug 4, 2024, 4:40:37 PM8/4/24
to plunpiseti
Thecharacteristics and sub-characteristics provide consistent terminology for specifying, measuring and evaluating system and software product quality. They also provide a set of quality characteristics against which stated quality requirements can be compared for completeness.

Software quality reflects how well software conforms to the design but also how it meets non-functional requirements such as security or maintainability as described by the characteristics in ISO 25010. Software quality measurement quantifies to what extent the software rates with regard to each of the characteristics.


Security: Defined as the protection of system items from accidental or malicious access, use, modification, destruction, or disclosure. Static code analysis can help identify defects to prevent these types of malicious attack.


The use of coding standards such as AUTOSAR, MISRA, and CERT can discover both security issues and general deficiencies. Using a static code analysis tool like Helix QAC and Klocwork that can verify compliance with coding standards and provide evidence that compliance should be part of the quality process.


Jill Britton has over 30 years of embedded software experience across a variety of industries. She has worked as a software engineer and manager for telecommunications, automotive, defense, and education software.


Jill is now the Director of Compliance at Perforce and is a committee member of MISRA. Jill holds a BSc in Computer Science and Statistics from Newcastle University, and a MSc in Computer Science from Brunel University London.


Ensuring software quality today is paramount. From seamless user experiences to robust functionality, software quality directly impacts user satisfaction, organizational efficiency, and even safety critical systems.


There are many software quality models and frameworks for measuring software quality. One of the most commonly adhered to is the ISO/IEC 25010 Software Quality Model, which offers a comprehensive framework to evaluate and improve software product quality.


The ISO/IEC 25010 Software Quality Model, developed by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), provides a systematic approach to assessing and measuring software quality.


ISO/IEC 25010 organizes software quality into two dimensions: product quality and quality in use. By considering both product quality and quality in use, organizations can adopt a holistic approach to software quality assurance, ensuring that their products meet technical specifications and deliver value and satisfaction to end-users.


Product quality refers to the inherent characteristics of the software product itself. It encompasses functionality, reliability, usability, efficiency, maintainability, and portability. These characteristics are evaluated based on predefined criteria and metrics to assess how well the software meets its intended quality requirements and objectives.


By examining product quality characteristics, organizations can better understand their software's strengths and weaknesses, enabling them to make informed decisions about enhancements, optimizations, and future development efforts.


Quality in use, on the other hand, moves focus from the inherent characteristics of the software product to its effectiveness and satisfaction in real-world usage scenarios. When interacting with the software in its intended environment, it considers user satisfaction, productivity, efficiency, and safety factors.


Unlike product quality, which is evaluated based on predefined criteria, quality in use is subjective and context-dependent. It requires gathering feedback from users and stakeholders to understand their experiences, preferences, and needs.


Effectiveness refers to how software enables users to achieve specific goals wholly and accurately within a given context. It focuses on the software's ability to facilitate successful task completion and attain desired outcomes, ultimately contributing to user productivity and satisfaction.


Efficiency pertains to optimizing resources and effort expended by users in accomplishing tasks with the software. It emphasizes minimizing the time, energy, and cognitive load required to achieve desired outcomes, enhancing user productivity and overall system performance.


Satisfaction reflects users' subjective perceptions and feelings regarding their interaction with the software. It encompasses usability, aesthetics, and emotional responses, influencing user engagement, loyalty, and overall satisfaction with the software experience.


Freedom from risk refers to how well software mitigates or eliminates potential hazards, errors, or adverse consequences arising from its use. It ensures user safety, data integrity, and protection against security threats, enhancing user trust and confidence in the software's reliability and security.


Context coverage evaluates the software's suitability and adaptability across various usage contexts and environmental conditions. It considers factors such as the diversity of users, tasks, and operating environments, ensuring that the software remains practical and usable across different scenarios and user groups.


ISO 25010 is an excellent addition for enterprise software teams who want a framework evaluating software product quality. By breaking down quality characteristics into sub-characteristics, developers can go on to define software metrics that make sense for their projects.


Maintaining coding standards can be tough without the right tools. Static code analysis tools like linters can help you automate the code review and analysis process, making it easier for you to stick to established coding standards.


Codacy allows you to automate the static code analysis process by creating coding standards within the platform to ensure that groups of repositories follow the same security rules or coding conventions, for example. To see how it works, start your free 14-day Codacy trial today.


Even though ISO/IEC 25010 may seem repulsive at first glance (as formal standards are wont to be), it kept popping up time and again in my daily work, and my appreciation for it grew quickly as soon as I realized how useful and valuable it can be, especially once it's explained using more real-life examples.


The previous standard for software quality measurement was ISO/IEC 9126. It categorized software quality into six characteristics (factors), which were further broken down into subcharacteristics (criteria).


ISO 25010, however, introduced two additional factors, therefore the difference between the two lies mainly in how they categorize and define those characteristics of software quality requirements that we call non-functional.


As I already mentioned, the standard categorizes app functionalities and lists all aspects of the app that must be verified before the app may be released. Now, let me quickly explain what those official ISO terms mean in more simple terms.


Maintainability should be taken into account at the planning stage of the app development cycle. Therefore, the best practice is to engage a QA team member at the very beginning of the process. You see, if you take a QA on board to join a set of developers, you will be able to foresee any possible future requirements and save yourself a lot of effort (and money) down the line. Also, instead of fixing things on the go, you will be able to build a well-planned, robust app.


As I already pointed out above, at Monterail we care deeply about the core functions of the software we make. They need to work, period. And to check whether they work correctly, we test them in and out, trying to take a fresh approach to the task of evaluation every single time. The problem is, however, that you miss some things if you repeat the same procedures every day.


Each project is different, so you cannot exactly treat the list as a ready-made plan of action. First, think about what is important for the client and the user. And remember to think about it from the very beginning of your work with the client.


ISO 25010 is a great framework to define software metrics important for a particular project. It is not a comprehensive, detailed map, but rather a guide you can use, depending on the circumstances. Every development project has different priorities and metrics, and this standard allows enough leeway to work with all of them.


Background: Mobile applications play a crucial role in postnatal, contraception, and prenatal care, offering vital monitoring and resources for mothers and infants. This study assessed the software product quality (SPQ) (the degree to which a software product meets specified requirements and user expectations) of three reproductive health monitoring mobile applications, employing ISO/IEC 25010 and ISO/IEC 25023 standards. The objective was to analyze the strengths and weaknesses of each app, thereby providing valuable information for potential users. By identifying areas requiring enhancement, this study improves the overall quality and usability of these applications. Methods: We implemented a three-step analysis process, examining the sub-features and features outlined in the ISO/IEC 25010 standard for software product quality, encompassing functionality, reliability, usability, efficiency, and maintainability. Subsequently, we formulated a checklist summarizing the influence of the three mobile applications on SPQ. Finally, we calculated the impact of each requirement block on both SPQ and quality in use (QIU) models. Results: The results show that the functional suitability SPQ characteristic is greatly influenced by the predefined requirements, with subsequent impacts on the operability, performance efficiency, reliability, and security SPQ characteristics. Thus, developers, designers, and testers must integrate these requirements across the developmental stages of health mobile applications to create a high-quality, patient-centered product with substantial added value. Conclusions: This study has produced a range of requirements tailored for pregnancy monitoring and childcare applications, serving as a valuable reference for developers aiming to create high-quality applications and evaluate their quality effectively. It underscores the importance of integrating SPQ characteristics into the software development process to ensure the creation of high-quality products with essential key performance indicators (KPIs). Such considerations facilitate better evaluations in application stores and increase user adoption and satisfaction levels.

3a8082e126
Reply all
Reply to author
Forward
0 new messages