2.4. Экономические параметры разработки и внедрения ЭИС
2.4.1. Планирование и контроль выполнения работ
В современных технологиях проектирования и разработки программных средств предполагается поэтапное решение сопутствующих задач. С целью повышения эффективности проектирования ЭИС, то есть обеспечения качества проекта в нужный срок с наименьшими стоимостными и трудовыми затратами, необходимо разработать систему управления проектом.
Система управления проектами представляет собой организационно технологический комплекс методических, технических, программных и информационных средств, направленный на поддержку и повышение эффективности процессов планирования и управления проектом.
Система управления проектами содержит набор функциональных средств, которые помогают сотруднику планировать свой объем работы, временные, ресурсные и стоимостные оценки выполнения этой работы, а затем, в процессе выполнения, отслеживать ход работ и корректировать поставленные задачи.
Функциональных средства, реализующие взаимосвязанные методы, являются основой для информационных систем, которые моделируют комплекс работ и потребности в ресурсах. Эти методы используют оценки требуемых объемов работ, и позволяют сотруднику регулировать выполнение работ по времени, стоимости, составу работ, качеству и организационной структуре исполнения.
Основные преимущества использования информационной системы для управления проектами включают:
- централизованное хранение информации по графику работ, ресурсам и стоимостям;
- возможности быстрого анализа влияния изменений в графике, ресурсном обеспечении и финансировании на план проекта.
Существует несколько способов формализованного представления выполняемой совокупности работ, применяемых для целей планирования и управления ими. Широкое распространение при построении моделей систем управления комплексом операций получили графические методы, как наиболее универсальные и дающие обозримую информацию о ходе работ, к основным из которых относятся метод построения линейного графика Гантта и метод, основанный на использовании теории графов — метод сетевого планирования и управления (СПУ).
Диаграмма Гантта, или циклограмма — горизонтальная линейная диаграмма, на которой работы проекта представляются протяженными во времени отрезками, характеризующимися датами начала и окончания, задержками и возможно другими временными параметрами.
Проектирование и разработка программных продуктов, в том числе ЭИС — логически сложная, трудоемкая и длительная работа, требующая высокой квалификации участвующих в ней специалистов. Нередко проектирование системы выполняется на интуитивном уровне методами, включающими в себя элементы искусства, практический опыт, экспертные оценки и экспериментальные проверки функционирования самой ЭИС и ее отдельных модулей.
В процессе создания и эксплуатации ЭИС потребности и требования пользователей могут изменяться или уточняться, что усложняет разработку и сопровождение таких систем, требует их модернизации и развития.
В результате создается штатное расписание группы специалистов-разработчиков. К разработке ЭИС калькуляции стоимости почтовых отправлений в фирме ООО «ИНТЕР-ПОЧТА-СТОЛИЦА» привлечено 3 человека:
- Руководитель дипломного проекта.
- Руководитель фирмы.
- Специалист-дипломник.
Ниже будет представлена небольшая таблица участия специалистов в разработке ЭИС. Помимо представленных задач, руководитель осуществляет контроль за ходом выполнения работ по проекту разработки ЭИС на всех ее этапах.
Таблица 2.4 — Перечень работ
Наименование задачи | Длительность | Начало | Окончание | Участники проекта | |
1 | Сбор информации и анализ предметной области | 11 дней | 13.09.2013 | 23.09.2013 | Руководитель фирмы, руководитель дипломного проекта, специалист-дипломник |
2 | Постановка задачи | 7 дня | 03.10.2013 | 10.10.2013 | Руководитель дипломного проекта, специалист-дипломник |
3 | Разработка технического задания | 7 дней | 14.10.2013 | 21.10.2013 | Руководитель дипломного проекта, специалист-дипломник |
4 | Анализ существующих ИС | 2 дня | 23.10.2013 | 25.10.2013 | Специалист-дипломник |
5 | Проектирование системы | 20 дней | 26.10.2013 | 16.11.2013 | Специалист-дипломник |
6 | Написание кода | 7 дней | 18.11.2013 | 25.11.2013 | Специалист-дипломник |
7 | Тестирование и отладка программы | 1 день | 26.11.2013 | 26.11.2013 | Специалист-дипломник |
8 | Подготовка документации и сдача проекта | 43 дня | 28.11.2013 | 10.01.2014 | Специалист-дипломник |
9 | Общее участие | 98 дней | 13.09.2013 | 10.01.2013 | Специалист-дипломник |
Теперь же представим еще одну таблица участия специалистов в разработке ЭИС, но с расчетом фактического участия в разработки программы.
Таблица 2.5 — Перечень работ по факту
Наименование задачи | Начало | Окончание | Длительность участия каждого специалиста | |||
Руководитель фирмы | Руководитель дипломного проекта | Специалист-дипломник | ||||
1 | Сбор информации и анализ предметной области | 13.09.2013 | 23.09.2013 | 11 | 11 | 11 |
2 | Постановка задачи | 03.10.2013 | 10.10.2013 | 4 | 7 | |
3 | Разработка технического задания | 14.10.2013 | 21.10.2013 | 4 | 7 | |
4 | Анализ существующих ИС | 23.10.2013 | 25.10.2013 | 2 | ||
5 | Проектирование системы | 26.10.2013 | 16.11.2013 | 20 | ||
6 | Написание кода | 18.11.2013 | 25.11.2013 | 7 | ||
7 | Тестирование и отладка программы | 26.11.2013 | 26.11.2013 | 1 | ||
8 | Подготовка документации и сдача проекта | 28.11.2013 | 10.01.2014 | 43 |
На основании сведений, представленных в «Таблице 2.4 и 2.5», видно, что имеются этапы разработки, на которых задействованы не все специалисты, что делает целесообразным использование повременного способа оплаты их труда на основании фактического количества отработанных дней.
Графическое представление сроков проведения этапов работ представлено на «Рисунке 2.14».
По результатам планирования срок выполнения работ по проектированию и разработке программного продукта — 98 дней. Далее, на основании предполагаемой продолжительности этапов разработки ЭИС и состава задействованных на них исполнителей, будут определены прогнозируемые затраты на оплату труда привлеченных специалистов.
2.4.2. Расчет себестоимости разработки и внедрения ЭИС
Расчет себестоимости разработки ЭИС включает в себя следующие статьи расходов:
- заработная плата разработчиков;
- страховые взносы;
- расходные материалы;
- эксплуатационные расходы.
В расчет заработной платы персонала включаются расходы по оплате труда всех работников, занятых разработкой программного продукта. Затраты на оплату труда производственного персонала приведены в «Таблице 2.6».
Заработная плата дипломного руководителя при расчете себестоимости не учитывалась.
Ежедневная работа участников дипломного проекта составляет четыре часа.
Таблица 2.6 — Заработная плата разработчиков
Специалист | Оклад | Оплата за 4 часовой день |
Руководитель фирмы | 44 000,00 р. | 550,00 р. |
Специалист-дипломник | 15 000,00 р. | 187,50 р. |
На основании данных, представленных в «Таблицах 2.5 и 2.6», могут быть рассчитаны планируемые суммарные затраты на оплату труда участников, занятых в разработке ЭИС. Соответствующие расчеты представлены в «Таблице 2.7».
Таблица 2.7 — Страховые взносы
Специалист | Оклад | Кол-во рабочих дней | Затраты на оплату труда |
Руководитель фирмы | 550,00 р. | 11 | 6050,00 р. |
Специалист-дипломник | 187,50 р. | 98 | 18375,00 р. |
Итого: | 24425,00 р. |
Итого по выплате основной платы за период разработки дипломного проекта составляет 24425,00 рублей.
Согласно последним изменениям законодательства, для основной группы налогоплательщиков общая сумма страховых взносов составляет 30 %. Данная ставка применяется для большинства трудящихся в экономике.
Страховые взносы составляют 30% от основной заработной платы: (24425.00*30):100=7327,50 рублей.
Затраты на расходные материалы приведены в «Таблице 2.8».
Таблица 2.8 — Затраты на расходные материалы
Наименование статей затрат | Количество, штук | Цена за единицу товара, рублей | Сумма, рублей |
Бумага для принтера | 2 | 210,00 р. | 420,00 р |
Комплект картриджей для принтера | 1 | 1750,00 р | 1750,00 р |
Набор канцтоваров | 1 | 110,00 р | 110,00 р |
Итого | 2280,00 р |
Итого затраты на расходные материалы составляют 2280,00 рублей.
Эксплуатационные расходы — это затраты на содержание и эксплуатацию оборудования, обслуживание электронно-вычислительной техники и помещений, а также расходы связанные с оплатой коммунальных услуг. В процессе проектирования и разработки ЭИС использовался один ПК, потребляемая им мощность, тариф оплаты 1 кВт и расчет планируемых затрат на электроэнергию представлены в «Таблице 2.9».
Таблица 2.9 — Затраты на электроэнергию
Компьютер | Мощность, Вт | Кол-во дней | Кол-во часов | Кол-во кВт | Стоимость кВт | К оплате, руб |
PC DELL X51 R2 (R2-8232) Stealth White | 750 | 98 | 380 | 250 | 3,15 р. | 787,50 р. |
Итого: | 787,50 р. |
Расходы на приобретение средств вычислительной техники и амортизационные отчисления учитывать не будем, так как при создании системы использовалась уже имеющиеся оборудование в наличии.
Расчет полной стоимости затрат при разработке ЭИС по всем статьям приведен в «Таблице 2.10».
Таблица 2.10 — Себестоимость
Наименование статей расходов | Сумма, рублей |
Основная заработная плата | 24 425,00 р. |
Страховые взносы | 7327,50 р. |
Расходные материалы | 2280,00 р. |
Эксплуатационные расходы | 787,50 р. |
Итого | 34820,00 |
Круговая диаграмма расходов, связанных с разработкой информационной системы представлена на «Рисунке 2.15».
2.4.3. Обоснование целесообразности разработки и внедрения ЭИС
По результатам анализа существующих программных продуктов, приведенных в пункте 1.4 (Анализ существующих разработок) можно сделать вывод о том, что рассмотренные программные продукты по стоимости приобретения и сопровождения идентичны разрабатываемой программе, но они не содержат необходимые команды и операции, что будут задействованы в разрабатываемой программе.
Из всего выше перечисленного можно сделать вывод о том, что разработка ЭИС калькуляции стоимости почтовых отправлений для фирмы ООО «ИНТЕР-ПОЧТА-СТОЛИЦА» является целесообразной.
ГЛАВА 3. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ
3.1. Обоснование выбора средств разработки
3.1.1. Обоснование выбора средств разработки клиентской части ЭИС
При реализации спроектированной системы необходимо выбрать средства разработки. Из целей разрабатываемой системы и требований технического задания можно выделить те требования, предъявляются к среде разработки КП. Нами были выявлены следующие требования к среде разработки:
- Поддержка объектно-ориентированного программирования.
- Возможность построения графического интерфейса.
- Возможность создания исполняемого файла, не привязанного к среде разработки.
- Возможность созданияCOM-интерфейсов.
На сегодняшний день на рынке систем разработки для операционных систем семейства Windows существует множество графических сред разработки имеющих различный интерфейс и методы программирования на различных языках.
Язык программирования С++
Можно сказать, что язык С++ был разработан в 1980 г. Бьерном Страуструпом в компании Bell Labs. Уже в 1990-х годах он стал одним из наиболее широко применяемых языков программирования общего назначения. Язык С++ поддерживает различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы).
C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. Язык С++ является средством объектного программирования, новейшей методики проектирования и реализации программ, которая, идет на замену традиционному процедурному программированию.
Очень многое С++ позаимствовал у языка С. Эти заимствования обеспечили С++ мощными средствами низкого уровня, позволяющими решать сложные задачи системного программирования. Но С++ отличается от С в первую очередь разной степенью внимания к типам и структурам данных. Это связано с появлением понятий класса, производного класса и виртуальной функции. Это дает С++ более эффективные возможности для контроля типов данных и обеспечивает модульность программы.
В С++ членами класса являются не только данные, но и функции. Функции имеют привилегированный доступ к данным внутри объектов этого класса и обеспечивают интерфейс между этими объектами и остальной программой. При дальнейшей работе совершенно не обязательно помнить о внутренней структуре класса и механизме работы встроенной функции. В этом смысле класс подобен электрическому прибору: мало кто знает о его устройстве, но все знают, как им пользоваться.
К достоинствам языка можно отнести автоматический вызов деструкторов объектов при их уничтожении, причём в порядке, обратном вызову конструкторов. Это упрощает (достаточно объявить переменную) и делает более надёжным освобождение ресурсов (память, файлы, семафоры и т. п.), а также позволяет гарантированно выполнять переходы состояний программы, не обязательно связанные с освобождением ресурсов (например, запись в журнал).
Однако язык С++ считается сложным в изучении языком. Но так как язык один из самых популярных, можно найти огромное множество литературы и примеров, что значительно упрощает изучение.
Delphi 2007
Можно утверждать, что Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде.
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET.
Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования Delphi является мощным и универсальным средством разработки приложений.
Простота и эффективность Delphi объясняют его популярность. Delphi имеет один из самых быстрых компиляторов. Этот язык достаточно прост в изучении. Также, за счет того, что модель программирования—компонентная, можно использовать компоненты, написанными другими разработчиками, даже если нет их исходного кода. Программы, написанные на Delphi, не требуется снабжать дополнительными библиотеками.
К недостаткам программирования на языке Delphi можно отнести то, что к исполняемому файлу при линковке статически присоединяются библиотеки VCL и компоненты, что приводит к значительному увеличению размера исполнительного файла. Несмотря на простоту, эффективность и легкость в изучении, ему не хватает очень многих мощных средств C++. Также весомым недостатком является то, что код написанный на Delphi медленнее, чем код написанный на С++.
Из рассмотренных языков программирования, в соответствии с выбранными критериями, наиболее подходящим языком программирования является язык Delphi. Он обладает самой высокой скоростью из рассматриваемых объектно-ориентированных языков.
3.1.2. Обоснование выбора СУБД
Для реализации и внедрения будущей программы необходимо провести краткий анализ программных средств, существующих на рынке.
Выбор системы управления баз данных (СУБД) представляет собой сложную многопараметрическую задачу и является одним из важных этапов при разработке приложений баз данных. Выбранный программный продукт должен удовлетворять как текущим, так и будущим потребностям компании. Кроме того, необходимо убедиться, что новая СУБД способна принести предприятию реальные выгоды.
Для выбора СУБД для проекта необходимо выбрать параметры и сравнить наиболее популярные системы.
Можно выделить несколько групп критериев:
- Моделирование данных.
- Особенности архитектуры и функциональные возможности.
- Особенности разработки приложений.
- Производительность.
- Надежность.
- Требования к рабочей среде.
- Смешанные критерии.
Рассмотрим каждую из этих групп в отдельности.
Из группы моделирования данных модно выделить следующие критерии:
- Используемая модель данных. Вопрос об использовании той или иной модели должен решаться на начальном этапе проектирования информационной системы.
- Предусмотренные типы данных. Здесь следует учесть два фактически независимых критерия: базовые или основные типы данных, заложенные в систему, и наличие возможности расширения типов. В то время, как отклонения базовых наборов типов данных у современных систем от некоего стандартного, обычно, невелики, механизмы расширения типов данных в системах того или иного производителя существенно различаются.
Наиболее важными критериями из группы особенностей архитектуры и функциональных возможностей являются следующие:
- Мобильность. Мобильность — это независимость системы от среды, в которой она работает. Средой в данном случае является как аппаратура, так и программное обеспечение (операционная система).
- Масштабируемость. При выборе СУБД необходимо учитывать, сможет ли данная система соответствовать росту информационной системы, причем рост может проявляться в увеличении числа пользователей, объема хранимых данных и объеме обрабатываемой информации.
Производительность оценивается по следующим критериям:
- Для тестирования производительности применяются различные средства, и существует множество тестовых рейтингов.
- Возможности оптимизирования запросов. При использовании непроцедурных языков запросов их выполнение может быть неоптимальным. Поэтому необходимо произвести процесс оптимизации запросов, то есть выбрать такой способ выполнения, когда по начальному представлению запроса путем его синтаксических и семантических преобразований вырабатывается процедурный план выполнения запроса, наиболее оптимальный при существующих в базе данных управляющих структурах.
Надежность также можно разбить на несколько критериев.
Понятие надежности системы имеет много смыслов — это и сохранность информации, независящая от любых сбоев, и безотказность работы системы в любых условиях, и обеспечение защиты данных от несанкционированного доступа.
Восстановление после сбоев. При возникновении программных или аппаратных сбоев целостность, да и работоспособность всей системы может быть нарушена. От того, как эффективно спланирован механизм восстановления после сбоев, зависит жизнеспособность системы.
Резервное копирование. В результате аппаратного сбоя может быть частично поврежден или выведен из строя носитель информации и тогда восстановление данных невозможно, если не было предусмотрено резервное копирование базы данных, или ее части. Резервное копирование спасает и в ситуациях, когда происходит логический сбой системы, например, при ошибочном удалении таблиц. Существует множество механизмов резервирования данных (хранение одной или более копий всей базы данных, хранение копии ее части, копирование логической структуры и т.д.). Зачастую в систему закладывается возможность использования нескольких таких механизмов.
Откат изменений. При выполнении транзакции применяется простое правило — либо транзакция выполняется полностью, либо не выполняется вообще. Это означает, что в случае сбоев, все результаты не доведенных до конца транзакций должны быть аннулированы. Механизм отката может иметь различное быстродействие и эффективность.
Многоуровневая система защиты. Информационная система организации почти всегда включает в себя секретную информацию, поэтому для предотвращения несанкционированного доступа используется служба идентификации пользователей. Уровень защиты может быть различным. Кроме непосредственной идентификации пользователей при входе в систему может использоваться также механизм шифрования данных при передаче по линиям связи.
Одна из самых важных групп критериев — требования к рабочей среде разбивается на следующие:
- Поддерживаемые аппаратные платформы.
- Минимальные требования к оборудованию.
- Максимальный размер адресуемой памяти. Поскольку почти все современные системы используют свою файловую систему, немаловажным фактором является то, какой максимальный объем физической памяти они могут использовать.
- Операционные системы, под управлением которых способна работать СУБД.
Также существует несколько смешанных критериев:
- Локализованность. Возможность использования национальных языков полностью реализована не во всех системах.
- Модель формирования стоимости. Как правило, производители СУБД используют определенные модели формирования стоимости. Например, стоимость одного и того же продукта может существенно изменяться в зависимости от того, сколько пользователей будет с ним работать.
- Стабильность производителя.
- Распространенность СУБД.
- Сложность администрирования.
- Стоимость специалистов.
Опираясь на обобщенные критерии, составим требования к СУБД, важные для проекта:
- Используемая модель данных. В соответствии с проведенным анализом, было установлено, что для этого проекта подходит только реляционная модель данных.
- Мобильность. Должна присутствовать независимость от среды, а именно система должна поддерживать операционные системы Linux и Windows.
- Параметры производительности и надежности должны быть не самыми низкими.
- Система должна быть бесплатной.
- Также система должна быть не очень сложной в администрировании, а также, конечно, специалисты должны быть не самыми высокооплачиваемыми.
За самые критически-важные критерии примем модель данных и стоимость. Для выбора СУБД для проекта необходимо проанализировать наиболее популярные бесплатные версии реляционных СУБД, выявить их достоинства и недостатки, и сравнить их по выбранным критериям. На основе информации, взятой с официальных сайтов рассматриваемых СУБД, составим краткое резюме на каждую из них.
DB2 Express — c компании IBM (версия 9.7.1)
Начнем с классической РСУБД, выпущенной и поддерживаемой компанией IBM под названием DB2.
Как говориться на официальном сайте компании IBM. DB2 поставляется в различных редакциях и пакетах, включая очень популярную бесплатную DB2 Express-C с возможностью приобретения лицензии на 12 месяцев и опцией подписки (т.н. Fixed Term License (FTL)): DB2 Express-C FTL. Все редакции и пакеты DB2 построены на одной и той же базе исходного кода; они различаются лишь функциональностью и условиями лицензировании, которые нацеливают возможности, функции и преимущества DB2 по соответствующим сегментам рынка и ценовым группам. Базовой технологией всегда остается DB2, поэтому решение о применении той или иной редакции никак не зависит от таких понятий, как переносимость и простота использования.
У базовой бесплатной версии СУБД IBM DB2 техническая поддержка не осуществляется. СУБД DB2 Express-C можно установить на сервер любого размера, но она будет использовать только два процессорных ядра и 2 ГБ оперативной памяти. Более того, не существует никаких ограничений на размер базы данных.
У бесплатной версии нет поддержки репликации и кластеризации. Так как бесплатная версия выпускается без пакетов обновлений — нет гарантии и возможности приобретения дополнительных пакетов ПО для расширения возможностей СУБД.
DB2 Express-C поддерживает самые популярные платформы: Windows, Linux (серверы POWER и x86), Mac OS X и Solaris x64.
Рекомендуется для небольших учреждений, ограниченных в финансовых возможностях и не нуждающихся в технической поддержке со стороны IBM количеством пользователей до 50-70.
Надежность в СУБД обеспечивается следующими средствами:
- Advanced Copy Services (ACS). DB2 ACS позволяет использовать технологию быстрого копирования устройства хранения данных для выполнения работы по копированию данных в операциях резервного копирования и восстановления. Возможность копирования данных средствами устройства хранения данных значительно ускоряет операции резервного копирования и восстановления. Резервное копирование с использованием DB2 ACS называется резервным копированием через мгновенную копию (snapshot backup).
- Наличие Write Ahead Logging (WAL) — общепринятый механизм протоколирования всех транзакций, что позволяет восстановить систему после возможных сбоев.
- Point in Time Recovery (PITR) — возможность восстановления базы данных (используя WAL) на любой момент в прошлом, что позволяет осуществлять непрерывное резервное копирование кластера.
- Целостность данных. Используются внешние ключи и ограничения.
- Усовершенствования в области журнала протоколирования событий, которые позволяют повторять прошлые действия с базой данных. Например, если нужно проанализировать, как определенный запрос, выполненный несколько лет назад, повлиял на некоторые таблицы, то теперь для получения всего необходимого для этого анализа можно использовать информацию из журнала протоколирования событий базы данных.
Производительность повышается за счет появления новой семантики Currently Committed (CC) уровня изоляции Cursor Stability (CS) «писатели» (операции UPDATE) больше не мешают «читателям» (операции SELECT). Теперь операции чтения получают зафиксированные на данный момент значения, не дожидаясь завершения операции UPDATE. Это усовершенствование повышает параллелизм и уменьшает число взаимных блокировок. А также за счет поддержки таблицы материализованных запросов, параллелизма MDC и многомерной кластеризации таблиц
Достоинства СУБД DB2:
- в DB2 Express-C нет ограничений на размер базы;
- нет ограничения на количество пользователей;
- неограниченное количество соединений;
- хорошая производительность.
Недостатки данной СУБД:
- мало специалистов и высокая стоимость хороших специалистов;
- небольшая распространенность;
- Дистрибутив СУБД весит 450 Мбайт.
СУБД PostgreSQL (версия 9.3)
Как говориться на официальном сайте СУБД, современный проект PostgreSQL ведет происхождение из проекта POSTGRES, который разрабатывался под руководством Майкла Стоунбрейкера, профессора Калифорнийского университета в Беркли.
PostgreSQL — это полноценная SQL СУБД с большим списком возможностей и огромным количеством людей по всему миру, которые используют и разрабатывают эту СУБД. Разработка PostgreSQL ориентировалась на использование в сложных приложениях. Именно поэтому упор всегда делался на надёжность, наличие развитой функциональности и соответствие стандартам.
PostgreSQL поставляется под лицензией BSD, что обеспечивает максимальную открытость и доступность. Она совершенно бесплатна.
PostgreSQL поддерживается на всех современных Unix системах, включая наиболее распространенные, такие как Linux, FreeBSD, NetBSD, OpenBSD, SunOS, Solaris, а также под Mac OS X.
Для работы с PostgreSQL существует множество интерфейсов и библиотек взаимодействия из других языков программирования: Java (JDBC), ODBC, Perl, Python, Ruby, C, C++, PHP, Lisp, Scheme и Qt.
Надежность PostgreSQL обеспечивается следующими возможностями:
- полное соответствие принципам ACID — атомарность, непротиворечивость, изолированность, сохранность данных;
- многоверсионность (Multiversion Concurrency Control,MVCC) используется для поддержания согласованности данных в конкурентных условиях, в то время как в традиционных базах данных используются блокировки. MVCC означает, что каждая транзакция видит копию данных (версию базы данных) на время начала транзакции, несмотря на то, что состояние базы могло уже измениться;
- наличие Write Ahead Logging (WAL) — общепринятый механизм протоколирования всех транзакций, что позволяет восстановить систему после возможных сбоев;
- Point in Time Recovery (PITR) — возможность восстановления базы данных (используя WAL) на любой момент в прошлом, что позволяет осуществлять непрерывное резервное копирование кластера.
Целостность данных. Помимо MVCC, PostgreSQL поддерживает целостность данных на уровне схемы — это внешние ключи, ограничения.
Открытость кодов PostgreSQL означает их абсолютную доступность для любого, а либеральная BSD лицензия не накладывает никаких ограничений на использование кода.
Производительность PostgreSQL основывается на использовании индексов, интеллектуальном планировщике запросов, тонкой системы блокировок, системе управления буферами памяти и кэширования, превосходной масштабируемости при конкурентной работе.
Основные преимущества PostgreSQL:
- поддержка Баз Данных практически неограниченного размера;
- мощные и надёжные механизмы транзакций и репликации;
- поддержка со стороны многих языков программирования: C/C++, Java, Perl, Python, Ruby, ECPG, Tcl, PHP и других;
- легко расширяемая система типов;
- маленький установочный файл 8,1Мбайт;
- максимальный размер БД неограничен.
К недостаткам данной СУБД можно отнести:
- отсутствие версии для Windows. Современные версии Windows уже подходят под роль серверной платформы, да и огромное количество программистов пишут свои программы именно в среде Windows. Поэтому необходимость отдельного Unix-сервера или использования обёртки Cygwin (не способствующей повышению устойчивости и производительности) мешает более широкому использованию PostgreSQL;
- для того чтобы добиться хорошей производительности надо посвятить некоторое время настройке сервера;
- отсутствие примеров кода и литературы на русском.
MySQL компании Oracle Corporation 2010
MySQL, как утверждается на сайте компании, свободная система управления базами данных. Данная СУБД написана на языках С и С++ и протестирована на множестве различных компиляторов. Она является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
У MySQL существует два вида лицензий — коммерческая и свободная (GPL) . Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.
MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7.
Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.
MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, PureBasic, Python, Ruby, Smalltalk, Компонентный Паскаль и Tcl библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.
MySQL достаточно быстродействующая СУБД. Разработчики склоняются к мнению, что СУБД MySQL является одной из самых быстрых баз данных из имеющихся на современном рынке. Высокая производительность СУБД MySQL достигается за счет быстрых дисковых таблиц на основе В-деревьев со сжатием индексов, за счет быстрой базирующейся на потоках системе распределения памяти, за счет быстрого соединения, использующего оптимизированный метод однопроходного мультисоединения (one-sweep multi-join). SQL-функции реализованы при помощи хорошо оптимизированной библиотеки классов, поэтому они выполняются настолько быстро, насколько это возможно. Обычно после инициализации запроса распределения памяти не происходит вообще.
MySQL является относительно простой в использовании, которую значительно проще инсталлировать и администрировать, чем многие большие системы.
MySQL является полноценным SQL сервером, который заботится об управлении базой данных, ее безопасности и стабильной работе. MySQL обеспечивает самый высокий уровень защиты данных и работу с транзакциями. MySQL предназначена для работы в сети и может быть доступна через Интернет, чтобы обеспечить безопасность, СУБД снабжена развитой системой защиты от несанкционированного доступа. Система, основана на привилегиях и паролях, за счет чего обеспечивается гибкость и безопасность, и с возможностью верификации с удаленного компьютера. Пароли защищены, так как они при передаче по сети при соединении с сервером шифруются.
Размеры баз данных, которыми управляет СУБД MySQL, могут быть очень большими. Компания MySQL AB. использует MySQL для работы с несколькими базами данных, которые содержат 50 миллионов записей. Для каждой таблицы разрешается иметь до 32 индексов. Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов.
MySQL постоянно развивающаяся бесплатная СУБД, первая версия MySQL была выпущена в 1995 году, релиз пятой версии — в конце 2005 года, шестая версия сейчас в разработке. Сервер MySql не имеет ограничений по размеру базы данных и может выдержать практически неограниченную нагрузку.
Проанализировав популярные бесплатные СУБД, составим таблицу, наглядно отображающую наличие необходимых нам критериев и ограничений на каждую из систем.
Таблица 3.1 — Сравнение СУБД
Характеристика | СУБД | ||
DB2Express-C | PostgreSQL | MySQL | |
Цена | Бесплатная версия платной СУБД | Полностью бесплатна | Полностью бесплатна |
Поддерживаемые платформы | Windows, Linux, Mac,Solaris | Windows(необходимость unix-сервера, или оболочки Cygwin), Linux,Mac | Windows, Linux, Mac,Solaris |
Защита данных | сильная | сильная | сильная |
Сложность администри- рования | Желательно наличие специалиста по БД | Первоначальная настройка и минимальная поддержка | Первоначальная настройка и минимальная поддержка |
Стоимость программистов | высокая | небольшая | небольшая |
Перспективы развития БД, стабильность фирм-хозяев | Бурно развивающаяся, частые обновления | Медленно развивающаяся | Бурно развивающаяся, частые обновления |
Ограничения | Количество используемых процессоров -1 Используемая ОЗУ 2Гб | никаких | никаких |
В соответствии с проведенным анализом различных СУБД и с составленной таблицей сравнения можно сделать вывод о том, что к этому проекту больше всего подходят две СУБД: PostgreSQL и MySQL. Они обе полностью бесплатны и не имеют никаких ограничений, достаточно просты в администрировании и поддержке, стоимость специалистов для данных СУБД небольшая. СУБД MS SQL Server не подходит по критерию поддерживаемых платформ, что не соответствует требованиям составленного ТЗ. Бесплатные версии платных систем DB2 и Oracle имеют ограничения на количество используемых процессоров и оперативной памяти. Это приведет к необратимому снижению производительности СУБД и в конечном итоге к покупке платных версий, что также не соответствует ТЗ.
При анализе различных тестов на производительность MySQL показывает результаты немного лучше, чем PostgreSQL. Однако чтобы PostgreSQL показал хорошие, сравнимые со своим оппонентом, результаты необходимо провести тонкую настройку сервера PostgreSQL, которой MySQL не требует. MySQL значительно популярнее PostgreSQL, соответственно, он протестирован гораздо большим количеством пользователей. В Windows PostgreSQL работает только в системе эмуляции, что опять же говорит о преимуществе СУБД MySQL.
Для построения графического интерфейса пользователя, который будет в интуитивно понятном виде для пользователя выполнять действия с базой данных, выбраны средства для проектирования:
- Для того чтобы выбрать СУБД были сформулированы критерии сравнения, за критически важные из которых были взяты: бесплатность и использование реляционной модели.
- Рассмотрев возможные варианты, была выбрана СУБД MySQL, с которой будет взаимодействовать создаваемое программное приложение. Эта СУБД одна из самых успешных на сегодняшний день бесплатных СУБД. Данная система имеет много возможностей и практически не имеет ограничений, что идеально подходит для данного проекта.
- Далее для реализации интерфейса был выбран язык программирования Delphi. Он является объектно-ориентированным, что упрощает процесс программирования, так как он в первую очередь ориентирован на человека. Данный язык имеет взаимодействия с базами данных.
Все выбранные средства проектирования являются бесплатными, что соответствует ТЗ.
Комментарии
Оставить комментарий
Валера 14 минут назад
добрый день. Необходимо закрыть долги за 2 и 3 курсы. Заранее спасибо.
Иван, помощь с обучением 21 минут назад
Валерий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Fedor 2 часа назад
Здравствуйте, сколько будет стоить данная работа и как заказать?
Иван, помощь с обучением 2 часа назад
Fedor, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алина 4 часа назад
Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения
Иван, помощь с обучением 4 часа назад
Алина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алена 7 часов назад
Добрый день! Учусь в синергии, факультет экономики, нужно закрыт 2 семестр, общ получается 7 предметов! 1.Иностранный язык 2.Цифровая экономика 3.Управление проектами 4.Микроэкономика 5.Экономика и финансы организации 6.Статистика 7.Информационно-комуникационные технологии для профессиональной деятельности.
Иван, помощь с обучением 8 часов назад
Алена, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Игорь Петрович 10 часов назад
К утру необходимы материалы для защиты диплома - речь и презентация (слайды). Сам диплом готов, пришлю его Вам по запросу!
Иван, помощь с обучением 10 часов назад
Игорь Петрович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 1 день назад
У меня есть скорректированный и согласованный руководителем, план ВКР. Напишите, пожалуйста, порядок оплаты и реквизиты.
Иван, помощь с обучением 1 день назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Илья 1 день назад
Здравствуйте) нужен отчет по практике. Практику прохожу в доме-интернате для престарелых и инвалидов. Все четыре задания объединены одним отчетом о проведенных исследованиях. Каждое задание направлено на выполнение одной из его частей. Помогите!
Иван, помощь с обучением 1 день назад
Илья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Alina 2 дня назад
Педагогическая практика, 4 семестр, Направление: ППО Во время прохождения практики Вы: получите представления об основных видах профессиональной психолого-педагогической деятельности; разовьёте навыки использования современных методов и технологий организации образовательной работы с детьми младшего школьного возраста; научитесь выстраивать взаимодействие со всеми участниками образовательного процесса.
Иван, помощь с обучением 2 дня назад
Alina, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Влад 3 дня назад
Здравствуйте. Только поступил! Операционная деятельность в логистике. Так же получается 10 - 11 класс заканчивать. То-есть 2 года 11 месяцев. Сколько будет стоить семестр закончить?
Иван, помощь с обучением 3 дня назад
Влад, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Полина 3 дня назад
Требуется выполнить 3 работы по предмету "Психология ФКиС" за 3 курс
Иван, помощь с обучением 3 дня назад
Полина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 4 дня назад
Здравствуйте. Нужно написать диплом в короткие сроки. На тему Анализ финансового состояния предприятия. С материалами для защиты. Сколько будет стоить?
Иван, помощь с обучением 4 дня назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Студент 4 дня назад
Нужно сделать отчёт по практике преддипломной, дальше по ней уже нудно будет сделать вкр. Все данные и все по производству имеется
Иван, помощь с обучением 4 дня назад
Студент, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Олег 5 дня назад
Преддипломная практика и ВКР. Проходила практика на заводе, который занимается производством электроизоляционных материалов и изделий из них. В должности менеджера отдела сбыта, а также занимался продвижением продукции в интернете. Также , эту работу надо связать с темой ВКР "РАЗРАБОТКА СТРАТЕГИИ ПРОЕКТА В СФЕРЕ ИТ".
Иван, помощь с обучением 5 дня назад
Олег, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Анна 5 дня назад
сколько стоит вступительные экзамены русский , математика, информатика и какие условия?
Иван, помощь с обучением 5 дня назад
Анна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Владимир Иванович 5 дня назад
Хочу закрыть все долги до 1 числа также вкр + диплом. Факультет информационных технологий.
Иван, помощь с обучением 5 дня назад
Владимир Иванович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Василий 6 дней назад
сколько будет стоить полностью закрыть сессию .туда входят Информационные технологий (Контрольная работа, 3 лабораторных работ, Экзаменационный тест ), Русский язык и культура речи (практические задания) , Начертательная геометрия ( 3 задачи и атестационный тест ), Тайм менеджмент ( 4 практических задания , итоговый тест)
Иван, помощь с обучением 6 дней назад
Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Марк неделю назад
Нужно сделать 2 задания и 1 итоговый тест по Иностранный язык 2, 4 практических задания и 1 итоговый тест Исследования рынка, 4 практических задания и 1 итоговый тест Менеджмент, 1 практическое задание Проектная деятельность (практикум) 1, 3 практических задания Проектная деятельность (практикум) 2, 1 итоговый тест Проектная деятельность (практикум) 3, 1 практическое задание и 1 итоговый тест Проектная деятельность 1, 3 практических задания и 1 итоговый тест Проектная деятельность 2, 2 практических заданий и 1 итоговый тест Проектная деятельность 3, 2 практических задания Экономико-правовое сопровождение бизнеса какое время займет и стоимость?
Иван, помощь с обучением неделю назад
Марк, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф