Разработка обучающего блока по дисциплине "Базы данных и системы управления базами данных"
Описание структуры обучающего блока. Проектирование его алгоритма и лингвистического и информационного обеспечения. Организация его взаимодействия с базой данных. Разработка графического интерфейса. Программная реализация основных функций приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 20.12.2015 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Реферат
Ключевые слова: технические средства обучения, обучающая программа, функциональная модель, система тестов, локальная статистика и динамика уровня знаний, структурная модель, программная реализация, организационно-экономическое обоснование, охрана труда.
Объектом исследования является дисциплина «Базы данных и системы управления базами данных», а также методы автоматизации подачи и проверки знаний по данной дисциплине.
Цель проектирования -- создание автоматизированного обучающего комплекса по выбранной дисциплине.
Областью возможного практического применения являются учебные заведения, осуществляющие обучение специальностям, требующих изучение выбранной дисциплины.
Основные технико-эксплуатационные показатели: автоматизация всех этапов обучения дисциплине, динамичная подача учебного материала, гибкая система тестов, информативная статистика, яркий и удобный интерфейс, невысокая стоимость программного продукта.
Приведенный в дипломном проекте расчетно-аналитический материал объективно отражает состояние разрабатываемого объекта, все заимствованные из литературных и других источников теоретические и методологические положения и концепции сопровождаются ссылками на их авторов.
Содержание
- Введение
- 1. Обзор и анализ методов и средств реализации поставленной задачи
- 1.1 Общая организация учебного процесса
- 1.2 Использование современных технологий в организации учебной деятельности, преимущества и возможности обучающих программ
- 1.3 Обзор инструментария проектирования автоматизированного обучающего блока, его сравнительный анализ
- 2. Функциональное моделирование, разработка и проектирование алгоритма обучающего блока
- 2.1 Функциональная модель обучающего блока
- 2.2 Алгоритм работы обучающего блока
- 2.3 Проектирование лингвистического обеспечения обучающего блока
- 3. Описание структуры и технологии разработки обучающего блока
- 3.1 Описание структуры обучающего блока
- 3.2 Состав и организация информационного обеспечения обучающего блока
- 3.3 Разработка графического интерфейса
- 3.4 Описание использованных компонентов
- 3.5 Описание программной реализации задачи
- 3.5.1 Организация взаимодействия обучающего блока с базой данных
- 3.5.2 Программная реализация основных функций приложения
- 4. Апробация механизмов функционирования обучающего блока
- 5. Организационно-экономическое обоснование проекта
- 5.1 Расчет общей трудоемкости разработки программного обеспечения
- 5.2 Расчёт затрат на разработку программного продукта
- 5.3 Формирование цены при создании программного обеспечения
- 6. Сведения об охране труда. Защита от ионизирующих излучений в производственной среде оператора ЭВМ
- 6.1 Общие сведения
- 6.2 Система защиты от ионизирующего излучения
- Заключение
- Перечень условных обозначений и сокращений
- Список использованных источников
- Приложение А Диаграмма декомпозиции общей функциональной модели
- Приложение Б Диаграмма потоков данных системы
- Приложение В Схема базы данных
- Приложение Г Текст программы «Обучающий блок по дисциплине «Базы данных и системы управления базами данных»
- Приложение Д Руководство программиста
- Приложение Е Руководство пользователя
- Приложение Ж Руководство системного программиста
Введение
С развитием высоких технологий повышается и уровень образования. Это связано, прежде всего, с тем, что процесс обучения с каждым разом все более упрощается, за счет, к примеру, повсеместной автоматизации учебных пособий, благодаря чему подаваемый материал становится более концентрированным и динамичным, позволяет уменьшить время освоения материала за счет наглядности структуризации, позволяет степень усвоения материала. Кроме того, создается огромное количество методик и принципов, по которым процесс получения знаний осуществляется комплексно и, как следствие, более результативно.
Современные технологии дают возможность использовать все преимущества интерактивного обучения, что позволяет одновременно и комплексно, и динамично получать необходимый поток информации, совершенствовать знания, навыки и умения.
В настоящее время программные продукты данной тематики очень востребованы. Не смотря на это, в данной отрасли есть множество «белых пятен», что дает локальным разработчикам простор для разработок. Большинство подобных программных средств либо морально устарели, либо имеют малый функционал. Множество дисциплин попросту не имеет автоматизированных учебных комплексов. Но в то же время существует и множество качественных обучающих программ, которые пользуются большой популярностью.
Задачей данного дипломного проекта является разработка обучающего блока по дисциплине «Базы данных и системы управления базами данных», который должен обладать набором следующих функций:
- динамическая автоматизация процесса обучения;
- построение графиков и динамики уровня знаний пользователя, вывод подробной статистики;
- система тестирования, где будут комплексно проверяться уровень знаний пользователя по данной дисциплине;
- административный режим, где будет происходить управление ресурсами приложения.
Для решения поставленной задачи потребовалось:
- изучение предметную область разрабатываемого приложения;
- разработка функциональной модели, структурной схемы и алгоритма функционирования программного средства (ПС);
- разработка, верификация и апробация обучающего блока.
Пояснительная записка состоит из 6 разделов и включает в себя изучение предметной области, функциональное моделирование поставленной задачи, пошаговое описание процесса и методов разработки, апробация ПС, экономическое обоснование, в котором были рассчитаны общая трудоемкость и полная себестоимость приложения, а также раздел содержащий информацию об охране труда на тему, указанной в задании.
1. Обзор и анализ методов и средств реализации поставленной задачи
1.1 Общая организация учебного процесса
Под обучением, прежде всего, следует понимать целенаправленный педагогический процесс организации и стимулирования активной учебно-познавательной деятельности учащихся и студентов по овладению научными знаниями, умениями и навыками, развитию творческих способностей, мировоззрения и нравственно-этических взглядов и убеждений.
В качестве важнейших задач обучения выступают следующие:
- стимулирование познавательной активности учащихся;
- организация их учебно-познавательной деятельности по овладению научными знаниями, умениями и навыками;
- развитие мышления, сообразительности, памяти, творческих способностей и дарований;
- формирование научного мировоззрения и нравственно-эстетической культуры;
- выработка и совершенствование учебно-познавательных умений и навыков;
- формирование умения самостоятельно углублять и пополнять свои знания (самообразование);
- развитие творческих способностей учащихся.
В настоящее время существует несколько десятков вариантов классификации основных элементов учебного процесса -- типов и видов уроков, методов и средств и форм обучения. В первую очередь, необходимо изучить новый учебный материал (лекции, беседы и др.). Следующим этапом является закрепление знаний, их совершенствование (самостоятельные работы, семинары, практические/лабораторные работы, практикумы, конференции и др.). После чего происходит обобщение и систематизация знаний, контроль и коррекция знаний, умений и навыков (устные и письменные опросы, контрольные работы, тестирования, зачеты, диктанты, экзамены). В основе системы управления качеством образования должны использоваться новые технологии измерения и оценки знаний, обеспечивающие достоверные и сопоставимые данные об учебных достижениях обучаемых. Технологии контроля воплощают в себя методы, приемы, последовательность операций и процедур формирования оценочных заданий и критериев оценки качества. Они тесно связаны с применяемыми средствами и инструментами контроля. Выход на технологический уровень проектирования инструментов контроля и реализации этого проекта делают преподавателя профессиональным специалистом, значительно усиливают роль самого обучаемого и открывают новые горизонты развития творчества. Совершенствование системы оценивания результатов обучения согласуется с основными идеями обновления содержания образования. Оно построено с учетом принципов и подходов гуманизации, личностно-ориентированного обучения, педагогики индивидуальности, продуктивного обучения.
Отдельно можно выделить комбинированные учебные занятия, на которых происходит сочетание нескольких видов уроков, что также дает свой положительный результат на комплексное получение знаний слушателями.
Основными, можно назвать такие методы, как:
- словесные методы (рассказ, объяснение, беседа, учебная дискуссия);
- наглядные методы (метод иллюстраций и метод демонстраций);
- практические методы (анализ конкретных производственных ситуаций, имитационные упражнения, метод дидактических игр, метод упражнений, исследовательский метод, метод «мозгового штурма», метод проектов и метод педагогических мастерских);
- методы контроля обучения (устные, письменные индивидуальные и фронтальные контроли, а также практические, машинные и комбинированные контроли) [1].
1.2 Использование современных технологий в организации учебной деятельности, преимущества и возможности обучающих программ
Чтобы сформировать компетентного выпускника во всех потенциально значимых сферах профессионального образования и собственно жизнедеятельности и повысить качество его подготовки, необходимо применять активные методы обучения, инновационные технологии, познавательную, коммуникативную и личностную активность студентов.
Наглядность -- один из ведущих принципов обучения. Правильное использование учебно-наглядных пособий и технических средств обучения на уроках теоретического обучения и во время лабораторно-практических работ, применение в производственном обучении высокопроизводительного инструмента и приспособлений позволяет успешно решать учебно-воспитательные задачи урока.
Особую группу обучающих средств составляют технические средства обучения (ТСО). Это средства обучения -- носители учебной информации, для проявления которой требуются специальные технические устройства. К ним относятся аудиовизуальные средства (проигрыватели, электронные вычислительные машины (ЭВМ), Интернет), технические средства программированного обучения, тренажеры.
К техническим средствам обучения относится совокупность двух составляющих -- технических устройств, с помощью которых представляется учебная информация и собственно носителей информации: аудиовизуальные средства обучения, программные средства обучения и контроля знаний, тренажеры, комбинированные средства и др. [2].
Особую группу технических средств обучения составляют тренажеры, заменяющие реальные средства производства, которые невозможно или нецелесообразно использовать для целей обучения. Они предназначены для формирования умений и навыков путем многократных тренировок. Эту группу ТСО рационально подразделить по виду формируемых умений и навыков. По данному признаку можно выделить подгруппы тренажеров для формирования двигательного навыка, навыка слежения и координации (сенсомоторного), навыка идентификации различных объектов (процессов), процедурного навыка, навыка решения проблем, комбинированных навыков.
В настоящее время активно используется электронный видеопроектор (ЭВП). ЭВП -- устройство, позволяющее проецировать как статическое, так и движущееся изображение с компьютера, видеомагнитофона или видеокамеры на большой экран. Преимущества видеоинформации, предъявляемой ЭВП, в ее оперативности, возможности «обнажать» наиболее важное, существенное в учебном материале. Сочетание зрительного и звукового образа с научным комментарием создает предпосылки для овладения живым опытом во всем многообразии его проявления, вызывает всплеск эмоций, возбуждает интерес, активизирует мыслительную деятельность ученика [3].
Еще одним из средств повышения качества обучения являются обучающие программы (ОП), которые представляют собой совокупность теоретического, справочно-информационного, практического материала и заданий для тренинга, контроля и оценки знаний учащихся. Обучающая программа представляет информацию в виде текстового, графического изображения, а также звуковых и видеоэффектов, что способствует лучшему усвоению изучаемого материала. Обучающая программа содержит основную и дополнительную информацию по предмету, контекстные вопросы и тренировочные упражнения, вопросы и упражнения для тематического обобщения и повторения материала, развития эвристического мышления, контрольные вопросы и задания, направленные на проверку усвоения каждой темы, раздела и курса в целом.
Кроме этого, ОП, как и обычный учебник, должна содержать глоссарий базовых понятий по курсу, необходимый контекстный и внеконтекстный справочный материал, многоуровневые инструктивные материалы, облегчающие работу с ним. Главное отличие ОП от обычного учебника является качественно иная насыщенность иллюстративным материалом, видеороликами, звуковым сопровождением, интерактивность при соблюдении «дружественности» интерфейса, наличие «скрытого» методического аппарата, направленного на успешность обучения.
По ходу изучения теоретического материала вниманию пользователя предлагаются иллюстрации, графики, таблицы, анимированные рисунки, имеющие звуковое сопровождение, что способствует развитию таких важных качеств, как интуиция, образное мышление. Каждая тема содержит набор практических заданий различной степени сложности, тест для контроля усвоения знаний, перечень изучаемых терминов, их определение и пояснение, перечень учебных пособий и периодических изданий с информацией по данной теме. Обучающие программы предельно просты в использовании. Есть возможность вывести на печать необходимую информацию, быстро вернуться к любой теме, рисунку и т.д., работать в режиме самоконтроля и контроля учащихся со стороны преподавателя по каждой теме и по курсу в целом.
Обучающие программы имеют дидактические преимущества по сравнению с традиционным учебником:
- в технологии мультимедиа создается обучающая среда с ярким и наглядным представлением информации;
- осуществляется интеграция значительных объемов информации на едином носителе;
- представляется возможность выбора индивидуальной схемы изучения материала;
- осуществляется обратная связь через систему тестов, что позволяет корректировать процесс изучения материала.
В качестве примера рассмотрим функции и возможности обучающего комплекса по физике «PhysMaster». В данном программном комплексе содержаться функции и технологии, реализующие работу программы с информационной базой. База содержит перечень лекций, где информация подана в статической форме. Также содержится возможность прохождения тестов, где для вопроса предлагается четыре варианта ответов. Набор тестов ограничен тем набором, который предусмотрен по умолчанию. Взаимодействие с базой данных происходит исключительно на уровне использования и просмотра уже предварительно внесенной туда информации. Интерфейс посредственен.
Преимуществами разрабатываемого приложения перед всем остальным массивом программ данной тематики являются:
- красочные и создающие уникальный дизайн, элементы интерфейса, аналогов которым, в данной области, нет;
- организация прохождения тестов по запросам, где процесс тестирования проходит не в стандартной форме, а с использованием различных графических и визуализационных элементов;
- ведение подробной статистики пользователя, построение динамики уровня знаний;
- реализация пользовательского и административного режимов. Тесты и информация, хранимая в базе, не является статической. При необходимости, данные туда можно добавить используя административную панель;
- процесс обучения организован в динамической интерпретации.
Высокая оснащенность учебной, материально-технической базы учреждений НПО не только повышает качество профессионального обучения учащихся, но и позволяет сократить время, затрачиваемое на освоение конкретных умений и навыков, снижает затраты труда как преподавателей (мастеров производственного обучения), так и учащихся [4].
1.3 Обзор инструментария проектирования автоматизированного обучающего блока, его сравнительный анализ
В настоящее время существует множество языков и сред программирования, обладающими своими достоинствами и недостатками. Далее приведено описание и сравнительный анализ сред, пользующихся наибольшей популярностью.
1) «Pascal» -- данный язык программирования был разработан в качестве языка обучения с хорошими навыками и основам программирования, поскольку он требует очень дисциплинированный подход при написании кода. Паскаль не рассматривается в качестве сильного и мощного языка вроде C, C + + или Java. Он используется по сей день, но уже считается морально устаревшим. Несмотря на это он легок в изучении и прививает грамотность и навыки программирования.
2) «Delphi» -- это продукт Borland International» для быстрого создания приложений. Высокопроизводительный инструмент визуального построения приложений включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в «Microsoft Visual Basic» или в других инструментах визуального проектирования. В основе «Delphi» лежит язык «Object Pascal», который является расширением объектно-ориентированного языка «Pascal». «Delphi» производит небольшие по размерам (до 15-30 Кбайт) высокоэффективные исполняемые модули (.exe и .dll). С другой стороны небольшие по размерам и быстро исполняемые модули означают, что требования к клиентским рабочим местам существенно снижаются - это имеет немаловажное значение и для конечных пользователей.
3) «C++Builder» -- наиболее совершенная визуальная среда быстрой разработки на «C++» для «Windows». В ее состав входит около 200 самых различных компонентов, а создание законченной программы требует минимум усилий. Ближайший конкурент «Borland C++Builder» -- это не система «Microsoft Visual C++», которая построена по другой схема, а «Microsoft Visual Basic». Однако эффективность программ, создаваемых с помощью «С++ Builder», в десятки раз превосходит быстродействие программ, написанных на «MS Visual Basic». Да и по числу свободных доступных компонентов равных среде «C++ Builder» сегодня не найти.
Для реализации программного средства выбран язык программирования «C++ Builder», т.к. средствами описанной выше системы в полной степени можно осуществить необходимые для полноценного функционирования системы, возможности. Поэтому проект будет реализован именно в этой среде разработки.
У этой системы есть прямой аналог -- среда «Borland Delphi», технология работы с которой полностью совпадает с технологией, принятой в «C++Builder». Только в «Delphi» программный код пишется не на языке «C++», а на объектно-ориентированной версии «Паскаля» -- «ObjectPascal». Но в «Borland C++Builder» позволительно писать программу при желании одновременно и на «C++», и на «Паскале».
Вместо отдельного инструментария, оперирующего визуальными элементами управления, в «C++Builder» интегрирована так называемая Палитра компонент, разделенная картотечными вкладками на несколько функциональных групп. Функциональные возможности поставляемых компонент можно достаточно просто модифицировать, а также разрабатывать компоненты, обладающие совершенно новым оригинальным поведением.
Система содержит Библиотеку из более 100 повторно используемых визуальных компонент, которые перетаскиваются мышью на форму и сразу становятся элементами управления прототипа программы. Помимо известных элементов управления «Windows» (кнопки, линейки прокрутки, поля редактирования, простые и комбинированные списки и т.д.) Библиотека содержит новые компоненты поддержки диалогов, обслуживания баз данных и многие другие .
«C++Builder» поддерживает основные принципы объектно-ориентированного программирования -- инкапсуляцию, полиморфизм и множественное наследование, а также нововведенные спецификации и ключевые слова в стандарте языка «C++».
«C++Builder» обеспечивает высокое быстродействие при компиляции и сборке 32-разрядных приложений, включая OLE взаимодействие клиент-сервер. Система даже отображает время, затраченное на основные этапы построения программ. Результирующие программы хорошо оптимизированы по скорости исполнения и затратам памяти. Хотя отладочный режим низкого уровня полностью интегрирован в среду «C++Builder», к отладке также придется привыкать. Инспектор объектов и другие средства остаются доступными во время работы программы, поэтому вносить изменения можно в процессе отладки
«C++ Builder» поддерживает связь с различными базами данных 3-х видов: «dBASE» и «Paradox»: «Sybase», «Oracle», «InterBase» и «Informix»; «Excel», «Access», «FoxPro» и «Btrieve». Механизм BDE (Borland Database Engine) придает обслуживанию связей с базами данных удивительную простоту и прозрачность. Проводник «Database Explorer» позволяет изображать связи и объекты баз данных графически.
Благодаря средствам управления проектами, двусторонней интеграции приложения и синхронизации между средствами визуального и текстового редактирования, а также встроенному отладчику (с ассемблерным окном прокрутки, пошаговым исполнением, точками останова, трассировкой и т.п.) -- «C++ Builder» корпорации «Borland» предоставляет собой впечатляющую среду разработки.
Для проектирования БД выбран «MS ACCESS», который настоящее время является одним из популярных настольных программных систем управления базами данных. Среди причин такой популярности стоит отметить:
1) высокую степень универсальности и продуманности интерфейса, который рассчитан на работу с пользователями самой различной квалификации. В частности реализована система управления объектами базы данных, позволяющая гибко и оперативно переходить из режима конструирования в режим их непосредственной эксплуатации;
2) глубоко развитые возможности интеграции с другими программными продуктами, входящими в состав «MS Office», а также с любыми программными продуктами, поддерживающими технологию «OLE».
«MS Access» -- высокопроизводительная система управления реляционными базами данных, которая входит в состав профессиональной версии интегрированного пакета «Microsoft Office».
Данная СУБД предназначена для разработки настольных баз данных и создания приложений баз данных архитектуры «клиент-сервер», работающих под управления операционных систем семейства «Windows». Эта система доступна для пользователя любого уровня. Она работает с объектами, к которым относятся таблицы, запросы, формы, отчеты, модули. Все связанные между собой объекты организованны в один файл, называемый базой данных [5].
обучающий информационный интерфейс
2. Функциональное моделирование, разработка и проектирование алгоритма обучающего блока
2.1 Функциональная модель обучающего блока
Методология IDEF0 представляет собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель IDEF0 отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями.
Функциональная декомпозиция - базируется на анализе функций системы. При этом возникает вопрос, о том что выполняет система, независимо от того, как она функционирует. Основанием разбиения на функциональные подсистемы служит общность функций, выполняемых группами элементов [6].
На начальной стадии моделирования, в первую очередь, необходимо рассмотреть общую функциональную схему. Общая функциональная схема представлена на рисунке 2.1
Рисунок 2.1 -- Общая функциональная схема ПС «Обучающий блок»
На данной схеме показано, что входными параметрами являются:
логин и пароль пользователя;
статус пользователя;
оцифрованные учебные пособия;
ТБД «Пользователи»;
ТБД «Главы»;
ТБД «Темы»;
ТБД «Подтемы»;
ТБД «Пункты»;
ТБД «ЗапросТест»;
ТБД «ЗапросТестВопросы»;
ТБД «СтатистикаЗапросТеста»;
ТБД «СтандартТест»;
ТБД «СтандартТестВопросы»;
ТБД «СтатистикаСтандартТеста»;
К стратегиям управления будут относиться учебный план и методы оценки и контроля знаний. Ресурсом для проведения работы являются как администраторы, так и пользователи. В результате работы спроектированной системы на выходе будут получены:
- локальная статистика и динамика и уровня знаний;
- набор новых учебных материалов;
- набор новых тестов и их вариантов;
- распечатанный учебный материал.
Для более детального рассмотрения функций, выполняемых разрабатываемым программным средством, была произведена декомпозиция общей функциональной схемы на 5 блоков.
На начальном этапе необходимо пройти авторизацию. Для этого пользователю необходимо ввести свой логин и пароль, зарегистрированный ранее. В случае, если программа запускается впервые, перед авторизацией необходимо зарегистрироваться, указав свой новый логин и пароль. После чего необходимо выбрать режим работы с программой. В зависимости от сделанного выбора пользователь изучает учебный материал и при необходимости выводит информацию в печатный вид, либо проверяет уже полученные знания с помощью системы тестов различного вида. В случае если пользователь имеет статут администратора, он имеет доступ в административную панель, где есть возможность создавать новые тесты и варианты к ним, а также редактировать и удалять как обычные тесты, так и тесты по запросам. Кроме того, в данной панели можно зарегистрировать новых администраторов и добавлять новые категории и информацию в обучающую часть программного средства. Отличие администраторов от обычных пользователей заключаются лишь в наличии управляющей панели у первых. Используя полученные результаты от прохождения тестов, для пользователя строится и формируется личная статистика и динамика уровня полученных знаний, как в виде статической информации, так и виде графиков. Статистика выводится для каждого теста в отдельности. Пользователю предоставляется возможность самому выбрать, по какому, уже пройденному тесту, выводить динамику.
Декомпозиция общей функциональной схемы представлена в приложении А.
2.2 Алгоритм работы обучающего блока
Алгоритм -- это конечный набор четких, недвусмысленных инструкций, следуя которым можно по входным данным определенного вида получать на выходе некоторый результат. Он представляет собой, так называемую блок-схему, отображающую последовательность операций в программе, описывая алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями [7].
На основе функциональной модели и диаграммы потоков данных (приложение Б) был построен алгоритм работы разрабатываемого приложения. Алгоритм подробно описывает все процессы, происходящие в обучающем блоке, указывает на входные и выходные данные. Краткое описание действий, представленных в блок-схеме, соответствует описанию функциональной модели ПС.
Для начала происходит процесс авторизации и регистрации, после чего, в алгоритме описываются блоки обучения, тестирования, статистики и администрирования, которые в свою очередь также разбиваются на отдельные функциональные блоки, в которых детально описаны все операции, происходящие во время выполнения функций, описанных выше.
Развернутая схема алгоритма работы программы представлена в графической части, на листе 1.
2.3 Проектирование лингвистического обеспечения обучающего блока
Лингвистическим обеспечением автоматизированной системы является совокупность языковых средств, используемых в автоматизированных системах, а также правил формализации естественного языка в целях повышения эффективности машинной обработки информации.
При запуске основных функциональных блоков пользователю будут предложены поля и элементы управления функциями, которые будут подписаны и расположены в удобном для использования порядке. Для функции, выполнение которых требует соблюдения определенной очередности вводимых данных, реализована поэтапная организация активизации необходимых полей для ввода. В случае возникновения затруднений в работе с некоторым функционалом программы, реализована интерактивная справка, в которой наглядно отображаются принципы работы с приложением.
Пользователь будет оповещен об отсутствии запрашиваемых данных или не корректно введенной информации до того, как эти данные будут использованы в качестве основных параметров при выполнении каких-либо функций.
В качестве предупреждения выступают диалоги стандартного вида, реализованные по средствам стандартных функций и методов среды программирования «C++Builder». Далее приведены общие ситуации, которые могут возникнуть при ошибочных действиях пользователя, что, в свою очередь, может привести к критическим последствиям в работе автоматизированной системы:
- в случаях ввода некорректных или нелогичных данных;
- в случаях, когда не указаны данные, необходимые для выполнения определенных функций;
- при отсутствии базы данных в одном каталоге с исполняемым файлом;
- в случаях ввода повторяющихся имен и названий;
- в случаях закрытия приложения на этапах, когда данные могут быть утеряны из-за завершения работы приложения.
Там, где это было возможно, реализованы принципы и ограничения, которые априори препятствуют возникновению ошибочных ситуаций. К примеру, запрет ввода текстовой информации в поля, где необходимо числовое значение.
Таким образом, реализованное лингвистическое обеспечение позволяет пользователю легче ориентироваться в интерфейсе, привыкнуть к нему, и, тем самым, осуществлять более быструю работу в приложении.
3. Описание структуры и технологии разработки обучающего блока
3.1 Описание структуры обучающего блока
На основе функциональной модели была сформирована структура обучающего блока по дисциплине «Базы данных и системы управления базами данных», представленная несколькими взаимосвязанными блоками, каждый из которых поддерживает свой режим работы.
Основными блоками обучающей системы являются: блок регистрации и авторизации; блок обучения; блок администрирования; блок тестирования; блок динамики и статистики; блок вывода результатов тестов.
Структурная схема представлена на рисунке 3.1.
Рисунок 3.1 -- Структурная схема обучающего блока
Блок регистрации и авторизации обеспечивает возможность работы программы с конкретным пользователем посредством создания индивидуальных аккаунтов, которые для сохранения конфиденциальности защищены паролем. После успешной регистрации и авторизации пользователь получает доступ к блоку обучения, тестирования, статистики, и, в зависимости от наличия или отсутствия административных прав, к блоку администрирования.
Блок обучения содержит категории (главы, темы, подтемы, пункты), организованные в виде дерева и участок вывода графической и текстовой обучающей информации, которая выводится при нажатии на определенный элемент дерева. Данные о категориях и их наименования содержаться в базе данных и выстраиваются в организованное дерево автоматически, учитывая все ответвления и уровни. Блок реализует такие этапы учебного процесса, как изучения нового материала, закрепление и совершенствование знаний, их обобщение и систематизацию.
Блок тестирования организовывает процесс контроля и коррекции знаний, умений и навыков. Он содержит два вида тестов, которые организованы различным образом, имеют разную направленность и ориентированы на различные области изучаемой дисциплины. Тесты представлены на различные темы, и, как правило, имеют несколько вариантов и различную методику измерения и оценки знаний, обеспечивающие достоверные и сопоставимые данные об учебных достижениях пользователя.
Пройдя тест, пользователь переходит в блок вывода результатов, где может получить полную сводку о своих результатах, такую как: количество верных и неверных ответов, организованных маркированным списком; время прохождения теста; итоговая отметка.
Блок динамики и статистики формирует для пользователя информацию обо всех пройденных им тестах. Информация выстраивается в виде графиков, которые выстраиваются в зависимости от отметок, полученных пользователем во время неоднократного прохождения одного и того же теста. Кроме того, блок содержит и общую информацию о пользователе, такую как его статус, логин, количество прохождений выбранного теста.
Блок администрирования доступен лишь пользователям, которые имеют статус администратора. Здесь содержатся все элементы управления программой, как на информационном уровне, так и на общеорганизационном. Блок позволяет добавлять, редактировать и удалять различные виды тестов, информацию и создавать новые административные учетные записи.
Блоки носят полностью автономный характер и имеют свое логическое начало и завершение. При работе в каждом из перечисленных выше режимов программы пользователю предоставляется свой интуитивно понятный интерфейс.
3.2 Состав и организация информационного обеспечения обучающего блока
Информационное обеспечение разрабатываемой программы обуславливается организацией ее информационной базы. От того, насколько тщательно проведен анализ и насколько грамотно спроектирована БД, в существеннейшей мере зависит эффективность будущего программного средства.
На этапе анализа необходимо подробное изучение, как будущих функциональных возможностей разрабатываемой системы, так и исходной информации, необходимой для их выполнения.
На основе анализа предметной области, функциональной модели и структуры разрабатываемой программы, а также потоков данных и изучения требований, предъявляемых к обучающим программам, была построена реляционная схема базы данных, в которой выявлены следующие сущности:
- пользователи;
- главы;
- темы;
- подтемы;
- пункты;
- стандарт Тест;
- стандарт ТестВопросы;
- стандарт ТестСтатистика;
- запрос Тест;
- запрос ТестВопросы;
- запрос ТестСтатистика.
Реляционная модель состоит из 11 связанных между собой сущностей, которые имеют свои атрибуты, первичные и вторичные ключи. Между таблицами установлены отношения «один-ко-многим». С помощью метода декомпозиции, модель была приведена к третьей нормальной форме. Это было достигнуто поэтапно, был произведен анализ многозадачных атрибутов, выявлены функциональные зависимости атрибутов, зависящие от части уникального идентификатора, выяснены зависимости атрибутов от атрибутов. Результатом чего были исключены повторяющиеся атрибуты, добавлены новые объектные множества, значительно сократилась вероятность появления противоречивых данных, облегчилось администрирование базы и обновление информации в ней.
Для индексирования таблиц, ускорения поиска, исключения записи неуникальных данных каждая таблица содержит поле типа «ID», которые являются ключевыми [8].
Полномасштабная модель базы данных представлена в приложении Б.
Далее приведено описание таблиц спроектированной информационной базы данных.
Во всех описанных ниже таблицах соблюдены и выполнены все необходимые декларативные ограничения. Поля ограничены как размером, так и типом хранимой информации. Это необходимо, в первую очередь, для исключения возникновения ошибок при вводе и редактировании данных в базе [9].
Таблица «Пользователи» предназначена для создания, обновления и хранения списка логинов всех пользователей, которые когда-либо пользовались программным средством. Каждому из них присвоен свой идентификационный номер. Ее структура и назначение полей представлены в таблице 3.1.
Таблица 3.1 -- Структура таблицы БД «Пользователи»
Название поля |
Тип поля |
Описание |
|
IDПользователя |
Целое |
Уникальный идентификатор пользователя, ключевое поле |
|
Логин |
Текстовый (255) |
Имя пользователя, указываемое при авторизации |
Ключевое поле связано с таблицами «СтатистикаЗапросТеста» и «СтатистикаСтандартТеста», где результаты прохождения тестов соотносятся с необходимым пользователем.
Таблица «Главы» содержит список всех глав, на которые делится учебный материал, предлагаемый обучающим блоком. Каждой главе присвоен свой файл с необходимой лекцией. Ее структура и назначение полей приведены в таблице 3.2.
Таблица 3.2 -- Структура таблицы БД «Главы»
Название поля |
Тип поля |
Описание |
|
IDГлавы |
Целое |
Уникальный идентификатор главы, ключевое поле |
|
Наименование Главы |
Текстовый (255) |
Название главы |
|
Имя Файла |
Текстовый (255) |
Наименование *html файла, в котором хранится обучающая информация по текущей главе |
Ключевое поле связано с таблицей «Темы», где каждой главе соответствует свой перечень тем.
Таблица «Темы» содержит список всех тем, на которые делятся главы учебного материала. Каждой теме присвоен свой файл с необходимой лекцией и отмечено наличие для нее теста определенного вида. В таблице 3.3 представлены ее структура и назначение полей.
Таблица 3.3 -- Структура таблицы БД «Темы»
Название поля |
Тип поля |
Описание |
|
IDТемы |
Целое |
Уникальный идентификатор темы, ключевое поле |
|
IDГлавы |
Целое |
Уникальный идентификатор главы |
|
Наименование Темы |
Текстовый (255) |
Название темы |
|
Имя Файла |
Текстовый (255) |
Наименование *html файла, в котором хранится обучающая информация по текущей теме |
|
Запрос Тест |
Логический |
Наличие или отсутствие теста по запросам по данной теме |
|
Стандарт Тест |
Логический |
Наличие или отсутствие стандартного теста по данной теме |
Ключевое поле связано с таблицами «Подтемы», «СтандартТест» и «ЗапросТест», где каждой теме соответствует свой перечень подтем, стандартных тестов и тестов по запросам.
Таблица «Подтемы» содержит список всех подтем, на которые делятся темы. Таблица «Пункты», в свою очередь, содержит список пунктов, на которые подразделяются сами подтемы. Каждой подтеме и каждому пункту присвоен свой файл с необходимой лекцией. В таблицах 3.4 и 3.5 представлены структуры и назначения полей описанных выше таблиц.
Таблица 3.4 -- Структура таблицы БД «Подтемы»
Название поля |
Тип поля |
Описание |
|
ID Подтемы |
Целое |
Уникальный идентификатор подтемы, ключевое поле |
|
IDТемы |
Целое |
Уникальный идентификатор темы |
|
Наименование Подтемы |
Текстовый (255) |
Название подтемы |
|
Имя Файла |
Текстовый (255) |
Наименование *html файла, в котором хранится обучающая информация по текущей подтеме |
Таблица 3.5 -- Структура таблицы БД «Пункты»
Название поля |
Тип поля |
Описание |
|
IDПункта |
Целое |
Уникальный идентификатор пункта, ключевое поле |
|
ID Подтемы |
Целое |
Уникальный идентификатор подтемы |
|
Наименование Пункта |
Текстовый (255) |
Название пункта |
|
Имя Файла |
Текстовый (255) |
Наименование *html файла, в котором хранится обучающая информация по текущему пункту |
Данные таблицы связаны между собой и напрямую взаимодействуют с таблицами «Главы» и «Темы». Используя информацию из данных таблиц, организована обучающая часть программного средства.
Таблицы «ЗапросТест» и «СтандартТест» содержат перечень созданных стандартных тестов и тестов по запросам, их тему и название. Их структуры и назначение полей приведены в таблицах 3.6 и 3.7.
Таблица 3.6 -- Структура таблицы БД «ЗапросТест»
Название поля |
Тип поля |
Описание |
|
ID Запрос Теста |
Целое |
Уникальный идентификатор теста по запросам, ключевое поле |
|
ID Темы |
Целое |
Уникальный идентификатор темы |
|
Название Теста |
Текстовый (255) |
Наименование теста по запросам |
Таблица 3.7 -- Структура таблицы БД «СтандартТест»
Название поля |
Тип поля |
Описание |
|
IDСтандарт Теста |
Целое |
Уникальный идентификатор стандартного теста, ключевое поле |
|
IDТемы |
Целое |
Уникальный идентификатор темы |
|
Название Теста |
Текстовый (255) |
Наименование стандартного теста |
Ключевое поле таблицы «ЗапросТест» связано с таблицами «СтатистикаЗапросТеста» и «ЗапросТестВопросы», а ключевое поле таблицы «СтандартТест», в свою очередь, связано с таблицами «СтатистикаСтандартТеста» и «СтандартТестВопросы», где тестам ставится в соответствие перечень вопросов и статистические данные.
Таблицы «ЗапросТестВопросы» и «СтандартТестВопросы» предназначены для хранения и управления вопросами для тестов выбранного типа. Для вопросов указаны их балловые стоимости, варианты ответов для стандартных тестов, используемые операторы для тестов по запросам, верные ответы и, при желании, графические приложения. Структуры и назначение полей описанных выше ТБД приведены в таблице 3.8 и 3.9.
Таблица 3.8 -- Структура таблицы БД «ЗапросТестВопросы»
Название поля |
Тип поля |
Описание |
|
IDЗапросВопроса |
Целое |
Уникальный идентификатор вопроса для теста по запросам, ключевое поле |
|
IDТемы |
Целое |
Уникальный идентификатор темы |
|
IDЗапросТеста |
Целое |
Уникальный идентификатор теста по запросам |
|
Предметная область |
Текстовый (255) |
Общая предметная область для заданного вопроса |
|
Вопрос |
Текстовый (255) |
Задаваемый вопрос |
|
INSERT |
Логический |
Наличие или отсутствие оператора INSERT в ответе на заданный вопрос |
|
SELECT |
Логический |
Наличие или отсутствие оператора SELECT в ответе на заданный вопрос |
|
DELETE |
Логический |
Наличие или отсутствие оператора DELETE в ответе на заданный вопрос |
|
UPDATE |
Логический |
Наличие или отсутствие оператора UPDATE в ответе на заданный вопрос |
|
WHERE |
Логический |
Наличие или отсутствие оператора WHERE в ответе на заданный вопрос |
|
Верный ответ |
Текстовый(255) |
Верно составленный запрос по заданному вопросу |
|
ЦенаВопроса |
Десятичное |
Получаемый балл за верный ответ на текущий вопрос |
|
Приложение |
OLE |
Графическое приложение к вопросу |
Таблица 3.9 -- Структура таблицы БД «СтандартТестВопросы»
Название поля |
Тип поля |
Описание |
|
IDСтандартВопроса |
Целое |
Уникальный идентификатор вопроса для стандартного теста, ключевое поле |
|
IDЗапросТеста |
Целое |
Уникальный идентификатор теста по запросам |
|
Предметная область |
Текстовый (255) |
Общая предметная область для заданного вопроса |
|
Вопрос |
Текстовый (255) |
Задаваемый вопрос |
|
Вариант1 |
Текстовый (255) |
Первый вариант ответа на заданный вопрос |
|
Вариант2 |
Текстовый (255) |
Второй вариант ответа на заданный вопрос |
|
Вариант3 |
Текстовый (255) |
Третий вариант ответа на заданный вопрос |
|
Вариант4 |
Текстовый (255) |
Четвертый вариант ответа на заданный вопрос |
|
Вариант5 |
Текстовый (255) |
Пятый вариант ответа на заданный вопрос |
|
Вариант6 |
Текстовый (255) |
Шестой вариант ответа на заданный вопрос |
|
Верный ответ |
Текстовый(255) |
Верный ответ на заданный вопрос |
|
ЦенаВопроса |
Десятичное |
Получаемый балл за верный ответ на текущий вопрос |
|
Приложение |
OLE |
Графическое приложение к вопросу |
Таблицы «СтатистикаЗапросТеста» и «СтатистикаСтандартТеста» накапливают в себе данные о результатах прохождения тестов для каждого пользователя. Их структуры и назначения полей представлены в таблицах 3.10 и 3.11.
Таблица 3.10 -- Структура таблицы БД «СтатистикаЗапросТеста»
Название поля |
Тип поля |
Описание |
|
IDПользователя |
Целое |
Уникальный идентификатор пользователя |
|
IDЗапросТеста |
Целое |
Уникальный идентификатор теста по запросам |
|
Оценка |
Десятичное |
Отметки, получаемые пользователем за прохождение тестов по запросам |
Таблица 3.11 -- Структура таблицы БД «СтатистикаСтандартТеста»
Название поля |
Тип поля |
Описание |
|
IDПользователя |
Целое |
Уникальный идентификатор пользователя |
|
IDСтандартТеста |
Целое |
Уникальный идентификатор стандартного теста |
|
Оценка |
Десятичное |
Отметки, получаемые пользователем за прохождение стандартных тестов |
Проанализировав реляционную структуру базы данных можно сделать вывод о ее достаточности для обеспечения работоспособности разрабатываемого программного средства, пригодности для сбора и хранения информации, обеспечения надежности и целостности данных [10].
3.3 Разработка графического интерфейса
Ключевым средством взаимодействия пользователя с программой является графический пользовательский интерфейс (Graphical User Interface, GUI). GUI любого программного продукта является одним из ключевых факторов его популярности.
Создание грамотного пользовательского интерфейса -- процесс трудоемкий и требующий максимального внимания к деталям. Создаваемый интерфейс должен максимально реализовывать возможности программы, но вместе с тем не перегружать пользователя обилием меню, кнопок, изображений и текста.
На практике программирование Windows-приложений предполагает экстенсивное использование различных инструментальных средств и мастеров. Таким образом, учитывая стандарты выбранной операционной системы, программное средство будет иметь оконный интерфейс. Это обусловлено, прежде всего, тем, что окна являются основными элементами графического интерфейса в операционных системах (ОС) семейства «Windows». Они представляют собой прямоугольные области, которые имеют свои настройки, свойства и типы [11].
Графическая часть обучающего блока включает в себя окна четырех типов:
- главное окно -- содержит все элементы навигации по программе, а также дополнительную информацию, необходимую для удобства работы с ПС;
- окна управления информационной базой -- включают в себя все элементы управления информационной составляющей программного средства. Они обеспечивают добавление тестов, информации, новых пользователей и администраторов, позволяют манипулировать вновь созданными или уже существующими данными;
- окна работы с программными возможностями -- обеспечивают работу с основными функциями обучающего блока, такими как прохождение тестов и изучение лекций;
- окна вывода информации и статистики -- служат для вывода информации различного вида, а также статистики и графиков.
Главное окно программы будет содержать следующие элементы управления и вывода информации:
- заголовок окна, который содержит название программы и назначение окна;
- кнопки системного меню, которые отвечают за изменение размера, минимизацию и закрытие программы;
- область названия окна, которая носит исключительно функцию украшения и необходима для соответствия общему дизайн-решению;
- область приветствия;
- область вывода дня недели, текущей даты и времени;
- пользовательская панель инструментов, содержащая кнопки для доступа к основным функциям программы;
- административная панель, включает в себя кнопку для доступа к административным элементам управления ПС;
- строка состояния, отображающая информацию обо всех режимах работы программы.
Схема главного окна графического интерфейса (вид окна для административной учетной записи) представлена на рисунке 3.2
Рисунок 3.2 -- Схема главного окна графического интерфейса: 1 -- заголовок окна; 2 -- кнопки системного меню; 3 -- область названия окна; 4 -- строка состояния; 5 -- область приветствия; 6 -- область вывода дня недели, даты и времени; 7 -- административная панель; 8 -- пользовательская панель; 9 -- кнопка для доступа к стадии обучения; 10 -- кнопка для доступа к стадии тестирования; 11 -- кнопка для вывода статистики и графиков; 12 -- выход; 13 -- кнопка для доступа в административную часть приложения
Учитывая направленность разрабатываемого программного средства, было разработано несколько нестандартных графических решений с целью привлечения внимания и большей заинтересованности в приложении. Кроме того, это позволяет получить некоторого рода индивидуальность среди остального массива программ схожей тематики и направленности.
Одним из таких решений можно назвать красочные и создающие уникальный дизайн, элементы интерфейса, аналогов которым, в данной области, нет. Речь идет об анимированных вставках, основанных на flash-анимации. С помощью них реализован дизайн названий всех главных функциональных окон, элементов навигации, интерфейс формы регистрации и авторизации. Основными преимуществами данной разработки являются: реализация приятного и дружественного интерфейса; существенное упрощение использования программы, как на пользовательском, так и на административном уровне.
Еще одним из основных преимуществ среди программ-аналогов, как в программной, так и в графической реализации, является организация прохождения тестов по запросам. Чтобы пройти тест данного типа пользователю необходимо собирать SQL-запросы из отдельных, самостоятельных элементов. В зависимости от вида запроса, который необходимо составить исходя из условий предложенного задания, формируется определенный полигон для сборки. Полигон содержит поля для подстановки операторов, которые перетягиваются в них мышью из отдельного блока, и полей ввода названия таблиц, полей и условий.
Статистика пользователя реализована в виде графиков, которые выстраивается в зависимости от полученных им результатов. Для каждого теста выстраивается своя динамика. Графики содержат все необходимые подписи, реализованы с помощью компонента TChart, в связи с чем имеют массу элементов управления, которые встроены в компонент по умолчанию и как следствие реализованы в приложении.
Также, для более дружественной визуализации были заменены стили заголовков таблиц, вместо тех, что реализованы в среде разработке по умолчанию.
Таким образом, реализованные графические решения позволили добиться того результата, который предусматривается самой идеей проектирования GUI. Созданный интерфейс максимально реализовывает возможности программы, но вместе с тем не перегружает пользователя обилием меню, кнопок, изображений и текста.
3.4 Описание использованных компонентов
Библиотека визуальных компонент, или VCL (Visual Component Library) позволяет визуально создавать программные приложения, не прибегая к кодированию классов "вручную", или кодированию в рамках стандартных библиотек MFC (Microsoft Foundation Class), или OWL (Object Windows Library).
Библиотека VCL интегрирована в среду C++Builder, что, в отличие от других систем программирования, позволяет манипулировать классами визуальных компонент при проектировании приложения, на стадии создания его прототипа. Поведение и вид ваших компонент определяются по мере разработки приложения, хотя можно модифицировать их и в процессе выполнения программы.
Для разработчика компоненты представляют собой объекты на C++. Некоторые компоненты инкапсулируют поведение типовых элементов управления, предоставляемых операционными системами «Windows». Другие компоненты вводят совершенно новые видимые и невидимые элементы, программный код которых полностью определяет их поведение.
В ходе разработки были использованы следующие компоненты:
1) компонент «TImage». Он дает возможность отображения на форме графического изображения. Во время проектирования с помощью данного компонента были реализованы некоторые элементы интерфейса, а также вывод графических приложений к вопросам тестов;
2) компонент «TTimer». Cлужит для инициирования какого-либо события через определенные интервалы времени. В разрабатываемой системе данный компонент служит для отсчета времени в блоке тестирования и управления воспроизведением flash-роликов;
3) компоненты для работы с базами данных:
а) компонент «TADOQuery». Он применяется для выполнения произвольных запросов SQL. Это могут быть запросы просмотра данных SELECT и запросы изменения данных INSERT, DELETE, UPDATE, ALTER TABLE, CREATE TABLE. В разрабатываемом ПС он служит для выборки, добавления, редактирования и удаления данных из базы данных;
Подобные документы
Выполнение операций, хранения, редактирования, систематизации данных. Рассмотрение подсистем разрабатываемой системы управления базами данных продуктового магазина. Разработка алгоритма функционирования системы и приложения для работы с базой данных.
курсовая работа [399,1 K], добавлен 26.08.2019Классификация баз данных. Выбор системы управления базами данных для создания базы данных в сети. Быстрый доступ и получение конкретной информации по функциям. Распределение функций при работе с базой данных. Основные особенности иерархической модели.
отчет по практике [1,2 M], добавлен 08.10.2014Разработка приложения для работы с базой данных, с использованием объектно-ориентированного и визуального программирования. Проектирование физической структуры базы данных. Программная реализация, процесс взаимодействия пользователя с приложениями.
курсовая работа [1,5 M], добавлен 31.01.2016Схема взаимодействия подразделений предприятия. Выбор и обоснование технологии проектирования базы данных. Описание объектов базы данных. Разработка запросов на выборку, изменение, обновление и удаление данных. Интерфейсы взаимодействия с базой данных.
курсовая работа [1,4 M], добавлен 25.05.2023Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.
курсовая работа [7,8 M], добавлен 13.02.2023Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.
курсовая работа [4,3 M], добавлен 30.06.2015Проектирование базы данных Access. Система управления базами данных. Создание и обслуживание базы данных, обеспечение доступа к данным и их обработка. Постановка задач и целей, основных функций, выполняемых базой данных. Основные виды баз данных.
лабораторная работа [14,4 K], добавлен 16.11.2008Появление системы управления базами данных. Этапы проектирования базы данных "Строительная фирма". Инфологическая и даталогическая модель данных. Требования к информационной и программной совместимости для работы с базой данных "Строительная фирма".
курсовая работа [93,0 K], добавлен 31.03.2010Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.
курсовая работа [1,7 M], добавлен 04.06.2015Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.
курсовая работа [1,5 M], добавлен 23.01.2010