8 - Технологический раздел (Программное средство оценки надежности АСО объектов повышенной защищенности)

2018-02-16СтудИзба

Описание файла

Файл "8 - Технологический раздел" внутри архива находится в папке "Программное средство оценки надежности АСО объектов повышенной защищенности". Документ из архива "Программное средство оценки надежности АСО объектов повышенной защищенности", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве МПУ. Не смотря на прямую связь этого архива с МПУ, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "дипломы" в общих файлах.

Онлайн просмотр документа "8 - Технологический раздел"

Текст из документа "8 - Технологический раздел"

3 ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ

3.1 Технология проектирования приложения

3.1.1 Разработка структуры файлов модулей форм

В соответствии с техническим заданием программа моделирования надежности аппаратно - программных комплексов должна быть разработана под ОС Windows для использования в настольном (не сетевом) варианте.

Такие программы могут быть написаны на различных языках программирования, но в настоящее время считается наиболее целесообразным использование языков Object Pascal или C++. При этом, практически все достаточно сложные приложения создаются с использованием систем программирования. В качестве таких систем наиболее широкое применение находят системы программирования С++ Builder и Delphi.

Применение систем программирования существенно изменило технологию разработки программ. Это обусловлено внедрением «языков четвертого поколения» - 4GL (four generation languages), а также поддержки ими систем «быстрой разработки программного обеспечения» - RAD (rapid application development). В данном разделе дипломного проекта использовалась технология разработки программы с использованием системы программирования С++ Builder .

С++ Builder - одна из самых мощных систем, позволяющих на самом современном уровне создавать как отдельные прикладные программы Windows, так и разветвленные комплексы, предназначенные для работы в корпоративных сетях и Internet.

C одной стороны С++ Builder, совмещая все прогрессивные возможности визуального проектирования и методологии объектно-ориентированного программирования, представляет собой по существу - средство автоматизации программирования, позволяющего существенно упростить и ускорить процесс создания проекта, с другой – требует от разработчика знаний основных концепций и средств ОС Windows.

В процессе проектирования приложения С++ Builder автоматически создает коды головного файла проекта, коды отельных модулей и коды их заголовочных файлов. Головной файл содержит функцию WinMain (рисунок 3.1).

Рисунок 3.1 – Код головного файла проекта



Эта функция формируется автоматически, с нее начинается работа программы. Код головного файла вызывается выполнением в среде разработчика команды Project|ViwSource. функция выполняет только некоторые подготовительные операции, необходимые для начала работы. Вся дальнейшая работа приложения определяется происходящими событиями и реакцией на них объектов.

Программы строятся по модульному принципу и состоят из нескольких модулей. Все объекты компонентов размещаются в объектах – формах. Для каждой формы С++ Builder создает отдельный модуль. В данном дипломном проекте – форма одна и модуль единственный. Согласно принципам скрытия информации текст модуля разделен на заголовочный файл интерфейса, содержащий объявления классов, функций переменных и т.п. и файл реализации, содержащий описание функций. Стандартное расширение файлов реализации - .chh, заголовочных файлов – .h.

После написания программы на ее основе создан выполняемый файл (модуль). Вначале работает препроцессор, осуществляющий преобразование исходного текста в соответствии со специальными директивами препроцессора, имеющимися в исходном тексте. После завершения работы препроцессора компилятор выполняет перевод текстов модулей в машинный (объектный) код. В результате для каждого исходного файла .cpp создается объектный файл, имеющий расширение .obj. После окончания работы компилятора начинает работать компоновщик, объединяющий объектные файлы в единый загрузочный выполняемый модуль, имеющий расширение .ехе. Этот модуль запускается на выполнение.

3.1.2 Разработка технологии управления приложением

Существует несколько технологических подходов к проектированию управления приложениями в С++ Builder. В данном дипломном проекте выбрана технология на основе списка действий, управляемых специальными компонентами.

В соответствии с этой технологией разработка приложения (проекта в терминах системы программирования) включает два основных этапа, выполняемые в следующей последовательности:

1) составление первоначального (базового) списка действий, которые пользователь может выполнять с помощью данного приложения через разделы меню, инструментальные панели, кнопки и другие элементы управления. В дальнейшем этот базовый список может корректироваться - дополняться и уточняться;

2) разработка графического интерфейса пользователя.

Под действием (action) в проекте понимается реализация некоторого поведения, являющегося реакцией на поступок пользователя, такой, как: щелчок мыши, щелчок по соответствующей кнопке или на разделе меню – инициаторе действия или интерфейсном компоненте действия. Обработчики подобных стандартных действий реализованы в С++ Builder классами, наследующими базовому классу TAction.

Во избежание проблем, связанных с неоправданным дублированием кодов и снижением возможностей по модернизации и сопровождению приложения, при разработке программы в дипломном проекте выбрана технология использования компонентов, осуществляющих многоуровневое централизованное управление действиями (диспетчеризацию), в соответствии с которой сформированный список действий заносится в специальный компонент - диспетчер. Это позволяет для каждого действия задать необходимое множество свойств: надписи на соответствующих элементах управления, пиктограммы, тексты ярлычков подсказок, «горячие» клавиши и т.д.

Важным достоинством такой технологи является возможность написания индивидуального обработчика, обеспечивающего выполнение необходимого действия. При разработке приложения в дипломном проекте в качестве таких обработчиков использован модуль обработки моделей с множественным (трехкратным) выбором (одна, две или три ошибки в программе).

Наличие во всех использованных элементах свойства Action позволило сослаться в этом свойстве на одно из действий и тем самым, все свойства этого действия и обработчик, его реализующий, переносятся в данный управляющий элемент.

Для упрощения создания меню и инструментальных панелей, а также обеспечения структурирования при разработке программы в дипломном проекте использованы компоненты ActionList, ActionManagr, ActionMenuBar, ActionToolBar и CustomizeDig. Для управления отображением различных форм на мониторе выбран объект Screen.

В качестве списка в дипломном проекте реализованы:

1) указатель выбранных элементов для определения надежности;

2) указатель численных значений вероятностей элементов объекта;

3) указатель для предъявления результатной информации (рассчитанной вероятности надежности);

4) указатель разрешения процесса счета;

5) указатель завершения выполнения исследований.

Элементы, входящие в список:

- под номерами 1, 2 являются элементами для ввода исходных данных;

- под номером 3 – для отображения результатов расчета;

- под номерами 4,5 – для управления процессом.

Таким образом, технология разработки программы сведена к пошаговому выполнению следующей последовательности действий.

1. Разработка и составление списка действий, которые должны быть доступны будущему пользователю через разделы меню, инструментальные панели, кнопки и другие элементы управления.

2. Разработка списка пиктограмм (при необходимости) на кнопках в компоненте ImageList для тех нестандартных действий, которые должны быть доступны из быстрых кнопок инструментальных панелей.

3. Создание главной формы проекта и перенос на нее компоненты диспетчеризации действий: Action List или ActionManager.

4. Задание каждому действию требуемого набора характеристик: Name (имя) Caption (надпись, в которой выделяется символ быстрого доступа), ShortCut (горячие клавиши), ImageIndex (номер изображения в ImageList), Hint (тексты подсказок), HelpContext или HelpKeyword (ссылка на тему справки) и др. При этом для стандартных действий эти характеристики записываются автоматически (при необходимости их необходимо перевести на русский язык или исправить ссылки на неустраивающие стандартные изображения и комбинации горячих клавиш), а для нестандартных – заносятся программистом в процессе разработки программы. Если в приложении предусмотрена контекстная справка, то необходимо задать ссылки на соответствующие темы.

5. Написать обработчики событий для всех нестандартных действий.

6. Дальнейшие действия зависят от того, какой компонент используется в программе - ActionList или ActionManager. В дипломном проекте для написания приложения использована версия С++Builder 6, поэтому выбран компонент ActionManager, требующий выполнения следующих действий:

1) перенести на форму компонент ActionMainMenuBar – полосу главного меню и связать ее с диспетчером ActionManager. Затем из редактора ActionManager перетащить мышью на полосу меню категории разделов, которые должны входит в меню как головные разделы, или как отдельные действия;

2) в редакторе ActionManager создать новую инструментальная панель или несколько панелей. На них перетащить мышью необходимые действия.

3.2 Технология разработки графического интерфейса пользователя

3.2.1 Методика разработки графического интерфейса

Под графическим интерфейсом пользователя (Graphical User Interface – GUI) понимается тип экранного представления, при котором пользователь может выбирать команды, запускать задачи и просматривать списки файлов, указывая на пиктограммы или пункты в списках меню. Существует множество рекомендаций по разработке графического интерфейса пользователя, но все они сводятся к реализации двух основных понятий:

- интерфейс должен быть «дружественным» для пользователя (обеспечение необходимой достаточности);

- дизайн используемых окон должен соответствовать психофизиологическим возможностям человека.

В данном дипломном проекте разработка графического интерфейса осуществлена на основе алгоритма, изложенного в п.2.4 и учитывающего психофизиологические особенности человека.

В соответствии с этим алгоритмом графический интерфейс любой сложной программы должен включать следующие элементы.

1. Главное меню. Реализуется компонентом MainMenu или с помощью компонентов ActionManager или ActionMainMenuBar.

2. Инструментальную панель быстрых кнопок, дублирующих основные разделы меню. Реализуется через компонент ToolBar.

3. Контекстное меню. Реализуется компонентом PopupMenu, всплывающие при щелчке пользователя правой кнопкой мыши на том или ином компоненте.

4. Последовательность переключения фокуса управляющих элементов.

5. Клавиши быстрого доступа ко всем разделам меню и всем управляющим элементам, «горячие» клавиши для доступа к основным командам.

6. Ярлычки подсказок, всплывающие при перемещении курсора мыши над быстрыми кнопками и иными компонентами.

7. Полосу состояния, реализуемую компонентом StatusBar и используемую для развернутых подсказок и выдачи различной информации пользователю.

8. Файл справки, темы которого отображаются при нажатии клавиши F1 или при выборе пользователем соответствующего раздела меню.

9. Информацию о версии, доступную пользователю при щелчке на пиктограмме приложения правой кнопкой мыши.

10. Возможность настройки приложения и запоминания настроек, чтобы при очередном сеансе работы восстанавливались настройки, установленные предыдущем сеансе.

11. Средства установки приложения, регистрации его в Windows и удаления из Windows (для приложений, содержащих не один, а несколько файлов. Для простых программ установка, регистрация и удаление не требует специальных средств).

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

3.2.2 Основные особенности интерфейса пользователя разработанной Программы

Разработанная программа имеет одно окно и, следовательно, использована модель интерфейса одного окна – SDI.

Внешний вид окна соответствует принятому в Windows, поэтому свойство BorderStyle, определяющее общий вид окна и операции с ним имеет по умолчанию значение bsSizeable.

Окно приложения реализовано по принципу с неизменными размерами и использует стиль – BorderStyle=bsSingle, что позволяет пользователю сворачивать окно и восстанавливать его, но не позволяет разворачивать на весь экран или изменять размер окна.

Мощным средством воздействия на психику человека является цвет, поэтому использованию цветовой гаммы в дипломном проекте уделено особое внимание. Неудачное цветовое решение может привести к быстрой утомляемости пользователя, к рассеянию его внимания и возникновению частых ошибок. При выборе цвета учтены рекомендации, что цвет должен связываться с различными состояниями объектов: нормальное состояние – зеленый, аварийное – красный. Количество используемых цветов ограничено системными и правильно сочетается (нежелательно использование красного на зеленом или черном – это ведет к расфокусированию зрения). Не использовались дополнительные цвета. Для фона выбран нейтральный цвет, использующийся в большинстве приложения Microsoft. При этом учтено, что цвет не должен быть основным средством передачи информации, что яркие цвета приводят к визуальному ощущению выступающих надписей, а мягкие к их отступлению вглубь.

Выполнена и основная рекомендация – вся форма сначала реализована в черно-белом варианте, и только после завершения разработки, раскрашена с использованием только 16-ти системных цветов.

Шрифт надписей и текстов компонентов С++Builder задается свойством Font. Тип, цвет и размеры шрифта выбраны так, чтобы они соответствовали передаваемой пользователю информации.

Особое внимание уделено компоновке элементов на форме. Элементы ввода исходных данных и отображения результатной информации разделены по разным группам. В отдельную группу сведены управляющие элементы. Реализация такого разделения выполнена путем создания отдельных панелей.

Вопросы последовательности фокусировки элементов, создания подсказок и контекстно-зависимых справок в дипломном проекте не решались, как несущественные для простых программ.

В разработанной программе все действия пользователя с приложением сводятся к перемещению мыши и нажатию кнопок мыши и клавиатуры. В дипломном проекте принят стандарт общего пользовательского доступа, разработанный с учетом одного типа клавиатуры, а именно, расширенной клавиатуры фирмы IBM и различных манипуляторов «мышь».

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5168
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее