Разработка системы мониторинга на основе тестового контроля знаний
Выбор сервера базы данных, инструментальных средств разработки клиентского интерфейса и технологий. Описание таблиц базы данных системы мониторинга. Разработка инструментальных средств создания элементов системы. Интерфейс генерации тестов. Расчет затрат.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 12.03.2013 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
В сфере образования наблюдается стремительное усиление интереса к автоматизации промежуточного и финального контроля результатов обучения учащихся самых различных учебных заведений, начиная от школ и заканчивая коммерческими курсами. Самым популярным видом такого контроля является тестирование, основанное на диалоге вычислительной системы с пользователем. Стремительный рост быстродействия компьютерных систем, уменьшение цен на вычислительную технику, появление качественных и мощных систем программирования увеличило потребность в системах, позволяющих объективно, быстро и надежно оценивать знания учащихся, предлагая интересные формы взаимодействия с ними.
Внедрение тестовой формы контроля как правило осуществляется поэтапно. На первом этапе в тестовой форме проводился только входной контроль и заключительной целью проведения входного теста является получение сведений об исходном уровне знаний студентов. Успех изучения любого курса зависит от степени усвоения тех понятий, терминов, положений, которые изучались на предшествующих этапах обучения. Поэтому входной тест, включает задания, проверяющие уровень усвоения основных учебных элементов данного курса. При проверке определяются прежде всего пробелы в знаниях, что очень важно для продуктивного самообразования.
Итоговый тест (экзаменационный) систематизирует, обобщает учебный материал, проверяет сформированные знания и умения. Результаты первых проверок показали, что студентов необходимо готовить к экзаменационному тесту, используя тестовые задания при проведении текущего и рубежного контроля. Задания с выбором ответа особенно ценны тем, что каждому учащемуся дается возможность четко представить себе объем обязательных требований и овладению знаниями курса, объективно оценить свои успехи , получить конкретные указания для дополнительной , индивидуальной работы. Тестовые задания удобно использовать при организации самостоятельной работы учащихся в режиме самоконтроля, при повторении учебного материала. Тесты с успехом можно использовать наряду с другими формами контроля, обеспечивая информацию по ряду качественных характеристик знаний и умений учащегося.
Сегодня существует множество различных тестирующих комплексов, рассмотрим некоторые из них:
1) FK-тест. Программа FK-тест разработана, на базе Межвузовского центра контроля качества знаний (Центр тестирования Уссурийского государственного педагогического института), реализующая классическое тестирование.
Задания формулируются в закрытой форме, к ним 3-5 альтернативных вариантов ответов. Результаты тестирования представляют собой три строки: первая - количество правильных ответов; вторая - количество неправильных ответов; третья - доля правильных ответов, выраженная в процентах. Преподаватели самостоятельно определяют, какой процент правильных ответов можно интерпретировать как зачет;
2) REDWARD. REWARD - уникальное сочетание средств мультимедиа и идеи дистанционного обучения в одном программном продукте, созданном для изучения английского языка, разработанного оксфордским издательством Macmillan Heinemann ELT, - и современного мультимедийного приложения от признанного производителя образовательного программного обеспечения - компании YDP Multimedia. REWARD InterN@tive устанавливает новый стандарт в обучении иностранному языку при помощи компьютера. Эта программа успешно используется во многих ВУЗах, а в частности с Современной Гуманитарной академии г. Москва.
Тест на определение уровня знаний языка для REWARD, разработан для того чтобы помочь выбрать уровень курса, с которого следует начинать. Существует четыре уровня: Elementary, Pre-intermediate, Intermediate и Upper-intermediate. Результаты теста дадут приблизительное указание на уровень, оптимально отвечающий потребностям пользователя;
3) WINTest. Крымским экономическим институтом разработан программный комплекс WINTest, представляющий собой программную оболочку, которая может быть адаптирована к любой дисциплине. Комплекс WINTest обеспечивает подачу теоретического материала и связанного с ним блока вопросов. Теоретический материал имеет модульную структуру, представленную в виде связанного графа. WINTest соединяет в себе следующие элементы:
- краткий теоретический курс по темам дисциплины;
- практикум решения практических задач для проверки полученных знаний (тестовый модуль), связанный с изученным теоретическим материалом.
Данный комплекс может использоваться в качестве удобного средства обучения и контроля знаний. При разработке WINTest использовалась среда программирования Microsoft Visual Basic 6.0. При работе с программным комплексом WINTest перед преподавателем стоит задача создания теоретической базы, составления практических заданий и подготовка необходимых ответов средствами встроенного редактора. В системе также предусмотрен анализ и разбор неправильных решений и допущенных типичных ошибок. Пользователям (обучаемым) при работе с WINTest доступны теоретический блок, при необходимости сопровождаемый иллюстрациями по теме, блок примеров решения задач и непосредственно задания для выполнения (режим тестирования);
4) “Тестум”. Тестирующий комплекс «Тестум» разработан Новгородским государственным университетом. Она расширяет возможности Виртуального практикума по физике для ВУЗов и позволяет преподавателям обеспечить компьютеризированный допуск к лабораторной работе, а студентам - подготовиться к ней и проверить свои знания.
База данных комплекса содержит более 400 тестовых заданий по всем разделам физики. Выполнение заданий осуществляется по современной эффективной технологии «конструирования ответа», когда студент заполняет пропуски в ответе словами и терминами из предлагаемого перечня. Такой подход обеспечивает практически стопроцентную достоверность контроля при многократном использовании одних и тех же заданий.
Перед принятием решения о разработке системы тестирования для студентов ДГТУ, был произведён обзор, существующих тестирующих комплексов (FK-тест, moodle, IMS, WINtest и т.д.) . В следствие чего, не было выявлено ни одной системы полностью удовлетворяющей поставленным задачам, условиям. Причины:
- в системе реализован единственный тип представления вопроса (чаще всего - это выбор правильного ответа из множества с неправильными) ;
- система специфицирована под определённую дисциплину (система предназначена для проведения тестов по иностранным языкам);
- систему нельзя сконфигурировать таким образом, чтобы полностью реализовать семантику тестирования ВУЗа (система не предоставляет возможности создания отдельных объектов, в которых содержатся вопросы одной специфики);
- система не имеет приемлемого формата хранения данных (хранение данных в формате html, что весьма усложняет поиск и изменение необходимой информации) ;
- система не имеет бесплатной лицензии на использование.
Поэтому было принято решение разработать систему мониторинга знаний, использующую базу данных тестов Центра Дистанционного Обучения и свободную от приведенных выше недостатков.
Кроме того известны, как минимум, 4 попытки создания тестирующих систем в нашем университете как на нашей кафедре, так и на кафедре ПоВТ и АС. Наличие такого числа попыток говорит о достаточной сложности проблемы создания тестовой системы, которая бы составила ядро единой системы мониторинга качества учебного процесса в ДГТУ.
Дипломная работа состоит из трёх глав. Для осуществления поставленных целей в первой главе был проведен обзор принципов построения подобных информационных систем, их анализ, выбор необходимых технологий для реализации программного продукта и принципы его реализации.
В главе «Экономическое обоснование проекта» производится расчет себестоимости и окупаемости продукта.
Глава «Безопасность жизнедеятельности» включает в себя: требования к помещению, организации рабочего места и расчет освещенности.
Глава I. Основная часть
1. Постановка задачи
Целью данного дипломного проекта является разработка информационной системы оценки знаний студентов (системы мониторинга), на основе тестовых заданий базы данных Центра Дистанционного Обучения ДГТУ.
Система должна обеспечить:
· контроль, на знание тем пройденного курса лекций;
· выявление пройденных учебных тем, на вопросы которых студент даст не правильные ответы во время проведения тестирования;
· автоматизацию проведения рубежных контролей знаний.
Для достижения цели дипломного проекта необходимо решить следующие задачи:
1) cпроектировать базу данных ;
2) разработать инструментальные средства создания элементов системы тестирования;
3) разработать основные компоненты тестирования: генерация тестов на основе имеющихся данных ЦДО ДГТУ, проведение тестирования;
4) разработать компоненту генерации аналитической информации на основе данных, полученных после прохождения студентом тестирования.
1.2 Проектирование системы мониторинга
В настоящей системе тесты генерируются в соответствии с рабочей программой дисциплины. В качестве такой программы может быть использована любая стандартная рабочая программа любой специальности, предусмотренная учебно-методическим комплексом дисциплины.
В системе мониторинга рабочая программа рассматривается как множество дидактических единиц (завершенная учебная часть курса, по которой могут быть заданы вопросы). С каждой дидактической единицей в описании тестов связаны не менее одного тестового задания. Для каждой дидактической единицы в тест включается не менее одного тестового задания (рисунок 1).
Рисунок 1- Структурная схема
В системе над дидактическими единицами должны поддерживаться две операции:
1)создание новой (родительской) дидактической единицы из существующих;
2)расщепление существующих дидактических единиц на дочерние.
Операции должны позволять создавать из дидактических единиц иерархические структуры. При этом множество тестовых заданий родительской дидактической единицы образуется из объединения тестовых заданий всех её потомков. Это позволяет разрабатывать различные рабочие программы (и соответственно структуры тестов) на уже существующем множестве тестовых заданий по дисциплине.
Множество всех дидактических единиц из всех зарегистрированных рабочих программ, должны образовать глоссарий дидактических единиц, т.е. своеобразный справочник понятий, для которых в системе существуют тестовые задания.
Каждый разрабатываемый тест, кроме ссылки на рабочую программу, должен содержать описание технологии проведения тестирования, а также уровень сложности теста.
Также необходимо разработать оригинальную структуру описания тестового задания (вопроса), которая позволит достаточно гибко проектировать дизайн заданий и способы формирования ответов.
1.3 Выбор сервера базы данных
После проектирования системы мониторинга знаний, была разработана следующая схема данных (рисунок 2):
Рисунок 2 - Схема данных
Из схемы видно, что по каждой дисциплине существуют свои рабочие программы. Каждая рабочая программа состоит из дидактических единиц.
Сегодня для реализации подобной схемы данных в СУБД, существует множество решений: Oracle, InterBase, MSSQL, MySQL, SQLLite, PostgreSQL и т.д.. Но все они имеют различные характеристики:
· количество предоставляемых ресурсов;
· гибкость настройки;
· повышенная отказоустойчивость;
· масштабируемость;
· кроссплатформенность;
· высокая стоимость.
После анализа существующих открытых систем управления базами данных выбор остановился на PostgreSQL.
PostgreSQL -- свободная объектно-реляционная система управления базами данных (СУБД).
Является свободной альтернативой коммерческим СУБД (таким как Oracle Database, Microsoft SQL Server, IBM DB2, Informix и СУБД производства Sybase) вместе с другими свободными СУБД (таким как MySQL и Firebird). Сильными сторонами PostgreSQL считаются:
· поддержка БД практически неограниченного размера;
· мощные и надёжные механизмы транзакций и репликации;
· расширяемая система встроенных языков программирования: изначально поддерживаются SQL, PL/pgSQL, PL/Perl, PL/Python и PL/Tcl, а также имеется поддержка загрузки C-совместимых модулей;
· поддержка со стороны многих языков программирования: C/C++, Java, Perl, Python, Ruby, ECPG, Tcl, PHP и других.
· наследование.
· легко расширяемая система типов.
Согласно результатам автоматизированного исследованияразличного ПО на предмет ошибок, в исходном коде PostgreSQL было найдено 20 проблемных мест на 775 000 строк исходного кода (в среднем, одна ошибка на 39 000 строк кода). Для сравнения: MySQL -- 97 проблем, одна ошибка на 4 000 строк кода; FreeBSD (целиком) -- 306 проблем, одна ошибка на 4 000 строк кода; Linux (только ядро) -- 950 проблем, одна ошибка на 10 000 строк кода.
1.4 Выбор инструментальных средств разработки клиентского интерфейса
Настоящая система мониторинга знаний должна иметь возможность проведения тестирования в учебных классах (аудиториях), имеющих доступ в глобальную сеть - интернет, но также, должна быть возможность проведения тестирования локально, в классах с наличием только ЛВС. Следовательно, система должна иметь web-интерфейс.
Одними из популярнейших инструментов для разработки web-интерфейсов являются: http-сервер Apache и скриптовый язык PHP.
Apache HTTP-сервер -- свободный веб-сервер. С апреля 1996 это самый популярный HTTP-сервер в Интернете; в августе 2007 года он работал на 51 % всех веб-серверов, в апреле 2008 года -- на 49 %.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.
Недостатком наиболее часто называется отсутствие удобного стандартного интерфейса для администратора.
PHP (англ. PHP: Hypertext Preprocessor -- «PHP: препроцессор гипертекста») -- язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP -- «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).
В области программирования для Сети PHP -- один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к web-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.
Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.
В настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.
1.5 Выбор технологий
Технология Ajax.
Сегодня, пожалуй, ни одно развитое web-приложение не обходит стороной данную технологию (Amazon.com, Google.com).
AJAX (от англ. Asynchronous Javascript and XML -- «асинхронный JavaScript и XML») -- это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.
Преимущества:
· Экономия трафика. Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только небольшую изменившуюся часть;
· Уменьшение нагрузки на сервер .AJAX позволяет несколько снизить нагрузку на сервер. К примеру, в Gmail, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и отсылать её клиенту;
· Ускорение реакции интерфейса .Поскольку нужно загрузить только изменившуюся часть, то пользователь видит результат своих действий быстрее.
Общая схема работы.
Пользователь заходит на страничку, сделанную при помощи Аякса, и производит некое действие, например, кликает мышкой по ссылке. Обработчик этого события посылает запрос на сервер. Он получает информацию и посылает ответ, который обрабатывает соответствующая функция на стороне клиента. Эта функция формирует готовый HTML и показывает его пользователю. Чтобы представить этот процесс, можно взглянуть на рисунок 3.
Рисунок 3 - Технология Ajax
Технология Sajax.
Sajax - это инструмент для разработки web-приложений с использованием технологии Ajax, который имеет реализации практически для всех языков программирования, в том числе и php. Основная цель данного инструмента - предоставить доступ из JavaScript к функциям, написанным на PHP без перезагрузки страницы. Области применения Sajax совпадают с областями применения любых других Ajax-библиотек
1.6 Разработка базы данных
На основе спроектированной схемы данных (рисунок 2) была разработана база данных в СУБД PostgreSQL (рисунок 4).
Рисунок 4 - Схема данных системы мониторинга
1.6.1 Описание таблиц базы данных системы мониторинга
1) Таблица discipline, предназначена для хранения наименований, имеющихся дисциплин;
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик |
|
name |
text |
наименование дисциплины |
2) Таблица workprogram, предназначена для хранения информации о рабочих программах системы мониторинга;
Название поля |
Тип поля |
Описание поля |
|
id_workprogram |
integer |
счётчик |
|
owner |
text |
данные автора рабочей программы |
|
xmlFile |
text |
xml-версия рабочей программы |
|
purpose |
text |
цели и задачи |
|
discipline |
integer |
номер дисциплины |
3) Таблица workprogramDependence, хранит связь рабочих программ с установленными для них дидактическими единицами;
Название поля |
Тип поля |
Описание поля |
|
id_wp |
integer |
номер рабочей программы |
|
id_du |
integer |
номер дидактической единицы |
4) Таблица wpprevwpnext, хранит зависимость между рабочими программами, т.е. какие рабочие программы необходимо пройти, чтобы приступить к следующей;
Название поля |
Тип поля |
Описание поля |
|
wp_prev |
integer |
номер предшествующей рабочей программы |
|
wp_next |
integer |
номер следующей рабочей программы |
5) Таблица didacticUnit, хранит имеющиеся в системе мониторинга дидактические единицы;
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик |
|
name |
varchar(250) |
наименование дидактической единицы |
|
comment |
varchar(250) |
комментарий |
|
is_folder |
boolean |
опция, возможности создания иерархии |
6) Таблица didacticUnitHierarchy, хранит связь между родительской и дочерней дидактическими единицами;
Название поля |
Тип поля |
Описание поля |
|
id_parentdu |
integer |
номер родительской д.е. |
|
id_childdu |
integer |
номер дочерней д.е. |
7) Таблица didactionUnitDependence, хранит зависимость между дидактическими единицами, т.е. какие дидактические единицы необходимо знать, чтобы приступить к изучению следующих;
Название поля |
Тип поля |
Описание поля |
|
id_du |
integer |
номер дидактической единицы |
|
id_prev |
integer |
номер предыдущей дидактической единицы |
8) Таблица question, хранит данные о вопросе по дидактической единице;
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик-номер вопроса |
|
name |
varchar(200) |
наименование вопроса |
|
comment |
varchar(250) |
комментарий |
|
level |
integer |
уровень сложности |
|
qtype |
integer |
номер типа вопроса |
|
question |
text |
html-чать вопроса, содержащая задание вопроса |
|
max_ball |
integer |
максимальный бал за вопрос |
|
min_ball |
integer |
минимальный бал за вопрос |
9) Таблица qtype, хранит имеющиеся в системе мониторинга знаний, формы представления вопросов.
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик |
|
name |
varchar(200) |
наименование типа вопроса |
|
comment |
varchar(250) |
комментарий |
|
qtype |
text |
html-шаблон вопроса |
|
numtype |
integer |
номер типа вопроса |
|
fillqtype |
text |
html-интерфейс для заполнения вопроса данными |
|
qview |
text |
примерный вид вопроса |
10) Таблица answer, хранит правильные ответы на вопросы;
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик |
|
bal |
integer |
количество баллов за правильный ответ |
|
answer |
varchar(250) |
правильный ответ на вопрос |
|
id_quest |
integer |
номер вопроса |
1) Таблица answerVars, хранит варианты ответов на вопрос в виде html;
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик |
|
id_quest |
integer |
номер вопроса |
|
html |
text |
html-часть вопроса, содержащая варианты ответов |
12) Таблица test, хранит параметры проведения тестирования;
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик-номер теста |
|
date_gen |
date |
дата генерации |
|
comments |
varchar(200) |
комментарий |
|
id_owner |
integer |
номер создателя |
|
test_name |
varchar(200) |
наименование теста |
|
static |
boolean |
выбор статического способа проведения тестирования |
|
mix_quest |
boolean |
разнообразное размещение ответов при проведении тестирования |
|
repeate |
boolean |
возможность повторного прохождения тестирования |
|
any_order |
boolean |
любой порядок ответов на вопросы теста |
|
time_on |
boolean |
учёт времени потраченное на ответы вопросов тестирования |
13) Таблица testOptionForDU, хранит количество выбранных вопросов из дидактической единицы рабочей программы;
Название поля |
Тип поля |
Описание поля |
|
id_du |
integer |
номер дидактической единицы |
|
id_test |
integer |
номер теста |
|
n_quest |
varchar(250) |
количество вопросов, выбранных из дидактической единицы |
|
min_lev |
integer |
минимальная сложность |
|
max_lev |
integer |
максимальная сложность |
14) Таблица testQuestion, хранит вопросы, выбранные из дидактических единиц рабочих программ, для теста;
Название поля |
Тип поля |
Описание поля |
|
id_test |
integer |
номер теста |
|
id_quest |
integer |
номер вопоса |
15) Таблица session, хранит регистрационную информацию для прохождения тестирования студентом;
Название поля |
Тип поля |
Описание поля |
|
id |
integer |
счётчик - номер сессии |
|
id_session_string |
varchar(250) |
уникальная последовательность символов |
|
id_test |
integer |
номер теста |
|
id_student |
integer |
номер студента |
|
id_teacher |
integer |
номер преподавателя, проводящего тестирование |
|
date_start |
date |
дата начала тестирования |
|
date_end |
date |
дата окончания тестирования |
|
test_place |
varchar(100) |
место проведения тестирования |
16) Таблица sessionQuest, хранит данные прохождения тестирования студентом;
Название поля |
Тип поля |
Описание поля |
|
relation_id |
integer |
счётчик |
|
id_session |
integer |
номер сессии |
|
id_quest |
integer |
номер вопроса |
|
ans_time |
integer |
время потраченное на ответ |
|
bal |
integer |
количество баллов набранных за ответ на вопрос теста |
|
answer |
text |
ответ студента на вопрос теста |
|
min_bal |
integer |
минимальное количество баллов, которое можно получить за данный вопрос |
|
max_bal |
integer |
максимальное количество баллов, которое можно получить за данный вопрос |
1.7 Разработка инструментальных средств создания элементов, системы мониторинга
1.7.1 Интерфейс создания новых дидактических единиц (рисунок 5)
Дидактическая единица - это завершённая часть учебного курса, по которой могут быть заданы вопросы. Дидактическая единица является автономным объектом. Поскольку она может встречаться более, чем в одной дисциплине и использоваться в разных рабочих программах.
Рисунок 5 - Добавление дидактическое единицы
Для добавления новой дидактической единицы необходимо:
1) Ввести наименование дидактической единицы;
2) Комментарий (необязательно);
3) Выбрать опцию каталог , которая позволит для данной дидактической единице, иметь дочерние дидактические единицы.
После ввода данных необходимо нажать на кнопку “Добавить” для сохранения введённой информации в базе данных системы. Сохранение данных произойдёт без перезагрузки страницы, благодаря средствам технологии Sajax. Небольшой листинг кода представлен ниже:
Листинг 1 - Добавление новой дидактической единицы.
<?php
//подключение класса, содержащего методы для работы с базой //данных
include("scripts/DBClass.php");
//подключение библиотеки Sajax
include("scripts/Sajax.php");
include_once("scripts/config.php");
//инициализация объекта класса для работы с б.д.
$db = new DataBase();
$db->Init(DBName, DBType);
$db->connection();
//функция добавление новой дидактической единицы
function AddDidactUnit($name, $comnt, $is_fldr)
{
$q1 = 'INSERT INTO "UMUWorkPrograms"."didacticUnit" (NAME, COMMENT, IS_FOLDER)
VALUES(';
$q2 ="'".$name."', "."'".$comnt."', " .$is_fldr.");";
$q = $q1 . $q2;
pg_query($q);
}
//инициализация объекта sajax
sajax_init();
//экспорт php-функции, добавления новой д.е., в JavaScript
sajax_export("AddDidactUnit");
sajax_handle_client_request();
//javascript-функция, из которой будет вызвана, экспортированная //php-функция
function AddDU()
{
var name, comnt, is_fldr;
name = document.getElementById("txtName").value;
comnt = document.getElementById("txtComnt").value;
is_fldr = document.getElementById("cbIsFldr").checked;
//вызов функции добавления новой дидактической единицы
x_AddDidactUnit(name, comnt, is_fldr, ChangeStatus1);
}
1.7.2 Интерфейс создания иерархии между дидактическими единицами (рисунок 6)
Иерархия обеспечит объединение нескольких “дочерних” дидактических единиц в одну “родительскую”. Благодаря чему, упроститься выбор дидактических единиц для их установления в рабочую программу.
Рисунок 6 - Установление родительской дидактической единицы
1.) Выбрать родительскую дидактическую единицу;
2.) Выбрать дочернюю дидактическую единицу;
Интерфейс выбора дидактической единицы, осуществляется с помощью динамического запроса в базу данных и отображением результата запроса в html элементе select.
Листинг 2 - Динамический список дидактических единиц.
<select name="selParentDU" id="selParentDU" onClick="SelChild();">
<?php
$query = 'SELECT ID, NAME
FROM "UMUWorkPrograms"."didacticUnit"
WHERE is_folder=TRUE;';
$result = $db->query($query);
while ($line = extract($db->fetch($result)))
{
print "<option value=".$id.">".$name."</option>";
}
?>
</select>
При выборе родительской дидактической единицы в окне под номером 3 (рисунок 6 - Установление родительской дидактической единицы), отображается список, уже имеющихся дочерних дидактических единиц. Это достигается средствами технологии Ajax. Для сохранения созданной иерархии необходимо нажать на кнопку “Применить”. После чего сработает запрос на вставку данных в таблицу “didactionUnitHierarchy”, опять же без перезагрузки страницы, но уже средствами Sajax (листинг 1).
1.7.3 Интерфейс создания зависимости между дидактическими единицами
Зависимость между дидактическими единицами определяет: какие дидактические единицы необходимо знать, чтобы приступить к изучению следующих.
Рисунок 7 - Установление предшествующей дидактической единицы
Данный интерфейс работает аналогично предыдущему.
1.7.4 Интерфейс создания новых рабочих программ
На основе дидактических единиц рабочих программ создаются тесты, которые проходят студенты.
Рисунок 8 - Создание рабочей программы
Для создания новой рабочей программы необходимо:
1) Ввести наименование рабочей программы;
2) Выбрать дисциплину, для которой создаётся рабочая программа;
3) В данном поле автор может представиться или ввести специальные пояснения к новой рабочей программе.
После ввода данных для сохранения информации в базе данных системы мониторинга, необходимо нажать на кнопку “Добавить”. Сохранение как и в предыдущих интерфейсах произойдёт без перезагрузки страницы средствами технологии Sajax (листинг 1- добавление новой дидактической единицы).
1.7.5 Интерфейс установления дидактических единиц для рабочей программы
С помощью данного интерфейса (рисунок 9) осуществляется выбор и добавление дидактических единиц в рабочую программу. Далее в других интерфейсах на основе вопросов этих дидактических единиц будет генерироваться тест.
Рисунок 9 - Выбор дидактических единиц для рабочей программы
Для добавления дидактических единиц в рабочую программу необходимо:
1) Выбрать рабочую программу;
2) Выбрать дидактическую единицу;
3) Нажать на кнопку “Применить”, для сохранения.
При выборе рабочей программы в правом окне (№3, рисунок) отобразятся уже установленные дидактические единицы.
1.7.6 Интерфейс установления зависимости между рабочими программами
Зависимость между рабочими программами обеспечивает порядок прохождения тестов рабочих программ. Т.е. какие рабочие программы необходимо пройти, чтобы приступить к следующим.
Данный интерфейс аналогичен интерфейсу установления зависимости между дидактическими единицами (раздел 4.2.3 рисунок 7 - установление предшествующей дидактической единицы).
1.7.7 Интерфейс добавления нового вопроса по дидактической единице в базу данных системы мониторинга
У каждой дидактической единицы, имеется не менее одного тестового задания (вопроса), которое потом будет привязано к тесту и отображено студенту при проведении этого теста.
Тестовые задания (вопросы) в системе мониторинга хранятся в виде html. И состоят из двух частей:
Первая часть - это фрагмент html кода, в котором хранится вопрос. Данная часть хранится в таблице qtype в виде шаблона со специальными тегами (txt-текст вопроса, image - изображение вопроса) листинг 3 - шаблон вопроса тестового задания. Эти теги в ходе процесса добавления нового тестового задания будут заменены на данные, взятые с интерфейса добавления нового вопроса.
Листинг 3 - Шаблон вопроса тестового задания.
<center>
<!--question-->
<input type="hidden" id="testtype" name="testtype" value=1>
<!--специальный тег, который затем будет заменен на данные с формы создания тестового задания-->
txt
<!--/question-->
<BR>
<BR>
<!--answer-->
<div align="left">
</div>
<!--/answer-->
</center>
Вторая часть - это фрагмент html кода, в котором хранятся варианты ответов тестового задания. При выборе определённого типа тестового задания в исполняемом модуле выбирается соответствующий фрагмент кода (листинг 4), в котором содержится шаблон вариантов ответов. Далее в процессе создания тестового задания, специальные теги (листинг 4), содержащиеся в шаблоне, будут заменены на реальные данные, взятые, с формы заполнения данными тестового задания.
Листинг 4 - Обработка выбранного шаблона тесового задания.
switch($_SESSION['type_num'])
{
//вариант один из многих (только текст)
case 1:
//переменная вопроса
$quest = $_SESSION['qtype'];
//текст вопроса
$qtext = $_POST['qtext'];
//замена тега на вопрос тестового задания
$quest = str_replace_first($quest, 'txt', $qtext);
//запись в таблицу question данные о вопросе
$res = $db->query($_SESSION['QH_query']);
extract(pg_fetch_array($res));
//запись в таблицу question текста вопроса
$q = 'UPDATE "UMUWorkPrograms".question'.
" SET question = '".$quest."'
WHERE ID = ".$id.";";
$db->query($q);
//получение возможного количества ответов
$num_ans = GetEndChar($_SESSION['type_name']);
//замена тегов в шаблоне вариантов ответа
for ($i=1;$i<=$num_ans;$i++)
{
$ans = '<input type="radio" name="rbOneMore" value="'.$i.'" >
rbVar
<BR>
<BR>';
$ans = str_replace_first($ans, 'rbVar', $_POST['rbText'.$i]);
$q1 = 'INSERT INTO "UMUWorkPrograms"."answerVars" (id_quest, html) VALUES('.$id.', ';
$q2 = "'".$ans."');";
$q = trim($q1).trim($q2);
$db->query($q);
}
//запись ответа в таблицу answer
$q = 'INSERT INTO "UMUWorkPrograms".answer (bal, answer, id_quest)
VALUES('.$_POST['selBal'].", '".$_POST['txtAns']."', ".$id.');';
$db->query($q);
break;
Интерфейс добавления нового вопроса в систему мониторинга имеет следующий вид (рисунок 10):
Рисунок 10 - Создание нового вопроса
Для создания нового вопроса по дидактической единице необходимо:
1) Выбрать из динамически сформированного списка (листинг 2), дидактическую единицу, для которой будет создаваться вопрос;
2) Ввести наименование, либо ключевые слова вопроса. По этим данным будет происходить поиск необходимых вопросов;
3) Ввести комментарий (не обязательно);
4) Выбрать уровень сложности;
5) Выбрать тип вопроса, т.е. форму его представления пользователю при проведении тестирования.
При выборе типа вопроса в выпадающем списке, в правом окне, без перезагрузки страницы, отображается примерный вид будущего вопроса. Это достигается средствами технологии Ajax. Т.е. при выборе типа вопроса из списка возможных срабатывает процедура (листинг 5), в данной процедуре создаётся специальный объект, с помощью которого и происходит отправление данных (id типа вопроса) на сервер (php-скрипт), где происходит запрос на выборку в базу данных, с учётом переданных данных. Результат запроса (примерное представление запроса) обрабатывает ранее созданный объект (в асинхронном режиме) и отображает данные в элементе iframe.
Листинг 5 - Отображение примерного вида вопроса.
//функция, срабатывающая при выборе типа вопроса, из выпадающего //списка
function SelType()
{
var selQtype;
//получение номера типа
selQtype = document.getElementById("selQtype").value;
//подготовка данных для отправления на сервер
var url = "Ajax.php?selQtype="+escape(selQtype);
//вызов функции подготовки объекта XmlHttpRequest
sendRequest(url);
}
//функция подготовки объекта XmlHttpRequest
function sendRequest(url)
{
//создание объекта
request1=createRequest();
//указание функции обрабатывающей, ответ от сервера
request1.onreadystatechange = serverA;
//указание метода отправки данных и асинхронного режима
//работы
request1.open("GET", url, true);
//отправление данных
request1.send(null);
}
//функция, обрабатывающая ответ сервера
function serverA()
{
if (request1.readystate==4)
{
if(request1.status == 200)
{
//получение ответа от сервера
var ResText=request1.responseText;
var htm = document.getElementById("selQtype").value;
//занесение результата в элемент iframe
htm.document.close();
htm.document.write(ResText);
}
else
alert("Сервер не дал положительного ответа!!!");
}
}
После заполнения интерфейса создания вопроса для продолжения необходимо нажать на кнопку “Выбрать / Продолжить”. Далее последует запрос в базу данных системы мониторинга, на выбор интерфейса заполнения самого вопроса и его вариантов ответа (рисунок 11).
Рисунок 11 - Создание вопроса, ввод данных
После заполнения данного интерфейса и нажатия на кнопку “Сохранить”, тестовое задание окончательно сохраняется в базе данных системы мониторинга.
1.7.8 Интерфейс генерации тестов
Данный интерфейс предназначен для генерации тестов на основе выбранной рабочей программы. Тестовые задания составляются из вопросов дидактических единиц установленных для рабочих программ (раздел 4.2.5, рисунок 9).
Рисунок 12 - Генерация теста
Для генерации нового теста в системе мониторинга знаний необходимо:
1) Выбрать рабочую программу (после выбора рабочей программы, в нижней части формы отобразятся дидактические единицы, установленные для данной рабочей программы);
2) Ввести наименование теста;
3) Выбрать опции проведения тестирования:
a. время on/off - фиксация каждого промежутка времени, потраченного на ответ тестового задания студентом, в базе данных;
b. вопросы упорядочены on/off - возможность ответа на вопросы теста в произвольном порядке;
c. повторных вход on/off - возможность повторного прохождения тестирования;
d. перемешивать ответы on/off - размещение вариантов ответа тестового задания в случайном порядке, для исключения возможности запоминания студентом расположения правильных ответов;
e. динамический/статический on/off - динамический способ проведения тестирования означает, что каждый раз при прохождении теста, его вопросы будут генерироваться заново из дидактических единиц. В случае статического теста, вопросы будут генерироваться только один раз при генерации теста.
4) Ввести комментарий
5) Выбрать имеющиеся дидактические единицы рабочей программы. И указать количество и сложность вопросов, которые будут отбираться для теста;
6) Нажать на кнопку “Сохранить”.
После генерации теста, на его основе можно проводить тестирование, для этого существует специальный интерфейс (рисунок 13).
1.7.9 Интерфейс проведения тестирования
Рисунок 13 - Проведение тестирования
Проведение тестирования:
1) Исполняемый модуль проверяет наличие вопросов для данного теста в таблице testQuestion базы данных, системы мониторинга.
2) Анализируются установленные опции, для проведения данного теста.
3) Отображается вопрос теста, в соответствии с выбранными опциями.
4) После выбора/ввода варианта ответа на вопрос, необходимо нажать на кнопку “Ответить” либо “Пропустить”, в противном случае. При нажатии на кнопку “Ответить”, сформированный пользователем ответ, сохраняется в таблице “sessionQuest”, затем данный ответ сверяется с правильным, хранящимся в таблице “answer” базы данных системы мониторинга. Если данный студентом ответ, правилен, то в таблицу “sessionQuest” заносится набранное количество баллов.
5) После прохождения тестирования студентом, ему предлагается ответить на вопросы, которые он пропустил во время прохождения теста.
По завершении тестирования пользователю предлагается посмотреть
результаты тестирования (рисунок 14).
1.7.10 Интерфейс отображения аналитической информации на основе данных тестирования
Рисунок 14 - результаты тестирования;
По завершении тестирования предлагается посмотреть отчёт о результатах тестирования.
Результат тестирования основывается на данных таблицы “sessionQuest”, которая заполняется во время проведения тестирования.
Отчёт о результатах тестирования содержит:
1) Ф.И.О. студента;
2) Количество попыток принятых для прохождения теста;
3) Количество набранных баллов, в процентном соотношении;
4) Промежуток времени, потраченный на прохождение тестирования.
Также, в интерфейсе генерации отчёта возможен детальный просмотр ответов пользователя на вопросы теста (рисунок 15), для чего необходимо нажать на кнопку “Детально”.
база данные мониторинг тест
Рисунок 15 - Отчёт “Детально”
Данный отчёт также реализуется на основе данных запроса в таблицу “sessionQuest”. После чего результат запроса распечатывается на форме в виде таблицы (листинг 6).
Листинг 6 - Отображение отчёта о результатах тестирования.
//запрос на выборку данных, содержащих информацию о результатах //прохождения студентом тестирования
$query = ('SELECT * FROM "UMUWorkPrograms"."sessionQuest" WHERE id_session = '.$id);
//выполнение запроса
$result = pg_query($link_id, $query);
$kol = pg_num_rows($result);
$i=0;
//рисование таблицы
echo "<table cellSpacing=0 borderColorDark=white cellPadding=5 bgColor=#f1f1f1 border=1>";
for($i;$i<$kol;$i++)
{
//”выталкивание” данных результата запроса в массив $arr
$arr = pg_fetch_array($result, $i, PGSQL_ASSOC);
$IdQ=$arr["id_quest"];
$query2 = ('SELECT * FROM "UMUWorkPrograms"."question" WHERE id = '.$IdQ);
$result2 = pg_query($link_id, $query2);
$arr2 = pg_fetch_array($result2);
$i1=$i1+1;
//вывод номера вопроса в таблицу
echo"<tr><td>Вопрос номер ".$i1."</td>";
echo "<td>".$arr["id_quest"]." вопрос</td>";
if (($arr["answer"] != '+')&&($arr["answer"] != '-'))
{
//вывод фамилии и имени студента в таблицу
echo "<td>".$sername." ".$name." ответил
//вывод ответа
<span>".$arr["answer"]."</span></td>";
//вывод правильного ответа
echo "<td>Правильный ответ был <span>".$arr2["answer"]."</span></td>";
//вывод количества набранных баллов
echo "<td>".$sername." ".$name." набрал
//вывод максимального количества возможных баллов
<span>".$arr["ball"]."</span> баллов из <span>".$arr["max_bal"]."</span> возможных</td>";
}
else
{
echo "<td>Студент пропустил вопрос</td>";
}
echo "<td>Всего прошло времени <span>".date($arr["ans_time"])."</span></td>";
echo "</tr>";
}
echo "</table>";
В интерфейсе отображения результатов тестирования, существует ещё одна возможность просмотра аналитической информации, это просмотр дидактических единиц, на вопросы которых студент дал неверные ответы, во время тестирования. Данный отчёт отображается при нажатии на кнопку “Информация”, расположенной на основном интерфейсе вывода результатов тестирования (рисунок 14). Данная информация необходима для анализа допущенных ошибок и повторного изучения пройденного учебного материала.
Глава II. Экономическое обоснование. Бизнес план по программному продукту.
2.1 Концепция бизнеса
Предполагаемым бизнесом является разработка системы тестового контроля знаний для студентов ДГТУ. Система предназначена для проведения анализа знаний учащихся на основе тестового контроля. Объектами, использующими систему, являются учащиеся ВУЗа. Основные преимущества перед существующими аналогами - реализации различных типов вопросов для разных тестов, возможность спецификации системы под разные дисциплины, проведение различных форм тестирования (с учётом времени, с произвольным выбором ответа, тестирование с повторным входом и т.д.).
Главная цель бизнеса - получение прибыли путем максимального удовлетворения потребностей клиентов.
Главная цель бизнес плана - рассмотрение объекта бизнеса с позиции маркетингового синтеза.
Потенциальным покупателем разрабатываемого продукта является ДГТУ.
Программный продукт будет иметь сравнительно низкую цену, т. к. разработка будет вестись сотрудниками ВУЗа.
Для реализации бизнеса необходимо 242 676 р.
Срок окупаемости затрат 25 месяцев
Точка безубыточности 40 шт.
2.2 Характеристика программного продукта
Рассматриваемая система предназначена для ВУЗов, в частности ДГТУ.
Основными функциональными способностями системы являются:
1) идентификация пользователя, по личному паролю, который будет совпадать с номером зачётной книжки;
2) предоставление пользователю интерфейса, выбора рабочей программы (рабочие программы содержат описательную информацию о тесте: название, дисциплина, сложность, количество вопросов);
3) проведение тестирования;
4) анализ ответов пользователя на правильность;
5) генерация отчёта, содержащего информацию:
§ количество правильных ответов пользователя на вопрос из их общего количества;
§ сумму набранных баллов;
§ список тех дидактических единиц дисциплины, в вопросах которых пользователь дал неверный ответ.
6) добавление новых дисциплин;
7) создание новых дидактических единиц, по выбранной дисциплине;
8) создание новых вопросов, по выбранной дидактической единице;
9) создание новых рабочих программ (тестов).
Характеристика ПП с позиции маркетинга проводилась по следующим характеристикам:
1) по замыслу;
2) в реальном исполнении;
3) область применения;
4) преимущества у пользователя.
По замыслу: система предназначена для анализа знаний учащихся, на основе тестового контроля.
В реальном исполнении: система состоит из четырёх модулей:
1) модуль генерации тестов;
2) модуль создания вопросов тестов;
3) модуль проведения, тестов;
4) модуль генерации отчётов, представляющих аналитическую информацию, тестируемого студента.
Область применения: система способна довольно точно реализовать семантику проведения тестирования ВУЗа (создание различных типов вопросов, группировка вопросов в объекты и т.д.).
Преимущества у пользователей: пользователь (студент) получает возможность анализа собственных знаний, с выявлением тех областей (тем по предметам), в которых пользователь дал наименьшее количество правильных ответов.
2.3 Исследование и анализ рынка
В настоящее время существует множество систем проведения тестирования, но все они имеют те или иные недостатки (специфичный формат хранения данных, аппаратно- и платформозависимые системы, имеющие высокую стоимость и т.д.). Разработка данной системы исключает эти недостатки.
Произведём сегментацию рынка:
Сегменты Рынка |
Планируемый объем продаж по годам |
||||||||
2008 г. |
2009 г. |
2010г. |
Всего |
||||||
1кв |
2кв |
3кв |
4кв |
1п/г |
2п/г |
Год |
|||
Предприятия области |
1 |
1 |
1 |
1 |
2 |
3 |
8 |
17 |
|
Научные учреждения |
3 |
4 |
5 |
7 |
8 |
9 |
19 |
55 |
|
ВУЗы |
2 |
2 |
3 |
3 |
5 |
7 |
12 |
34 |
|
Итого: |
6 |
7 |
9 |
11 |
15 |
19 |
39 |
106 |
2.4 Производственный план
2.4.1 Расчет единовременных затрат ()
Номер |
Наименование тех. средства или ПО |
Тип или модель |
Количество (шт) |
Поставщик |
Стоимость одного изделия (руб) |
Сумма (руб) |
|
1 |
Компьютер |
AMD Sempron LE1100, gf6100, 512Mb, 80Gb, Video Int, FDD, DVD16x ,Sound, LAN 10/100 |
4 |
Sunrise |
5 790 |
23 160 |
|
2 |
Монитор |
17" Benq FP71G+ U white, 300 кд/м2, 500:1, 160/160, 8мс, TCO'03 |
4 |
Sunrise |
5 217 |
20 868 |
|
3 |
ADSL-Модем |
D-Link DSL-2500U |
4 |
Sunrise |
762 |
3 048 |
|
Итого (руб) |
|
|
|
47 076 |
2.4.2 Расчет текущих затрат () на разработку ПП
Зарплата персонала |
|||||
Категория персонала |
Количество сотрудников |
Оплата за 1 мес (руб). |
Время работы (мес) |
Общая зарплата (руб) |
|
Разработчик - руководитель проекта |
1 |
9 000 |
2 |
18 000 |
|
Разработчик |
3 |
7 000 |
2 |
42 000 |
|
Итого |
4 |
60 000 |
Текущие затраты рассчитываются по следующей формуле:
, где
- затраты на заработную плату персонала,
- ЕСН (),
- накладные расходы,
- затраты на оплату работ, выполняемых другими организациями,
- затраты связанные с использованием машинного времени,
- проценты за пользованием кредитом.
Потребность в инвестициях на разработку ПП
Наименование статей затрат |
Сумма в руб. |
|
1.Единовременные затраты (Зк) |
47 076 |
|
1.1.Капитальные вложения (К) |
47 076 |
|
1.1.1. Затраты на приобретение ВТ (Квт) |
47 076 |
|
1.1.2. Затраты на приобретение (дооборудование) ЛВС (Клвс) |
0 |
|
1.1.3. Затраты на приобретение пакетов прикладных программ и операционных систем (Кпп) |
0 |
|
1.2. Затраты на подготовку кадров (Зпк) |
0 |
|
2. Текущие затраты (С) |
195 600 |
|
2.1. Затраты на заработную плату (Зпр) |
60 000 |
|
2.2. Начисления на заработную плату (Зесн) (26%) |
15 600 |
|
2.3. Накладные расходы (Зн) (200% Зпр) |
120 000 |
|
2.4. Затраты на оплату работ сторонним организациям (Зс) |
0 |
|
2.3. Затраты, связанные с использованием машинного времени (Змаш) |
0 |
|
2.6. Проценты за пользование коммерческим кредитом (Зкр) |
0 |
|
Итого затрат (З) |
242 676 |
2.4.3 Определение цены ПП
Рассчитав текущие затраты на разработку ПП (С), можно определить себестоимость одной копии ПП (С1) по формуле:
С1 = С/N + Зтир + Зсер,
где N - объем продаж в натуральном выражении;
Зтир и Зсер - затраты на тиражирование и сервисное обслуживание в расчете на одну копию.
С1 = 242 676 / 106 + 400 + 400;
C1 = 3089.4 руб.
Определяется оптовая цена 1 копии ПП (Цо1) по следующей формуле:
Цо1 = С 1+ П1
Прибыль (П1) определяется исходя из предполагаемой рентабельности:
П1 = С1* Р/100,
где Р - процент предполагаемой рентабельности, (ориентировочно Р = 35%).
П1 = 3089.4 * 35 / 100 = 1081.3 руб.
Цо1 = 3089.4 + 1081.3 = 4170.7 руб.
Цена продажи ПП (Цпр):
Ц пр = Цо1+ НДС,
где НДС - налог на добавленную стоимость в соответствии с действующей ставкой на данный вид продукции (18№).
Цпр = 4170.7 + 750.7 = 4921.4 руб.
Итоговое цена ПП после сопоставления с продуктами конкурентов составила 4950 руб.
2.5 План маркетинговых действий
План маркетинга - это план мероприятий по достижению намечаемого объема продаж и получению максимальной прибыли путем удовлетворения рыночных потребностей. В данном разделе отражаются: товарная, ценовая, сбытовая политика и сервисное обслуживание.
Товарная политика.
Система была разработана с учётом современных web-технологий (т.к. система имеет web-интерфейс).
В будущем планируется:
- добавление новых типов вопросов;
- учет клиентских потребностей и добавление их в последующих релизах;
- модификация системы в соответствии с появлением новых IT - технологий.
Ценовая политика.
Цена товара будет зависеть от:
1) спроса на товар;
2) сложности его модификации;
3) цен конкурентов.
Политика сбыта.
Запросы в заведения, нуждающиеся в подобных системах.
Сервисное обслуживание.
Стратегия по организации сервисного обслуживания предполагает предпродажный и послепродажный сервис.
Предпродажный сервис предусматривает анализ требований заказчика и модификация системы с учётом этих требований.
Послепродажный сервис предусматривает настройку и конфигурирование системы и её ознакомление с заказчиком.
2.6 Потенциальные риски
Следует учитывать следующие виды рисков:
Производственные риски связаны с различными нарушениями в производственном процессе.
Коммерческие риски связаны с реализацией продукции на товарном рынке (уменьшение размеров и емкости рынков, снижение платежеспособного спроса, появление новых конкурентов).
Финансовые риски вызываются инфляционными процессами, всеобщими неплатежами, колебаниями валютных курсов пр.
Риски, связанные с форс - мажорными обстоятельствами - это риски, обусловленные непредвиденными обстоятельствами (от смены политического курса страны до забастовок и землетрясений).
2.7 Финансовый план
Предполагаемые доходы от продаж (Qпр) определяются по формуле:
Qпр = Цпр*N,
где Цпр - цена продажи ПП, руб.;
N - объем продаж по периодам в соответствии с исследованиями рынка, шт.;
Издержки производства (И) включают, кроме текущих затрат, расходы на тиражирование, сервисное обслуживание, маркетинг, рекламу и некоторые виды налогов (на имущество, местные налоги и т.п.):
И=С1*N+Зм+Н,
где С1 - себестоимость копии ПП
Зм - затраты на маркетинг и коммерческие расходы ( Зм = от 20 до 25% от Qпр);
Н - налоги.
Н - налоги (1% от стоимости вычислительной техники и 5% от ЗП).
Доходы и затраты
Показатели |
2008 г. |
2009г. |
2010г. |
|||||
1 кв. |
2 кв. |
3 кв. |
4 кв. |
1п/г |
2п/г |
Год |
||
Доходы от продаж |
29 700 |
34 650 |
44 550 |
54 450 |
74 250 |
94 050 |
193 050 |
|
Себестоимость |
18 536.4 |
21625.8 |
27 804.6 |
33 983.4 |
46 341 |
58 698.6 |
120 486.6 |
|
Прибыль до налогооблажения |
11 163.6 |
13 024.2 |
16 745.4 |
20 466.6 |
27 909 |
35 351.4 |
72 563.4 |
|
Налог на прибыль |
2 679.3 |
3 125.8 |
4 018.9 |
4 912 |
6 698.2 |
8 484.3 |
17 415.2 |
|
Чистая прибыль |
8 484.3 |
9 898.4 |
12 726.5 |
15 554.6 |
21 210.8 |
26 867.1 |
55 148.2 |
|
Объём реализации |
6 |
7 |
9 |
11 |
15 |
19 |
39 |
Расчёты:
1) первый квартал 2008г.;
N=6. Qпр=4950 * 6 = 29 700 руб.
Подобные документы
Системный анализ предметной области. Выбор инструментальных средств для создания программного обеспечения. Программирование на стороне SQL-сервера. Создание клиентского Win-приложения, пользовательский интерфейс. Физическое проектирование базы данных.
курсовая работа [3,7 M], добавлен 20.11.2013Выбор состава технических и программных средств разработки системы. Описание входных и выходных данных. Выбор модели базы данных. Разработка подсистемы наполнения базы данных, формирования отчетов. Разработка интерфейса пользователя, тестирование системы.
курсовая работа [3,7 M], добавлен 04.12.2014Обзор технологической платформы для разработки клиентского веб-интерфейса. Выбор платформы базы данных, языка разработки, фреймворка на стороне сервера и клиента. Создание схемы данных MySQL. Работа пользователя и оператора с программным продуктом.
курсовая работа [4,1 M], добавлен 17.07.2012Структура контрольно-оценочной деятельности. Разработка набора инструментальных средств поддержки тестового контроля знаний. Расчет затрат на разработку программной системы с использованием постархитектурной модели COCOMO II. Нормирование шума и вибрации.
дипломная работа [5,4 M], добавлен 21.11.2012Оптимизация и упрощение работы автосервиса, ведение учета проданных и купленных автомобилей и другой информации, связанной с работой автосервиса. Разработка структуры базы данных и интерфейса пользователя. Выбор инструментальных средств реализации.
курсовая работа [550,3 K], добавлен 07.04.2018Интерфейс системы онлайн-мониторинга стационарного аппарата. Интерфейс автоматизированного рабочего места мониторинга АПБ Московского метрополитена. Архитектура системы ProView, основные сферы применения. Структура графического интерфейса пользователя.
курсовая работа [1,8 M], добавлен 21.03.2016Автоматизация промежуточного и финального контроля результатов обучения учащихся различных учебных заведений. Тестирование, основанное на диалоге вычислительной системы с пользователем. Реализация приложения генерации тестов из базы данных на языке РНР.
курсовая работа [234,1 K], добавлен 04.08.2009Требования, предъявляемые к базе данных "Публикации в СМИ". Выбор инструментальных средств для разработки. Проектирование базы данных: выявление необходимого набора сущностей, обоснование требуемого набора атрибутов, определение связей между объектами.
курсовая работа [1,2 M], добавлен 18.04.2014Разработка логической и физической моделей базы данных предприятия и описание атрибутов. Порядок создания справочников и реквизитов базы данных на основе программы "1С:Предприятие 8.2", назначение связей таблиц. Пример сгенерированных SQL-кодов.
курсовая работа [2,7 M], добавлен 02.12.2015Выбор программных и аппаратных средств для создания базы данных. Описание структуры программы. Описание разработки приложения. Подключение к базе данных, выполняемое с помощью компонента ADOConnectio. Создание средств защиты информации в программе.
курсовая работа [2,1 M], добавлен 16.02.2015