Разработка системы мониторинга на основе тестового контроля знаний

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

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

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

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

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

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();«></p><p>< ?php</p><p>$query='SELECT ID, NAME</p><p>FROM «UMUWorkPrograms». «didacticUnit»</p><p>WHERE is_folder=TRUE; ';</p><p>$result = $db-> query ($query);</p><p>while($line=extract($db->fetch($result)))</p><p>{</p><p>print«<option value=».$id.«>».$name.«</option>»;</p><p>}</p><p>?></p><p></select></p><p>Привыбореродительскойдидактическойединицыв окнеподномером3(рисунок6 —Установлениеродительскойдидактическойединицы),отображаетсясписок,ужеимеющихсядочернихдидактическихединиц.ЭтодостигаетсясредствамитехнологииAjax.Длясохранениясозданнойиерархиинеобходимонажатьна кнопку«Применить».Послечегосработаетзапросна вставкуданныхв таблицу«didactionUnitHierarchy»,опять жебезперезагрузкистраницы,но ужесредствамиSajax(листинг1).</p><p><strong>1. 7</strong><strong>.3</strong> <strong>Интерфейс создания зависимости меж</strong><strong>ду дидактическимиединицами</strong></p><p>Зависимостьмеждудидактическимиединицамиопределяет:какиедидактическиеединицынеобходимознать,чтобыприступитьк изучениюследующих.</p><p>Рисунок 7 — Установление предшествующей дидактической единицы</p><p>Данныйинтерфейсработаетаналогичнопредыдущему.</p><p><strong>1. 7</strong><strong>.4</strong> <strong>Интерфейс</strong><strong>создания</strong> <strong>новых</strong><strong>рабочихпрограмм</strong></p><p>На основедидактическихединицрабочихпрограммсоздаютсятесты,которыепроходятстуденты.</p><p>Рисунок 8 — Создание рабочей программы</p><p>Длясозданияновойрабочейпрограммынеобходимо:</p><p>1) Ввести наименование рабочей программы;</p><p>2)Выбратьдисциплину,длякоторойсоздаётсярабочаяпрограмма;</p><p>3) В данном поле автор может представиться или ввести специальные пояснения к новой рабочей программе.</p><p>Послевводаданныхдлясохраненияинформациив базеданныхсистемымониторинга,необходимонажатьна кнопку«Добавить».Сохранениекаки в предыдущихинтерфейсахпроизойдётбезперезагрузкистраницысредствамитехнологииSajax(листинг1-добавлениеновойдидактическойединицы).</p><p><strong>1. 7</strong><strong>.5</strong> <strong>И</strong><strong>нтерфейсустановлениядидактически</strong><strong>х единиц для рабочей программы</strong></p><p>С помощью данного интерфейса (рисунок 9) осуществляется выбор и добавление дидактических единиц в рабочую программу. Далее в других интерфейсах на основе вопросов этих дидактических единиц будет генерироваться тест.</p><p>Рисунок9 —Выбордидактическихединицдлярабочейпрограммы</p><p>Для добавления дидактических единиц в рабочую программу необходимо:</p><p>1)Выбратьрабочуюпрограмму;</p><p>2) Выбрать дидактическую единицу;</p><p>3)Нажатьна кнопку«Применить»,длясохранения.</p><p>При выборе рабочей программы в правом окне (№ 3, рисунок) отобразятся уже установленные дидактические единицы.</p><p><strong>1.7.6</strong> <strong>Интерфейс установления зависим</strong><strong>остимеждурабочимипрограммами</strong></p><p>Зависимостьмеждурабочимипрограммамиобеспечиваетпорядокпрохождениятестоврабочихпрограмм.<nobr>Т.е.</nobr> какие рабочие программы необходимо пройти, чтобы приступить к следующим.</p><p>Данныйинтерфейсаналогиченинтерфейсуустановлениязависимостимеждудидактическимиединицами(раздел4.2.3рисунок7 —установлениепредшествующейдидактическойединицы).</p><p><strong>1. 7</strong><strong>.7</strong> <strong>Интерфейс добавления нового вопроса по дидактической единице в б</strong><strong>а</strong><strong>зу данных системы мониторинга</strong></p><p>У каждой дидактической единицы, имеется не менее одного тестового задания (вопроса), которое потом будет привязано к тесту и отображено студенту при проведении этого теста.</p><p>Тестовыезадания(вопросы)в системемониторингахранятсяв видеhtml.И состоятиз двухчастей:</p><p>Первая часть — это фрагмент html кода, в котором хранится вопрос. Данная часть хранится в таблице qtype в виде шаблона со специальными тегами (txt-текст вопроса, image — изображение вопроса) листинг 3 — шаблон вопроса тестового задания. Эти теги в ходе процесса добавления нового тестового задания будут заменены на данные, взятые с интерфейса добавления нового вопроса.</p><p>Листинг3 —Шаблонвопросатестовогозадания.</p><p>< center></p><p><!--question--></p><p><input type="hidden" id="testtype" name="testtype" value=1>

< !--специальный тег, который затем будет заменен на данные с формы создания тестового задания-->

txt

< !--/question-->

< BR>

< BR>

< !--answer-->

< div>

< /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

21 625. 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 руб.

ПоказатьСвернуть
Заполнить форму текущей работой