Автоматизированное рабочее место бухгалтера учебного заведения
Автоматизированное рабочее место бухгалтера учебного заведения
Введение
История возникновения информационных технологий уходит своими корнями в глубокую древность. Первым этапом можно считать изобретение простейшего цифрового устройства - счётов. Счёты были изобретены совершенно независимо и практически одновременно в Древней Греции, Древнем Риме, Китае, Японии и на Руси.
В Древней Греции счёты назывались абак, то есть доска или ещё «саламинская доска» (остров Саламин в Эгейском море). Абак представлял собой посыпанную песком доску с бороздками, на которых камешками обозначались числа. Первая бороздка обозначала единицы, вторая - десятки и т.д. Во время счёта на любой из них могло набраться более 10 камешков, что означало добавление одного камешка в следующую бороздку. В Риме абак существовал в другом виде: деревянные доски заменили мраморными, шарики также делали из мрамора.
В Китае счёты «суан-пан» немного отличались от греческих и римских. В их основе лежало не число десять, а число пять. В верхней части «суан-пан» находились ряды по пять косточек-единиц, а в нижней части - по две. Если требовалось, скажем, отразить число восемь, в нижней части ставили одну косточку, а в части единиц - три. В Японии существовало аналогичное устройство, только название было уже «серобян».
На Руси счёты были значительно проще - кучка единиц и кучки десятков с косточками или камешками. Но в XV в. получил распространение «дощатый счёт», то есть применение деревянной рамки с горизонтальными верёвочками, на которых были нанизаны косточки.
Обычные счёты были родоначальниками современных цифровых устройств. Однако, если одни из объектов окружающего материального мира поддавались непосредственному счётному, поштучному исчислению, то другие требовали предварительного измерения числовых величин. Соответственно, исторически сложились два направления развития вычислений и вычислительной техники: цифровое и аналоговое.
В начале XVII века шотландский математик Джон Непер ввел понятие логарифмов и опубликовал свои таблицы логарифмов. И только в 1761 г. англичанин д. Робертсон создал линейку для навигационных расчетов, снабженную бегунком.
В 1694г. Немецкий математик Лейбниц развил идею Паскаля и сконструировал свою механическую машину-арифмометр. Эта машина уже могла выполнять не только сложение и вычитание, а и умножение, и деление, и даже извлечение корня квадратного. Автором первого вычислительного автомата был англичанин Чарлз Бэббидж. Многие считают его отцом современного компьютера. Он разработал проект программно - управляющей «Аналитической машины» в 1833 году. В этой машине были все главные компоненты, которые имеются на современных компьютерах: память, где хранятся исходные числа и промежуточные результаты, арифметическое устройство, в котором осуществляются операции над числами, взятыми из памяти, устройство управления, контролирующее ход вычислений, согласно, заданной программы, устройство ввода данных и печати результатов.
Первым в мире программистом считается Ада Лавлейс, написавшая в 1846 году программу для машины Бэббиджа.
В конце XIX в. американец Герман Холлерит изобрел счетно-перфорационную машину. Он основал фирму по выпуску счетно-перфорационных машин, которая затем была преобразована в фирму IBM - самого известного в мире производителя компьютеров.
В 1944 году американский математик Горвард Айкен сконструировал в Гарвардском университете автоматическую вычислительную машину «Марк-1» с программным управлением на релейных и механических элементах.
Первый электронный компьютер был создан в США в 1946 г. в Пенсильванском университете. Эта ЭВМ называлась ENIAC.
В 1946 году американский математик Джон фон Нейман изложил в своей статье принципы работы и устройства ЭВМ. Главный принцип работы ЭВМ - принцип хранимой в памяти программы, где данные и программа помещаются в общую память машины.
В 1952-53гг. вводится в эксплуатацию машина серии БЭСМ - большая электронная счетная машина с быстродействием 10000 операций в секунду.
Оперативная память была на электронно-акустических линиях, затем на электронно-лучевых трубках и позже на ферритовых сердечниках. Имелась внешняя память на двух магнитных барабанах и на магнитных лентах.
С 1955 г. появилось следующее, второе, поколение ЭВМ. Вместо электронных ламп в них использовались полупроводники - транзисторы.
ЭВМ на интегральных схемах - ЭВМ третьего поколения. Эти ЭВМ обладают большой памятью и высокой скоростью - до нескольких миллионов операции в секунду. Появился новый тип внешних запоминающих устройств - магнитные диски, которые способны хранить неограниченное количество информации и работают гораздо быстрее, чем накопители на магнитных лентах.
ЭВМ третьего поколения дали возможность выполнять одновремен-но несколько программ на одной машине. Такой режим называется мультипрограммным режимом. В этот период создаются базы данных, автоматизированные системы управления производством, ЭВМ находит широкое применение в народном хозяйстве.
1971г. фирмой «Intel» США создан первый микропроцессор - это сверхбольшая интегральная схема, способная выполнять функции основного блока компьютера - процессора. Изобретение микропроцессора - это революция в информатике. В результате у Вас на столе стоит маленькая ЭВМ, которая называется персональной ЭВМ или персональный компьютер - ПК.
Современные ЭВМ - это ЭВМ четвертого поколения. Они появились в начале 70-х годов. Эта ЭВМ по объему своей памяти и по скорости вычислений равносильна нескольким десяткам ЭВМ первого поколения типа ENIAC.
С 1980 года ведущей фирмой по производству персональных компьютеров на мировом рынке становится американская фирма IBM. В начале 90-х годов большую популярность получает компьютер марки Macintosh фирмы Аррlе Corporation. В Казахстане также налажено производство персональных компьютеров Национальным центром по радиоэлектронике и связи республики Казахстан совместно с Германской фирмой SIEMENS для школ республики.
Мы рассмотрели четыре поколения ЭВМ. Они очень сильно отличаются друг от друга, но у всех этих ЭВМ есть один недостаток. Для того, чтобы работать на них, вы должны использовать специальный язык, иначе ЭВМ Вас не поймет. Чтобы решить свою задачу, вы должны записать ее на каком-нибудь языке программирования.
В настоящее время во многих странах пытаются создать ЭВМ пятого поколения. Это должны быть ЭВМ «искусственного интеллекта», которые будут понимать человека на языке, близком к естественному. Когда такая ЭВМ появится, вы сможете объяснить задачу своими словами, а писать программу и решать задачу будет она сама.
Целью создания автоматизированного рабочего места бухгалтера, является, во-первых, повысить продуктивность работы бухгалтера, освободив его от технической работы, во-вторых, повысить оперативность и качество обработки данных, его общий уровень и действенность.
АРМ бухгалтера по начислению зарплаты преподавателям позволяет целиком автоматизировать обработку многих расчётных данных, в том числе и по расчёту зарплаты преподавателям.
Разработанная в моём дипломном проекте АРМ бухгалтера позволяет по результатам ввода соответствующих данных провести различные виды расчётов, касающихся начисления зарплаты, такие как ставка за час, количество отработанных часов, всего начислено, пенсионные отчисления и подоходный налог, сколько вычетов всего и сколько выдать на руки. Разработанная АРМ бухгалтера дает возможность бухгалтеру мгновенно подвести итог работы преподавателя с представленными входными данными.
В приложении предусмотрена также возможность формирования отчёта по заданным преподавателям и месяцам.
Средствами достижения целей дипломной работы и реализации всех перечисленных методов являются SQL - сервер баз данных InterBase, где создается база данных и выполняется их обслуживание, визуальная среда программирования Borland Delphi v.7, в которой разработано клиентское программное обеспечение, а также формируются некоторые отчеты.
Дипломный проект обладает определенной степенью научности, так как использует методы решения и модели, описанные в научной литературе.
1. Информационное обеспечение автоматизированного рабочего места бухгалтера
1.1 Описание программного обеспечения и архитектура приложения
Проект выполнен в современной операционной системе нового типа, ориентирован на пользователя, практически не знакомого с персональной техникой, имеет эффективный пользовательский интерфейс и средства защиты от несанкционированного доступа. Разработанное программное средство протестировано, а также проведена оценка его качественных, количественных показателей. Приложение построено в соответствии с архитектурой клиент-сервер, схема которого представлена на рисунке 1.1.
Клиент-серверные (двухзвенные) системы значительно снижают нагрузку на сеть, так как клиент общается с данными через специализированного посредника - сервер базы данных, который размещается на машине с данными. Сервер БД принимает запрос от клиента, отыскивает нужную запись и передает ее клиенту. Таким образом, по сети передаются короткий запрос и единственная нужная запись, даже если соответствующий файл с данными содержит сотни тысяч записей. Архитектура клиент-серверных баз данных предполагает разделение всей логики работы СУБД на две части: обслуживание данных и обслуживание клиентов. Серверы баз данных реализуют нужную степень разграничения одновременно выполняющихся транзакций. Транзакцией называется серия последовательных изменений данных, объединенных одним непременным условием: они либо все должны завершиться успешно, либо должны быть устранены последствия одного из них.
Первая часть разработанной информационной системы анализа хозяйственной деятельности реализуется сервером БД - InterBase, вторая - клиентским программным обеспечением, выполненным в визуальной среде программирования Borland Delphi6.
Сервер БД представляет собой достаточно сложный программный комплекс, разрабатываемый и поставляемый различными фирмами. Он должен по возможности полностью избавить клиентскую программу от каких бы то ни было работ по обслуживанию баз данных. SQL-сервер InterBase предназначен для хранения и обработки больших объемов информации в условиях одновременной работы с БД множества клиентских приложений. Масштаб информационной системы при этом произволен. Сервер InterDase располагает рядом технологий, использование которых обеспечивает максимальную разгрузку клиентского приложения и гарантирует высокую степень безопасности и целостность информации.
Delphi имеет удобные средства, позволяющие перенести файл-серверные таблицы БД в таблицы сервера БД, а основные компоненты доступа к данным - Ttable и TQuery одинаково успешно работают как в файл-серверной, так и в клиент-серверной архитектуре, поэтому переход от одной архитектуры к другой не представляется трудным.
Характерной особенностью программ, созданных с помощью Delphi и предназначенных для работы с базами данных, является их зависимость от специальной библиотеки программ, которая называется BDE (Borland Database Engine - машина баз данных корпорации Borland). BDE представляет собой набор библиотек DLL, предназначенных для низкоуровневого доступа к данным самых различных платформ, причем как файл-серверных, так и клиент-серверных. В BDE имеется собственный интерпретатор языка SQL, что позволяет создавать запросы не только к серверам БД, но и таблицам файл-сервера. В разработанной информационной системе дипломного проекта в InterBase создается база данных, входные данные поступают в приложение, которое создается в Delphi. Далее в приложении ведется обработка информации, необходимые расчеты, формируются выходные документы. Технология OLE (Object Linking and Embedding - связывание и внедрение объектов) является стандартным для Windows средством обмена данными между независимыми приложениями. В соответствии с этой технологией одна программа (клиент) может содержать в своем составе данные (объекты), которые созданы (или по ее требованию создаются) другой программой (сервером).Типичным примером могут служить таблицы, созданные и обслуживаемые табличным процессором MS Excel и вставленные в документ, подготовленный текстовым процессором MSWord. Внедренные объекты являются неотъемлемой частью программы-клиента, в то время как связанные объекты хранятся в независимых файлах. Для обработки объектов всегда вызывается программа-сервер.
Для создания OLE-объекта используется стандартная функция CreateOleObject, которая определена в модуле ComObj. OLE-объект называется объектом OLE-автоматизации (OLE Automation Object).
1.2 Описание языка программирования
Первая часть разработанного АРМ бухгалтера реализуется сервером БД - InterBase, вторая - клиентским программным обеспечением, выполненным в визуальной среде программирования Borland Delphi v.7, оно использует язык программирования Object Pascal.
Объектно-ориентированное программирование основано на «трёх китах» - трёх важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм.
Инкапсуляция.
Класс представляет собой единство трех сущностей - полей, методов и свойств. Объединение этих сущностей в единое целое называется инкапсуляцией. Инкапсуляция позволяет во многом изолировать класс от остальных частей программы, сделать его «самодостаточным» для решения конкретной задачи. В результате класс всегда несет в себе некоторую функциональность. Например, класс TForm содержит (инкапсулирует в себе) все необходимое для создания Windows-окна, класс TMemo представляет собой полнофункциональный текстовый редактор, класс TTimer обеспечивает работу программы с таймером и т.д.
Инкапсуляция представляет собой мощное средство обмена готовыми к работе программными заготовками. Библиотека классов Delphi - это, фактически, набор «кирпичиков», созданных программистами Borland для построения приложений.
Наследование.
Любой класс может быть порожден от другого класса. Для этого при его объявлении указывается имя класса-родителя:
TChildClass = class(TParentClass)
Порожденный класс автоматически наследует поля, методы и свойства своего родителя и может добавлять их новыми. Таким образом, принцип наследования обеспечивает поэтапное создание сложных классов и разработку собственных библиотек классов.
Все классы Object Pascal порождены от единственного родителя - Tobject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие весь жизненный цикл любых объектов - от их создания до уничтожения. Программист не может создать класс, который не был бы дочерним классом Tobject.. Следующие два объявления идентичны:
TaClass = class(Tobject.)
TaClass = class
Принцип наследования приводит к созданию ветвящегося дерева классов, постепенно разрастающегося при перемещении от Tobject. К его потомкам. Каждый потомок дополняет возможности своего родителя новыми и передает их своим потомкам.
Для примера на рисунке показан небольшой фрагмент дерева классов Delphi. Класс TPersistent обогащает возможности своего родителя TObject: он «умеет» сохранять данные в файле и получать их из него, в результате это умеют делать и все его потомки. Класс TComponent, в свою очередь, умеет взаимодействовать со средой разработчика и передает это умение своим потомкам. TControl не только способен работать с файлами и средой разработчика, но он еще умеет создавать и обслуживать видимые на экране изображения, а его потомок TWinControl может создавать Windows-окна. И т.д.
Полиморфизм.
Полиморфизм - это свойство классов решать схожие по смыслу проблемы разными способами. В рамках Object Pascal поведенческие свойства класса определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках класса, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе будут действовать два одноименных метода, имеющие разную алгоритмическую основу и, следовательно, придающие объектам разные свойства. Это и называется полиморфизмом объектов.
В Object Pascal полиморфизм достигается не только описанным выше механизмом наследования и перекрытия методов родителя, но и их виртуализацией, позволяющей родительским методам обращаться к методам своих потомков.
При объявлении класса-потомка разрешается перемещать элементы класса из одной области видимости в другую.
После перемещения в секцию private элемент объявления становится невидим потомкам (если потомок, как это обычно бывает, объявляется в другом модуле), и, следовательно, его уже нельзя переместить в другую секцию.
Класс может объявляться только в интерфейсной области модуля или в самом начале области реализации. Нельзя определять классы в разделе описаний подпрограмм.
Классами в Object Pascal называются специальные типы, которые содержат поля, методы и свойства. Как и любой другой тип, класс служит лишь образцом для создания конкретных экземпляров реализации, которые называются объектами. Однако существенные усовершенствования, внесенные в объектную модель Object Pascal, заставили разработчиков языка ввести для обозначения объектов специальный термин - класс, заимствованный, кстати, из Си++. Для совместимости с ранее разработанными программами системы Turbo Pascal сохранен тип-объект Object, поддерживающий «старую» объектную модель. Важным отличием классов от других типов является то, что объекты класса всегда распределяются в куче, поэтому объект-переменная фактически представляет собой лишь указатель на динамическую область памяти. Однако, в отличие от других указателей, при ссылке на содержимое объекта запрещается использовать символ «^» за именем объекта:
type
TMyClass = class (TObject)
Field: Integer; …....
end;
var
MyClass: TMyClass;
Begin
…….
MyClass^.Field:=0;
MyClass.Field:=0;
…….
end;
Классы - это особое «изобретение» программистов для упрощения разработки сложных программ и улучшения их качества. В основе классов лежат три фундаментальных принципа, которые называются инкапсуляция, наследование и полиморфизм.
Секции определяют области видимости элементов описания класса. Секция public не накладывает ограничений на область видимости перечисляемых в ней полей, методов и свойств - их можно вызывать в любом другом модуле программы. Секция published также не ограничивает область видимости, однако в ней перечисляются свойства, которые должны быть доступны не только на этапе исполнения, но и на этапе конструирования программы (т. е. в окне Инспектора объектов). Секция published используется только при разработке нестандартных компонентов. Замечу, что среда Delphi помещает описания компонентов, вставленных в форму, в специальную секцию без названия, которая располагается сразу за заголовком класса и продолжается до первой объявленной секции. Эта секция - published. Программисту не следует помещать в нее собственные элементы описания класса или удалять из нее элементы, вставленные средой. Секция private сужает область видимости до минимума: закрытые элементы описания доступны только внутри методов данного класса и подпрограммах, находящихся в том же модуле, где описан класс. Элемент, объявленный в секции private, становится недоступным даже ближайшим потомкам класса, если они размещаются в других модулях. Секция protected доступна только методам самого класса, а также любым его потомкам, независимо от того, находятся ли они в том же модуле или нет. Наконец, секция automated используется только для объявления свойств и методов, которые будут добавлены к так называемому интерфейсу OLE-объектов Автоматизации; область видимости членов этой секции не ограничена.
В Object Pascal разрешается сколько угодно раз объявлять любую секцию, причем порядок следования секций не имеет значения. Любая секция может быть пустой.
Паскаль - типизированный язык программирования. Введение типов позволяет избежать, во-первых, двусмысленности, и, во-вторых, помогает при распознавании бессмысленных конструкций. Введение типов данных и переменных вносит в программу структурированность и в принципе приближает ее структуру к решаемой задаче. Таким образом, язык Паскаль обладает следующими характеристиками, в числе которых имеются и явные преимущества по сравнению с организацией других языков программирования:
a) каждая единица языка программирования Паскаль (константа, пе-ременная, функция или выражение) имеет только один тип. Другими словами, тип переменной определяется множеством значений, которые может принимать данная переменная;
b) явное введение типов позволяет четко установить тип каждой про-граммной единицы, не выполняя самой программы;
c) между каждым типом и некоторым ограниченным подмножеством операторов существует однозначная связь, т.е. для каждого типа определен свой ограниченный набор операций. Конечно, исполь-зуя такие конструкции, как процедуры и функции, набор операций можно расширить;
d) несомненно, использование типов вносит некоторую избыточность в сам язык, но это существенно помогает в обнаружении ошибок в структуре алгоритма решения той или иной задачи, реализованно-го в программе.
В Турбо Паскале - расширении языка Паскаль введены следующие типы (Рисунок 1.2):
Способы описания алгоритма:
a) в виде формулы;
b) в виде таблицы;
c) словесный;
d) графический;
e) на языке программирования.
1.2.1 Виды алгоритмов
Существуют три основные алгоритмические структуры - линейный алгоритм, алгоритм ветвления и циклический.
a) линейным называется алгоритм, при выполнении которого исполнитель выполняет одну команду за другой в порядке их следования. Примеры (сварить суп, решить задачу);
b) разветвляющийся - алгоритм, при выполнении которого действия исполнителя определяется результатами проверки некоторых условий. Примеры (идти в колледж или не идти);
c) циклический - алгоритм, при исполнении которого отдельные команды или группы команд повторяются многократно. Примеры (посадка картофеля, тетя Полли, покраска забора).
1.2.2 Элементы языка
Любой естественный язык состоит из нескольких основных элементов: символов, слов, словосочетаний и предложений. Описание языка должно содержать описание указанных структурных элементов, правил их образования и использования. Символы языка - это элементарные знаки, используемые для составления любых текстов. Набор таких символов называют алфавитом языка. Алфавит Паскаля:
Прописные и строчные буквы латинского алфавита, арабские цифры, специальные символы: +, -, *, /, =, ., ;, :, <, >,(), [],^, #. $ и т.д. Русскими буквами поясняется текст в какой-либо конструкции языка Паскаль. Особую роль играют пробелы. Они используются для ограничения идентификаторов, констант, чисел, зарезервированных слов.
В Турбо Паскале имеются зарезервированные слова (and, file, nil, not, if и т.д.). Идентификаторы в Турбо Паскале - это имена констант, переменных, меток, типов, объектов, процедур, функций, модулей, программ и полей в записях. Они могут иметь произвольную длину, но значащими являются только первые 63 символа. Идентификатор начинается всегда только буквой, за которой могут следовать буквы и цифры. Пробелы и специальные символы не могут входить в идентификатор.
Операции. В Турбо Паскале определены следующие операции:
Ниже перечислены основные операторы языка, описывающие различные алгоритмические структуры.
Условный оператор:
Оператор условия применяется в разветвляющихся алгоритмах.
Запись условного оператора:
if <логическое выражение> then <оператор1>
else <оператор2>
В качестве операторов 1 или 2 могут быть также операторы условия. Условный оператор относится к сложным.
Условие не обязательно должно иметь форму операции отношения. Оно может принимать вид любого выражения, в частности логической переменной.
Краткая форма оператора if <логическое выражение> then <оператор1>;
Инструкция While:
Оператор цикла while с предпроверкой условия: (цикл с предусловием, с неизвестным числом повторений):
while <условие> do <оператор>;
Инструкция Repeat:
Оператор цикла repeat…until с постпроверкой условия (с неизвестным числом повторений):
repeat <тело цикла> until <условие>;
Инструкция For:
Счетный оператор цикла FOR (цикл с параметром или с известным числом повторений) имеет такую структуру:
for <параметр цикла> := <начальное значение> to <конечное значение> do <оператор>;
Существует другая форма оператора:
for <параметр цикла> := <начальное значение> downto <конечное значение> do <оператор>;
Это означает, что шаг наращивания параметра цикла равен (-1), а отсчет идет от большего к меньшему;
Оператор выбора:
Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора - выражение любого порядкового типа.
Структура оператора:
сase <ключ выбора> of <список выбора> [else <операторы>] end;
Оператор безусловного перехода:
Современная технология структурного программирования основана на принципе «программировать без GOTO»: считается, что злоупотребление операторами перехода затрудняет понимание программы, делает ее запутанной и сложной в отладке. Тем не менее, в некоторых случаях использование операторов перехода может упростить программу в тех случаях, когда, например, необходимо обойти участок программы и вернуться к нему позже. Оператор перехода имеет вид:
goto <метка>;
Метка в Паскале - это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него, допускается использовать целые числа без знака.
Метка располагается перед помечаемым оператором и отделяется от него двоеточием. Перед тем, как появиться в программе, метка должна быть описана. Описание меток осуществляется в разделе описания label;
Массивы:
Массив - это упорядоченная по номерам совокупность значений, объединенных общим именем и типом. Если мы знаем, что предстоит работать с большим объемом данных, то объявляем массив. Его элементы можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера. Суммарная длина внутреннего представления любого массива не может быть больше 65520 байт. В памяти ПК элементы массива следуют друг за другом так, что при переходе от младших адресов к старшим наиболее быстро меняется самый правый индекс массива.
Запись одномерного массива: var a: array [1..2] of real;
Запись двумерного массива: var a: array [1..2, 1..2] of real;
Операторы ввода-вывода:
Оператор ввода - READ. Или используется READLN.
Запись: READ(a);
Ввод считается пробелом, поэтому перед оператором ввода символьных данных нужно ставить READLN.
Оператор вывода - WRITE. Или используется WRITELN.
Бывает несколько вариантов записи оператора вывода:
Любой вновь создаваемый класс может содержать секции (разделы), определяемые зарезервированными словами published (опубликованные), private (закрытые), protected (защищенные), public (доступные) и automated (автоматизированные). Внутри каждой секции вначале определяются поля, а затем - методы и свойства.
1.3 Реляционные базы данных
База данных к моей программе разрабатывалась в реляционной СУБД - SQL-сервере InterBase.
В настоящее время понятия база данных, система управления базами данных используются исключительно по отношению к компьютерам. В общем смысле термин база данных можно применить к любой совокупности связанной информации, объединенной вместе по определенному признаку.
База данных (БД) - совокупность данных и описаний свойств этих данных, предназначенных для машинной обработки, которая служит для удовлетворения нужд многих пользователей.
Система управления базами данных (СУБД) - обобщенный инструмент для манипулирования базами данных.
База данных - это не единичная концепция, а семейство связанных концепций, включающих в себя три понятия:
База данных - это модель, основанная на данных реальной организации. Построение этой модели является центральным моментом в создании эффективных приложений.
Проектирование БД состоит из трех этапов, которые обуславливают первую стадию жизненного цикла автоматизированной экономической информационной системы (АЭИС):
1) обследование предметной области и проектирование концептуальной информационной модели ПО;
2) логическое проектирование;
3) машинное проектирование.
1.3.1 Модели данных (МД)
На этапе логического проектирования создается модель, доступная для реализации средствами к/л определенной СУБД.
Существует большое разнообразие сложных типов данных, но исследования, проведенные на большом практическом материале, показали, что среди них можно выделить несколько наиболее общих. Обобщенные структуры называют также моделями данных, так как они отражают представление пользователя о данных реального мира. Другими словами модель данных - это форматы данных и состав операций, выполняемых над этими данными.
В настоящее время существуют следующие модели данных:
a) сетевые;
b) иерархические;
c) реляционные;
d) объектно-ориентированные (в последнее время приобретает все большее значение).
1.3.2 Структуры данных, операции, ограничения модели
Построение структуры данных в каждой конкретной модели не может выполняться производственным объектом только по правилам, это связано с ограничениями, вытекающими из особенностей используемых в модели типов структур данных и операций над данными.
Исходя из выше сказанного, в качестве основных компонентов моделей данных рассматривается структура данных операции над данными и ограничение целостности данных. Основные компоненты модели тесно взаимосвязаны между собой и в разных моделях могут быть реализованы различными способами. Структурирование данных в моделях базируется на основанной модели агрегации и обобщении.
Структуризация данных в моделях базируется на использовании основных концепций агрегации и обобщения. Организация любой конкретной операции над данными включает с себя селекцию, т.е. выделение из всей совокупности тех данных, над которыми должна быть выполнена операция. Селекция выполняется любым способом с использованием логической позиции данного, его значения и связей между данными. По характеру производимого действия различают следующие виды операций: идентификация данного и нахождение его позиции, выборка, запись, удаление и модификация. По характеру способа получения результата различают навигационные и спецификационные операции: 1-путем прохождения по связям, реализованным в структуре БД. 2 - Определяются только требования к результату, но не задается способ его получения.
Ограничения целостности данных - это логические ограничения, накладываемые на данные. Могут быть явными и внутренними.
1-представлены в МД правилами композиции допустимых структур данных.
2-специфицируются явным образом с помощью специальных конструкций языка описания данных. В современных СУБД имеются собственные аппараты по проверке непротиворечивости данных.
1.3.3 Реляционная модель данных
Реляционная модель данных разработана Эдгаром Коддом в 1970г.
В основе лежит понятие отношения, которое используется как инструмент моделирования данных. Отношения удобно представлять в виде таблиц. Строки отношения соответствуют кортежам. Каждая строка фактически представляет собой описание одного объекта реального мира, характеристики которого содержаться в столбцах. Реляционные отношения соответствуют наборам сущностей модели «сущность - связь», а кортежи - сущностям. Столбцы в таблице, представляющей реляционное отношение, называют также атрибутами. Атрибут, значение которого однозначно идентифицирует кортежи, называется ключевым (или просто ключом). Если кортежи идентифицируются только сцеплением значений нескольких атрибутов, то говорят, что отношение имеет составной ключ. Отношение может содержать несколько ключей. Всегда один из ключей является первичным, его значения не могут обновляться. Все остальные ключи отношения называются возможными. В отличии от иерархической и сетевой МД в реляционной отсутствует понятие группового отношения. Связи между отношениями описываются в терминах функциональной зависимости. Для отражения функциональных зависимостей между кортежами разных отношений используется дублирование первичного ключа родительского отношения в дочернее. Атрибуты, представляющие собой копии ключей родительских отношений, называются внешними ключами.
2. РАЗРАБОТКА ПРОГРАММНОЙ РЕАЛИЗАЦИИ арм
2.1 Разработка информационной базы данных
Для организации информационной базы использовалась реляционная СУБД - SQL-сервер Delphi - InterBase. Поэтому необходимо было разработать логическую структуру реляционной базы данных, на основе которой осуществлялось бы решение задач проекта.
2.1.1 Обследование предметной области, выявление запросов пользователей и построение концептуальной информационной модели ПО.
Автоматизации подлежит задача АРМ бухгалтера
В результате решения задачи предоставляются следующие выходные документы (запросы пользователей):
- «Отчет о зарплате преподавателей»;
-«Список преподавателей, заработная плата которых более требуемой суммы за текущий месяц».
Для удобства работы с атрибутами введем их идентификаторы. Множество атрибутов представлено в таблице 2.1