Реферат
ВВЕДЕНИЕ 7
1 ЗАДАЧИ СИСТЕМЫ ОБНОВЛЕНИЯ 9
1.1 Анализ предметной области 9
1.1.1 Центр обновления Microsoft Windows 9
1.1.2 Обновления Linux 10
1.2 Выбор решения 11
1.3 Выбор сетевого протокола 12
1.3.1 Протокол TCP 13
1.3.2 Протокол UDP 14
1.4 Средства разработки системы обновления 16
1.4.1 Язык программирования Си 16
1.4.2 Язык программирования C# 17
1.4.3 Средаразработки Microsoft Visual Studio 18
1.4.4 Однонаправленная хеш-функция sha256 19
1.4.5 Службы ОС Microsoft Windows 20
2 РАЗРАБОТКА СИСТЕМЫ ОБНОВЛЕНИЯ 23
2.1 Основные компоненты 23
2.2 Разработка служб 24
2.3 Разработка пользовательского приложения 30
3 ПРИМЕНЕНИЕ СИСТЕМЫ ОБНОВЛЕНИЯ 36
3.1 Регистрация и запуск служб стандартными средствами 36
3.1.1 Регистрация и запуск службы сервера 36
3.1.2 Регистрация и запуск службы клиента 38
3.2 Регистрация и запуск служб средствами пользовательского приложения 41
3.3 Работа с пакетами обновлений 47
ЗАКЛЮЧЕНИЕ 53
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 55
ПРИЛОЖЕНИЕ А: ЛИСТИНГИ ПРОГРАММ 56
Приложение А.1 - Файл «UpdateServiceClient.c 56
ПриложениеА.2 - Файл «UpdateServiceServer.c 69
Приложение А.3 - Файл «sha256.c 78
Приложение А.4 - Файл «MainForm.cs 80
Приложение А.5 - Файл «ServiceManage.cs 85
ПРИЛОЖЕНИЕ Б: ПРЕЗЕНТАЦИЯ 97
Компьютер работает по заданному алгоритму, называемому программой. Совокупность программ или несколько программ, объединенных в один программный продукт, представляют собой программное обеспечение (ПО). Программное обеспечение является неотъемлемой частью компьютера и обеспечивает безошибочную его работу. Сам компьютер не обладает знаниями ни в одной области применения, все знания сосредоточены в выполняемых на компьютере программах.
Программное обеспечение современных компьютеров включает в себя множество программ - от игровых до научных. Все они различаются по сложности, принципу работы, назначению и другим критериям, но неизменным остается одно - с течением времени программные продукты устаревают. Для них становится необходимым устранение выявленных ошибок, расширение функциональности и обеспечение нового уровня безопасности использования. Таким образом, программные продукты через какое-то время после установки должны обновляться.
Обновления выпускаются длярешения следующих задач:
1) устранения уязвимостей программного продукта;
2) обеспечения совместимости со вновь появившимися на рынке программными продуктами или комплектующими;
3) оптимизации программного кода;
4) повышения производительности;
5) внедрения в программный продукт новых функциональных особенностей.
Обновления представляют собой дополнения к программному обеспечению, предназначенные для предотвращения или устранения проблем и улучшения работы компьютера. Обновления безопасности способствуют защите от новых и существующих угроз для конфиденциальной и устойчивой работы компьютера.
Поэтому разработка системы автоматизированного обновления программного обеспечения является актуальной и важной задачей.
В данной работе была реализована система автоматического
обновления программного обеспечения, позволяющая загружать и
устанавливать пакеты обновлений для различных типов ПО, а также
оповещать пользователя о наличии важных обновлений.
Поставленные цели были выполнены. Все задачи были решены в
полном объеме.
В данной работе:
1) рассмотрены примеры существующих систем обновления,
определены их характерные черты и особенности;
2) выполнен анализ требований к разрабатываемой системе, обоснован
выбор методов и средств разработки компонентов системы обновления;
3) рассмотрены методы и средства, используемые при разработке
компонентов системы обновления, дан краткий анализ этих методов и
средств;
4) приведено описание хода разработки каждого компонента системы
(служба клиента, служба сервера, пользовательское приложение);
5) рассмотрена работа каждого компонента системы, а также процессы
установки и функционирования этих компонентов;
Возможно дальнейшее развитие системы автоматического обновления,
которое заключается в расширении ее функциональных возможностей, таких
как:
1) внедрение контроля версий пакетов;
2) добавление автоматической установки пакетов;
3) расширение списка поддерживаемых сценариев установки для
различных типов пакетов.
Вся работа выполнена с использованием языков программирования Си
и C# в среде разработки MicrosoftVisualStudio.Получены навыки
программирования и разработки служб на языке Си, разработки приложений
на языке C#.Также получены навыки по выбору архитектуры приложения и
по разработке приложений, имеющих сложную структуру модулей и
состоящих из множества компонентов.
1. Джонсон М. Харт Системное программирование в среде Windows. 2005
2. Рихтер Дж. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows. - М.: «Питер», 2001.
3. Шилдт Г. «С#4.0: полное руководство» 2011г.
4. Стиллмен Э. «Изучаем C#» 2014.
5. Макки А. Введение в .NET 4.0 и VisualStudio 2010 для профессионалов = Introducing .NET 4.0: withVisualStudio 2010. — М.: «Вильямс», 2010. — 416 с.
6. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии. М.: Гелиос АРВ, 2001. 479 с.
7. MSDN.
8. http:// samag.ru/archive/article/30