p align="left">Следующий шаг по ужесточению контроля - это введение на клиента интерпретатора, который контролирует опасные ситуации. Например, на клиентский компьютер подгружается только описание формы - расположение кнопок, полей ввода и других контрольных элементов, что позволяет достичь компромисса между требованиями безопасности, функциональности презентационной логики и требованиями нулевого администрирования для ультратонкого клиента. Движение в сторону достижения максимальной безопасности в пределе останавливается на варианте, когда клиентскими рабочими станциями являются терминалы либо X_терминалы, а вся информация между сервером и терминалами курсирует с шифрованием трафика. Удобство реализации ультратонкого клиента с подгружаемым со стороны сервера приложений скриптом или кодом может быть как удачным, так и неудачным в зависимости от реализации. 1.3 Анализ средств программирования На сегодняшний момент существует большое количество языков программирования с различными возможностями и функционалом. В процессе обучения был изучен язык программирования С++, поэтому было принято решение вести разработку системы на С++ или родственном ему языке. Язык C++ - это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и структуры данных, богатый набор операторов. Язык C++ не является ни языком «очень высокого уровня», ни «большим» языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные. При этом возникает проблема, на какой разновидности остановится и в какой интегрированной среде разработки создавать программную часть ИС. Проведем сравнительный анализ основных сред разработки на С++: 1.3.1 Borland C++ Builder Borland C++ Builder - очень мощная интегрированная среда программирования. Вместо отдельного инструментария, оперирующего визуальными элементами управления, в C++ Builder интегрирована так называемая палитра компонент, разделенная картотечными вкладками на несколько функциональных групп. Функциональные возможности поставляемых компонент можно достаточно просто модифицировать, а также разрабатывать компоненты, обладающие совершенно новым поведением. Система содержит библиотеку из более 100 визуальных компонент. Помимо известных элементов управления Windows (кнопки, линейки прокрутки, поля редактирования, простые и комбинированные списки и т.д.) библиотека содержит новые компоненты поддержки диалогов, обслуживания баз данных и многие другие. Опытным C++ программистам нравится синтаксис и структура кода разрабатываемых на C++ Builder программ, хотя его графическое обрамление заметно отличается от традиционных оболочек систем разработки. C++ Builder поддерживает основные принципы объектно-ориентированного программирования - инкапсуляцию, полиморфизм и множественное наследование, а также нововведенные спецификации и ключевые слова в стандарте языка. 1.3.2 Microsoft Visual C++ Microsoft Visual C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. Visual C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием C++ является класс. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. C++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. 1.3.3 Microsoft Visual Studio Microsoft Visual Studio - это уже проверенный временем программный продукт. Выделим две важнейшие его идеи: · открытость для языков программирования; · принципиально новый подход к построению каркаса среды - Framework. Net. Среда разработки теперь является открытой языковой средой. Это означает, что наряду с языками программирования, включенными фирмой Microsoft в среду могут добавляться любые языки программирования, компиляторы которых создаются другими фирмами-производителями. Таких расширений среды Visual Studio сделано уже достаточно много, практически они существуют для всех известных языков - Fortran и Cobol, RPG и Component Pascal, Oberon и SmallTalk. Открытость среды не означает полной свободы. Главное ограничение, которое можно считать и главным достоинством, состоит в том, что все языки, включаемые в среду разработки Visual Studio. Net, должны использовать единый каркас - Framework. Net. Благодаря этому достигаются многие желательные свойства: ь легкость использования компонентов, разработанных на различных языках; ь возможность разработки нескольких частей одного приложения на разных языках; ь возможность бесшовной отладки такого приложения; ь возможность написать класс на одном языке, а его потомков - на других языках. Существенно расширился набор возможных архитектурных типов построения приложений. Помимо традиционных Windows- и консольных приложений, появилась возможность построения Web_приложений. Большое внимание уделяется возможности создания повторно используемых компонентов - разрешается строить библиотеки классов, библиотеки элементов управления и библиотеки Web_элементов управления. Популярным архитектурным типом являются Web_службы, ставшие сегодня благодаря открытому стандарту одним из основных видов повторно используемых компонентов. Рассмотрим два типа языка 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:
Страницы: 1, 2, 3, 4, 5, 6, 7
|