Методы и модели проектирования бизнес-приложений в архитектуре "клиент-сервер" (объектно-ориентированный подход)

Разработка моделей и методов развития и реализации БФЗ в объектно-ориентированной технологии в трех или многозвенной архитектуре "клиент-сервер". Перспективность реализации гибких развивающихся информационно-управляющих систем в виде сервера приложений.

Рубрика Программирование, компьютеры и кибернетика
Вид автореферат
Язык русский
Дата добавления 31.07.2018
Размер файла 723,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

АВТОРЕФЕРАТ

Диссертации на соискание ученой степени

Методы и модели проектирования бизнес-приложений в архитектуре «клиент-сервер» (объектно-ориентированный подход)

Специальность: 05.13.06 - Автоматизация и управление технологическими процессами и производствами (промышленность)

кандидата технических наук

Нгуен Хоанг Шинь

Санкт-Петербург - 2007

Работа выполнена в Санкт-Петербургском государственном электротехническом университете «ЛЭТИ» им. В.И. Ульянова (Ленина)

Научный руководитель - кандидат технических наук, доцент Щеховцов О.И.

Официальные оппоненты -

доктор технических наук, профессор Водяхо А. И.

кандидат технических наук, доцент Шифрин Б. М.

Ведущая организация - Северо-Западный Государственный Заочный Технический Университет, г. Санкт-Петербург

Защита диссертации состоится «27» декабря 2007 г. в 14:00 на заседании диссертационного совета Д 212.238.07 Санкт-Петербургского государственного электротехнического университета «ЛЭТИ» им. В.И. Ульянова (Ленина) по адресу: 197376, Санкт-Петербург, ул. Проф. Попова, 5.

С диссертацией можно ознакомиться в библиотеке университета.

Автореферат разослан «26»ноября 2007 г.

Ученый секретарь

диссертационного совета Цехановский В.В.

архитектура клиент сервер информационный

Общая характеристика работы

Актуальность исследований. В работах научно-исследовательской группы (Научные руководители проф. Советов Б.Я. и Шеховцов О.И. ) была предложена концептуальная схема банка формализованных задач БФЗ организации ресурсов АСУ, обеспечивающая реализацию свойства гибкости, адаптивности к изменяющимся условиям внешней экономической и внутренней производственной обстановки.

Актуальность темы диссертационного исследования связана с развитием АРМовой технологии построения АСУ. В данной технологии автоматизированное рабочее место управленческих работников АРМ рассматривалось как «толстый» клиент в двухуровневой архитектуре «клиент - сервер», модельным представлением которого является композиция двух компонентов: модели проблемно-независимого АРМ и модели проблемно-зависимого АРМ с организацией ресурсов в виде банка формализованных задач

Цель диссертационной работы

Целью настоящего исследования является анализ и разработка моделей и методов развития и реализации БФЗ в объектно-ориентированной технологии в трех или многозвенной архитектуре «клиент - сервер».

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

Методы исследований. При решении основной задачи диссертационной работы были использованы типово-иерархический подход к автоматизированному проектированию АСУ в части, касающейся организации гибкого интеллектуального АРМ управленческого работника; методы организации информационно-управляющих систем в архитектуре «клиент - сервер»; объектно-ориентированная технология анализа и проектирования ИУС; методы типового проектирования в объектно-ориентированной технологии с применением паттернов проектирования

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

Научная новизна работы:

В диссертационной работе получены следующие научные результаты:

1. Подход к представлению конкретных управленческих задач в виде совокупности простых, рассматриваемых как типовые задач. Для этих задач в соответствии с концепцией БФЗ известны методы их решения особенность данного подхода состоит в том, что при декомпозиции управленческих задач возникают точки принятия решений, что не предусмотрено классическим подходом.

2. Предложено выделить в отдельный компонент проблемно-независимый АРМ и рассматривать его как специализированный сервер приложений в архитектуре «клиент - сервер».

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

Практическая ценность работы заключается в том, что показана перспективность реализации гибких развивающихся информационно-управляющих систем (ГИАРМ управленческих работников) в виде специализированного сервера приложений в многозвенной архитектуре «клиент-сервер» с использованием типовых проектных решений в виде паттернов проектирования в объектно-ориентированной технологии.

Реализация результатов. Результаты исследований использованы в курсе «Моделирование бизнес-процессов и инструментальные средства поддержки информационно-управляющих систем» в разделе «объектно-ориентированные технологии».

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

Научные положения, выносимые на защиту:

1. Выделение и реализация проблемно-независимого АРМ в виде специализированного сервера приложений в многозвенной архитектуре «клиент-сервер».

2. Организация функциональных ресурсов этого сервера на основе БФЗ с применением паттернов проектирования в объектно-ориентированной технологии.

Публикации. По теме диссертации опубликованы 2 научные статьи (одна статья опубликована в ведущих рецензируемых научных журналах и изданиях, определенных ВАК).

Структура и объём диссертации. Диссертационная работа состоит из введения, четырёх глав с выводами, заключения, списка литературы, включающего 118 наименований. Основная часть работы изложена на 113 страницах машинописного текста. Работа содержит 44 рисунка и 1 таблиц.

Основное содержание работы

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

В первой главе представлен организация ГИАРМ_УР (Гибких Автоматизированных Рабочих Мест), модель двухуровневый АРМ -УР, и типовая задача.

Ранее этим термином называли любую прикладную программу. В настоящее время под приложением понимается некоторый функциональный элемент корпоративной системы, в основе которого лежит программный код. Современные приложения по определению являются распределенными и существуют в гетерогенно среде предприятия. И среда и приложения находятся в диалектической взаимосвязи: свойства среды определяются свойствами приложений и наоборот. В настоящее время наблюдается миграция от приложений, ориентированных на обработку больших объемов данных (data entensive) к приложениям, работающим по запросу (event driven), или приложениям, ориентированным на обработку процессов (process oriented) Исходя из изложенного дается такое определение приложению: программный модуль, адаптированный к работе в распределенной среде, имеющий четко оределенные потребтельские свойства и интерфейсы с другими модулями.

В соответствии с данным определением Проблемно-независимый АРМ может трактоваться как специализированное приложение, назначение которого состоит в обеспечении ресурсами решение двух задач:

· Задачи проблемной ориентации ПЗ РАМ при разработке информационно-управляющей системы;

· Задачи развития ПЗ АРМ, его адаптации к изменению производственной обстановки под действием внешних и внутренних факторов экономического, технологического и др. характера

При интеграции ГИАРМ-УР в многозвенную архитектуру «клиент-сервер» ПН АРМ может размещаться в ПО промежуточного слоя как выделенный специализированный сервер приложения - сервер проблемной ориентации и развития.

В соответствии с требованиями динамичной внешней экономической и внутренней производственной среды предприятия АРМ-УР также должны обладать возможностью отслеживать возникающие изменения и оперативно настраиваться на эти изменения. Мы будем рассматривать его как гибкий АРМ.

Свойство АРМ_УР оперативно и адекватно изменяющимся производственным условиям обеспечивать настройку АРМ на эти изменяющиеся условия, включая и изменения самого УР назовем гибкостью. Для реализации свойства гибкости в (Ш) предложена следующая модель ГИАРМ:

МГИАРМ:=< 2 - х уровневая организация ГИАРМ, банк формализованных задач (БФЗ) >

2-х уровневая организация ГИАРМ представлена следующей структурой

где:

КП-ПЗ - конечный пользователь - проектирование задач;

КАПР - контур автоматизированного проектирования ;

ИСПЗ - инструментальная система проектирования задач (инструментальная среда разработки);

ИСРЗ - инструментальная среда решения функциональных (прикладных) задач пользователя;

КРФЗ - контур решения функциональных (управленческих); задач

МВ - модуль взаимодействия;

КП-УР - конечный пользователь - управленческий работник

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

Формально БФЗ описывается следующей структурой:

БФЗ : => < {СТЗ}, {ММ}, {А}, П(КЗ-ТЗ), П(ТЗ-ММ), П(ММ-А) >

Где:

СТЗ - семейство типовых задач

ММ - множество математических методов решения задач

А - множество алгоритмов, реализующих математические методы

П(КЗ-ТЗ) - соответствие между конкретной задачей и типовой

СТЗ : все множество задач, которые могут решаться в рамках АРМ, объединенных в независимые семейства типовых задач.

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

Интеграция ГИАРМ в многозвенную архитектуру «клиент-сервер»

Более рациональной является организация АИС с выделением Проблемно-независимой компоненты в специализированное приложение - одну из разновидностей ПО промежуточного слоя в трех или многозвенной архитектуре «клиент - сервер», назначение которого состоит в обеспечении ресурсами решение двух задач:

· Задачи проблемной ориентации ПЗ РАМ при разработке информационно-управляющей системы;

· Задачи развития ПЗ АРМ, его адаптации к изменению производственной обстановки под действием внешних и внутренних факторов экономического, технологического и др. характера.

При таком представлении архитектуры КИС каждый АРМ-УР рассматривается как «толстый» клиент, на котором размещается логика представления и прикладная логика, ориентированная на решение задач из конкретной предметной области: финансовой, планово-экономической или, например, бухгалтерской деятельности.

В то же время существующие аппаратно-программные средства позволяют проектировать «тонких» клиентов, размещая на стороне клиента только средства представления данных. Возникает желание и проблемно-зависимые АРМы строить как «тонкие» клиенты, размещая всю прикладную логику на сервере приложения. Следовательно, возникают два сервера - Проблемно-независимый АРМ как специализированный сервер приложения и сервер приложения, на котором размещена вся проблемно-зависимая прикладная логика.

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

Во второй главе рассмотрены сущность объектно-ориентированного подхода, унифицированный язык моделирования (UML), шаблоны (паттерны) проектирования, значение паттернов проектирования для организации и развития ГИАРМ-УР.

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

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

* абстрагирование (abstraction);

* инкапсуляция (encapsulation);

* модульность (modularity);

* иерархия (hierarchy).

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

* типизация (typing),

* параллелизм (concurrency),

* устойчивость (persistence).

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

В общем шаблон состоит из 4 существенных элементов.

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

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

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

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

Поскольку многократность использования часто является фактором в ОО проектировании, последствия шаблона включают его влияние на гибкость, расширяемость и переносимость системы.

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

В третьей главе. В первой главе было показано, что при решении проблем интеграции автоматизированных систем управления (АСУ) обладающих свойством развития, адаптации к изменениям внешней и внутренней производственной обстановки, для расшивки жесткости пакетов прикладных программ (ППП) была предложена концепция и базирующаяся на ней архитектура организации функциональных ресурсов АСУ, названная банком формализованных задач БФЗ. Если ППП строились по схеме <Функциональная задача - Алгоритм (процедура) решения>,то БФЗ - по схеме <Типовая задача - метод решения - алгоритм, реализующий метол>. На множествах «типовая задача», «математический метод» и «реализующий алгоритм» определяются соответствия (взаимосвязи) {Типовая задача - метод решения}и {метод решения - реализующий алгоритм}. В данной архитектуре типовая задача рассматривается как задача, всегда имеющая решение (математический метод и алгоритм) и определяет «семейство типовой задачи » - множество функциональных задач, решение которых может быть получено на основе решения данной типовой задачи. Таким образом, полная формальная запись БФЗ может быть представлена следующим образом:

<{ФЗ}, {ТЗ}, {М}, {А}, r{ФЗ-ТЗ}, r{ТЗ-М}, r {М-А}>,

а схема решения конкретной функциональной задачи с использование БФЗ:

Рис. 1. схема решения конкретной функциональной задачи

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

Однако такой подход к определению типовой задачи и ее семейства не может считаться конструктивным формализмом. Может быть предложен другой, более формальный подход к определению типовой задачи, основанный на известном из системного анализа методе декомпозиции. Практически каждая управленческая задача является составной и может быть декомпозирована до уровня простых или, по другому, элементарных задач, имеющих в данной предметной области решение. Такие задачи будем рассматривать как типовые. В этом случае решение функциональной задачи получается сверткой решений на множестве типовых задач. На рис. 2 приведена схема решения задачи с использованием классического объектно - ориентированного подхода.

Рис. 2. Схема решения задачи

Перейдем к рассмотрению решения данной задачи с применением паттернов проектирования.

Применение паттерна посредник (mediator)

Назначение

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

Мотивация

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

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

Применимость

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

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

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

Структура

Рис. 3. Решение с применением шаблона Посредник

Участники

- класс посредник это абстрактный класс - определяет интерфейс для обмена информацией с объектами типовой задачи;

- конкретные классы типовая задача 1, типовая задача 2, …

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

Применение паттерна Фасад (Facade)

Назначение

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

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

Шаблон Фасад предоставляет коллекцию методов, простых в понимании и использовании. Эти методы обращаются к основной системе для реализации вновь определенных функций внешней системы.

Применение шаблона Фасад упрощает использование требуемой подсистемы, но одновременно лишает пользователя доступа ко всем функциональным возможностям системы -- часть их окажется недоступной

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

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

Применение шаблона Фасад к проблеме БФЗ

Контекст

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

Проблема

В архитектуре БФЗ возникают непосредственные многочисленные взаимосвязи и взаимодействия между множеством типовых задач и методами их решения, вызывающие следующие проблемы:

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

* Слишком большое количество вызовов методов между клиентом (задачами) и алгоритмом.

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

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

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

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

Ограничения

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

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

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

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

Структура

Рис. 4: Решение с применением шаблон Фасад

Участники

класс фасад это абстрактный класс:

- «знает», каким классам подсистемы адресовать запрос;

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

конкретные классы типовая метод 1, метод 2, метод 3:

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

- выполняют работу, порученную объектом Фасад.

Перейдем к анализу возможностей применения Паттерна Стратегия (strategy)

Данный паттерн определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми. Стратегия позволяет изменять алгоритмы независимо от клиентов, которые ими пользуются. Известен также под именем Policy (политика).

Применимость

Паттерн стратегия используется, когда:

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

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

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

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

Применение шаблона Стратегия к проблеме БФЗ

При обычном объектно-ориентированном подходе к организации БФЗ могут возникать все выше рассмотренные проблемы при организации связей между методами и реализующими их алгоритмами.

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

Структура

Рис. 5: Решение с применением шаблон Стратегии

Участники

- стратегия алгоритм: объявляет общий для всех поддерживаемых алгоритмов интерфейс.

- алгортм1, алгоритм2, алгоритм3 - конкретная стратегия: реализует алгоритм, использующий интерфейс, объявленный в классе стратегии;

После применения паттернов проектирования, мы получим результат показано на рис. 6.

Рис. 6. Схема решения с применением шаблоны

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

Рис. 7. Схема расчет себестоимости основной продукции

Применение шаблонов проектирования для моделирования БФЗ

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

Применение паттерн Посредник (Меdiator).

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

Структура

Рис. 8. Схема решения с применением шаблоны Посредник

На рис. 8. представлены:

- класс посредник это абстрактный класс - определяет интерфейс для обмена информацией с объектами типовой задачи;

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

Применение шаблона Фасад

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

На рисунке показана диаграмма классов, представляющих применение паттерна метод фасад (Method Faсade).

Рис. 9. Схема решения с применением шаблоны Фасад

- класс Фасад это абстрактный класс - определяет интерфейс для обмена информацией с объектами типовой задачи;

- конкретные классы метод1, метод2, метод3, метод4, методРС, методНИ, методСС, методУО, метод коденсат. - конкретные класс.

Применение шаблон Стратегия

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

Рис. 10. Решение с применением шаблоны Стратегии

Рис. 11. Общая схема решения с применением шаблоны

Заключение

В результате проведенных исследований в диссертационной работе получены следующие результаты:

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

2. Предложена модель интеграции ГИАРМ-УР в архитектуру «клиент - сервер», отличающаяся тем, что проблемно-независимый АРМ размещается в ПО промежуточного слоя как специализированный сервер проблемной ориентации и развития

3. Предложена модель организации БФЗ с паттернами проектирования, отличающаяся как номенклатерой паттернов, так и их взаимосвязями с компонентами БФЗ.

Таким образом на защиту выносятся следующие положения:

1. Выделение и реализацию проблемно - независимого АРМ в виде специализированного сервера приложений в многозвенной архитектуре «клиент - сервер».

2. Организацию функциональных ресурсов этого сервера на основе БФЗ строить с применением паттернов проектирования в объектно - ориентированной технологии.

Публикации по теме диссертации

1. Нгуен Хоанг Шинь. Применение шаблонов проектирования в АРМ РАО (Расчет амортизация оборудования) [Текст]/ Нгуен Хоанг Шинь, О.И. Шеховцов // Изв. СПб ГЭТУ “ЛЭТИ” (Известия Государственного электротехнического университета). Сер. Информатика, управление и компьютерные технологии 2007. Вып. 3. С.72-76.

2. Нгуен Хоанг Шинь. Применение шаблонов проектирования в АРМ ОГЭ [Текст]/ Нгуен Хоанг Шинь, О.И. Шеховцов// Журнал Техника и Технология № 4 2006 г. - ISSN 1811-3532- С.45-51.

Размещено на Allbest.ru

...

Подобные документы

  • Характеристика модели клиент-сервер как технологии взаимодействия в информационной сети. Разработка и описание алгоритмов работы приложений на платформе Win32 в среде Microsoft Visual Studio, использующих для межпроцессного взаимодействия сокеты.

    курсовая работа [544,6 K], добавлен 02.06.2014

  • Разработка приложений на платформе Win32 для исследования взаимодействия между процессами через отображение файла в память. Модель приложений "клиент - сервер". Описание алгоритма работы программы-клиента и программы-сервера. Результаты работы приложений.

    курсовая работа [869,3 K], добавлен 18.05.2014

  • Анализ архитектуры информационной системы, в структуру которой входят системы файл-сервер и клиент-сервер. Сравнение языков запросов SQL и QBE. Принципы разработки приложений архитектуры клиент-сервер при помощи структурированного языка запросов SQL.

    курсовая работа [88,9 K], добавлен 11.04.2010

  • Реализация прямого проектирования в архитектуре "файл-сервер". Процесс изменения структуры базы данных, реализация прямого проектирования в архитектуре "клиент-сервер", генерирование SQL-кода создания базы данных на основе физической модели данных.

    контрольная работа [697,8 K], добавлен 16.02.2015

  • Основные вехи на пути развития систем программирования. Microsoft Access - первая СУБД для персональных компьютеров, созданная для работы в среде Windows. Перенос файл-серверных приложений в среду клиент-сервер. Использование ActiveX Data Objects.

    презентация [662,2 K], добавлен 11.04.2013

  • Многоуровневые архитектуры клиент–сервер. Диаграммы классов, реализующих уровни презентации, бизнес–логики и базы данных приложения. Словесное описание процесса выполнения транзакций. Создание, изменение и удаление хранимых процедур, их выполнение.

    курсовая работа [3,4 M], добавлен 23.03.2013

  • Реализация информационной системы "Стройгенплан" в архитектуре "клиент-сервер". Цели и задачи моделируемой информационной системы, ее функциональная и информационная модели. Описание программного обеспечения, разработанного в архитектуре "клиент-сервер".

    курсовая работа [1,9 M], добавлен 30.08.2010

  • Основные понятия серверов. Модель клиент-сервер. Классификация стандартных серверов. Недостатки файл-серверной системы. Криптографические методы защиты информации. Серверы удаленного доступа. Методы и средства обеспечения безопасности информации.

    контрольная работа [36,3 K], добавлен 13.12.2010

  • Создание процедурно-ориентированной и объектно-ориентированной реализации конкретного приложения и сравнительный анализ их вычислительной эффективности. Определение попадания точки внутрь фигуры. Возможности улучшения характеристик качества приложений.

    курсовая работа [1,5 M], добавлен 04.12.2021

  • Преимущества и недостатки использования двух типов базовых архитектур Клиент-сервер и Интернет/Интранет, их компоненты и экономическая целесообразность. Информационные взаимосвязи компонентов WEB-узла, взаимодействие браузера, сервера и сценария CGI.

    реферат [324,4 K], добавлен 22.06.2011

  • Устройство веб-приложений, преимущества их построения. Характеристика технологий веб-программирования, используемых на стороне сервера и на стороне клиента. Формирование и обработка запросов, создание интерактивного и независимого от браузера интерфейса.

    контрольная работа [76,4 K], добавлен 08.07.2014

  • Варианты топологии одноранговой вычислительной сети, принцип работы распределенных пиринговых сетей. Использование в крупных сетях модели "клиент-сервер". Характеристика операционных систем с сетевыми функциями, многопроцессорная обработка информации.

    творческая работа [51,8 K], добавлен 26.12.2011

  • Архитектура "клиент-сервер". Системный анализ базы данных "Газета объявлений", ее инфологическое и физическое проектирование. Программирование на стороне SQL-сервера. Разработка клиентской части в Borland C++ Builder 6.0 и с помощью Web-технологий.

    курсовая работа [1,3 M], добавлен 07.07.2013

  • Рассмотрение архитектуры "файл-сервер" и двух- и трехуровневых архитектур "клиент-сервер". Модель сервера приложений и свойства "идеальной" системы управления распределенными базами данных. Способы распределения функций обработки логики запроса.

    презентация [60,2 K], добавлен 19.08.2013

  • Основные концепции разработки приложения в архитектуре MVVM. Проектирование базы данных, предназначенной для сбора информации о дорожно-транспортных происшествиях. Классификация и типы архитектуры "клиент–сервер", ее основные достоинства и недостатки.

    курсовая работа [4,1 M], добавлен 25.11.2015

  • Предметная область, цель создания и группы пользователей информационно-программного изделия. Сетевая организация распределения приложения в архитектуре клиент-сервер. Интерфейс пользователя. Реализация транзакций. Защита от несанкционированного доступа.

    курсовая работа [1,8 M], добавлен 15.01.2013

  • Обзор существующих решений построения систем взаимодействия. Классическая архитектура клиент-сервер. Защита от копирования и распространения материалов тестирования. Задачи ИБ компьютерных систем тестирования и обзор современных способов их реализации.

    курсовая работа [36,9 K], добавлен 26.04.2013

  • Организация связи между электронными устройствами. Коммуникационный протокол, основанный на архитектуре "клиент-сервер". Чтение флагов, дискретных входов, регистров хранения и регистров ввода. Запись регистра хранения. Обработка прерываний и запроса.

    курсовая работа [1,4 M], добавлен 07.07.2011

  • Характеристика разновидностей программной реализации чатов. Разработка программы клиент-серверного чата с возможность общения в локальной сети нескольких человек одновременно. Протокол взаимодействия клиента и сервера. Порядок работы с программой.

    курсовая работа [530,7 K], добавлен 25.04.2015

  • Файловая и сетевая системы операционной системы Windows. Характеристика модели "клиент-сервер". Функциональные требования и архитектура программы, которая должна обеспечивать передачу файлов от клиента к серверу, сервера к клиенту, обмен сообщениями.

    курсовая работа [1,4 M], добавлен 24.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.