Разработка программного продукта для автоматизации учета оплаты договоров за обучение
Уже сегодня в мире насчитывается несколько миллионов персональных компьютеров. Их популярность объясняется тем, что они просты в эксплуатации, потребляют мало энергии, обладают высокой надежностью быстродействием. Это способствует все большему распространению компьютеров в различные области человеческой деятельности. Развитие вычислительной техники позволяет строить системы нового типа… Читать ещё >
Разработка программного продукта для автоматизации учета оплаты договоров за обучение (реферат, курсовая, диплом, контрольная)
Целью дипломного проектирования является создание программного продукта предназначенного для автоматизации учета оплаты договоров за обучение.
Внедрение разработанного программного позволит быстро и оперативно получать нужную информацию, значительно сократит затраты, связанные с обработкой информации, освободит от хранения большого объема информации на бумаге, сократит рутинные вычисления при получении выходных документов.
Социально-экономический раздел дипломного проекта посвящен рассмотрению роли информационных технологий в управлении. В разделе приводится обоснование ожидаемых результатов повышения эффективности работы от использования разработанного программного продукта.
В научно-исследовательском разделе описывается объект автоматизации и его математическая модель. В разделе приводится обзор программных средств разработки приложений и обосновывается выбор языка программирования. Также в этом разделе приводится классификация приложений для работы с базами данных, дается обзор существующих систем управления базами и обосновывается выбор СУБД.
В специальном разделе дается описание информационной модели объекта автоматизации, приводится структура разработанной базы данных, функциональная структура разработанного программного продукта с указанием назначения программных модулей. Кроме того, в этом разделе приводится руководство пользователя по эксплуатации созданного программного продукта и руководство программиста по установке и сопровождению программы.
1. Социально-экономический раздел
1.1 Роль информационных технологий в совершенствовании управления
Компьютер по праву считается одним из высших достижений современной цивилизации. Пройдя в течение нескольких десятилетий путь от конструкции, занимающей несколько комнат и потребляющей соответствующее количество электроэнергии, до нескольких блоков, свободно размещающихся на рабочем столе, компьютер превратился в верного помощника миллионов людей в работе и отдыхе. При этом, несмотря на столь значительный прогресс, компьютер и сопутствующие ему технологии продолжают развиваться столь же стремительными темпами.
Быстрое развитие вычислительной техники привело к прочному входу компьютеров в жизнь и деятельность человека. С появлением новых, более современных и быстродействующих компьютеров все больше увеличиваются области их применения. Сейчас уже трудно найти сферы деятельности, где бы еще не применялись компьютеры. Использование компьютера как вспомогательного средства сильно изменило множество профессий человека. Огромное увеличение объема информационных потоков в конце XX века привело к тому, что успешность любого предприятия очень сильно зависит от способности его менеджеров вовремя получить и быстро обработать нужную информацию.
Внедрение ЭВМ, вычислительных систем и средств автоматизации в различные сферы производства, в первую очередь в экономике, управлении и делопроизводстве, позволяет оперировать большими объемами информации. Применение ЭВМ становится необходимым условием успешного выполнения производственных задач. Наглядность и полнота представления большого объема информации на экране монитора способствует более легкому ее восприятию, быстрому анализу.
В 90-е годы идет огромными шагами развитие идеи объединения компьютеров в компьютерные сети для совместного хранения, обработки и использования информации, сначала в местных масштабах (локальные вычислительные сети), а затем и мировых (глобальные). Поскольку компьютеры прочно вошли во все сферы деятельности человеком, возникла проблема обмена данными между отдельными пользователями. Организация компьютерных сетей позволяет получать доступ отдельному пользователю к удаленным базам данных и использовать их для своих нужд. На сегодняшний день уже работают глобальные компьютерные сети, позволяющие миллионам пользователей, причем разных типов компьютеров, в считанные секунды получать интересующую информацию со всех концов света.
Уже сегодня в мире насчитывается несколько миллионов персональных компьютеров. Их популярность объясняется тем, что они просты в эксплуатации, потребляют мало энергии, обладают высокой надежностью быстродействием. Это способствует все большему распространению компьютеров в различные области человеческой деятельности. Развитие вычислительной техники позволяет строить системы нового типа, характеризующиеся, с одной стороны, разнообразием средств отображения информации, с другой — интеграцией этих средств, и обеспечением максимальных условий работы пользователей, не имеющих специальной подготовки. Еще одним преимуществом персональных компьютеров являются их небольшие размеры, что позволяет размещать такие машины на рабочих местах. Организация автоматизированных рабочих мест (АРМ) на производстве способствует сокращению потерь времени, связанных с ежедневными операциями по учету и хранению информации, контролю протекания процесса производственного процесса. Организация связи между такими АРМ с помощью локальной сети обеспечивает:
быстрый доступ к любой информации;
анализ состояния производственного процесса и своевременное принятие управленческих решений в случае обнаружения сбоев в процессе производства;
контроль исполнения управленческих решений.
Однако, сама по себе установка современных технических устройств на рабочих местах не означает повышение эффективности управления производственными процессами. Разработка и применение соответствующего программного обеспечения для таких устройств может способствовать успешному решению сложных научно-технических задач. В состав программного обеспечения входят как универсальные пакеты, так и программы, ориентированные на решение отдельных проблем. Можно выделить три основных класса программных средств:
прикладные программы и пакеты программ;
инструментальные системы программирования;
операционные системы.
Прикладные программы позволяют сделать компьютер действительно удобным средством для выполнения различных работ. Именно прикладные программы и пакеты программ образуют ту информационную оболочку, которая превращает сложный электронный прибор в удобное и простое в использовании информационно-вычислительное устройство. С помощью систем программирования можно создавать программные продукты, направленные на решение: различных производственных задач. Выбор установки той или иной операционной системы зависит от класса задач, которые будут решаться с помощью данных программных средств. Программное обеспечение должно обеспечивать решение необходимых производственных задач, быть простым для обучения пользователей работе на компьютере в кратчайшие сроки, удобным для эксплуатации пользователями, а также отвечать всем требованиям по надежному хранению информации и быстрому доступу к необходимым данным.
Эффективный доступ к информационным ресурсам, контроль за распространением и обменом информацией являются ключевыми моментами управления работой любого предприятия и организации. Объединение персональных компьютеров в локальные сети, интеграция в них различного коммуникационного и офисного оборудования позволили создавать мощные информационно-вычислительные комплексы масштаба предприятий и крупных корпораций. В последние годы появилось понятие «электронный офис», под которым понимается многофункциональная гибкая информационно-вычислительная система предприятия, интегрированная в глобальные сети передачи информации посредством высокопроизводительных каналов связи и комплекса различных услуг.
Преимущества использования ПК для организации деловой жизни становятся очевидны. Это идеальный инструмент для запоминания и управления различной информацией.
Основными источниками экономической эффективности при внедрении ЭВМ служат:
повышение производительности труда вследствие сокращения потерь рабочего времени;
повышение научно-технического уровня системы управления и подготовки специалистов;
увеличение масштабов внедрения программного продукта (ПП).
При широком использовании информационных технологий происходит большая экономия времени за счет сокращения малопродуктивной деятельности, уменьшения количества встреч, а также за счет ускорения процессов анализа и обработки документации. [1]
Помимо экономии времени существует много возможностей по повышению качества работы. Улучшение показателей качества непосредственно связано с 4 важнейшими факторами:
Прямой своевременный доступ к информационным ресурсам, осуществляемый с АРМ к внешним и внутренним базам данных.
Эффективная координация деятельности с помощью систем передачи речи и систем электронной почты.
Более эффективное взаимодействие с людьми за счет использования более информативных и наглядных документов, а также быстродействующих систем передачи сообщений.
Выделение необходимого времени на такие высокопродуктивные виды деятельности, как анализ, способствующие в наибольшей степени выполнению возложенных на предприятие функций.
Применение информационной техники обладает рядом существенных преимуществ: Во-первых, это более широкое распространение информации. Большое количество людей может быть подсоединено к цифровым сетям и может пользоваться такими услугами, как телемаркетинг, телеобучение, телеигры, телеконференции. Во-вторых, большая простота пользования ИТ. Кроме того, повышается удобство. По мере совершенствования программного обеспечения, которое выбирает и формализует информацию в соответствие с индивидуальными запросами, пользование терминалами становится более простой задачей. И, наконец, самое важное преимущество — снижение цен в связи с тем, что удельные издержки на информационную технику значительно ниже удельных издержек при использовании традиционных методов (с привлечением человека, бумаги и т. д.).
В связи с внедрением ИТ внутри компаний происходит перераспределение, исключение фаз, связанных с дополнительными затратами, изменяется структура предприятий, ликвидируются отдельные звенья. Использование интегрированных систем, безусловно, приводит к значительному сокращению управленческого аппарата, в частности его среднего звена.
Кроме того, введение ИТ влечет за собой изменение организационной структуры фирм. Более простые связи и более широкие возможности контроля обеспечивают чрезвычайно высокую эффективность использования электронных систем обмена информацией.
Используя в качестве электронных хранилищ информации базы данных пользовали при работе получают большие преимущества. Рассмотрим некоторые из этих преимуществ. В некоторой степени это зависит от того, о какой системе идет речь — однопользовательской или многопользовательской. [2]
В случае однопользовательской системы баз данных по сравнению с традиционным бумажным методом содержания записей преимущества весьма очевидны.
Компактность. Нет необходимости в многотомных бумажных архивах.
Скорость. Компьютер может вести поиск и изменять данные гораздо быстрее человека. В частности, на специальные вопросы, возникающие в процессе работы, можно получить ответ быстро, не затрачивая времени на визуальный поиск.
Низкие трудозатраты. Нет необходимости в утомительной ручной работе над картотекой. Механическую работу машины всегда выполняют быстрее.
Применимость. Точная, свежая информация всегда под рукой.
Эти преимущества приобретают еще большее значение в многопользовательской среде, где база данных, вероятно, больше и сложнее однопользовательской. Кроме того, многопользовательская среда имеет дополнительное преимущество: система баз данных предоставляет предприятию централизованное управление его данными (а такое управление является наиболее ценным свойством базы данных). Если предприятие не использует систему баз данных, то для каждого отдельного приложения создаются свои файлы, чаще всего размещаемые на отдельных магнитных лентах или дисках, в результате чего данные оказываются разрозненными. Систематически управлять такими данными очень сложно.
Отметим преимущества использования баз данных, связанные с централизованным управлением.
Возможность сокращения избыточности.
В системах, не использующих базы данных, каждое приложение имеет свои файлы. Это приводит к избыточности хранимых данных, а следовательно, к расточительству памяти. Например, как приложение, связанное с учетом персонала, так и приложение, связанное с учетом обучения служащих, могут иметь собственный файл с ведомственной информацией о служащих. Эти два файла можно объединить с устранением избыточности (одинаковой информации) при условии, что администратор данных знает о том, какие данные нужны для каждого приложения, т. е. если на предприятии осуществляется необходимое общее управление.
Возможность устранения (до некоторой степени) противоречивости.
В действительности это следствие предыдущего пункта. Действительно, если избыточность не контролируется, тогда в какой-то момент возникнет ситуация, при которой две записи в разных приложениях будут не согласованы, а именно: одна из них будет изменена, а другая — нет. Очевидно, если какой-либо факт представлен одной записью, то противоречий возникнуть не может.
Возможность общего доступа к данным.
Общий доступ к данным означает возможность доступа к ним нескольких приложений базы данных и разработки новых приложений для работы с этими же данными, и при этом нет необходимости в создании новых данных.
Возможность соблюдения стандартов.
Благодаря централизованному управлению может обеспечиваться представление данных в определенных стандартах. Стандарты могут быть корпоративными, установочными, ведомственными, промышленными, национальными и интернациональными. Стандартизация представления данных наиболее важна для обмена и перенесения данных между системами. Кроме того, стандарты важны и для совместного использования данных, и для их понимания.
Возможность введения ограничений для обеспечения безопасности.
Благодаря полному контролю над базой данных администратор может обеспечить доступ к базе данных через определенные каналы, а следовательно, может определить правила безопасности, которые будут проверяться при попытке доступа к уязвимым данным. Для разных типов доступа и разных частей базы данных можно установить различные правила. Однако необходимо отметить, что при отсутствии таких правил безопасность данных подвергается большему риску, чем в обычной (разрозненной) файловой системе; т. е. централизованная природа системы баз данных в некотором смысле требует наличия хорошей системы безопасности.
Возможность обеспечения целостности данных.
Задача целостности заключается в обеспечении правильности и точности данных в базе данных. Для этого администратор определяет правила целостности, которые применяются при любой попытке проделать какую-либо операцию обновления.
Возможность сбалансировать противоречивые требования.
Зная общие требования всего предприятия, администратор может структурировать базу данных таким образом, чтобы обслуживание в целом для предприятия было наилучшим.
1.2 Ожидаемые результаты повышения эффективности управления при использовании разработанного программного продукта
Разработанная в дипломном проекте программа обеспечивает автоматизацию работы бухгалтерии по учету оплаты договоров за обучение.
Внедрение разработанного программного продукта позволит наиболее быстро и оперативно получать нужную информацию об оплате учебы студентами, позволит повысить точность и оперативность работы с документацией, автоматизировать формирование различных отчетных документов, что значительно уменьшит временные, а соответственно и материальные затраты. Использование ЭВМ обеспечивает повышение точности и оперативности учета важной информации, освободит от выполнения дополнительных функций, таких как многократное заполнение однотипных документов и выполнения расчетов для анализа данных вручную, описания и хранение большого объема информации на бумаге. Кроме обеспечения быстрого доступа к необходимой информации, организация автоматизированных рабочих мест (АРМ) позволит своевременно обновлять и корректировать информацию. Обработка информации на ЭВМ осуществляется гораздо легче и быстрее, чем вручную, что позволяет экономить время, которое тратит работник на выполнение данной операции.
Экономическая эффективность обуславливается сокращением трудозатрат на организацию работы бухгалтерии по ведению документации и получении информации по необходимым формам.
Помимо экономии времени улучшение показателей качества работы связано со своевременным получением информации, хранящейся в БД, повышением контроля правильности ввода информации, использования более информативных и наглядных документов, сокращение рутинных вычислений при получении выходных документов.
Для выполнения поставленных целей разработанный программный продукт должен выполнять следующие функции:
ведение договоров на обучение;
ведение лицевых счетов студентов;
учет оплаты за обучение;
ведение нормативно-справочной информации;
формирование сводной выходной информации и документации, например, получение оборотной ведомости или сведений о задолженниках;
ведение архивов лицевых счетов и оплат.
2. Научно-исследовательский раздел
2.1 Описание объекта автоматизации
В задаче, поставленной в дипломном проектировании, в качестве объекта автоматизации выступает бухгалтерия.
Существует множество форм бухгалтерского учета. Одной из них является автоматизированная форма учета.
Автоматизированная форма учета, основанная на использовании электронно-вычислительной техники, представляет собой комплексную автоматизацию учетного процесса, начиная от сбора первичных учетных данных до получения бухгалтерской отчетности.
Обработка данных производится с помощью специальных программ, которые обеспечивают хранение, обработку информации, выдачу ее на экран или печать по запросу.
Схема автоматизированной формы учета приведена на рис. 1.
Рисунок 1
Одной из задач бухгалтерии ВУЗа является учет оплаты договоров за обучение.
В институте, в связи с ограниченным приемом, наряду с бесплатной формой обучения существует также и обучение на платной основе. Студенты, обучающиеся в ВУЗе на платной основе, заключают с институтом договор на обучение. По каждому студенту, с которым заключен договор, ведется лицевой счет, где отражаются все начисления и оплаты за обучение.
Сумма для оплаты начисляется за определенный период, обычно за один учебный год (с сентября по июнь). Новая сумма для оплаты начисляется через определенный период времени, например, перед началом каждого учебного года.
Для каждого студента вычисляется сальдо расчетов. Сальдо может быть дебетовым (начисления превышают оплаты) или кредитовым (оплаты превышают начисления). Сальдо рассчитывается следующим образом: при начислении новой суммы для оплаты сальдо студента увеличивается на величину этой суммы, а при оплате студентом обучения в банке сальдо уменьшается на величину оплаты.
При заключении договора студенту присваивается индивидуальный номер или код, который является уникальным для каждого студента. Этот код необходим для идентификации студента при всех расчетах.
Оплата учебы студентом осуществляется через сбербанк. Оплата за обучение может вноситься полностью (сразу) или частично. ВУЗ имеет в банке расчетный счет. Студент при оплате обучения в банке перечисляет деньги на расчетный счет ВУЗа, указывая в квитанции номер расчетного счета, а также название института и ИНН. Кроме реквизитов института в квитанции также указываются реквизиты банка, в котором находится расчетный счет института (наименование, расчетный и корреспондентский счета, БИК).
Сведения об оплатах студентов формируются ежедневно на основании выписок банка. Каждый день в институт из банка приходят выписки о движении денежных средств на расчетном счету за предыдущий день. В выписке содержится информация и о перечислениях денег студентами за обучение. В выписках указывается Ф.И.О. студента, который внес оплату, сумма оплаты, а также номер и дата выписки.
Использование вместо традиционных, бумажных методов учета электронные методы позволит проводить указанные задачи функционирования бухгалтерии более эффективно и поддерживать ее работу с меньшими затратами труда, чем при использовании ручной обработки документации. Исходя из этого, вытекает необходимость разработки системы, которая бы обеспечила бы автоматизацию учета оплаты обучения студентами при сохранении в ней всех функций, выполняемых при ведении учета бумажными методами.
Схема документооборота приведена на рис. 2.
Рисунок 2
Нормативно-справочная информация включает данные о студентах, группах и факультетах. Сюда также входит информация, содержащая данные о самом ВУЗе (различные реквизиты, например, название и номер расчетного счета) и данные о банке, в котором находится расчетный счет ВУЗа.
Данные о студентах включают:
код студента;
Ф.И.О. студента;
номер группы;
дата окончания учебы.
Данные о группах включают следующую информацию:
номер группы;
факультет.
Данные о факультетах:
краткое наименование факультета;
полное наименование факультета.
Реквизиты института:
краткое наименование института;
полное наименование института:
адрес;
номер расчетного счета;
ИНН института.
К нормативно-справочной информации относится кроме того Ф.И.О. ректора и Ф.И.О. главного бухгалтера.
Реквизиты банка:
наименование банка;
номер расчетного счета;
номер корреспондентского счета;
БИК.
В договорах содержится следующая информация:
номер договора;
дата заключения договора;
информация о суммах, начисленных студенту для оплаты. Это дата начала и окончания периода оплаты и величина суммы.
Выписки, поступающие из банка, содержат следующую информацию:
номер выписки;
дата выписки;
информация о перечислениях, сделанных на расчетный счет института. Это код и Ф.И.О. студент и сумма оплаты.
2.2 Анализ языков программирования и выбор среды разработки
Наиболее распространенными средствами разработки различных приложений в среде Windows в настоящее время являются Visual Basic, Borland C++ Builder, Borland Delphi.
Язык Basic вначале был разработан для создания простых программ и использовался в качестве учебного языка для изучения основ программирования с последующим переходом на более сложные и универсальные языки. Именно поэтому этот язык с ранних пор был одним из самых простых в использовании. В настоящее время последняя версия этого языка Visual Basic 6 дает возможность решать любые современные задачи разработки приложений. При этом Visual Basic 6 остался достаточно простым в освоении, став в то же время одним из самых распространенных языков программирования. В Visual Basic 6 интегрирован набор инструментов, облегчающих и ускоряющих процесс разработки готового приложения. Такая реализация языка позволяет отнести его к средствам быстрой разработки приложений. Одним из направлений развития Visual Basic является то, что этот язык стал фактическим стандартом языка для управления всеми крупномасштабными Windows-приложениями. На основе Visual Basic созданы встроенные языки макропрограммирования для различных пакетов Microsoft Office. Эти языки получили общее название Visual Basic for Application (VBA). В Office единый языковый механизм VBA используют все основные приложения: Word, Excel, PowerPoint, Access. [7]
Программный продукт Borland C++ Builder — это средство быстрого создания корпоративных информационных систем, объединившее удобства визуальной среды разработки, объектно-ориентированный подход, разнообразные возможности повторного использования кода, открытую архитектуру и высокопроизводительный компилятор языка С++, одного из самых распространенных языков программирования. [6]
Отметим основные особенности Borland C++ Builder [6]:
удобная среда разработки;
быстрота разработки приложений;
высокая производительность разработанного приложения за счет получения 32-разрядного исполняемого кода с помощью оптимизирующего компилятора;
невысокие требования разработанного приложения к ресурсам компьютера;
возможность полного доступа к функциям операционных систем Windows;
возможность модернизации среды разработки за счет встраивания в нее новых компонентов, инструментов;
возможность использования в приложениях визуальных компонентов, созданных с помощью Borland Delphi;
возможность разработки новых компонентов и инструментов как собственными средствами, так и средствами Borland Delphi;
архитектура доступа к данным базируется на библиотеке BDE, которая обеспечивает доступ к локальным БД и к SQL-серверам;
возможность создавать и встраивать в приложение разнообразные отчеты.
Язык Visual Basic является неструктурированным языком и с его помощью достаточно сложно писать серьезные прикладные программы, он обладает ограниченными возможностями. Язык С++ достаточно сложен в использовании и применяется в основном для решения задач системного программирования. Поэтому в дипломном проекте в качестве основного инструмента разработки клиентского приложения был выбран язык программирования Delphi.
Среда Delphi обладает с одной стороны, высокой производительностью приложений благодаря созданию полностью скомпилированного кода, удобной настраиваемой средой разработки, компонентной архитектурой, позволяющей строить приложение путем сборки его из отдельных компонентов, множество которых имеет широкое распространение, а с другой стороны — возможностью доступа к разнообразным данным, начиная от плоских таблиц типа dBase и Paradox и заканчивая разнообразными серверными СУБД. С помощью Delphi возможен достаточно безболезненный переход к архитектуре клиент-сервер по сравнению с другими средствами, модернизация с помощью которых была бы сопряжена с большими трудовыми и материальными затратами.
На сегодняшний день Delphi является одним из самых распространенных средств создания приложений баз данных для корпоративных применений. Простота и естественность языка, ориентация системы на разработку именно такого рода приложений, наконец, эффективность (большая производительность и небольшие размеры) создаваемых с ее помощью программ сделали Delphi незаменимым средством разработки различного рода клиентских мест, т. е. программ для доступа к базам данных. [3]
Delphi представляет собой 32-разрядную рабочую среду для создания 32-разрядных приложений, которые могут исполняться под управлением Windows 95, 98 или Windows NT. В основу этого программного продукта легли концепции объектно-ориентированного программирования на базе языка Object Pascal и визуального подхода к построению приложений.
Delphi позиционируется фирмой Inprise как средство создания полноценных распределенных корпоративных систем доступа к данным.
Но в то же время среда разработки сохранила простоту и наглядность процесса создания приложений, основанного на использовании технологий визуального программирования. Компонентный подход позволяет легко и быстро создавать не только интерфейс программ, но и достаточно сложные механизмы доступа к данным, а также повторять и тиражировать удачные программные решения. Delphi позволяет также создавать прикладные программы за рекордно короткое время, поскольку можно оперативно поочередно выполнять и отлаживать свою программу в рамках среды разработки. Оптимизирующий компилятор Delphi прозрачно и быстро преобразует интерфейс и программу на исходном языке в компактную исполняемую программу на машинном языке или в библиотеку динамических связей DLL.
В состав поставки Delphi входит множество средств для разработки и эксплуатации приложений, использующих базы данных:
машина баз данных Borland Database Engine (BDE), представляющая собой набор dll-библиотек, обеспечивающих низкоуровневый доступ к локальным и клиент / серверным СУБД;
драйверы для работы с удаленными серверами данных SQL Links;
утилита для установки псевдонимов баз данных, параметров и драйверов БД на конкретном компьютере;
средство для создания, изменения и просмотра БД Database Desktop, ориентированное на работу с локальными СУБД;
универсальная утилита SQL Explorer, позволяющая вести визуальное программирование БД с использованием данных от сервера;
средство для трассировки выполнения SQL-запросов SQL Monitor и другие средства разработки приложений для БД.
Все это делает Delphi одним из самых удобных средств программирования.
2.3 Анализ СУБД и выбор БД для создания информационной модели
Базами данных (БД) называют электронные хранилища информации, доступ к которым осуществляется с помощью одного или нескольких компьютеров. Обычно БД создается для хранения и доступа к данным, содержащим сведения о некоторой предметной области человеческой деятельности или области реального мира. Почти все продукты, созданные с конца 70-х годов, основаны на подходе, который называют реляционным. Реляционный подход представляет собой основную тенденцию сегодняшнего рынка, и реляционная модель — единственная наиболее существенная разработка в истории развития БД. Реляционная БД — это база данных, в которой данные воспринимаются пользователем в виде таблиц. [2]
Системы управления базами данных (СУБД) — это программные средства, предназначенные для создания, наполнения, обновления и удаления баз данных. [3]
В зависимости от расположения различают локальные и распределенные (удаленные) СУБД.
Все части локальной СУБД размещаются на компьютере пользователя базы данных. Локальный вариант реально может обеспечить лишь однопользовательский режим доступа к данным. Этот вариант на предприятиях практически не встречается, так как в нем чрезвычайно трудно синхронизировать содержимое нескольких копий БД, количество которых (копий) должно равняться количеству одновременно работающих с данными пользователей.
До недавнего времени для организации коллективных БД использовалась, как правило, архитектура файл-сервер. В файл-серверных БД данные располагаются на сетевом файл-сервере, который может быть доступен одновременно нескольким пользователям, поэтому к таким БД возможен многопользовательский режим доступа. Данные в БД хранятся в единственном экземпляре, а каждый клиент в каждый момент времени работает с некоторой локальной копией этих данных, причем управление данными целиком возлагается на клиентские программы. Именно они должны заботиться о синхронизации локальных копий данных на каждом клиентском месте с содержимым основной (и единственной) базы данных. В ходе эксплуатации таких систем были выявлены общие недостатки файл-серверной архитектуры, которые состоят в следующем.
Вся тяжесть вычислительной работы ложится на компьютер клиента; на рабочую станцию присылаются не только данные, необходимые конечному пользователю, но и данные, которые будут использоваться для выполнения запроса и затем будут отброшены. Объем лишней информации может быть значительно больше, чем объем информации нужной. В результате возрастает загрузка сети, и увеличиваются требования к аппаратным мощностям пользовательского компьютера.
Поскольку БД представляет собой набор файлов на сетевом сервере, доступ к таблицам регулируется только сетевой операционной системой, что делает такую БД по сути беззащитной от случайного или намеренного искажения хранящейся в ней информации, уничтожения или хищения.
Бизнес-правила в системах файл-сервер реализуются в программе клиента, что в принципе не исключает проектирование противоречащих бизнес-правил в различных программах. Смысловая целостность информации при этом может нарушаться.
Недостаточно развитый аппарат транзакций локальных СУБД служит потенциальным источником ошибок как при одновременном внесении изменений в одну и ту же запись, так и при реализации отката результатов серии объединенных по смыслу в единое целое операций над БД, когда некоторые из них завершились успешно, а некоторые — нет. Это может нарушать ссылочную и смысловую целостность БД.
Перечисленных недостатков во многом лишены СУБД, построенные по архитектуре клиент-сервер.
В архитектуре клиент-сервер между клиентом и БД появляется важное промежуточное звено — сервер БД (специальная программа, управляющая базой данных) Клиент формирует запрос к серверу на языке запросов SQL (Structured Query Language — структурированный язык запросов), являющийся промышленным стандартом для реляционных БД. SQL-сервер обеспечивает интерпретацию запроса, его выполнение, формирование результата и выдачу этого результата клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса: клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и предоставляет пользователю. Так как клиентскому компьютеру посылается результат выполнения запроса, по сети передаются только те данные, которые в действительности нужны клиенту. В итоге снижается нагрузка на сеть. Кроме того, SQL-сервер, если это возможно, оптимизирует полученный запрос таким образом, чтобы он был выполнен за минимально возможное время. Все это повышает быстродействие системы и снижает время ожидания результата запроса.
При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку правила целостности данных определяются на сервере и являются едиными для всех приложений, использующих эту БД. В результате исключается возможность определения противоречивых правил поддержания целостности. Мощный аппарат транзакций, поддерживаемый SQL-серверами, блокирует одновременное изменение одних и тех е данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно.
Данные в серверной БД обычно физически хранятся на диске в виде одного большого файла, что в сочетании с назначаемыми каждому пользователю паролями и привилегиями существенно повышает защиту данных от намеренной порчи и хищений.
По вышеназванным причинам при разработке базы данных в дипломном проекте была выбрана архитектура клиент-сервер.
В архитектуре клиент-сервер используются промышленные серверы данных типа Oracle, MS SQL Server, Informix, Sybase, InterBase и ряд других. Серверы Oracle, Informix, Sybase управляют базами данных объемом десятки и сотни гигабайт. Для управления меньшими корпоративными базами данных MS SQL Server и InterBase. Каждый тип сервера работает на собственном диалекте языка, который более или менее соответствует стандарту ANSI 92. Серверы Oracle и InterBase имеют некоторые дополнения. А диалекты серверов Sybase и MS SQL отличаются от стандарта довольно сильно. [4]
Oracle была первой коммерческой реляционной СУБД, поддерживающей ставший ныне индустриальным стандартом язык SQL; ее первая версия появилась в 1970 году. Ранние версии этой СУБД были предназначены для мэйнфреймов, а в качестве рабочих мест использовались терминалы. Однако со временем появились версии Oracle, предназначенные для использования в архитектуре клиент-сервер (первой такой версией была Oracle 5, выпущенная в 1985 году). Первоначально версии Oracle были предназначены для различных серверных платформ. Первые версии этого сервера для персональных компьютеров появились в середине 90-х годов. Oracle была первой компанией, создавшей СУБД, использовавшую предоставляемыми некоторыми серверными платформами средства параллельных вычислений. На сегодняшний день последней версией этого сервера является версия Oracle 8i, отличительными свойствами которой являются:
наличие объектных расширений и соответствующих типов данных;
наличие функций аналитической обработки данных;
возможность создания таблиц, содержащих агрегатные данные;
поддержка хранения мультимедиа-данных;
дополнительные возможности обеспечения безопасности данных, например, шифрование данных;
возможность создания систем, устойчивых к сбоям и ряд других.
Oracle производит собственные средства разработки клиентских приложений, например, Developer/2000 или Oracle Power Objects, а также предоставляет пользователям возможность создавать клиентские приложения с помощью других средств. [5]
Первая версия Microsoft SQL Server предназначалась для платформы OS/2, последующие версии этого сервера баз данных предназначались для платформы Windows NT и со временем были тесно интегрированы с этой операционной системой. На сегодняшний день наиболее широко используемой является выпущенная в 1998 году версия Microsoft SQL Server 7.0. Эта версия предназначена исключительно для платформы Windows NT, в ее состав входят удобные утилиты администрирования, сервисы преобразования данных, поддержка распределенных запросов и транзакций, утилиты для создания хранилищ данных. Клиентские приложения для Microsoft SQL Server можно создавать как с помощью средств разработки Microsoft — Visual Basic, Visual C++ и других, так и с помощью средств разработки других производителей. Для этого поставляются специальные драйверы и библиотеки. [5]
Ведущий продукт фирмы Informix — Informix Dynamic Server, последняя версия которого называется Informix Dynamic Server.2000. Данный продукт поддерживает платформы UNIX и Microsoft SQL Server и обеспечивает эффективную работу как на одно-, так и на многопроцессорных системах. В числе основных характеристик сервера следует отметить следующие:
использование для управления дисковым пространством как средств ОС, так и собственных функций, что позволяет добиться более высокой производительности;
управление разделением памяти;
поддержка фрагментации таблиц и индексов на нескольких дисках;
распараллеливание запросов;
зеркалирование данных;
двухфазное завершение транзакций и др.
Клиентские приложения могут создаваться с использованием C, C++, Java, Visual Basic, Delphi. Помимо этого существует собственное средство разработки Informix 4GL и Informix Client Software Developer's Kit. [5]
Одним из серверных продуктов фирмы Sybase является продукт под названием Adaptive Server Enterprise. Этот продукт существует для Windows NT и некоторых версий UNIX и предназначен для обслуживания крупных предприятий. Другим продуктом этой фирмы является Adaptive Server Anywhere. Этот сервер предназначен для обслуживания небольших рабочих групп, для применения в портативных компьютерах в качестве персонального сервера с периодическим копированием информации в общую БД. [5]
Для реализации архитектуры клиент / сервер в дипломном проекте был использован сервер InterBase компании Inprise (прежнее название — Borland). Выбор в пользу именно этого сервера был сделан по следующим причинам.
InterBase — «родной» сервер для Delphi и для доступа к нему не нужно устанавливать дополнительных драйверов. Продукция фирмы Inprise (Borland) давно зарекомендовала себя с положительной стороны.
InterBase весьма прост в установке и не требует дополнительных усилий по настройке. InterBase относительно прост в администрировании по сравнению с другими SQL-серверами. Установка программного обеспечения клиента также чрезвычайно проста.
Сервер InterBase использует ряд уникальных технологий. Например, активное ядро сервера реализует блокировку данных на уровне отдельных записей. Кроме того, сервер не прихотлив и практически не требует администрирования. Этот сервер обладает прекрасными функциональными возможностями. Также InterBase работает практически со стандартным SQL (дополнения и изменения невелики).
За работой сервера внимательно следит утилита InterBase Guardian, ее пиктограмма видна на нижней панели Windows. Эта утилита осуществляет начальный запуск сервера, а также его перезапуск, если по каким-либо причинам сервер «рухнул». Фактически восстановление работоспособности сервера происходит за считанные доли секунды, так что многие пользователи даже, возможно, не заметят сбоя в работе. [3]
Кроме того, в вариант поставки Delphi Enterprise входит InterBase 4.2 для Windows 32, что делает его доступным для большинства пользователей.
В Delphi 5 для работы с данными, когда в качестве сервера баз данных задействуется InterBase, поддерживается технология InterBase Express (IBX), с помощью которой компоненты IBX связываются с сервером минуя BDE через программный интерфейс IB DataBase API, который предоставляется клиентской частью IB DataBase. Созданные прикладные системы будут обладать максимально возможной производительностью, способностью работать при минимально доступных ресурсах и смогут использовать специфические возможности этого сервера баз данных: сигнализаторы событий, поля BLOB, средства двухфазного завершения транзакций и т. п.
2.4 Построение математической модели
Разработанный программный продукт предназначен для использования его в архитектуре клиент / сервер. Предполагается, что сеть будет включать сервер и 3 клиентских компьютера. Рассмотрим следующую схему обработки сервером запросов от клиентских компьютеров.
Рисунок 3
От рабочих станций к серверу поступают запросы. Сервер должен обслуживать запросы, приходящие от клиентов. При чем в каждый момент времени сервер может выполнять запрос только от одной рабочей станции. Если рабочая станция при обращении к серверу застает его в этот момент свободным, то ее заявка обслуживается немедленно. В противном случае, она становится в очередь и ждет пока сервер не освободится и не выполнит ее запрос.
Для рабочих станций возможны следующие состояния:
работа в локальном режиме;
обмен информацией с сервером, который включает:
обращение к серверу;
получение информации от сервера;
ожидание;
ожидание в очереди.
Для сервера возможны следующие состояния:
ожидание запросов;
обмен информацией с одной из рабочих станций, включающий:
прием информации от клиента;
обработка информации для клиента;
передача информации клиенту.
Как нетрудно убедиться, эта система обслуживания сервером клиентских компьютеров представляет собой замкнутую систему массового обслуживания (рис. 4). Заявки (запросы от рабочих станций), обслуженные системой, опять возвращаются в источник заявок и дополняют его, вновь становясь потенциальными источниками появления заявок.
Система состоит из одного канала обслуживания (сервер) и трех источников заявок (рабочие станции). Сервер может одновременно обслуживать только одну заявку (запрос рабочей станции). На вход системы из ограниченного источника поступает поток заявок, поэтому в системе может находиться не более 3 заявок. Заявки, которые поступили в систему и застали канал обслуживания свободным, сразу же идут на обслуживание. Если же при поступлении заявки канал обслуживания занят, то заявка становится в очередь и ждет до тех пор, пока канал не освободится.
Время появления заявок в системе, т. е. время обращения рабочих станций к серверу, является случайной величиной. Примем, что поток поступающих заявок является пуассоновским. Интенсивность потока требований каждой рабочей станции равна 0, а интервал времени между обращениями к серверу имеет показательное распределение с плотностью:
.
Интенсивность потока заявок, поступающих к серверу, зависит от того, сколько рабочих станций в данный момент работают в локальном режиме. Если в системе N потенциальных источников заявок и n из них обслуживаются в среднем в единицу времени или ожидает очереди для обслуживания (т.е. находится в системе), то плотность потока заявок в системе будет равна:
.
Тогда для нашей системы имеем:
. (1)
Время обслуживания заявки, т. е. продолжительность обработки сервером данных для рабочих станций, также является случайной величиной и в общем случае ее закон распределения может быть отличен от показательного. Если считать, что имеет показательное распределение:
то рассматриваемая замкнутая система массового обслуживания относится к классу марковских систем и ее параметры могут быть оценены аналитически.
Рисунок 5
Изобразим процесс перехода компьютерной сети в процессе работы из одного состояния в другое в виде графа состояний (рис. 5).
Возможные состояния системы:
все станции работают в локальном режиме, сервер «простаивает»;
одна станция обслуживается сервером, остальные работают локально;
одна станция обслуживается сервером, одна станция ждет обслуживания в очереди, одна станция работает локально;
одна станция обслуживается сервером, две другие станции ждут обслуживания в очереди.
Напишем линейные алгебраические уравнения для финальных вероятностей состояний данной системы (их существование вытекает из того, что из каждого состояния можно перейти в каждое другое, и число состояний конечно). Для состояния 0 имеем:
. (2)
Для состояния 1:
.
В силу формулы 2 это равенство приводится к виду:
.
Аналогично можно вывести формулы для остальных состояний. Тогда получим следующую систему уравнений:
Вводя в систему нормировочное условие
P0 + P1 + P2 + P3 = 1,
решим эту систему уравнений и получим выражения для нахождения финальных вероятностей.
Величина называется интенсивностью обслуживания. Тогда получим следующие формулы:
(3)
(4)
(5)
. (6)
Приведем расчетные формулы для некоторых других характеристик системы:
среднее число заявок в системе в единицу времени:
; (7)
коэффициент «простоя» сервера:
; (8)
среднее время между обращениями рабочих станций к серверу:
; (9)
среднее время пребывания заявки в системе (время ожидания рабочей станцией данных от сервера):
. (10)
Зададим численные значения интенсивностей 0 и и найдем характеристики системы.
Пусть 0 = 0.2 (= 5 сек.),
= 0.5 (= 2 сек.).
Тогда .
Вычислим финальные вероятности системы (по формулам 3−6):
;
;
Найдем значения других характеристик системы:
интенсивность обращения рабочих станций к серверу (по формуле 1):
.
среднее число заявок в системе в единицу времени (по формуле 7):
;
коэффициент «простоя» сервера (по формуле 8):
среднее время между обращениями рабочих станций к серверу (по формуле 9):
время ожидания рабочей станцией данных от сервера (по формуле 10):
.
Таким образом, по полученным значениям характеристик системы можно сделать вывод, что при заданных значениях 0 и наиболее вероятным будет состояние, при котором сервер обслуживает одну станцию, а две другие работают локально. Среднее время ожидания рабочими станциями данных 3,33 секунды, т. е. рабочие станции ждут относительно недолго. Все это говорит о том, что сервер справляется с нагрузкой.
3. Специальный раздел
3.1 Описание информационной модели
Логическая модель базы данных:
Информационная модель объекта автоматизации включает следующие объекты:
факультеты;
группы;
студенты;
лицевые счета студентов;
выписки банка;
архивы.
Данные объекты можно представить в виде таблиц, связанных между собой и образующих реляционную базу данных.
В спроектированной БД используются следующие таблицы:
справочник факультетов;
справочник групп;
справочник студентов;
книга лицевых счетов;
книга выписок банка;
книга оплат;
файл параметров.
С учетом требований эффективности программной реализации необходимо учитывать, что, несмотря на схожесть структуры текущих таблиц и архивов, размещать все данные о студентах, их лицевых счетах, о выписках и оплатах и архивы в одних таблицах нецелесообразно, так как со временем разросшиеся данные существенно замедлят скорость работы с таблицами. Поэтому кроме текущих таблиц, которые хранят часто используемые данные, необходимо использовать архивные таблицы, где будет содержаться устаревшая и редко используемая информация. Такими таблицами в БД являются:
архив справочника студентов;
архив книги лицевых счетов;
архив книги выписок банка;
архив книги оплат.
При проведении архивации (закрытие периода) в архив из текущих таблиц удаляются:
студенты, для которых дата окончания учебы относится к архивируемому периоду и сальдо которых имеет нулевое значение;
лицевые счета, относящиеся к указанным студентам;
выписки банка, дата которых меньше даты архивации;
все оплаты, относящиеся к удаляемым выпискам.
Так как в удаляемых выписках банка могут быть оплаты студентов, которые еще находятся в текущих таблицах, то для того, чтобы не обращаться постоянно к архивам, необходимо сохранять для каждого студента в дополнительном поле сумму оплат, которые содержатся в архиве.
Физическая модель базы данных:
Для реализации физической модели БД использовано СУБД была выбрана СУБД InterBase.
Таблица 1. Структура таблиц БД
Поле | Тип | Описание | Ограничения | |
Справочник факультетов S_Facul | ||||
KodFacul | VarChar (5) |