Моделирование файловой системы FAT16
Курсовая работа, 12 Апреля 2011, автор: пользователь скрыл имя
Описание работы
Целью данного проекта является наглядное моделирование работы файловой системы FAT16, которая использовалась в MS-DOS 3.31.
Содержание
ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ 4
1.1 ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ 4
1.2 ПОСТАНОВКА ЗАДАЧИ 7
2 ПРОЕКТИРОВАНИЕ 8
2.1 ВЫБОР ОПЕРАЦИОННОЙ СИСТЕМЫ 8
2.2 ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ 8
2.3 ВЫБОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРОМЕЖУТОЧНОГО УРОВНЯ 8
2.4 ВЫБОР ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ 8
3 РАЗРАБОТКА 9
3.1 ВЫБОР АРХИТЕКТУРЫ СИСТЕМЫ 9
3.2 ПОСТРОЕНИЕ ДИАГРАММ ПРЕЦЕДЕНТОВ И ПОСЛЕДОВАТЕЛЬНОСТИ 9
3.3 РАЗРАБОТКА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ 11
3.4 РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА 13
3.5 РАЗРАБОТКА АРХИТЕКТУРЫ ПРИЛОЖЕНИЯ 14
3.6 РАЗРАБОТКА АЛГОРИТМОВ РАБОТЫ ПРОГРАММЫ 16
3.6.1 Метод FileCreate_Click класса Mainform. 17
3.6.2 Метод FileDelete_Click класса Mainform. 18
4 ТЕСТИРОВАНИЕ ПРОГРАММЫ 19
4.1 ТЕСТИРУЕМЫЕ ФУНКЦИИ 19
4.2 ТЕСТИРОВАНИЕ 19
5 РУКОВОДСТВО ОПЕРАТОРА 21
5.1 НАЗНАЧЕНИЕ ПРОГРАММЫ 21
5.2 ТЕХНИЧЕСКИЕ СРЕДСТВА ДЛЯ ЗАПУСКА ПРОГРАММЫ 21
5.3 РАБОТА С ПРОГРАММОЙ 21
ВЫВОДЫ 25
ПЕРЕЧЕНЬ ССЫЛОК 26
ПРИЛОЖЕНИЕ А 27
ПРИЛОЖЕНИЕ Б 31
Работа содержит 1 файл
ПЗ.doc
— 1.29 Мб (Скачать)Прецедент «Добавление BAD кластеров» заключается в добавлении поврежденных кластеров в файловую систему. При выполнении данного прецедента попадаем в прецедент «Визуализация результата».
Прецедент «Ввод данных с клавиатуры» заключается в вводе соответствующих значений в зависимости от прецедента из которого был осуществлен переход. При выполнении данного прецедента выполняется переход в один из трех прецедентов:
- «Расположение нового файла»;
- «Удаление выбранного файла»;
- «Создание раздела».
Прецедент «Расположение нового файла» заключается в размещении файловой системой нового файла в разделе. При выполнении данного прецедента сразу попадаем в прецедент «Визуализация результата».
Прецедент «Удаление выбранного файла» заключается в удалении файла из текущего раздела. При выполнении данного прецедента сразу попадаем в прецедент «Визуализация результата».
Прецедент «Создание раздела» заключается в создании нового раздела для работы с файлами. При выполнении данного прецедента сразу попадаем в прецедент «Визуализация результата».
Прецедент
«Визуализация результата»
3.3
Разработка вариантов
Исходя
из анализа построенной диаграммы
прецедентов, а также функций, которые
должна выполнять программа, были предусмотрены
следующие варианты использования:
| Номер | ВИ – 01 |
| Название | Создание раздела. |
| Участники | Пользователь |
| Описание | При выполнении данного варианта использования пользователь вводит данные о размере раздела и размере кластера с помощью клавиатуры. |
| Предварительные условия | Нет. |
| Выходные условия | Параметры нового раздела переданы файловой системе. |
| Порядок действий |
|
| Альтернативный порядок действий | Нет. |
| Приоритет | Высокий. |
| Номер | ВИ – 02 |
| Название | Создание файла. |
| Участники | Пользователь. |
| Описание | При выполнении данного варианта использования пользователь вводит данные о новом файле (размер, имя, расширение) с помощью клавиатуры. |
| Предварительные условия | Заранее созданный раздел. |
| Выходные условия | Параметры нового файла переданы файловой системе. |
| Порядок действий |
|
| Альтернативный порядок действий | Нет. |
| Приоритет | Высокий. |
| Номер | ВИ – 03 |
| Название | Удаление файла. |
| Участники | Пользователь. |
| Описание | При выполнении данного варианта использования пользователь задает номер удаляемого файла с помощью клавиатуры. |
| Предварительные условия | Создан хотя бы один файл. |
| Выходные условия | Номер удаляемого файла передан файловой системе. |
| Порядок действий |
|
| Альтернативный порядок действий | Нет. |
| Приоритет | Высокий. |
| Номер | ВИ – 04 |
| Название | Добавление BAD кластеров. |
| Участники | Пользователь. |
| Описание | При выполнении данного варианта использования в текущий раздел добавляются поврежденные кластеры, закрытые для записи. |
| Предварительные условия | Создан раздел. |
| Выходные условия | Файловой системой добавлены BAD кластеры. Визуализация на карте диска. |
| Порядок действий | 1. Пользователь выбирает пункт меню «Добавить BAD кластеры». |
| Альтернативный порядок действий | Нет. |
| Приоритет | Средний. |
| Номер | ВИ – 05 |
| Название | Создание раздела. |
| Участники | Файловая система. |
| Описание | При выполнении данного варианта использования файловая система создает новый раздел. |
| Предварительные условия | Выполнен ввод данных о параметрах раздела. |
| Выходные условия | Создан раздел. Визуализация на карте диска. |
| Порядок действий | 1. Пользователь подает запрос на создание раздела. |
| Альтернативный порядок действий | Нет. |
| Приоритет | Высокий. |
| Номер | ВИ – 06 |
| Название | Расположение нового файла. |
| Участники | Файловая система |
| Описание | При выполнении данного варианта использования файловая система располагает новый файл в текущем разделе. |
| Предварительные условия | Выполнен ввод данных о параметрах файла. |
| Выходные условия | Создан новый файл. Визуализация на карте диска и в списке файлов. |
| Порядок действий |
|
| Альтернативный порядок действий | Нет. |
| Приоритет | Высокий. |
| Номер | ВИ – 07 |
| Название | Удаление выбранного файла. |
| Участники | Файловая система |
| Описание | При выполнении данного варианта использования файловая система удаляет выбранный файл из текущего раздела. |
| Предварительные условия | Выполнен ввод номера файла. |
| Выходные условия | Файл удален. Визуализация на карте диска и в списке файлов |
| Порядок действий |
|
| Альтернативный порядок действий | Нет. |
| Приоритет | Высокий. |
3.4 Разработка графического интерфейса
Исходя из анализа поставленной задачи, выяснилось, что графический интерфейс разрабатываемого программного продукта должен содержать: меню, область для визуализации, область для вывода списка файлов, а также информацию о текущей файловой системе (рисунок 1.2).
Ввод входных данных выполняется с помощью дополнительных диалоговых окон.
Главное меню должно включать такие пункты как «Операции с файловой системой», «Операции с файлами» и «Выход из программы». В пункте «Операции с файловой системой» должны присутствовать такие подпункты: «Создать», «Закрыть текущую», «Добавить BAD кластеры» и «Подсветить кластер». В пункте «Операции с файлами» должны присутствовать такие подпункты «Создать», «Удалить выбранный». В области для визуализации результатов работы файловой системы должна изображаться карта текущего раздела.
Уточненный
графический интерфейс
Рисунок 3.3 – Уточненный графический интерфейс пользователя
3.5 Разработка архитектуры приложения
Исходя из анализа поставленной задачи, а так же предметной области разрабатываемого проекта, были выделены такие основные сущности как FileSystem (файловая система), GUI (интерфейс пользователя). Т.к. информация о разделе, файлах и номере файла задается через диалоговые окна, то GUI можно разбить на 4 сущности: Delete (удаление файла), FileParameters (задание параметров файла), Parameters (задание параметров раздела), Mainform (визуализация и обработка команд). Следуя принципам ООП, эти сущности можно принять за шаблоны создаваемых классов.
Класс FileSystem отвечает за хранение всех параметров файловой системы и содержит следующие поля:
- BinaryMap – массив описывающий состояние кластеров;
- ClusterSize – размер кластера;
- ClustOnFile – массив содержащий количество кластеров необходимое для каждого файла;
- Cnt – счетчик;
- Date – массив дат создания файлов;
- DecimalMap – массив со ссылками на следующие кластеры. Фактически описывает расположение файлов на диске;
- StartCluster – массив начальных кластеров файлов;
- EndCluster – массив конечных кластеров файлов;
- FileName – массив имен файлов;
- FileSize – массив размеров файлов в байтах;
- FreeSpace – оставшееся свободное место;
- IsDeleted – массив описывающий удален файл или нет;
- Map – карта диска. Представлена изображением в формате “.*bmp”;
- NumberOfCluster – количество кластеров в разделе;
- NumberOfFiles – количество файлов в разделе;
- PartitionSize – размер раздела в байтах;
- Pointer – указатель на следующий свободный кластер;
- ToDelete – переменная для передачи данных о номере удаляемого файла.
Класс Mainform отвечает за визуализацию и обработку команд и содержит следующие методы:
- FSCreate_Click – метод создающий новый раздел;
- FSClose_Click – метод закрывающий текущий раздел;
- Ld – метод инициализирующий основные массивы и переменные;
- FileCreate_Click – метод создающий новый файл;
- FileDelete_Click – метод удаляющий выбранный файл;
- Highlighter_Click – подсветка кластера;
- BADFill_Click – добавление поврежденных кластеров;
- ExitButton_Click – выход из программы.
Класс Parameters имеет отношение ассоциации с классом Mainform, а так же содержит следующий метод:
- OK_Click – метод для передачи параметров о разделе.
Класс FileParameters имеет отношение ассоциации с классом Mainform, а так же содержит следующий метод:
- NewFile_Click – метод для передачи данных о новом файле.
Класс Delete имеет отношение ассоциации с классом Mainform, а так содержит следующий метод:
- OK_Click – метод для передачи номера удаляемого файла.
Класс Cluster имеет отношение ассоциации с классом Mainform, а так содержит следующий метод:
- OK_Click – метод для передачи номера удаляемого файла.
Диаграмма
классов, с помощью которой можно
визуализировать все описанные
выше классы, методы и поля, изображена
на рисунке 3.4.
Рисунок 3.4 – Диаграмма классов разрабатываемой программы
3.6 Разработка алгоритмов работы программы
Исходя из анализа поставленной задачи, а также разработанной диаграммы классов, была выделена группа методов, работа которых является особо важной: метод FileCreate_Click класса Mainform и метод FileDelete_Click класса Mainform. Для этих методов были разработаны обобщенные алгоритмы работы.
3.6.1 Метод FileCreate_Click класса Mainform
Метод
FileCreate_Click класса Mainform, выполняет размещение
нового файла в разделе. Указатель pointer,
в начале алгоритма уже указывает на свободный
кластер. Алгоритм работы описанного метода
изображен на рисунке 3.5.