Автоматизированная система составления расписания в школе
Проблемы автоматизации деятельности учебного заведения. Сущность процесса составления расписания занятий в школе. Описание основных алгоритмов приложения. Особенность настройки и запуска системы. Анализ результатов тестирования разработанной программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 11.10.2015 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования Республики Беларусь
Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники»
Факультет инженерно-экономический
Кафедра экономической информатики
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту
на тему АВТОМАТИЗИРОВАННАЯ СИСТЕМА СОСТАВЛЕНИЯ РАСПИСАНИЯ В ШКОЛЕ
Студент:
Андриянчик С.А.
Руководитель:
Ярмольчик В.В.
Минск 2014
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ОПИСАНИЕ ПРОЦЕССА СОСТАВЛЕНИЯ РАСПИСАНИЯ В ШКОЛЕ
1.1 Проблемы автоматизации деятельности учебного заведения
1.2 Обзор основных вопросов автоматизированной системы составления расписания занятий в школе
1.3 Обзор рынка готовых решений
2. ОПИСАНИЕ ОСНОВНОГО ПРОЦЕССА СОСТАВЛЕНИЯ РАСПИСАНИЯ ЗАНЯТИЙ В ШКОЛЕ
2.1 Описание процесса составления расписания занятий в школе
2.2 Заявленный функционал
3. ОПИСАНИЕ ПРИМЕНЕНИЯ ПРИНЦИПОВ ООП, ИСПОЛЬЗОВАННЫХ ПРИ РАЗРАБОТКЕ СИСТЕМЫ
4. ОБОСНОВАНИЕ ОРИГИНАЛЬНЫХ РЕШЕНИЙ ПО ИСПОЛЬЗОВАНИЮ ТЕХНИЧЕСКИХ И ПРОГРАММНЫХ СРЕДСТВ, НЕ ВКЛЮЧЕННЫХ В ТРЕБОВАНИЯ
5. ОПИСАНИЕ ОСНОВНЫХ АЛГОРИТМОВ ПРИЛОЖЕНИЯ (БЛОК-СХЕМЫ)
6. ОПИСАНИЕ НАСТРОЙКИ И ЗАПУСКА СИСТЕМЫ
7. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ РАЗРАБОТАННОЙ СИСТЕМЫ И ОЦЕНКА ВЫПОЛНЕНИЯ ЗАДАЧ (РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ)
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
Переход Республики Беларусь на путь инновационной и инвестиционной стратегии развития экономики, повышение качества услуг и разрабатываемых технологий требует существенных изменений в организации управления деятельностью хозяйствующих субъектов. Учебные заведения, а в частности и школы, не могут быть в стороне от этих процессов и должны соответствовать потребностям развития отраслей экономики регионов. В настоящее время необходимым условием для успешного функционирования образовательных учреждений становится разработка, внедрение и сопровождение информационных систем, обеспечивающих эффективное функционирование всех внутренних процессов.
Использование информационных систем в образовательных учреждениях не является редкостью. Спектр их применения широк и варьируется от автоматизации отдельно взятых областей до полной автоматизации деятельности учебного заведения.
Вне зависимости от области автоматизации, внедряемые информационные системы преследуют конечную цель - повышение качества образования. Школа, как и любое предприятие, непременно проходит процесс автоматизации и, несмотря на то, что понятие образовательной деятельности едино для всех образовательных учреждений, в каждой школе этот процесс проходит по-разному. Значительное влияние на процессы автоматизации оказывает как наличие денежных средств, так и готовность использования предлагаемых рынком информационных услуг программных продуктов.
В школе разработкой расписания для учителей и учеников занимается завуч.
В должностные обязанности завуча школы, помимо составления расписания, входят еще множество обязанностей, таких как: руководство организацией учебного процесса, организация методической деятельности, подбор и расстановка кадров, анализ результатов учебной работы, осуществление контроля за ведением учебной документации, обеспечение своевременной подготовки установленной учетной и отчетной документации и многое другое.
Как видно из списка должностных обязанностей, завуч школы выполняет множество функций для обеспечения качественной работы школы. Также на нем лежит большая ответственность за правильное выполнение всех этих функций.
Составление расписания является сложной и требующей большой ответственности обязанностью завуча школы. Составление расписание отнимает большое количество времени, и в результате этого у завуча не остается времени для качественного выполнения всех своих оставшихся обязанностей.
Автоматизация составления расписания занятий - это отличное решение этой проблемы.
Целью данного курсового проекта является оптимизация затрат рабочего времени завуча в процессе трудовой деятельности, а также повышение эффективности его работы за счет частичной автоматизации процесса составления расписания. Для достижения поставленной цели необходимо:
- изучить состав работ завуча при составлении расписания учебных занятий и определить их трудоемкость;
- выделить самые трудоемкие элементы при составлении расписания занятий;
- изучить требования, необходимые для разработки расписания занятий;
- проанализировать проблемы, которые могут возникнуть при разработке автоматизированной системы составления расписания занятий;
- разработать автоматизированную систему составления расписания занятий в школе.
1. ОПИСАНИЕ ПРОЦЕССА СОСТАВЛЕНИЯ РАСПИСАНИЯ В ШКОЛЕ
1.1 Проблемы автоматизации деятельности учебного заведения
Стремительный прогресс средств вычислительной техники, изменение условий образования, изменение средств и форм обучения, расширение спектра технических средств, а так же использование больших объемов информации диктуют необходимость внедрения информационных технологий в образование.
Вопросов для чего нужна автоматизация тех или иных процессов, как правило, не возникает. Но вот вопросы - как и с чего начать автоматизацию возникают у многих.
Следует начать с определения понятия «автоматизация». Под автоматизацией обычно понимают применение технических и программных средств, частично или полностью освобождающих человека от непосредственного участия в процессах получения, преобразования, передачи и использования материалов или информации. Процессу автоматизации предшествует его формализация, то есть получение полного набора однозначно трактуемых инструкций, следуя которым достигается результат реализации процесса.
Преимущества автоматизации очевидны - это ускорение выполнения операций и снижение ошибок при их выполнении, снижение издержек на реализацию операций и повышение качества. Успешной может считаться автоматизация, в результате внедрения и использования которой удалось возвратить инвестированные в нее средства.
Выделяют следующие этапы процесса автоматизации, применяемые в целом к деятельности того или иного учреждения. Каждый из этапов требует осмысленного и последовательного выполнения.
Этап 1: постановка проблемы, оценка необходимости автоматизации и возможностей предприятия;
Этап 2: формирование требований к программно-аппаратному комплексу, выбор или реализация программного продукта и технического обеспечения;
Этап 3: внедрение программного продукта;
Этап 4: послегарантийное обслуживание программно-аппаратного комплекса.
Прежде чем начать автоматизацию необходимо ясно и четко сформулировать свои требования к ней. Требуется определить какие именно функции необходимо автоматизировать. Следует учитывать, что зачастую внедрение автоматизированных систем снижает степень влияния человеческого фактора на выполнение тех или иных операций.
Выбор программного продукта или среды его разработки не следует отделять от выбора технического обеспечения, на котором предстоит в дальнейшем работать. Не следует забывать и об имеющейся информационной системе школы. Интеграция в единое информационное пространство позволяет использовать ранее реализованные компоненты и единую базу данных, что повышает гибкость информационной системы в целом и снижает дублирование уже имеющейся информации.
Описанный процесс анализа деятельности школы обычно называют «предпроектным обследованием учреждения». В ходе обследованием строится полная модель организации, описывающая не только взаимодействие структурных единиц, но и реализуемые ими операции и информационные потоки. Построение подобных документированных моделей позволяет не только оптимизировать текущую работу, но и сделать деятельность предприятия менее зависимой от конкретных людей.
После построения модели учреждения и определения требований к программному продукту, необходимо определиться с выбором программы. Функциональная полнота (достаточность) будущей программы является базовым требованием к выбору программного продукта.
Можно приобрести единый программный комплекс для автоматизации различных процессов, но подобное решение неминуемо приведет к большим денежным и трудовым затратам, связанным как с приобретением нового программного обеспечения, так и с переходом и адаптацией к нему.
Второй вариант - разработать программное обеспечение самостоятельно. Этот вариант наиболее приемлем, т.к. учитывает основные специфики работы конкретной школы и не требует больших финансовых затрат.
Выбор варианта - покупать или разрабатывать самим - полностью зависит от каждого образовательного учреждения в отдельности. Здесь играет большую роль готовность в финансировании проекта, профессионализм разработчиков - сотрудников образовательного учреждения, готовых создать и внедрить программу, а также квалификация будущих пользователей.
1.2 Обзор основных вопросов автоматизированной системы составления расписания занятий в школе
Задача планирования расписания занятий -- это задача на составление расписания комбинаторного типа, характерной особенностью которой является огромная размерность и наличие большого числа ограничений сложной формы. Фактически, в настоящее время, не существует универсальных методов решения таких задач. Прямое применение математической (классической) теории расписания к задаче составления учебных занятий не представляется возможным. Тем не менее, есть ряд эвристических и переборных методов, которые вполне поддаются программированию.
Есть мнение, что опытный завуч сможет составить расписание так, что оно будет отвечать интересам учебного процесса и общественной жизни образовательного учреждения. Однако с этим нельзя согласиться. Ручное решение задачи составления расписания требует больших затрат времени, квалифицированных специалистов, в то же время результат такого решения часто получается далеко не оптимальным. После ввода исходной информации требуется её согласование, в то время как невозможность получения требуемого расписания может быть определена ещё на этапе анализа. Во время составления расписания возможно возникновение тупиковых ситуаций. Всё это требует изменения исходных данных и ослабления ограничений, и здесь без человека не обойтись. Без внесения данных изменений расписание не будет иметь практической ценности. Также следует учесть тот момент, что расписание может меняться и во время его использования, т.е. после составления, и здесь весьма важен человеческий фактор. В этом плане важна поддержка данного процесса автоматизированными методами и процедурами. Основное преимущество состоит в том, что автоматизированное составление устраняет массу рутинной работы, такой как: поиск возможных вариантов внесения очередных элементов в расписание, проверку выполнения требований, поиск случайных ошибок в готовом расписании, оформление расписания на бумаге в виде различных таблиц, оставляя человеку больше времени на более интеллектуальные действия. Компьютер в данном случае также является инструментом, существенно усиливающим способности человека, т.к. человек не в состоянии перебрать и проанализировать такое же количество вариантов, как компьютер.
В последние годы предпринимаются множественные попытки совершенствования планирования учебного процесса путем построения алгоритмов оптимизации задач планирования учебной работы вуза с использованием вычислительной техники и программного обеспечения Microsoft Excel. Практическое внедрение планирования учебного процесса с использованием собственно разработанных программных средств имеет место лишь в немногих вузах. Анализ состояния этих разработок позволяет сделать следующие выводы:
- разработка и внедрение учебными заведениями задач АСУ осуществляется в инициативном порядке и эти работы, как правило, направлены на решение отдельных проблем. Разобщенность групп исследователей и разработчиков привела к созданию множества систем, направленных на разработку алгоритмов и программ, рассчитанных на обслуживание только конкретной школы;
- многие системы возлагают на разработчика расписания всю ответственность за учет реальных требований;
- не внедряется разработка типовых унифицированных элементов для создания единой автоматизированной системы управления школой;
- имеющиеся программы имеют весьма неудобный интерфейс для ввода исходных данных и редактирования полученного расписания;
При разработке алгоритмов автоматизированного составления расписания занятий остро стоит проблема создания универсальных алгоритмов, учитывающих специфику условий каждой конкретной задачи. Такие алгоритмы должны быть достаточно "гибкими", т.е. без существенного их изменения можно было бы включать и исключать требования из системы требований к расписанию. Однако попытка решать задачу каким-либо одним единственным универсальным алгоритмом на данный момент не представляется возможной. Алгоритмы, позволяющие решать широкий класс задач, не дают той эффективности, которую обеспечивают более конкретные, адаптированные с учётом конкретных условий алгоритмы.
Для систем составления расписания занятий характерна сильная зависимость от специфики конкретных учебных заведений, что затрудняет использование типовых систем. Систему, созданную в одном учебном заведении, обычно без изменения и доработки невозможно эффективно использовать в другом. К тому же многие из них создавались достаточно давно и с их помощью невозможно эффективно решать поставленную задачу.
Для решения существующих проблем требуется построение гибкой и легко адаптируемой системы на основе новых принципов, с использованием современных технологий. Необходима система, составляющая расписание в соответствии с выбранными критериями и заданными требованиями. Данные возможности должны осуществляться также без изменения исходного кода системы. Для покрытия наиболее типичных случаев необходимо создание нескольких типовых алгоритмов, реализующих составление расписаний. Данная система должна иметь возможность дополнения и изменения существующей базы данных и пользовательского интерфейса.
1.3 Обзор рынка готовых решений
На данный момент времени сектор рынка программного обеспечения систем составления расписания представлен большим количеством различных программных продуктов.
Рассмотрим несколько таких программ: «ХроноГраф 3.0 Мастер», «Ника-Люкс».
«ХроноГраф 3.0 Мастер»
"ХроноГраф 3.0 Мастер" - это оригинальная компьютерная технология, оптимально сочетающая многофункциональный механизм составления расписания учебных занятий в школе и оперативного управления учебным процессом с широкими дополнительными возможностями создания и ведения базы данных учебной деятельности, полноценного обмена данными с другими программными разработками, а также создания, редактирования и экспорта выводных форм.
Пакет адресован руководителям средних общеобразовательных учреждений, отвечающим за организацию и контроль качества учебно-воспитательного процесса; руководящим работникам и специалистам органов управления образования и учебно-методических центров.
Интерфейс программы представлен на Рисунке 1.1.
Рисунок 1.1 - Интерфейс программы «ХроноГраф 3.0 Мастер»
С первого взгляда программа имеет дружественный интерфейс и настраивает на то, что работа с ней будет предельно проста и понятна. Но это лишь первое впечатление. В процессе эксплуатации мною были выявлены следующие недостатки:
- программа не является универсальной, а именно: подходит только для школ Российской Федерации;
- программа очень сложна в использовании. Для того чтобы научиться правильно ее использовать, в пакете установки прилагается 240-страничное руководство по эксплуатации. Кроме этого организуются даже специальные курсы по получению навыка работы с программой «ХроноГраф 3.0 Мастер»;
- помимо составления расписания, программой предоставляется множество других опций, таких как ведение личных карточек учащихся, составление учебных планов и т.д. Проблема в том, что эти опции не отделимы друг от друга, т.е., если пользователю необходимо только лишь составить расписание занятий, ему все равно необходимо будет заполнить поля, не относящиеся к этой опции.
Можно сделать вывод о том, что данная программа не является подходящей для решения поставленной задачи.
«Ника-Люкс»
«НИКА-Люкс» автоматизирует процесс составления недельного школьного расписания занятий в общеобразовательных учреждениях различного статуса и профиля (школы, гимназии, лицеи), учитывая особенности учебных планов и организации учебного процесса, а также требования методического, санитарно-гигиенического и индивидуально-психологического характера. Программа чрезвычайно легка в освоении и удобна в работе.
Результатом работы программы является школьное расписание занятий, составленное с минимальным количеством "окон" для учителей. При наличии замечаний к конечному результату, оператор имеет возможность воспользоваться удобным инструментом для ручной редакции расписания занятий.
Программа учитывает:
- наличие в школе второй смены, пяти- или шестидневной форм обучения;
- особенности кабинетного фонда школы;
- методические дни и нежелательные часы работы учителей, включая режим подбора оптимальных методдней;
- дни и часы УПК (экскурсии, театр, практика в ВУЗе и т.д.);
- предельные уровни дневной учебной нагрузки с учетом коэффициентов сложности предметов.
Программа обеспечивает:
- разделение классов на обучающиеся по пяти- или шестидневке;
- «плавающее» начало занятий и второй смены;
- разбиение классов на группы (до трех групп), в том числе, по разным предметам;
- сдваивание, страивание и т.д. заданного количества часов;
- объединение классов в потоки (в т.ч. с дальнейшим делением на группы);
- составление расписания с учетом особенностей имеющегося аудиторного фонда.
- преподавание одним учителем двух и более предметов;
- соблюдение «параллелей» учителей;
- ограничение максимально допустимого числа часов по предмету в день;
- расписание для учителя, преподающего в двух группах одного класса (формирование пар с другими предметами или расстановка на первый/последний уроки);
- отображение и печать расписания занятий в пяти формах, включая индивидуальные расписания учителей и расписания отдельных классов, отчеты по занятости кабинетов и прочее;
- экспорт расписания в формат html для отображения на сайте школы;
- экспорт расписания в программу Excel;
- удобный инструмент для почасового контроля расписания отдельных учителей;
- «дружественный полуавтомат» для ручной редакции рассчитанного расписания;
- хранение в одном файле нескольких расписаний на разные периоды учебного года.
Интерфейс программы представлен на Рисунке 1.1.
В целом, программа является удобной, а также она проста в использовании.
Но существенным недостатком программы является то, что она работает только на ОС Windows. Также эта программа является платной.
Из этого можно сделать вывод, что программа не в полной мере удовлетворяет требованиям потенциальных пользователей.
Рисунок 1.2 - Интерфейс программы "Ника-Люкс"
Так как ни одна система не отвечает в полном объеме требованиям, то моей задачей стала разработка более рациональной и современной системы создания расписания.
2. ОПИСАНИЕ ОСНОВНОГО ПРОЦЕССА СОСТАВЛЕНИЯ РАСПИСАНИЯ ЗАНЯТИЙ В ШКОЛЕ
2.1 Описание процесса составления расписания занятий в школе
В данном курсовом проекте для описания функциональной модели процесса учета занятости аудиторий было использовано средство AllFusion Process Modeler 7.
AllFusion Process Modeler 7 - инструмент для моделирования, анализа, документирования и оптимизации бизнес-процессов. AllFusion Process Modeler 7 можно использовать для графического представления бизнес-процессов. Графически представленная схема выполнения работ, обмена информацией, документооборота визуализирует модель бизнес-процесса. Графическое изложение этой информации позволяет перевести задачи управления организацией из области сложного ремесла в сферу инженерных технологий.
AllFusion Process Modeler 7 помогает четко документировать важные аспекты любых бизнес-процессов: действия, которые необходимо предпринять, способы их осуществления и контроля, требующиеся для этого ресурсы, а также визуализировать получаемые от этих действий результаты. AllFusion Process Modeler 7 повышает бизнес-эффективность ИТ-решений, позволяя аналитикам и проектировщикам моделей соотносить корпоративные инициативы и задачи с бизнес-требованиями и процессами информационной архитектуры и проектирования приложений. Таким образом, формируется целостная картина деятельности предприятия: от потоков работ в небольших подразделениях до сложных организационных функций.
IDEF0 - метод моделирования, который поддерживает графическое описание бизнес-функций как набор взаимодействующих работ, а также информацию и ресурсы, необходимые для каждой работы.
В данной курсовой работе на основе нотации IDEF0 была разработана контекстная диаграмма, описывающая процесс разработки расписания занятий.
На контекстной диаграмме верхнего уровня (Приложение А, рис. А.1) представлена функциональная модель «Разработать расписание занятий», а также определены потоки входных и выходных данных, механизмы ограничения и управления данными.
Входным потоком является «Учебный план», т.е., документ, в котором прописано количество часов, которое необходимо отработать каждому из учителей, а также план по учебной нагрузке учеников.
После соответствующих расстановок, в выходном потоке имеем «Расписание для учеников» и «Расписание для учителей».
Механизмом является завуч школы. А управляющим механизмом являются нормативные документы. В нормативных документах указаны ограничения по количеству уроков, нормы по расстановке перерывов и т.д.
На рисунке А.2 (Приложение А) отображена декомпозиция контекстной диаграммы, которая состоит из четырёх блоков: «Распределить нагрузку между учителями», «Совместить нагрузку учителей с учебным планом учеников», «Составить расписание для учеников», «Составить расписание для учителей».
Первый компонент данной декомпозиции («Распределить нагрузку между учителями») подразумевает распределение нагрузки между учителями с учетом правил, описанных в нормативных документах. Каждый учитель должен отрабатывать фиксированное количество часов в неделю (ставку).
Второй компонент декомпозиции («Совместить нагрузку учителей с учебным планом учеников») подразумевает анализ данных, т.е., рассчитывается сколько каждый из учителей должен отрабатывать часов в неделю, чтобы полностью выполнить учебный план для учеников.
Третий компонент декомпозиции - «Составить расписание для учителей». На основе распределения классов между учителями завучем составляется расписание для учителей с учетом нормативных документов. Декомпозиция этого блока приведена на рисунке А.3 (Приложение А). Она представлена тремя элементами: «Распределить классы между учителями», «Поставить уроки в таблицу расписания», «Проверить правильность».
Компонент «Распределить классы между учителями» подразумевает то, что с учетом требуемой учебной нагрузки для учеников, в соответствие каждому классу по каждому предмету ставится определенный учитель. Например, учитель N ведет свой предмет у классов А, Б и В.
Декомпозиция блока «Проверить правильность» приведена на рисунке А.4 (Приложение А). Она состоит из трех блоков: «Проверить, отрабатывается ли нагрузка учителей», «Проверить расписание на наличие противоречий», «Проверить, минимально ли количество форточек».
Четвертый элемент декомпозиции («Составить расписание для учеников») подразумевает то, что на основании расписания для учителей завучем формируется расписание для учеников с учетов всех нормативных документов.
Для составления корректного и удобного расписания использование какого-либо средства проверки и учета является необходимым. Сложно учесть сразу все условия используя лишь бумагу и карандаш. Именно для этой цели разрабатывается программное обеспечение, помогающее хотя бы частично автоматизировать этот процесс.
2.2 Заявленный функционал
- Задание собственных параметров для составления таблицы расписания: собственного расписания звонков, списка классов, списка учителей.
- Сохранение расписания в базе данных и возможность обратиться к нему и изменить в любой момент.
- Проверка расписания на наличие противоречий: проверка, не стоит ли у одного и того же класса несколько разных предметов одновременно; проверка на корректное задание расписание звонков.
- Конвертация расписания для учителей в расписание для учеников.
- Экспорт расписания на печать.
- Синхронизация данных с удалённым сервером по сети
3. ОПИСАНИЕ ПРИМЕНЕНИЯ ПРИНЦИПОВ ООП, ИСПОЛЬЗОВАННЫХ ПРИ РАЗРАБОТКЕ СИСТЕМЫ
Объектно-ориентированное программирование -- это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса. Класс - это описание множества объектов со сходной структурой, поведением и связями с другими объектами.
Классы образуют иерархию, основанную на принципах наследуемости. При этом объект - это конкретный экземпляр класса, наделенный конкретными свойствами.
ООП опирается на три основных понятия: инкапсуляция, наследование, полиморфизм.
Инкапсуляция (encapsulation) - это механизм, который объединяет данные и код, манипулирующий этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования. В объектно-ориентированном программировании код и данные могут быть объединены вместе; в этом случае говорят, что создаётся так называемый "чёрный ящик". Когда коды и данные объединяются таким способом, создаётся объект (object). Другими словами, объект - это то, что поддерживает инкапсуляцию.
Внутри объекта коды и данные могут быть закрытыми. Сокрытие данных реализуется с помощью ключевых слов: private, protected, internal. Закрытые коды или данные доступны только для других частей этого объекта. Таким образом, закрытые коды и данные недоступны для тех частей программы, которые существуют вне объекта. Если коды и данные являются открытыми, то, несмотря на то, что они заданы внутри объекта, они доступны и для других частей программы. Характерной является ситуация, когда открытая часть объекта используется для того, чтобы обеспечить контролируемый интерфейс закрытых элементов объекта.
Полиморфизм (polymorphism) - это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач. Целью полиморфизма, применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий.
В более общем смысле, концепцией полиморфизма является идея "один интерфейс, множество методов". Это означает, что можно создать общий интерфейс для группы близких по смыслу действий. Преимуществом полиморфизма является то, что он помогает снижать сложность программ, разрешая использование того же интерфейса для задания единого класса действий. Выбор же конкретного действия, в зависимости от ситуации, возлагается на компилятор.
Ключевым в понимании полиморфизма является то, что он позволяет манипулировать объектами различной степени сложности путём создания общего для них стандартного интерфейса для реализации похожих действий.
Наследование (inheritance) - это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Наследование является важным, поскольку оно позволяет поддерживать концепцию иерархии классов (hierarchical classification). Применение иерархии классов делает управляемыми большие потоки информации. В каждом случае порождённый класс наследует все, связанные с родителем, качества и добавляет к ним свои собственные определяющие характеристики. Без использования иерархии классов, для каждого объекта пришлось бы задать все характеристики, которые бы исчерпывающе его определяли. Однако при использовании наследования можно описать объект путём определения того общего класса (или классов), к которому он относится, с теми специальными чертами, которые делают объект уникальным. Наследование играет очень важную роль в OOП.
Выбор и обоснование языка программирования.
Java -- объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (James Gosling) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания апплетов, приложений и серверного программного обеспечения
Отличительной особенностью Java в сравнении с другими языками программирования общего назначения является обеспечение высокой продуктивности программирования, нежели производительность работы приложения или эффективность использования им памяти.
В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C++.
Ключевые элементы в технологии языка Java:
- Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать новые программы.
- Java предоставляет программисту богатый набор классов объектов для ясного абстрагирования многих системных функций, используемых при работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов заключается в том, что они обеспечивают создание независимых от используемой платформы абстракций для широкого спектра системных интерфейсов.
Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Internet подключены компьютеры самых разных типов - Pentium PC, Macintosh, рабочие станции Sun и так далее. Даже в рамках компьютеров, созданных на базе процессоров Intel, существует несколько платформ, например, Microsoft Windows версии 3.1, Windows 7, 8, 8.1, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой XWindows. Приложения на языке Java предназначены для работы на различных платформах и не зависят от конкретного типа процессора и операционной системы. Возможность запуска одной и той же программы на различных платформах обеспечивает Виртуальная машина Java.
Java Virtual Machine (сокращенно Java VM, JVM) -- виртуальная машина Java -- основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java интерпретирует байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac). JVM может также использоваться для выполнения программ, написанных на других языках программирования. Например, исходный код на языке Ada может быть откомпилирован в байт-код Java, который затем может выполниться с помощью JVM.
JVM является ключевым компонентом платформы Java. Так как виртуальные машины Java доступны для многих аппаратных и программных платформ, Java может рассматриваться и как связующее программное обеспечение, и как самостоятельная платформа. Использование одного байт-кода для многих платформ позволяет описать Java как «скомпилировано однажды, запускается везде» (compile once, run anywhere).
Отличие компилятора Java от компиляторов таких языков как C/C++, Pascal заключается в том, что результатом компиляции программы является файл с так называемым байт-кодом - промежуточным языком, который не является набором команд какому-то конкретному процессору. Для того чтобы получить запустить программу, файл с байт-кодом подается на вход виртуальной машине, которая преобразует инструкции байт-кода в инструкции процессора. Таким образом, для того чтобы обеспечить кроссплатформенность достаточно для каждой операционной системы написать виртуальную машину Java. На данный момент эта задача выполнена для всех распространенных ОС.
Кроме того, Java - полностью объектно-ориентированный язык, даже в большей степени, чем С++. Все сущности в языке Java являются объектами, за исключением немногих основных типов (primitive types), например чисел.
Важно и то, что разрабатывать на Java программы, которые не содержат ошибок, значительно легче, чем на С++.
Все дело в том, что разработчиками языка Java из компании Sun был проведен фундаментальный анализ программ на языке С++. Анализировались "узкие места" исходного кода, которые и приводят к появлению трудновыявимых ошибок. Поэтому было принято решение проектировать язык Java с учетом возможности создавать программы, в которых были бы скрыты наиболее распространенные ошибки.
Для этого было сделано следующее:
- разработчики исключили возможность явного выделения и освобождения памяти.
К примеру, память в Java освобождается автоматически с помощью механизма сбора мусора. Получается, что программист застрахован от ошибок, которые возникают от неправильного использования памяти.
- введение истинных массивов и запрещение указателей.
Теперь программисты не могут стереть данные из памяти по причине неправильного использования указателей.
- была исключена возможность перепутать оператор присваивания с оператором сравнения на равенство. Как правило, проблема со знаком "=" очень часто приводит в С и С++ к логическим ошибкам, которые не так просто обнаружить. Особенно в крупных программах.
- полностью исключено множественное наследование. Оно было заменено новым понятием - интерфейсом, идея которого была позаимствована из языка Objective C.
Интерфейс дает программисту практически все, что тот может получить от множественного наследования, избегая при этом сложностей, которые возникают при управлении иерархиями классов.
Таким образом, язык Java обладает большим преимуществом перед другими языками. Независимо от ограничений и платформы, практические любые проблемы можно решить относительно легко. Это означает, что программирование на Java продолжает быть одними из самых производительных.
4. ОБОСНОВАНИЕ ОРИГИНАЛЬНЫХ РЕШЕНИЙ ПО ИСПОЛЬЗОВАНИЮ ТЕХНИЧЕСКИХ И ПРОГРАММНЫХ СРЕДСТВ, НЕ ВКЛЮЧЕННЫХ В ТРЕБОВАНИЯ
Для данного курсового проекта средством для хранения сохраненных данных проекта была выбрана база данных.
База данных - это совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД). СУБД обеспечивает поддержку создания баз данных, централизованного управления и организации доступа к ним различных пользователей.
Хранить данные независимо от программ, так, что они связаны между собой и организованы по определенным правилам, целесообразно. Но вопрос, как хранить данные, по каким правилам они должны быть организованы, остался открытым. Способов существует множество. Наиболее популярные - объектная и реляционная модели данных.
Реляционная база данных представляет собой набор таблиц, связанных между собой. Строка в таблице соответствует сущности реального мира.
Примеры реляционных СУБД: Mysql, PostgreSql. В основу объектной модели положена концепция объектно-ориентированного программирования, в которой данные представляются в виде набора объектов и классов, связанных между собой родственными отношениями, а работа с объектами осуществляется с помощью скрытых (инкапсулированных) в нихметодов.
Для данного проекта была выбрана реляционная база данных MySQL.
Mysql - это реляционная система управления базами данных. То есть данные в ее базах хранятся в виде логически связанных между собой таблиц, доступ к которым осуществляется с помощью языка запросов SQL. Mysql - свободно распространяемая система. Кроме того, это достаточно быстрая, надежная и, главное, простая в использовании СУБД, вполне подходящая для не слишком глобальных проектов.
К основным плюсам MySQL можно отнести высокую скорость работы, быстроту обработки данных и оптимальную надежность. Немаловажно и то, что данная СУБД распространяется бесплатно и представляет собой программное обеспечение с открытым кодом. За счет этого можно вносить свои изменения и модифицировать код, что весьма полезно для программистов.
СУБД MySQL является клиент-серверной системой, включающей многопоточный SQL-сервер, поддерживающий различные платформы, несколько клиентских программ и библиотек, инструменты администрирования и широкий диапазон программных интерфейсов приложений (API-интерфейсов).
Сервер MySQL существует также и в форме встраиваемое многопоточной библиотеки, которую можно связывать с разрабатываемыми приложениями, чтобы получить более компактные, быстрые и легкоуправляемые продукты.
Работать с Mysql можно не только в текстовом режиме, но и в графическом. Существует очень популярный визуальный интерфейс для работы с этой СУБД - Mysql WorkBench. Этот интерфейс позволяет значительно упростить работу с базами данных в Mysql.
Для создания графического интерфейса в данном курсовом проекте была использована библиотека Swing.
Swing - это набор графических компонентов для создания пользовательских интерфейсов приложений и апплетов, а также вспомогательные классы и инструменты для работы с этими компонентами.
Swing относится к библиотеке классов JFC (Java Foundation Classes), которая представляет собой набор библиотек для разработки графических оболочек. К этим библиотекам относятся Java 2D, Accessibility-API, Drag & Drop-API и AWT.
Библиотека Swing была выбрана благодаря наличию большого количества информации по ее использованию.
Приведу основные достоинства Swing:
Вся отрисовка hardware-accelerated. Любое Swing-приложение отрисовывается на GPU, от разработчика ничего не требуется. Это делает возможным анимации в приложении. В том числе, когда приложение полноэкранное или развернуто на 24'' мониторе.
MVC. Swing критикуют за массивность: каждые компонент состои из представления, контроллера и модели. В то же время, это дает возможность быстро добавить нужную фичу в существущий компонент. Все очень гибко.
Отличная среда разработки. Eclipse, Intellij IDEA, NetBeans - выбор огромный. Везде есть рефакторинги, форматирование кода, авто-комплит, поддержка unit-тестов,
Очень много библиотек. LayoutManager'ы, работа с нативными объектами, строками, вебом и т.д.
5. ОПИСАНИЕ ОСНОВНЫХ АЛГОРИТМОВ ПРИЛОЖЕНИЯ (БЛОК-СХЕМЫ)
Проведем анализ алгоритма соединения сервера с клиентом.
В моем приложении сервер служит исполнителем бизнес-логики, а связующим звеном между клиентом и базой данных. Сервер получает и обрабатывает данные, полученные от клиента.
Принцип работы сервера прост. Во время инициализации сервера происходит создание сокета, к которому будет подключаться клиент. Далее сервер всегда находится в режиме прослушивания. Как только клиент подключается к серверу, происходит создание нового потока. В данном потоке ведётся ожидание запроса от клиента, оно происходит в цикле. Подключившемуся клиенту высылается сообщение о том, что сервер подключен и может работать.
Клиент может посылать разные виды запросов. Как только сервером получен запрос, он обрабатывается и высылается ответ клиенту, соответствующий полученному запросу.
Если клиент разорвал соединение с сервером, то происходит закрытие потока. Но сервер продолжает работать на случай подключения других клиентов. автоматизация приложение запуск тестирование
Блок-схема алгоритма приведена на Рисунке 5.1.
Пользователь формирует расписание для учителей. Из этого сформированного расписание программа генерирует расписание для учеников. Блок-схема алгоритма конвертации расписания для учеников из расписания учителей приведена на рисунке 5.2.
Рисунок 5.1 - «Блок-схема алгоритма соединения сервера с клиентом»
Рисунок 5.2 - «Блок-схема алгоритма конвертации расписания для учеников из расписания для учителей»
6. ОПИСАНИЕ НАСТРОЙКИ И ЗАПУСКА СИСТЕМЫ
Для запуска приложения желательно иметь стабильное интернет-подключение, операционную систему семейства Windows 7/8/8.1, а также установленный JDK7 (JDK8). При старте серверной части надо убедиться в наличии установленной СУБД MySQL и её правильной конфигурации.
Далее необходимо произвести настройку сервера. Для этого в папке с сервером необходимо найти и открыть файл с именем port.txt. В него внести номер порта, на котором собирается работать сервер. По умолчанию сервер будет работать 8080 порту.
Содержимое файла приведено на Рисунке 6.1.
Рисунок 6.1 - «Файл port.txt»
Далее для запуска сервера в папке с сервером необходимо найти и запустить файл StartServer.bat.
Иллюстрация содержимого папки с файлом StartServer.bat представлено на рисунке 6.2.
Рисунок 6.2 - «Файл StartServer.bat»
Сервер работает. Иллюстрация работы запущенного сервера представлена на рисунке 6.3.
Рисунок - «Иллюстрация работы сервера»
Запуск клиентской программы.
Для запуска клиентской части программы и подключению ее к серверу необходимо задать настройки подключения к серверу.
Для этого в папке с клиентской программой необходимо найти и открыть файл address.txt. В нем содержится информация о номере порта и IP-адресе сервера. Для задания своих собственных параметров необходимо внести изменения в этот файл: ввести адрес сервера и, через символ «;» ввести номер порта.
Содержимое файла address.txt представлено на рисунке 6.4.
Рисунок 6.4 - «Файл address.txt»
Далее двойным кликом по файлу ClientTimetable.jar запускаем клиентское приложение.
Содержимое папки, содержащей файл ClientTimetable.jar приведено на рисунке 6.4.
Рисунок 6.4 - «Файл ClientTimetable.jar»
Приложение запущено.
7. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ РАЗРАБОТАННОЙ СИСТЕМЫ И ОЦЕНКА ВЫПОЛНЕНИЯ ЗАДАЧ (РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ)
В первую очередь необходимо запустить сервер. Иллюстрация работы запущенного сервера представлена на рисунке 7.1.
Рисунок 7.1 - «Иллюстрация работы запущенного сервера»
Сервер подключен и ждет подключения клиента.
Как только клиент подключился, в консоли отображается информация о клиенте: имя\IP-адрес и порт. Иллюстрация этого действия представлена на рисунке 7.2.
Рисунок 7.2 - «Иллюстрация подключения клиента к серверу»
Все дальнейшие действия по передаче и приёму информации отображаются в консоли сервера.
При подключении нового клиента, происходит соответствующая запись в консоли. Сервер поддерживает многопоточность, что позволяет ему одновременно обслуживать большое количество клиентов.
Сервер принимает запросы от клиентов и производит соответствующие действия: отправляет данные в базу, обновляет их или же отсылает данные из базы клиенту.
Рассмотрим клиентскую часть.
На начальном этапе работы с программой у пользователя есть выбор, как он хочет начать работу. Он может создать новое расписание или же открыть старое, чтобы посмотреть его или внести какие-то изменения.
Если пользователь выбирает «Создать новое расписание», ранее сохраненное расписание не сохранится в базе данных. Оно только может быть сохранено ранее в формате pdf.
Выбираем «Создать новое расписание».
Далее пользователь должен ввести расписание звонков в школе Это необходимо для последующего составления таблицы с расписанием занятий.
Рисунок 7.5 - «Окно Расписание звонков»
Точно также выводится предупреждение, если пользователь ввел расписание некорректно (рисунок 7.7).
Рисунок 7.7 - «Предупреждение о некорректном вводе расписания звонков»
Далее пользователь должен заполнить поля таблицы «Учителя» (рисунок 7.8).
Рисунок 7.8 - «Окно Учителя школы»
Если по какой-то причине пользователь не заполнил все поля таблицы при добавлении нового учителя, будет выведено соответствующее предупреждение (рисунок 7.9).
Рисунок 7.9 - «Предупреждение о том, что пользователь не заполнил все необходимые поля»
Далее пользователю предлагается заполнить таблицу, содержащую все классы, которые есть в школе (рисунок 7.10).
Рисунок 7.10 - «Окно Классы»
Если по какой-то причине пользователь не заполнил все поля таблицы при добавлении нового класса, будет выведено соответствующее предупреждение (рисунок 7.11).
Рисунок 7.10 - «Предупреждение о том, что пользователь не заполнил все необходимые поля»
После того, как пользователь установил все параметры для составления расписания, будет сгенерирована таблица расписания занятий для учителей, в которую можно вносить изменения и сохранять данные (рисунок 7.11).
Рисунок 7.11- «Расписание для учителей»
Пользователь сам заполняет таблицу расписания для учителей. При нажатии пункта меню «Файл» - «Проверить» расписание будет проверено на корректность. Если в ходе составления расписания пользователь допустил ошибки, будет выведено соответствующее предупреждение (рисунок 7.12).
Рисунок 7.12 - «Предупреждение о некорректном составлении расписания»
После заполнения таблицы клиент может сохранить данные (рисунок 7.13).
Рисунок 7.13 - «Сохранение расписания»
Также предусмотрена возможность экспортирования расписания в файл pdf (рисунок 7.14).
Рисунок 7.14 - «Экспортирование расписания в файл pdf»
Экспортированное расписание будет сохранено на диске C в папке Мои Документы.
Содержимое папки Мои Документы после экспортирования расписания приведено на рисунке 7.15.
Рисунок 7.15 - «Содержимое папки Мои Документы»
Pdf-файл, в результате, содержит данные, приведенные на рисунке 7.16.
Рисунок 7.16 - «Содержимое файла teachers.pdf»
Программа может сгенерировать расписание для учеников на основе расписания учителей. Для этого ему необходимо нажать на кнопку «Перейти к расписанию для учеников» (рисунок 7.17).
Рисунок 7.17 - «Расписание для учеников»
Расписание генерируется автоматически и пользователю не нужно заботиться о правильности его составления.
При последующем запуске программы, если на начальном этапе работы пользователь выберет «Загрузить последнее сохраненное расписание», созданное ранее расписание будет загружено, и в него можно будет также вносить коррективы.
ЗАКЛЮЧЕНИЕ
При выполнении данного курсового проекта я достигла поставленных целей в полном объеме. Был реализован ключевой функционал необходимый для составления расписания занятий.
В дальнейшем моё приложение может быть усовершенствовано путём добавления функции экспортирования расписания в форматы xls, doc и др. Также можно добавить функции генерации отчетности и проверки расписания на выполнение норм, оглашенных в нормативных документах.
В программу можно добавить функцию рассылки расписания учителям по e-mail, а также экспортирование его на сайт школы для того, чтобы расписание находилось в открытом доступе как для учителей, так и для учеников.
Приложение является простым в использовании. Как опытный, так и начинающий пользователь будет способен разобраться в функционале приложения.
Приложение не предъявляет завышенных аппаратных требований к конфигурации компьютера и его программного обеспечения, что означает охват большего числа пользователей.
При использовании данной программы завучем, рабочее время, затрачиваемое на составление расписание, будет сокращено, и в результате этого у завуча появится больше времени для выполнения других его обязанностей. Также использование приложения поможет избежать ошибок при составлении расписания занятий. Это поспособствует улучшению эффективности и качества работы завуча школы.
Круг потенциальных пользователей очень широк. Большинство школ не использует никакого программного обеспечения при составлении расписания занятий. Внедрение данной программы в школы существенно улучшило бы качество составляемых расписаний занятий для школ.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Java. Методы программирования. Блинов И.Н., Романчик В.С. - Минск: Издательство «Четыре четверти», 2013.
ПРИЛОЖЕНИЯ
Приложение А
(обязательное)
Функциональная модель разработки расписания занятий
Рисунок А.1 - «Контекстная диаграмма»
Рисунок А.2 - «Декомпозиция контекстной диаграммы»
Продолжение приложения А
Рисунок А.3 - «Декомпозиция блока Составить расписание для учителей»
Рисунок А.4 - «Декомпозиция блока Проверить правильность»
Приложение Б
Листинг кода ключевых классов
public class ClientConnector {
//static ServerSocket variable
private static ServerSocket server;
//socket server port on which it will listen
// private static int port;
public ClientConnector() throws IOException {
/**
* Reading info about port from file*/
BufferedReader fis = new BufferedReader(new InputStreamReader(new FileInputStream("port.txt")));
String line = fis.readLine();
fis.close();
server = new ServerSocket(Integer.parseInt(line));
}
public void Connect() throws IOException, ClassNotFoundException, InterruptedException, SQLException {
while(true){
System.out.println("Waiting for client request...");
//creating socket and waiting for client connection
Socket socket = server.accept();
//read from socket to ObjectInputStream object
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject("Server connected");
while(true){
String str = (String) ois.readObject();
if(str.equals("sending school")) {
System.out.println(str);
School school;
school = (School) ois.readObject();
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("school.txt"));
out.writeObject(school);
}
if(str.equals("send call table")) {
System.out.println(str);
CallTableModel ctm = new CallTableModel(new String[]{"Урок", "Начало", "Конец"});
CallTableOperation cto = new CallTableOperation();
ctm = cto.initRows(ctm);
oos.writeObject(ctm);
}
if(str.equals("Client connected"))
System.out.println(str);
if(str.equals("update call table"))
{
System.out.println(str);
CallTableModel ctm;
ctm = (CallTableModel) ois.readObject()
CallTableOperation cto = new CallTableOperation();
cto.update(ctm);
}
if(str.equals("send teachers table")){
System.out.println(str);
TeachersTableModel ttm = new TeachersTableModel(new String[]{"ФИО учителя", "Предмет", "Недельная нагрузка"});
TeachersTableOperation tto = new TeachersTableOperation();
...Подобные документы
Составление математической модели расписания в школе. Назначение и область применения программного продукта. Обоснование выбора инструментальных средств. Описание разработки, алгоритмов и методов решения, форматов данных и пользовательского интерфейса.
курсовая работа [1,6 M], добавлен 18.01.2012Практический опыт и проблемы внедрения систем автоматизированного составления расписания. Описание исходных данных для разработки функционала программы. Описание структуры разделов пользовательского интерфейса. Модуль проверок корректности расписания.
курсовая работа [3,6 M], добавлен 26.09.2014Основы проектирования информационно-прикладных систем. Подготовка макета приложения, интегрированного с БД. Сбор и загрузка исходных данных. Разработка и реализация математического алгоритма оптимизации составления расписания образовательного учреждения.
дипломная работа [3,4 M], добавлен 18.02.2017Анализ организационной структуры автоматизируемого подразделения, функции каждого сотрудника и принципы документооборота. Разработка структуры и алгоритмов информационной системы принятия решений. Описание архитектуры приложения и его основные функции.
дипломная работа [273,4 K], добавлен 10.07.2017Анализ существующих решений для составления расписания репетитора. Разработка архитектуры программного продукта. Выбор инструментальных средств. Проектирование реляционной базы данных. Определение методики тестирования. Реализация интерфейса пользователя.
дипломная работа [411,7 K], добавлен 22.03.2018Автоматизированные информационные системы и их структура. Описание предметной области. Программная реализация основных алгоритмов формирования документации. Организация входной информации. Процесс создания расписания. Расчет затрат на отладку программы.
дипломная работа [2,3 M], добавлен 06.09.2014Создание сетевой системы тестирования с целью автоматизации процесса контроля знаний, оценивания результатов и создания тестовых заданий. Файлы проекта и их назначение. Описание алгоритмов и модулей программы. Работа с сетью, руководство пользователя.
контрольная работа [928,3 K], добавлен 23.12.2012Описание самообучающейся экспертной системы и деятельности центра обучения иностранным языкам. Описание разработанной схемы данных, диаграммы классов, алгоритмов поиска ответа. Результаты тестирования разработанной системы. Учетные записи и работа с ними.
курсовая работа [2,0 M], добавлен 14.04.2015Современные программные продукты для автоматизации ведения бухгалтерского учета. Описание автоматизированной системы для учета выбранного вида деятельности на предприятии в среде 1С. Технология инсталляции, запуска и работы с программным изделием.
курсовая работа [3,4 M], добавлен 14.01.2013Разработка автоматизированной системы, предназначенной для составления месячных графиков работы экипажей подвижного состава трамвайного депо. Формирования отчетных документов, используемых подразделениями внутри предприятия. Описание алгоритмов работы.
дипломная работа [2,3 M], добавлен 06.04.2013Разработка базы данных с целью автоматизации процессов составления, ведения и распространения информации об расписании занятий в спортивном комплексе "Маяк". Анализ предметной области. Разработка алгоритмов работы программы и приложения пользователя.
дипломная работа [1,0 M], добавлен 12.07.2015Описание процесса разработки информационной системы. Анализ тестирования и выявления ошибок разработанного модуля. Обследование объекта автоматизации и оформление документации по эксплуатации программы. Сущность экспортирования и импортирования данных.
отчет по практике [1,3 M], добавлен 20.05.2017Назначение и архитектура экспертных систем, их применение в сфере образования. Экспертные системы тестирования, принципы их функционирования. Инструментальные средства создания приложения и разработка программы тестирования. Описание программы, листинг.
дипломная работа [706,4 K], добавлен 07.05.2012Изучение теории управления образовательными учреждениями и ВУЗами. Проектирование, реализация и внедрение автоматизированной информационной системы для автоматизации кафедры ВУЗа. Описание разработанной системы, расчет экономической эффективности проекта.
дипломная работа [4,5 M], добавлен 09.03.2010Особенность разработки алгоритмов для базы данных "Поэты". Анализ реализации анимации с помощью многофункциональной кроссплатформенной библиотеки SFML. Характеристика схемы алгоритма работы меню. Осуществление запуска программы через VisualStudio.
курсовая работа [4,4 M], добавлен 10.05.2019Особенности написания базы данных на языках программирования C++, применимой для расписания занятий в университете. Этапы работы: ввод новой записи, изменение, просмотр базы данных, поиск данных. Алгоритмы, используемые в процессе выполнения проекта.
практическая работа [16,6 K], добавлен 12.06.2010Реализация информационно-справочной системы расписания поездов в Microsoft Visual Studio 2008 на языке C#. Методика разработки и основное содержание данной программы, алгоритмы ее реализации. Требования к программе и оценка ее эффективности, листинг.
курсовая работа [5,0 M], добавлен 19.08.2012Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания).
курсовая работа [901,8 K], добавлен 11.02.2014Разработка web-интерфейса, предоставляющего всем студентам массив достоверной информации о расписания занятий в ПК БГТУ. Возможность подписки на обновления в расписании посредством электронной почты. Основные требования к разрабатываемому web-сервису.
дипломная работа [4,5 M], добавлен 09.07.2012Курс "Web-конструирование" в школе. Основы языка HTML. Изучение языка HTML в школе. Обзор программы ACDSee. Размещение информации на интернет-сайте. Обработка графики для интернет-страниц Adobe Photoshop. Обзор школьных учебников по информатике.
курсовая работа [29,8 K], добавлен 30.06.2009