2.3. Синтез общей структурной схемы программы


Таким образом переходя к синтезу структурной схемы программы можно условно разбить на несколько логических блоков. Каждый из которых представляет собой набор привязанных к объектам подпрограмм, функций и данных (рис. 2.2).

Основным звеном программы является главная форма программы (Main_Form.frm) представляющая собой главную интерфейсную часть программы. В которой происходят все преобразования проекта. Проектом, в контексте данной программы, называется совокупность документов и функций OLE Automation находящихся в рабочей области программы в определенном взаимодействии друг с другом. Над которыми могут производится определенные действия по созданию, редактированию, удалению, запуску функций и пр. Приводящие к изменению как самого проекта в целом, так и просто документов входящих в проект.

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

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

Дочерними формами по отношению к главной форме являются, форма создания и редактирования свойств документов (MakeDocForm.frm), форма создания и редактирования свойств функций OLE Automation (MakeFunkForm.frm), форма создания и изменения регистрационных данных приложений поддерживающих OLE Automation или для которых необходима эмуляция этой поддержки (MakeDocForm.frm).

Форма создания и редактирования свойств документов содержит все необходимые элементы управления (объекты) для ввода и изменения данных о документе, а также его визуальном представлении в проекте (то есть его иконки).Также в этой форме содержится программный код обрабатывающий эти элементы управления и вносящий изменения в глобальную структуру данных о документах в проекте. Эта форма представляет собой окно под названием “Свойства документа”.

Форма создания и изменения регистрационных данных приложений также представляет собой окно под названием “Регистратор приложений” и также содержит в себе ряд объектов (элементов управления) и программный код обрабатывающий эти элементы управления для изменения данных о зарегистрированных приложениях которые могут участвовать в проекте в качестве непосредственных обработчиках документов, а также в виде функции OLE Automation.

Форма создания и редактирования свойств функций OLE Automation представляет собой окно “Свойства функции” и содержит элементы управления позволяющие редактировать свойства функции OLE Automation. Форма также содержит программный код модифицирующий глобальные данные о функциях в проекте.

Все глобальные данные, а также подпрограммы необходимые для работы большинства блоков программы и не входящие в какую либо форму содержатся в специальном модуле (MainModule), который не содержит в себе никаких объектов и вообще визуально не определяется. Он включает в себя только программный код определяющий всю структуру данных и хранит в себе данные о регистрации приложений, свойств функций и документов. А также данные необходимые для нормальной работы программы в целом. Как то, различные переменные по средством которых производится обмен данными между различными формами и окнами внутри самой программы. А также модуль включает в себя подпрограммы и функции необходимые для всего проекта в целом. Например функции открытия проекта, сохранения проекта на носителе информации и т.д., которые не входят в какую-либо форму и могут вызываться из любой части программы.

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

Кроме форм и модуля в структуру программы входит основной блок программного кода обеспечивающий взаимодействие с механизмом OLE Automation операционной системы Windows 95. Как раз в этом блоке осуществляется выполнение функций OLE Automation, на него легла основная часть формирования сообщений для Windows и приложений, а также расшифровка ответных сообщений системы и программ.

2.4. Разработка структурной схемы взаимодействия программы с механизмом связывания и внедрения


Для более качественной разработки алгоритма взаимодействия программы с механизмом связывания и внедрения объектов Windows 95, необходимо рассмотреть функциональную схему работы OLE и системы OLE Automation (рис 2.3).

В общем виде структура взаимодействия операционной системы и приложений состоит из трех частей:

OLE Server - OLE сервер это приложение обеспечивающее некоторое количество функций

OLE Client (Controller) - OLE клиент (контроллер) является приложением которое пользуется функциями OLE Automation OLE клиента

Windows 95/NT является посредником между клиентами и серверами OLE обеспечивая их взаимодействие через ряд стандартных потоков и буферов обмена информацией OLE.

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

Windows 95 являясь посредником во всех операциях между клиентом и сервером, выполняет координирующую роль администратора при передаче данных. А также именно Windows хранит информацию о всех интерфейсах серверов, здесь существует структурированное хранилище для этих целей. Также Windows выполняет регистрацию этих интерфейсов и отвечает на запросы IID от клиентов. Кроме того Windows содержит буфер обмена информацией между клиентом и сервером. Блок OLE Automation производит непосредственное соединение сервера и клиента и обеспечивает их взаимодействие.

Данные могут передаваться через буфер обмена Widows, а также непосредственно между методами и объектом, но этот способ считается не корректным поскольку не позволяет перемещать OLE объект.

OLE клиент (контроллер) должен, кроме естественно вызовов самих методов OLE, обеспечивать корректную обработку всех сообщений в обратном направлении (от сервера), Клиент состоит из трех взаимосвязанных частей: блок запроса IID для интерфейса объекта, блок обработки ОLE документа и самого OLE объекта. Первая часть выполняет только подготовительную функцию, она запрашивает IID интерфейс для конкретного объекта у Windows 95, получает этот интерфейс и передает его дальше во второй блок. Во втором блоке проиходит сама обработка документа OLE объекта. Именно в этом блоке обрабатываются такие события как активация извне и активация изнутри. Применяя при этом соответствующие методы обработки этих событий по полученным от первого блока интерфейсы. По этим интерфейсам блок производит активизацию методов применяя либо уже заранее известную информацию о параметрах методов и ответной реакции методов на их активацию, либо полученную через интерфейс эту же информацию. Таким образом воздействуя на объект и являясь посредником при передаче информации между методами сервера и объектом.

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

Таким же образом как и структура OLE клиента, должна выглядеть структурная схема той части контроллера автоматически связываемых объектов, которая отвечающая за взаимодействие с механизмом связывания и внедрения Windows 95.

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

Кроме того схема должна включать в себя блок эмуляции OLE для приложений не предназначенных изначально для OLE взаимодействия.

Таким образом произведен синтез структурной схемы взаимодействия с механизмом связывания и внедрения (OLE).

Разработка структуры данных

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

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

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

Данные о регистрированных приложения состоят из следующих частей:

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

описание - текст описывающий работу приложения, составляется пользователем;

имя файла - указатель на запускаемый файл приложения для работы с ним блока OLE Automation;

имя приложения - собственное расширенное имя приложения указываемое для удобства работы с программой;

маска файлов - одно или несколько расширений имен файлов документов с которыми может работать зарегистрированное приложение.

Данные о документах находящихся в проекте хранятся в следующей структуре:

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

описание - текст описывающий документ, составляется пользователем;

имя файла - путь и имя файла документа;

время создания документа;

имя приложения - имя приложения которое обрабатывает этот документ (выбирается из зарегистрированных в программе приложений или стандартный обработчик Windows документа с таким расширением) ;

иконка - путь и имя иконки для визуального представления документа в окне проекта;

подпись - текст под иконкой документа в окне проекта;

координаты документа в окне проекта;

указатели на исходящие из документа функции OLE в проекте.

Наиболее объемными являются данные о функциях OLE содержащихся в проекте, состоящие из следующих переменных:

глобальный номер функции - представляет собой сквозную нумерацию всех когда либо созданных функций не зависящею от количества созданных и удаленных функций на данный конкретный момент времени;

описание - текст описывающий функцию, составляется пользователем;

имя файла - путь и имя файла функции;

время создания функции;

функция автомата - вызываемый метод;

имя приложения - имя приложения которое эту функцию (выбирается из зарегистрированных в программе функций);

иконка - путь и имя иконки для визуального представления функции в окне проекта;

подпись - текст под иконкой функции в окне проекта;

координаты функции в окне проекта;

флаг автоматического выполнения функции в случае изменения любого входящего в из функцию документа;

флаг запроса пользователя перед выполнением функции;

указатели на исходящие функции OLE в проекте;

указатели на входящие функции OLE в проекте;

указатели на исходящие из функции документы;

указатели на входящие в функцию документы;

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

Четвертая общая часть состоящая из различных переменных необходимых для работы всей программы состоит из следующего:

различные флаги устанавливаемые и снимаемые различными функциями и подпрограммами для разделения ресурсов выделенных программе;

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

переменные обмена информации (определяющие состояние буфера обмена и структуру данных находящихся в буфере обмена).

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

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

Инструкция пользователя по работе с программой

Перед запуском программы контроллера программу необходимо инсталлировать ее на жесткий диск. Это может выполнить как специальная программа инсталляции, так и сам пользователь. Нужно установить саму программу в специальную директорию, а специальные DLL-файлы добавить в директорию с системой Windows. Процесс это сложный для начинающего пользователя. По этому рекомендуется доверить его программе инсталляции.

После установки программы на диск ее можно запускать, для этого нужна лишь дважды щелкнуть на иконке программы или в главном меню Windows (“Пуск”) выбрать пункт “Выполнить” и изменить путь до исполняемого файла до запускаемого файла контроллера - Controller.exe и нажать кнопку “ОК”. После чего программа запустится и на экране появится главная форма программы (окно).

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

Основное окно программы состоит из рабочей области и меню, а также меню появляющееся при нажатии правой кнопки мыши (рис. 3.1).

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

Система ниспадающих меню позволяет оперативно управлять процессом проектирования. Меню “Файл” состоит из пунктов открытия проекта, сохранения проекта, открытие нового проекта, выхода из программы. Меню “Правка” позволяет посредствам буфера обмена информацией обмениваться информацией между проектами, а также изменять текущий проект, копировать объекты в буфер обмена и из него, удалять часть объектов (рис 3.2).

Меню “Создать” кроме непосредственно прямого выбора в линейке меню, через меню “Правка”, можно получить нажав правую кнопку мыши, из него можно выбрать объект (документ или функцию OLE, или зарегистрировать приложение OLE Automation) который необходимо создать. После выбора объекта запускается редактор свойств выбранного объекта (рис.3.3). Как видно из иллюстрации, в этих формах все свойства описаны непосредственно в форме.

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

Заполнив эти формы создается заданный объект который можно перемещать указателем мыши. Правой кнопкой мыши можно через возникшее меню всегда изменить свойства объекта (выбрав “Свойства”).

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

Над документами также выполняются собственно операции их изменения, то есть в случае применения программы в конструкторском проектировании, их изменение возможно либо непосредственно приложением которое обрабатывает этот документ, либо через уже созданные OLE функции которые в неявном виде вызывают приложения и обрабатывают документы. Так запустить функцию OLE можно двойным щелчком левой кнопки мыши на нужной функции. А для запуска приложения обрабатывающего определенный документ нужно дважды щелкнуть мышкой на документе.

После работы с конкретным документом вырабатывается событие “Документ был изменен” которое должны обрабатывать все исходящие из документа функции OLE (если конечно у них был установлен флаг свойства “Автоматическое выполнение функции при изменении входного документа”). Что влечет за собой выполнение этих функций, то есть изменение документов исходящих из функции, что в свою очередь может повлечь за собой выполнение других функций. Процесс может стать циклическим (если входные документы будут изменены исходящими функциями). Чтобы этого не произошло необходимо пользоваться флагом “Запрос пользователя перед выполнением” в свойствах функции OLE. Установка этого флага повлечет собой запрос пользователю о необходимости выполнения этой функции перед ее выполнением. Тем самым предоставляется возможность пользователю зациклить процесс обратной связью, что иногда необходимо (например, для подбора нужного теплового режима), а затем прервать его.

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

Если необходимость в программе контроллера отпала, то ее можно удалить с диска. Однако программа контроллера не снабжена специальным файлом унинсталляции, как это требует стандарт программ для Windows 95, поскольку для создания этого файла программисту необходимо досконально знать всю систему Windows, что сейчас при недостатке информации о Windows (т.к. эта система является относительно новой) в наших условиях невозможно. По этому для удаления программы с носителя кроме удаления самой директории программы контроллера необходимо удалить все DLL-файлы из директория Windows самостоятельно. Список всех файлов программы приведен в приложении.

КОНСТРУКТОРСКИЕ РАСЧЕТЫ
Показатели надежности

Основными конструкторскими расчетами для ЭВА, являются расчет надежности устройства и расчет прочности печатной платы. Рассмотрим теоретическое основание этих конструкторских расчетов.

Все промышленные изделия характеризуются качеством, то есть совокупностью свойств, которые отличают данное изделие от других и определяют степень его пригодности для эксплуатации по своему назначению. Для ЭВА это прежде всего совокупность конструкторских, технологических и эксплутационных характеристик. В процессе эксплуатации происходят изменения этих характеристик в следствии износа и необратимых процессов старения. Таким образом меняется качество изделию во времени, а характеристикой изменения качества во времени является показатель называемый надежностью.

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

Надежность не может быть измерена непосредственно как любая физическая величина. Она может быть только количественно оценена или предсказана. Для оценки основных показателей надежности используют математический аппарат теории вероятности

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

Показатели надежности неремонтируемых систем базируются на понятиях функций надежности Р(t) и функции отказа Q(t), связанных зависимостью P(t) = 1- Q(t). Обе они зависят от времени t.

Вероятностью безотказной работы P(t) называют вероятность того, что в заданном интервале времени или пределах заданной наработки ti отказов в системе не возникает, т.е. P(ti) = P(T>ti), где Т - случайная величина характеризующая время наработки системы до возникновения в ней отказа. Соответственно вероятностью возникновения отказа в системе Q(ti) называется вероятность того, что в период наработки ti в ней обязательно произойдет отказ, т.е. Q(ti) = P(T< ti).

Теоретическое значение вероятности безотказной работы ЭВА удобно определить следующим образом :

(4.1),

где

N1i - число изделий, отказавших во время испытаний на i-том интервале времени;

m = t / t - число интервалов

t - время испытания

t - продолжительность интервала времени


По аналогии с (4.1) статистическая вероятность безотказной работы ЭВА

(4.2),


Естественно, чем больше N, тем более точно соблюдается равенства, и тем точнее становятся значения величин P(ti) и P’(ti).

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

P(t1 ; t2) = P(t2) / P(t1) (4.3)

где

P(t1) и P(t2) - соответственно значения функций надежности в начале и конце наработки.

Плотностью распределения наработки до отказа f(t) называют производную по времени от функции отказа Q(t):


(4.4)


Из (4.4) следует, что величина f(t)dt характерезует безусловную вероятность того, что система обязательно откажет в интервале времени (t ; t+dt) при условии что вмомент времени t она находилась в работоспособном состоянии.

Наиболее распространенным показателем надежности является интенсивность отказов. Интенсивность отказов (t) представляет собой условную вероятность возникновения отказа в системе в некоторый момент времени наработки при условии, что до этого момента отказов в системе не было. Величина интенсивности определяется отношением:(t) = f(t)/ P(t). Приблизительно ее можно оценить следующим отношением :


,

где

N1 - число изделий, отказавших при испытаниях в течении времени t

N - число изделий, работоспособных к началу испытаний.


Условная работоспособность системы в момент начала наработки можно записать в виде P(0) = 1. Тогда из (4.3) и (4.4) следует что


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



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

В качестве показателя надежности используют среднюю наработку до отказа tcp. Средняя наработка до отказа представляет собой математическое ожидание M(t) случайной величины t


Вид функций f (t) и P (t) определяется конкретными законами распределения случайной величины t. Средняя наработка до отказа - это ожидаемое время исправной работы системы до первого отказа. Приближенно ее можно оценить так:


,

где

tcp i = (ti - ti-1) / 2

(ti ; ti-1) - время в начале и конце i-того интервала.


Таким образом мы рассмотрели основные показатели надежности систем./ 4 /


Информация о работе «Разработка программы контроллера автоматически связываемых объектов для управления конструкторской документацией в среде Windows 95/NT (дипломная работа)»
Раздел: Информатика, программирование
Количество знаков с пробелами: 135709
Количество таблиц: 1
Количество изображений: 0

Похожие работы

Скачать
112819
1
11

... самом деле включает в себя только данные и их структуру. Таким же образом как и структура OLE клиента, должна выглядеть структурная схема той части контроллера автоматически связываемых объектов, которая отвечающая за взаимодействие с механизмом связывания и внедрения Windows 95. Поскольку, по сути, контроллер должен являться клиентом практически для всех приложений присутствующих в системе, ...

0 комментариев


Наверх