- •Содержание Введение
- •Объектно-ориентированный анализ предметной области
- •Технические требования к системе в терминах классов и взаимодействия
- •Объектно-ориентированное проектирование и программирование
- •Анализ работы программы
- •Объектно-ориентированный анализ предметной области
- •Дисциплины обслуживания
- •Технические требования к системе в терминах классов и взаимодействия
- •Отождествление действующих субъектов
- •2.3. Уточнение и присвоение имен прецедента
- •4. Объектно-ориентированное проектирование и программирование
- •Проектирование вывода
- •Проектирование ввода
- •Проектирование обработки данных
- •4.6. Построение модели
- •4.6.1. Разработка программы
- •4.6.2. Разработка пользовательского интерфейса
- •Форма 1
- •Форма 2
- •5. Анализ работы программы
- •Заключение
-
Технические требования к системе в терминах классов и взаимодействия
Данную систему предполагается использовать в учебном процессе для наглядности при рассмотрении различных алгоритмов обработки процессов. Она позволяется создать необходимую систему для моделирования (многопроцессорная система, без учета ввода-вывода), ввести необходимые параметры процессов и получить результаты для анализа и сравнения. Используем технологию прецедентов для определения возможного применения системы.
-
Отождествление действующих субъектов
-
Основные пользователи данной системы - учащиеся и преподаватели.
-
Не предусматривается использование данной системы какой-нибудь другой системой.
-
Проектируемая система не будет связана с другими системами. Она представляет собой самостоятельный программный продукт. Также в системе не предусматривает использование баз данных.
-
Система не должна реагировать на события, не связанные с пользователем. Проектируемая система будет использоваться как учащимися, так и преподавателями, но различий в полномочиях этих групп пользователей нет, поэтому их можно объединить в один субъект «Пользователь».
-
СОЗДАНИЕ ПРЕДВАРИТЕЛЬНОГО СПИСКА ПРЕЦЕДЕНТОВ
Пользователь может следующее:
-
Вводить данные о системе, проектировать систему.
-
Выбирать алгоритм обслуживания процессов.
-
Определять характеристики обслуживаемых процессов.
-
Просматривать результаты обработки процессов.
-
Просматривать диаграмму обслуживания процессов.
-
Сохранять полученные результаты и диаграмму.
Теперь рассмотрим объекты, с которыми имеет дело пользователь. В данной системе это информация о процессах, данные о процессорах, результаты работы системы.
Обработка полученных данных и получение конечных результатов производится самой системой. Таким образом, система делает следующее:
-
Создает очередь процессоров (если их несколько).
-
Передает процессорам данные о времени кванта, времени, затрачиваемом на смену контекста.
-
Создает очередь процессов и передает каждому данные о времени прихода в систему, о времени обработки, приоритет.
-
Запускает обработку по выбранному алгоритму. Получает результаты обработки.
2.3. Уточнение и присвоение имен прецедента
-
Пользователь может осуществить ввод данных о системе (процессорах).
-
Пользователь может осуществить выбор требуемого алгоритма.
-
Пользователь может осуществить ввод данных о процессах.
-
Пользователь может получить результаты обработки.
-
РАЗДЕЛЕНИЕ ПРЕЦЕДЕНТОВ
-
Пользователь может определить количество процессоров в системе.
-
Пользователь может определить время смены контекста.
-
Пользователь может определить время кванта.
-
Пользователь может определить количество приоритетов.
-
Пользователь может определить количество процессов в системе.
-
Пользователь может определить время прихода каждого процесса.
-
Пользователь может определить время обслуживания каждого процесса.
-
Пользователь может определить приоритет каждого процесса.
-
Пользователь может осуществить выбор требуемого алгоритма.
-
Система может создать очередь процессоров.
-
Система может передать сведения о времени кванта, времени, затрачиваемом на смену контекста процессорам.
-
Система может создать очередь процессов.
-
Система может передать сведения о времени прихода в систему, о времени обработки, приоритете процессам.
-
Пользователь может получить результаты обработки.
-
ОБЪЕДИНЕНИЕ ПРЕЦЕДЕНТОВ
-
Пользователь может определить количество процессоров в системе.
-
Пользователь может определить параметры системы (время смены контекста, время кванта, количество приоритетов).
-
Пользователь может определить количество процессов в системе.
-
Пользователь может определить параметры процессов (время прихода, время обслуживания, приоритет).
-
Пользователь может осуществить выбор требуемого алгоритма.
-
Система может инициализировать очередь процессоров.
-
Система может инициализировать очередь процессов.
-
Пользователь может получить результаты обработки.
-
КОНЕЧНЫЙ СПИСОК ПРЕЦЕДЕНТОВ
Пользователь
-
Определение количества процессоров в системе.
-
Определение параметров системы.
-
Определение количества процессов в системе.
-
Определение параметров процессов.
-
Определение алгоритма.
-
Получение результатов работы системы. Система
-
Инициализация очереди процессоров.
-
Инициализация очереди процессов.
-
-
ОПРЕДЕЛЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ СОБЫТИЙ ДЛЯ КАЖДОГО ПРЕЦЕДЕНТА
-
Определение количества процессоров в системе.
Ввод необходимого количества процессоров в систему (числом). Предпосылки - не требуются. Последствия - создание очереди процессоров. Альтернатива: окончание работы с системой.
-
Определение параметров системы. Ввод необходимых параметров системы, Предпосылки - не требуются. Последствия - инициализация процессоров. Альтернатива: окончание работы с системой.
-
Определение количества процессов в системе.
Ввод необходимого количества процессов в систему (числом). Предпосылки: инициализация системы, Последствия: создание очереди процессов. Альтернатива: окончание работы с системой.
-
Определение параметров процессов. Ввод необходимых параметров процессов.
Предпосылки: инициализация системы, создание очереди процессов. Последствия: инициализация процессов. Альтернатива: окончание работы с системой.
-
Определение алгоритма. Выбор алгоритма обслуживания.
Предпосылки: инициализация системы, инициализация процессов. Последствия: обработка данных.
Альтернатива: обработка по алгоритму FIFO (по умолчанию).
-
Получение результатов работы системы. Просмотр результатов работы системы. Предпосылки: определение алгоритма, обработка данных. Последствия: получение результатов.
Альтернатива: инициализация системы с другими параметрами.
-
Инициализация очереди процессоров,
Получение данных о процессорах, Создание очереди процессоров, Передача процессорам данных. Предпосылки - ввод данных о процессорах. Последствия - инициализация системы. Альтернатива - нет.
-
Инициализация очереди процессов.
Получение данных о процессах, Создание очереди процессов, Передача процессам данных. Предпосылки - ввод данных о процессах. Последствия - инициализация процессов. Альтернатива - нет.
3.8. ДИАГРАММА ПРЕЦЕДЕНТОВ
3.9.
ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТИ СОБЫТИЙ
3.10.
ДИАГРАММА СОТРУДНИЧЕСТВА
3.11.
КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ
3.12. ОБЩИЕ ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
-
Поскольку система создается в учебных целях, то необходимо, чтобы она представляла простой и удобный графический интерфейс (GUI - Graphical User Interface).
-
Пользователю будет предложено ввести параметры системы, в которой он хочет работать: количество процессоров в системе, время, затрачиваемое на переключения контекста, количество приоритетов и время кванта (для алгоритма RoundRobin). После чего происходит инициализация данной системы.
-
Далее ему будет необходимо определить алгоритм, по которому будут обрабатываться процессы. В системе будет реализовано четыре основных алгоритма: FIFO, LIFO, SJF и RoundRobin, особенности которых уже были описаны выше. Для удобства работы с системой предполагается, что у пользователя будет возможность изменить алгоритм обработки вплоть для начала работы системы (нажатия специальной клавиши), т.е. даже введя данные о системе и процессах, пользователь может изменить алгоритм. Он также может изменить алгоритм обработки и после начала обработки, но в этом случае данные о предыдущей обработке будут утеряны.
-
Затем пользователь должен будет ввести параметры процессов для обработки. В системе предполагается использовать следующие параметры: время до начала процесса (или время прихода процесса в систему, в секундах, отсчет времени ведется от начала инициализации), время, необходимое для обработки процесса, приоритет процесса. Следует заметить, что приоритет используется лишь в алгоритме RoundRobin, но вводить его необходимо даже при работе с другими алгоритмами. Это связано с тем, что программа предполагает работу с различными алгоритмами без потери данных о системе и введенных процессах. Поэтому если пользователь после обработки алгоритмом FIFO, LIFO или SJF захочет посмотреть на результат работы алгоритма RR, а приоритет не будет введен, данная обработка не будет иметь смысла.
-
После ввода всех необходимых сведений о системе пользователь может начать обработку процессов по выбранному алгоритму.
-
После обработки на экран будут выведены сведения о результатах. Также предполагается вывод диаграммы обслуживания процессов.
-
Для удобства анализа и сравнения должна быть возможность сохранения полученных данных в файл.
-
После завершения обработки пользователь может изменить алгоритм обработки (для сравнения полученных данных). При изменении алгоритма обработки результаты прошлой обработки теряются. Для того чтобы пользователь мог сравнить полученные результаты, предусматривается запись в файл (см. предыдущий пункт). Пользователь также может изменить параметры системы, при этом данные о процессах не теряются и пользователь может по полученным результатам определить оптимальные параметры системы. При изменении данных о процессах не меняются все остальные данные, т.е. подобрав необходимую систему, есть возможность проверить ее на различных очередях.