Проектирование обратимых операций над объектами на основе шаблонов при разработке программного обеспечения тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Гумеров, Максим Маратович
- Специальность ВАК РФ05.13.11
- Количество страниц 118
Оглавление диссертации кандидат технических наук Гумеров, Максим Маратович
Общая характеристика работы.
Глава 1. Актуальные задачи в проектировании приложения, предназначенного для редактирования документов.
1.1. Функция отмены действий пользователя.
1.2. Операция удаления примитива редактирования.
1.3. Проектирование ПО при помощи шаблонов.
1.4. Выбор модели качества для оценки качества шаблона.
1.5. Выбор метода тестирования приложений.
1.6. Выводы.
Глава 2. Формализация задачи исследования и разработка шаблона проектирования.
2.1. Формальная постановка задачи исследования.
2.2. Модель операции удаления примитива из документа.
2.3. Возможные пути обеспечения обратимости удаления.
2.4. Предлагаемый подход к обеспечению обратимости.
2.5. Шаблон проектирования обратимой операции удаления примитива.
2.6. Алгоритм работы обратимой операции удаления.
2.7. Выводы.
Глава 3. Разработка модели качества ПО для обобщенных проектных решений.
3.1. Предлагаемая модель качества.
3.2. Предлагаемые метрики трудоемкости разработки и сопровождения.
3.3. Разработка метода тестирования качества ПО. а 3.4. Выводы.
Глава 4. Внедрение разработанного шаблона и оценка его качества.
4.1. Внедрение шаблона проектирования.
4.2. Анализ эффективности разработанного шаблона проектирования.
4.3. Применение метода тестирования ПО.
4.4. Выводы.
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Алгоритмические и программные средства интеграции данных при создании электронных медицинских карт2011 год, кандидат технических наук Фам Ван Тап
Математическое и программное обеспечение системы дистанционного обучения по математическим дисциплинам2011 год, кандидат физико-математических наук Панарин, Сергей Игоревич
Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах2008 год, кандидат технических наук Синица, Сергей Геннадьевич
Использование инструментов UML и шаблонов проектирования J2EE для построения систем дистанционного обучения2007 год, кандидат технических наук Егоров, Ярослав Сергеевич
Алгоритмическое и программное обеспечение реинжиниринга корпоративных информационно-управляющих систем2005 год, кандидат технических наук Андрианова, Елена Гельевна
Введение диссертации (часть автореферата) на тему «Проектирование обратимых операций над объектами на основе шаблонов при разработке программного обеспечения»
Актуальность темы
Любая из общепринятых моделей жизненного цикла программного обеспечения включает этап проектирования. Согласно одним моделям, - таким, как каскадная, - он проходится единожды, другим - многократно, в ходе итеративного процесса разработки. К последним относится и модель Боэма, а также другие более поздние итерационные модели (ХР, 1ШР, МБР), которым, как принято считать, подчиняется разработка основной части ПО в последние 15-20 лет. В фокусе данной работы - проблемы проектирования приложений для конечного пользователя, содержащих функции редактирования различного рода документов, состоящих из связанных простейших элементов (примитивов).
Любая из общепринятых моделей жизненного цикла программного обеспечения включает этап проектирования. Согласно одним моделям, - таким, как каскадная, — он проходится единожды, другим - многократно, в ходе итеративного процесса разработки. К последним относится и модель Боэма, а V , ,, также другие более поздние итерационные модели (ХР, 1ШР, МББ), которым,
Ь | ? ^ как принято считать, подчиняется разработка основной части ПО в последние
15-20 лет. Важность этапа проектирования трудно переоценить. От выработанной архитектуры программного продукта зависят, помимо его собственных качеств, также скорость и сама успешность его создания.
Как и в любых приложениях, подразумевающих существенный объем редактирования данных пользователем, в рассматриваемом классе программных продуктов - приложений-редакторов - необходимым условием комфортной работы пользователя является возможность отмены выполненных операций. Очевидно, что поддержка отмены операций - это один из ' механизмов, требующих проектирования. Функция отмены операций тем или
7; иным образом реализована во многих программных продуктах; имеются и научные исследования, посвященные различным сторонам отмены операций.
Публикуются работы в трех основных направлениях - отмена транзакций в СУБД, в многопользовательских приложениях и в классических однопользовательских. Исследуются, как правило, общая архитектура и теоретические основы отмены операций, но не отмена конкретных классов действий. Очевидно, задачи отмены конкретных действий рассматриваются как инженерные и не принципиальные для внедрения отмены операций в приложение.
Конечно, что эти задачи решены во многих программных продуктах, но, как инженерные, они решаются в них независимо и без должного исследования. В условиях наличия готовых проектных решений для механизма отмены в целом это означает, что увеличивается доля времени, затрачиваемого на проектирование именно частных операций. Такая ситуация оправдывает постановку новых научных задач разработки обобщенных проектных решений для отмены отдельных классов операций.
В центре внимания предлагаемой работы находится создание программного обеспечения для конечных пользователей, предназначенного для выполнения на персональных ЭВМ.
Цель работы
Целью работы является повышение эффективности процесса создания программного обеспечения на основе разработки шаблона обратимой операции удаления для создания механизма отмены операций в приложениях-редакторах. Шаблон является обобщенным решением, применяемым на этапе проектирования создаваемого программного обеспечения и определяющим его структуру, способ функционирования и связи между частями.
Задачи исследования
- Разработка формальной модели операции удаления элемента редактируемого документа.
- Разработка метода проектирования операций удаления. Метод предполагается представить в виде шаблона проектирования.
- Разработка модели качества программного обеспечения, подходящей для обобщенных повторно используемых фрагментов архитектуры.
- Разработка метода оценки качества внедрения предложенного подхода в программных продуктах.
- Реализация предложенного шаблона в виде новых фрагментов программ и изменений существующего кода. Анализ эффективности шаблона с помощью предложенной модели качества.
Методы исследования
В основе исследования лежит подход к проектированию приложений, основанный на выделении и повторном использовании шаблонов проектирования (pattern-oriented design).
При моделировании операции удаления примитива применялось объектно-ориентированное проектирование и язык моделирования UML. Для формализации последовательности действий оператора по осуществлению тестирования применена методология нисходящего проектирования.
Процесс разработки и практической реализации предлагаемых шаблонов следовал методологии экстремального программирования. Контроль качества 1 проектного решения проводился при помощи метода, предлагаемого моделью качества SQuaRE.
Результаты, выносимые на защиту
- Предложенная формальная модель операции удаления примитива редактирования в приложении-редакторе, позволяющая идентифицировать нетривиальные составляющие этой операции с точки зрения обеспечения ее обратимости - в виде статической структурной диаграммы UML.
- Метод проектирования операции удаления в приложениях-редакторах, обеспечивающий создание проектных решений, являющихся обратимыми операциями удаления. Метод представлен шаблоном проектирования, состоящим из формальной модели структуры операции удаления и ее ♦ алгоритмического обеспечения: алгоритма поддержания посредника в рабочем состоянии при удалении указуемого объекта, алгоритма выполнения удаления объекта с запоминанием его связей, алгоритма отмены удаления объекта с восстановлением связей.
- Предложенное обобщение модели качества SQuaRE для случая обобщенных повторно используемых фрагментов архитектуры.
- Разработанный метод оценки качества программных систем, основанный на интеграционном тестировании и дополняющий его приемами модульного тестирования с целью ускорения покрытия приложения тестами.
- Модули поддержки отмены выполняемых операций в программных продуктах «BNView» и «NGT Smart», на базе которых было проведено внедрение вышеперечисленных результатов. Результаты анализа эффективности работы разработанного и внедренного модуля.
Научная новизна
- Для операции удаления впервые построена формальная модель. Новизна модели состоит в том, что она выделяет составляющие состояния приложения, которые необходимо учитывать при восстановлении состояния приложения в ходе отмены осуществленной операции - тем самым, модель разбивает задачу разработки' шаблона на * связанные подзадачи. Модель позволяет в виде своих уточнений формулировать различные архитектурные решения задачи обратимой операции удаления объекта.
- Предложен метод проектирования обратимой операции удаления в различных приложениях-редакторах, основанный на парадигме шаблонного проектирования. Разработанный шаблон, в отличие от известных, учитывает связи между примитивами как часть состояния приложения, подлежающего восстановлению при отмене операции. Шаблон использует в качестве составных частей несколько шаблонов общего назначения и позволяет при разработке конкретных программных продуктов сокращать и повышать качество этапа проектирования за счет использования обобщенного и эффективного проектного решения.
- Для шаблона проектирования «посредник» построена специализация существующего шаблона, поддерживающая посредника в рабочем состоянии при удалении идентифицируемого им объекта. Этот вариант шаблона может использоваться как в обратимой операции удаления, так и для решения других задач - например, поддержки перемещения программного кода между компьютерами (code mobility).
- С целью информативного анализа качества предложенного шаблона обобщена модель качества SQuaRE. Предложенное обощение изменяет ряд критериев и метрик качества, входящих в SQuaRE, таким образом, что, в отличие от известных моделей, становится возможно применять набор критериев этой модели к анализу обобщенных повторно используемых фрагментов архитектуры.
- Для оценки качества программных систем, созданных на основе предложенного проектного решения, разработан метод создания каркаса автоматических тестов, основанный на интеграционном тестировании и отличающийся заимствованием ряда приемов, характерных для модульного тестирования, что позволяет при проектировании тестовых каркасов достичь более эффективной, динамики покрытия функций приложения во ■ времени. ) ?
Метод пригоден и для других классов приложений. . 1
Практическая значимость и внедрение результатов
- Метод оценки качества программных систем может использоваться для анализа качества программного обеспечения и поиска ошибок как в процессе проектирования ПО, так и в процессе сопровождения.
- Критерии и метрики предложенной модели качества, применимой для анализа обобщенных архитектурных решений, могут использоваться для сравнения различных архитектур с целью выбора наиболее подходящей, а также для выявления потенциальных проблем в анализируемой архитектуре.
- Программные модули для программных комплексов «BNView» и «NGT Smart», написанные с применением предложенного подхода к проектированию команды удаления примитива; облегченная системы самотестирования для этих комплексов, основанная на предложенной методике проектирования тестовых методов.
Результаты исследования внедрены в ООО «Уфимский научно-технический центр». Разработанное в процессе проведения экспериментальной части исследования программное обеспечение (комплексы «NGT Smart» и «BNView») зарегистрировано в реестре программ для ЭВМ Российского агентства по патентам и товарным знакам (свидетельства N 2010614274 и N 2011613115 [2,3]). Внедрение осуществлено в ОАО «НК Башнефть» и ООО «Газпромнефть-Хантос».
Связь исследования с научными программами
Исследования проводились в рамках НИР НК «Роснефть» 1980908-0067Д «Создание методологии информационного обеспечения интегрированного проектирования», а также грантов РФФИ №08-07-00495-а «Технологии распределённого искусственного интеллекта при поддержке принятия решений в задачах календарного планирования» (2008-2010 гг.) и № 06-07-89228-а «Система поддержки коммуникативных процессов при выполнении проектов фундаментальных исследований сложных систем на основе интеллектуальных мультиагентов» (2006-2008 гг.).
Апробация и публикации
Основные результаты диссертации докладывались на следующих конференциях и семинарах:
1. VII Международная научно-техническая конференция «Новые информационные технологии и системы» (Пенза, 2006).
2. The 9th International Workshop on Computer Science and Information Technologies CSIT'2007 (Уфа, 2007).
3. X Международная научно-практическая конференция «Наука и современность - 2011» (Новосибирск, 2011).
Список публикаций по теме диссертации содержит 8 работ, в том числе 2 статьи в рецензируемых журналах из списка ВАК и 2 свидетельства о регистрации программы для ЭВМ.
Благодарности
Автор выражает благодарность главному специалисту управления развития банковских систем ОАО «БАНК УРАЛСИБ» Кузьмину Илье Владимировичу за ценные замечания к некоторым разделам диссертации, а также начальнику отдела развития систем проектирования ООО «РН-УфаНИПИнефть» Якупову Рустему Назировичу за консультации и некоторые ценные идеи.
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Нечеткие методы и модели оценки потребительского качества веб-ориентированных информационных систем: теория, методология и инструментарий2008 год, доктор экономических наук Долженко, Алексей Иванович
Методы преобразования клиент-серверного программного обеспечения в сервис-ориентированное: на примере геоинформационных систем2010 год, кандидат технических наук Усов, Тимофей Михайлович
Лингвистическое и программное обеспечение автоматизированного проектирования устройств, функционирующих на волновых и квантовых принципах2011 год, кандидат технических наук Матвеева, Ирина Витальевна
Исследование и разработка методов моделирования и анализа объектов в САПР машиностроения2000 год, кандидат технических наук Лобанов, Алексей Викторович
Средства автоматизации структурно-функционального проектирования микропроцессорных систем с развитой поддержкой обучения2002 год, доктор технических наук Негода, Виктор Николаевич
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Гумеров, Максим Маратович
Основные результаты и выводы
1. Построена формальная модель операции удаления примитива редактирования. Модель описывает отношения между состоянием различных сущностей, участвующих в выполнении прямой и обратной операций удалений. Учитываются особенности таких связей, характерные для класса приложений-редакторов, обозначенного во Введении. Модель позволяет разбить задачу проектирования обратимой операции удаления примитива на отдельные подзадачи.
2. Разработан (на основе решения этих подзадач) метод проектирования обратимой операции удаления в приложениях-редакторах в виде шаблона проектирования. Шаблон опирается на известные шаблоны проектирования, такие как «Command», «Memento», «Builder», и включает удаляемый примитив, посредники для обеспечения дополнительного уровня косвенности ссылок на него, а также средства для диспетчеризации уведомлений о создании и удалении примитивов. Для исследуемой операции нет широко известных проектных решений, столь же полно охватывающих процесс удаления и восстановления примитивов. Предложенное решение позволяет сократить приблизительно на 20-25% этап проектирования при разработке системы? отмены операций для нужд конкретных приложений-редакторов, а также избежать заведомо неудачных проектных решений.
3. Разработана модель качества программного обеспечения, подходящая для оценивания качества обобщенных повторно используемых фрагментов архитектуры. Заимствуя общий подход к анализу качества у модели SQuaRE, опирающейся, в свою очередь, на стандарты ISO/IEC 9126 и ISO/IEC 14598, модель заменяет часть ее метрик на предложения других исследователей, что обеспечивает применимость модели для оценки качества обобщенных проектных решений, а не только лишь конкретных программных продуктов.
Разработка модели вызвана необходимостью привести обоснованную оценку* i качества предложенного в работе шаблона проектирования, притом, что существующие широко применяемые модели качества не учитывают специфики чисто архитектурных решений. Полученный результат позволяет проводить такую оценку, что может быть полезно как при анализе качества отдельно взятых вновь разрабатываемых проектных решений, так и при сравнении нескольких вариантов решений с целью выбора более подходящего.
4. Разработан метод контроля качества внедрения предложенного подхода в программных продуктах. Метод основывается на интеграционном тестировании, применяет к нему форму и некоторые практики модульного тестирования и состоит в вынесении заключения о работоспособности отдельных функций приложения по тому, что результаты их работы на тестовых данных не отличаются от замеренных ранее и признанных эталонными. Среди идей, заимствованных из исследований модульного тестирования - использование регрессионного тестирования в качестве основного (тогда как большая часть широко применяемых методик предполагает получение набора эталонных ответов вне тестируемой программы). Особенностью метода является использование приемов модульного тестирования с целью за короткое время покрыть тестами существенную часть функций приложения.
5. Разработанные шаблон и алгоритмы были внедрены в ПО «BNView»* и «NGT Smart» в виде отдельных модулей и в виде изменений обслуживающей инфраструктуры. В результате внедрения получена отменяемая операция удаления примитивов-слоев в документе. К началу внедрения шаблона операция удаления в приложении уже имелась, но не была отменяемой; внедрение позволило реализовать отмену.
6. Оценка качества шаблона, проведенная в соответствии с разработанной моделью качества, показала высокое качество проектного решения и его соответствие целям его создания. Вычисленные значения метрик приведены в таблице 7. Основные выводы по ним таковы:
• Шаблон соответствует парадигме Undo/Redo для перемещения вдоль истории изменений документа.
• Обобщенный алгоритм работы операции удаления в предложенном шаблоне имеет линейную сложность от числа ссылок на удаляемый примитив.
• Ни один из показателей качества архитектуры не свидетельствует о наличии архитектурных изъянов. Значения метрик приведены в таблице 7.
• Шаблон не содержит специальных мер по обеспечению безопасности и надежности работы приложения - поскольку такая задача и не ставилась в настоящей работе.
Эффективность предложенного метода тестирования приложений также, согласно экспертным оценкам, существенна, метод успешно справляется с поставленной задачей - быстрое обеспечение легко расширяемого покрытия тестами.
Список литературы диссертационного исследования кандидат технических наук Гумеров, Максим Маратович, 2011 год
1. Программный комплекс «BNView» // Свидетельство об официальной регистрации программ ЭВМ. — 2011. — N 2011613115.
2. Программный комплекс «NGT Smart» // Свидетельство об официальной регистрации программ ЭВМ. 2010. - N 2010614274.
3. Пользователь DRogov. Технический отчет сотрудников Developer Express: «Undo/Redo — Хвост виляет собакой» / Хабрахабр.ру, 2010 — http://habrahabr.rU/company/devexpress/blog/l 04167/
4. R. Osherove. The Art of Unit Test. Manning Publications, 2009, 320 р., ISBN 9781933988276
5. Гумеров M.M., Фридлянд A.M. «Модели операции удаления примитивов редактирования в прикладных программных продуктах» // Вестник УГАТУ, том 11, №1,2008. С. 157-163.
6. F. Buschmann, К. Henney, D. Schmidt "Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing", John Wiley & Sons, 2007
7. K. Beck "Implementation Patterns", Addison-Wesley, 2007
8. М. Gumerov "Reversing Deletion of a High-Coupled Object" // CSIT'2007 Proceedings, Sept 2007. Vol 3, pp. 177-179.
9. M.M. Гумеров, A.M. Фридлянд. Быстрое введение модульного тестирования в частично завершенный программный продукт / Инфокоммуникационные технологии. Самара: поволжская государственная академия телекоммуникаций и информатики, том 5, №4, 2007. С. 66-72.
10. Performance Analysis of a Middleware Demultiplexing Pattern — http://ieeexplore.ieee.org/Xplore/login.isp?url=http://ieeexplore.ieee.org/iel5/ 4076361/4076362/04076964.pdf%3Farnumber%3D4076964&authDecision= -203
11. M. Гумеров, И. Костригин "Некоторые проблемы реализации отменыIопераций в приложениях" // Новые информационные технологии и системы: Труды VII международной научно-технической конференции. Пенза: ПТУ, 2006, том 2, с. 104-109.
12. R. Ashlock "Error Patterns in Computation: Using Error Patterns to Improve Instruction", Prentice Hall Publishers, 2005.
13. А.В. Кириллов. Функции тестирования в PHP-проектах. -http://hostinfo.ru/articles/516
14. INTERNATIONAL STANDARD ISO/IEC 25000:2005 Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE.
15. M. Kircher, P. Jain "Pattern-Oriented Software Architecture Volume 3: Patterns for Resource Management", John Wiley & Sons, 2004
16. S. Bjork, J. Holopainen "Patterns in Game Design", Charles River Media, 2004
17. С. Турин "Расширение возможностей паттерна Command" RSDN Magazine, #5-2004 - Москва: «Оптим.Ру», 2004.
18. J.W. Newkirk; A.A. Vorontsov. Test-Driven Development in Microsoft® .NET. Microsoft Press, 2004, 304 p.
19. M. Feathers. Working Effectively with Legacy Code. Prentice Hall, 2004, 456 p., ISBN 9780131177055
20. G. Hohpe, B. Woolf "Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions", Addison-Wesley, 2003
21. Б. Тейт "Горький вкус Java", СПб: «Питер», 2003.
22. А. Мартынов "Back/Forward и Undo/Redo в .NET-приложениях " / RSDN Magazine, #2-2003 Москва: «Оптим.Ру», 2003.
23. К. Бек. Экстремальное программирование: разработка через тестирование. СПб.: Питер, 2003. - 224 с.:ил.
24. Kan S.H. Metrics and Models in Software Quality Engineering, 2nd Edition. Addison Wesley, 2002, 512p., ISBN:0201729156.
25. M. Fowler "Patterns of Enterprise Application Architecture", Addison-Wesley, 2002
26. Beck, K. Test Driven Development: By Example, Addison-Wesley, 2002, 240 p., ISBN:0321146530.
27. С. Канер, Дж. Фолк, E.K. Нгуен. Тестирование программного обеспечения. Киев: Диасофт, 2001. - 544 с.
28. D. Schmidt, М. Stal, Н. Rohnert, F. Buschmann "Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects", John Wiley & Sons, 2000
29. D.L. Levine, C.D. Gill, and D.C. Schmidt , "Object Lifetime Manager: a complementary pattern for controlling object creation and destruction", C++ Report, 12(1), 2000.
30. M. Zhang, K. Wang. Implementing Undo/Redo in PDF Studio Using Object-Oriented Design Pattern // in Proc. TOOLS-Asia'OO, 2000, pp.58.
31. Jones, C. Software Assessments, Benchmarks, and Best Practices, Boston: Addison-Wesley, 2000.
32. M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999,464 p., ISBN: 9780201485677
33. W. Hudson, "Explicit Object Lifetime Management in C++" / M.Sc. dissertation, 1998
34. J. Alger, "C++ for real programmers", Academic Press, 1998.
35. A. Stevens. Undo/Redo Redux / Dr. Dobb's Journal, №1, 1998 -http://www.ddi.com/184410722
36. D. Channel. Understanding ActiveX and OLE. Microsoft press, 1996.
37. T. Cargill, "Localized Ownership: Managing Dynamic Objects in C++" // in Proc. PLoP'95, Addison-Wesley, 1996
38. A.H. Watson, T.J. McCabe, D.R. Wallace. Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric // NIST Special Publication, National Institute of Standards and Technology, Sept. 1996, Gaithersburg, pp. 500-235.
39. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
40. R. Choudhary, P. Dewan. A general multi-user undo/redo model // in Proc. ECSCW, 1995, Stockholm, pp. 231-246.
41. W. Zimmer, etc. Relationships Between Design Patterns / Pattern Languages of Program Design, Addison-Wesley / ACM Press, 1995, pp. 345-364.
42. Chidamber, S., Kemerer, C. A Metrics Suite For Object Oriented Design // IEEE Transactions on Software Engineering, Vol. 20, No. (6), June 1994, pp. 476 493.
43. T. Berlage, A. Genau. From Undo to Multi-User Applications // in Proc. VCHCI '93, Sept. 1993, pp. 213-124.
44. Lorenz M. Object-Oriented Software Development: A Practical Guide. Prentice-Hall, 1993, 227 p., ISBN:0-13-726928-5.
45. Boehm, В. A Spiral Model of Software Development and Enhancement. IEEE Computer. 21(5). Pp 61-72. 1988.
46. P.A. Bernstein, V. Hadzilacos, N. Goodman. Concurrency Control and Recovery in Database Systems. Addison Wesley, 1987, 370 p., ISBN 9780201107159
47. L. Tesler. An Introduction to MacApp 0.1 // OOPSLA'86 Proceedings, September 1986.
48. C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King, S. Angel "A Pattern Language", Oxford University Press, 1977.
49. EventHelix.com. Программный продукт EventStudio System Designer. -http://www.eventhelix.com/
50. Разработка ПО: модели жизненного цикла / Колдовский В. // Компьютерное обозрение. 2005.- №24,- С. 56-59.113 IIЪ П.А
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.