43839

Программный комплекс классифицирования выпускников вуза (учебный аспект)

Дипломная

Информатика, кибернетика и программирование

Разработка структуры данных Разработка инфологической модели данных Разработка даталогической модели данных Проектирование схемы базы данных

Русский

2013-11-07

3.2 MB

11 чел.

Тема. Программный комплекс классифицирования выпускников вуза (учебный аспект).

Содержание

        

[1] Тема. Программный комплекс классифицирования выпускников вуза (учебный аспект).

[2] Содержание

[3]
Введение

[4]
1 Анализ предметной области и постановка задачи

[5] 1.1 Теория классифицирования

[6] 1.1.1 Система классификации

[7]
1.1.2 Математические методы классификации

[8] 1.2 Основания для разработки

[9] 1.2.1 Описание проблемы

[10] 1.2.2 Техническое задание на разработку программного продукта

[11]
1.3 Выбор метода решения задачи

[12] 1.3.1 Авторегрессия

[13] 1.3.2 Метод наименьших квадратов

[14] 1.3.3 Математическая постановка задачи

[15] 1.4 Выбор СУБД

[16]
1.5 Выбор языка программирование и обоснование

[17] 1.6 Выбор Web-сервера

[18]
2 Моделирование и проектирование программного комплекса

[19] 2.1 Требования, предъявляемые к программному комплексу

[20] 2.1.1 Требования к функциональным характеристикам

[21] 2.1.2 Требования к надежности

[22] 2.1.3 Требования к составу и параметрам технических средств

[23] 2.1.4 Требования к информационной и программной совместимости

[24] 2.2 Алгоритмизация задачи

[25]
2.3 Разработка структуры данных

[26] 2.3.1 Разработка инфологической модели данных

[27] 2.3.2 Разработка даталогической модели данных

[28] 2.3.3 Проектирование схемы базы данных

[29] 2.4 Проектирование архитектуры программного комплекса

[30] 2.5 Организация взаимодействия пользователя с программным средством

[31]
3 Реализация программного комплекса

[32] 3.1 Разработка структуры данных программного комплекса

[33] 3.2 Функциональная структура программного комплекса

[34] 3.2.1 Модуль авторизации

[35] 3.2.2 Модуль ведения базы данных

[36] 3.2.3 Модуль классифицирования

[37] 3.4 Назначение разработки

[38] 3.4.1 Функциональное назначение

[39]
3.4.2 Эксплуатационное назначение

[40] 3.5 Общие сведения

[41] 3.6 Описание работы программного комплекса

[42]
4 Экономическое обоснование проекта

[43] 4.1 Цели и задачи

[44] 4.2 Расчет трудоемкости проекта

[45] 4.3 Затраты на выплату заработной платы

[46] 4.4 Определение материальных расходов

[47] 4.5 Определение накладных расходов

[48] 4.6 Определение себестоимости проекта

[49]
5 Безопасность и экологичность  проекта

[50] 5.1 Требования к помещениям для работы с ПЭВМ

[51] 5.2 Общие требования к организации рабочих мест пользователей

[52] 5.3 Требования к микроклимату на рабочих местах

[53] 5.4 Требования к уровням шума и вибрации на рабочих местах

[54] 5.5 Требования к освещению на рабочих местах

[55] 5.6 Электробезопасность

[56] 5.7 Пожарная безопасность

[57] 5.8 Эргономические требования к пользовательскому интерфейсу

[58]
Заключение

[59]
Список литературы

[60]
Приложение А

[61] Приложение Б

[62]
Приложение В

[63]
Приложение Г


Введение

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

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

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

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

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


1 Анализ предметной области и постановка задачи

1.1 Теория классифицирования

1.1.1 Система классификации

Важным понятием при работе с информацией является классификация объектов.

Классификация – система распределения объектов (предметов, явлений, процессов, понятий) по классам в соответствии с определенным признаком [1].

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

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

Реквизит - логически неделимый информационный элемент, описывающий определенное свойство объекта, процесса, явления [1].

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

При любой классификации желательно, чтобы соблюдались следующие требования:

  •  полнота охвата объектов рассматриваемой области;
  •  однозначность реквизитов;
  •  возможность включения новых объектов [2].

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

Разработаны три метода классификации объектов: иерархический, фасетный, дескрипторный [2]. Эти методы различаются разной стратегией применения классификационных признаков. Рассмотрим основные идеи этих методов для создания систем классификации.

Представленная на рисунке 1.1 иерархическая система классификации строится следующим образом:

  •  исходное множество элементов составляет 0-й уровень и делится в зависимости от выбранного классификационного признака на классы (группировки), которые образуют 1-й уровень;
  •  каждый класс 1-го уровня в соответствии со своим, характерным для него классификационным признаком делится на подклассы, которые образуют 2-й уровень;
  •  каждый класс 2-го уровня аналогично делится на группы, которые образуют 3-й уровень и т.д.

Рисунок 1.1 – Иерархическая система классификации

Учитывая достаточно жесткую процедуру построения структуры классификации, необходимо перед началом работы определить ее цель, т.е. какими свойствами должны обладать объединяемые в классы объекты. Эти свойства принимаются в дальнейшем за признаки классификации [3].

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

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

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

Достоинства иерархической системы классификации:

  •  простота построения;
  •  использование независимых классификационных признаков в различных ветвях иерархической структуры [2].
  •  Недостатки иерархической системы классификации:
  •  жесткая структура, которая приводит к сложности внесения изменений, так как приходится перераспределять все классификационные группировки;
  •  невозможность группировать объекты по заранее не предусмотренным сочетаниям признаков.

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

Схема построения фасетной системы классификации в виде таблицы отображена на рисунке 1.2. Названия столбцов соответствуют выделенным классификационным признакам (фасетам), обозначенным , ,..., ,..., . Например, цвет, размер одежды, вес и т.д. Произведена нумерация строк таблицы. В каждой клетке таблицы хранится конкретное значение фасета. Например, фасет цвет, обозначенный , содержит значения: красный, белый, зеленый, черный, желтый.

Рисунок 1.2 – Фасетная  система классификации

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

,     (1.1)

где -  фасет;

    - количество фасетов.

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

Достоинства фасетной системы классификации:

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

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

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

Суть дескрипторного метода классификации заключается в следующем:

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

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

  •  синонимические указывающие некоторую совокупность ключевых слов как синонимы;
  •  родовидовые, отражающие включение некоторого класса объектов в более представительный класс;
  •  ассоциативные, соединяющие дескрипторы, обладающие общими свойствами [2].


1.1.2 Математические методы классификации

В 60-х годах XX века внутри прикладной статистики достаточно четко оформилась область, посвященная методам классификации. Несколько модифицируя формулировки М.Дж.Кендалла и А.Стьюарта 1966 г. [3], выделим три подобласти: дискриминация, кластеризация, группировка.

В дискриминантном анализе классы предполагаются заданными обучающими выборками. Задача состоит в том, чтобы вновь поступающий объект отнести в один из этих классов. У понятия «дискриминация» имеется много синонимов: распознавание образов, диагностика, статистическая классификация и т.д.

При кластеризации и группировке целью является выявление и выделение классов. Задача кластер-анализа «состоит в выяснении по эмпирическим данным, насколько элементы "группируются" или распадаются на изолированные "скопления", "кластеры"» [4]. Иными словами, задача - выявление «естественного» разбиения на классы, свободного от субъективизма исследователя, а цель – выделение групп однородных объектов, сходных между собой, при резком отличии этих групп друг от друга.

При группировке, наоборот, «мы хотим разбить элементы на группы независимо от того, естественны ли границы разбиения или нет» [4]. Цель состоит в выявлении групп однородных объектов, сходных между собой (как в кластер-анализе), однако «соседние» группы могут не иметь резких различий (в отличие от кластер-анализа). Границы между группами условны, зависят от субъективизма исследователя.

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

В задачах кластеризации и группировки основное – метрика, расстояния


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

Термином «классификация» обозначают, по крайней мере, три разные вещи: процедуру построения классификации, построенную классификацию и процедуру ее использования» [1]. Статистический анализ полученных, в частности экспертами, классификаций – часть статистики бинарных отношений и тем самым – статистики объектов нечисловой природы. Процедура использования классификации, т.е. отнесения вновь поступающего объекта к одному из классов – предмет дискриминантного анализа. Как отмечалось [5], он является частным случаем общей схемы регрессионного анализа. Однако есть ряд специфических постановок.

Часто рекомендуют сначала проводить классификацию, а потом регрессионный анализ (в классическом смысле). Однако при этом нельзя опираться на нормальную модель, так как не будет нормальности в кластерах [6].

В прикладных исследованиях применяют различные методы дискриминантного анализа, основанные на вероятностных моделях [7]. Независимо от «происхождения», каждый подобный алгоритм должен быть исследован как на вероятностных моделях, так и на массивах реальных данных. Цель исследования – выбор наилучшего в определенной области применимости, включение его в стандартный пакет программ, учебные пособия. Но для этого надо уметь сравнивать алгоритмы по качеству. Часто используют показатель «вероятность правильной классификации» (при обработке конкретных данных - «частота правильной классификации»).

Процедуры построения классификации делятся на вероятностные и детерминированные. Задачи построения классификации целесообразно разбить на два типа: с четко разделенными кластерами (задач кластер-анализа) и с условными границами, непрерывно переходящими друг в друга классами (задачи группировки). Такое деление полезно, хотя в обоих случаях могут применяться одинаковые алгоритмы.

1.2 Основания для разработки

1.2.1 Описание проблемы

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

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

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

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

1.2.2 Техническое задание на разработку программного продукта

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

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

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

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

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


1.3 Выбор метода решения задачи

1.3.1 Авторегрессия 

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

Модель авторегрессии – модель, в математической форме выражающая связь текущего значения  стационарного временного ряда с его прошлыми значениями , , , и записываемая в виде

,             (1.2)

где  - параметры, подлежащие оцениванию на основе имеющихся статистических данных (наблюдений);

       - случайная компонента или ошибка уравнения в момент , ;        

       - порядок авторегрессии.

Основой для построения модели авторегрессии временного ряда является изучение его автокорреляционных свойств. В наиболее общем виде автокорреляционные свойства временного ряда учитываются в смешанной модели авторегрессии скользящего среднего (АРСС или ARMA — autoregressive-moving average).

Авторегрессионный процесс первого порядка описывается уравнением

               (1.3)

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

Одна из основных проблем, возникающих при использовании авторегрессии, состоит в оценивании неизвестного параметра .

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

.     (1.4)

1.3.2 Метод наименьших квадратов

Метод наименьших квадратов — один из методов регрессионного анализа для оценки неизвестных величин по результатам измерений, содержащим случайные ошибки. Задача метода наименьших квадратов состоит в выборе вектора, минимизирующего ошибку. Эта ошибка есть расстояние от вектора  до вектора.

МНК – простой и быстрый способ получить неизвестные параметры в функциональных зависимостях и оценить их погрешности.

Можно выделить следующие достоинства метода:

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

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

1.3.3 Математическая постановка задачи 

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

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

Классифицирование необходимо произвести по трем признакам.

  1.  успешность обучения – средний балл студента. Признак, по которому студента можно отнести к одному из трех классов:
    1.  средний балл  – качество удовлетворительное;
    2.  средний балл  – качество хорошее;
    3.  средний балл  – качество отличное.
  2.  тенденция успешности. Выявляет, как на протяжении всего периода обучения изменяется средний балл студента в каждой сессии. В зависимости от этого можно выделить следующие классы:
    1.  прогресс ();
    2.  регресс ();
    3.  стабильность ().
  3.  устойчивость тенденции. Показывает насколько устойчиво в течение 9 семестров у студента проявляются прогресс, регресс или стабильность.  Выражается в процентном отношении:
    1.   – устойчивая тенденция;
    2.   – неустойчивая тенденция.

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

,                                 (1.5)

где   –   студент;

      – средний балл в сессии , .

Затем строится модель авторегрессии

, ,                              (1.6)

где  – номер студента;

      – средний балл  студента в семестре ;

      –  случайная ошибка;

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

Сделав выводы из всего вышесказанного, полагаем наиболее приемлемым для оценивания параметра  метод наименьших квадратов.

Сформируем  два вектора  и

,                                 (1.7)

,                                 (1.8)

Затем с помощью метода наименьших квадратов находим неизвестный нам параметр

,                                           (1.9)

где  – номер студента;

      – средний балл  студента в семестре .

В результате получаем  для каждого студента числовое значение параметра , в зависимости от которого можно распределить студентов на три класса:

  •   – прогресс;
  •   – регресс;
  •   – стабильность.

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

, ,                               (1.10)

И последним шагом в процессе классификации выпускников будет расчет устойчивости тенденции

.                             (1.11)

1.4 Выбор СУБД

СУБД - комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных [9].

Для реализации программного комплекса  выбрана СУБД MySQL.

MySQL - система управления реляционными базами данных.

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

MySQL может использоваться в среде многих различных систем UNIX, а также в среде Microsoft Windows.

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

  •  быстрота работы;
  •  поддержка языка запросов SQL;
  •  безопасность;
  •  переносимость;
  •  малый размер;
  •  работоспособность и цена;
  •  свободное распространение;
  •  поддержка (регулярный выход новых версий, список рассылки) [10].


1.5 Выбор языка программирование и обоснование

Языки программирования (ЯП) для web-приложений делятся на используемые на стороне клиента (client side scripting language) и используемые на стороне сервера (server side scripting language).

Код программ, работающих на стороне клиента, выполняется в браузере, запущенном на компьютере пользователя. Этот код пишется на языках JavaScript и VBScript. Программы на этих языках встраиваются в код web-страниц или выносятся в отдельный файл, обращение к которому осуществляется из web-страницы [10].

Серьезным недостатком языков JavaScript и VBScript является доступность просмотра кода страницы в браузере или при сохранении страницы на диске и открытии любым текстовым редактором. Это создает сразу две проблемы: невозможность скрытия исходного кода и огромная «дыра» в безопасности.

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

Для решения таких задач необходима разработка приложений, используемых на стороне сервера. Эти приложения пишутся на таких языках программирования, как PHP, ASP, Perl, Java.

PHP - это язык обработки гипертекста, используемый на стороне сервера, конструкции которого вставляются в HTML-текст. PHP отличается от других языков программирования своей простотой, синтаксис позволяет быстро освоить этот язык любому, кто знаком с HTML [10].

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

Язык Perl (Practical Extraction and Report Language) является

интерпретируемым языком, который появился еще до появления Internet. Язык Perl разработан в конце 80-х годов и получил распространение потому, что был доступен на каждом web-сервере и альтернативой ему являлся только более сложный, чем Perl, язык С [10].

Язык Perl создавался для разработки самых разных приложений, и потому в значительной степени избыточен. Для реализации web-приложений подходит язык PHP, который наиболее просто интегрируется с уже имеющимся HTML и дает возможность аналогичные задачи решать с меньшими трудозатратами, чем язык Perl.

Язык Java - C-подобный язык, который разрабатывался как упрощенная и улучшенная версия языка С++. Его достоинством является переносимость и объектно-ориентированность, что позволяет создавать сложные и объемные приложения. Но у языка Java есть и недостатки: медленное выполнение и потребление большого количества памяти, а также сложность разработки web-приложений по сравнению с языком PHP, практически не уступающим Java в гибкости и масштабируемости созданных приложений [10].

Язык ASP.NET (Active Server Pages) - язык программирования сценариев от Microsoft. Язык ASP уступает PHP по многим параметрам, и, в первую очередь, по времени исполнения программ.

Особенностью этого языка является возможность использовать любой язык программирования среды исполнения NET(Visual Basic.NET, C#, J#). В рамках одного приложения может быть использовано несколько языков.

Недостатком языка ASP.NET является невозможность выполнения на серверах, работающих не под Windows. Кроме того, если страница активно использует компоненты NET, ее просмотр возможен только в браузере Internet Explorer [10].

Все это говорит о явных преимуществах реализации программного комплекса на языке PHP.

Главным фактором при проектировании языка РНР является практичность.


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

  •  традиционностью. Язык РНР кажется знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си Perl, а нередко код РНР практически неотличим от того, что встречается в типичных программах С или Pascal. Это заметно снижает начальные усилия при изучении РНР.
  •  простотой. Сценарий РНР может состоять из 10 000 строк или из одной строки — все зависит от специфики  задачи. Не нужно подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>).
  •  эффективностью. Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и WWW.
  •  безопасностью. РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.
  •  гибкостью. Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования). Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту сценарии РНР полностью компилируются на стороне сервера. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных ПК.
  •  существует еще одна «характеристика», которая делает РНР особенно привлекательным: он распространяется бесплатно.

1.6 Выбор Web-сервера

Web - сервер – это программное обеспечение, отвечающее за прием запросов браузеров, поиск указанных файлов и возвращение их содержимого. Сейчас большинство Web - серверов в Internet работают на UNIX - машинах.

Для использования при разработке программного комплекса  был выбран Web - сервер Apache в силу того, что Apache считается наиболее эффективным http-сервером из свободно распространяемых.


2 Моделирование и проектирование программного комплекса

2.1 Требования, предъявляемые к программному комплексу

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

2.1.1 Требования к функциональным характеристикам

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

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

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

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

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

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

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

Диаграмма вариантов использования для проектируемого программного комплекса представлена на рисунке 2.1.

Рисунок 2.1 – Диаграмма вариантов использования  

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

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

2.1.2 Требования к надежности

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

Выходные данные должны иметь высокую степень достоверности, и быть

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

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

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

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

2.1.3 Требования к составу и параметрам технических средств

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

  1.  CPU (Процессор) - Intel Pentium/Celeron/Core2, AMD K6/Athlon/Duron/Phenom с частотой не менее 300 МГц;
  2.  рекомендуется не менее128 МБ ОЗУ;
  3.  монитор и видеоадаптер SVGA с разрешением не менее 800*600;
  4.  OC семейств Windows или Linux;
  5.  web-браузер:
    1.  Mozilla Firefox v.2.0 – v.3.0.10;
    2.  Opera v.9.64;
    3.  Internet Explorer v8.0.
  6.  Клавиатура, мышь.

2.1.4 Требования к информационной и программной совместимости

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

Для проектирования программы необходимо использовать такие среды проектирования как Microsoft Visio, ArgoUML, DbWrench и Microsoft Word. Для реализации данного программного продукта используется среда разработки PHP, Web-сервер Apache и  СУБД MySQL.

2.2 Алгоритмизация задачи

Функционирование программного комплекса должно осуществляться согласно структурному алгоритму, построенному исходя из требований, предъявляемых к выполняемым программой функциям. Работу всего комплекса можно представить алгоритмом, изображенным на рисунке 2.2.



Рисунок 2.2 – Алгоритм работы программного комплекса


2.3 Разработка структуры данных

Проектирование БД состоит в построении комплекса взаимосвязанных моделей данных. База данных - централизованное хранилище данных, обеспечивающее хранение, доступ, первичную обработку и поиск информации [11].

Под моделью данных понимают описание предметной области с точки зрения информационных аспектов. Моделирование данных - процесс перехода к абстракциям более высокого уровня [12].

Различают инфологические, даталогические и физические модели данных.

2.3.1 Разработка инфологической модели данных

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

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

Атрибут - поименованная характеристика сущности.

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

Связь - ассоциирование двух или более сущностей [13].

Наиболее распространенный способ инфологического моделирования -


построение ER диаграмм (от англ. Entity-Relation, то есть сущность-связь). ER диаграмма для рассматриваемой предметной области представлена на рисунке 2.3.

Рисунок 2.3 – ER диаграмма 

Инфологическая модель данных должна быть отображена в даталогическую модель, «понятную» СУБД.

2.3.2 Разработка даталогической модели данных

Даталогические модели в зависимости от типа используемой СУБД делятся на иерархические, сетевые, реляционные и другие.  Описание даталогической модели данных в терминах СУБД называют схемой данных [14].

В дипломном проекте используется реляционная модель данных.

Реляционная модель данных основывается на понятии отношение. Отношение представляет собой множество элементов, называемых кортежами.

Наглядной формой представления отношения является привычная для восприятия двумерная таблица. Таблица имеет строки (записи) и столбцы (колонки). Каждая строка таблицы имеет одинаковую структуру и состоит из полей. Строкам таблицы соответствуют кортежи, а столбцам – атрибуты отношения. В инфологической модели были выявлены связи между сущностями типа М:М. В даталогической и физической моделях данных для реализации связей М:М создаются промежуточные таблицы, в которых первичные ключи связываемых сущностей являются внешними ключами.

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

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

  1.  Categorization (классифицирование) – результирующая таблица, содержащая данные по группе студентов, классифицированных по критериям;
  2.  Students (студенты) – таблица содержит подробную информацию о студентах;
  3.  Faculty (факультет) – таблица содержит список факультетов в университете;
  4.  Groups (группа) – таблица содержит список групп соответственно каждому факультету;
  5.  Bordereau (ведомость) – таблица содержит данные об успеваемости каждого студента по каждому предмету в течение всего его периода обучения;
  6.  Lessons (дисциплины) – таблица содержит список изучаемых в университете дисциплин;
  7.  Estimations (оценка) – таблица содержит список возможных оценок;
  8.  Semesters (семестр) – список семестров;
  9.  User (пользователь) – таблица позволяет разграничить доступ к программному комплексу.

2.3.3 Проектирование схемы базы данных

Физическая модель данных содержит описание хранимых данных, по ней СУБД находит нужные данные на запоминающих устройствах.

Далее представлено описание таблиц БД для проектируемого программного комплекса.

Таблица 2.1 – Физическая структура таблицы Categorization

Атрибут

Тип

Ключ

Описание

ca_id

Integer(10)

первичный

уникальный идентификатор записи

ca_stability

VarChar(45)

-

стабильность успешности

ca_success

VarChar(45)

-

успешность обучения

ca_fixity

VarChar(45)

-

устойчивость стабильности

ca_st_id

Integer(10)

внешний

идентификатор студента

Таблица 2.2 – Физическая структура таблицы Students

Атрибут

Тип

Ключ

Описание

st_id

Integer(10)

первичный

уникальный идентификатор записи

st_fio

VarChar(100)

-

фамилия, имя, отчество студента

st_nz

Integer(10)

-

номер зачетной книжки студента

st_gr_id

Integer(10)

внешний

идентификатор группы

Таблица 2.3 – Физическая структура таблицы Faculty

Атрибут

Тип

Ключ

Описание

fa_id

Integer(10)

первичный

уникальный идентификатор записи

fa_namе

VarChar(100)

-

название факультета

Таблица 2.4 – Физическая структура таблицы Groups

Атрибут

Тип

Ключ

Описание

gr_id

Integer(10)

первичный

уникальный идентификатор записи

gr_namе

VarChar(45)

-

название группы

gr_fa_id

Integer(10)

внешний

идентификатор факультета

Таблица 2.5 – Физическая структура таблицы Bordereau

Атрибут

Тип

Ключ

Описание

bo_id

Integer(10)

первичный

уникальный идентификатор записи

bo_le_id

Integer(10)

внешний

идентификатор дисциплины

bo_se_id

Integer(10)

внешний

идентификатор семестра

bo_es_id

Integer(10)

внешний

идентификатор оценки

bo_st_id

Integer(10)

внешний

идентификатор студента

Таблица 2.6 – Физическая структура таблицы Lessons

Атрибут

Тип

Ключ

Описание

le_id

Integer(10)

первичный

уникальный идентификатор записи

le_namе

VarChar(45)

-

название дисциплины

Таблица 2.7 – Физическая структура таблицы Estimations

Атрибут

Тип

Ключ

Описание

es_id

Integer(10)

первичный

уникальный идентификатор записи

es_namе

VarChar(45)

-

оценка

Таблица 2.8 – Физическая структура таблицы Semesters

Атрибут

Тип

Ключ

Описание

se_id

Integer(10)

первичный

уникальный идентификатор записи

se_namе

VarChar(100)

-

семестр

Таблица 2.9 – Физическая структура таблицы User

Атрибут

Тип

Ключ

Описание

us_id

Integer(10)

первичный

уникальный идентификатор записи

us_login

VarChar(200)

-

логин для доступа к комплексу


Продолжение таблицы 2.9

Атрибут

Тип

Ключ

Описание

us_pass

VarChar(200)

-

пароль

us_level

Integer(10)

-

уровень доступа

Схема БД приведена в приложении А.

2.4 Проектирование архитектуры программного комплекса

Для того чтобы была возможность использовать программный комплекс практически в любой операционной системе (Windows, Linux) для основы была выбрана web-технология. Если программный комплекс выполнен в виде web-приложения и хранится на головном сервере, то он доступен из любой ОС через браузер, что избавляет администратора и обслуживающий персонал системы от таких задач, как установка комплекса на пользовательский компьютер, настройка его и т.д. Если в комплексе возникают сбои или ошибки, то достаточно устранить их только на сервере и исправленный комплекс сразу будет доступен всем пользователям, без переустановки его на каждой машине или обновления.

При разработке программного комплекса была использована трехуровневая архитектура «Клиент - Сервер приложений - Сервер базы данных».

Клиент - компонент, представляющий собой приложение для конечного пользователя. Этот  уровень не должен иметь прямых связей с базой данных (БД) по требованиям безопасности и быть нагруженным основной бизнес-логикой по требованиям масштабируемости.

Сервер приложений - сервер, исполняющий некоторые прикладные программы. Он взаимодействует с клиентами, получая задания, и взаимодействует с БД, выбирая данные, необходимые для обработки.

Сервер базы данных обеспечивает хранение данных. Обычно это реляционная или объектно-ориентированная СУБД.

По сравнению с двухуровневой, трехуровневая архитектура обладает следующими достоинствами:

  •  уменьшается сетевой трафик, поскольку в сети циркулирует минимальный объем информации;
  •  повышается уровень безопасности информации, так как обработка запросов к БД выполняется сервером БД, который управляет доступом к ней, запрещая одновременное изменение одной записи различными пользователями, реализуя механизм транзакций и т.д.;
  •  повышается устойчивость Web-приложения к сбоям;
  •  обеспечивается взаимозаменяемость компонентов архитектуры трехуровневого приложения;
  •  снижается сложность модулей расширения Web-сервера, в которых отсутствует программный код, связанный с контролем БД и ограничением доступа к ней [11].

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

Архитектура программного комплекса представлена на рисунке 2.5.

Рисунок 2.5 – Архитектура программного комплекса

2.5 Организация взаимодействия пользователя с программным средством 

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

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

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

Рисунок 2.6 – Макет пользовательского интерфейса

Область заголовка  – отображают логотип программного комплекса,  его название.

Меню – отображает доступные действия.

Рабочая область – отображает информацию в соответствии с последними действиями пользователя.

Основываясь на требованиях, предъявленных к надежности программного комплекса, было решено разработать два типа интерфейса, в зависимости


от уровня  доступа:

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

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

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

CSS (англ. Cascading Style Sheets — каскадные таблицы стилей) — технология описания внешнего вида документа, написанного языком разметки.

Конкретные преимущества CSS:

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

Для создания динамических страниц был применен язык JavaScript. JavaScript – объектно-ориентированный скриптовый ЯП. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.

В дипломном проекте JavaScript был использован для:

  •  организации выпадающих меню;
  •  проверки данных форм до их отправки на сервер.

С учетом всех вышеперечисленных фактов на языке программирования HTML с использованием технологий CSS был разработан шаблон интерфейса программного комплекса, который представлен на рисунке 2.7.

Рисунок 2.7 – Шаблон пользовательского интерфейса


3 Реализация программного комплекса

3.1 Разработка структуры данных программного комплекса 

Для разработки базы данных была выбрана программная среда разработки баз данных  DbWrench. Данное средство осуществляет как прямой, так и обратный инжиниринг БД и  является простым в использовании. Фрагмент разработанной в DbWrench базы данных  представлен на рисунке 3.1.

Рисунок 3.1 – Окно программы DbWrench 

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

Далее с помощью программного средства phpMyAdmin, представляющего собой веб-интерфейс для администрирования СУБД MySQL, используя полученный sql-файл, разработанная база данных была импортирована в СУБД MySQL.

3.2 Функциональная структура программного комплекса 

Приложение программного комплекса классифицирования выпускников


написано на языке программирования PHP в виде отдельных модулей и требует для работы наличия на рабочей машине локального
WebServer. Для хранения данных в программном комплексе и реализации механизмов выборки данных в ходе обработки используется СУБД MySQL.

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

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

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

3.2.1 Модуль авторизации 

Модуль авторизации пользователей предназначен для входа пользователей в систему,  их идентификации и определения возможных действий пользователя по отношению к системе. Модуль реализован с помощью следующих скриптов PHP: index.php, login.php, config.php, get_login.php, get_info.php.

Фрагмент реализации модуля авторизации представлен в приложении Б.

3.2.2 Модуль ведения базы данных

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

Рисунок 3.2 – Функциональная структура программного комплекса

Модуль реализован с помощью следующих скриптов PHP: servilet.php, user.php, semesters.php, lessons.php, faculty.php, students.php, groups.php, estimations.php, bordereau.php.

Фрагмент реализации модуля ведения базы данных представлен в приложении В.

3.2.3 Модуль классифицирования

Модуль классифицирования – основной модуль комплекса. Модуль предоставляет возможность пользователю быстро и легко получить информацию о группе студентов. Данные представляют собой набор критериев классифицирования: успешность обучения студента, стабильность успешности и устойчивость стабильности. Модуль реализован с помощью следующих скриптов PHP: categorization.php, servilet.php.

Фрагмент реализации модуля классифицирования выпускников представлен в приложении Г.

3.4 Назначение разработки

3.4.1 Функциональное назначение

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


3.4.2 Эксплуатационное назначение

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

3.5 Общие сведения

Разработанный программный комплекс представляет собой специализированную систему управления базой данных, реализованную на языке PHP с использованием пакета Denwer, включающего связку Apache+PHP+MySQL.

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

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

3.6 Описание работы программного комплекса

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

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

Для начала работы с комплексом пользователю необходимо пройти аутентификацию: ему будет предложено ввести логин (имя пользователя) и пароль, как показано на  рисунке 3.3. Полученная информация проверяется, и определяются полномочия пользователя.

Рисунок 3.3 – Окно входа в систему

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

Рисунок 3.4 Меню программного комплекса

Для иллюстрации работы программного комплекса была использована информация об успеваемости выпускников Института Информационных Технологий и Моделирования специальности «Программное обеспечение вычислительной техники и автоматизированных систем» группы ПО-05-1. На основе, которой был сформирован пример классифицирования выпускников.

Далее представлено описание возможностей реализованного программного комплекса классифицирования выпускников для рассматриваемого примера.

  •  Просмотр данных. Представлен на примере таблицы «Студенты» рисунок  3.5.

Рисунок 3.5 – Окно просмотра данных

Для облегчения работы с данными таблицы «Ведомость» предусмотрено выпадающее меню – рисунок 3.6. Оно позволяет отсортировать все данные по группам и семестрам, что делает представление данных более наглядным и удобным  для восприятия – рисунок 3.7.

Рисунок 3.6 – Выпадающее меню для сортировки информации  в таблице «Ведомость»

Рисунок 3.7 – Окно просмотра данных таблицы «Ведомость»

  •  Добавление данных. В зависимости от таблицы, в которую необходимо добавить данные существует несколько вариантов интерфейса. Для того чтобы внести информацию в таблицу «Предметы», необходимо просто в поле ввести название предмета рисунок  3.8. В таблице «Группы» первоначально следует выбрать из выпадающего меню факультет  – рисунок 3.9. 

Рисунок 3.8 – Добавление данных в таблицу «Предметы»

Рисунок 3.9 – Добавление данных в таблицу «Группы»

Для корректной работы комплекса при добавлении данных необходимо заполнять все поля. Например, в таблице «Студенты» сначала нужно выбрать факультет, в соответствии с которым появляется список существующих на этом факультете групп, одну из предложенных надо выбрать. А затем ввести фамилии, имя, отчество студента и номер его зачетной книжки – рисунок 3.10.

Рисунок 3.10 – Добавление данных в таблицу «Студенты»

В таблице «Ведомость» для добавления данных необходимо все поля заполнить посредством выбора необходимой информации из выпадающего меню – рисунок 3.11.

Рисунок 3.11 – Добавление данных в таблицу «Ведомость»

После того, как все поля были заполнены, необходимо нажать на кнопку для сохранения данных – рисунок 3.12.

Рисунок 3.12 – Кнопка для сохранения информации в БД

Для проверки корректности вводимых данных было предусмотрено окно подтверждения необходимости добавления информации – рисунок 3.13.

Рисунок 3.13 – Окно подтверждения добавления данных

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

Рисунок 3.14 – Отчет комплекса о корректности добавленных данных

  •  Удаление данных происходит по нажатию кнопки рисунок  3.15.

Рисунок 3.15 – Кнопка для удаления информации из БД

После чего система просит подтвердить действие удаления записи – рисунок 3.16.

Рисунок 3.16 – Окно подтверждения удаления данных

Если пользователь подтверждает свои действия нажатием на кнопку «ОК», которая представлена на рисунке 3.17, то данные будут удалены из БД, и система выдаст сообщение – рисунок 3.18.

Рисунок 3.17 – Кнопка подтверждения действий пользователя

Рисунок 3.18 – Отчет системы об удалении данных

  •  Классифицирование выпускников. Интерфейс окна классифицирования выпускников представлен на рисунке  3.19. В этом окне пользователь первоначально должен выбрать факультет. После этого страница динамически обновляется, вследствие чего появляется список групп этого факультета, представленный на рисунке 3.20, и кнопки для расчета критериев классифицирования изображенные рисунке 3.21, и вывода их результатов – рисунок 3.22.

Рисунок 3.19 – Окно классифицирования выпускников

Рисунок 3.20 – Интерфейс окна классифицирования

Рисунок 3.21 Кнопка для расчета критериев классифицирования  

Рисунок 3.22 Кнопка для вывода результатов классифицирования студентов

После того как пользователь нажмет на кнопку «Показать», представленную на рисунке 3.22, система выдаст список группы студентов, классифицированных по трем признакам: устойчивость – успешность – стабильность, изображенный на рисунке 3.23.

Рисунок 3.23 – Список группы классифицированных студентов

Также пользователь может просмотреть подробную информацию о критериях классифицирования для каждого студента индивидуально, что изображено на рисунке 3.24. Для этого необходимо просто нажать на фамилию студента. В результате можно увидеть точные значения рассчитанных данных.

Рисунок 3.24 – Окно просмотра подробной информации для каждого студента


4 Экономическое обоснование проекта

4.1 Цели и задачи 

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

Одна из наиболее распространенных для этого методик - модель оценки совокупной стоимости владения (Total Cost of Ownership, TCO). В модели ТСО учитываются следующие ИТ-затраты: фиксированные (капитальные) и текущие (эксплуатационные). Затраты условно разносят по жизненному циклу программного комплекса: капитальные вложения осуществляются на этапе создания, текущие - на этапе внедрения и функционирования.  

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

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

Капитальные затраты всегда прямые.  Эксплуатационные затраты могут быть как прямыми, так и косвенными.

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

К эксплуатационным расходам на создание программного комплекса относятся:

  •  заработная плата исполнителям;
  •  отчисления с заработной платы;
  •  материальные расходы;
  •  накладные расходы.

4.2 Расчет трудоемкости проекта 

Расчет трудоемкости проекта представлен в таблице 4.1.

Таблица 4.1 - Перечень работ и их трудоемкость

№ этапа

Название этапа

№ работы

Содержание работы

Трудоемкость (чел-час)

1

анализ предметной области

1

анализ методов теории  классификации

10

2

сбор данных

15

3

выбор метода решения задачи

5

2

проектирование программного комплекса

4

проектирование структуры данных

35

5

проектирование архитектуры комплекса

22

6

проектирование макета графического интерфейса

34

7

формирование требований к структуре и функционированию комплекса

27

3

реализация программного комплекса

8

алгоритмизация задачи

48

9

разработка пользовательского интерфейса

35

10

разработка программных модулей

150

4

тестирование

11

тестирование и отладка

63

5

подготовка документации по проекту

12

написание пояснительной записки к дипломному проекту

52

Итого

496

4.3 Затраты на выплату заработной платы 

Затраты на выплату исполнителям заработной (, руб) платы определяется следующим соотношением

,     (4.1)

где  – основная заработанная плата, руб;

      – дополнительная заработная плата, руб;

      – отчисление с заработанной платы, руб.

Расчет основной заработанной платы при дневной оплате труда (, руб) исполнителей следует проводить на основе данных по окладам и графику занятости исполнителей

,      (4.2)

где  – число дней, отработанных исполнителем проекта;

       – дневной оклад исполнителя, руб.

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

,       (4.3)

где  – месячный оклад, руб;

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

  ,     (4.4)

где  – продолжительность рабочего дня;

      – общее число дней в году;

      – число выходных дней в году;

      – число праздничных дней в году.

Фонд времени в текущем месяце равен 166 часов.

В данном дипломном проекте установлен месячный оклад работника, соответствующий должности, занимаемой в ИрГУПСе. Данные приведены в таблице 4.2.

Таблица 4.2 - Расчет затрат на заработную плату

Должность

Месячный оклад (руб.)

Дневной оклад (руб.)

Число отработанных дней

з/п исполнителю (руб.)

Инженер-программист

12000

578,31

62

35855,22

Итого:

35855,22

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

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

,   (4.5)

где  - основная заработная плата, руб.

       - районный коэффициент, .

       - коэффициент северных регионов, .

       -  размер премии от основной заработной платы, .

Формула 4.5 позволяет вычислить расходы на дополнительную заработную плату

руб.

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

,      (4.6)

где  - отчисления с заработанной платы в виде единого социального налога().

Формула 4.6 позволяет вычислить расходы на отчисление заработной платы

руб.

Согласно формуле 4.1, затраты на выплату исполнителям заработной платы составят

руб.

4.4 Определение материальных расходов 

Расходы на персональный компьютер (ПК) определяются материальными расходами на ПК в течение срока разработки программного комплекса и стоимостью ПК.

В материальные расходы входят:

  •  расходы  на электроэнергию;
  •  стоимость расходных материалов;
  •  амортизационные затраты на ПК и ПО;
  •  дополнительные расходы - уборка помещения, охрана, аренда, коммунальные услуги.

Суммарные материальные расходы (, руб) определяются как

,    (4.7)

где   - расходы  на электроэнергию (руб);

       - стоимость расходных материалов (руб);

      - затраты на комплектующие изделия для ремонта ПК (руб);

      - затраты на заработную плату ремонтнику (руб);

       - амортизационные затраты на ПК (руб);

       - амортизационные затраты на ПО (руб);

       - дополнительные расходы (руб). В дипломном проекте , потому что разработчик занимал имеющееся рабочее место, и дополнительные условия для разработки не создавались.

Расходы на электроэнергию () определяются из соотношения

   ,      (4.8)

где  – мощность компьютера (0,3 Квт/ч);

      – стоимость 1 Квт/ч (0,62 руб.);

      – время разработки (496 часов).

Формула 4.8 позволяет вычислить расходы на электроэнергию

руб.

Затраты на расходные материалы в течение всего срока эксплуатации примерно 10% от стоимости компьютера. Срок эксплуатации персонального компьютера – 3 года. Следовательно, можно определить подобные расходы за период создания программного обеспечения

,      (4.9)

где  – количество рабочих дней в году (249 дней);

       – стоимость компьютера (20000 руб.);

       – срок разработки (62 дня).

Формула 4.9 позволяет вычислить стоимость расходных материалов

руб.

Затраты на комплектующие изделия () для ремонта ПК составляют 10% от стоимости ПК за срок его эксплуатации. Срок эксплуатации персонального компьютера – 3 года. Следовательно, можно определить подобные расходы на ремонт за период создания программного обеспечения. Затраты на комплектующие изделия (, руб.) рассчитываются по формуле

.               (4.10)

руб.

На ремонт 50 компьютеров требуется один инженер-системотехник. Его среднемесячная заработная плата . Тогда в пересчете на один компьютер его заработная плата составит . Установим среднемесячную заработную плату  в размере 10000 рублей. Рассчитаем затраты на заработную плату ремонтнику (, руб.), исходя из того, что ему будет необходимо обслуживать 5 ПК, по формуле

,                        (4.11)

где  – среднемесячная заработная плата (10000 руб.).

руб.

Амортизационный период ПК в настоящее время равен сроку морального старения вычислительной техники и составляет 3 года. Следовательно, за 3 года  равны стоимости компьютера

,      (4.12)

где - срок службы (3 года).

Формула 4.12 позволяет вычислить амортизационные отчисления на персональный компьютер

руб.

зависят от цикла замены ПО. Если принять срок морального старения такой же, как у ПК, то  за 3 года равны стоимости ПО

,      (4.13)

где  – стоимость ПО (9000).

Формула 4.13 позволяет вычислить амортизационные отчисления на программное обеспечение

руб.

Итого суммарные материальные расходы составят

руб.

4.5 Определение накладных расходов 

Накладные расходы следует вычислить, ориентируясь на расходы по основной заработанной плате. Обычно они составляют от 60% до 100% расходов на основную заработанную плату. Для Иркутского государственного университета путей сообщений его можно принять как 60% от ОЗП

,       (4.14)

где  - основная заработная плата, руб.

Формула 4.14 позволяет вычислить накладные расходы

руб.

4.6 Определение себестоимости проекта 

Определив затраты на материалы, оплату труда, социальное страхование, накладные расходы, можно определить себестоимость проекта – таблица 4.3.

Таблица 4.3 - Себестоимость проекта

Наименование затрат

Всего (руб.)

Основная заработная плата

35855,22

Единый социальный налог

15317,35

Материальные расходы

3066,27

Накладные расходы

25513,13

Итого себестоимость проекта

79751,97

Стоимость базовых программных средств (лицензионных)

9000

Общая стоимость

88751,97

Для наглядного отображения затрат на проект на рисунке 4.1 построена диаграмма.

Рисунок 4.1 – Структура затрат на проект

На основании вышесказанного, можно сказать, что для разработки системы одним инженером-программистом потребуется 62 рабочих дня, себестоимость разработки составит 88751,97рубля.


5 Безопасность и экологичность  проекта

Основные требования к организации работы с персональной электронно-вычислительной машиной (ПЭВМ) содержатся в Санитарных правилах и нормах СанПиН 2.2.2/2.4.1340-03 [20].

5.1 Требования к помещениям для работы с ПЭВМ

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

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

Площадь на одно рабочее место пользователей ПЭВМ на базе электронно-лучевой трубки (ЭЛТ) должна составлять не менее 6 м², на базе плоских экранов (жидкокристаллические, плазменные) – 4,5 м².

Для внутренней отделки интерьера помещений, где расположены ПЭВМ, должны использоваться диффузно-отражающие материалы с коэффициентом отражения для потолка – 0,7 – 0,8; для стен – 0,5 – 0,6; для пола – 0,3 – 0,5.

Полимерные материалы используются для внутренней отделки интерьера помещений с ПЭВМ при наличии санитарно-эпидемиологического заключения.

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

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

5.2 Общие требования к организации рабочих мест пользователей

При размещении рабочих мест с ПЭВМ расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора), должно быть не менее двух метров, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.

Рабочие места с ПЭВМ в помещениях с источниками вредных производственных факторов должны размещаться в изолированных кабинах с организованным воздухообменом.

Экран видеомонитора должен находиться от глаз пользователя на расстоянии 600 - 700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.

Конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования с учетом его количества и конструктивных особенностей, характера выполняемой работы. При этом допускается использование рабочих столов различных конструкций, отвечающих современным требованиям эргономики. Поверхность рабочего стола должна иметь коэффициент отражения 0,5 – 0,7.

Конструкция рабочего стула (кресла) должна обеспечивать поддержание рациональной рабочей позы при работе на ПЭВМ, позволять изменять позу с целью снижения статического напряжения мышц шейно-плечевой области и спины для предупреждения развития утомления. Тип рабочего стула (кресла) следует выбирать с учетом роста пользователя, характера и продолжительности работы с ПЭВМ.

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

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

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

Модульными размерами рабочей поверхности стола для ПЭВМ, на основании которых должны рассчитываться конструктивные размеры, следует считать: ширину 800, 1000, 1200 и 1400 мм, глубину 800 и 1000 мм при нерегулируемой его высоте, равной 725 мм.

Рабочий стол должен иметь пространство для ног высотой не менее 600 мм, шириной - не менее 500 мм, глубиной на уровне колен – не менее 450 мм и на уровне вытянутых ног - не менее 650 мм.

Конструкция рабочего стула должна обеспечивать:

  •  ширину и глубину поверхности сиденья не менее 400 мм;
  •  поверхность сиденья с закругленным передним краем;
  •  регулировку высоты поверхности сиденья в пределах 400 - 550 мм и углам наклона вперед до 15°, и назад до 5°;
  •  высоту опорной поверхности спинки 300 ± 20 мм, ширину - не менее 380 мм и радиус кривизны горизонтальной плоскости - 400 мм;
  •  угол наклона спинки в вертикальной плоскости в пределах ± 30°;
  •  регулировку расстояния спинки от переднего края сиденья в пределах 260 - 400 мм;
  •  регулировку подлокотников по высоте над сиденьем в пределах 230±30 мм и внутреннего расстояния между подлокотниками в пределах 350 - 500 мм.

Рабочее место пользователя ПЭВМ следует оборудовать подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20°. Поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм.

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

5.3 Требования к микроклимату на рабочих местах 

Для обеспечения безопасных климатических условий в помещениях, где  проводятся работы с использованием ПЭВМ, должны обеспечиваться оптимальные параметры микроклимата (представлено в таблице 5.1).  Параметры микроклимата включают:

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

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

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

Уровни положительных и отрицательных аэроионов в воздухе помещений должны соответствовать нормам, приведенным в таблице 5.2 [20]. Для поддержания рекомендуемого уровня аэроионов нужно пользоваться ионизаторами воздуха.

Таблица 5.1 - Оптимальные нормы микроклимата для помещений с ВДТ и ПЭВМ

Период

года

Категория

работ

Температура

Воздуха, гр.С

не более

Относительная

влажность

воздуха,  %

Скорость

Движения

воздуха, м/с

Холодный

Легкая-1а

22-24

40-60

0,1

Легкая-1б

21-23

40-60

0,1

Теплый

Легкая-1а

23-25

40-60

0,1

Легкая-1б

22-24

40-60

0,2

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

Таблица 5.2 - Уровни ионизации воздуха помещений при работе на ВДТ и ПЭВМ

Уровни

Число ионов в 1 см3 воздуха

n+

n-

Минимально необходимые

400

600

Оптимальные

1500 - 3000

3000 - 5000

Максимально допустимые

50000

50000

5.4 Требования к уровням шума и вибрации на рабочих местах

Требования к шуму и вибрации для помещений, в которых эксплуатируются ПЭВМ,  сформулированы на основе СанПиН  2.2.2/2.4.1340-03 [20].

При выполнении основной работы на ВДТ и ПЭВМ уровень шума на рабочем месте не должен превышать 50 дБА. В помещениях, где работают инженерно-технические работники, осуществляющие лабораторный, аналитический или измерительный контроль, уровень шума не должен превышать 60 дБА. В помещениях операторов ЭВМ (без дисплеев) уровень шума не должен превышать 65 дБА. На рабочих местах в помещениях для размещения шумных агрегатов вычислительных машин (АЦПУ, принтеры и т.п.) уровень шума не должен превышать 75 дБА. Шумящее оборудование (АЦПУ, принтеры и т.п.), уровни шума которого  превышают нормированные, должно находиться вне помещения с ВДТ и ПЭВМ. Снизить уровень шума в помещениях можно использованием звукопоглощающих материалов с максимальными коэффициентами звукопоглощения в области частот 63-8000 Гц для отделки помещений (разрешенных органами и учреждениями Госсанэпиднадзора России), подтвержденных специальными акустическими расчетами. Дополнительным звукопоглощением служат однотонные занавеси из плотной ткани, гармонирующие с окраской стен и подвешенные в складку на расстоянии  15-20 см от ограждения. Ширина занавеси должна быть в два раза больше ширины окна.

5.5 Требования к освещению на рабочих местах

Требования к освещению на рабочих местах  сформулированы на основе СНиП 23-05-95 [21].

Рабочие столы следует размещать таким образом, чтобы видео-дисплейные терминалы были ориентированы боковой стороной к световым проемам, чтобы естественный свет падал преимущественно слева.

Искусственное освещение в помещениях для эксплуатации ПЭВМ должно осуществляться системой общего равномерного освещения. В производственных и административно-общественных помещениях в случаях преимущественной работы с документами следует применять системы комбинированного освещения (к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов).

Освещенность на поверхности стола в зоне размещения рабочего документа


должна быть 300 - 500 лк. Освещение не должно создавать бликов на поверхности экрана. Освещенность поверхности экрана не должна быть более 300 лк.

Следует ограничивать прямую блесткость от источников освещения, при этом яркость светящихся поверхностей (окна, светильники и др.), находящихся в поле зрения, должна быть не более 200 кд/м².

Следует ограничивать отраженную блесткость на рабочих поверхностях (экран, стол, клавиатура и др.) за счет правильного выбора типов светильников и расположения рабочих мест по отношению к источникам естественного и искусственного освещения, при этом яркость бликов на экране ПЭВМ не должна превышать 40 кд/м² и яркость потолка не должна превышать 200 кд/м².

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

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

5.6 Электробезопасность

В соответствии с ГОСТ 12.1.019-79 “Электробезопасность” [22].

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

Заземление - компьютер имеет розетки с контактом заземления.

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

5.7 Пожарная безопасность

В соответствии с СНиП 2.01.02-85 [23].

Помещение должно быть оборудовано автоматическими устройствами обнаружения пожара (АУОП) и автоматическими устройствами пожаротушения (АУПТ), т.к. входит в НПБ 110-96 «Перечень зданий, сооружений, помещений подлежащих защите автоматическими устройствами тушения и обнаружения пожаров». В качестве огнетушащего вещества использовать хладон.

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

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

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

5.8 Эргономические требования к пользовательскому интерфейсу 

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

Нормативные требования по эргономике пользовательского интерфейса отличаются по своей природе от синтаксических и манипуляционных правил — они относятся к психофизиологическим свойствам конкретной реализации уже выбранного типа (стиля) пользовательского интерфейса (и соответствующего стандарта) в конкретном приложении. В этих условиях эргономические стандарты могут лишь требовать достижения некоторых общих руководящих эргономических принципов, которым должно удовлетворять реализация в приложении выбранного тип (стиля). При этом предполагается, что приложение должно оптимально инкорпорировано в техническую среду. Ряд более ранних стандартов (стандарты ISO 9241 P.3-9) касаются именно этой среды (клавиатура, дисплеи, устройства ввода с клавиатуры и мыши, мебель рабочей станции и показатели рабочей среды, например, освещение или уровни шума). Эргономические аспекты пользовательского интерфейса приложения являются естественным расширением эргономики технических средств и рабочего места.

В основу разработки большинства современных графических пользовательских интерфейсов (GUI) положены три метафоры: «рабочий стол», «работаешь с тем, что видишь», «видишь, что получил».

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

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

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

В рамках графического интерфейса все три метафоры получили достаточно адекватное воплощение:

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

Прямое манипулирование объектом обладает следующими достоинствами:

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

Еще одна важная особенность современных ГПИ – многооконность. Эта технология обеспечивает пользователю доступ к большому объему информации, чем при использовании одного экрана. Кроме того, имея через окна доступ к нескольким источникам информации одновременно, пользователь может объединять имеющуюся в них информацию. Например изображения, полученные с помощью графического редактора, можно включить в текстовый документ.

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

Таким образом, графический интерфейс позволяет расширить пространство обзора и повысить эффективность работы пользователя. Однако сам по себе графический интерфейс не гарантирует повышения эффективности работы пользователя. Это обусловлено тем, что метафора «рабочий стол» далеко не всегда означает «аккуратный рабочий стол». Если «рабочий стол» плохо организован, существует опасность, что пользователь будет тратить больше времени на поиск «документов» и «инструментов», чем на решение стоящих перед ним задач.

Прямое манипулирование объектами не всегда удобно для опытного пользователя – часто некоторую последовательность действий можно выполнить быстрее с помощью одной команды (макроса), чем посредством серии манипуляций «мышью».

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

Визуальные атрибуты отображаемой информации.

К визуальным атрибутам отображаемой информации относится:

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

Проектирование размещения данных на экране монитора предполагает выполнения следующих действий:

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

В результате проектирования для пользователя должны обеспечиваться:

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

Объемы содержания информации, подлежащей отображению, зависят от специфики выполняемого пользователем задания. При этом существенную роль играет правильное разбиение задания на операции (этапы), не требующие одновременного присутствия большого объема данных на экране. Причина – психофизиологические особенности оператора, ограниченность его кратковременной памяти, способной хранить одновременно не более 5 – 9 объектов. Если вся информация исходного документа не помещается на одном экране (кадры), некоторые элементы данных могут повторяться на других экранах для сохранения целостности и последовательности обработки.

Свойство естественности интерфейса предполагает, что информация отображается на экране в виде, пригодном для непосредственного использования. Принцип согласованности – определяет требование и использование общепринятых (стандартных) форматов при выводе текстовых и графических данных (объектов).

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

Рекомендации по размещению данных на экране (или в пределах окна):

  •  оставлять пустым приблизительно половину площади экрана (окна);
  •  оставлять пустую строку после каждой пятой строки таблицы;
  •  оставлять 4-5 пробелов между столбцами таблицы.

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

Меню, содержащее относительно небольшой объем информации, должно смещаться в левую верхнюю часть экрана.

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

Текстовые сообщения рекомендуется группировать справа, а графические изображения слева (определяется факторами, связанными с право-левой ассиметрией функционирования головного мозга). Это особенно важно для систем, работающих в режиме реального времени, когда интервалы следования сообщений <10 с.

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

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

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

Для оценки качества форматирования экрана (размещение информации в окне) используются следующие методы:

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

Метод выделенных точек – позволяет определить число и размещения областей экрана, к которым будет привлечено внимание пользователей (с помощью выделения). Для этого каждая область, требующая повышенного внимания, моделируется группой символов (отличных от пробела).


Заключение

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

В процессе решения предложенной  в дипломном проекте задачи была проделана следующая работа:

  1.  проведен анализ предметной области;
  2.  определены основные требования, предъявляемые к программному комплексу;
  3.  разработана система, реализующая следующие функции:
    1.  идентификация пользователей в системе;
    2.  просмотр данных;
    3.  классифицирование выпускников;
    4.  ведение базы данных.

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


Список литературы

  1.  Розова  С.С.  Классификационная  проблема  в  современной  науке / С.С. Розова. – Новосибирск: Наука, 1986. – 224 с.
    1.  Гуменюк В.Е. Основы создания отраслевой системы ведения общесоюзных классификаторов технико-экономической информации: практическое руководство / В.Е. Гуменюк. – М.: Финансы и статистика, 1985. – 192 с.
      1.  Пономарева К. В. Информационное обеспечение АСУ / К. В. Пономарева, Л. Г. Кузьмин. – М.: Высшая школа, 1991. – 290 с.
        1.  Кендалл  М.Дж. Многомерный  статистический  анализ  и  временные ряды / М.Дж. Кендалл,  А.  Стьюарт. – М.: Наука, 1976. – 736 с.
        2.  Орлов  А.И.  Некоторые  неклассические  постановки  в  регрессионном анализе  и  теории  классификации / А.И. Орлов //Программно-алгоритмическое обеспечение анализа данных в медико-биологических исследованиях / А.И. Орлов. – М.: Наука, 1987. – С. 27 – 40.
        3.  Орлов  А.И.  Некоторые  вероятностные  вопросы  теории  классификации / А.И. Орлов //Прикладная статистика / А.И. Орлов. – М.: Наука, 1983. – С. 166 – 179.
        4.  Шорников  Б.С.  Классификация  и  диагностика  в  биологическом  эксперименте. Проблема оценки и классификации интерьерных признаков  человека / Б.С. Шорников. – М.: Наука, 1979. – 141 с.
        5.  Векслер А.А. Риск - эффективное оценивание параметра процесса авторегрессии/ А.А. Векслер // Проблемы передачи информации. – 1997. – Т.33 (2) –  С.37 – 53.
        6.  Базы данных: учебник для высших учебных заведений / под ред. проф. А.Д. Хомоненко. – Изд. 2-е, доп. и перераб. – СПб.: КОРОНА принт, 2002. – 672 с.
        7.  Создание и раскрутка сайта [Электронный ресурс]: сайт. – URL: http://www.webmaster.azolli.com (дата обращения 12.03.2010).
        8.  
        9.  К. Дж. Дейт  Введение в системы баз данных / К. Дж. Дейт; пер. с англ. –Изд. 8-е, доп. и перераб. – М.: Вильямс, 2005. - 1328 с. Лоховски Ф. Модели данных / Ф. Лоховски, Д. Цикритизис.– М.: Финансы и статистика, 1985. – 344 с.
        10.  Болдырев Е.А. Интергация информационных технологий в системных исследованиях / Е.А. Болдырев, Л.В. Массель, А.Ю. Горнов. – Новосибирск: Наука, 2003.- 280с.
        11.  Мейер М. Теория реляционных баз данных / М. Мейер. – М.: Мир, 1987. – 608 с.
        12.  Зольников Д.С. Самоучитель PHP 5 / Д.С. Зольников. – М.: NT Press, 2005. – 256 с.
        13.  Тейлор А. SQL / А. Тейлор; пер. с англ. – Изд. 8-е, доп. и перераб. – М.: Вильямс, 2007. – 348 с.
        14.  Кузнецов М.В. Самоучитель PHP 5/6 / М.В. Кузнецов, И.В. Симдянов. – Изд. 8-е, доп. и перераб. – СПб.: БХВ-Петербург, 2009. – 672 с.
        15.  Кузнецов М.В. MySQL на примерах / М.В. Кузнецов, И.В. Симдянов. – СПб.: БХВ-Петербург, 2008. –1024 с.
        16.  Кузнецов М.В. PHP5 на примерах / М.В. Кузнецов, И.В. Симдянов, С.В. Голышев. – СПб.: БХВ-Петербург, 2008. – 576 с.
        17.  Гигиенические требования к персональным электронно-вычислительным машинам и организации работы: санитарно-эпидемиологические правила и нормативы СанПиН 2.2.2/2.4.1340-03: утверждены Главным государственным санитарным врачом Российской Федерации 30 мая 2003 г. –  М.: Минздрав РФ, 2003. – 54 с.
        18.  Естественное и искусственное освещение: строительные нормы и правила Российской Федерации СНиП 23-05-95: утверждены Межгосударственной  научно-технической комиссией по стандартизации и техническому нормированию в строительстве (МНТКС) в качестве межгосударственных строительных норм 20 апреля 1995 г: ввод в действие с 01.01.96. – М.:


Госстандарт России: Изд-во стандартов, 2000.

  1.  ГОСТ 12.1.019-79. Система стандартов безопасности труда. Электробезопасность. Общие требования и номенклатура видов защиты. – Введ. 01.07.80. – М.: Госстандарт России: Изд-во стандартов, 2001. – II, 7 с.
    1.  Противопожарные нормы: строительные нормы и правила Российской Федерации  СНиП 2.01.02-85: утверждены постановлением Госстроя России от 17 сентября 1990г. – М.: Госстандарт России: Изд-во стандартов, 1993.


Приложение А

Схема БД

Приложение Б

Фрагмент реализации модуля авторизации

<?php

require_once("config.php");

session_start();

if (($_POST[login]=='') or ($_POST[pass]==''))

{}

else

{

$login=$_POST[login];

$pass=md5($_POST[pass]);

$query = "SELECT * from user where us_login like '$login'";

$result = mysql_query($query,$link) or die ("Error: " .mysql_error());

$data=mysql_fetch_assoc($result);

if ($pass==$data[us_pass])

{

   $_SESSION['login'] = $data[us_fio];

$_SESSION['level'] = $data[us_level];

$_SESSION['id'] = $data[us_id];

setcookie('login', $login, (time() + 3600*24*30));

header("Location: http://dip/");

 }

else echo "Непревельный логин или пароль";

}

$t_l="<center><br><br><br><br><br><br><br><form method='post'>";

$t_l.="<table>";

$t_l.="<tr><td>Логин:</td><td><input type='text' name='login'></td></tr>";

$t_l.="<tr><td>Пароль:</td><td><input type='password' name='pass'></td></tr>";

$t_l.="</table>";

$t_l.="<input type='submit' value='ok'>";

$t_l.="</form></center>";

echo $t_l;

 

?>


Приложение В

Фрагмент реализации модуля ведения базы данных

<?php

if ($_SESSION['level'] == 'o')

 die ("<script>alert('У вас не хватает прав доступа для просмотра данной страницы')</script>");

$fGrId=$_POST[gr_id];

$fSeId=$_POST[se_id];

 

$q_pr='select bo_id, st_fio, st_nz, le_naim, se_naim, es_naim ';

$q_pr.='from bordereau, students, lessons, semesters, estimations ';

if ($fGrId!="" and $fSeId!="")

$s_tmp=" and st_gr_id=".$fGrId." and bo_se_id=".$fSeId;

$q_pr.='where st_id=bo_st_id and le_id=bo_le_id and se_id=bo_se_id and es_id=bo_es_id'.$s_tmp;

$result=mysql_query($q_pr,$link) or die (mysql_errno($link).mysql_error($link));

//--

$t_pr="<table class='dtable'>";

$t_pr.="<tr class='drow'>";

$t_pr.="<td class='dcel'>№</td>";

$t_pr.="<td class='dcel'>Ф.И.О</td>";

$t_pr.="<td class='dcel'>№ зачетки</td>";

$t_pr.="<td class='dcel'>Семестр</td>";

$t_pr.="<td class='dcel'>Предмет</td>";

$t_pr.="<td class='dcel'>Оценка</td>";

$t_pr.="</tr>";

$i=1;

while ($data=mysql_fetch_assoc($result)){

$t_pr.="<tr class='drow'>";

$t_pr.="<td class='dcel'>".$i."</td>";

$t_pr.="<td class='dcel'>".$data['st_fio']."</td>";

$t_pr.="<td class='dcel'>".$data['st_nz']."</td>";

$t_pr.="<td class='dcel'>".$data['se_naim']."</td>";

$t_pr.="<td class='dcel'>".$data['le_naim']."</td>";

$t_pr.="<td class='dcel'>".$data['es_naim']."</td>";

$t_pr.="<td class='dcel'><input type='hidden' id='bo_id' value='".$data['bo_id']."'> <img class='bdel' width='30' height='30' src='images/cancel.png'></td>";

$t_pr.="</tr>";

$i++;

 

}

$t_pr.="</table>";

$q_sel="select fa_id, fa_naim from faculty";

$r_fa=mysql_query($q_sel,$link) or die (mysql_error($link));

$s_fa="<select id='faid'>";

while ($d_fa=mysql_fetch_assoc($r_fa)){

$s_fa.="<option class='opt_get' value='".$d_fa[fa_id]."'>".$d_fa[fa_naim]."</option>";

}

$s_fa.="</select>";

$q_sel="select le_id, le_naim from lessons";

$r_fa=mysql_query($q_sel,$link) or die (mysql_error($link));

$s_le="<select id='le_id'>";

while ($d_fa=mysql_fetch_assoc($r_fa)){

$s_le.="<option value='".$d_fa[le_id]."'>".$d_fa[le_naim]."</option>";

}

$s_le.="</select>";

$q_sel="select se_id, se_naim from semesters";

$r_fa=mysql_query($q_sel,$link) or die (mysql_error($link));

$s_se="<select id='se_id'>";

while ($d_fa=mysql_fetch_assoc($r_fa)){

$s_se.="<option value='".$d_fa[se_id]."'>".$d_fa[se_naim]."</option>";

}

$s_se.="</select>";

$q_sel="select es_id, es_naim from estimations";

$r_fa=mysql_query($q_sel,$link) or die (mysql_error($link));

$s_es="<select id='es_id'>";

while ($d_fa=mysql_fetch_assoc($r_fa)){

$s_es.="<option value='".$d_fa[es_id]."'>".$d_fa[es_naim]."</option>";

}

$s_es.="</select>";

$f_add="<table>";

$f_add.="<tr><td>Факултет</td><td>".$s_fa."</td></tr>";

$f_add.="<tr><td>Группа</td><td><div id='dsgr'></div></td></tr>";

$f_add.="<tr><td>Ф.И.О.</td><td><div id='dsst'></div></td></tr>";

$f_add.="<tr><td>Предмет</td><td>".$s_le."</td></tr>";

$f_add.="<tr><td>Семестр</td><td>".$s_se."</td></tr>";

$f_add.="<tr><td>Оценка</td><td>".$s_es."</td></tr>";

$f_add.="</table>";

$f_add.="<img width='30' height='30' src='images/ok.png' id='addBotton'>";

$q="select * from groups";

$r=mysql_query($q,$link) or die (mysql_errno($link).mysql_error($link));

$s_gr="<select name='gr_id'>";

while ($d=mysql_fetch_assoc($r)){

 $s_gr.="<option value='".$d[gr_id]."'>".$d[gr_naim]."</option>";

}

$s_gr.="</select>";

$q="select * from semesters";

$r=mysql_query($q,$link) or die (mysql_errno($link).mysql_error($link));

$s_se="<select name='se_id'>";

while ($d=mysql_fetch_assoc($r)){

 $s_se.="<option value='".$d[se_id]."'>".$d[se_naim]."</option>";

}

$s_se.="</select>";

?>


Приложение Г

Фрагмент реализации модуля классифицирования

case 18:{

  $q_categorization="select * from students, categorization where st_gr_id=$_REQUEST[gr_id] and ca_st_id=st_id";

  $r_categorization=mysql_query($q_categorization,$link) or die (mysql_error($link));

  $d_st="";

  while ($d_categorization=mysql_fetch_assoc($r_categorization)){

    $tmp_st = 0;

    $tmp_su = 0;

    $tmp_fi = 0;

    

    if ($d_categorization[ca_stability]<5){

     $tmp_st = 1;

    }

    else{

     $tmp_st = 2;

    }

    

    if ($d_categorization[ca_success]<4){

     $tmp_su = 1;

    }elseif($d_categorization[ca_success]>4.75){

     $tmp_su = 3;

    }else{

     $tmp_su = 2;

    }

    

    if ($d_categorization[ca_fixity]<1){

     $tmp_fi = 1;

    }elseif($d_categorization[ca_fixity]>1){

     $tmp_fi = 2;

    }else{

     $tmp_fi = 3;

    }

    

    

   $d_st.="

   <div class='gh'>

    $d_categorization[st_nz]

    $d_categorization[st_fio]

    $tmp_st-$tmp_su-$tmp_fi

 

   </div>

   <div class='gb'>

    Устойчивость - $d_categorization[ca_stability]<br>

    Успешность - $d_categorization[ca_success]<br>

    Стабильность - $d_categorization[ca_fixity]

   </div>

   ";

  }

  echo $d_st;

 }

break;

case 19:{

  //Получаем всех студентов в группе

  $q_st="select * from students where st_gr_id=$_REQUEST[gr_id]";

  $r_st=mysql_query($q_st,$link) or die (mysql_error($link));

  $a_st=array();

  while ($d_st=mysql_fetch_assoc($r_st)){

   array_push($a_st,$d_st[st_id]);

  }

  

  foreach ($a_st as $p_st_id){

   //Получаем семестры которые отучился студент

   $q_sem="select distinct bo_se_id from bordereau where bo_st_id=$p_st_id";

   $r_sem=mysql_query($q_sem,$link) or die (mysql_error($link));

   $a_sem=array();

   while($d_sem=mysql_fetch_assoc($r_sem)){

    array_push($a_sem,$d_sem[bo_se_id]);

   }

   //получаем вектор сердних оценок

   $a_vektor=array();

   if (count($a_sem)>1){

    $uspeh=0;

    foreach($a_sem as $p_sem){

     $q_est="select * from bordereau where (bo_st_id=$p_st_id) and (bo_se_id=$p_sem)";

     $r_est=mysql_query($q_est,$link) or die (mysql_error($link));

     $p_summ=0;

     $i=0;

     while ($d_st=mysql_fetch_assoc($r_est)){

      $p_summ+=$d_st[bo_es_id];

      $i++;

     }

     $p_res=$p_summ/$i;

     array_push($a_vektor,$p_res);

     $uspeh+=$p_res;

    }

    //$a_one - вектор стобец оценок (1-8)

    //$a_two - вектор строка оценок (2-9)

    $a_one=array();

    $a_two=array();

    //$a_vektor_lenght - количество семестров которое отучился студент

    $a_vektor_lenght=count($a_vektor);

    //получаем $a_one

    for ($i=0;$i<=$a_vektor_lenght-2;$i++){

     array_push($a_one,$a_vektor[$i]);

    }

    //получаем $a_two

    for ($i=1;$i<=$a_vektor_lenght-1;$i++){

     array_push($a_two,$a_vektor[$i]);

    }

    //$stable - стабильность

    $stable=0;    

    //получаем квадрат $a_one

    for ($i=0;$i<=$a_vektor_lenght-2;$i++){

     $stable+=$a_one[$i]*$a_two[$i];

    }

    $stable_tmp=0;

    //получаем стабильность

    foreach($a_one as $tmp){

     $stable_tmp = $stable_tmp + $tmp*$tmp;

    }

    $stable=$stable/$stable_tmp;

    //обьеденяем вектор средних оценок в строку для записи в базу

    

    $p_ins=implode("-",$a_vektor);

    $p_ins_one_nuber=$uspeh/$a_vektor_lenght;

    //Расчет устойчивости

    $a_tmp=array();

    for($i=0;$i<=$a_vektor_lenght-2;$i++){

     $tmp=$a_one[$i]-$a_two[$i];

     array_push($a_tmp,$tmp);

    }

    $ust=0;

    for($i=0;$i<=$a_vektor_lenght-2;$i++){

     $ust+=$a_tmp[$i]/$a_two[$i];

    }

    if ($ust<0){

     $ust=$ust*-1;

    }

    $ust=$ust*1/8*100;

    //записываем в базу

    $q_ins="delete from categorization where (ca_st_id=$p_st_id)";

    mysql_query($q_ins,$link) or die (mysql_error($link));

    $q_ins="insert into categorization values (null,'$ust','$p_ins_one_nuber','$stable',$p_st_id)";

    mysql_query($q_ins,$link) or die (mysql_error($link));

   }

  }

 }

break;


 

А также другие работы, которые могут Вас заинтересовать

32560. Моноблочные и модульные контроллеры 57.67 KB
  Функционально-конструктивную схему модульного ПЛК рассмотрим на примере контроллера SIMTIC S7300 фирмы Siemens рис. Конструкция модульного ПЛК На профильной рейке ПР размещаются: центральный модуль ЦМ который всегда присутствует в ПЛК справа от него с помощью шинных соединителей ШС – до восьми периферийных модулей ПМ а слева – внешний источник питания Внеш. Формирование внутренней шины ПЛК производится с помощью ШС. В качестве основных периферийных модулей ОПМ в ПЛК всегда присутствуют сигнальные модули ввода выводы...
32561. Общая организация и архитектура модульного ПЛК SIMATIC S7-300 117.33 KB
  Архитектура модульного ПЛК Модули ПЛК объединены внутренней шиной по которой и передается вся информация между ними. В минимальной конфигурации ПЛК обязательно имеет ЦМ и хотя бы один из ОПМ для связи с ОУ. Система вводавывода ПЛК может включать в свой состав две части.
32563. Понятие цикла работы ПЛК 109.79 KB
  Архитектура центрального модуля ПЛК Помимо программ пользователя в памяти центрального модуля всегда имеются системные программы зашитые там в ПЗУ разработчиком ПЛК и предназначенные для реализации основных функций контроллера таких как: организация цикла работы ПЛК реализация системы ввода вывода прерывание программ и пр. Понятие цикла работы ПЛК Возможность обработки информации в реальном масштабе времени и как следствие управление быстродействующим технологическим оборудованием обусловлены циклическим характером работы...
32564. Центральная память ПЛК 60.65 KB
  Очень часто особенно в простых микроконтроллерах типа SIMTIC S7200 их центральная память бывает организована в виде стековой памяти. Стековая память Пример реализации логической функции управления c использованием стековой памяти На рис. 35 показан последовательный механизм программной реализации логической функции управления Y с использованием стековой памяти ПЛК.
32565. Память ПЛК SIMATIC S7-220 51.19 KB
  – В сегменте памяти программы хранится программа пользователя и содержится список команд которые должны выполняться в CPU для реализации разработанного решения по системе управления. – Память данных содержит область временных данных программы и область памяти объектов. В этом же сегменте памяти хранятся результаты вычислений промежуточные данные и константы а также таймеры счетчики высокоскоростные счетчики и аналоговые входы выходы. К конфигурируемым параметрам относятся такие элементы как уровень защиты пароль адрес станции и...
32566. Модули ввода/вывода (МВв/МВыв) 36.68 KB
  Модули выпускают в различном исполнении: входные выходные или комбинированные ввода вывода дискретные логические аналоговые и специальные в обычном или безопасном исполнении и пр. Модуль ввода вывода дискретных сигналов. 36 показан возможный вариант модуля ввода вывода логических сигналов для 8разрядного микроконтроллера.
32567. Аналого-цифровые (АЦП) и цифро-аналоговые (ЦАП) преобразователи 38.92 KB
  Для этой цели в модулях ввода вывода аналоговых сигналов используются аналогоцифровые АЦП и цифроаналоговые ЦАП преобразователи. Основной характеристикой ЦАП и АЦП является их разрядность определяемая длиной двоичного кода применяемого для представления аналогового сигнала. В схеме использован 8разрядный АЦП выходы которого соединены с входами регистра порта ввода. Для согласования уровня входного сигнала АЦП используется усилитель входного сигнала.
32568. Программаторы 43.12 KB
  Программаторы – это устройства, предназначенные для ввода управляющих программ, их редактирования и отладки, параметрирования системы