Схема программного обеспечения АРМ

2. АНАЛИТИЧЕСКИЙ РАЗДЕЛ.

При проектировании ПО АРМ соблюдается принцип ориентации разрабатываемых программных средств  на конкретного пользователя. Прежде чем начинать проектирование, необходимо выполнить обследование объекта, для  которого создается БД.  Это достаточно важный этап, так как позволяет выделить характерные особенности объекта, которые следует учесть в характеристиках разрабатываемой СУБД, и которые определяют всю дальнейшую работу по проектированию.

2.1. Характеристика предметной  области.

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

Автоматизированное  рабочее место  (АРМ) представляет собой проблемно-ориентированный комплекс, установленный непосредственно на рабочем месте и предназначенный для автоматизации операции и взаимодействия пользователя с ЭВМ в процессе проектирования и реализации задач.

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

АРМ присущи следующие  признаки:

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

? размещение ВТ непосредственно (или вблизи) на рабочем месте пользователя;    
 

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

? осуществление обработки  данных самим пользователем;

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

Множество известных  АРМ может быть классифицировано на основе следующих обобщенных признаков:

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

Схема программного обеспечения  АРМ   
 

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

АРМ должен быть укомплектован  необходимыми программно-инструментальными  средствами:

  • ? операционные системы ЭВМ;
  • ? трансляторы (интерпретаторы) с различных алгоритмических языков и языков пользователей;
  • ? средства проектирования и обработки данных (экранные редакторы текстовой, графической информации, СУБД, табличные процессоры, генераторы выходных форм);
  • ? пользовательские программы (обрабатывающие, обучающие, СУБД знаний и др.).

Комплектация  АРМ техническими и программными средствами, а также перечисленными выше элементами зависит  от назначения и состава  решаемых задач.  

2.2. Описание и выбор  инструментальных  средств.  

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

В СУБД выделяют:

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

   

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

Основные  функции СУБД:

-             непосредственное управление данными во внешней памяти;

-             управление буферами оперативной памяти;

-             управление транзакциями;

-             журнализация и восстановление БД после сбоев;

-             поддержание языков БД.

СУБД  разделяют по используемой модели на следующие типы:

  • иерархические;
  • сетевые;
  • реляционные.

По  характеру использования  СУБД делят на:

  • персональные СУБДП;
  • многопользовательские СУБДМ.

К СУБДП относятся: FoxPro, dBase, Access.

К СУБДМ относятся: Oracle, Informix.    

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

Поэтому при выборе инструментального  средства необходимо учитывать следующие  критерии:

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

 

  • Доступ  к определенным данным должны иметь те лица, которым это разрешено.
  • База должна отвечать заданным требованиям производительности.

В настоящее время  имеется множество  инструментальных средств, с помощью которых  разработчик может  создать тот или  иной программный  продукт, отвечающий определенным требованиям  и критериям. Такие  как: Microsoft Access, Delphi, My SQL, SQL Server 2000, С++, HTML, FoxPro, Visual Basic+  Рассмотрим некоторые из них+

2.2.1. Delphi.

В России Borland Delphi появляется в конце 1993 г. и сразу же завоевывает широкую популярность. Новые версии выходят практически каждый год. В них реализуются все новые мастера, компоненты и технологии программирования.  
Действительно, процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Вы просто помещаете нужные компоненты на поверхность Windows-окна (в Delphi оно называется формой) и настраиваете их свойства с помощью специального инструмента (Object Inspector). С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки - и вот простое приложение готово. Причем разработчик получает в свое распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему (в том числе и по Microsoft API), средства коллективной работы над проектом, всего просто не перечислить.

Появившаяся, начиная с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяет создавать масштабируемые приложения   
 

относительно  слабо зависящие  от сервера БД) за счет перенесения  методов обработки  информации (бизнес-правил) на среднее звено.  
Как уже говорилось ранее, в Delphi используется язык Object Pascal, который постоянно расширяется и дополняется Borland. Язык в полной мере поддерживает все требования, предъявляемые к объектно-ориентированному языку программирования. Как и положено строго типизированному языку, классы поддерживают только простое наследование, но зато интерфейсы могут иметь сразу несколько предков. К числу удачных, на взгляд автора, относится также поддержка длинных строк в формате WideChar и AnsiChar.

Delphi - это  комбинация нескольких важнейших технологий:

  1. высокопроизводительный компилятор в машинный код;
  2. объектно-ориентированное программирование;
    1. визуальное  построение приложений из программных прототипов;
    2. масштабируемые средства для построения баз данных.

1. Компилятор, встроенный  в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре "клиент-сервер". Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно). Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь.    
 

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

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

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

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

3. Среда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонентов, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.  Единственное, что можно поставить в вину Delphi, это то, что готовых компонентов, поставляемых Borland, могло бы быть и больше. Однако, разработки других фирм, а также свободно распространяемые программистами freeware-компоненты уже восполнили этот недостаток.

4. Объекты БД в  Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью.

Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox).

В данном случае использовался Delphi 2007.

Microsoft Access.   

Access - (с англ.) - доступ. MS Access это функционально полная реляционная СУБД. Кроме того, MS Access одна из самых мощных, гибких и простых в использовании СУБД.   

СУБД ACCESS     

  С помощью Access  обычные пользователи получили удобное средство для создания и эксплуатации достаточно мощных баз данных без необходимости что-либо программировать. В то же время работа с Access  не исключает возможности программирования. При желании систему можно развивать и настраивать собственными силами. Для этого надо владеть основами программирования на языке Visual Basic.  
    Еще одним дополнительным достоинством Access  является интегрированность этой программы с Excel , Word  и другими программами пакета Office . Данные, созданные в разных приложениях, входящих в этот пакет, легко импортируются и экспортируются из одного приложения в другое.

ОБЪЕКТЫ ACCESS     

  Исходное окно Access  отличается простотой и лаконичностью. Шесть вкладок этого окна представляют шесть видов объектов, с которыми работает программа.   

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

 
    Формы - это объекты, с помощью которых в базу вводят новые данные или просматривают имеющиеся.  
    Отчеты - это формы "наоборот". С их помощью данные выдают на принтер в удобном и наглядном виде.  
    Макросы - это макрокоманды. Если какие-то операции с базой производятся особенно часто, имеет смысл сгруппировать несколько команд в один макрос и назначить его выделенной комбинации клавиш.  
    Модули - это программные процедуры, написанные на языке Visual Basic. Если стандартных средств Access не хватает для удовлетворения требований заказчика, программист может расширить возможности системы, написав для этого необходимые модули или использовав готовые.

РЕЖИМЫ  РАБОТЫ С ACCESS  

С организационной  точки зрения в  работе с любой  базой данных есть два разных режима: проектировочный и эксплуатационный (пользовательский). Создатель базы имеет право создавать в ней новые объекты (например таблицы), задавать их структуру, менять свойства полей, устанавливать необходимые связи. Он работает со структурой базы и имеет полный доступ к базе. У одной базы может быть один, два или несколько разработчиков.  
        Пользователь базы - это лицо, которое наполняет ее информацией с помощью форм, обрабатывает данные с помощью запросов и получает результат в виде результирующих таблиц или отчетов. У одной базы могут быть миллионы пользователей, и, конечно, доступ к структуре базы для них закрыт.  
                 Режим работы с базой выбираются с помощью  командных кнопок:  
Открыть, Конструктор, Создать.  
    - Кнопка Открыть открывает избранный объект. Если это таблица, то ее можно просмотреть, внести новые записи или изменить те, что были внесены ранее.  
    - Кнопка Конструктор тоже открывает избранный объект, но по другому. Она открывает его структуру и позволяет править не содержимое, а устройство. Если это таблица, в нее можно вводить новые поля или изменять свойства существующих полей. Если это форма, в ней можно изменять или создавать элементы управления. Очевидно, что этот режим служит не для пользователей базы, а для ее разработчиков.  
    - Действие командной кнопки Создать соответствует ее названию. Она служит для создания новых объектов. Этот элемент управления тоже предназначен для проектировщиков базы. Таблицы, запросы, формы и отчеты можно создавать несколькими разными способами: автоматически, вручную или с помощью Мастера.

Популярность  СУБД Microsoft Access обусловлена следующими      причинами:

1)         доступность в изучении и понятность позволяют Access являться одной из лучших систем быстрого создания приложений управления базами данных;   
 

2)         возможность использования OLE технологии;

3)         интегрированность с пакетом Microsoft Office;

4)         полная поддержка Web-технологий;           

5) визуальная технология  позволяет постоянно  видеть  результаты своих действий и корректировать их;                    

6) наличие большого  набора "мастеров" по разработке  объектов.

Основные  компоненты MS Access:

  • просмотр таблиц; 
    • построитель экранных форм;
    • построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
    • построитель отчётов, выводимых на печать.

MySQL.  

MySQL свободная система управления базами данных (СУБД). MySQL является собственностью компании MySQL AB, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

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

Гибкость  СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. 

Более того, СУБД MySQL поставляется со специальным типом таблиц

EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP и прочим версиям Microsoft Windows. Существует также порт MySQL к OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули, которые можно загрузить с зеркал, представленных на официальном сайте.

2.2.4. Microsoft SQL Server.  

---Microsoft SQL Server реляционная система управления базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.

Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных).

Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.

Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) интерфейс взаимодействия приложений с СУБД. Последняя версия (SQL Server 2005) обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.

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

SQL Server поддерживает избыточное дублирование данных по трем сценариям:

Снимок: Производится "снимок" базы данных, который  сервер отправляет получателям.

История изменений: Все изменения  базы данных непрерывно передаются пользователям.

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

В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы .

NET, используя полный  набор библиотек,  доступных для  .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework).  

Однако, в отличие от других процессов,.NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.  

2.3. Постановка комплекса  задач системы.  

Исходя  из анализа предметной области, определим  следующие задачи системы:       

1. Учет товара на  складе;

2. Учет продаж;

3. Учет персонала;

4. Учет  поставщиков.   
 

Задача "Учет товара на складе"

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

Форма склада     
 
 
 

Задача "Учета  продаж"

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

Форма продаж  

Задача "Учета  персонала"

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

Форма персонала    
 
 

Задача "Учета   поставщика"

Здесь ведется учет о  поставщиках, какой  товар и в каком  количестве поступил на склад.   
 

2.4. Структурная схема  документооборота  системы.        
 
 
 
 
 

3. ПРОЕКТНЫЙ РАЗДЕЛ.  

3.1. Проектирование и  описание структуры  базы данных.  

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

В БД  выделяют следующие нормальные формы:

  • первая нормальная форма (1NF);
  • вторая нормальная форма (2NF);
  • третья нормальная форма (3NF);
  • нормальная форма Бойса-Кодда (BCNF);
  • четвертая нормальная форма (4NF);
  • пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные  свойства нормальных форм:

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

 

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

  Книги.db - содержит всю информацию о книгах;   

  Номер читателя.db - содержит всю информацию о читателях;   

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

 
   
 

                 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3.2 Описание структуры  и интерфейса программы.  

Интерфейс пользователя построен на основе стандартного Windows-интерфейса (окна, меню, экранные формы, кнопки). Данный тип интерфейса является наиболее удобным  для пользователя, так как предоставляет  стандартное оформление, что позволяет  пользователю быстро сориентироваться и  сэкономить время  в понимании программы.   

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

Схема программного обеспечения АРМ