УДК 004.415.23
ПОСТРОЕНИЕ ИЕРАРХИЧЕСКОЙ СТРУКТУРЫ МОДУЛЕЙ НА ЭТАПЕ ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПОДДЕРЖКИ УЧЕБНОГО
ПРОЦЕССА
О.Б. Кремер
Рассмотрено построение иерархической модульной структуры программного обеспечения на примерах проектирования компьютерных программ поддержки учебного процесса
Ключевые слова: программное обеспечение, проектирование, модульная структура
Введение
Проектирование программного обеспечения (ПО) представляет собой процесс построения приложения реальных размеров и практической значимости, удовлетворяющих заданным требованиям функциональности и производительности.
В настоящее время признается, что если приложения проектируются так, что различные их части могут быть использованы многократно, то в конечном итоге это приводит к уменьшению стоимости разработки ПО. Для этого приложение должно быть модульным, т.е. оно состоит из легко идентифицируемых и заменяемых частей. По этой причине при правильном проектировании ПО особое внимание должно уделяться модульности, особенно на стадии разработки архитектуры [1].
Модульная структура приложения представляет собой древовидную структуру, в узлах которой размещаются программные модули, а направленные дуги показывают их статическую подчиненность. Если в тексте модуля имеется ссылка на другой модуль, то их на структурной схеме соединяет дуга, которая исходит из первого и входит во второй модуль. Другими словами, каждый модуль может обращаться к подчиненным ему модулям. При этом модульная структура программной системы, кроме структурной схемы, должна включать в себя еще и совокупность спецификаций модулей, образующих эту систему [2].
Функция верхнего уровня обеспечивается главным модулем, он управляет выполнением нижестоящих функций, которым соответствуют подчиненные модули.
Рассмотрим примеры построения модульной структуры ПО поддержки учебного процесса.
ПО мониторинга результатов применения специальных программных средств учебного назначения
Под специальными программными средствами (СПС) педагогического назначения авторы публикации понимаются специальные компьютерные иг-
Кремер Ольга Борисовна - ВГТУ, канд. техн. наук, доцент, тел. 8(473)243-77-18
ры, разработанные для обучения учащихся с ограниченными возможностями в коррекционной школе.
Под мониторингом результатов применения СПС педагогического назначения понимается процедура организации системы контроля, сбора, обработки информации, представляющей собой совокупность показателей для анализа, прогноза и моделирования учебного процесса, направленного на достижение поставленных целей [3].
В состав СПС педагогического назначения входят следующие обучающие и развивающие компьютерные игры:
1. Игры для отработки навыков устного счета, а также для проверки и оценки этих навыков («Ромашка», «Вставь математический знак»).
2. Игры для отработки навыков правописания слов, а также пополнения словарного запаса и развития речи («Словарные слова», «Вспомни правила», «Отгадай загадку»).
3. Игры для тестирования по различным предметам («Правильный ответ», «Выбери картинку»).
4. Игры для отработки навыка заполнения деловых бумаг («Подпиши конверт», «Моделирование поздравительной открытки»).
5. Игра для развития мышления («Найди пару»).
6. Игра для социальной адаптации учащихся, в которой отрабатываются навыки, сформированные на уроках математики, социально-бытовой ориентировки, чтения, информатики («Рецепты»).
Для адаптации компьютерных программ игр к применению в целях сбора информации разработан унифицированный порядок работы пользователя с компьютерными играми, который необходим для получения результатов игр, а также дополнительные режимы работы, напрямую не связанные с выполнением игрового задания. Это необходимо для того, чтобы учащийся не отвлекался от выполнения основных игровых действий, результат которых будет фиксироваться и накапливаться для последующего анализа учителем-предметником.
В результате сравнительного анализа модулей программ игр авторами разработана типовая модульная структура СПС педагогического назначения, адаптированная к поставленным задачам проведения информационного мониторинга, которая включает следующие основные модули:
- управляющий модуль;
- модуль инициализации пользователя;
- модуль выбора игрового задания;
- модуль игрового поля;
- модуль самооценки результатов игры;
- модуль просмотра результатов игры с возможностью печати, очистки, восстановления результатов;
- модуль записи результатов игры в базу данных;
- модуль дополнительных настроек, включающий использование печати, звука, помощи, смены варианта;
- модуль справки, включающий помощь пользователю и информацию о разработчике программы.
ПО среды разработки программных комплексов
Для сокращения сроков создания типовых программных комплексов (ПК) спроектирована среда разработки, основанная на объектноориентированной технологии (ООТ).
В терминах ООТ среда разработки программных средств - это набор классов, тесно сотрудничающих между собой. Класс - это механизм инкапсулирования решения конкретной задачи. Он предоставляет определенный сервис, поставляет данные и обеспечивает необходимое поведение. Механизм классов полезен тем, что он позволяет разбить программу на компоненты, которые анализируются независимо друг от друга. Однако отдельные классы сами по себе редко предоставляют решение всей проблемы.
Преимущества ООТ наблюдаются только в тех случаях, когда программные подсистемы многократно используются в разных проектах, т. е. в ПО почти не должно быть проблемно-зависимых компонентов. Краеугольным камнем в ООТ является характеристика ПО в терминах поведения или действий, которые должны быть выполнены. Работа по выявлению компонентов, описанию их поведения и возможных действий - это один из этапов создания среды разработки ПК [4].
Исходя из цели создания, среда разработки должна обеспечить выполнение следующих функций:
- конструировать интерфейс типового ПК из графических объектов;
- устанавливать свойства и методы объектов, сгруппированных в классы;
- запоминать структуру и установленные значения объектов ПК для последующего изменения;
- создавать компьютерную программу для работы пользователя с ПК, где исходными данными являются данные, которые выбраны в ходе констуи-рования комплекса.
Составными частями ООТ для среды разработки типового ПК являются процесс анализа, проектирования и программной реализации.
Объектно-ориентированный анализ (ООА) направлен на создание моделей, более близких к реальности, с использованием методологии, при которой требования формируются на основе понятий классов и объектов, составляющих словарь предметной области.
Одной из составных частей ООТ является объектно-ориентированное проектирование, которое ведет к объектно-ориентированной декомпозиции, а также на этом этапе используется многообразие приемов представления моделей, отражающих логическую (структуры классов и объектов) и физическую (архитектура модулей и процессов) структуру системы.
На этапе проектирования среды разработки типового ПК необходимо выделить отдельные компоненты программы, т. е. абстрактные единицы, выполняющие определенные функции, или являющиеся структурой или классом объектов. На этом уровне учитываются следующие особенности:
- компонента должна иметь небольшой набор четко определенных обязанностей;
- компонента должна взаимодействовать с другими настолько слабо, насколько это возможно.
Среда разработки ПК рассмотрена на примере среды разработки электронных учебно-
методических комплексов (ЭУМК) по дисциплине.
Укрупненная модульная структура ПК представлена следующими элементами:
- модуль подготовки исходных данных преподавателем для работы в среде разработки ПК, к которым относятся перечень учебно-методических материалов и сами эти материалы в электронном виде;
- модуль работы преподавателя в среде разработки ПК, где надо выбрать из коллекции графических объектов нужные и назначить экземплярам объектов свойства и методы.
- модуль проверки построения графического интерфейса и подключения к каждому экземпляру объекта файла с учебно-методическим материалом
- модуль формирования ЭУМК по дисциплине, которым впоследствии будут пользоваться студенты.
Программные компоненты среды разработки ЭУМК могут включать в состав следующие модули:
- модуль, реализующий основные функции, предназначенные для построения структуры курса; электронного учебника; тестов; основных определений и понятий и т. п.
- модуль для работы с базой данных библиотеки классов.
- модуль, реализующий сервисные функции для пользователя: поиск информации; обработка информации, например результаты тестирования студентов, или количество вопросов по каждому разделу дисциплины, или полнота ЭУМК, т.е. наличие всех заявленных электронных ресурсов и т. п.
- модуль, реализующий такие утилиты для работы с объектами среды, как создание новых объ-
ектов в классе, назначение свойств и методов для новых объектов.
- модуль, реализующий такие функции работы с проектом ЭУМК, как сохранение проекта, открытие проекта, изменение проекта.
- модуль трансляции результатов работы в среде разработки ПК в ЭУМК по дисциплине.
ПО решения оптимизационных задач методом генетического алгоритма
Представим построение модульной структуры ПО на примере описания разработки программы для решения оптимизационных задач методом генетического алгоритма (ГА) с нефиксированным размером популяции, которая предоставляет пользователю интерфейс для задания исходных данных, наблюдения за процессом поиска решения и печати отчета с результатами текущего решения.
Одним из методов решения оптимизационных задач являются генетические алгоритмы, основанные на принципах естественного отбора Ч. Дарвина. Генетический алгоритм - это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию.
Отличительной особенностью ГА является акцент на использование оператора «скрещивания», который производит операцию рекомбинации реше-ний-кандидатов, роль которой аналогична роли скрещивания в живой природе [5].
Для автоматизации решения оптимизационных задач методом ГА с нефиксированным размером популяции авторами статьи было разработано ПО, которое включает в состав следующие основные модули, позволяющие осуществлять [6]:
- регистрацию пользователей;
- ведение базы данных (БД) с информацией о пользователях и оптимизационных задачах, решаемых ими;
- формирование запросов к БД (выборка идентификационной информации для проверки при авторизации пользователя, выбор всех оптимизационных задач за определенный промежуток времени, выбор различных условий для выбранной оптимизационной задачи);
- ввод оптимизационной задачи в виде оптимизируемой функции, задание различных условий задачи;
- выбор из БД оптимизационных функций (условий задачи) и параметров ГА для продолжения решения;
Воронежский государственный технический университет
- решение оптимизационной задачи с помощью ГА с нефиксированным размером популяции;
- вывод промежуточного и конечного результата решения оптимизационной задачи в текстовом и графическом виде.
Всего на этапе проектирования программы была разработана ее функциональная структура, состоящая из 20 модулей.
Выводы
Представленные примеры разработки ПО поддержки учебного процесса демонстрируют создание реальных приложений, имеющих практическую значимость. В каждом примере на стадии разработки архитектуры ПО выделены функциональные модули, построена их иерархическая структура, которая состоит из легко идентифицируемых и заменяемых частей. Таким образом, при правильном проектировании ПО особое внимание должно уделяться модульности.
Литература
1. Кузнецов Н.А., Кульба В.В., Ковалевский С.С., Косяченко С.А. Методы анализа и синтеза модульных информационно-управляющих систем. - М.:
ФИЗМАТЛИТ, 2002. - 800 с.
2. Подвальный С.Л. Многоальтернативность как основа обеспечения интеллектуальности систем управления / С.Л. Подвальный, Т.М. Леденева // Вестник Воронежского государственного технического университета. 2012. Т. 8. № 11. С.17-23
3. Подвальный С.Л. Разработка автоматизированной системы мониторинга результатов применения специальных программных средств / С.Л. Подвальный, О.Б. Кремер // Вестник Воронежского государственного технического университета. 2009. Т. 5. № 2. С. 11-14.
4. Кремер О.Б. Построение среды разработки программных комплексов на основе объектно-
ориентированной технологии / О.Б. Кремер, С.Л. Подвальный // Вестник Воронежского государственного технического университета. 2009. Т. 5. № 8. С. 10-13.
5. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы: 2-е изд., испр. и доп. - М.: ФИЗМАТЛИТ, 2006. - 320 с.
6. Кремер О.Б. Программная реализация решения оптимизационных задач методом генетического алгоритма/ О.Б. Кремер, С.Л. Подвальный // Вестник Воронежского государственного технического университета. 2012. Т. 8. № 3. С. 21-24.
7. Сертификационные испытания как часть работы по созданию программного обеспечения автоматизированных систем / Окрачков А.А., Демченков А.В., Скрыль Е.Б., Змеев С.А., Заряев А.В. // Информация и безопасность. 2012. Т. 15. Ч. 4. С. 575-578.
CONSTRUCTION OF HIERARCHICAL STRUCTURE OF MODULES IN THE DESIGN PHASE OF THE SOFTWARE SUPPORT OF THE EDUCATIONAL PROCESS
O.B. Kremer
Considers the construction of hierarchical modular structure of the software on the examples of the design of computer programs of support of the educational process
Key words: software, design phase, structure of modules