Основные риски в процессах разработки программного обеспечения
Автор: Романова Ю.А.
Журнал: Международный журнал гуманитарных и естественных наук @intjournal
Рубрика: Информатика
Статья в выпуске: 1-5 (1), 2016 года.
Бесплатный доступ
В настоящее время программная инженерия является производством с высоким уровнем рисков. Для того чтобы управлять рисками, необходимо умение идентифицировать их на каждом этапе процесса разработки программного обеспечения. В статье представлен список выявленных рисков. Он может использоваться в процессе управлении рисками на конкретных проектах для дальнейшего анализа, оценки и управления рисками.
Программная инженерия, разработка программного обеспечения, риск, управление рисками, управление проектом
Короткий адрес: https://sciup.org/170184121
IDR: 170184121
Текст научной статьи Основные риски в процессах разработки программного обеспечения
В настоящее время программная инженерия является производством с высоким уровнем рисков. Для того чтобы управлять рисками, необходимо умение идентифицировать и прогнозировать их.
На основе изучения «ГОСТ Р ИСО/МЭК 12207-99 Информационная технология. Процессы жизненного цикла программных средств» были выявлены основные процессы разработки программного обеспечения:
– выбор модели жизненного цикла;
– выявление и анализ требований;
– проектирование программного обеспечения;
– программирование;
– тестирование программного обеспечения;
– внедрение программного обеспечения;
– приемка программного обеспечения.
Статья посвящена анализу выявленных рисков в процессах разработки программного обеспечения.
При выборе модели жизненного цикла программного обеспечения решаются вопросы включения важных видов работ или не включения несущественных работ, а также последовательность выполнения и взаимосвязь этих работ. Это важный стратегический процесс, потому что неправильный выбор может привести к катастрофическим результатам.
Выявление и анализ требований играют важную роль в успехе проекта разработки программного обеспечения, так как большая часть ошибок происходит на ранних стадиях разработки, как показано на рисунке 1, а стоимость их исправления с течением времени возрастает по экспоненте, представленной на рисунке 2. Это связано с природой разработки программного обеспечения: выполняемая работа базируется на ранее выполненной. Например, проектирование выполняется на основе требований, программирование реализуется на основе модели проектирования, а тестирование производится на основе написанного текста программы.

Рис. 1. Снижение вероятности появления ошибки

Рис. 2. Рост стоимости поиска и исправления ошибок
-
1. Двусмысленные требования.
-
2. Сложность архитектуры программного обеспечения
-
3. Неудобный пользовательский интерфейс.
-
4. Неправильная структура базы данных.
Первый вариант двусмысленности заключается в том, что пользователь может интерпретировать одно и то же требование по-разному. Второй вариант состоит в том, что у нескольких читателей возникает разное понимание того, что означает требование.
Риски, возникающие на этапе проектирования, играют важную роль в процессе разработки программного обеспечения и требуют особого внимания, так как основные технические вопросы решаются именно на этом этапе.
Архитекторы программного обеспечения не всегда придерживаются правила «Не порождайте сущностей сверх необходимого». Но ведь именно простота, понятность и единая концептуальная целостность обеспечивают эффективную реализацию системы.
Разработка пользовательского интерфейса является частью любого проекта, связанного с созданием программного обеспечения. Интерфейс пользователя яв- ляется точкой взаимодействия человека и программы, зачастую имеющей сложную функциональность. Именно через интерфейс пользователь судит о программе в целом; более того, часто решение об использовании программного обеспечения пользователь принимает по тому, насколько ему удобен и понятен пользовательский интерфейс. Следовательно, от того насколько удобным будет разработанный интерфейс пользователя будет зависеть и успех продукта.
При разработке программного обеспечения проектирование базы данных требует особого внимания и ответственности, так как стоимость допущенных на этом этапе ошибок особенно велика. Проблемы, которые могут произойти на этапе проектирования базы данных:
-
– некорректность схемы базы данных по отношению к предметной области;
– несоответствие аппаратным ограничениям;
– сложность и неудобная работа с базой данных;
– невозможность к поддержке и сопровождению.
-
5. Неоптимальный выбор структур данных.
-
6. Неоптимальный выбор языка программирования.
Структуры данных влияют на эффективность алгоритмов и, следовательно, на производительность программного обеспечения.
При разработке программного обеспечения имеется огромный выбор языков программирования, в лабиринтах которых можно легко заблудиться. Для того чтобы выбор языка программирования оказал благоприятное влияние на реализацию системы, необходимо учитывать следующие факторы:
– целевая платформа;
– гибкость языка;
– время реализации;
– производительность;
-
– сопровождение программного обеспечения;
-
– предметная область разрабатываемой системы;
-
– необходимость в использовании библиотек;
-
– опыт разработчиков.
Основные риски на этапе программирования описаны ниже:
-
1. Изобретение «велосипеда».
-
2. Нечитаемый код.
-
3. Создание программных закладок.
Написание кода без использования возможностей языка и существующих библиотек.
Последствие этого риска – трудность в изменении и сопровождении программного обеспечения.
Программная закладка – это внесенные в программное обеспечение функциональные объекты, которые при определенных условиях (входных данных) инициируют выполнение не описанных в документации функций, позволяющих осуществлять несанкционированные воздействия на информацию [2].
На этапе разработки программистам достаточно легко внедрить в код системы программную закладку. В настоящее время известно 30 публичных случаев обнаружения программных закладок. В большинстве случаев закладки успешно использовались злоумышленниками и были обнаружены уже после активации.
На этапе тестирования возможны следующие риски:
-
– неэффективный выбор методов тестирования;
-
– требования не ранжированы по приоритетам;
– не используются протоколы тестирования.
Результатом проделанной работы является контрольный список основных рисков, возникающих в процессах разработки программного обеспечения. Он может использоваться в процессе управлении рисками на конкретных проектах для дальнейшего анализа, оценки и управления рисками.
Список литературы Основные риски в процессах разработки программного обеспечения
- ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла программных средств. - М.: Изд-во стандартов, 2007. - 14 с.
- ГОСТ Р 51275-99. Защита информации. Объект информатизации. Факторы, воздействующие на информацию. - М.: Изд-во стандартов, 2003. - 12 с.
- ДеМарко Т., Листер Т. Вальсируя с медведями: управление рисками в проектах по разработке программного обеспечения. - М.: Компания p.m.Office, 2005. - 208 с.