Дипломная работа: Автоматизированная система управления документооборотом центральной заводской лаборатории. Подсистема регистрации и сопровождения заказов на испытания
благодаря открытому стандарту одним из основных видов повторно используемых компонентов.
Рассмотрим два типа языка Visual С, включенных в среду разработки Microsoft Visual Studio:
1.3.3.1 Visual С++
Одним из основных достоинств языка С++ считается высокая переносимость написанных на нем программ между компьютерами с различной архитектурой, между различными операционными средами. Трансляторы языка С++ существуют практически для всех используемых в настоящее время персональных компьютеров.
С++ – язык программирования высокого уровня, обеспечивающий необычайно легкий доступ к аппаратным средствам компьютера.
Перечислим некоторые особенности языка С++:
ü В языке С++ реализованы некоторые операции низкого уровня (в частности, операции над битами). Некоторые из таких операций напрямую соответствуют машинным командам.
ü Базовые типы данных языка С++ отражают те же объекты, с которыми приходится иметь дело в программе на языке ассемблера, – байты, машинные слова, символы, строки.
ü Язык С++ поддерживает механизм указателей на переменные и функции. Поддерживается арифметика указателей, что позволяет осуществлять непосредственный доступ и работу с адресами памяти практически так же легко, как на языке ассемблера.
Несмотря на эффективность и мощность конструкций языка С++, он относительно мал по объему. В нем отсутствуют встроенные операторы для выполнения ввода-вывода, динамического распределения памяти, управления процессами и т.п., однако в системное окружение языка С входит библиотека стандартных функций, в которой реализованы подобные действия. Вынос этих функций в библиотеку позволяет отделить особенности архитектуры конкретного компьютера и соглашений операционной системы от реализации языка, сделать программу максимально независимой от деталей реализации операционной среды. В то же время программисты могут пользоваться системными библиотечными программами, чтобы более эффективно использовать особенности конкретных операционных сред.
1.3.3.2 Visual C #
Многие разработчики хотели бы использовать современный язык, который позволял бы писать, читать и сопровождать программы с простотой Visual Basic и в то же время давал мощь и гибкость C++, обеспечивал доступ ко всем функциональным возможностям системы, взаимодействовал бы с существующими программами и легко работал с возникающими Web – стандартами.
Учитывая все
подобные пожелания, Microsoft разработала новый язык – C#. В него входит много
полезных особенностей – простота, объектная ориентированность, типовая
защищенность, «сборка мусора», поддержка совместимости версий и многое другое.
Данные возможности позволяют быстро и легко разрабатывать приложения, особенно
COM – приложения и Web – сервисы. При создании C#, его авторы учитывали достижения
многих
других языков программирования: C++, C, Java, Delphi, Visual Basic и т.д. При
разработке C# у его авторов была возможность оставить в прошлом все неудобные и
неприятные особенности (существующие, как правило, для обратной совместимости),
любого из предшествующих ему языков. В результате получился действительно
простой, удобный и современный язык, по мощности не уступающий С++, но
существенно повышающий продуктивность разработок.
C# является хорошим выбором для быстрого конструирования различных компонентов – от высокоуровневой бизнес логики до системных приложений, использующих низкоуровневый код. Также следует отметить, что C# является и Web‑ориентированным используя простые встроенные конструкции языка ваши компоненты могут быть легко превращены в Web‑сервисы, к которым можно будет обращаться из Internet посредством любого языка на любой операционной системе. Дополнительные возможности и преимущества перед другими языками приносит в C# использование передовых Web‑технологий, таких как: XML и SOAP. Среда разработки Web‑сервисов позволяет программисту смотреть на существующие сегодня Web‑приложения, как на родные C# объекты, что дает возможность разработчикам соотнести имеющиеся Web‑сервисы с их познаниями в объектно-ориентированном программировании.
Очень часто
можно проследить такую связь – чем более язык защищен и устойчив к ошибкам, тем
меньше производительность программ, написанных на нем. В C#, как в, несомненно,
современном языке, существуют характерные особенности для обхода возможных ошибок.
Например, там все переменные автоматически инициализируются средой и обладают
типовой защищенностью, что позволяет избежать неопределенных ситуаций в случае,
если программист забудет инициализировать переменную в объекте или попытается
произвести недопустимое преобразование типов. Также в C# были предприняты меры
для исключения ошибок при
обновлении программного обеспечения. Изменение кода, в такой ситуации, может
непредсказуемо изменить суть самой программы. Чтобы помочь разработчикам
бороться с этой проблемой C# включает в себя поддержку совместимости версий. В
частности, если метод класса был изменен, это должно быть специально оговорено.
Это позволяет обойти ошибки в коде и обеспечить гибкую совместимость версий.
Также новой особенностью является поддержка интерфейсов и наследования.
Все рассмотренные выше языки программирования позволяют реализовать в полной мере все возложенные на разрабатываемую систему функции. Безусловно, при выборе языка нужно учитывать текущие тенденции в мире программирования. В настоящее время все большей популярностью пользуется С#, который к тому же в данный момент является ведущим языком по разработке открытых Web‑приложений. Именно поэтому данный программный продукт разработан на Visual C#.
1.4 Анализ платформ (операционных систем)
На сегодняшний день существует большое множество различных операционных систем. Наиболее популярными являются Windows‑системы и Unix‑системы, которые соответствуют всем международным стандартам и удовлетворяют пользователей по скорости, масштабируемости и открытости. Рассмотрим основные преимущества и недостатки этих операционных систем.
1.4.1 Linux
Linux – это современная POSIX‑совместимая и Unix‑подобная
операционная система для персональных компьютеров и рабочих станций. Это многопользовательская
сетевая операционная система с сетевой оконной графической системой X Window
System. Операционная система Linux
поддерживает стандарты открытых систем и протоколы сети Internet и совместима с
системами Unix, DOS, MS Windows. Все компоненты системы, включая исходные
тексты, распространяются с лицензией на свободное копирование и установку для
неограниченного числа пользователей.
Возможности, которые предоставляет операционная система Linux:
· дает возможность бесплатно и легально иметь современную ОС для использования, как на работе, так и дома;
· обладает высоким быстродействием;
· работает надежно, устойчиво, совершенно без зависаний; не подвержена вирусам;
· позволяет использовать полностью возможности современных ПК, снимая ограничения, присущие DOS и MS Windows по использованию памяти машины и ресурсов процессоров;
· эффективно управляет многозадачностью и приоритетами, фоновые задачи (длительный расчет, передача электронной почты по модему, форматирование дискеты и т.д.) не мешают интерактивной работе;
· позволяет легко интегрировать компьютер в локальные и глобальные сети, в т.ч. в Internet; работает с сетями на базе Novell и MS Windows;
· позволяет выполнять представленные в формате загрузки прикладные программы других ОС – различных версий Unix, DOS и MS Windows;
· обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире Unix и свободно распространяемых вместе с исходными текстами;
· предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, включая системы класса клиент-сервер, объектно-ориентированные, с многооконным текстовым и / или графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС;
· дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой ОС.
Linux – это полностью многозадачная многопользовательская операционная
система (точно также как и другие версии UNIX). Linux достаточно хорошо совместим
с рядом стандартов на уровне исходных
текстов, включая IEEE POSIX.1, System V и BSD. Linux поддерживает различные
типы файловых систем для хранения данных. Реализована файловая система FAT и FAT32, позволяющая прямо
обращаться к файлам MS-DOS на жестком диске. Поддерживается также файловая
система ISO 9660 CD-ROM для работы с дисками CD-ROM.
Linux обеспечивает полный набор протоколов TCP/IP для сетевой работы. Поддерживается весь спектр клиентов и услуг TCP/IP, таких как FTP, telnet, NNTP и SMTP.
1.4.2 Microsoft Windows
Microsoft Windows предоставляет иной подход к средам рабочей станции и сервера и реализует новейшие концепции управления системой и
администрирования. Вот некоторые из них.
• Active Directory – расширяемая и масштабируемая служба каталогов, использующая пространство имен, основанное на стандартной Интернет-службе именования доменов (Domain Name System, DNS).
• IntelliMirror – средства конфигурирования, поддерживающие зеркальное отображение пользовательских данных и параметры среды, а также центральное администрирование установки и обслуживания программного обеспечения.
• Terminal Services – службы терминалов, обеспечивающие удаленный вход в систему и управление другими системами Windows.
• Windows Script Host – сервер сценариев Windows для автоматизации таких распространенных задач администрирования, как создание учетных записей пользователей и отчетов по журналам событий.
Хотя у Windows масса других возможностей, каждая из этих четырех оказывает большое влияние на выполнение задач администрирования. Наиболее эффективна технология Active Directory, фундаментально изменившая способы управления пользователями, группами и системами. Так что для успешной работы в Windows необходимо четко понимать структуры и процедуры Active Directory.
На крупных промышленных предприятиях чаще всего используют Unix‑системы, т. к. они более удовлетворяют потребностям и запросам пользователей. Многие задачи, решаемые в Unix, невозможно реализовать в Windows‑системах. Но в Unix‑системах присутствует один большой недостаток – они не поддерживают Batch.21, при помощи которого разрабатываемый программный продукт будет обращаться к базе данных и будет в качестве посредника между клиентской и серверной части приложения.
Поэтому в качестве платформы для данного программного обеспечения была выбрана Windows‑система, которая удовлетворяет всем поставленным требованиям для решения данной задачи.
1.5 Обзор и выбор СУБД
База данных – это набор записей и файлов, организованных специальным образом.
До появления СУБД все данные, которые содержались в компьютерной системе постоянно, хранились в виде отдельных файлов.
Поставщики СУБД предлагают программные продукты для различных вычислительных систем: от персональных компьютеров и рабочих станций
до локальных сетей, мини-компьютеров и больших ЭВМ. Рассмотрим 4 основных типа СУБД, которые занимают лидирующее положение на рынке.
1.5.1 MySQL
MySQL – представляет собой очень быстрый, многопоточный, многопользовательский и надежный сервер баз данных SQL. Сервер MySQL предназначен как для обслуживания критически важных, сильно загруженных производственных систем, так и для встраивания в программное обеспечение массового применения. MySQL – торговая марка, принадлежащая MySQL AB. Программное обеспечение MySQL распространяется в соответствие с двойной лицензией. Пользователь может использовать его либо как бесплатный продукт с открытым исходным кодом на условиях общедоступной лицензии GNU, либо приобрести стандартную коммерческую лицензию у MySQL AB.
Внутренние характеристики и переносимость:
ü написан на C и C++. Протестирован на множестве различных компиляторов;
ü работает на различных платформах;
ü для обеспечения переносимости используется GNU Automake, Autoconf и Libtool;
ü полностью многопоточный с использованием потоков ядра. Это означает, что, если такая возможность обеспечивается, можно легко организовать работу с несколькими процессорами;
ü очень быстрые дисковые таблицы на основе В-деревьев со сжатием индексов;
ü очень быстрая базирующаяся на потоках система распределения памяти;
ü очень быстрые соединения, использующие оптимизированный метод однопроходного мультисоединения (one-sweep multi-join);
ü хеш-таблицы в памяти, используемые как временные таблицы;
ü SQL‑функции реализованы при помощи хорошо оптимизированной библиотеки классов, поэтому они выполняются настолько быстро, насколько это возможно. Обычно после инициализации запроса распределения памяти не происходит вообще;
ü MySQL код протестирован с использованием Purify (коммерческий детектор утечки памяти), а также Valgrind, одного из GPL‑инструментов.
1.5.2 Interbase
Interbase – высокопроизводительный, экономичный, многоплатформенный сервер баз данных. InterBase представляет собой экономичную, высокопроизводительную СУБД с обработкой транзакций, которую используют миллионы пользователей во всем мире. Сочетая легкость установки, автоматическое восстановление после аварийных отказов и минимальные требования к администрированию, InterBase является наиболее подходящим решением для встраивания в тиражируемые приложения. Обладая поддержкой многопроцессорного режима и сложной архитектурой, InterBase идеально подходит для многофункциональных бизнес приложений, обслуживающих большое количество пользователей. Графический пользовательский интерфейс IBConsole включает монитор производительности, одновременно отслеживающий состояние нескольких серверов и баз данных InterBase.
В основе InterBase находится многоуровневая архитектура управления несколькими версиями, предлагающая весомые преимущества в надежности, производительности, эффективности труда разработчиков и постоянном сопровождении. InterBase освобождает разработчиков от решения проблем совместимости и задач памятью, и наряду с этим обеспечивает немедленное восстановление после аварийных отказов.
InterBase представляет собой идеальное решение для установки в условиях отсутствия администратора баз данных или IT‑поддержки. Автоматическое восстановление после аварийных сбоев и автоматизированные процессы управления учетными записями пользователей, оперативное резервное копирование и автоматизация других задач сопровождения позволяют существенно уменьшить потребность в администрировании. Функции автоматической настройки включают оптимизацию запросов на основе затрат и автоматическую «сборку мусора». Динамическая перестройка структур индекса улучшает производительность и уменьшает потребность в администрировании.
СУБД InterBase не привязывает разработчиков к определенному языку программирования или к какой-либо платформе. InterBase обеспечивает межплатформенную совместимость систем Windows, Linux, Solaris и Java, при этом не требуется перекодирование и поддержка нескольких серверных частей СУБД.