Федеральное агентство по образованию РФ
ГОУ ВПО «Брянский государственныйуниверситет имени академика И.Г. Петровского»
Социально-экономический институт
Финансово-экономический факультет
Кафедра автоматизированных информационныхсистем и технологий
КУРСОВАЯ РАБОТА
по дисциплине «Разработка и применениепакетов прикладных программ»
на тему:
Автоматизированная обучающая система подисциплине «Программирование»
Брянск2010
/>/>/>/>/>Содержание
Введение
1. Аналитическая часть
1.1 Описание предметной области
1.2 Описание и сравнение программ-аналогов
2. Техническое задание
3. Конструкторская часть
3.1 Постановка задачи
3.2 Выбор инструментальных средств и языка разработки
3.3 Функциональная схема
3.4 Алгоритм работы программы
3.5 Проектирование интерфейса
4. Эксплуатационная часть
4.1 Требования к вычислительной системе
4.2 Установка программного продукта
4.3 Инструкция по эксплуатации
4.4 Демонстрационная часть работы продукта
5. Экспериментальная часть
6. Экономическая часть
6.1 Определение вида и длительности работ
6.2 Определение заработной платы исполнителей
6.3 Составление сметы затрат
6.4 Расчет предполагаемой прибыли
6.5 Экономическая целесообразность разработки
Заключение
Списоклитературы
Приложение
Введение
Постоянное увеличениеобъема информации и ограниченность учебного времени обуславливают необходимостьинтенсификации обучения, разработки и внедрения нетрадиционных технологий,базирующихся на использовании вычислительной техники с применением активныхметодов обучения во всем их разнообразии и комплексности. Реализация активныхметодов обучения – одна из основных задач дидактики, которая предполагаетактивизацию всего процесса, выявление системы, способов, приемов,способствующих повышению активности обучаемых через формирование положительноймотивационной структуры учебно-познавательной деятельности [12].
Лекционно-семинарнаяформа обучения давно потеряла свою эффективность — практика доказала, что почти50% учебного времени тратится впустую. Изучая зарубежный опыт, можно выделитьследующий важный аспект: преподаватель выступает не в роли распространителяинформации (как это традиционно принято), а в роли консультанта, советчика,иногда даже коллеги обучаемого [9].
Это дает некоторыеположительные моменты: студенты активно участвуют в процессе обучения,приучаются мыслить самостоятельно, выдвигать свои точки зрения, моделироватьреальные ситуации.
Развитие информационныхтехнологий предоставило новую, уникальную возможность проведения занятий свнедрением автоматизированных обучающих систем по дисциплинам в вузах. Она,во-первых, позволяет самому обучаемому выбрать и время и место для обучения,во-вторых, дает возможность использовать в обучении новые информационныетехнологии, в-четвертых, в определенной степени сокращает расходы на обучение.С другой стороны, внедрение в образование новых автоматизированных обучающихсистем усиливает возможности индивидуализации обучения [11].
Достоинствамиавтоматизированных обучающих систем (АОС), являются: во-первых, их мобильность,во-вторых, доступность связи с развитием компьютерных сетей, в-третьих,адекватность уровню развития современных научных знаний. С другой стороны,создание АОС способствует также решению и такой проблемы, как постоянноеобновление информационного материала. В них также может содержаться большоеколичество упражнений и примеров, подробно иллюстрироваться в динамикеразличные виды информации. Кроме того, при помощи АОС осуществляется контрользнаний — компьютерное тестирование [15].
В настоящее времятрадиционные подходы в области преподавания информатики и программирования ввузе не способны отследить быстроменяющуюся действительность в областиинформационных технологий, связанную с бурным развитием вычислительной техники,операционных систем, парадигм программирования, организацией, анализом,представлением информации и обеспечением доступа к ней, в том числе и в сетях.
Выход из создавшегосяположения видится в несколько иной расстановке акцентов, как на принципыобучения, так и на сам процесс и условия обучения, позволяющие не только и нестолько учить в прямом смысле этого слова, сколько помогать учиться,организовать процесс обучения так, чтобы развивались не только практическиенавыки в области информатики и программирования, но и соответствующеемировоззрение и творческий потенциал, позволяющие будущему специалисту сминимальными затратами осуществлять доступ к требуемым информационным ресурсам(в том числе и мировым), самостоятельно адаптироваться к действительности,определяемой появлением новых парадигм, сред и инструментальных средств [13].
Цель: создатьавтоматизированную обучающую систему по дисциплине «Программирование» длястудентов ВУЗов.
Задачи:
1. Изучить ипроанализировать предметную область.
2. Изучить исравнить программы-аналоги.
3. Обобщить исистематизировать материал для автоматизированной обучающей системы.
4. Написатьтехническое задание к проекту.
5. Разработатьавтоматизированную обучающую систему, протестировать, провести экспериментыисключительных ситуаций.
6. Провестиэкономический анализ эффективности проектного решения.
Источниками информациипри написании курсовой работы служили учебные пособия для вузов, нормативныедокументы, электронные ресурсы сети Интернет.
Методы исследования:
1. Методматематического моделирования.
2. Монографическийметод.
3. Методэкономического анализа.
4. Экспериментальныйметод.
5. Аналитическийметод.
6. Синтетическийметод.
Курсовая работанасчитывает 46 страниц основного текста, 26 рисунков, -4 таблицы и 7 формул.
1. Аналитическая часть
1.1 Описание предметной области
В данной курсовой работе требуетсяавтоматизировать процесс обучения студентов по дисциплине «Программирование». Дляописания предметной области воспользуемся диаграммой IDEF0, составленной в программе AllFusion Process Modeler R7.
/>
Рисунок 1.1. Описание предметнойобласти IDEF0 диаграмма №1
На рисунке 1.1 рассмотренучебный процесс изучения курса программирования в вузе. Этот процессрегламентируется учебной программой курса и учебным планом. Обучение ведетсяпод контролем преподавательского состава, которому оказывается помощь состороны учебно-вспомогательного персонала (лаборанты и мастерапроизводственного обучения). Также в процессе обучения задействованы программныеи технические средства. В качестве итогового испытательного мероприятиявыступает экзамен, позволяющий оценить уровень облученности студента. По результатам сдачи экзамена выставляется итоговая оценка.
При разбиении сложного процесса на составляющие его функции применяется принципдекомпозиции. Декомпозиция позволяет представить модель системы в виде иерархическойструктуры отдельных диаграмм, что делает ее менее перегруженной и легко усваиваемой. На рисунке 1.2 изображена декомпозицияучебного процесса.
/>
Рисунок 1.2. Описание предметнойобласти. IDEF0 диаграмма №2
Декомпозиция наглядноотражает этапы реализации образовательного процесса: вводная часть, сообщение теоретическогоматериала, практические задания, проверка знаний и подведение результатов. Накаждом из этапов обязательно взаимодействие преподавателей с обучаемым с цельюпередачи последним знаний и опыта. В некоторых подпроцессах участвует также вспомогательныйперсонал. Во время обучения используются ПО и технические средства. Весь процессобучения регламентируется программой курса и учебным планом. В конце подводятсяитоги обучения, выносится оценка знаний студента.
На рисунке 1.3 представленадекомпозиция процесса проверки знаний. Проверка знаний студента проходит с помощьютестирования. После того, как студент получает задания и решает их,преподаватель проверяет правильность решения и выставляет оценку.
/>
Рис 1.3. Описание предметнойобласти. IDEF0 диаграмма №3
Итак, в ходе изучения предметнойобласти были выявлены следующие проблемы:
· на прохождение каждогоэтапа в процессе обучения затрачивается слишком много времени;
· тестирование и проверкатестов не всегда осуществляется с помощью ПО и технических средств, а зачастую происходитвручную;
· сообщение теоретическогоматериала происходит в традиционной форме и требует активного участия, как студентов,так и преподавателей;
· при подведении результатови оценивании знаний студента играет роль людской фактор, что зачастую не всегдасказывается благоприятным образом на знании студента.
Анализ научной литературы показывает, что данные проблемы могут быть решеныс использованием автоматизированных обучающих систем.
Автоматизированныеобучающие системы представляют собой комплексы научно-методической, учебной и организационнойподдержки процесса обучения, проводимого на базе компьютерных, или, как их такженазывают, информационных технологий. С позиций современной дидактики введение информационнойсреды и программного обеспечения внесло огромное количество новых возможностей вовсе области процесса обучения. Компьютерные технологии представляют собой принципиальноновые средства обучения. За счет своего быстродействия и больших резервов памятиони позволяют реализовывать различные варианты сред для программированного и проблемногообучения, строить различные варианты диалоговых режимов обучения, когда так илииначе ответ учащегося реально влияет на ход дальнейшего обучения.
Вследствие этогосовременный педагог с неизбежностью должен осваивать новые образовательные подходы,опирающиеся на средства и методы индивидуального компьютерного обучения. В общемслучае педагог получает доступ к компьютерным средствам, информационной среде ипрограммным продуктам, предназначенным для обеспечения преподавательской деятельности.Все эти средства образуют комплексы автоматизированных обучающих систем.
В рамках автоматизированныхобучающих систем на сегодняшний день решается ряд задач обучения. В первую группуможно отнести задачи проверки уровня знаний, умений и навыков учащихся до и послеобучения, их индивидуальных способностей, склонностей и мотиваций. Для таких проверокобычно используют соответствующие системы (батареи) психологических тестов и экзаменационныхвопросов. К этой же группе относятся задачи проверки показателей работоспособностиучащихся, что осуществляется путем регистрации таких психофизиологических показателей,как скорость реакции, уровень внимания и т.д. [7]. К таким системам относится система«Федерального интернет — тестирования в сфере профессионального образования».
/>
Рисунок 1.4.Сайт Федерального интернет — тестирования в сфере профессионального образования
Интернет-экзамен в сфере профессионального образования (ФЭПО) проводитсяв форме компьютерного тестирования студентов и направлен на проверку выполнениятребований Государственных образовательных стандартов профессиональногообразования. Целью ФЭПО является формирование единых требований к оценкекачества подготовки специалистов.
В целях оказания помощи вузам при создании систем управления качествомподготовки специалистов на основе независимой внешней оценки Национальноеаккредитационное агентство в сфере образования проводит эксперимент по введениюФедерального экзамена в сфере высшего профессионального образования (ФЭПО).Содержанием эксперимента является проведение компьютерного Интернет-тестированияв части внешней оценки уровня подготовки студентов на соответствие требованиямгосударственных образовательных стандартов.
Принципы ФЭПО:
· принципдобровольности участия вузов;
· принцип полногодоверия вузам по вопросам соблюдения технологии проведения экзамена;
· проведениеэкзамена в единое время по единым измерительным материалам;
· два режимапроведения экзамена: on-line off-line.
ФЭПО – это тестирование студентовсовокупности образовательных программ или одной образовательной программе всехвузов Российской Федерации с использованием среды Интернет в режиме off-lineили в режиме on-line.
ФЭПО позволит объективно оценить степеньсоответствия содержания и уровня подготовки студентов требованиямгосударственных образовательных стандартов.
ФЭПО позволит сравнить результатыосвоения стандарта студентами данного вуза с результатами других вузов.
Результаты ФЭПОоформляются в виде информационно-аналитической карты, содержащей материалы,предназначенные для принятия решений в системе внутривузовского управлениякачеством подготовки.
ФЭПО позволит эффективно использоватьрезультаты экзамена при самообследовании для комплексной оценки вуза.
Участие вузовв ФЭПО будет способствовать созданию системы обеспечения качества подготовкистудентов на основе независимой внешней оценки [14].
Вторая группа задач связана с регистрацией и статическиманализом показателей усвоения учебного материала: заведение индивидуальных разделовдля каждого учащегося, определение времени решения задач, определение общего числаошибок и т.д. К этой же группе логично отнести решение задач управления учебнойдеятельностью. Например, задач по изменению темпа предъявления учебного материалаили порядка предъявления учащемуся новых блоков учебной информации в зависимостиот времени решения, типа и числа ошибок. Таким образом, эта группа задач направленана поддержку и реализацию основных элементов программированного обучения [7]. Ктаким системам относится «Интернет университет информационных технологий» (Интуит).
/>
Рисунок 1.5.Интернет университет информационных технологий
Интернет-Университет Информационных Технологий (ИНТУИТ) это частная организация, котораяставит следующие цели:
· финансированиеразработок учебных курсов по тематике информационно-коммуникационныхтехнологий;
· координацияучебно-методической деятельности предприятий компьютерной индустрии по созданиюучебных курсов по ИКТ;
· обеспечениепрофессорско-преподавательских кадров вузов и их библиотек учебниками иметодическими материалами по курсам ИКТ;
· содействиеорганам государственной власти в области развития образовательных программ,связанных с современными информационными технологиями.
Это частная организация, учредителями которой являются физические лица.Это даже не учебное заведение, по крайней мере, в том смысле, в котором этоттермин используется в официальных документах. Проект существует за счетучредителей. Финансовую поддержку ему оказывают ряд российских и иностранныхкомпаний и частных лиц. Некоторые курсы создаются при поддержке компаний ичастных спонсоров, информация об этом специально указывается на сайте [10].
Третья группа задач АОС связана с решением задач подготовкии предъявления учебного материала адаптации материала по уровням сложности, подготовкидинамических иллюстраций, контрольных заданий, лабораторных работ самостоятельныхработ учащихся. В качестве примера уровня таких занятий можно указать на возможностииспользования различных инструментов информационных технологий. Другими словами,использования программных продуктов, дающих возможность формирования различных сложныхлабораторных и др. практических работ. Например, таких, как сборка «виртуального»осциллографа с последующей демонстрацией его возможностей по регистрации усилениюили синхронизации различных сигналов. Аналогичные примеры из области химии могуткасаться моделирования взаимодействия сложных молекул, поведения растворов или газовпри изменении условий эксперимента. К этим системам относят электронные учебники[7].
Электронный учебник– это продукт образовательного характера, отличие которого оттрадиционного учебника в том, что просмотреть его можно только с помощью компьютера. Электронный учебник так же, каки обычный, соответствует всем нужным учебным программам [17].
Техническое обеспечениеавтоматизированных обучающих систем основано на локальных компьютерных сетях, включающихавтоматизированные рабочие места (АРМ) учащихся, преподавателя и линии связи междуними. Рабочее место учащегося, кроме монитора (дисплея) и клавиатуры, может содержатьпринтер, такие элементы мультимедиа, как динамики, синтезаторы звуков, текстовыеи графические редакторы. Цель этих всех технических и программных средств состоитв обеспечении учащихся средствами решения, справочным материалом и средствами регистрацииответов [15].
В настоящее времяразработано большое число электронных учебных материалов, в качестве которых выступаютэлектронные учебники, электронные учебные пособия, автоматизированные обучающиесистемы и т.п. Существующие электронные учебные материалы решают те или иные задачиобучения с большей или меньшей эффективностью, которая определяется, прежде всего,степенью управляемости обучаемым в процессе обучения. В условиях нарастающего интереса,к созданию различных вариантов электронно-методических материалов возникает необходимостьв классификации этих материалов с целью оценки их различия и определения областиприменения. Уже существует ряд классификаций обучающих систем по различным их свойствам.Однако нет классификации, отражающей управляемость обучаемого системой, что прирасширяющемся использовании электронных учебных материалов, является важным на данныймомент [12].
Сайты, посвященные дисциплине «Программирование».В настоящеевремя существуют множество сайтов посвященных дисциплине «программирование». Насайтах изложено много теоретического материала, на форумах можно найти помощьпо выполнению практического материала. В основном эти сайты настроены насамообучение.
Информация на сайтах содержится разнородная. Это информация для начинающих,«середнячков» и профессионалов.1.2 Описание и сравнениепрограмм-аналогов
Таблица 1.1 Сравнение обучающихсистемПризнак ФЭПО ИНТУИТ Сайты по программированию Соединение с интернетом + + + Возможность работы в автономном режиме _ _ _ Теоретический материал - + + Практические задания - - + Тестирование + + - Возможность тиражирование на диске - - - Оценка знаний студента + + -
В итоге сравнения хотелось бы заметить, что ни одна из выше перечисленныхинформационных систем не обладает всеми функциональными возможностями. Нам нужнасистема, обладающая следующими возможностями:
· работа без соединения с сетью Интернет;
· наличие теоретического материала;
· наличие практического задания;
· наличие системы тестирования и оценивания студента;
· возможность распространять программу на диске.
2. Техническое задание
Введение
Настоящее техническое заданиераспространяется на разработку электронного учебника по дисциплине «Программирование»для использования студентов специальности «Прикладная информатика в экономике» приизучении курса программирование.
Основание для разработки
Программа разрабатываетсяна основе учебного плана кафедры «Автоматизированных информационных системи технологий» СЭИ БГУ.
Наименование работы: «Автоматизированнаяобучающая система по дисциплине «Программирование»».
Исполнитель: ________________.
Соисполнители: нет.
Назначение разработки
Программа предназначена дляиспользования студентами при изучении курсов «Программирование»,«Высокоуровневые методы информатики и программирования».
Технические требования
Требования к функциональнымхарактеристикам.
Программа должна обеспечиватьвозможность выполнения следующих функций:
· содержать теоретическийматериал тем по дисциплине «Программирование»;
· содержать системутестирования;
· содержать системуоценивания знаний по результатам тестирования;
· хранение результатовтестирования в памяти;
· содержать заданиядля практических работ.
Исходные данные:
Материал по дисциплине «Программирование».
Организациявходных и выходных данных.
Входные данные поступают склавиатуры.
Выходные данные отображаютсяна экране и при необходимости выводятся на печать.
Требования к надежности.
Предусмотреть контроль вводимойинформации.
Предусмотреть блокировку некорректныхдействий пользователя при работе с системой.
Требования к составу и параметрамтехнических средств.
Система должна работать наIBM-совместимых персональных компьютерах.
Минимальная конфигурация:
· тип процессора – PentiumIII и выше;
· объем оперативногозапоминающего устройства – 256 Мб и более;
· объем свободного местана жестком диске – 40 Мб.
Рекомендуемая конфигурация:
· тип процессора – PentiumCeleron 1,6 ГГц;
· объем оперативногозапоминающего устройства – 512 Мб;
· объем свободного местана жестком диске – 60 Мб.
Требования к программной совместимости.
Программа должна работатьпод управлением семейства операционных систем Windows (Windows ХР / Vista/ 7 и т.п.).
Требования к программнойдокументации
Разрабатываемые программныемодули должны быть самодокументированы, т.е. тексты программ должны содержать всенеобходимые комментарии.
Разрабатываемая программадолжна включать справочную информацию о работе программы, описания методов сортировкии подсказки учащимся.
В состав сопровождающей документациидолжны входить:
· пояснительная запискана пяти листах, содержащая описание разработки;
· руководство пользователя.
Календарный план работ
Таблица 2.1 Календарныйплан работ№ этапа Название этапа Сроки этапа Чем заканчивается этап 1 Изучение предметной области. Проектирование системы. Разработка предложений по реализации системы 05.09.2010 – 15.10.2010 Предложения по работе системы 2 Разработка программного модуля по сбору и анализу информации со счетчиков и устройств управления. Внедрение системы в процесс обучения 16.10.2010 – 20.10.2010 Программный комплекс, решающий поставленные задачи для автоматизации учебного процесса. 3 Тестирование и отладка модуля. Пробное внедрение системы в процесс обучения 21.10.2010 – 5.11.2010 Готовая автоматизированная система по дисциплине «Программирование»
3. Конструкторская часть 3.1Постановка задачи
На основе анализа,проведенного в курсовой работе, нами установлено, что учебный процесс в егоклассической его форме в связи с развитием новых информационных технологийустарел. В результате внедрения предлагаемого программного продукта существенноизменяются подходы к организации учебного процесса. Произошедшие изменениянаглядно иллюстрируют диаграммы IDEF0А, Б, В на рисунках 3.1, 3.2, 3.3.
/>
Рисунок 3.1. Диаграмма IDEF0 А
/>
Рисунок 3.2. Диаграмма IDEF0 Б
/>
Рисунок 3.3. Диаграмма IDEF0 В
После внедренияавтоматизированной обучающей системы учебный процесс должен выглядеть следующимобразом:
1. Лекциипреподавателей заменены электронными лекциями, с которыми студент должен будетознакомиться самостоятельно.
2. После изучениялекционного материала студент должен будет выполнить лабораторные работы.
3. После выполнениялабораторный работы по каждой теме пройти тестирование.
Процесс тестированияпосле внедрения АОС заметно упростится. Компьютер самостоятельно посчитаетправильные ответы студента и выдаст результаты, которые будут записаны в файл.В файле будут все итоги тестирования студента и его оценка. На основе этихрезультатов преподаватель будет смотреть за успехами студентов.
3.2Выбор инструментальных средств и языка разработки
Проект по автоматизацииучебного процесса по дисциплине «Программирование» будет реализовываться навысокоуровневом языке программирования С#.
C# (Си-шарп) — объектно-ориентированныйязык программирования для платформы .NET. Разработан в 2000 году АндерсомХейлсбергом, Скоттом Вилтамутом и Питером Гольде под эгидой Microsoft Research.Основным постулатом С# является высказывание: «всякая сущность естьобъект». Язык основан на строгой компонентной архитектуре и реализует передовыемеханизмы обеспечения безопасности кода.
C# был создан специальнодля технологии ASP.NET. В то же время на C# полностью написана и сама ASP.NET.
C# — этополнофункциональный объектно-ориентированный язык, который поддерживает все три«столпа» объектно-ориентированного программирования: инкапсуляцию, наследованиеи полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчивблагодаря использованию «сборки мусора», обработки исключений, безопасноститипов.
Язык C# разрабатывался«с нуля» и вобрал в себя много полезных свойств таких языков, какC++, Java, Visual Basic, а также Pascal, Delphy и др. При этом необходимостьобратной совместимости с предыдущими версиями отсутствовала, что позволилоязыку C# избежать многих отрицательных сторон своих предшественников.
Как и Java, C#разрабатывался для Интернет и примерно 75% его синтаксических возможностейаналогичны языку программирования Java, его также называют «очищенной версиейJava. 10% подобны языку программирования C++, а 5% – заимствованы из языкапрограммирования Visual Basic. Объем новых концептуальных идей в языке C# около10%.
Выделение и объединениелучших идей современных языков программирования делает язык C# не просто суммойих достоинств, а языком программирования нового поколения [16].
3.3 Функциональная схема
На рисунке 3.4.изображена функциональная схема автоматизированной обучающей системы подисциплине «Программирование». Она показывает взаимодействия компонентов программного обеспечения сописанием информационных потоков, состава данных в потоках и указаниемиспользуемых файлов и устройств.
/>
Рисунок 3.4.Функциональная схема программы
3.4 Алгоритм работы программы
На рисунке рисунок 3.4изображен алгоритм работы электронного учебника по дисциплине «Программирование».
Алгоритм — это точное предписание, которое задаёт вычислительный(алгоритмический) процесс, начинающийся с произвольного исходного данного инаправленный на получение полностью определяемым этим исходным данным результата[8].
Пользователь запускает программу. Далее программа предоставляет возможностьвыбрать тему лекции. После выбора лекции появляется окошко с текстом лекции.После изучения материала лекции, пользователь может пройти тестирование поматериалам лекции. После прохождения теста выдается результат решения теста.После объявления результата пользователь может завершить работу с программойили перейти к списку лекции.
/>
Рисунок 3.5. Алгоритмработы программы в виде блок-схемы
Программный кодреализации программы представлен в приложении.
3.5 Проектирование интерфейса
При разработке интерфейсаавтоматизированной обучающей системы по дисциплине «Программирование» мыруководствовались принципом простоты и удобства использования программы. Впрограмме задействовано четыре формы. Функции первой формы (рисунок 3.6): выбортемы лекции, из нескольких предложенных программой, и отображение на экранелекционного материала. Вторая форма – тестовая. Она необходима для реализациифункции тестирования студентов (рисунок 3.7). Третья форма нужна для ввода склавиатуры фамилии и имя пользователя перед началом тестирования. Четвертаяформа случит для отображения результатов тестирования пользователей программы(рисунок 3.8).
/>
Рисунок 3.6. Формы выбораи чтения лекций в режиме конструктора
/>
Рисунок 3.7. Форматестирования студентов
/>
Рисунок 3.8. Формыпрограммы в режиме конструктора
4. Эксплуатационнаячасть
4.1 Требования к вычислительной системе
1. Операционнаясистема Windows XP/Vista/7 32/64 bit.
2. Наличие установленнойпрограммы Microsoft Net Framework 2.0 и выше. При отсутствии этой утилитысистема работать не будет.
3. Тип процессора –Pentium Celeron 1,6 ГГц и выше.
4. Объемоперативного запоминающего устройства – 512 Мб и более.
5. Объем свободногоместа на жестком диске – 60 Мб. 4.2Установка программного продукта
Установка данногопрограммного продукта не требуется.
4.3 Инструкция по эксплуатации
Автоматизированнаяобучающая система по дисциплине «Программирование» поставляется на лицензионномдиске.
1. Вставьтелицензионный диск в дисковод.
2. Откройте папку«Мой компьютер».
3. В папке «Мойкомпьютер» откройте диск с программой.
4. Запуститепрограмму, кликнув по ярлыке запуска.
5. Откроется окно свыбором тем лекций.
6. Выберете темулекции и нажмите кнопку «Выбрать».
7. В окне появитсялекция по выбранной теме.
8. Далее вы можетевернуться к выбору лекций, нажав ссылку «Вернуться к выбору лекций» или пройтитест, нажав кнопку «Тест».
9. Перед началомтеста введите имя и фамилию с клавиатуры и нажмите кнопу «Начать тест».
10. Запустится тест.Выберете правильный, на ваш взгляд вариант ответа и нажмите кнопку «Следующийвопрос». В тесте есть вопросы с многовариантным ответом. Выберете несколько,правильных вариантов и нажмите кнопу «Следующий вопрос».
11. Когда тест будетпройден, появится диалоговое окно с результатами решения и вопросом: «Перейти квыбору лекций». Если нажать кнопку «Да» то появится окно с выбором лекции, еслинажать кнопку «Нет», то программа завершит работу.
12. В окне с выборомлекции есть ссылка «Посмотреть результаты». Если перейти по этой ссылке можноувидеть все результаты решения тестов, а именно число прохождения теста,фамилию и имя тестируемого и его результат решения.
4.4 Демонстрационная часть работы продукта.
Запускаем программу слазерного диска при двойном щелчке по ярлыку запуска.
На рисунке 4.1 показано,что при запуске программы пользователю будет предложено выбрать тему длясамостоятельного изучения.
/>
Рисунок 4.1. Выбор темы
/>
Рисунок 4.2. Лекция потеме.
На рисунке 4.2 приведенпример лекции. После ознакомления с лекционным материалом по теме, пользовательможет пройти тест.
/>
Рисунок 4.3. Ввод информациио студенте перед началом тестирования
Перед прохождениемтестирования нужно ввести имя и фамилию пользователя системы. В каждом тесте подесять вопросов (рисунок 4.3).
/>
Рисунок 4.4. Вопрос смноговариантным ответом
/>
Рисунок 4.5. Вопрос содним вариантом ответа
В тесте встречаютсявопросы с многовариантными (рисунок 4.4) и одновариантным (рисунок 4.5)ответами.
/>
Рисунок 4.5. Результаты тестирования
После прохождения тестапользователь сможет увидеть результаты решения. На рисунке 4.5 показанрезультат решения одного из тестов. Количество правильных ответов – четыре из десятивозможных. Пользователю предложена дальнейшая работа с программой. Для этого навопрос «Перейти к выбору лекций нажать кнопку «Да», или завершить работу спрограммой, нажав кнопку «Нет».
/>
Рисунок 4.6. Результатытестирования
Все результаты тестовможно посмотреть после тестирования (рисунок 4.6). В таблице результатовотражено дата прохождения теста, фамилия, имя студента и его результат.
5. Экспериментальнаячасть
Серьезные приложениядолжны надежным образом обрабатывать исключительные ситуации, сохранять, есливозможно, выполнение программы или, если это невозможно, аккуратно еезавершать. Написание кода, обрабатывающего исключительные ситуации, всегда былонепростой задачей, и являлось источником дополнительных ошибок [16].
Проведем эксперимент посозданию исключительной ситуации с электронным учебником по дисциплине«Программирование».
Пусть файл с результатамитестирования удалили студенты из папки с программой. Запустим программу(рисунок 5.1).
/>
Рисунок 5.1. Запускпрограммы в исключительной ситуации
Программа запустилась безошибок и системных сообщений. Теперь попробуем посмотреть результатытестирования прошлых студентов (рисунок 5.2).
/>
Рисунок 5.2. Поведениепрограммы в исключительной ситуации
К сожалению, результатыпрошлого тестирования студентов утеряны. Программа в корневом каталоге создалановый файл и при повторном тестировании будет произведена запись результатов вэтот файл. Значит, тестирование можно провести заново и результаты тестированиябудут фиксироваться и сохраняться.
Проведем еще одинэксперимент по созданию исключительной ситуации с электронным учебником подисциплине «Программирование». Теперь студенты удалили файлы с лекциями потемам. При попытке запуска лекций программа выдаст системную ошибку (рисунок 5.3).
/>
Рисунок 5.3. Критическаяошибка программы
6. Экономическаячасть
Программный продукт в данной курсовой работе будетвыполняться индивидуальным разработчиком (студенткой). Решение данной задачибудет проводиться на ЭВМ. Общее ознакомление с предметной областью проходило дорешения об изучении и возможности создания программного продукта для решениязадач предметной области (определяется техническим заданием).
Предполагаемая продолжительность разработки программногокомплекса была выбрана в количестве 45 дней. Это позволит не затягивать свыходом продукта и в тоже время не сильно сокращает сроки, что обеспечивает нормальнуюстоимость работ и желаемую прибыль.
6.1 />/>/>/>/>Определение вида и длительности работ
Продолжительности этаповразработки программного комплекса сведены в таблицу 6.1.
Продолжительность первого этапа и его работ определяется порезультатам предварительного исследования. Общая трудоемкость этого этапа составляет18% от всего времени. Т1=Траб/100*18 =8 дней.
Продолжительность остальных этапов и работ определяется пометоду удельных весов:
/>(6.1),
где Т1, Т2 – соответственно, определяемая трудоемкость этапаи трудоемкость известного этапа; У1, У2 – соответственно, удельный вес тех жеэтапов в общей трудоемкости разработки программного комплекса.
Этапы и трудоемкостьработ показаны в таблице 6.1.
/>/>Таблица 6.1 Продолжительность этапов разработки программного комплекса№ этапа Относительная доля времени, % Продолжительность, дни 1 18 8 2 40 18 3 30 13,5 4 12 5,5 Всего: 100 45
/>
Рисунок 6.1. Этапы итрудоемкость работ
Оценивается наиболее вероятная продолжительность работ поформуле
/>= 8(6.2),
где Р – число исполнителей на данной работе.
Коэффициент перехода рабочих дней в календарные дни /> = 45 / 365 = 0.12.
Ожидаемое время рассчитывается по формуле:
/>=4(6.3),
гдеtожд – трудоемкость выполнения отдельных видовработ, человеко-дни; tmin — минимально возможная трудоемкость выполнения отдельныхвидов работ, дни;tmax –максимально возможная трудоемкость выполнения отдельных видов работ, дни;tнв – наиболее вероятная трудоемкостьвыполнения отдельных видов работ, дни.
tmax = 15
tmin= 10
Итог: ожидаемое время работы над проектом 37 дней непревышает изначально предполагаемую продолжительность работ./>/>/>
/>/>/>/>/>/>
6.2 Определение заработной платы исполнителей
Было принято решение о том, что заработная плата не будетначисляться, так как исполнитель работы один. Т.е. доход исполнителя будет равенприбыли, полученной от продажи программного продукта.
Без начисления заработной платы затраты на созданиепрограммного продукта существенно сократятся.
6.3 />/>/>/>/>/>/>/>/>Составление сметы затрат
Сметная стоимость определяется статьями калькуляции.
1. Накладные расходы.
2. Прочие расходы: диски и упаковка(100 шт.). Диски: 100 шт. по 7 рублей, полиграфические услуги: 100шт. упаковокпо 10 руб. Итого 1700 руб.
Смета затрат навыполнение представлена в таблице 6.3.
Таблица 6.2 Смета затратна выполнениеНаименование статьи затрат Сумма, руб. Удельный вес статьи, % Основание для расчета Накладные расходы 500 23 Анализ затрат Прочие расходы 1700 77 Анализ затрат Итого 2200 100 —
6.4 />/>/>/>/>/>/>/>/>Расчетпредполагаемой прибыли
Итак, общие затраты на создания программного продуктасоставляют 2200 рублей. Исходя из 50% рентабельности, сумму, которую мы хотимвыручить, рассчитаем по формуле
С = З + П = 2200 + 1100 » 3300 руб. (6.4)
Эта сумма без налога на добавленную стоимость (НДС).Планируется ее получить от продажи 100 программных продуктов. Анализ рынкаговорит, что реализовать такое количество не составит особых проблем. Исходя изэтого, посчитаем цену одного программного комплекса без учета НДС
Ц = С / 5 = 3300 / 100 = 33руб.(6.5)
Теперь посчитаем окончательную цену одного программного продуктас учетом НДС 18%.
НДС = ((З + П) / 100) * 0.18 = 33 * 0.18 » 6 руб.(6.6)
С учетом НДС цена программного продукта составляет:
Цпп = Ц + НДС » 40 руб.(6.7)
Процентное соотношениесебестоимости, прибыли и налогов для ста комплектов продукта представлены нарисунке 2.
/>
Рисунок 6.2. Процентноесоотношение себестоимости, прибыли и налогов для 100 комплектов продукта
На рисунке 6.2 показана динамика роста прибыли от продажипрограммного продукта относительно числа экземпляров.
/>
Рисунок 6.3. Динамикароста прибыли о/>/>/>т продажи ПП
/>/>/>/>
6.5 Экономическая целесообразность разработки
При разработке программного продукта значительное вниманиеуделяется экономическому обоснованию необходимости проведения данного комплексаработ по его созданию.
Стоимость конечного продукта для потребителя не высока всего40 руб. Разработка данного программного продукта ведется для образовательных учреждений.Поэтому цена одного лицензионного диска очень важна. Чем ниже цена, тем большевероятность, что программный продукт купят. При цене всего 40 рублей, диски спрограммой быстро купят. Покупателями станут преподаватели вузов и учителядругих коммерческих учебных заведений. При продаже 100 лицензионных дисков,разработка программы не просто окупится, а принесет прибыль в размере 1100рублей. Если при продаже всех лицензионных дисков с программой, на рынке всееще будет спрос, то при дополнительном выпуске лицензионных копий, приминимальных затратах, мы получим еще какой-то процент прибыли.
В итоге можно сделать вывод, что разработка данногопрограммного продукта целесообразна.
Заключение
Данная автоматизированнаясистема по дисциплине «Программирование», разработанная в ходе выполненияданной работы, является актуальным на сегодняшний день, так как многиепользователи нуждаются в автоматизированном простом и быстром средстве обучения.Программа может быть успешно внедрена в учебный процесс, что соответственноповысит качество знаний. С экономической точки зрения внедрения целесообразно.
Программа соответствуетвсе требованиям, предъявленным к ней. В нее входит: лекционный материал подисциплине «Программирование», тестовые задания по темам лекций, результатытестирования записываются в файл, который потом можно посмотреть в программе.
Разработанный учебникустойчиво выполняет все свои функции, что делает его применимым в процессеобучения. Но теперь стоит задача сделать учебник еще более совершенным и болеерасширенным.
Списоклитературы
1. ГОСТ 7.32-2001. Отчет о научно-исследовательской работе.Структура и правила оформления, Введен 01.01.2001. М.: Изд-во стандартов, 2001. 9 с.
2. ГОСТ 2.105-95. Общиетребования к текстовым документам, Введен 02.05.1995. М.: Изд-во стандартов, 1995. 10 с.
3. ГОСТ Р7.0.5-2008. Библиографическая ссылка. Общие требования и правила составления, Введен 15.05.2008. М.: Изд-во стандартов, 2008. 8 с.
4. ГОСТ 7.1-2003. Библиографическаязапись. Библиографическое описание. Общие требования и правила составления, Введен 01.01.2003. М.: Изд-во стандартов, 2003. 11 с.
5. ГОСТ 7.80-2000. Библиографическаязапись. Заголовок. Общие требования и правила составления, Введен01.01.2000. М.:Изд-во стандартов, 2000. 9 с.
6. ГОСТ 19.201-78. Техническое задание. Требования к содержаниюи оформлению. Введен 18.12.1978. М.: Изд-во стандартов, 1978. 11 с.
7. Автоматизированные обучающие системы [Электронный ресурс] URL: www.tspu.tula.ru/ivt/old_site/umr/nit/lect/lect4.htm
(Дата обращения: 14.11.2010).
8. Википедия. Свободная энциклопедия. Официальный сайт. URLhttp://ru.wikipedia.org/wiki/Алгоритм, (Дата обращения: 14.11.2010).
9. Горюнова М.А.,Горюхова Т.В., Кондратьева И.Н., Рубашкин Д.Д. Электронные образовательныеиздания. Учебно-методическое пособие. СПб.: ЛОИРО, 2003.
10. Интернетуниверситет информационных технологий: Официальный сайт. URL: www.intuit.ru
(Дата обращения: 14.11.2010).
11. Могилёв А. В.Информатика. – М.: «Академия»,1999.
12. Пак Н.И.Нелинейные технологии обучения в условиях информатизации: Учебное пособие.Красноярск: РИО КГПУ, 2004
13. Олейников Б.В. Проблемы и особенности преподаванияинформатики и программирования в вузе с учетом современных требований.Красноярский государственный университет, 1997. URL: www.nsu.ru/archive/conf/nit/97/c5/node12.html
(Дата обращения: 14.11.2010).
14. Федеральныйинтернет-экзамен в сфере профессионального образования: Официальный сайт. URL: www.fepo.ru
(Дата обращения: 14.11.2010).
15. Чистохвалов В.Н. Проблемы организации учебного процесса в вузе в системезачетных единиц. Российский университет дружбынародов (РУДН), 2006. URL:http://www.rudn.ru/?pagec=293 (Дата обращения:14.11.2010).
16. Шилдт Г. С#Учебный курс. Программирование. СПб.: Питер, 2003.
17. Электронныйсловарь: Официальный сайт. URL: chtotakoe.info/articles/elektronnyj_uchebnik_858.html
(Дата обращения: 14.11.2010)
Приложение
Приложение 1
Кодформы с лекциями
namespace Kursach
{public enum Modes { Lecture, ChooseLecture }
public partial class LecturesForm: Form
{
private ChoiseButtons buttons;
private DirectoryInfo[] lecturesDirectories;
private DirectoryInfo currentLectureDirectory;
private Point startPosition = new Point(5, 15);
private Size buttonSize = new Size(200, 30);
private int distance = 5;
private Modes currentMode;
public LecturesForm(string folderPath)
{
InitializeComponent();
buttons = new ChoiseButtons(ButtonTypes.RadioButton, startPosition.X,startPosition.Y, buttonSize.Width, buttonSize.Height, distance);
DirectoryInfo directory = new DirectoryInfo(folderPath);
lecturesDirectories = directory.GetDirectories();
foreach (DirectoryInfo lectureDirectory in lecturesDirectories)
{
groupBoxLectures.Controls.Add(buttons.AddNextButton(lectureDirectory.Name));
}
SetChooseLectureMode();
}
private void button1_Click(object sender, EventArgs e)
{
if (currentMode == Modes.ChooseLecture)
{
List selected = buttons.GetSelected();
if (selected.Count == 0)
{
MessageBox.Show(«Выберите лекцию!», «Ошибка!», MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else
{
currentLectureDirectory = lecturesDirectories[selected[0]];
try
{
FileStream fileStream = new FileStream(currentLectureDirectory.FullName +"\\lecture", FileMode.Open);
StreamReader streamReader = new StreamReader(fileStream);
richTextBoxLecture.Text = streamReader.ReadToEnd();
streamReader.Close();
fileStream.Close();
}
catch
{
TestForm.ShowCriticalErrorMessage(«Не найден файл с лекцией\nПриложение будет закрыто»);
}
}
SetLecturesMode();
}
else
{
InitForm form = new InitForm();
if (form.ShowDialog() == DialogResult.OK)
{
new TestForm(currentLectureDirectory.FullName,currentLectureDirectory.Name, form.UserName, this).Show();
}
}
}
private void SetLecturesMode()
{
currentMode = Modes.Lecture;
buttonChoose.Text = «Тест»;
richTextBoxLecture.Visible = true;
linkLabelResults.Visible = false;
groupBoxLectures.Visible = false;
richTextBoxLecture.Dock = DockStyle.Fill;
linkLabelBack.Visible = true;
this.MaximumSize = new Size();
this.MinimumSize = new Size();
this.Size = new Size(739, 419);
this.MaximizeBox = true;
this.Text = currentLectureDirectory.Name;
buttonChoose.Select();
}
private void SetChooseLectureMode()
{
currentMode = Modes.ChooseLecture;
linkLabelResults.Visible = true;
buttonChoose.Text = «Выбрать»;
richTextBoxLecture.Visible = false;
groupBoxLectures.Visible = true;
linkLabelBack.Visible = false;
this.Text = «Выбор лекции»;
this.MaximumSize = new Size(739, 419);
this.MinimumSize = new Size(739, 419);
this.Size = new Size(739, 419);
this.MaximizeBox = false;
}
private void linkLabel1_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)
{
SetChooseLectureMode();
}
private void LecturesForm_VisibleChanged(object sender, EventArgs e)
{
if (Visible == true)
{
SetChooseLectureMode();
}
}
private void linkLabel1_LinkClicked_1(object sender,LinkLabelLinkClickedEventArgs e)
{
new ResultsForm().ShowDialog();
}
private void panel2_Paint(object sender, PaintEventArgs e)
{
}
}
}
Кодтестовойформы
namespace Kursach
{
public partial class TestForm: Form
{
private ChoiseButtons buttons;
private Test test;
private string userName;
private List correctAnswers = new List();
private Point startPosition = new Point(5, 15);
private Size buttonSize = new Size(200,30);
private int distance = 5;
private Form parentForm;
public TestForm(string path, string testName, string userName, FormformToClose)
{
parentForm = formToClose;
formToClose.Hide();
InitializeComponent();
this.userName = userName;
try
{
test = new Test(testName, path);
}
catch (Exception)
{
ShowCriticalErrorMessage(«Один из файлов тестовимеет неверный формат\nПриложение будет закрыто»);
}
test.BeginTest();
Question question = test.CurrentQuestion;
buttons = new ChoiseButtons(ButtonTypes.CheckboxButton, startPosition.X,startPosition.Y, buttonSize.Width, buttonSize.Height, distance);
InitQuestionWindow(question);
questionsGroupBox.Select();
}
private void InitQuestionWindow(Question question)
{
ButtonTypes type = (question.CorrectAnswers.Count != 1)?ButtonTypes.CheckboxButton: ButtonTypes.RadioButton;
buttons.Reset(type);
questionsGroupBox.Controls.Clear();
this.Text = question.QuestonName;
this.textBoxTest.Text = question.QuestonText;
for (int i = 0; i
{
buttons.AddNextButton(question.Answers[i + 1]);
questionsGroupBox.Controls.Add(buttons[i]);
}
}
public static void ShowCriticalErrorMessage(string message)
{
ShowErrorMessage(message, «Критическая ошибка»);
Environment.Exit(1);
}
private static void ShowInfoMessage(string info, string message)
{
ShowMessage(message, info, MessageBoxButtons.OK,MessageBoxIcon.Information);
}
private static void ShowErrorMessage(string info, string message)
{
ShowMessage(message, info, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
private static void ShowMessage(string info, string message,MessageBoxButtons buttons, MessageBoxIcon icon)
{
MessageBox.Show(message, info, buttons, icon);
}
private void buttonNextQuestion_Click(object sender, EventArgs e)
{
List selected = buttons.GetSelected();
bool isCorrect = false;
if (selected.Count == test.CurrentQuestion.CorrectAnswers.Count)
{
isCorrect = true;
foreach (int correctQuestionNumber in test.CurrentQuestion.CorrectAnswers)
{
if (!selected.Contains(correctQuestionNumber — 1))
{
isCorrect = false;
}
}
}
if (isCorrect) correctAnswers.Add(test.CurrentQuestion.QuestionNumber);
if (!test.IsTestEnded)
{
InitQuestionWindow(test.GoToNextQuestion());
}
else
{
EndTest();
}
}
private void EndTest()
{
FileStream testFileStream = new FileStream(«data\\results.txt»,FileMode.Append);
StreamWriter testStreamWriter = new StreamWriter(testFileStream);
testStreamWriter.WriteLine(DateTime.Now.ToShortDateString() + "" + DateTime.Now.ToShortTimeString() + "\t" + test.TestName +"\t" + userName + ": " + correctAnswers.Count +"/" + test.QuestionsCount);
testStreamWriter.Close();
testFileStream.Close();
DialogResult userDecision = MessageBox.Show(«Ваш результат — » + correctAnswers.Count + "/" + test.QuestionsCount +"\nПерейти к выбору лекций?",«Тест окончен», MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (userDecision == System.Windows.Forms.DialogResult.Yes)
{
parentForm.Show();
this.Close();
}
else
{
Environment.Exit(0);
}
}
private void SetChooseLectureMode()
{
questionsGroupBox.Visible = false;
buttonNextQuestion.Visible = false;
textBoxTest.Visible = false;
}
private void TestForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (parentForm.Visible == false)
{
parentForm.Close();
}
}
private void TestForm_Load(object sender, EventArgs e)
{
}
}
}
Кодформырезультатов
namespace Kursach
{
public partial class ResultsForm: Form
{
public ResultsForm()
{
InitializeComponent();
try
{
FileStream fileStream = new FileStream(«data\\results.txt»,FileMode.Open);
StreamReader streamReader = new StreamReader(fileStream);
textBox1.Text = streamReader.ReadToEnd();
this.Select();
streamReader.Close();
fileStream.Close();
}
catch
{
textBox1.Text= «Никто не проходил тесты»;
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
}
}
Кодинформационнойформы
namespace Kursach
{
public partial class InitForm: Form
{
public InitForm()
{
InitializeComponent();
}
public string UserName
{
get { return textBoxName.Text + " " + textBoxSurname.Text; }
}
private void buttonBeginTest_Click(object sender, EventArgs e)
{
DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void InitForm_Load(object sender, EventArgs e)
{
}
}
}