Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Со Тхей Вин

Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов
<
Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Со Тхей Вин. Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов : диссертация... кандидата технических наук : 05.13.11 Москва, 2007 118 с. РГБ ОД, 61:07-5/2964

Содержание к диссертации

Введение

1 Принципы проектирования распределенных приложений в среде Windows .. 6

1.1 Фундаментальные основы Windows DNA 6

1.2. Архитеюура современных приложений 8

1.3 Инструментальные средства и шаблон MVC 15

1.4 Компонентный подход и технологии Интернета 26

Выводы по главе 33

2 Методика проектирования распределенных приложений 34

2.1 Основные этапы и формулировка требований 34

2.2 Декомпозиция по уровням и создание компонентов 35

2.3 Выбор инструментальных средств 45

Выводы по главе 47

3 Комбинированный подход к оценке производительности 48

3.1 Анализ факторов и показателей производительности 48

3.2 Моделирование и измерение производительности 56

3.2.1 Аналитическое и имитационное моделирование 56

3.2.2 Измерение производительности 59

3.2.3 Имитационное моделирование и Сети Петри 62

3.2.4 Построение имитационной модели Web-сайта 67

3.3 Математическое моделирование на основе методов планирования эксперимента 74

3.3.1 Общая постановка задачи планирования экспериментов 74

3.3*2 Полный факторный эксперимент (ПФЭ) 75

3.3.3 Дробный факторный эксперимент (ДФЭ) 78

Выводы по главе 82

4 Планирование измерительных экспериментов и получение оценок показателей производительности 83

АЛ Составление плана тестирования производительности 84

4.2 Выбор инструментов нагрузочного тестирования 85

4.3 Проведение и оценка результатов тестирования 90

4.4 Построение и анализ уравнения регрессии для оценки производительности Web-приложений 91

Выводы по главе 96

Заключение 97

Список литературы

Введение к работе

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

Особенно актуальным исследование применения технологии компонентного программирования для создания эффективных программ стало в связи с всеобъемлющим использованием сети Internet и разработкой большого количества сайтов. Известно, что web-приложения могут создавать значительную нагрузку на сервер и стать '"узким" местом, ограничивающим производительность работы пользователя в сети, а от этого в значительной мере зависят и варианты взаимодействия пользователя с сетью. Известно, что 10 сек - это предельное значение времени отклика, после наступления, которого у пользователя теряется ощущение реальной работы с данными. Приемлемая производительность Web-сайтов зависит от многих факторов и, в том числе, от кода используемого приложения и его архитектуры- Массовый пользователь регулярно в процессе своей деятельности сталкивается с необходимостью оценить и, по-возможности, спрогнозировать производительность компьютерных систем или отдельных компьютеров. Исследования времени отклика при взаимодействии пользователя с компьютером проводились с момента его появления и, тем не менее, до настоящего времени нет подходящего для массового пользователя решения этой проблемы. В связи с этим тема исследования является актуальной. Постановка задачи

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

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

2. Для достижения поставленных целей необходимо решить следующие задачи:

  1. Провести анализ фундаментальных подходов и технологий (СОМ, СОМ+ и Windows DNA), разработанных фирмой Microsoft, к построению программного обеспечения в среде Windows.

  2. Разработать методику применения архитектуры Windows DNA к созданию распределенных корпоративных приложений масштаба предприятия,

  3. Провести анализ существующих методов и инструментальных средств оценки производительности web-приложений.

  4. Разработать модель оценки производительности Internet-приложений.

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

Методы исследовании. При решении поставленных задач в работе использовались

элементы математического аппарата теории графов, теории сетей Петри, теории

планирования экспериментов, имитационного моделирования, а также

компонентно-ориентированные технологии на основе компонентной объектной

модели.

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

  1. Разработан новый подход к проведению оценка производительности сетевых приложений на основе методов планирования эксперимент

  2. Разработана методика проектирования масштабируемых приложений на основе модели компонентных объектов

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

применения сетей Петри. Практическая ценность. Практическая значимость работы состоит в том, что проведенный комплекс исследований, разработанные методы, методики и модели, предназначенные для оценки производительности web - приложений, позволяют:

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

  2. провести ускоренную оценку времени отклика приложения на посылаемые запросы при известных основных аппаратных характеристиках системы;

  3. осуществить прогнозирование времени отклика приложения при изменении основных характеристик системы;

  4. произвести определение аппаратных характеристик системы (синтез характеристик) при априорно задаваемом времени отклика.

Результаты и внедрение работы. Основные результаты работы были реализованы в виде экспериментального Web-приложения с функциональностью Интернет - магазина; имитационной модели нагрузки Web-приложения в виде сети Петри; регрессионной модели, созданной на основе методов планирования экспериментов. Результаты диссертационной работы внедрены в учебный процесс кафедры «Информационные Технологии» МИФИ (курс лекции и лабораторный практикум). Отдельные теоретические и практические результаты использовались лично автором при проведении занятий со студентами Союза Мьянма. Апробация результатов работы. Работа в целом и отдельные её результаты докладывались и обсуждались на научных конференциях МИФИ в 2004-2007 г, а также на научных семинарах кафедры «Информационные технологии». Публикации. По теме диссертации опубликовано три работы, полностью отражающие основные научные результаты.

Структура и объем работы. Работа состоит из введения, четырех глав, заключения и приложений. Основной материал изложен на 100 страницах и содержит 30 рисунков. Список литературы содержит 45 наименований. В приложениях приведены основные результаты применения комбинированного метода оценки производительности клиент - серверных систем. На защиту выносятся:

  1. методика и алгоритмы создания пользовательских приложений масштаба предприятия

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

  3. математическая модель оценки производительности Web-сайтов

4, новый подход к проведению оценки производительности сетевых приложений на основе методов планирования эксперимента

Инструментальные средства и шаблон MVC

Уровень бизнес-логики архитектуры Windows DNA для разработки онлайновой системы и связан со способом обработки данных, зависящим от конкретного приложения. Обычно сервисы бизнес-логики реализуются в виде бизнес-объектов, создаваемых внутри приложений или библиотек. Некоторые из бизнес-объектов могут обращаться к сервисам данных, используя универсальный механизм доступа к данным Microsoft (Microsoft Universal Data Access), в частности механизмы OLE DB (базы данных) и ADO. Возможности этого уровня реализуются с помощью следующих ключевых технологий: программного сервера Internet Information Services (IIS) — управляющего Web-приложениями и содержащего в своем адресном пространстве бизнес-объекты. Одна из основных задач IIS - эффективная и надежная поддержка HTML - страниц: сервисов СОМ/СОМ+ Services — позволяющих создавать приложения с компонентами, выполняющимися асинхронно, а также приложения, затрагивающие разные компоненты и базы данных,

В Microsoft Windows NT 4.0 эта функциональность была реализована средствами Microsoft Message Queue Services (MSMQ) и Microsoft Transaction Server (MTS), а функциональность Internet Information Services (IIS) [16] — в Internet Information Server.

Приложение дт онлайновой службы дояжіш щу&шшптъ полный объем основной в догшгаигедышй (связанной с основной) информации. Уровень дшшых обычно шь-пюч &т: в еебй файловую систему, базы мтных, хщ-ттш& сообщений; и иные хранилища. Для размещения дш-шш используется ряд сметем, шшрршер, серверы NT Server, мтанфрсіщьк мини-ЭВМ. В Windows ЇЖА оючевьши элементами дяяшстроения сервисов дашшх являются: - Microsoft SQL Server — серверная СУБД да %щття релщиошшх и т реляционных дшйшх; - Microsoft Universal Пнів. АЄШІЧ—-мйжшичщ доступа к ТЇТШ данньщ; Microsoft Exchange Server — набор сервисов дія обеспетсии документооборота внутри предприятие

Сервисы данные могут быть ренлвдощіш да талька в виде серверов баз данных,, но ш в виде файяоюй системы, лданг.гх электронной поч и ТЛ Microsoft Universal Data Access позволяет обеспечить доступ к таким даншм с помошью соответствующих OLE Ш-промйдеров

Рассмотрим архитектуру 3-х урошісвото wcb-лриложснш. применительно к ПЗ, ASP и (ЮМ/СОМ+ (рис.4).

В основе трехуровневой архитектуры Windows DNA лежат два широко используемых сервиса: инструментальные средства (Tools) и системные службы (System Services). Инструментальные средства включают в себя сценарии, создание компонентов, использование технологии RAD и стандартных средств разработки. Системные службы объединяют такие стандартные компоненты инфраструктуры, как службы каталогов, безопасности, управления, связи и сетевые службы.

Доступ к элементам всех трех уровней и их объединение осуществляется с помощью модели СОМ [3,4,6]. Ввиду того, что СОМ является наиболее широко используемой в мире моделью компонентов программного обеспечения, она предоставляет широкий диапазон интегрированных служб, богатый выбор удобных для применения инструментальных средств и наиболее обширный набор доступных приложений. Клиентские и серверные компоненты СОМ, готовые для немедленного или повторного использования, представляют собой наиболее жизнеспособный набор компонентов.

Ценность модели СОМ заключается в том, что она позволяет разработчикам программного обеспечения создавать приложения для онлайновой службы на основе программных компонентов, поставляемых в двоичном коде и готовых к развертыванию на любом уровне модели приложений. Эти компоненты поддерживают компоновку проіраммньїх пакетов, разделение систем на подсистемы и обеспечивают распределенную функциональность. Модель СОМ позволяет разрабатывать приложения для любых структур на основе компонентов путем включения в них программного кода любого типа или функциональности приложений, например, службы управления интерфейсом пользователя или бизнес-объекта. Компонент может иметь один или несколько интерфейсов, причем каждый из них предоставляет набор методов и свойств, которые можно получить по запросу и установить с помощью других компонентов и приложений. Например, компонент покупателя может предоставлять различные свойства: имя, адрес и номер телефона.

Декомпозиция по уровням и создание компонентов

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

Основными этапами этой методики являются:

Этап 1 .Постановка задачи и определение требований к приложению Этап 2. Функциональная декомпозиция приложения по уровням Этап З.Выбор инструментальных средств, используемых на каждом урвне Этап Программная реализация функциональности каждого уровня Этап 5.0гладка и тестирование приложения Поэтапные действия пользователя и особенности реализации каждого уровня иллюстрируются ниже на примере проектирования и реализации гипотетического приложения, реализующего функциональность магазина электронной коммерции по реализации книжной продукции, построенного по трехуровневой структуре. Требования к приложению Функциональные требования к создаваемому приложению были формулированы следующим образом: Требование со стороны пользователя приложения

Пользователь должен иметь возможность: Просматривать информацию о новостях и еженедельных журналах, Добавлять книги в корзину. Удалять книги из корзины. Просматривать информацию о книгах и ценах, Оформить заказ на приобретение книг Получать уведомление о готовности заказа. Требование со стороны администратора приложения Просматривать информацию о совершенных заказах, Просматривать сумму на личном и безналичном счете заказчика. « Просматривать информацию о пользователях и организациях, сделавших заказ. Заменять статус заказа и уведомлять пользователя о готовности заказа,

Проект магазина электронной коммерции был реализован с использованием результатов анализа проведенного в первой главе. Алгоритмы, реализующие требования со стороны пользователя и алминистратора были реализованы на уровне бизнес логики- На уровне представления был создан пользовательский -интерфейс-(web-сайт)-е спользованием технологии "ASP (активные "серверные страницы) с компонентами навигации, позволяющими пользователям искать информацию о книгах, добавлять книги в корзину, оформлять заказ и регистрировать нового пользователя и.т.д. На уровне данных была реализована база данных в среде Microsoft SQL Server.

Уровень представления

На уровне представления данных был создан пользовательский интерфейс (web-сайт) с использованием технологии ASP (активные серверные страницы) с компонентами навигации, позволяющими пользователям искать информацию о продуктах, добавлять книги в корзину, оформлять заказ, регистрировать нового пользователя и.т.д.

Это приложение никогда не будет напрямую обращаться к базам данных, оно будет вызывать промежуточный слой объектов бизнес-логики, которые, в свою очередь, будут обращаться к объектам уровня данных. Структура web-сайта Структура web-сайта (магазина электронной коммерции) состоит из восьми страниц: Страница регистрации (register-asp) - предназначена для реализации функций регистрации нового пользователя- В сценарии ASP страницы был создан класс (CustomerxCustomcr), Страница авторизации (вход) (login.asp} - предназначена для осуществления доступа пользователя к работе на сайте, Главная страница (DefauH.asp) - предоставляет пользователю краткую информацию о книгах, (на ней позволяет пользователю о текущих заказов в корзину и их архив заказов), Поисковая страница (ProductSearch.asp) (пользователь можно выбрать и " Искатьинформациио книгах), Поисковая страница (ProductSearch_HND,asp) - пользователь можно выбрать и искать информации о книгах. В странице ASP сценарии вызывает объектов продуктов (Product.dll), Здесь использовал класс (ProduetxProduct) чтобы получить список производства имени и типов продуктов, Заказная страница (Добавить в KOp3HHyXAddToBsketasp)- Пользователь можно добавить заказ в корзину. В странице ASP сценарии использовали класс (Product.cProduct), чтобы получить имени продуктов и сколько остался в текущей списке и класс (Ordcr.cBaskctContentsl), чтобы добавить новый заказ в корзину, Страница проверки (CheckouUsp) - позволяет пользователю продолжать добавить и удалить заказ из корзины. Но в то время статус заказов не изменить. Пример новый заказ продолжает пока в новом статусе.«New Status», Выходная страница, (logoutasp) - предназначена для завершения работы с сайтом.

Аналитическое и имитационное моделирование

Существует множество методов моделирования, используемых для прогнозирования, оценки и трактовки производительности систем. Дія оценки производительности клиент - серверных систем наиболее подходят методы: аналитического к имитационного моделирования. Кратко рассмотрим суть каждого из них.

Аналитическое моделирование

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

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

Имитационное моделирование

Имитационной моделью системы называют такую модель, которая воспроизводит во времени поведение самой системы. Часто описание поведения системы характеризуют состояниями системы и переходами между ними. Состояние системы в некоторый момент времени определяется множеством значений параметров на данный момент времени. Любое изменение этих значений может рассматриваться как изменение (переход) к другому состоянию. Описание поведения системы зависит от выбора ее параметров. Наблюдение поведения имитационной модели системы во времени под влиянием событий, генерируемых моделью входных воздействий, позволяет получить численные значения выходных параметров системы, которые можно использовать для их оценки.

Прогнозирование производительности

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

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

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

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

Параметры потребности в обслуживании рабочей нагрузки - определяют общее время обслуживания, необходимое каждому базовому компоненту на каждом ресурсе. Примерами являются: время ЦП для транзакций на сервере баз данных, общее время передачи ответов от сервера баз данных в сети и общее время ввода/вывода на прокси-сервере Web при обслуживании запросов к видео- и аудио-роликам, которые имеют место во время обучения через Web.

Методика прогнозирования производительности

Для прогнозирования характеристики производительности Web-систем [31], подходят оба рассмотренных подхода к моделированию. Выбирая метода имитационного моделирования следующей иметь в виду, что чем большее число элементов системы представляется с максимальной детализацией, тем выше оказывается точность модели. Но при этом требования к сбору данных также резко возрастают. Очень важно соблюдать разумный баланс между точностью модели и простотой ее использования, предусматривающий выполнение анализа большого количества альтернативных вариантов небольшими усилиями и за очень короткие промежутки времени. Аналитические модели более подходят на уровне компонентов, а имитационные модели на уровнем систем.

Проведение и оценка результатов тестирования

Зачастую тестирование производительности Web-приложения не соответствуют потребностям и ожиданиям пользователей. Потребители быстро разочаровываются в Web-приложении, которое постоянно выдает ошибки, медленно отвечает на запросы или часто недоступно. Таким образом, успех созданного Web-приложения будет в значительной степени сведен "на нет", если нет продуманной и правильно спланированной процедуры или методологии іеетирования.

У становить требования к основным параметрам производительности абсолютно необходимо — это гарантирует, что Web-ириложение удовлетворит текущие и даже будущие проектные требования. Главные требования к параметрам производительности можно разделить на три основные категории; допустимое время отклика; пропускная способность и число одновременных пользователей; требования к будущему росту производительности. Нагрузочное Тестирование

Нагрузочное тестирование обозначает измерение производительности системы в условиях ожидаемой нормальной загруженности, а при стрессовом тестировании уровень нагрузки превышает возможности системы по обслуживанию пользователей. Задача нагрузочного тестирования — выявить и изолировать " узкие" места в Web-приложении в условиях наїрузкн. Уменьшение числа "узких" мест или их устранение позволит добиться соответствия установленным требования по трафику или превзойти их. После выявления tLy:imx" мест можно настроить Web-приложение и сервер таким образом, чтобы минимизировать время ожидания конечных пользователей и, значит, улучшить их впечатление от приложения. Нагрузочное тестирование (stress testing) [28] состоит в тестировании приложения под нагрузкой для определения максимальной пропускной способности. Пропускная способность (throughput) — это количество клиентских запросов, обрабатываемых за некий интервал времени.

Нагрузочное тестирование часто также называют тестированием производительности, пиковым тестированием или тестированием Web-сервера [26,27,35]- Моделируя нагрузку Web-приложения, обычно сочетают аппаратную и программную эмуляции пользователей, осуществляющих реальное взаимодействие с приложением. Аппаратный метод, как правило, требует нескольких выделенных тестовых клиентов, каждый из которых представляет одного пользователя. Необходимые объемы аппаратных ресурсов делают данный метод очень дорогостоящим, кроме того, придется затратить массу времени на организацию теста, Апларатный метод не считается ни самым точным, ни самым эффективным способом нагрузочного тестирования, но для некоторых приложений он оказывается единственно возможным. При программном методе действия пользователя обычно записываются (перехватываются) некой программой, после чего преобразуются в тестовые сценарии. При воспроизведении или исполнении тестового сценария один компьютер обычно выступает в качестве контроллера, распространяющего тестовый сценарий по нескольким клиентским машинам. Во время исполнения теста контроллер синхронизирует действия клиентов для моделирования множества виртуальных пользователей, а по окончании теста собирает результаты от всех клиентов. Виртуальные пользователи создают нагрузку на серверную часть приложения, что позволяет определить степень стабильности и время отклика Web-приложения, В настоящее время разработано множество программных средств нагрузочного тестирования. Хотя назначение каждого из них — генерировать нагрузку, моделирующую работу многих клиентов, в них используются разные синтаксисы сценариев и механизмы моделирования нагрузки.

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

Обзор приложения Здесь дается краткое описание назначения web -приложения. Также иногда приводятся некоторые маркетинговые прогнозы или результаты анализа накопленных данных.

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

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

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

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

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

Похожие диссертации на Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов