А.А. Рыбкин, Я.Г. Сафронова,
Научный руководитель: И.В. Евдокимов, канд. техн. наук, доцент
ФГАОУ ВО «Сибирский федеральный университет»
(г.Красноярск, РФ)
Применение ТРИЗ-технологий для разработки программного
обеспечения
При создании какого-либо программного обеспечения (ПО) разработчики
сталкиваются с множеством проблем, задач, противоречий, которые нужно быстро
и эффективно решить. На каждом периоде жизненного цикла программных
продуктовнеобходима
качественная
работа
программистов
и
команд
программистов, участвующих в создании этих продуктов. Но не всегда получается
найти быстрое решение проблем, какие-то «подводные камни», сложности
переноса, незамеченные ошибки всё это сильно замедляет прогресс, в свою
очередь это порождает отставание от графика, превышение сметы и т.п. Одним из
способов совершенствования создания и развития программных продуктов могут
быть методы, развитые в теории решения изобретательских задач (ТРИЗ). Как
известно технологии ТРИЗ созданы для нахождения идеального конечного
результата при возникновении технических противоречий, когда попытка
улучшить одну характеристику технической системы провоцирует ухудшение
другой. Для программных продуктовтакже применимы инструменты ТРИЗ, т.к.
они являются техническими системами передачи и обработки информации.
При
разработке
и
сопровождения
программных
продуктов
обычно
происходит многократная работа по построению моделей предметной области,
которые можно определить следующим образом:
1. модель (общая постановка) задачи на естественном языке в
терминах предметной области;
2. модель архитектуры на языке моделирования;
3. алгоритмическая модель на высокоуровневом языке программирования;
4. модель на низкоуровневом языке ассемблер;
5. модель на языке команд вычислителя, которая может быть исполнена им в
динамическом окружении.
По мере перехода от первой к последней модели всё более и более
изменяются языки построения этих моделей, и в итоге становятся формальным
языком, который понимает вычислитель. Средства построения моделей и
некоторые
переходы
между
моделями
–
автоматизированы,
для
этого
используются некоторые инструменты программирования (редакторы связей,
трансляторы, редакторы текстов и моделей и т.д.). Процессы, работающие с
моделями
и
которые
в
итоге
дают
программный
продукт
называют
технологическим подходом.
При построении
моделей
выделяют
только
главные
аспекты,
т.е.
игнорирование всех второстепенных для получения конечной задачи. Такой
подход рассматривается одновременно по отношению к решаемой задаче и по
отношению к физической машине. В программировании работа ведется в основном
с нематериальными элементами моделей но, несмотря на это такие термины ТРИЗ
как «техническое» или «физическое» противоречия являются вполне корректными
для этой области.
На первых уровнях постановки моделей успешно применяется такая часть
ТРИЗ, как элементы развития творческого воображения. Также на каждом из пяти
уровней моделей нашей классификации к программному продукту могут быть
применены такие инструменты ТРИЗ, как законы развития технических систем,
изобретательские приемы устранения технических противоречий (с учетом
терминологической и семантической адаптации для нашей предметной области),
вепольный анализ, задачи-аналоги и алгоритм решения изобретательских задач.
Чтобы возможно было использовать таблицу применения приемов преодоления
технических противоречий в нетехнических областях и, в частности, в
IT были внесены два изменения:
– были выделены только те приемы, которые можно использовать не только
для технических систем, но и для нематериальных объектов;
– в таблице были оставлены только те приемы и только те требования,
которые можно отнести не только к техническим системам, но и к нематериальным
объектам.
Многие ключевые понятия ТРИЗ потребовали обработки: противоречия,
оперативная зона конфликта, идеальность, веполь и др. Также введены были в
ТРИЗ были введены редко использующиеся общесистемные понятия: филогенез и
онтогенез, многоаспектность систем и т.д. Более подробное описание проведенных
изменений можно ознакомиться в работе [1].
Для адаптации ТРИЗ собиралась огромная база примеров и задач из области
разработки ПО[3]. Примеры применения приемов были подготовлены в 2009 г.
Рубиным М.С. и Кирдиным А. Н. Приведем некоторые из них.
ПРИНЦИП ДРОБЛЕНИЯ а) Разделить
объект на независимые части.
б) Выполнить объект разборным.
в) Увеличить степень дробления объекта.
– Многостраничное или иерархические меню –Дробление программы
на подпрограммы.
ПРИНЦИП ПРЕДВАРИТЕЛЬНОГО ДЕЙСТВИЯ а) Заранее выполнить
требуемое действие (полностью или хотя бы частично).
б) Заранее расставить объекты так, чтобы они могли вступить в действие без
затрат времени на доставку и с наиболее удобного места.
–Предварительная индексация текстов в поисковых системах–Антивирусы
ПРИНЦИП «ПОСРЕДНИКА» а) Использовать промежуточный объект,
переносящий или передающий действие.
б) На время присоединить к объекту другой (легкоудаляемый) объект.
–Для передачи файла используется его архив–Для связи с внешним
устройством используется драйвер.
Также был разработан сокращенный вариант таблицы выбора приемов
устранения технических противоречий. С таблицей, а также с полным списком
примеров вы можете ознакомиться в работе [2]. В мире существует множество
анализирующих систем и почти нет синтезирующих, это видно из исследований
последних лет [14-17]. Более детальным исследованием данной сферы занимались
такой учёный, как Евдокимов И.В. [4-14].
Таким образом ТРИЗ – одна из удачных попыток создать формализованный подход
и синтез новых IT-решений, имеет следующие достоинства:
1. Эффективность разработки ПО повышается при использовании методов и
инструментов ТРИЗ.
2. Использования ТРИЗ при решении задач из области разработки ПО стало
возможным после выделения общесистемной составляющей в инструментах
ТРИЗ и их обработки для нематериальных систем.
3. Дальнейшая исследовательская работа по применению инструментов ТРИЗ в
программировании обещает отличные перспективы развития и должна быть
продолжена.
Список использованной литературы:
1. Рубин М.С., Об универсальной системе стандартов на
решение изобретательских задач, Санкт-Петербург, ТРИЗ-Фест 2009.
2. Рубин М.С., В.И. Кияев, Основы ТРИЗ и инновации. Применение ТРИЗ
в программных и информационных системах, Москва, 2012.
3. Евдокимов И.В. Проблема и показатели качества программного
обеспечения//Труды Братского государственного университета. Серия:
Экономика и управление. -2009. -Т. 1. -С. 121-124.
4. Евдокимов И.В., Боярчук Н.Я. Особенности стратегического планирования
развития регионов Севера Восточной Сибири//сб.: Ценности и интересы
современного общества: мат-лы Междунар. науч.-практич. конф. 2013. С. 268-271.
5. Евдокимов И.В. Математическое и программное обеспечение
идентификации нелинейных динамических объектов при использовании суммы
гармонических сигналов: Автореф. ... дис. канд. техн. наук. - Братск: БрГУ, 2006. 17 с.
6. Евдокимов И.В. Математическое и программное обеспечение
идентификации нелинейных динамических объектов при использовании суммы
гармонических сигналов : Дис. ... канд. техн. наук / Евдокимов Иван Валерьевич;
Братский государственный университет. - Братск., 2006. - 135 с.
7. Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на
предприятиях//Труды Братского государственного университета. Серия:
Экономика и управление. 2005. Т. 1. С. 116-119.
8. Евдокимов И.В. Аспекты внедрения информационных технологий на
предприятиях г. Братска//Труды Братского государственного университета,
Серия: Экономика и управление, 2006. Т. 1. С. 144-148.
9. Евдокимов И.В. Адаптация стандартов программных средств к проектам в
области информационных технологий//Труды Братского государственного
университета. Серия: Экономика и управление. 2010. Т. 2. С. 97-101.
10. Евдокимов И.В. Подходы к стандартизации программного обеспечения
организаций // Труды Братского государственного университета. Серия:
Проблемы управления социально-экономическим развитием регионов Сибири.
2008. С. 146.
11. Евдокимов И.В. Процедура идентификации как этап создания систем
управления и принятия решений//Проблемы социально-экономического
развития Сибири. 2012. № 4. С. 14-18.
12. Евдокимов И.В. Менеджмент качества и управление развитием системы
обработки экспертной аналитики//Труды Братского государственного
университета. Серия: Экономика и управление. 2015. Т. 1. С. 212-219.
13. Евдокимов И.В. Информационные технологии учета методического
обеспечения образовательного процесса//Проблемы социально-экономического
развития Сибири. - 2012. - № 4 (10). - С. 9-14.
14. Евдокимов И.В., Макеев В.В., Кокташев В.В. Экономическое
обоснование эффективности ИТ-проектов в регионе Крайнего Севера на основе
метода Function Points // Международный журнал гуманитарных и естественных
наук. 2017. Т. 2. № 3. С. 141-146.
15. Евдокимов И.В., Михалев А.С., Новиков О.С., Суханова А.В. Применение
свободных лицензий для разработки программного обеспечения в России //
Международный журнал прикладных и фундаментальных исследований. 2017.
№ 6-1. С. 33-36.
16. Вахрушева М.Ю., Евдокимов И.В. Разработка программного обеспечения
аналитических информационных систем//Труды Братского государственного
университета. Серия: Экономика и управление. 2014. Т. 1. № 1. С. 196-199.
17. Вахрушева М.Ю., Глебов М.П. Применение технологии Data Mining в
решении демографических проблем// Труды Братского государственного
университета. Серия: Экономика и управление. 2013. Т. 1. С. 255-258.
18. GitHub-Yana1997Yana/Proga – [Электронный ресурс] – Режим доступа. URL: https://github.com/Yana1997Yana/Proga
Отзывы:
Авторизуйтесь, чтобы оставить отзывА где же сама таблица, о которой говорится на страницах 2 и 3? Получилась хорошая реклама научного руководителя, см. список литературы и ссылку на литературу таким образом на стр. 4: "[4-14]".