Файл: Реализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#.odt
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.12.2023
Просмотров: 491
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Введение.Из множества различных современных проблем в области безопасности был выбрана именно данная тема, т. к. с каждым днём число приложений и систем растёт и системы обновления ПО тому не исключение. Помимо роста числа растёт и сложность, комплексность систем. Были рассмотрены публикации по этой теме и сделан вывод, что на современном этапе информационных технологий, когда такие системы доступны большому числу организаций, решающую роль играет не обширный список функций, а простота, возможность пользования рядовому пользователю. Такие системы актуальны и пользуются спросом и именно такую систему требуется разработать и проверить её работоспособность.Целью дипломной работы является разработка системы обновления ПО с учётом требования информационной безопасности.Задачами Дипломной работы являются:
На сегодняшний день существуют десятки СУБД, написанных для различных платформ, а также множество языков программирования и интегрированных сред разработки для создания клиентских приложений. Выбор конкретной СУБД, языковых и инструментальных средств разработки приложений зависит от ряда условий.Технология «клиент-сервер» [6] появилась относительно давно и продолжает развиваться в данное время, поэтому литература по данной тематике представлена трудами многих зарубежных и отечественных авторов. Имеется множество учебников, самоучителей по языкам программирования и созданию клиентских приложений. Также имеется множество статей, опубликованных на популярных интернет-сайтах. Вместе с этим, литературы, посвященной анализу и сравнению различных средств разработки, мало.На сегодняшний день существует множество различных средств вычислительной техники (в том числе и ЭВМ), позволяющих существенно повысить эффективность деятельности инженеров при решении различных задач. Знание основных методов и приемов программирования нужны не только будущему программисту, но и любому специалисту, использующему компьютер в своей профессиональной деятельности - это способствует развитию строгого алгоритмического мышления, пониманию основных принципов устройства и работы компьютера, умению грамотно сформулировать задачу для разработчиков прикладного программного обеспечения [5].В данной курсовой работе создавалась программа для вычислений над матрицами.В качестве среды программирования выбрана MS Visual Studio 2010 и язык программирования C# («си шарп»), изучаемый на занятиях по дисциплине Основы алгоритмизации и программирования. К достоинствам языка С# следует отнести то, что данный язык имеет 300 000 библиотек разных функций, которые работают с максимальным быстродействием. Алгоритмы и программы, которые представляют интерес для изучения и исследования, исчисляются десятками и сотнями. Одни из них решают конкретные задачи на основе известных методов, другие образуют системную основу для огромного большинства прикладных программ. К последней группе алгоритмов можно отнести методы обработки информации, представленной в виде одномерных и двухмерных массивов (матриц). Работа с матрицами - это одна из стандартных функций, возникающих в процессе решения задач самого различного характера.
На сегодняшний день математическое программирование - важная составляющая всего программирования. Большие и сложные вычисления благодаря простым программам становятся простыми.
- отсутствие необходимости в системах хранения данных;- передача по сети только запросов и ответов;- масштабируемость;- обеспечение пользователей качественным интерфейсом.Благодаря этим преимуществам технология «клиент-сервер» получила большое распространение.Однако технология «клиент-сервер» имеет и ряд недостатков, среди которых – необходимость переустановки клиентских программ при изменении логики приложений, при изменении интерфейса, а также, при использовании промышленной СУБД - необходимость приобретения лицензий на рабочие места.Можно выделить три уровня функций, решаемые вычислительной сетью архитектуры «клиент-сервер» [10]:- функции ввода и отображения данных (обеспечивают взаимодействие с пользователем);- прикладные функции, характерные для данной предметной области;- функции управления ресурсами (файловой системой, базой данных и т.д.).Выполнение этих функций в основном обеспечивается следующими программными средствами:- компонент представления отвечает за пользовательский интерфейс;- прикладной компонент реализует алгоритм решения конкретной задачи;- компонент управления ресурсом обеспечивает доступ к необходимым ресурсам.Исходя из распределения выполнения этих функций между компонентами системы, выделяют двухзвенную и трехзвенную архитектуру. В двухзвенной архитектуре три вышеперечисленных базовых компонента распределяются между двумя узлами – клиентом и сервером. Двухзвенная архитектура используется в клиент-серверных системах, где сервер отвечает на клиентские запросы напрямую и в полном объеме, при этом используя только собственные ресурсы.Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры [10]:- сервер терминалов — распределенное представление данных;- файл-сервер — доступ к удаленной базе данных и файловым ресурсам;- сервер БД — удаленное представление данных;- сервер приложений — удаленное приложение.Двухзвенная архитектура показана на рис. 1.1.
-
изучить основные функции и процедуры работы с файлами -
изучить технологии сетевых протоколов передачи данных -
изучить методы шифрования потоковой передачи данных -
реализовать приложение-сервер в среде MicrosoftVisualStudioна языкеVisualC# -
реализовать приложение-клиент в среде MicrosoftVisualStudioна языкеVisualC# -
реализовать библиотеку для контроля версий -
создать библиотеку для автоматического обновления версий
-
клиент и сервер должны состоять из исполняемого файла и файла-перечня установленных приложений, позволяющего быстро находить компоненты приложения и оперативно выполнить обновление
-
предусмотреть функцию ответа на запрос о последней версии приложения -
предусмотреть функцию передачи необходимого приложения клиенту.
На сегодняшний день существуют десятки СУБД, написанных для различных платформ, а также множество языков программирования и интегрированных сред разработки для создания клиентских приложений. Выбор конкретной СУБД, языковых и инструментальных средств разработки приложений зависит от ряда условий.Технология «клиент-сервер» [6] появилась относительно давно и продолжает развиваться в данное время, поэтому литература по данной тематике представлена трудами многих зарубежных и отечественных авторов. Имеется множество учебников, самоучителей по языкам программирования и созданию клиентских приложений. Также имеется множество статей, опубликованных на популярных интернет-сайтах. Вместе с этим, литературы, посвященной анализу и сравнению различных средств разработки, мало.На сегодняшний день существует множество различных средств вычислительной техники (в том числе и ЭВМ), позволяющих существенно повысить эффективность деятельности инженеров при решении различных задач. Знание основных методов и приемов программирования нужны не только будущему программисту, но и любому специалисту, использующему компьютер в своей профессиональной деятельности - это способствует развитию строгого алгоритмического мышления, пониманию основных принципов устройства и работы компьютера, умению грамотно сформулировать задачу для разработчиков прикладного программного обеспечения [5].В данной курсовой работе создавалась программа для вычислений над матрицами.В качестве среды программирования выбрана MS Visual Studio 2010 и язык программирования C# («си шарп»), изучаемый на занятиях по дисциплине Основы алгоритмизации и программирования. К достоинствам языка С# следует отнести то, что данный язык имеет 300 000 библиотек разных функций, которые работают с максимальным быстродействием. Алгоритмы и программы, которые представляют интерес для изучения и исследования, исчисляются десятками и сотнями. Одни из них решают конкретные задачи на основе известных методов, другие образуют системную основу для огромного большинства прикладных программ. К последней группе алгоритмов можно отнести методы обработки информации, представленной в виде одномерных и двухмерных массивов (матриц). Работа с матрицами - это одна из стандартных функций, возникающих в процессе решения задач самого различного характера.
На сегодняшний день математическое программирование - важная составляющая всего программирования. Большие и сложные вычисления благодаря простым программам становятся простыми.
1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КЛИЕНТСКИХ ПРОГРАММ
1.1 Понятие и назначение клиентских программ
Понятие «клиентская программа» возникло в связи с появлением технологии «клиент-сервер». Для того, чтобы дать определение понятию «клиентская программа», необходимо рассмотреть эту технологию [7].Системы, в которых сервер выполняет только процедуры организации, хранения и выдачи клиентам нужной информации, называются системами «файл-сервер» или сетями с выделенным сервером; системы, в которых, наряду с хранением, на сервере выполняется и содержательная обработка информации, называют системами «клиент-сервер» [1].Технологии «клиент-сервер» была разработана в 80-х годах прошлого века и стала основной технологией глобальной сети Интернет.Технология клиент-сервер предусматривает наличие двух самостоятельных взаимодействующих процессов – сервера и клиента, связь между которыми осуществляется по сети. Серверами называются процессы, отвечающие за поддержку базы данных и файловой системы, а клиентами - процессы, которые посылают запрос и ожидают ответ от сервера. Клиент и сервер какого-либо ресурса могут находиться как на одном компьютере, так и на различных компьютерах, связанных сетью. Взаимодействие между клиентом и сервером осуществляется следующим образом: сервер выделяет ресурсы межпроцессорного взаимодействия, и ожидает запросы на открытие соединения. Формат запросов клиента и ответов сервера определяется протоколом.Протоколы — это стандарты, определяющие формы представления и способы пересылки сообщений, процедуры их интерпретации, правила совместной работы различного оборудования в сетях. Различают два типа протоколов в Интернет: базовые - протоколы физической пересылки сообщений между компьютерами (протоколы IP, TCP) и прикладные, отвечающие за передачу файлов (FTP), гипертекстовых сообщений (HTTP), электронной почты, протоколы передачи живого звука и другие.Преимуществами клиент-серверной технологии являются [9]:- снижение нагрузки на клиентскую часть;- высокая скорость обработки информации;- безопасность данных и защита от несанкционированного доступа;- отсутствие необходимости в системах хранения данных;- передача по сети только запросов и ответов;- масштабируемость;- обеспечение пользователей качественным интерфейсом.Благодаря этим преимуществам технология «клиент-сервер» получила большое распространение.Однако технология «клиент-сервер» имеет и ряд недостатков, среди которых – необходимость переустановки клиентских программ при изменении логики приложений, при изменении интерфейса, а также, при использовании промышленной СУБД - необходимость приобретения лицензий на рабочие места.Можно выделить три уровня функций, решаемые вычислительной сетью архитектуры «клиент-сервер» [10]:- функции ввода и отображения данных (обеспечивают взаимодействие с пользователем);- прикладные функции, характерные для данной предметной области;- функции управления ресурсами (файловой системой, базой данных и т.д.).Выполнение этих функций в основном обеспечивается следующими программными средствами:- компонент представления отвечает за пользовательский интерфейс;- прикладной компонент реализует алгоритм решения конкретной задачи;- компонент управления ресурсом обеспечивает доступ к необходимым ресурсам.Исходя из распределения выполнения этих функций между компонентами системы, выделяют двухзвенную и трехзвенную архитектуру. В двухзвенной архитектуре три вышеперечисленных базовых компонента распределяются между двумя узлами – клиентом и сервером. Двухзвенная архитектура используется в клиент-серверных системах, где сервер отвечает на клиентские запросы напрямую и в полном объеме, при этом используя только собственные ресурсы.Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры [10]:- сервер терминалов — распределенное представление данных;- файл-сервер — доступ к удаленной базе данных и файловым ресурсам;- сервер БД — удаленное представление данных;- сервер приложений — удаленное приложение.Двухзвенная архитектура показана на рис. 1.1.