Применение системных принципов в управлении качеством
программных продуктов
Г.С. Степович-Цветкова Ивановский государственный университет
Аннотация: Предлагается адаптация основных системных принципов к управлению качеством программного обеспечения, обосновывается полезный эффект от их применения посредством выявления особенностей, вытекающих из взаимосвязи между составляющими элементами программ и определяющих новые способы управления качеством программных продуктов.
Ключевые слова: качество программного обеспечения, программный продукт, оценка качества программ, системный подход, системные принципы, управление качеством программного обеспечения.
В условиях развитой конкуренции на рынке компьютерных программ высокие требования предъявляются к качеству разрабатываемых продуктов. Программное обеспечение, созданное для достижения определенной цели, состоит из совокупности множества элементов и подсистем, что позволяет квалифицировать его как систему, рассмотрение внутренних и внешних связей которой возможно с использованием основных принципов системного подхода применительно к управлению качеством программных средств.
Под качеством программного обеспечения понимается совокупность признаков и характеристик программной продукции, относящихся к ее способности удовлетворять установленным и предполагаемым потребностям. При этом характеристиками качества программного обеспечения являются его функциональность, надежность, практичность, эффективность, сопровождаемость и мобильность (ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению, ГОСТ 2819589 Оценка качества программных средств).
Под системой в широком смысле этого слова понимается набор элементов, составляющих единое целое, причем в совокупности целое
наделено признаками, отсутствующими у отдельных его элементов. Изучение объекта с точки зрения системного подхода предполагает рассмотрение взаимосвязей и взаимозависимостей между составляющими элементами системы, изучение системных особенностей всего объекта в целом [1-3]. При данном подходе программная система представляет собой такую систему, которая является не просто сложением отдельных частей, а обладает дополнительными качествами, которые отсутствуют у составляющих ее элементов, но возникают в результате их взаимодействия. Действительно, компьютерная программа, состоящая из различных функциональных блоков и подпрограмм, лишь в целом способна выполнить поставленную задачу, при этом каждый составляющий ее как систему элемент, хотя и реализует определенные функции и даже, вероятно, может эксплуатироваться отдельно, является лишь частью единого целого и привносит свой особенный полезный эффект в работу всей системы.
Поэтому видится целесообразным рассмотрение вопроса управления качеством программного обеспечения с точки зрения основных системных принципов, таких как принципа целостности, необходимого разнообразия, гибкости, внешнего дополнения и целеустремленности [4-6].
Согласно принципу целостности с ростом величины и сложности системы увеличивается вероятность того, что система не будет наследовать свойства своих составляющих элементов, а приобретет новые особенные свойства. Поэтому применение каких-либо способов повышения качества программных продуктов только в одной функциональной части программы может не принести существенных результатов. Таким образом, различные способы повышения качества необходимо использовать в комплексе, при совместном применении мер по управлению качеством в различных взаимосвязанных частях программы, может быть достигнут оптимальный результат [7-9]. Так, например, выделение области памяти с некоторым
резервом только в какой-либо одной подпрограмме может не дать реального эффекта, поскольку при необходимости использования данного резерва могут потребоваться соответствующие ресурсы в других частях программы. В то время как стратегия выделения резервной памяти, разработанная с системных позиций, может рационализировать ее использование.
Принцип необходимого разнообразия применительно к управлению качеством программных продуктов состоит в поиске таких средств и технологий программирования, которые обладали бы достаточными возможностями для реализации поставленных задач, представляя многообразие способов для их решения, и не принося чрезмерных издержек.
В соответствии с принципом гибкости, программная система должна иметь возможность адаптироваться к каким-либо возникшим изменениям ее параметров, например, при изменении используемых программой системных библиотек может возникнуть сбой в программе, которого возможно избежать при заблаговременной загрузке необходимых внешних ресурсов в программное окружение.
Согласно принципу внешнего дополнения системе требуется наличие так называемого «черного ящика» - определенных резервов, компенсирующих неучтенные воздействия внешней и внутренней среды [10]. Действительно, при разработке сложных алгоритмов даже самая тщательная проработка всех нюансов алгоритма не гарантирует абсолютно безотказную работу создаваемой программы, поскольку практически невозможно предвидеть все до единого возможные факторы, влияющие на работу программы в процессе ее эксплуатации. Неучтенные факторы могут резко снизить качество программного продукта, воздействие этих факторов возможно компенсировать, например, посредством обработки исключений.
Принцип целеобусловленности определяется наличием четко поставленной цели, достижение или недостижение которой позволяет
контролировать правильность функционирования созданного программного продукта. Детальное описание целевых функций существенно упрощает процесс построения оптимального алгоритмического решения и выбора технологий программирования, способствуя повышению качества программного обеспечения.
Применение системного подхода, при котором рассматривается взаимосвязь между составляющими элементами программного обеспечения, способствует выявлению особенностей, которые необходимо учитывать при управлении качеством программных продуктов.
Литература
1. Липаев В.В. Качество программных средств. М. Янус-К, 2002.
400 с.
2. Фатрелл Р.Т., Шафер Д.Ф., Шафер Л.И. Управление программными проектами. Достижение оптимального качества при минимуме затрат. М. Вильямс, 2003. 1136 с.
3. Горбаченко И.М. Оценка качества программного обеспечения для создания систем тестирования // Фундаментальные исследования. 2013. № 6-4. С. 823-827. URL: rae.ru/fs/?section=content&op=show_ article&article_id=10000852
4. Блауберг И.В., Садовский В.Н., Юдин Э.Г. Системный подход в современной науке // Проблемы методологии системных исследований. М. : Мысль, 1970. С. 7-48.
5. Воскобойников А. Э. Системные исследования: базовые понятия, принципы и методология // Знание. Понимание. Умение. 2013. № 6. URL: zpu-journal.ru/e-zpu/2013/6/Voskoboinikov_Systems-Research/
6. O'Connor J., McDermott I. The Art of Systems Thinking: Essential Skills for Creativity and Problem Solving. Thorsons, 1997. 288 p.
7. IEEE Std 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology. USA, 1990. 84 p.
8. Москат Н.А., Станкевич Е.А. Показатели качества информационно-вычислительных систем железнодорожного транспорта // Инженерный вестник Дона. 2013. №3. URL: ivdon.ru/ru/magazine/archive/n3y2013/1789
9. Чернов А.В, Паращенко И.Г. Классификация моделей надежности программного обеспечения // Инженерный вестник Дона. 2012. №4. Ч.2. URL: ivdon.ru/ru/magazine/archive/n4p2y2012/1319
10. Бир С.Т. Кибернетика и менеджмент. Перевод с англ. В. Я. Алтаева / Под ред. А. Б. Челюсткина. Изд. 2-е. М. КомКнига, 2006. 280 с.
References
1. Lipaev V.V. Kachestvo programmnykh sredstv [Software quality]. M. Yanus-K, 2002. 400 p.
2. Fatrell R.T., Shafer D.F., Shafer L.I. Upravlenie programmnymi proektami. Dostizhenie optimal'nogo kachestva pri minimume zatrat [Quality software project management]. M. Vil'yams, 2003. 1136 p.
3. Gorbachenko I.M. Fundamental'nye issledovaniya. 2013. № 6-4. Pp. 823-827. URL: rae.ru/fs/?section=content&op=show_article&article_id =10000852
4. Blauberg I.V., Sadovskiy V.N., Yudin E.G. Problemy metodologii sistemnykh issledovaniy. M. Mysl', 1970. pp. 7-48.
5. Voskoboynikov A. E. Znanie. Ponimanie. Umenie. 2013. № 6. URL: zpu-journal.ru/e-zpu/2013/6/Voskoboinikov_Systems-Research/
6. O'Connor J., McDermott I. The Art of Systems Thinking: Essential Skills for Creativity and Problem Solving. Thorsons, 1997. 288 p.
7. IEEE Std 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology. USA, 1990. 84 p.
8. Moskat N.A., Stankevich E.A. Inzenernyj vestnik Dona (Rus), 2013. №3. URL: ivdon.ru/ru/magazine/archive/n3y2013/1789
9. Chernov A.V, Parashchenko I.G. Inzenernyj vestnik Dona (Rus), 2012. №4. Ch.2. URL: ivdon.ru/ru/magazine/archive/n4p2y2012/1319
10. Bir S.T. Kibernetika i menedzhment [Cybernetics and management]. Perevod s angl. V. Ya. Altaeva / Pod red. A. B. Chelyustkina. Izd. 2-e. M. KomKniga, 2006. 280 p.