Смекни!
smekni.com

Проектирование информационной системы Отдел кадров (стр. 11 из 14)

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

Распределенные СУБД могут содержать несколько десятков и сотен серверов БД. Количество клиентских мест в них может достигать десятков и сотен тысяч. Обычно такие СУБД работают на крупных предприятиях. В таких СУБД некоторые серверы могут дублировать друг друга с целью достижения предельно малой вероятности отказов и сбоев в сети. Интерес к таким СУБД возрос в связи со стремительным развитием Internet. Недостатком распределенных СУБД является сложность в их программировании, в их реализации должна участвовать большая группа программистов, а не один человек [14]. В представленной автоматизированной информационной системе целесообразнее использовать сетевую СУБД (клиент-серверную), например InterBase сформированный на специальном языке структурированных запросов (Structured Query Language SQL). Так как проектируемой автоматизированной информационной системой «отдел кадров» будет использоваться не одним работником департамента управления персоналом, а несколькими. К тому же система должна будет содержать, хранить, и обрабатывать довольно большой объем информации.

Так же среди преимуществ клиент-серверных приложений можно отметить следующие:

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

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

- Упрощение клиентских приложений за счет сокращения кода, необходимого для обработки данных и обеспечения доступа к ним.

3.2 Проектирование структуры информационной базы данных

Для успешного функционирования различных организаций требуется наличие развитой информационной системы, которая реализует автоматизированный сбор, обработку и манипулирование данными [21].

Современной формой информационных систем являются банки данных, включающие в свой состав:

- вычислительную систему;

- систему управления базами данных (СУБД);

- одну или несколько баз данных (БД);

- набор прикладных программ (приложений БД).

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

- непротиворечивой;

- неизбыточной;

- целостной.

Система управления базой данных (СУБД) – это совокупность языковых и программных средств, предназначенных для создания, ведения и использования БД. По характеру применения СУБД разделяют на: персональные и многопользовательские.

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

Многопользовательские СУБД позволяют создавать информационные системы, функционирующие в архитектуре «клиент-сервер». В состав языковых средств современных СУБД входят следующие два типа языков:

- язык описания данных, предназначенный для описания логической структуры данных;

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

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

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

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

Локальные БД (рис. 3.1) располагаются на том же компьютере, что и работающие с ними приложения. Работа с БД происходит, как правило, в однопользовательском режиме.

Рис. 3.1

Для выполнения операций с локальными БД разрабатываются и используются так называемые локальные приложения, а для операций с удаленными БД – клиент-серверные приложения (рис. 3.2).

В нашем случае целесообразнее использовать сетевую СУБД. Так как с проектируемой автоматизированной информационной системой «отдел кадров» будет работать не один человек. К тому же система должна будет содержать, и обрабатывать довольно большой объем информации [22].

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

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

Среди преимуществ клиент-серверных приложений можно отметить следующие:

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

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

- Упрощение клиентских приложений за счет сокращения кода, необходимого для обработки данных и обеспечения доступа к ним.

3.3 Диаграмма классов

Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений [18].

Данная диаграмма классов (рис. 3.3) позволяет увидеть взаимоотношения между объектами системы, связи и зависимости.

Рис. 3.3

3.4 Методы и средства обеспечения надежности автоматизированных информационных систем

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

Существуют определения основных понятий надежности программного обеспечения в соответствии с классической работой Г. Майерса:

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

· Отказ программного обеспечения - это появление в нем ошибки.

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

Из данных определений можно сделать важные выводы:

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

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

Основными причинами ошибок программного обеспечения являются:

· Большая сложность программного обеспечения, например, по сравнению с аппаратурой ЭВМ.

· Неправильный перевод информации из одного представления в другое на макро- и микроуровнях. На макроуровне, уровне проекта, осуществляется передача и преобразование различных видов информации между организациями, подразделениями и конкретными исполнителями на всех этапах жизненного цикла программного обеспечения [11]. На микроуровне, уровне исполнителя, производится преобразование информации по схеме: получить информацию - запомнить - выбрать из памяти (вспомнить) - воспроизвести информацию (передать).

Источниками ошибок (угрозами надежности) программного обеспечения являются:

· Внутренние: ошибки проектирования, ошибки алгоритмизации, ошибки программирования, недостаточное качество средств защиты, ошибки в документации.

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

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

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

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

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