Hướng dẫn đo lường yêu cầu phi chức năng và dự án theo chuẩn COSMIC

Hướng dẫn toàn diện về yêu cầu phi chức năng trong dự án phần mềm. Cách đo lường hiệu suất, benchmarking và ước tính dự án dựa trên yêu cầu phi chức năng.

Trường đại học

Common Software Measurement International Consortium

Chuyên ngành

Công nghệ phần mềm

Người đăng

Ẩn danh

Thể loại

Tài liệu hướng dẫn

2015

57
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về yêu cầu phi chức năng trong đo lường dự án phần mềm

Yêu cầu phi chức năng (NFR) đóng vai trò then chốt trong đánh giá hiệu suất dự án phần mềm, bổ sung cho các yêu cầu chức năng (FUR) truyền thống. Chúng bao gồm các yếu tố như khả năng mở rộng, hiệu suất, bảo mật, độ tin cậy và khả năng bảo trì. Việc xem xét NFR giúp xác định rõ ràng các giới hạn và điều kiện hoạt động của hệ thống, từ đó ảnh hưởng trực tiếp đến chi phí, thời gian và nguồn lực triển khai. Phương pháp COSMIC đề xuất tích hợp NFR vào quy trình đo lường kích thước chức năng tiêu chuẩn, tạo nền tảng vững chắc cho việc so sánh và ước tính dự án. Bằng cách phân loại NFR theo các tiêu chí môi trường, kỹ thuật và dự án, tổ chức có thể xây dựng các nhóm chuẩn mực hiệu suất phù hợp, hỗ trợ quyết định quản lý dựa trên dữ liệu.

1.1. Định nghĩa và vai trò của NFR trong đo lường

Yêu cầu phi chức năng xác định 'như thế nào' phần mềm hoạt động thay vì 'cái gì' nó phải làm. Chúng bao gồm các đặc tính chất lượng như thời gian phản hồi, khả năng chịu lỗi và khả năng tương thích. Trong phương pháp COSMIC, NFR được phân loại thành các nhóm như yêu cầu môi trường (lĩnh vực ứng dụng), yêu cầu kỹ thuật (nền tảng vận hành) và yêu cầu dự án (phương pháp phát triển). Việc ghi nhận NFR giúp xác định phạm vi dự án toàn diện hơn, giảm thiểu rủi ro sai lệch trong ước tính so với thực tế.

1.2. Sự khác biệt giữa FUR và NFR trong đánh giá dự án

Yêu cầu chức năng (FUR) đo lường kích thước chức năng của phần mềm, trong khi NFR tập trung vào các yếu tố phi chức năng ảnh hưởng đến hiệu suất tổng thể. FUR cung cấp cơ sở cho ước tính kích thước, trong khi NFR điều chỉnh các tham số ước tính như nỗ lực, thời gian và chi phí. Sự kết hợp giữa hai loại yêu cầu cho phép xây dựng các mô hình ước tính chính xác hơn, đặc biệt khi so sánh các dự án tương tự.

II. Phân tích thách thức khi xem xét NFR trong đo lường dự án

Việc tích hợp NFR vào quá trình đo lường dự án gặp nhiều thách thức do tính đa dạng và chủ quan của chúng. Các vấn đề thường gặp bao gồm thiếu tiêu chuẩn thống nhất trong phân loại NFR, khó khăn trong việc định lượng các yếu tố phi chức năng như trải nghiệm người dùng hoặc khả năng bảo trì. Ngoài ra, NFR thường thay đổi theo thời gian do yêu cầu kinh doanh hoặc công nghệ, khiến việc duy trì các chuẩn mực hiệu suất trở nên phức tạp. Việc thiếu dữ liệu lịch sử chi tiết về NFR cũng hạn chế khả năng xây dựng các mô hình ước tính đáng tin cậy. Những thách thức này đòi hỏi các tổ chức phải áp dụng các phương pháp phân loại chặt chẽ và thu thập dữ liệu nhất quán.

2.1. Khó khăn trong việc định lượng NFR

NFR thường mang tính chủ quan và khó định lượng so với FUR. Ví dụ, việc đo lường 'khả năng thân thiện người dùng' hoặc 'độ tin cậy' phụ thuộc nhiều vào quan điểm đánh giá. Phương pháp COSMIC khuyến nghị sử dụng các tiêu chí khách quan như tỷ lệ lỗi, thời gian hoạt động hoặc dung lượng lưu trữ để định lượng NFR. Tuy nhiên, việc chuyển đổi các yếu tố chủ quan thành dữ liệu đo lường vẫn là thách thức lớn đối với nhiều tổ chức.

2.2. Ảnh hưởng của NFR đến ước tính dự án

NFR có thể thay đổi đáng kể ước tính dự án khi chúng tác động đến phạm vi, độ phức tạp và rủi ro. Ví dụ, yêu cầu bảo mật cao có thể tăng gấp đôi nỗ lực phát triển do cần triển khai các biện pháp mã hóa phức tạp. Việc không xem xét đầy đủ NFR trong giai đoạn lập kế hoạch dẫn đến ước tính thiếu chính xác, gây ra tình trạng vượt ngân sách hoặc chậm tiến độ. Do đó, NFR cần được tích hợp sớm vào quy trình ước tính thông qua các mô hình điều chỉnh dựa trên dữ liệu lịch sử.

III. Phương pháp tích hợp NFR vào đo lường và ước tính dự án

Để tích hợp hiệu quả NFR vào quá trình đo lường dự án, phương pháp COSMIC đề xuất quy trình gồm bốn bước: phân loại, đo lường, chuẩn hóa và ước tính. Đầu tiên, NFR được phân loại theo các tiêu chí môi trường, kỹ thuật và dự án. Tiếp theo, các yếu tố phi chức năng được định lượng thông qua các chỉ số khách quan như tỷ lệ lỗi, thời gian phản hồi hoặc dung lượng lưu trữ. Sau đó, dữ liệu từ các dự án tương tự được chuẩn hóa thành các nhóm chuẩn mực hiệu suất. Cuối cùng, các mô hình ước tính được điều chỉnh dựa trên sự khác biệt về NFR giữa dự án hiện tại và các dự án tham chiếu.

3.1. Phân loại và đo lường NFR theo COSMIC

Phương pháp COSMIC khuyến nghị phân loại NFR thành ba nhóm chính: yêu cầu môi trường (lĩnh vực ứng dụng), yêu cầu kỹ thuật (nền tảng vận hành) và yêu cầu dự án (phương pháp phát triển). Mỗi nhóm NFR được đo lường thông qua các chỉ số cụ thể. Ví dụ, yêu cầu bảo mật có thể được đo lường bằng số lượng lỗ hổng bảo mật phát hiện trong quá trình kiểm thử. Việc phân loại chặt chẽ giúp xây dựng các nhóm chuẩn mực hiệu suất đồng nhất.

3.2. Xây dựng chuẩn mực hiệu suất dựa trên NFR

Chuẩn mực hiệu suất được xây dựng bằng cách phân tích dữ liệu từ các dự án tương tự đã hoàn thành. Dữ liệu được nhóm theo các tiêu chí NFR như môi trường ứng dụng, nền tảng kỹ thuật và phương pháp phát triển. Các mối quan hệ giữa kích thước chức năng, nỗ lực dự án và NFR được phân tích để xác định các xu hướng hiệu suất. Ví dụ, một dự án phát triển ứng dụng di động trên nền tảng iOS có thể có chuẩn mực nỗ lực cao hơn so với ứng dụng web do yêu cầu tương thích phần cứng.

IV. Kết luận và ứng dụng thực tiễn của NFR trong quản lý dự án

Việc xem xét NFR trong đo lường và ước tính dự án phần mềm là yếu tố quyết định để nâng cao độ chính xác của các dự án. Phương pháp COSMIC cung cấp khung quy trình tích hợp NFR vào quy trình đo lường tiêu chuẩn, giúp các tổ chức xây dựng các chuẩn mực hiệu suất đáng tin cậy. Bằng cách phân loại, đo lường và chuẩn hóa NFR, các nhà quản lý dự án có thể giảm thiểu rủi ro sai lệch trong ước tính, tối ưu hóa phân bổ nguồn lực và cải thiện hiệu suất tổng thể. Ứng dụng thực tiễn này không chỉ hỗ trợ quyết định quản lý mà còn thúc đẩy sự phát triển bền vững của các sản phẩm phần mềm.

4.1. Lợi ích của việc tích hợp NFR vào quy trình quản lý

Tích hợp NFR vào quy trình quản lý dự án mang lại nhiều lợi ích thiết thực. Nó giúp nâng cao độ chính xác của ước tính dự án bằng cách xem xét đầy đủ các yếu tố ảnh hưởng đến hiệu suất. Ngoài ra, việc xây dựng các chuẩn mực hiệu suất dựa trên NFR hỗ trợ so sánh dự án, xác định điểm mạnh và điểm yếu của quy trình phát triển. Điều này cũng thúc đẩy sự minh bạch trong quản lý dự án, nâng cao năng lực cạnh tranh của tổ chức.

4.2. Hướng dẫn triển khai NFR trong tổ chức

Để triển khai NFR hiệu quả, tổ chức cần xây dựng quy trình tiêu chuẩn hóa phân loại và đo lường NFR. Điều này bao gồm đào tạo nhân viên về phương pháp COSMIC, thu thập dữ liệu lịch sử chi tiết về NFR, và áp dụng các công cụ phân tích dữ liệu. Ngoài ra, tổ chức nên thiết lập các nhóm chuẩn mực hiệu suất dựa trên các dự án tương tự và liên tục cập nhật các mô hình ước tính theo dữ liệu mới.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

30/05/2026
Guideline on non functional project requirements how to consider non functional and project requirements in software project performance measurement benchmarking and estimating

Trích đoạn nội dung tài liệu

The COSMIC Functional Size Measurement Method Version 4.1 Guideline on Non-Functional & Project Requirements How to consider non-functional and project requirements in software project performance measurement, benchmarking and estimating Version 1. November 2015 Version control Date Reviewer(s) Modifications / Additions March 2014 v0.1 followed by 15 iterations November See Acknowledgements First version 1. All Rights Reserved. The Common Software Measurement International Consortium (COSMIC).

Permission to copy all or part of this material is granted provided that the copies are not made or distributed for commercial advantage and that the title of the publication, its version number, and its date are cited and notice is given that copying is by permission of the Common Software Measurement International Consortium (COSMIC). To copy otherwise requires specific permission. Acknowledgements Authors and reviewers who have contributed to the development of v1.0 (alphabetical order) Alain Abran, Diana Baklizky Carol Buttle École de Technologie Supérieure, TI Metricas Safety and Security Engineering Université du Québec Council Brazil Canada United Kingdom Jean-Marc Desharnais Peter Fagg Cigdem Gencel École de Technologie Supérieure, Pentad Ltd DEISER Université du Québec United Kingdom Spain Canada Barbara Kitchenham, Arlan Lesterhuis Roberto Meli Keele University Data Processing Organization United Kingdom The Netherlands Italy Dylan Ren Luca Santillo Hassan Soubra Measures Agile Metrics Ecole Supérieure des Techniques China Italy Aéronautiques et de Construction Automobile France Charles Symons* Frank Vogelezang Chris Woodward Ordina CW Associates United Kingdom Netherlands United Kingdom Steve Woodward Cloud Perspective United States * Author of this guideline N. In addition to the Reviewers listed above, the definitions and classification scheme of Chapters 2 and 3, and the Glossary of Chapter 7 were developed jointly with members of the IFPUG ‘SNAP’ (Software Non-Functional Assessment Process) team under the leadership of Talmon Ben-Cnaan.

Foreword The COSMIC method aims to measure a ‘functional size’ of software based on its Functional User Requirements (FUR). In simple terms these specify ‘what’ a software product must do. The main uses of COSMIC-measured ‘functional sizes’ are in:  measuring and comparing performance across projects of similar characteristics, e. using ‘productivity’ = (software functional size)/(project effort)  estimating effort for projects, e.

from project effort = (new software estimated functional size) / (productivity from previous similar projects) This apparently simple process may be useful in practice because the ‘functional sizes’ are usually by far the largest driver of effort of software development projects. However, the success of this simple process depends heavily on what is meant by ‘similar’. Clearly many other factors than just the size of the functional requirements can affect project performance and may need to be taken into account in order to ensure fair, or ‘like-for-like’, comparisons. These same other factors may arise when estimating the project effort to develop some new software.

Examples of such ‘other factors’ are:  varying ease-of-use or system response time requirements (system quality factors);  varying numbers of users that the system must serve (environmental factors)  varying requirements for the technology to be used or for the technical architecture (technical factors);  varying skill-levels of the project teams or project constraints such as schedule compression factors (project factors). The Guideline begins by referring to these various system quality, environmental and technical requirements and constraints as ‘non-functional requirements’, abbreviated as ‘NFR’, and ‘project requirements and constraints’ abbreviated as ‘PRC’. In the late 1970’s when functional size measurement was first invented, few NFR were recognized and they did not vary much for all the projects within a given company, or even within the same domain e. of business applications.

The first methods of functional sizing attempted to account for a few NFR by an adjustment to the functional size. For example, Albrecht’s ‘Value Adjustment Factor’ for FPA recognized 10 factors, later increased to 14 factors by IFPUG. Since then, many more types of requirements are recognized as non-functional. With the enormous varieties of technology and software, taking them into account in the activities of project performance measurement, benchmarking and estimating can be much more difficult.

The purposes of this Guideline are  to help understand and define the concepts of NFR and PRC;  to propose a standard Glossary of terms and classification system for NFR and PRC;  to provide practical guidance to users of the COSMIC FSM method on how to deal with NFR and PRC, as well as FUR, when making software project performance measurement comparisons, when developing benchmarks, and when estimating for new projects. The focus of the Guideline is on the NFR for the software deliverables of a project and on the PRC. (A project may also have to deliver other related products such as the hardware on which the software executes, business processes and training for human users of the software, and such-like, but these are only considered in passing.) The Guideline is structured as follows.  Chapter 1 introduces the need for a coherent terminology and for methods of measuring or recording FUR, NFR and PRC consistently across the activities of software system project performance measurement, benchmarking and estimating, and starts to discuss how FUR, NFR and PRC affect measured software size and project effort.

 Chapter 2 introduces a coherent set of definitions of all types of requirements, in a hierarchical structure.  Chapter 3 introduces a classification system for NFR and PRC and gives the criteria for deciding which NFR and PRC terms were included in the Glossary. The classification system should also help understanding and make it easier to search for a particular NFR or PRC term. The classification and lists of NFR and PRC terms should be valuable as a checklist when defining requirements for a new software project.

 Chapter 4 aims to give practical advice on how to deal with NFR and PRC in recording project data, comparing project performance, establishing internal benchmarks and estimating for new projects.  Chapter 5 gives examples of quality requirements for a software system or product that initially appear as non-functional, but that evolve as a project progresses to requirements for software functionality. Most such functionality can be measured by the standard COSMIC method.  Chapter 6 (to be written mostly in a later release) introduces standard ways of recording and measuring each of the NFR and PRC terms.

 The Glossary of Chapter 7 lists NFR and PRC terms and their definitions, selected using the criteria of Chapter 3. The reader is assumed to have a general understanding of functional size measurement and of the COSMIC method. Much information about COSMIC and all documentation on the COSMIC method is available for free download from www. The COSMIC Measurement Practices Committee.

Table of Contents 1INTRODUCTION AND TERMINOLOGY.1 The need for coherent and consistent data across four activities.2 Towards a coherent terminology.1 The relationship between ‘requirements’ and ‘constraints’.2 What do requirements apply to?.3 NFR often evolve into FUR as a project progresses.3 Current practices in dealing with NFR in a system development project.4 Summary and conclusions from this chapter.7 2DEFINITIONS OF THE VARIOUS TYPES OF REQUIREMENTS.1 Functional User Requirements (FUR).2 Non-Functional Requirements (NFR).3 Project Requirements and Constraints (PRC).4 Summary model of requirements for a software systems project.10 3SELECTION AND CLASSIFICATION OF NFR AND PRC TERMS.1 Selection of NFR terms.2 System Environment Requirements.2 Selection of terms for Project Requirements and Constraints.15 4DEALING WITH NFR AND PRC FOR PROJECTS WITHIN AN ORGANIZATION.1 Commonality of NFR and PRC across an organization.2 Typical NFR and PRC to be recorded for business application projects.3 Typical NFR and PRC to be recorded for real-time embedded software projects.4 Establishing internal benchmarks.5 Dealing with NFR and PRC in software project estimating.19 5EXAMPLES OF FUNCTIONAL SIZE MEASUREMENT OF NFR.1 Measuring the FUR of application software arising from Quality NFR.2 A simple security NFR.4 NFR for a mobile e-mail system.26 6MEASUREMENT OF NFR.1 Sizing NFR collectively.2 Recording and measuring individual NFR and PRC.3 ISO/IEC standards for measuring individual Quality NFR.28 7GLOSSARY OF NFR AND PRC TERMS.1 Sources of ISO standard and other definitions.2 Glossary of Non-Functional Requirement terms.3 Glossary of Project Requirement and Constraint terms.4 Terms that have been excluded from the Glossary.45 APPENDIX: COSMIC CHANGE REQUEST AND COMMENT PROCEDURE.48 Acronyms The following acronyms are used in this Glossary CMMI® Capability Maturity Model Integration COBIT Control Objectives for Information and Related Technology, http://www.org/cobit/pages/default.aspx COSMIC Common Software Measurement International Consortium FSM Functional Size Measurement FUR Functional User Requirements IEEE Institute of Electrical and Electronics Engineers IEC International Electrotechnical Commission IFPUG International Function Point Users Group ISBSG International Software Benchmarking Standards Group ISO International Organization for Standardization NFR Non-Functional Requirements PMI® Project Management Institute PRC Project Requirements and Constraints PRINCE2 PRojects IN a Controlled Environment, Version 2 ROI Return on Investment SPICE Software Process Improvement and Capability Determination SQuaRE System and software product Quality Requirements and Evaluation 1 INTRODUCTION AND TERMINOLOGY The purpose of this Guideline is to establish common understanding and terminology across the activities of software sizing, software project performance measurement, benchmarking and software project estimating. The common subject linking these four activities are projects that develop or enhance software-intensive ‘systems’ (comprising software, hardware, data and maybe other deliverables) or just software products. For simplicity, when we do not need to be more precise, we will refer to all of these as ‘software system projects’ and their output as ‘software systems or software products’ (shortened to ’software system/product’ where convenient).1 The need for coherent and consistent data across four activities Figure 1.1 shows the dependencies across the four activities of recording and measuring requirements for a software system project, deriving project performance measures, using these to develop project benchmarks and estimating for a new project based on its requirements and comparable benchmark data from previous projects (broad arrows indicate dependency of activities). Recording & measuring software system project requirements Project Measuring Project data & benchmark project estimating repository performance Benchmarking Figure 1.1 - Inter-relationships of four activities that require coherent and consistent data and terminology COSMIC Guideline on Non-functional & Project Requirements, v.

1 All rights reserved. COSMIC We need coherent terminology to be used consistently across these four activities because typically:  measures of the size of software system/product requirements are used with project effort data to produce project performance measures;  these size and effort data are recorded together with the other characteristics of the project and of the software system/product that are needed to ensure like-for-like performance comparisons in a central project data repository;  project performance measures are used to derive benchmark data for projects which are also classified according to their most significant project and software system/product characteristics;  when an estimate of effort is needed for a new project, the software size is measured or estimated from its requirements and is combined with benchmark data for projects that had similar characteristics to produce the new project effort estimate, To fully understand these four activities, we must first recognize that a software system project has to consider three types of requirements, which affect the software size and the project effort in different ways:  Functional User Requirements (FUR) may be roughly defined as ‘what the software must do’. They clearly affect the software size, which in turn affects project effort.  Non-Functional Requirements (NFR) which are sometimes defined as ‘how the software must do it’.

Whether or not NFR affect software size is not immediately clear; they certainly affect project effort.  Project Requirements and Constraints (PRC). These clearly affect project effort directly but do not affect software size. As regards measurements, in practice the only measures of software size that are used consistently across these four activities are either counts of Source Lines of Code (SLOC) or measurements of the FUR by a ‘Functional Size Measurement’ (FSM) method such as the ISO standard COSMIC method.

SLOC size measures have an advantage that they measure a software size that is the result of meeting all the FUR and NFR, but they have so many disadvantages we will not consider them further. Conventionally, FSM Methods do not now measure NFR. (Past attempts to do so, e.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ