Разработка образовательной среды для дистанционного обучения по дисциплинам "Компьютерная графика" и "Системы искусственного интеллекта". Геометрические преобразования

1

1. ВВЕДЕНИЕ

Область применения созданного программного продукта - дистанцион­ное образование по специальности 220400 "Программное обеспечение вычис­лительной техники и автоматизированных систем" для дисциплин, связанных с компьютерной графикой и искусственным интеллектом. Возможно использо­вание для других специальностей и других форм обучения, а также всеми же­лающими более детально изучить отдельные вопросы машинной графики, представления и использования знаний.

Область создания образовательных программ освоена достаточно широ­ко, разработана масса обучающих программ, в частности, проект "Создание единой образовательной системы дистанционного образования (СДО) для тех­нических университетов России. " Однако ранее разработанные СДО обладают целым рядом недостатков:

- жесткая привязанность к предметной области;

  • жесткая структура программы, исключающая ее модификацию поль­зователем;

  • жесткий курс обучения исключающий возможность его пополнения иперенастройки.

Основной недостаток этих программ - обучение фактически заменяется на демонстрацию пользователю некой информации из предметной области без контроля обучаемого и привития практических навыков, в лучшем случае это наличие контрольных вопросов по теоретическому курсу.

Ожидаемые результаты работы созданной образовательные среды "Гео­метрические преобразования" для дисциплины "Компьютерная графика" и "Продукционные системы" для дисциплины "Системы искусственного интел­лекта" — повышение эффективности восприятия информации и привитие прак­тических навыков. А также увеличение времени затраченного преподавателем на разработку курса за счет уменьшения затраченного преподавателем времени на представление информации и привитие практических навыков у студентов.

Научно-техническая и практическая ценность ожидаемых результатов работы.

Научно-техническая ценность результатов связана с разработкой методи­ческих рекомендаций и инструкций по созданию образовательных сред для различных специальностей.

Практическая ценность связана с созданием образовательных средств для конкретных дисциплин и использование СДО в учебном процессе.

2. АНАЛИТИЧЕСКИЙ ОБЗОР, ПОСТАНОВКА ЗАДАЧИ

2. 1. Анализ существующих подходов, моделей, методов

Программное обеспечение для компьютеризованного обучения прошло в своем развитии несколько этапов. На первом этапе использования ЭВМ в учеб­ном процессе разрабатывались программы автоматизации отдельных этапов расчетных, проектных, графических и других работ в ходе лабораторных и практических занятий, курсового и дипломного проектирования. В это же вре­мя появились первые программы контроля и оценки знаний обучаемых, про­граммированного обучения в тестовом режиме. Позже акцент сместился к раз­работке программного обеспечения автоматизированных обучающих систем, обеспечивающих не только обучение конкретным знаниям, но и проверку отве­тов обучаемых интеллектуальную их интерпретацию, возможность подсказки и другие функции. На этом этапе была осознана необходимость интерактивных режимов работы, использования средств машинной графики и методов искус­ственного интеллекта, а также наличие инструментальных средств разработки обучающих программ. Следующий этап связан с новым содержанием, вклады­ваемым в понятие компьютеризованного обучения, а именно с дистанционным образованием.

Автоматизация проектирования и разработки программного обеспечения образовательных сред дистанционного образования требует разграничения ме­жду программными средствами, обеспечивающими коммуникационную ин­фраструктуру для образовательных технологий ДО, специализированными ин­формационно-образовательными средами и курсами ДО и инструментальными средствами разработки обучающих программ ДО. Именно последняя группа в форме интегрированной системы принимается как базовое программное обес­печение ДО.

К основным видам компьютерных программ, разработанных для усовер­шенствования учебного процесса относятся следующие:

- электронный учебник;

  • образовательная среда;

  • лабораторный практикум;

  • тренажер;

  • контролирующая программа;

- база данных.

Цель анализа - определение функциональных характеристик, функцио­нальных и структурных составляющих обучающего ПО с учетом потребностей дистанционного образования.

2. 1. 1. Электронный учебник

Электронный учебник - программно-методический комплекс, обеспечи­вающий возможность самостоятельно освоить учебный курс или его большой раздел. Он соединяет в себе свойства обычного учебника, справочника, задач­ника и лабораторного практикума.

Следует выделить два из основных требований к электронным учебни­кам:

— электронный учебник должен позволять изучить курс, пользуясь толь­ко книгой и входящим в учебник ПО;

- электронный учебник должен предоставлять обучаемому оптимальноесочетание различных способов изучения курса.

Можно отметить следующие особенности методологического подхода, основанного только на электронном учебнике.

- Необходимость обеспечения самостоятельного освоения материалаполностью исключает преподавателя из процесса обучения, оставляяза ним решение учебно-методических задач на стадии создании элек­тронного учебника и настройки ПО на конкретный учебный процесс.Требование о предоставлении обучаемому оптимального сочетанияразличных способов изучения курса приводит к необходимости реали­зации в ПО электронных учебников различных методических прие­мов, доступных преподавателю-разработчику, что влечет за собой ус­ложнение структуры и громоздкость ПО. Но при этом обучаемый самвыбирает кажущуюся ему удобной форму обучения, тогда как этодолжен делать преподаватель или обучающая программа при условииформирования в ней модели обучаемого.

- Следствием вышесказанного является высокая стоимость разработок:- затраты на разработку ПО, обеспечивающего 1 час курса, оценены в10 тысяч долларов США; - затраты на разработку 6-семестрового автоматизированного курса по высшей математике оцениваются в 3-5миллионов долларов США.

- Многие проблемы, перечисленные выше, могут быть решены при ис­пользовании методов искусственного интеллекта на этапе формирова­ния учебного материала и сценария учебника.

- Использование методов искусственного интеллекта позволяет значи­тельно повысить гибкость и сравнительно легкую модифицируемостьсценария электронного учебника.

- Занимательность представляемого учебного материала обеспечиваетсяиспользованием средств машинной графики, а простота работы с ПОподдерживается специально разрабатываемыми интерфейсами обучаемого.

- В большинстве действующих ПО электронных учебников существует база данных контроля знаний обучаемых.

2. 1. 2. Образовательная среда

Следующим видом компьютерных обучающих программ являются обра­зовательные среды - обучающее ПО, которое позволяет оперировать с объек­тами определенного класса. Среда реализует отношения между объектами, операции над объектами и отношениями, соответствующие их определению, а также обеспечивает наглядное представление объектов и их свойств. Обучае­мый оперирует объектами среды, руководствуясь методическими указаниями в целях достижения поставленной дидактической цели, либо производит иссле­дование, цели и задачи которого поставлены обучаемым самостоятельно. Особенности методологии образовательных сред:

- образовательная среда как средство обучения предоставляет возможность развития наивысших, продуктивных форм мышления;

  • основной функцией ПО образовательной среды является моделирование;

  • визуализация процесса моделирования требует использования разнообраз­ных средств машинной графики;

  • достижение реальной самостоятельности обучаемого возможно при исполь­зовании методов искусственного интеллекта, для чего необходимо: - час­тично заменить алгоритмическую часть ПО образовательной среды на дек­ларативное описание в форме базы знаний; - заменить частично управляю­щую часть ПО образовательной среды механизмом логического вывода; -предоставить обучаемому возможность изменения содержания базы знаний;

  • образовательная среда ориентирована на самостоятельную работу, но тем неменее должна иметь определенные виды контроля или протоколированиядействий пользователя, что с применением методов искусственного интел­лекта поможет сформировать модель обучаемого.

2. 1. 3. Лабораторный практикум

ПО лабораторного практикума служит для проведения наблюдений над объектами, их взаимосвязями или некоторыми их свойствами, для обработки результатов наблюдения, для их численного и графического представления и для исследования различных аспектов использования этих объектов на практи­ке.

Одно из основных требований к лабораторному практикуму имеет сле­дующий вид: должны быть четко определены цели эксперимента, описаны средства и методики проведения эксперимента, методы обработки и анализа экспериментальных данных, формы отчета.

Следует отметить, что лабораторный практикум по своему определению и поставленным целям должен быть составной частью образовательной среды. Функции включаемых в ПО лабораторных практикумов средств машинной

графики должны включать возможности деловой и научной графики для ви­зуализации различных графиков, кривых, поверхностей и других абстрактных математических объектов. ПО лабораторного практикума должно включать средства редактирования для представления отчета и определенные виды кон­троля выполненного задания.

2. 1. 4. Тренажер

ПО тренажеров служит для обработки и закрепления технических навы­ков решения задач. Тренажеры обеспечивают получение теоретической ин­формации и описание приемов решения задач, тренировку на различных уров­нях самостоятельности, контроль и самоконтроль и должны включать следую­щие режимы работы: теория, демонстрация примеров, работа с репетитором, самостоятельная работа, самоконтроль.

Среди основных требований к ПО тренажеров выделим следующие:

  • в режиме репетитора желательно предусмотреть все возможные путирешения;

  • путь продвижения должен определяться самим обучаемым.

Особенности методологии тренажеров.

  • Желание «предусмотреть все возможные пути решения» значительноусложняет ПО тренажеров и реально достижимо только для формали­зованных задач и алгоритмов.

  • ПО тренажера должно включать средства редактирования и базу кон­троля знаний.

  • Обучаемый должен решать только те задачи, которые предлагает тре­нажер, и не может самостоятельно сформулировать аналогичную за­дачу для решения, что вызвано отсутствием интеллектуализации ПОтренажеров.

— Интеллектуализация тренажеров для повышения самостоятельности действий обучаемого и одновременное усложнение решаемых задач трансформирует тренажеры в образовательные среды.

- Расширение круга задач, навыки решения которых отрабатывает и за­крепляет тренажер, требует использования средств машинной графи­ки.

- требование о возможности получения любых комплексных справок по всему курсу максимально увеличивает трудоемкость разработки тре­буемых баз данных;

— решение указанных проблем возможно путем использования интеллек­туальных баз данных текстового типа.

Все современные концепции построения обучающих систем при их глу­боком, осмысленном представлении достаточно примитивны по своей сути. Если исключить из рассмотрения безусловно красивый, но для нас в данном случае совершенно неважный интерфейс, исключить обилие выводимого оцифрованного видеоизображения, звуковые эффекты и т. п., то большинство современных обучающих систем функционируют по приблизительно одной нехитрой стратегии.

Суть ее состоит в следующем: обучаемому предоставляется достаточно широкий информационный канал, по которому он получает информацию обу­чающего, а скорее познавательного характера. В данном случае обучаемому уготована роль стороннего наблюдателя за происходящим, что в совокупности с обилием выдаваемой информации приводит к тому, что постепенно человек запутывается в этом информационном потоке, либо что-то пытается усвоить и часто формирует у себя неверное представление о предмете, изучаемым таким образом.

Кроме того, даже в случае успешного запоминания обучаемым передан­ного материала вероятность того, что он сможет использовать его в дальней­шем без посторонней помощи достаточно невелика. Дело в том, что после вы­дачи всей обучающей информации большинство обучающих систем в лучшем случае проводит небольшое контрольное тестирование по теоретическим во­просам или стандартным задачам, описанным же в выдаваемой информации. Таким образом, получив достаточный объем обучающей информации, пусть даже в виде прекрасно подготовленного курса, по конкретной теме, обучаемый по окончании работы с системой не имеет достаточного практического опыта для применения на практике полученных знаний и дальнейшем ему могут по­надобится дополнительные практические занятия или непосредственные заня­тия с преподавателем - составителем учебного курса для системы дистанцион­ного образования, что в конечном итоге сводит на нет всю ценность разрабо­танной обучающей системы и ставит под сомнение смысл ее разработки.

Для устранения указанных недостатков в разработанной системе дистан­ционного образования изначально была заложена принципиально иная концеп­ция, в основном направленная на формирование у обучаемых достаточно хо­роших практических навыков по изучаемым курсам. Этой цели подчинены 75% режимов работы созданной системы.

Разработчиками сделана попытка заложить в разработанную систему не­которую универсальность путем определения в ней некоторого расширяемого небольшого набора примитивов: "текст", "рисунок", "трехмерная модель объ­екта", что позволяет достаточно легко перенастраивать систему на ряд "родст­венных" курсов, а при расширении количества примитивов расширяется спи­сок возможных дисциплин, которые могут быть заложены в систему. Очевид­но, что указанная универсальность довольно относительна и создать универ­сальную обучающую систему с широкими возможностями по привитию практического опыта если и возможно, то весьма проблематично.

В данном случае такой задачи и не ставилось, разработанная система из­начально предполагалась для дисциплин "Компьютерная графика" и "Системы искусственного интеллекта" а также для близких с ними дисциплин. Использо­вание одного и того же набора примитивов для создания курсов по указанным дисциплинам привело к тому, что при последовательном их изучении происхо­дит плавный переход от одной дисциплины к другой. Часть указанных прими­тивов имеет режим динамической работы с ними. Интерактивная работа с при­митивами более интересна обучаемому, нежели простое созерцание выдавае­мой информации по его чисто человеческой природе, что положительно сказы­вается на повышении эффективности обучения.

Кроме новизны самой концепции построения обучающей среды, в разра­ботанной системе заложен целый ряд новых подходов и методов, примени­тельно к конкретным рассматриваемым дисциплинам ("Компьютерная графи­ка" и "Системы искусственного интеллекта").

Геометрическая модель вводится как совокупность изменяемых и неиз­меняемых структур данных, однозначно определяющих моделируемый трех­мерный объект. Изменяемая компонента структур данных модели определяет привязку объекта к системе отсчета. Неизменяемая компонента определяет ха­рактеристики самого объекта с помощью топологических элементов и отноше­ний между ними. Изменяемая информация задается линейной списковой структурой дескриптором вершин 8(Х, У, 2), содержащим координаты каждой вершины. Неизменяемая информация представляется отношениями между то­пологическими элементами моделируемого объекта.

Получение искомого геометрического преобразования происходит по­средством накапливания элементарных преобразований в матрице результи­рующего преобразования при последовательном ее домножении на матрицы элементарных геометрических преобразований.

Опыт обучения вопросам геометрических преобразований показывает, что рассматриваемые в среде задачи, соответствующие алгоритмам геометри­ческих преобразований следует распределить по трем уровням сложности сле­дующим образом:

высший получение любого преобразования относительно произвольной плоскости, заданной несколькими способами.

средний получение любого преобразования относительно произвольной прямой.

низший получение любого преобразования относительно произвольной точки, а так же элементарные геометрические преобразования.

Основным связывающим звеном между дисциплинами "Компьютерная графика" и "Искусственный интеллект" является способ решения задач геомет­рических преобразований с помощью механизма логического вывода продук­ционных систем. При всем разнообразии задач геометрических преобразований их решение процедурными методами привело бы к значительному увеличению объема и трудоемкости написания программы, а также существенному сниже­нию гибкости. Реализованный в разработанной системе способ решения гео­метрических задач с помощью продукционных систем позволил добиться аб­солютной гибкости, т. е. преподаватель может вводить в курс все возможные задачи. Подобный подход позволяет таким образом построить выполнение за­дач геометрических преобразований, что становиться возможным реализовать все возможные преобразования в одном механизме вывода за счет использова­ния соответствующей базы знаний.

Разработанный способ используется в системе для решения следующих подзадач: во-первых, он заложен в саму программу для выполнения постоянно необходимых преобразований; во-вторых, на примере этого метода построено обучение по курсу "Продукционные системы", что весьма положительно, т. к. предмет осваивается обучаемым на конкретном примере из той области, с ко­торой он ранее ознакомился с другой стороны.

2. 2. Постановка задачи

Для обеспечения функционирования разработанной системы дистанци­онного образования во всех предусмотренных режимах необходимо было ре­шить следующие задачи:

1) теоретического плана:

- разработка способа представления информации о трехмерных геомет­рических объектах. Установление связей в разрабатываемых структу­рах и формальное описание преобразований, представленных таким образом;

- разработка универсального метода получения геометрических преоб­разований объектов на основе разработанного механизма вывода;

- разработка способов обучения методам геометрических преобразова­ний, как примера использования продукционных систем.

2) Практического плана:

  • реализация разработанного универсального способа получения гео­метрических преобразований на основе продукционных систем;

  • разработка блока демонстрации формирования последовательностипреобразований и контроля действий обучаемым;

- разработка блока выдачи задания обучаемому для самостоятельнойработы с учетом уровня сложности и блока контроля правильностивыполнения полученного задания.

2. 3. Обоснование выбора подхода и метода решения по­ставленной задачи

В основе разработанной системы лежит использование продукционных систем для решения задач геометрических преобразований. Основные доводы в пользу такого выбора:

  1. Как отмечалось выше в главе анализа существующих подходов, алго­ритмические методы нахождения последовательности геометрическихпреобразований явно неэффективны, следовательно необходим дру­гой подход.

  2. Использование связки "Продукционные системы + геометрическиепреобразования" выгодно с той точки зрения, что эти два понятиялегко связать в единую работающую систему.

  3. Разрабатываемая программа становится компактной, легкоизменяе­мой только за счет изменения базы знаний.

  4. Механизм вывода при работе с используемым представлением объек­тов очень прост.

  5. Реализация универсального метода нахождения всех возможных по­следовательностей геометрических преобразований в данном случаезначительно упрощается.

  6. Построение учебного материала по курсу "Продукционные системы"на основе заложенных в системе методов довольно наглядно, позво­ляет использовать те же примитивы, что и для курса "Геометрическиепреобразования", позволяет осуществить легкий переход от одногоучебного курса к другому, следовательно легко освоить "Продукци­онные системы" и пополнить свой опыт в графике.

  7. Использование продукционных систем, и одного и того же механизмавывода позволяет реализовать визуализацию информации о графиче­ском объекте, организовать построение новых структур подобногорода самим обучаемым, организовать контроль этого процесса какчастично, так и для всей совокупности структур в целом, т. е. реализо­вать все практические задачи, поставленные выше.

3. ОСНОВНАЯ ЧАСТЬ

3. 1. Разработка моделей и алгоритмов решения

Как было отмечено в п. 2. 1., имеется множество различных вариантов геометрических преобразований. Решение данной задачи напрямую не только неэффективно, но и громоздко. Поэтому был выбран другой путь, основанный на использовании представлений знаний продукционными системами.

Для обеспечения возможности использования продукционных систем разработан новый способ представления информации о трехмерных геометри­ческих объектах. Элементарные геометрические примитивы представлены в виде фактов базы знаний.

Работа блока получения продукций строится следующим образом.

  1. Исходная модель трехмерного графического объекта, заданная произвольно(посредством прямых, точек или их комбинаций), анализируется и преобра­зуется в унифицированное представление точками, затем система обращает­ся к соответствующей базе знаний и достраивает механизм вывода до полу­чения необходимых для решения задачи фактов.

  2. Для получения требуемой последовательности разработанный блок обраща­ется к базе знаний и, в зависимости от задания, вновь перестраивает меха­низм вывода, после чего запускает его.

  3. Получение требуемой последовательности осуществляется путем выборкинеобходимых фактов и их последующей подстановки в правила. В результа­те срабатывания правила в базу знаний добавляются новые факты, и процессповторяется.

Реализованный механизм вывода использован также для решения ос­тальных поставленных задач, а именно:

  • демонстрация формирования последовательности выполняемых пра­вил; отображение использованных и добавленных новых фактов вобучающем режиме раздела «Продукционные системы»

  • контроль действий обучаемого в контролирующем режиме разделов"Геометрические преобразования" и "Продукционные системы".

В первом случае работа блока получения любого отношения практически не изменяется. Программа так же производит дополнительную настройку ме­ханизма вывода и формирует формализованное представление объекта, затем получение последовательности правил происходит по шагам с выдачей к ви­зуализации используемых преобразований и их взаимного расположения.

Во втором случае система действует несколько иначе. Механизм вывода сразу получает последовательность правил, после их интерпретации обработ­чиком получается результирующая матрица преобразований, на которую затем умножаются все точки объекта.

3. 2. Разработка программных средств

Для реализации поставленных задач первоначально была запрограмми­рована разработанная система хранения фактов и правил в базе знаний. Она была представлена как совокупность таблиц, составляющих единую базу зна­ний

Входная информация для блока получения продукций представлена в ви­де таблицы, в которой хранятся факты и правила, необходимые для работы ме­ханизма вывода продукционных систем.

Для обеспечения возможности многократного использования обучаемым одной и той же модели в процессе обучения, а так же для обеспечения провер­ки выполняемых заданий разработан блок перегенерации способа задания гео­метрических примитивов для приведения ох представления в системе к унифи­цированному виду. Он запускается каждый раз при выборе задания и приводит представление геометрических примитивов к виду, необходимому для работы механизма вывода. При этом в базу фактов могут быть внесены новые факты.

Для обеспечения гибкости разработанного механизма вывода его про­граммная часть содержит ряд перенастраиваемых параметров, которые изме­няются самой программой в процессе ее работы в зависимости от текущей за­дачи. Параметры настройки механизма вывода вынесены в простейшую по своей структуре базу знаний. База знаний разбита на два элемента, хранящихся в отдельных файлах. Информация в этих файлах храниться в формате таблиц Dbase, что значительно облегчает ее редактирование и дополнение при необ­ходимости. Процесс работы блока получения последовательности действий с базой знаний следующий:

  1. После анализа задания, выданного пользователю, система выбирает избазы графических примитивов необходимые элементы, рассматривае­мые системой далее как факты.

  2. Производится перебор существующих правил, хранящихся в базе пра­вил (rights. dbf, if_m. dbf, proc. dbf, param. dbf). На каждом шаге системапытается подставить в правило выбранные на предыдущем шаге фак­ты и в случае успеха выполняет соответствующую правилу процеду-

ру.

3) После нахождения последовательности элементарных геометрическихпреобразований для совмещения примитива с соответствующим ему

элементом системы координат система выполняет преобразование, описанное в задании относительно соответствующего элемента систе­мы координат.

4) В последовательность геометрических преобразований добавляются действия для возврата примитива в исходное положение.

На базе разработанного механизма вывода построен блок обеспечения работы обучающего и контролирующего режимов раздела "Продукционные системы". При работе пользователя в этих режимах наряду с выводом на экран последовательности геометрических преобразований, выводятся выполненные правила, которые наглядно показывают процесс формирования требуемой по­следовательности действий. Использование механизма вывода для продукци­онных систем состоит в том, что на его основе производится выборка и взаим­ная ориентация необходимых в каждый конкретный момент элементарных геометрических преобразований.

Для обеспечения работы СДО в предусмотренных режимах был разрабо­тан блок выдачи заданий обучаемому. При этом задания, выдаваемые в разделе "Геометрические преобразования" не отличаются от заданий, выдаваемых в разделе "Продукционные системы". Задания обучаемому генерируются систе­мой случайным образом, что в совокупности с перегенерацией способа задания опорных элементов практически исключает повторы системы при повторной работе в прежнем режиме одного и того же пользователя. Кроме того, в блоке выдачи задания все возможные варианты задач распределены по уровням сложности. Так как большинство режимов СДО строится на выполнении имен­но практических заданий, через данный блок стало возможным устанавливать уровни сложности для работы с конкретным обучаемым по его желанию.

Задания распределены по уровням сложности исходя из сложности по­строения алгоритма получения требуемого преобразования (см приложение 6)

При работе обучаемого в контролирующем режиме его задачей является выполнение выдаваемых системой заданий, т. е. формирование требуемой по­следовательности преобразований. Для обеспечения контроля действий обу­чаемого, корректировки его работы, привития практических навыков и провер­ки выполнения задания для самостоятельной работы был разработан контроли­рующий блок. В его задачу входит контроль правильности результирующего преобразования.

Первоначальная версия реализации механизма вывода со всеми обеспе­чивающими функциями занимала порядка 3000 строк исходного текста, однако в последующих версиях ее размер сокращен до 1000 строк. С учетом подклю­чения к механизму вывода других блоков (о чем говорилось выше) размер реа­лизации составил 1400 строк исходного текста. Отметим, что размер только одной алгоритмической реализации блока получения любой последовательно­сти преобразований с учетом многообразия входных данных составил бы около

7000 строк исходного текста без учета размеров всех остальных требуемых блоков. При этом реализация вспомогательных блоков (выдачи задания, кон­троля и т. д. ) на базе созданного блока получения отношений уже невозможна, что еще более увеличивает суммарный объем программы. Так как разработан­ная система является системой дистанционного образования, то связь обучае­мого и преподавателя обеспечивается через линии коммуникации (например телефонная сеть). При этом размер передаваемых данных является довольно существенным моментом. Концепция построения рассматриваемой СДО "Гео­метрические преобразования/Продукционные системы" в целом направлена именно на минимизацию размера передаваемых по коммуникационным кана­лам данных.

3. 3. Разработка программной и эксплуатационной докумен­тации

Разработанный программный продукт сопровождается следующими до­кументами (с указанием номера приложения):

  1. "Техническое задание" Приложение 1

  2. "Руководство оператора" Приложение 2

  3. "Описание применения" Приложение 3

  4. "Руководство программиста" Приложение 4

  5. "Программа и методика испытаний" Приложение 5

4 ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ

4. 1. Расчет себестоимости программы

Себестоимость программы рассчитывается по формуле:

(Пнр х Зпр)

Спп = Зпр + Мэ + —------------— + Сотл

100%

где Зпр - заработная плата программистов, руб;

Мэ - стоимость материалов на эксплуатационные

нужды, руб;

Пнр - процент накладных расходов, %; Сотл - затраты по отладке программы, руб.

Заработная плата программистов определяется по следующей формуле:

Зпр = tpi х Зосн х ( 1 + Адоп )х( 1+ Асн)

где tpi - трудоемкость работ i-го разработчика, чел-мес: Зосн - основная заработная плата i-го разработчика,

руб/мес;

Адоп - коэффициент дополнительных выплат разработчикам; Асн - коэффициент учитывающий отчисления на

социальные нужды. n - число разработчиков программного продукта, чел.

Трудоемкость разработки программного продукта:

1. 2

tp. п. = 2. 8 х ( Nтик )

где Nтик - число тысяч исходных команд. Nтик = 4. 5;

1. 2

tрп = 2. 8 х ( 4. 5 ) = 17. 02 чел. -мес.

Продолжительность разработки программного изделия:

0. 32 0. 32

Т = 2. 5хtрп =2. 5x17. 02 = 6. 19 месяцев.

n=tрп- - количество разработчиков

Т

n= 17.02/6.19 = 3 человека, в том числе 2 инженера-программиста и 1 руководитель разработки.

Заработная плата программистов:

Зинж =150 руб. Зрук = 400 руб.

Трудоемкость работ каждого разработчика:

tp инж = 17. 02 х 0. 35 = 5. 957 tp рук = 17. 02x0. 3 =5. 100

Адоп = 0. 25 Асн =0. 39

Зпр = 2 х (5. 957 х 150 х (1+0. 25) х (1+0. 39)) + + 5. 10 х 400 х (1+0. 25) х (1+0. 39) = 5524 руб.

Затраты по отладке программы определяются по форм Сотл = Тотл х Смч,

где Тотл - трудоемкость отладки;

Смч - стоимость одного машина-часа.

Трудоемкость отладки:

qхСх( 1 +Р)Тотл. =

5хК

где: q - количество операторов;

С - уровень сложности программы;

Р - число корректировки;

К - коэффициент подготовки программиста;

q = 4481 С = 0. 6 Р = 0. 05 К=1. 2

3291 х 0. 6 х (1+0. 05)Тотл = = 471 часов.

5x1. 2

Смч =12 руб.

Сотл= 12x471 =5652 руб.

Таблица 4. 1. 1 Стоимость материалов

Материал

Кол-во

Ед. изм.

Цена

Сумма

Бумага

0. 5

Пачка

40 руб.

20 руб.

Лента принтера

1

Штука

17руб.

17 руб.

Дискета

4

Штука

5 руб.

20 руб.

Итого: 57 руб.

Мэ = 57 руб. Пнр = 50 %

50 х 5524

Спп = 5524 + 57 + + 5652=13995 руб.

100

4. 2. Расчет цены программы

Цена программного продукта определяется по формуле:

Цпп = Спп х ( 1 + Ррен. ),

где Ррен - уровень рентабельности

Ррен =0. 3

Цпп = 13995 х (1+0. 3) = 18194 руб. Продажная цена программного продукта определяется по формуле:

Цпп +К х КстЦена= х(1+НДС)

К

где НДС - налог на добавленную стоимость, 20%; К - количество копий, шт.; Кcт - стоимость носителя информации, руб.;

К =30 копий Кcт = 5 руб.

Цена = ((18194 + 30 х 5) / 30) х 1. 2 = 733 руб.

4. 3. Определение качественных параметров программы

В экспертизе системы дистанционного образования "Компьютер­ная графика и Семантические сети" в качестве экспертов учавство-вали главный специалист отдела ИВС Министерства труда и со­циального развития Шестак Л. И., руководитель отдела АСУ АО "САП-КОН" Миньков Л. Н., главный специалист отдела АСУ АО "САПКОН" Саха­ров С. С.

В качестве аналога была выбрана обучающая программа "Стати­ка и Динамика", разработанная студентами СГТУ кафедра ПВС в 1995 г.

Определим уровень компетентности каждого эксперта по формуле:

К аi + К осiК ki = ,

К аmах + К остах

где Кki - коэффициент компетентности i-го эксперта; Каi - коэффициент аргументации; Косi - коэффициент осведомленности; Кmах - максимальные значения Каi и Косi, равные 1.

Для определения коэффициента аргументации используются значения, приведенные в таблицах 4. 2. 1 и 4. 2. 2:

Таблица 4. 3. 1 Коэффициенты аргументации

Источник

высокая

средняя

низкая

аргумента-

ции

1. Прове-

0. 3

0. 2

0. 1

денные

теоретиче-

ские иссле-

дования.

2. Личный

0. 5

0. 4

0. 2

опыт рабо-

ты.

3. Обоб-

0. 05

0. 05

0. 05

щенный

анализ оте-

чественных

аналогов

4. Обоб-

0. 05

0. 05

0. 05

щение ана-

лиз Зару-

бежных

аналогов.

5. Личное

0. 05

0. 05

0. 05

знакомство

с состояни-

ем дел за

рубежом

6. Интуи-

0. 05

0. 05

0. 05

ция

Таблица 4. 3. 2 Степень влияния источника

Эксперт

степень влияния источника

1

2

3

4

5

1. ШестакЛ. И.

Выc.

Выc.

сред.

Сред.

сред.

Выc

2. Миньков Л. Н.

Выc.

Выc.

выc.

Сред.

низ.

Сред

3. Сахарове. С.

выc.

сред.

сред.

сред.

низ.

сред

В результате получаем коэффициенты аргументации для каждого эксперта:

Ка1 = 0. 3 + 0. 5 + 0. 05 + 0. 05 + 0. 05 + 0. 05 = 1; Ка2 = 0. 3 + 0. 5 + 0. 05 + 0. 05 + 0. 05 + 0. 05 =1; Ка3 = 0. 3 + 0. 4 + 0. 05 + 0. 05 + 0. 05 + 0. 05 = 0. 9;

Коэффициент осведомленности устанавливается по усмотрению самих экспертов:

Кос1 = 0. 9; Кос2 = 0. 75; Кос3 = 0. 80;

Таким образом коэффициенты компетентности:

Кк1 =( 1 +0. 9)/2= 0. 950; Кк2 = ( 1 + 0. 75)/2 = 0. 875; Кк3 = ( 0. 9 + 0. 80)/2= 0. 850;

Из дерева качества разработанного программного продукта были выбраны, по общему мнению, 12 наиболее важных характеристик:

  1. Возможность адаптации пользователя в ПО;

  2. Привлекательность интерфейса;

  3. Удобство работы с программой;

  4. Возможность работы в многопользовательском режиме;

  5. Правильность функционирования;

  6. Гибкая система подсказок;

  7. Многофункциональность системы;

  8. Компактность программы;

  9. Надежность системы, защита от сбоев;

  1. Возможность настройки ПО на пользователя;

  2. Эффективность контроля процесса обучения;

  3. Модификация вызываемых заданий;

Исходя из таблицы 4. 3. 3

Таблица 4. 3. 3 Оценка влияния характеристик

Оценка

1. Абсолютно не влияет технический уровень про­граммного продукта

0

2. Влияет незначительно

0. 25

3. Влияет

0. 5

4. Влияет существенно

0. 75

5. Небходим

1

каждым экспертом по каждой характеристике установлены коэффициенты важности:

были

Щестак

Миньков

Сахаров

1.

1

0. 75

0. 5

о

0. 75

0. 75

0. 5

3.

1

1

1

4.

0. 5

0. 5

0. 5

5.

0. 75

0. 75

1

6.

0. 5

0. 75

0. 5

7.

1

1

1

8.

0. 75

0. 75

0. 5

9.

0. 75

1

1

10.

0. 75

0. 5

0. 5

11.

0. 5

0. 75

0. 5

12.

0. 5

0. 5

0. 75

Определим общую согласованную оценку каждой характеристики по формуле:

Квi = 1/n х ( mij х Ккi)

где n - число экспертов;

ту - оценка 1-ым экспертом i-ой характеристики; Ккi - коэффициент компетентности 1-го эксперта; Квi - обобщенная оценка экспертов по j-ой характеристике.

Кв1 =0. 33х( 1 х 0. 950 +0. 75 х 0. 875 + 0. 5 х 0. 850)= 0. 677 Кв2 =0. 33х(0. 75 х 0. 950 +0. 75 х 0. 875 + 0. 5 х 0. 850)= 0. 579 Кв3 =0. 33х( 1 х 0. 950 + 1 х 0. 875 + 1 х 0. 850)= 0. 891 Кв4 =0. 33х(0. 5 х 0. 950+0. 5 х 0. 875 + 0. 5 х 0. 850)= 0. 733 Кв5 =0. 33х(0. 75 х 0. 950 +0. 75 х 0. 875 + 1 х 0. 850)= 0. 579 Кв6 =0. 33х(0. 5 х 0. 950+0. 75x0. 875+ 0. 5 х 0. 850)= 0. 518 Кв7 =0. 33х( 1 х 0. 950 + 1 х 0. 875 + 1 х 0. 850)= 0. 891 Кв8 =0. 33х(0. 75 х 0. 950 +0. 75 х 0. 875 + 0. 5 х 0. 850)= 0. 579 Кв9 =0. 33х(0. 75 х 0. 950 + 1 х 0. 875 + 1 х 0. 850)= 0. 812 Кв10=0. 33х(0. 75х 0. 950+0. 5 х 0. 875 + 0. 5 х 0. 850)= 0. 525 Кв11=0. 33х(0. 5 х 0. 950+0. 75x0. 875+ 0. 5 х 0. 850)= 0. 518 Кв12=0. 33х(0. 5 х 0. 950+0. 5 х 0. 875 + 0. 75 х 0. 850)= 0. 516

Затем каждый эксперт устанавливает степень осуществления программного продукта (в баллах от 0 до 10) и подсчитывается согласованная оценка по формуле:

Vj = 1 /n х ( vij х Ккi)

где n - число экспертов;

vij - оценка i-ым экспертом j-ой характеристики; Ккi - коэффициент компетентности i-го эксперта. V) - обобщенная оценка экспертов по j-ой характеристике.

Разрабатываемый программный продукт/существующий аналог.

Шестак

Миньков

Сахаров

1.

8/6

8/4

7/6

2.

9/6

7/5

8/6

3.

9/2

8/1

9/3

4.

8/5

9/5

9/6

5.

7/8

7/8

8/9

6.

9/2

9/1

9/1

7.

10/8

9/9

9/8

8.

9/3

8/4

8/4

9.

9/5

8/5

7/6

10.

10/6

9/5

9/5

И.

8/7

9/6

8/6

12.

8/3

9/2

9/3

Для разрабатываемой системы:

V1 =0. 33 х (8 х 0. 950 + 8 х 0. 875 +7 х 0. 850) = 6. 850 V2 =0. 33 х (9 х 0. 950 + 7 х 0. 875 +8 х 0. 850) = 7. 158 VЗ =0. 33 х (9 х 0. 950 + 8 х 0. 875 +9 х 0. 850) = 7. 333 V4 =0. 33 х (8 х 0. 950 + 9 х 0. 875 +9 х 0. 850) = 7. 708 V5 =0. 33 х (7 х 0. 950 + 7 х 0. 875 +8 х 0. 850) = 6. 525 V6 =0. 33 х (9 х 0. 950 + 9 х 0. 875 +9 х 0. 850) = 8. 025 V7 =0. 33 х (10х 0. 950 + 9 х 0. 875 +9 х 0. 850) = 6. 8 V8 =0. 33 х (9 х 0. 950 + 8 х 0. 875 +8 х 0. 850) = 7. 45 V9 =0. 33 х (9 х 0. 950 + 8 х 0. 875 +7 х 0. 850) = 7. 166 V10=0. 33 х (10х 0. 950 + 9 х 0. 875 +9 х 0. 850) = 8. 341 V11=0. 33 х (8 х 0. 950 + 9 х 0. 875 +8 х 0. 850) = 7. 425 V12=0. 33 х (8 х 0. 950 + 9 х 0. 875 +9 х 0. 850) = 7. 708

Для существующего аналога:

V1 =0. 33 х (6 х 0. 950 + 4 х 0. 875 +6 х 0. 850) = 3. 465 V2 =0. 33 х (6 х 0. 950 + 5 х 0. 875 +6 х 0. 850) = 5. 049 VЗ =0. 33 х (2 х 0. 950 + 1 х 0. 875 +3 х 0. 850) = 1. 775 V4 =0. 33 х (5 х 0. 950 + 5 х 0. 875 +6 х 0. 850) = 3. 16 V5 =0. 33 х (8 х 0. 950 + 8 х 0. 875 +9 х 0. 850) = 6. 938 V6 =0. 33 х (2 х 0. 950 + 1 х 0. 875 +1 х 0. 850) =1. 123 V7 =0. 33 х (8 х 0. 950 + 9 х 0. 875 +8 х 0. 850) = 6. 617 V8 =0. 33 х (3 х 0. 950 + 4 х 0. 875 +4 х 0. 850) = 3 605 V9 =0. 33 х (5 х 0. 950 + 5 х 0. 875 +6 х 0. 850) = 4. 711 V10=0. 33 х (6 х 0. 950 + 5 х 0. 875 +5 х 0. 850) = 3. 861 V11=0. 33 х (7 х 0. 950 + 6 х 0. 875 +6 х 0. 850) = 5. 577 V12=0. 33 х (3 х 0. 950 + 2 х 0. 875 +3 х 0. 850) = 1. 667

Находим комплексный показатель уровня конкурентоспособности - разработанного ПО:

12 Кук =