Забезпечення якості програмного продукту за стандартом IEEE 730-2014 в межах життєвого циклу реалізації проекту
Анотація
Проаналізовано наявні підходи до вирішення проблеми забезпечення якості програмного продукту в межах життєвого циклу реалізації проекту, розглянуто та проаналізовано ефективність застосування відповідних стандартів для тестування реального веб-додатку, де звернуто увагу на етапи розроблення відповідних тестів, процеси забезпечення його якості та особливості розгортання. Проаналізовано настанови стандарту IEEE 730-2014, які дають можливість гарантувати якість програмного продукту, а також стандарт ISO/IEC 12207:2018, який забезпечує якість ПЗ протягом його життєвого циклу, а також особливості їх практичного застосування. Встановлено, що гарантія якості програмного продукту є обов'язковою для будь-якого ІТ-бізнесу, незалежно від того, чи це продукт для виконання повсякденних операцій, чи для споживачів критичної інфраструктури. Завдання перевірки якості, викладені в стандарті IEEE 12207:2018 для процесів життєвого циклу ПЗ, гарантують якість його розроблення та ефективність використання користувачами. З'ясовано, що стандарт IEEE 730-2014 описує SQA-процеси, які потрібно використовувати протягом усього життєвого циклу ПЗ. Наявність різних видів SQA-діяльності, закладених у відповідних стандартах, гарантують ПЗ належну його якість, що відповідатиме потребам замовника. Визначено ефективні SQA-процеси забезпечення якості продукту проекту, які потрібно не тільки виконувати, але й підтверджувати їх виконання, особливості вимірювання та відстежування відповідних процесів, правила розроблення заходів для управління ними та їх вдосконаленням, а також підходи до заохочення команди проекту використовувати SQA-процеси під час реалізації програмних проектів. Встановлено, що для досягнення цілей реалізації проекту потрібно запроваджувати координацію та верифікацію продукту проекту, його підтвердження та перегляд, аудит та інші вказівки стандарту ISO/IEC 12207:2018. Виходячи з цих вказівок, було сформовано структуру SQA-процесів для веб-додатку "Інтернет-Банкінг", який було протестовано в ході виконання дослідження. З'ясовано, що кожен винятковий програмний проект має свої особливості запровадження процесів забезпечення якості продукту проекту. В банківському додатку надзвичайно важливо проводити тестування ПЗ на кібер-безпеку, цілісність клієнтських даних, спостережність транзакцій, що і було описано в даній роботі. Після виконання всіх SQA-процесів продукт проекту "Інтернет-банкінг" було представлено безпосередньому користувачу. Розгортання ПЗ містило дії, необхідні для того, щоб зробити його доступним для виявлення дефектів під час реального його використання у виробничих умовах. Виявлено, що ефективна система контролю якості ПЗ забезпечує кращий досвід роботи з безпосередніми користувачами і збільшує тривалість його безвідмовної роботи. Водночас, навіть поодинокі дефекти, виявлені в роботі ПЗ, можуть вплинути на ключові бізнес-процеси замовника, що призведе до значних втрат прибутку. Запобігання цьому – шанс створити імідж бренду компанії-розробнику ПЗ, якій довіряють.
Посилання
Breno, G. Tavares, Carlos, Eduardo S. da Silva, & Adler, D. de Souza. (2017). Risk Management in Scrum Projects: A Bibliometric Study. Journal of communications software and systems, No. 13(1), 25–41. https://doi.org/10.24138/jcomss.v13i1.241
Chugh, M., & Chugh, N. (2023). A Deep Drive into Software Development Agile Methodologies for Software Quality Assurance. In Agile Software Development (Eds S. Hooda, V. M. Sood, Y. Singh, S. Dalal & M. Sood). https://doi.org/10.1002/9781119896838.ch12
Clarke, P., & O'Connor, R. V. (2010). Harnessing ISO/IEC 12207 to Examine the Extent of SPI Activity in an Organisation. In: Riel, A., O’Connor, R., Tichkiewitch, S., Messnarz, R. (eds) Systems, Software and Services Process Improvement. EuroSPI 2010. Communications in Computer and Information Science, Vol. 99. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15666-3_3
Clarke, P., O'Connor, R. V., & Yilmaz, M. (2012). A Hierarchy of SPI Activities for Software SMEs: Results from ISO/IEC 12207-Based SPI Assessments. Proceedings of the 12th International Conference on Software Process and Capability Determination. (SPICE'12), CCIS Vol. 290, Springer, Berlin, Germany, 62–74. https://doi.org/10.1007/978-3-642-30439-2_6
Diaz, J., Garbajosa, J., & Calco-Manzano, J. A. (2009). Mapping CMMI Level 2 to Scrum Practices: An Experience Report. In: O’Connor, R. V., Baddoo, N., Cuadrago Gallego, J., Rejas Muslera, R., Smolander, K., Messnarz, R. (Eds). Software Process Improvement. EuroSPI 2009. Communications in Computer and Information Science, Vol. 42, No. 2, 93–104. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04133-4_8
Egler, Miguel. (2019). Testing for the phenomenal: Intuition, Metacognition, and philosophical Methodology. Mind & Language, Vol. 35, Issue 1, 48–66. https://doi.org/10.1111/mila.12229
Galin, D. (Ed.). (2018). Software Development and Quality Assurance Process Standards. In Software Quality: Concepts and Practice. https://doi.org/10.1002/9781119134527.app1
Galin, D. (Ed.). (2018). Software Quality Management Standards and Models. In Software Quality: Concepts and Practice. https://doi.org/10.1002/9781119134527.app2
GMP Navigator. (2023). FDA Guidance for Industry, FDA Reviewers and Compliance on Off-The-Shelf Software Use in Medical Devices. URL: https://www.gmp-navigator.com/files/guidemgr/585.pdf
Greer, D., & Hamon, Y. (2011). Agile Software Development. Software: Practice and Experience, 41, 943–944. https://doi.org/10.1002/spe.1100
Guey-Shin, C., Horng-Linn, P., & Jer-Nan, J. (2008). A review of systems engineering standards and processes. Journal of Biomechanics Engineering, Vol. 1, No. 1, 71–85. URL: http://journal.tibm.org.tw/wp-content/uploads/2013/06/4.-systems-engineering-standards-and-processes.pdf
Guidance Document. (2005). Guidance for the Content of Premarket Submissions for Software Contained in Medical Devices. Guidance for Industry and FDA Staff. URL: https://www.fda.gov/regulatory-information/search-fda-guidance-documents/guidance-content-premarket-submissions-software-contained-medical-devices
IEC. (1996). IEC 60601-1-4:1996. Medical electrical equipment – Part 1–4: General requirements for safety – Collateral Standard: programmable electrical medical systems. URL: https://webstore.iec.ch/publication/16790
IEC. (2010). IEC 61508:2010. Functional safety of electrical/electronic/programmable electronic safety-related systems – Part 1-4: General requirements (see Functional Safety and IEC 61508). URL: https://webstore.iec.ch/publication/5515
IEC. (2011). IEC 61513:2011. Nuclear power plants – Instrumentation and control important to safety – General requirements for systems. URL: https://webstore.iec.ch/publication/5532
IEEE SA. (2005). IEEE 1220-2005. IEEE Standard for Application and Management of the Systems Engineering Process. URL: https://standards.ieee.org/ieee/1220/3372/
IEEE SA. (2008). IEEE 15939-2008. IEEE Standard Adoption of ISO/IEC 15939:2007 – Systems and Software Engineering – Measurement Process. URL: https://standards.ieee.org/ieee/15939/4262/
IEEE SA. (2008). IEEE 829-2008. IEEE Standard for Software and System Test Documentation. URL: https://standards.ieee.org/ieee/829/3787/
IEEE SA. (2008). IEEE 90003-2008. IEEE Guide – Adoption of ISO/IEC 90003:2004 Software Engineering – Guidelines for the Application of ISO 9001:2000 to Computer Software. URL: https://standards.ieee.org/ieee/90003/3677/
IEEE SA. (2010). IEEE 7-4.3.2-2010. IEEE Standard Criteria for Digital Computers in Safety Systems of Nuclear Power Generating Stations. URL: https://standards.ieee.org/ieee/7-4.3.2/4834/
IEEE SA. (2012). IEEE 1012–2012. IEEE Standard for System and Software Verification and Validation. The IEEE Computer Society, IEEE, New York. URL: https://standards.ieee.org/ieee/1012/4021
IEEE SA. (2014). IEEE 730-2014–2014. IEEE Standard for Software Quality Assurance Processes. The IEEE Computer Society, IEEE, New York. URL: https://standards.ieee.org/ieee/730/5284/
IEEE Standard for Software Quality Assurance Processes. (2014). In IEEE 730-2014-2014 (Revision of IEEE 730-2014-2002), Vol., No., pp. 1–138, 13 June 2014, https://doi.org/10.1109/IEEESTD.2014.6835311
ISO. (2003). ISO 13485:2003. Medical devices – Quality management systems – Requirements for regulatory purposes. URL: https://www.iso.org/standard/36786.html
ISO. (2007). ISO 14971:2007. Medical devices – Application of risk management to medical devices. URL: https://www.iso.org/standard/38193.html
ISO/IEC. (2003). ISO/IEC 15504-2:2003. Software Engineering – Process Assessment – Part 2 – Performing an Assessment. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/37458.html
ISO/IEC. (2004). ISO/IEC 15504-1:2004. Information Technology – Process Assessment – Part 1: Concepts and Vocabulary. URL: https://www.iso.org/ru/standard/38932.html
ISO/IEC. (2004). ISO/IEC 15504-3:2004. Information Technology – Process Assessment – Part 3 – Guidance on Performing an Assessment. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/37454.html
ISO/IEC. (2004). ISO/IEC 15504-4:2004. Information Technology – Process Assessment – Part 4 – Guidance on Use for Process Improvement and Process Capability Determination. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/37462.html
ISO/IEC. (2008). ISO 9001:2008. Quality management systems – Requirements. This standard has been revised by ISO 9001:2015, Geneva. URL: https://www.iso.org/standard/46486.html
ISO/IEC. (2008). ISO/IEC 12207:2008. Systems and Software Engineering – Software Life Cycle Processes, ISO – International Organization for Standardization, Geneva, Switzerland. URL: https://www.iso.org/standard/43447.html
ISO/IEC. (2010). ISO/IEC TR 24774:2010. Systems and Software Engineering – Life Cycle Management – Guidelines for Process Description. URL: https://www.iso.org/standard/53815.html
ISO/IEC. (2011). ISO/IEC 15026-2:2011. Systems and software engineering – Systems and software assurance – Part 2: Assurance case. URL: https://www.iso.org/standard/52926.html
ISO/IEC. (2011). ISO/IEC 15026-3:2011. Systems and software engineering – Systems and software assurance – Part 3: System integrity levels. URL: https://www.iso.org/standard/57107.html
ISO/IEC. (2011). ISO/IEC 29110-1:2011. Software engineering — Lifecycle profiles for Very Small Entities (VSEs) – Part 1: Overview. URL: https://www.iso.org/ru/standard/51150.html
ISO/IEC. (2011). ISO/IEC TS 15504-10:2011. Information Technology – Process Assessment – Part 10 – Safety Extension. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/54537.html
ISO/IEC. (2011). ISO/IEC TS 15504-9:2011. Information Technology – Process Assessment – Part 9 – Target process Profiles. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/51684.html
ISO/IEC. (2012). ISO/IEC 15026-4:2012. Systems and software engineering – Systems and software assurance – Part 4: Assurance in the life cycle. URL: https://www.iso.org/standard/59927.html
ISO/IEC. (2012). ISO/IEC 15504-5:2012. Information Technology – Process Assessment – Part 5 – An Exemplar Software Life Cycle Process Assessment Model. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/60555.html
ISO/IEC. (2012). ISO/IEC 15504-8:2012. Information Technology – Process Assessment – Part 8 – An Exemplar Process Assessment Model for IT Service Management. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/50625.html
ISO/IEC. (2013). ISO/IEC 15026-1:2013. Systems and Software Engineering – Systems and software Assurance – Part 1: Concepts and Vocabulary. URL: https://www.iso.org/standard/62526.html
ISO/IEC. (2013). ISO/IEC 15504-6:2013. Information Technology – Process Assessment – Part 6 – An Exemplar System Life Cycle Process Assessment Model. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/61492.html
ISO/IEC. (2014). ISO/IEC 90003:2014. Software Engineering – Guidelines for the Application of ISO 9001:2008 to Computer Software. International Organization for Standardization (ISO), Geneva, Switzerland. URL: https://www.iso.org/standard/66240.html
ISO/IEC. (2015). ISO/IEC 33001:2015. Information Technology – Process Assessment – Concepts and Terminology. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/54175.html
ISO/IEC. (2015). ISO/IEC 33002:2015. Information Technology – Process Assessment – Requirement for Performing Process Assessment. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/54176.html
ISO/IEC. (2015). ISO/IEC 33003:2015. Information Technology – Process Assessment – Requirement for Process Measurement Frameworks. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/54177.html
ISO/IEC. (2015). ISO/IEC 33004:2015. Information Technology – Process Assessment – Requirements for Process Reference, Process Assessment and Maturity Models. International Organization for Standardization (ISO), Geneva. URL: https://www.iso.org/standard/54178.html
ISO/IEC. (2015). ISO/IEC 33014:2015, IDT. Information Technology – Process Assessment – Guide for Process Improvement. International Organization for Standardization (ISO), Geneva. URL: http://online.budstandart.com/ua/catalog/doc-page.html?id_doc=69111
ISO/IEC. (2018). ISO/IEC 12207:2018. Systems And Software Engineering – Software Life Cycle Processes (ISO/IEC/IEEE 12207:2017, IDT) (Swedish Standard). URL: https://webstore.ansi.org/standards/sis/ssisoiecieee122072018
ISO/IEC. (2019). ISO/IEC/IEEE 15289:2019. Systems and software engineering — Content of life-cycle information items (documentation). URL: https://www.iso.org/standard/74909.html
Jadhav, D., Kundale, J., Bhagwat, S., & Joshi, J. (2023). A Systematic Review of the Tools and Techniques in Distributed Agile Software Development. In Agile Software Development (Eds S. Hooda, V. M. Sood, Y. Singh, S. Dalal & M. Sood). https://doi.org/10.1002/9781119896838.ch8
Katrenko, A. V. (2011). IT project management. Lviv: Novy svit-2000, 540 p. [In Ukrainian].
Kaur, G., Kaur, I., Harnal, S., & Malik, S. (2023). Factors and Techniques for Software Quality Assurance in Agile Software Development. In Agile Software Development (Eds S. Hooda, V. M. Sood, Y. Singh, S. Dalal & M. Sood). https://doi.org/10.1002/9781119896838.ch13
Kaur, S., Hooda, S., & Deo, H. (2023). Software Quality Management by Agile Testing. In Agile Software Development (Eds S. Hooda, V. M. Sood, Y. Singh, S. Dalal & M. Sood). https://doi.org/10.1002/9781119896838.ch11
Khanna, E., Popli, R., & Chauhan, N. (2023). Classification of Risk Factors in Distributed Agile Software Development Based on User Story. In Agile Software Development (Eds S. Hooda, V. M. Sood, Y. Singh, S. Dalal and M. Sood). https://doi.org/10.1002/9781119896838.ch14
Krishnamurthy A., & O'Connor R. V. (2013). Using ISO/IEC 12207 to Analyze Open Source Software Development Processes: An E-Learning Case Study. In: Woronowicz, T., Rout, T., O’Connor, R.V., Dorling, A. (Eds). Software Process Improvement and Capability Determination. (SPICE 2013). Communications in Computer and Information Science, Vol. 349, Springer, Berlin, Heidelberg, 1–12. https://doi.org/10.1007/978-3-642-38833-0_10
Krishnan, Soumya M. (2015). Software Development Risk Aspects and Success Frequency on Spiral and Agile Model. International Journal of Innovative Research in Computer and Communication Engineering, 3(1), 301–310. https://doi.org/10.15680/ijircce.2015.0301024
Kruchten, P. (2013). Contextualizing Agile Software Development. Journal of Software: Evolution and Process, 25, 351–361. https://doi.org/10.1002/smr.572
Kuzmin, O. E., Podolchak, N. Yu., & Matviishyn, V. E. (2011). Management and reduction of energy supply risks of enterprises: monograph; National Lviv Polytechnic University. Lviv: City Information Systems, 235 p. [In Ukrainian].
Laporte C. Y., Alexandre S., & O'Connor R. V. (2008). A software engineering lifecycle standard for very small enterprises, Software Process Improvement. Communications in Computer and Information Science, Vol. 16, No. 2, 129–141.
Laporte C. Y., April A., & Renault A. (2006). Applying ISO/IEC software engineering standards in small settings: historical perspectives and initial achievements. In Proceedings of SPICE 2006 Conference, Luxembourg, May 2006, 1–5.
Lukyanova, V. V. (2007). Risk diagnostics of IT company activity: monograph. Khmelnytskyi: Private entrepreneur V. V. Kovalskyi, 312 p. [In Ukrainian].
Mishra, D., & Mishra, A. (2011), Complex software project development: agile methods adoption. Journal of Software Maintenance and Evolution: Research and Practice, 23: 549–564. https://doi.org/10.1002/smr.528
Moore, J. W. (2002). Software Engineering Standards. In Encyclopedia of Software Engineering, J. J. Marciniak (Ed.). https://doi.org/10.1002/0471028959.sof319
Morales Trujillo, M., Oktaba, H., Pino, F. J., & Orozco, M. J. (2011). Applying Agile and Lean Practices in a Software Development Project into a CMMI Organization. In: Caivano, D., Oivo, M., Baldassarre, M.T., Visaggio, G. (Eds). Product-Focused Software Process Improvement. PROFES 2011. Lecture Notes in Computer Science, Vol. 6759. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21843-9_4
Myers, G. J., Badgett, T., & Sandler, C. (Eds). (2012). Testing in the Agile Environment. In The Art of Software Testing. Part 9. https://doi.org/10.1002/9781119202486.ch9
Nozdrina, L. V., Yashchuk, V. I., & Polotai, O. I. (2010). Management of software projects: a textbook for university students. Kyiv: Center for Educational Literature, 430 p. [In Ukrainian].
Rafiq Ahmad Khan, & Siffat Ullah Khan. (2018). A preliminary structure of software security assurance model. Proceedings of the 13th Conference on Global Software Engineering, ICGSE '18, 137–140. https://doi.org/10.1145/3196369.3196385
Rashid, N., & Khan, S. U. (2018). Using agile methods for the development of green and sustainable software: Success factors for GSD vendors. Journal of Software: Evolution and Process. https://doi.org/10.1002/smr.1927
Salviano, C. F., Alves, A., Stefanuto, G. N., Maintinguer, S. T., Mattos, C. V., Zeitoum, C., & Reuss, G. (2012). Developing a Process Assessment Model for Technological and Business Competencies on Software Development. Eighth International Conference on the Quality of Information and Communications Technology, Lisbon, Portugal, 125–130. https://doi.org/10.1109/QUATIC.2012.27
Samli, Gupta, M., Sharma, A., Hooda, S., & Bhatia, J. S. (2023). Distributed Agile Software Development (DASD) Process. In Agile Software Development (Eds S. Hooda, V. M. Sood, Y. Singh, S. Dalal & M. Sood). https://doi.org/10.1002/9781119896838.ch9
Sandra, M. N., Sandra, M. N., & Carlos, S. S. (2016). Risk management applied to software development projects in incubated technology-based companies: literature review, classification, and analysis. Gest. Prod., Sao Carlos, Vol. 23(4), 798–814. https://doi.org/10.1590/0104-530X472-15
SDLC. (2023). 6 main stages of the SDLC. Online IT Education. QA. QC. Software Testing. Knowledge. Practice. Job. Career. URL: https://qagroup.com.ua/publications/6-osnovnykh-etapiv-sdlc/
Stallinger, F., & Neumann, R. (2012). Extending ISO/IEC 12207 with Software Product Management: A Process Reference Model Proposal. In: Mas, A., Mesquida, A., Rout, T., O’Connor, R.V., Dorling, A. (Eds). Software Process Improvement and Capability Determination. SPICE 2012. Communications in Computer and Information Science, Vol. 290, Springer, Berlin, Germany, 93–106. https://doi.org/10.1007/978-3-642-30439-2_9
Suominen, M., & Makinen, T. (2014). On the applicability of capability models for small software organizations: does the use of standard processes lead to a better achievement of business goals? Software Quality Journal, Vol. 22, No. 4, 579–591. https://doi.org/10.1007/s11219-013-9201-7
Susheela Hooda, Vandana Mohindru Sood, Yashwant Singh, Sandeep Dalal, & Manu Sood. (2023). Agile Software Development: Trends, Challenges and Applications. Scrivener Publishing LLC. https://doi.org/10.1002/9781119896838
Yet, B., Constantinou, A., Fenton, N., Neil, M., Luedeling, E., & Shepherd, K. (2016). A Bayesian network framework for project cost, benefit and risk analysis with an agricultural development case study. Expert Systems with Applications, Vol. 60, Pages 141–155. https://doi.org/10.1016/j.eswa.2016.05.005

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.