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