- •128 М осковский Государственный Институт Электронной Техники (Технический Университет)
- •«Разработка программного модуля для удаленного администрирования и мониторинга raid-системы»
- •Содержание
- •Введение
- •Раздел 2 является технологическим разделом и содержит информацию о методике создания данного программного продукта и приемах его отладки.
- •Раздел 3 содержит организационно-экономическую часть дипломного проекта, в которой проводится расчет стоимости проекта и планирование разработки;
- •Раздел 4 посвящен вопросу организации рабочего места программиста и пользователя пк.
- •Специальный раздел
- •Исследовательская часть
- •Постановка задачи
- •Обзор программных продуктов для управленияRaid-системой
- •Gam(GlobalArrayManager)
- •Информационные потребности пользователя
- •Конструкторская часть
- •Требования к системе
- •Состав выполняемых функций
- •Требования к надежности
- •Условия эксплуатации и требования к составу и параметрам технических средств
- •Требования к информационной и программной совместимости
- •Требования к транспортировке и хранению
- •Специальные требования
- •Структурная схема работы программы
- •Структура входных и выходных данных
- •Общие схемы алгоритмов работы программы
- •Общая схема алгоритма работы модуля Менеджер
- •Схемы алгоритмов модуля Агент
- •Поиск подключенных raid-контроллеров
- •Мониторинг raid-массива
- •Формат данных модуля Агент
- •Формат ответов контроллера acs-9900
- •Выбор платформы проектирования
- •Реализация программного модуля Агент
- •Реализация модуля для поиска подключенных raid-контроллеров
- •Реализация сервера Агент
- •Общий вид модуля Менеджер
- •Установка программного обеспечения
- •Конфигурация технических средств
- •Минимальные технические характеристики по
- •Рекомендуемые технические характеристики по
- •Методика и результаты испытаний программы
- •Общие приемы тестирования
- •Тестирование работоспособности raid-контроллера
- •Технологический раздел
- •Объектно-ориентированное программирование
- •Объектно-ориентированное проектирование
- •Этапы разработки программного обеспечения
- •Постановка задачи
- •Составление проекта
- •Алгоритмизация
- •Программирование
- •Препарация
- •Трансляция
- •Отладка
- •Оформление программы
- •Отчет о работе
- •Модернизация
- •Методика испытаний программы и результаты экспериментальной проверки
- •Отладка и общие принципы тестирования
- •Алгоритмическое тестирование
- •Функциональное или аналитическое тестирование
- •Содержательное тестирование
- •Особенности среды программирования
- •Тестирование программы и его результаты
- •Организационно-экономический раздел
- •Планирование разработки
- •Сетевое планирование
- •Создание структурной таблицы работ
- •Структурная таблица работ
- •Проанализированная структурная таблица работ
- •Упорядоченная структурная таблица работ
- •Сетевой график
- •Расчет затрат на создание программного продукта
- •Метод для расчета затрат на создание пп
- •Расчет затрат на разработку пп
- •Результаты расчета коэффициентов изменения трудоемкости
- •72 408 Рублей,
- •Расчет затрат на изготовление опытного образца пп
- •4 972 Рубля,
- •Затраты на технологию и программные средства автоматизации разработки пп
- •Затраты на эвм, используемые для автоматизации разработки пп
- •Итоговые суммарные затраты на разработку по
- •Итоговые суммарные затраты на разработку по
- •Раздел по производственной и экологической безопасности
- •Вредные и потенциальноопасные факторы на месте разработчика по
- •Нерациональное освещение
- •Расчет общего освещения
- •Электробезопасность
- •Требования по пожарной безопасности
- •Уровень шума
- •Защита от вредных излучений
- •Микроклимат в компьютерном зале
- •Параметры воздушной среды
- •Психофизиологические факторы
- •Заключение
- •Список литературы
- •Приложения Приложение 1. Текст программного кода
- •Приложение 2. Спецификация контроллераAsc-9900
- •Приложение 3. Руководство пользователя
- •Встроенная система помощи
- •Приложение4. Интерфейсные окна программы
Объектно-ориентированное проектирование
Рассмотрим принципы объектно-ориентированного проектирования, которое основано на объектно-ориентированной модели. Обычно процессы программирования и проектирования, отделенный от процесса управления (или микропроцесс в определении Гради Буча), состоит из следующих видов деятельности:
выявление классов и объектов на данном уровне абстракции;
выявление семантики этих классов и объектов;
выявление связей между этими классами и объектами;
спецификация интерфейса и реализация этих классов и объектов.
При этом в микропроцессе перемешаны фазы анализа и проектирования. Рассмотрим эти процессы более подробно.
Цель выявления классов и объектов состоит в том, чтобы найти границы предметной области. Кроме того, эта деятельность является первым шагом в продумывании объектно-ориентированной декомпозиции разрабатываемой системы. Этот шаг в анализе применяется, когда обнаруживается задача абстракции, составляющие словарь предметной области. Такие действия необходимы при проектировании, когда изобретаются новые абстракции, которые являются составными частями решения.
Переходя к программной реализации, применяется процедура выявления, чтобы изобрести простые абстракции, из которых строятся более сложные, и обнаружить общие черты существующих абстракций с целью упростить архитектуру системы. Результатом выявления классов и объектов является обновляющийся по мере развития проекта словарь данных. Словарь данных – центральное хранилище относящихся к системе абстракций.
После выполнения этого шага можно переходить к выявлению семантики классов и объектов, то есть определению поведения и атрибутов каждой абстракции. На стадии анализа этот шаг применяется для распределения обязанностей между различными видами поведения системы. На стадии проектирования эта процедура позволяет распределить обязанности между частями реализации. При реализации следует продвигаться от описаний ролей и обязанностей в свободной форме к спецификациям конкретных протоколов для каждой абстракции и, в конечном счёте, - к точным сигнатурам (совокупностям признаков) каждой операции. Результатом становится уточнение словаря данных. В ходе проектирования можно выработать спецификации к каждой абстракции, перечисляя имена операций в протоколе каждого класса. Следующим шагом станет создание интерфейсов этих классов на языке реализации. Примером могут служить заголовочные файлы .hв С++. Также составляются диаграммы объектов и диаграммы взаимодействий, передающие семантику сценариев, создаваемых в ходе микропроцесса.
Целью выявления связей между классами и объектами – уточнить границы каждой ранее обнаруженной в микропроцессе абстракции и опознать все сущности, с которыми она взаимодействует. Это действие формализует концептуальное физическое размежевание между абстракциями, начатое на предыдущем шаге. Этот шаг применяется в анализе для спецификации связей между классами и объектами (включая некоторые важные отношения наследования и агрегации). Существование ассоциации подразумевает некоторую семантическую зависимость между двумя абстракциями и возможность перехода от одной сущности к другой. Этот этап проектирования нужен, чтобы специфицировать взаимодействия, которые формируют механизмы архитектуры и группирование классов в категории и модулей в подсистемы. Результатами этого шага являются диаграммы классов, объектов и модулей.
Реализация классов и объектов доводит существующие абстракции до уровня, достаточного для обнаружения новых классов и объектов, необходимых на следующем уровне абстракции. При проектировании с целью реализации становится создание осязаемого представления абстракций путём выпуска последовательных исполнимых версий системы (макропроцесс). Этот шаг намеренно выполняется позже всех, так как макропроцесс концентрирует внимание на поведении и откладывает решения о представлении. На этом шаге принимается решение о представлении каждой абстракции и об отображении каждой абстракций в физическую модель. В начале процесса разработки формулируются тактические решения о представлении в форме уточненных спецификаций классов. Решения, имеющие общий интерес, или подходящие для повторного использования, документируются на диаграммах классов (показывающих их статическую семантику), состояний или взаимодействия (показывающих их динамическую семантику). Когда становится ясно, на каком языке реализовывать проект, начинается программирование в псевдокоде или исполнимом коде. Для раскрытия связей между логическим и физическим уровнем, вводятся диаграммы модулей, которые затем можно использовать, чтобы показать отображение архитектуры в программную реализацию. С реализацией связано одно главное действие – выбор структур и алгоритмов, которые представляют семантику определённых ранее микропроцессом абстракций. В отличие от первых трех стадий микропроцесса, сосредоточенных на внешних представлениях абстракций, этот этап акцентирует внимание на их внутреннем представлении. На стадии анализа результаты этого действия относительно абстрактны, поскольку разработчик не столько обеспокоен реализацией сколько заинтересован в отыскании новых абстракций, которым можно делегировать обязанности. На стадии проектирования, особенно на поздних стадиях проектирования классов, нужно переходить к практическим решениям.