Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Saga / diplom_2005-06-02 / Пояснительная записка.doc
Скачиваний:
70
Добавлен:
16.04.2013
Размер:
3.56 Mб
Скачать
        1. Тестирование работоспособности raid-контроллера

Специально для тестирования работоспособности RAID-контроллера было разработано приложения, с помощью которого можно было отправлять команды дляRAIDи смотреть полученные ответы. Общий вид данного приложения показан на рисунке 1.15.

Рис. 1.15. Общий вид приложенияTester

Данное приложение значительно облегчило написание кода модуля Агент, так как было видно, какие ответы получаетАгентна свои запросы.

    1. Выводы

В исследовательской части данного раздела предоставлен обзор программного обеспечения других компаний, а также произведен анализ потребностей пользователя – администратора RAID-массивов.

В конструкторской части представлены технические требования к программному продукту, описаны алгоритмы работы ПО GUIRAID, а также модуляАгент, приведена структура входных и выходных данных. Представлены результаты работы программы и описаны методы тестирования и отладки программного обеспечения.

Технологический раздел

к дипломному проекту на тему:

«Разработка программного модуля для удаленного администрирования и мониторинга RAID-системы»

Дипломант:

Кузнецов А.А. /__________/

Консультант по технологическому разделу: доцент кафедры ИПОВС

Федотова Е.Л. /__________/

  1. Технологический раздел

В этом разделе приводятся описания технологий, использованных в процессе разработки программного продукта.

Это в первую очередь принципы объектно-ориентированного программирования. Особое внимание уделено методам и этапам создания программных продуктов и методам отладки, как инструментам создания надёжных программных продуктов.

    1. Объектно-ориентированное программирование

При написании программы использовался объектно-ориентированный подход. Преимущества такого метода очевидны:

  • объектная модель позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования;

  • использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования не только программ, но и проектов, что, в конце концов, ведет к созданию среды разработки. Объектно-ориентированные системы часто получаются более компактными, чем их не объектно-ориентированные эквиваленты. А это означает не только уменьшение объема кода программ, но и удешевление проекта за счет использования предыдущих разработок, что дает выигрыш в стоимости и времени;

  • возможность развиваться постепенно, не приводит к полной переработке программы даже в случае существенных изменений исходных требований;

  • риск при разработке сложных систем уменьшается, поскольку интеграция заложена ещё при проектировании, а не производится в конце разработки.

Основой объектно-ориентированного программирования является объектная модель. Она имеет 4 главных элемента:

  • абстрагирование;

  • инкапсуляция;

  • модульность;

  • иерархия.

Кроме главных, имеются ещё 3 дополнительных элемента:

  • типизация;

  • параллелизм;

  • сохраняемость.

Рассмотрим эти составляющие подробнее.

Следуя [2], абстракция выделяет существенные характеристики некоторого объекта, отличающие его от других видов объектов и, таким образом, чётко определяет его концептуальные границы с точки зрения наблюдателя. Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности от несущественных. Важен принцип наименьшего удивления, который гласит, что абстракция должна охватывать всё поведение объекта, но не больше и не меньше, и не привносить сюрпризов или побочных эффектов, лежащих вне сферы её применения.

Инкапсуляция – это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение; инкапсуляция служит для того, чтобы изолировать контрольные обязательства абстракции от их реализации.

Правильное сочетание инкапсуляции с абстрагированием позволит, к примеру, легко переписать внутреннее устройство объекта, не затрагивая интерфейс.

Модульность – это свойство системы, которая была разложена на внутренние связные, но слабо связанные модули. Этот принцип дополняет абстрагирование и инкапсуляцию, проводя границы между абстракциями.

Иерархия – это упорядочивание абстракций по уровням. Примером иерархии является наследование – важнейший инструмент объектно-ориентированного программирования. Второй важной разновидностью иерархии является агрегация, определяющая отношение “partof”.

Понятие типизации взято из теории абстрактных типов данных. Типизация – это способ защититься от использования объектов одного класса вместо другого, или, по крайней мере, управлять таким использованием.

Параллелизм уделяет главное внимание абстрагированию и синхронизации процессов. Можно сказать, что параллелизм – это свойство, отличающее активные объекты от пассивных. Почти все современные языки программирования имеют средства для управления нитями и потоками.

Ну и наконец, последний из элементов объектно-ориентированной модели - сохраняемость. Она представляет из себя способность объекта существовать во времени, переживая породивший его процесс, и (или) в пространстве, перемещаясь из своего адресного пространства.

Соседние файлы в папке diplom_2005-06-02