Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшегопрофессионального образования
РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ЭВМ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
по дисциплине “Операционные системы”
по теме “Разработка вспомогательной системной программыв системе программирования Delphi с использованием средств WinApi”
Выполнил студент группы 742
Шипилов Д.А.
Руководитель Доц. Каф. ЭВМ
Засорин С.В.
Рязань 2010
Введение
1. Техническое задание
1.1 Основания для разработки программы
1.2 Назначение разработки
1.3 Требования к программам
1.4 Требования к надежности
1.5 Требования к программной документации
1.6 Текст задания по варианту
2. Описания разработанных программ
2.1 Общие сведения
2.2 Функциональное назначение
2.3 Описание логической структуры
2.3.1 Логическая структура программы
2.3.2 Логическая структура справочной системы
2.3.3 Создание программы-инсталлятора
2.4 Используемые технические средства
2.5 Вызов и загрузка
2.6 Входные данные
2.7 Выходные данные
3. Программа и методика испытаний
3.1 Объект испытаний
3.2 Цель испытаний
3.3 Требования к программе
3.4 Требования к программной документации
3.5 Средства и порядок испытаний
3.6 Методы испытаний
3.6.1 Тестирование программы методом белого ящика
3.6.2 Тестирование программы методом чёрного ящика
4. Эксплуатационные документы
4.1 Руководство программиста
4.1.1 Общие сведения о программе
4.1.2 Структура программ
4.1.3 Проверка программ
4.1.4 Дополнительные возможности
4.1.5 Сообщения системному программисту
4.2. Руководство оператора (пользователя)
4.2.1 Назначение и условия применения программ
4.2.2 Обращение к программам для запуска
4.2.3 Входные и выходные данные
4.2.4 Сообщения оператору
Приложение
Список литературы
В данной курсовой работе было разработано приложение осуществляющее передачу данных между копиями этого приложения с помощью потоков, а также анализ системной области рабочего. Анализ производится путём ассоциирования жёсткого диска с файлом программы и дальнейшей работы с дескриптором этого файла.
Основанием для разработки программы являлось задание для курсового проекта (вариант 21).
Содержание задания:
Разработать многопоточное приложение, выполняющее различные операции:
1)Обмен данными между двумя процессами с помощью файла проецируемого в память.
2)Анализ содержимого служебной области системного диска.
Программа служит для обмена текстовыми сообщениями между копиями этой программы, а также для анализа активных носителей, присутствующих в системе. Конкретно, происходит анализ блока параметров BIOS выбранного логического диска на носителе, и считывание и анализ таблицы разделов этого носителя.
Приложение должно удовлетворять следующим требованиям:
1) Обеспечивать указание данных для обмена в одном из процессов
2) Выполнять чтение и анализ содержимого служебной области, расшифровку её содержимого и представление результатов в виде таблицы на устройство стандартного вывода или в файле.
В данном приложении реализован способ представления результатов работы в устройстве стандартного вывода информации - мониторе.
Для удобства модификации приложения оно выполнено в виде нескольких функциональных модулей. Первая группа модулей служит для обмена данными между различными копиями приложения. Вторая группа модулей служит для считывания рабочей области системного, или какого-либо другого носителя информации. Приложение позволяет получить информацию о таблице разделов физического носителя и блоке параметров BIOS этого носителя.
Программа должна выдавать сообщения об ошибках в следующих случаях:
1)Если не удалось создать проекцию файла
2)Не удалось синхронизировать приложение с другими копиями приложения
3)Не удалось осуществить обмен данными
4) Если не введено имя при регистрации пользователя в системе
Приложение должно содержать справочную систему , включающую в себя всю необходимую информацию по работе программы.
Разработать многопоточное приложение, выполняющее операции.
1)Обмен данными между двумя процессами с помощью файлов проецируемых в память.
2)Анализ содержимого служебной области системного диска.
Исходные данные:
Для выполнения первой операции использовать прикладные программы типа простых текстовых редакторов или графических редакторов.
Имя системного диска.
Полное имя файла для вывода результатов.
Технические требования и условия:
Приложение должно выполнять следующие операции:
Обеспечивать возможность указывать данные для обмена в одном из процессов.
Выполнять чтение и анализ служебной области , расшифровку её содержимого и представление результатов в виде таблицы на устройстве стандартного вывода или в файле.
2. Описания разработанных программ
Для выполнения программы необходима ОS Windows 9x/2000/XP, а также более поздние модели такие как WindovsVista или Windows7/
Программы написаны на языке программирования ObjectPascal в среде разработки Delphi 7.
Программа предназначена для обмена данными между пользователями, работающими на одной вычислительной системе под ос Windowsна разных терминалах. Также программа осуществляет анализ служебной области системного диска (PartitionTable носителя и блока параметров Bios логического диска того же носителя )
2.3 Описание логической структуры
2.3.1 Логическая структура программы
Этап1
Работа программы начинается с запуска приложения OffClient.exe. Перед переходом на главную форму программы появляется окно регистрации (рисунок 1.).
Рисунок 1. Окно регистрации в программе.
На этом этапе возможно наступление следующих событий :
1) «Событие1» – Кнопка «Войти»;
2) «Событие2» – Кнопка «Закрыть»;
Алгоритмы обработчиков событий этой формы.
Глобальные переменные:
Form2: TForm2 – переменная класса формы, отвечающая за её состояние
formClose:boolean – булевская переменная отвечающая за проверку разрешения закрытия формы.
Также есть возможность обращаться к объекту TForm1 через подключение к модулю этой формы модуля главной формы (в рабочем каталоге приложения главный модуль имеет имя «Unit1»).
1) Описание события «Событие1»:
Выполнение обработчика начинается при нажатии кнопки «Войти».
Для успешного выполнения обработчика события «Событие1» необходимо ввести псевдоним в соответствующее поле. После нажатия на кнопку «войти» происходит проверка поля ввода псевдонима, если поле пустое , то выводится сообщение о том, что необходимо ввести псевдоним, если поле псевдонима не пустое, то специальной переменной булевского типа, которая сигнализирует о том, что форма регистрации может быть закрыта присваивается значение TRUE. После этого, происходить передача псевдонима в основную форму программы. Очистка поля Memo1 на главной форме программы. Далее происходит вызов процедуры из главного модуля программы WriteDatainMMF для оповещения других пользователей о том что подключился новый пользователь. Далее происходит закрытие данной формы и переход к основной форме программы.
Алгоритм обработки данного события представлен на схеме – (блок схема1)
Блок схема 1 Алгоритм обработки события «Событие 1»
Данный алгоритм реализует процедуру регистрации пользователя в системе под определённым именем «NICKNAME», которое он вводит в поле псевдонима. При этом программа оповещает других пользователей, которые уже зарегистрированы, о подключении ещё одного пользователя с именем «NICKNAME». После регистрации каждое отправленное сообщение будет маркировано как сообщение от определённого пользователя с именем «NICKNAME».
2) Описание события «Событие2»:
Выполнение обработчика события начинается при нажатии кнопки «Закрыть».
Алгоритм выполнения обработчика представлен на схеме «блок схема 2».