Обоснование проектных решений по программному обеспечению
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

К выбираемому программному обеспечению в данном случае относятся операционная система (ОС) и среда программирования.

Все ОС подразделяются на:

· однопользовательские и многопользовательские;

· однозадачные и многозадачные.

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

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

Для сравнения были выбраны три СУБД: InterBase, MySQL и MS SQL Server. Сравнение проводилось по пяти основным параметрам: поддержка СУБД механизма триггеров и хранимых процедур, удобство и доступность средств разработки приложений СУБД, перечень поддерживаемых операционных систем, минимальные требования к серверу баз данных, и производительность.

Триггеры и хранимые процедуры.

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

MySQL в отличие от Microsoft SQL Server и InterBase не поддерживает ни триггеры, ни хранимые процедуры, что является в определенной степени недостатком, так как в приложениях информационной системы большую часть необходимых проверок введенных данных, а также обеспечение целостности базы данных приходится выполнять на уровне клиентского приложения, что несколько усложняет процесс создания программного продукта.

Средства разработки приложений СУБД.

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

В MSSQL Server следует обратить особое внимание на основное средство разработки и администрирования, включенное в состав дистрибутива, – Enterprise Manager, который позволяет решать практически все задачи администрирования MS SQL Server и, кроме того, удобен для разработчика.

В InterBase, к сожалению, средство разработки и администрирования, поставляемое в составе дистрибутива (Interbase Console), недостаточно удобно, но обладает необходимой функциональностью. Поэтому существуют более удобные средства разработки и администрирования, созданные сторонними разработчиками, такие как IB Expert, EMS IB Manager.

Похожим образом обстоит дело и со средствами администрирования и разработки MySQL, но при желании также можно воспользоваться продуктами сторонних разработчиков: EMS MySQL Manager, WinSQL, PHP Admin.

Перечень операционных систем,

под управлением которых способна работать СУБД. В этом разделе, безусловно, лидирует MySQL, которая способна работать под управлением большинства из имеющихся на настоящее время операционных систем. Список совместимости СУБД и ОС представлен в табл. 1.1.

 

Таблица 1.1Совместимость СУБД и ОС

СУБД ОС
InterBase Windows 95/98/ME/NT/2000 и Linux-системы
MS SQL Server Windows NT, 2000, XP (Intel и Alpha)
MySQL Linux (x86, libc6, S/390, IA64, Alpha, Sparc), Windows 95/98/NT/2000/XP, Solaris 2.9 (Sparc, 64-bit, 32-bit), FreeBSD 4.x ELF (x86), Mac OS X v10.2, HP-UX 10.20 (RISC 1.0), HP-UX 11.11 (PA-RISC 1.1 или 2.0), AIX 5.1 (RS6000), QNX 6.2.0 (x86), Novell NetWare 6 (x86), SCO OpenUnix 8.0 (x86), м SGI Irix 6.5, Dec OSF 5.1 (Alpha)

 

Минимальные требования к серверу БД представлены в табл. 1.2. Из данной таблицы видно, что наименее требовательна к ресурсам сервера – СУБД InterBase.

Таблица 1.2Минимальные требования к серверу БД

СУБД Сервер
InterBase 7.0 Pentium 100 MHz, ОЗУ – 32 Мбайт, 50 Мбайт свободного места на диске.
MS SQL Server 7.0 Pentium II 350 MHz, ОЗУ – 128 Мбайт, 250 Мбайт свободного места на диске
MySQL 4.0.20 Pentium 100 MHz, ОЗУ – 64 Мбайт, 100 Мбайт свободного места на диске

 

Производительность.

Для сравнительного исследования СУБД после их установки на каждой из них встроенными средствами администрирования создавалась база данных TEST_DB, в которую помещалась одна таблица с именем TEST_TABLE (NUM: INTEGER; FIO_B: CHAR; NUM_CARD: INTEGER; NUM_POLUS: INTEGER; POL: CHAR; AGE_B: INTEGER; BORN_B: INTEGER; ADRESS_H: CHAR; TEL_H: INTEGER; ADRESS_R: CHAR; TEL_R: INTEGER; MED_PLACE: CHAR; VID_POS: CHAR; VID_BOL: CHAR; STATUS: CHAR; LGOTA: CHAR; VID_DOC: CHAR; FIO_DOC: CHAR; TDATE: DATE; VID_MON: INTEGER), содержащая 20 столбцов и 28096 строк записей. Как пример реальной практической задачи в этой таблице находилась информация о выданных больничных листах.

Данные таблицы были сгенерированны случайным образом. В исследовании участвовал компьютер со следующими основными характеристиками: Asus P4S533-MX / P4 2,4 GHz / RAM 256 Mb / HDD 80 Gb.

Для проведения исследования была использована программа SERVERTESTER. В ходе исследования для каждого из тестируемого сервера БД указанная программа по команде пользователя последовательно в течение 1 сессии выполняла все указанные ниже SQL – запросы и замеряла их время выполнения в мсек. Затем сессия повторялась. Количество повторов равнялось 20. Результаты каждого теста программа записывала в журнал работы, который затем был обработан – вычислены среднее значение времени выполнения каждого запроса. При этом на используемом при тестировании компьютере для исследования динамики работы серверов СУБД было запущено программное обеспечение System Monitor, в котором был включен 1 счетчик –% загруженности процессора. Перед началом каждого теста работа счетчика начиналась сначала. После окончания теста фиксировались 2 показателя – средний и максимальный проценты использования процессора, которые затем вручную вносились в журнал работы программы тестирования.

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

 

Таблица 1.3 – SQL – запросы, выполнявшиеся в ходе тестирования

Название запроса SQL запрос
1 Простой Select SELECT * FROM TEST_TABLE
2 Выбор больных, которые обращались до 20.01.05 SELECT FIO_B, NUM_CARD, FROM TEST_TABLE WHERE TDATE<’20.01.05’
3 Выбор среднего по возрасту больного, по группам цели посещения SELECT FIO_BOL, AVG (AGE_B), VID_POS FROM TEST_TABLE GROUP BY VID_POS

 

U – количество пользователей, подключенных к СУБД;

P av – средняя загрузка процессора;

P max – максимальная загрузка процессора;

D – длительность выполнения запроса, мсек.

В табл. 1.4–1.6 приведены результаты выполнения тестовых запросов.

 

Таблица 1.4 – Результаты выполнения запроса №1

Тест

U=1

U=2

U=3

  D Pav Pmax D P av P max D P av P max
MySQL 5450,8 (±66,5) 14,3 46,88 5608,2 (±71,8) 28,8 64,3 6011,4 (±68,0) 41,3 62,2
MS SQL Server 5237,2 (±42,0) 7,5 32,8 5721,7 (±20,4) 61,2 83,7 6387,3 (±54,7) 91 100
InterBase 6304,3 (±38,3) 28 51 6273,4 (±23,2) 63 98 6222,9 (±50,9) 86 100

 

Таблица 1.5Результаты выполнения запроса №2

Тест

U=1

U=2

U=3

  D P av P max D P av P max D P av P max
MySQL 163,0 (±3,2) 14,3 46,88 155,3 (±4,0) 28,8 64,3 153,7 (±14,5) 41,3 62,2
MS SQL Server 153,3 (±10,9) 30,1 92 233,9 (±21,7) 73,5 100 340,8 (±20,3) 97 100
InterBase 184,8 (±3,4) 28 51 192,8 (±4,0) 63 98 201,1 (±5,9) 86 100

 

Таблица 1.6 – Результаты выполнения запроса №3

Тест

U=1

U=2

U=3

  D P av P max D P av P max D P av P max
MySQL 89,0 (±2,9) 14,3 46,88 85,3 (±9,4) 28,8 64,3 68,3 (±2,7) 41,3 62,2
MS SQL Server 58,9 (±3,4) 30,1 92 85,5 (±7,6) 73,5 100 172,3 (±19,9) 97 100
InterBase 94,9 (±2,8) 28 51 90,6 (±4,2) 63 98 91,9 (±3,4) 86 100

 

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

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

Некоторые особенности.

Основное преимущество MS SQL Server заключается в тесной интеграции ее с другими программными продуктами от Microsoft. MS SQL Server активно использует решения на базе СОМ технологии, в частности источники данных OLEDB и компоненты ActiveX. Данная СУБД отлично интегрируется как с MS Exchange, так и с Microsoft Internet Information Server.

Кроме того, существенным преимуществом этой СУБД перед другими является возможность экспорта и импорта в большинство распространенных форматов данных, что включает как клиент-серверные и файл-серверные, так и XML формат. В качестве источников и приемников данных там выступают драйвера OLEDB. А если драйвер OLEDB отсутствует, для нужного источника данных можно использовать драйвер OLEDB для ODBC, что позволяет производить импорт-экспорт практически в любой формат данных. И все это с помощью инструментария, входящего в состав дистрибутива. Эта возможность позволяет использовать MS SQL Server в качестве централизованного хранилища данных как в OLTP, так и в OLAP-системах.

Как существенное преимущество InterBase следует рассматривать то, что такие популярные продукты от Borland, как Delphi и CBuilder поставляются с компонентами, позволяющими работать с данной СУБД, используя ее собственное API, что позволяет достичь очень высокого быстродействия.

Выводы по выбору СУБД.

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

Однако ввиду того что основной программный модуль разработан с помощью языка Access, а также учитывая минимальные требования к серверу БД и стоимость продажи, для проекта была выбрана СУБД My SQL

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

На основе анализа возможных вариантов решения поставленной проектной задачи сделаны следующие выводы:

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

· в качестве операционной системы может быть использована MS Windows XP Professional ввиду ее распространенности и надежности.

· в качестве языка программирования для написания интерфейса пользователя и программы обработки данных может быть использован Access в виду поддержки им интерфейса программирования выбранной СУБД My SQL.

 

Дата: 2019-07-30, просмотров: 173.