Автоматический синтез диаграмм классов языка UML на основе ассоциативных отношений предметной области тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат наук Бикмуллина Ильсияр Ильдаровна

  • Бикмуллина Ильсияр Ильдаровна
  • кандидат науккандидат наук
  • 2017, ФГАОУ ВО «Казанский (Приволжский) федеральный университет»
  • Специальность ВАК РФ05.13.11
  • Количество страниц 253
Бикмуллина Ильсияр Ильдаровна. Автоматический синтез диаграмм классов языка UML на основе ассоциативных отношений предметной области: дис. кандидат наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. ФГАОУ ВО «Казанский (Приволжский) федеральный университет». 2017. 253 с.

Оглавление диссертации кандидат наук Бикмуллина Ильсияр Ильдаровна

ВВЕДЕНИЕ

Глава 1. АНАЛИЗ ПРОЦЕССА ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

1.1. Аналитический обзор современных технологий программирования и подходов

1.1.1. Основные этапы развития языков спецификации задач, программирования и технологий программирования

1.1.2. Анализ объектно-ориентированной технологии разработки программного обеспечения

1.1.3. Анализ языков представления данных и знаний

1.1.4. Тенденции развития современных технологий программирования

1.1.5. Выводы на основе анализа логики задач проектирования программного обеспечения

1.2. Проектирование программного обеспечения с использованием модели ЦМЪ

1.2.1. Достоинства и недостатки ЦМЪ

1.2.2. Особенности диаграммы классов ЦМЪ

1.3. Интеллектуальные технологии проектирования программного обеспечения

1.3.1. Семантическая онтология как инструмент моделирования ПрО

1.3.2. Семантические технологии проектирования интеллектуальных систем

1.3.3. Семантико-аксиологическая фильтрация информации

1.4. Автоматизация структурного синтеза объектов проектирования

1.4.1. Актуальность рассматриваемой в исследовании проблемы

1.4.2. Предлагаемое решение проблемы

1.4.3. Общая характеристика исследования

1.4.4. Постановка задач исследования

1.4.5. Предлагаемая методика автоматизированного процесса проектирования

1.5. Выводы по главе

Глава 2. МОДЕЛИРОВАНИЕ АССОЦИАТИВНЫХ ОТНОШЕНИЙ ПРЕДМЕТНОЙ ОБЛАСТИ В ЗАДАЧАХ СИНТЕЗА СТРУКТУРНЫХ МОДЕЛЕЙ ПРОГРАММНЫХ СИСТЕМ

2.1. Определение понятия

2.1.1. Структурное описание понятия

2.1.2. Семантическая сочетаемость понятий предметной области

2.2. Формализация задачи семантического моделирования структуры предметной области

2.2.1. Предпосылки

2.2.2. Абстрактные типы предметной области

2.2.3. Модели предметной области

2.2.4.Формальный язык описания структуры предметной области

2.4. Выводы по главе

Глава 3. РАЗРАБОТКА МЕТОДИКИ СИНТЕЗА ДИАГРАММ КЛАССОВ

3.1. Переход от понятий к классам

3.1.1. Структурное описание класса

3.1.2. Образование класса

3.2. Описание семантических структурных отношений диаграмм классов

3.2.1. Правила иерархии классов

3.2.2. Множество иерархических структур диаграмм классов

3.2.3. Иерархические отношения

3.2.4. Неиерархические модели абстрактных структур предметной области

3.3. Разработка математического описания семантических структурных

отношений диаграммы классов

3.4. Перевод описания предметной области в позитивно-образованные формулы

3.4.1. Позитивно-образованные формулы

3.4.2. Синтез позитивно-образованных формул

3.5. Выводы по главе

Глава 4. РАЗРАБОТКА ИНФОРМАЦИОННОЙ ТЕХНОЛОГИИ АВТОМАТИЧЕСКОГО СИНТЕЗА СТРУКТУРНЫХ МОДЕЛЕЙ ПРОГРАММНЫХ СИСТЕМ И ЭКСПЕРИМЕНТАЛЬНЫЕ

ИССЛЕДОВАНИЯ

4.1. Формальное описание синтаксиса языка эксперта

4.1.1. Метаязык

4.1.2. Формальное описание синтаксиса языка SL/ Prof

4.2. Автоматизированный семантический синтез структурной модели

4.2.1. Информационная технология семантического моделирования диаграммы классов

4.2.2. Разработка архитектуры и структур данных AvtosintezUML

4.2.3. Развитие AvtosintezUML

4.3 Экспериментальные исследования

4.3.1. Прикладная программа управления испытательным стендом

4.4. Выводы по главе

ЗАКЛЮЧЕНИЕ

Список сокращений и условных обозначений

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

Приложения

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Автоматический синтез диаграмм классов языка UML на основе ассоциативных отношений предметной области»

ВВЕДЕНИЕ

«Технология конструирования программного обеспечения(ПО) является системой инженерных принципов по созданию экономичного ПО, надежно, эффективно работающее в реальных компьютерах»[1, 2, 3].

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

На основе анализа данной технологии была выделена проблема исследования:

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

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

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

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

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

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

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

Цель исследования:

1. снижение сложности входного языка описания структурных отношений ПрО до уровня доступности прикладным экспертам;

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

Диссертационная работа содержит решение следующих задач:

1. «анализ существующих методов синтеза структурных моделей информационных систем» [4];

2. разработка методики моделирования ассоциативных отношений ПрО;

3. разработка методики синтеза вариантных моделей диаграмм классов с неиерархическими связями на основе семантического анализа ассоциативных отношений ПрО;

4. разработка архитектуры автоматизированной системы синтеза структурных моделей программ;

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

«Методы исследования. Для теоретического и практического решения поставленных задач были использованы методы теории графов, математической логики, объектно-ориентированные технологии анализа и синтеза систем, семантического моделирования; стандарты UML» [4, 3].

Научная новизна заключается в следующем:

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

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

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

На защиту выносится:

1. Язык и методика описания ассоциативных отношений ПрО экспертом.

2. Методика автоматического синтеза диаграмм классов на основе ассоциативных отношений ПрО.

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

Основное содержание диссертации размещено в четырех главах.

В первой главе проведен аналитический обзор, как современных технологий разработки программных систем, так и анализ семантических технологий проек-

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

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

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

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

По тематике работы опубликовано 33 печатных работ, из которых 4 - научные статьи в рецензируемых журналах, рекомендованных ВАК.

Глава 1. АНАЛИЗ ПРОЦЕССА ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

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

1.1. Аналитический обзор современных технологий программирования и

подходов

Современная технология разработки программных систем строится по схеме:

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

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

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

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

Более подробно каждый этап будет рассмотрен в следующих разделах.

1.1.1. Основные этапы развития языков спецификации задач, программирования и

технологий программирования

В настоящем разделе используются следующие определения.

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

Язык программирования - это язык описания задачи для обработки компьютером.

«Технология программирования - совокупность приемов, используемых при разработке ПО» [5, 6].

«В 50-е годы мощность компьютеров была невелика (компьютеры первого поколения), а программирование для них велось, в основном, в машинном коде. Решались главным образом научно-технические задачи (счет по формулам), задание на программирование уже содержало, как правило, достаточно точную постановку задачи. Использовалась интуитивная технология программирования: почти сразу приступали к составлению программы по заданию, при этом часто задание несколько раз изменялось (что сильно увеличивало время и без того итерационного процесса составления программы), минимальная документация оформлялась уже после того, как программа начинала работать. Тем не менее, именно в этот период родилась фундаментальная для технологии программирования концепция модульного программирования [7] (для преодоления трудностей программирования в машинном коде). Появились первые языки программирования высокого уровня, из которых только язык ФОРТРАН пробился для использования в следующие десятилетия» [8].

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

С середины 50-ых гг. XX в. разрабатываются первые языки программирования высокого уровня (high-level language), такие как FORTRAN I (FORmula TRANslator; 1954), COBOL (Common Business-Oriented Language; 1959), ALGOL-58. Программы, основанные на этих языках, имели простейшую структуру. Появившиеся языки высокого уровня, были способны освоить специалисты (эксперты) ПрО. Это позволило решить проблему нехватки программистов: простые по

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

«60-е годы были обусловлены развитием и широким использованием языков программирования высокого уровня таких, как: ALGOL-6O, FORTRAN II, COBOL и др» [8].

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

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

Для решения проблем при разработке программ началось использование подхода «снизу-вверх» (обратное проектирование). В данном подходе вначале проектировались и реализовывались частные алгоритмы, а затем над полученными программными модулями надстраивались объединяющие программы. Однако при сборке этого программного продукта появлялись ошибки согласования. По мнению автора Якунина Ю. Ю.[6], в данный период времени возникла необходимость разработки технологии создания сложных программных продуктов, которая позволяет снизить вероятность появления указанных ошибок. Такая технология была разработана, и «она была названа структурным подходом к программированию. Наиболее известные языки этой группы: PL/1, ALGOL-68, Pascal(1970), С(1971)»[6]. «Проектирование теперь осуществлялось «сверху-вниз» (прямое проектирование) и подразумевало реализацию общей идеи, обеспечивая проработку интерфейсов подпрограмм. Одновременно вводились ограничения на конструкции алгоритмов, рекомендовались формальные модели их описания» [6].

«В обиход постепенно были введены графические языки моделирования, начало разработки, которых связано с именем Дугласа Росса (в 60-х годах XX века). Графический язык Росса послужил стимулом для создания в США целого семейства методов моделирования и проектирования сложных систем, обозначаемых аббревиатурой IDEF» [9].

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

«Таким образом, 60-70-е гг. ХХ в. обуславливают структурный подход к программированию» [6].

В конце 60-х годов ХХ века, по мнению авторов Вендрова А.М.[5] и Якунина Ю.Ю.[6], «в США отмечалось такое явление, как «software crisis». Явление «software crisis» характеризовалось нехваткой программистов для реализации больших проектов, превышением смет расходов, отставанием от графика проектных работ. Все это сказывалось на качестве получаемого ПО»[6].

«Дальнейший рост сложности и размеров разрабатываемого ПО потребовал изменения парадигмы создания ПрО. Ответом на «software crisis» стал объектный подход. Объектная структура программы впервые была использована в языке имитационного моделирования сложных систем Simula, появившемся еще в 60-х годах XX века. Естественный для языков моделирования способ представления программы получил развитие в другом специализированном языке моделирования - языке Smalltalk (70-е годы XX в.), а затем был использован в новых версиях универсальных языков программирования, таких как Pascal, C++, Modula, Java» [6].

«80-е годы обусловлены широким внедрением персональных компьютеров во все сферы человеческой деятельности, благодаря чему расширяется контингент пользователей программных систем, а также развиваются пользовательские интерфейсы» [7, 10]. По мнению Жоголева Е.А., появляются такие языки программирования как Ада [11], «которые позволяют учитывать требования технологии

программирования» [11]. «Объектный подход» [12] начинает привлекать к себе все больше разработчиков ПО.

«Появившееся объектно-ориентированное программирование расширилось одноименной технологией, основанной на представлении программы в виде совокупности объектов, управление программой осуществляется путем передачи от объекта к объекту сообщений, требующих выполнения запланированного в данный момент действия» [б]. «В объектно-ориентированной технологии анализа и проектирования сложных систем используется язык UML (Unified Modeling Language)» [13]. UML появился в конце S0-x, авторами языка являются: Grady Booch, James Rumbangh и Ivar Jacobson.

UML - это унифицированный язык моделирования, являющийся относительно открытым стандартом, находящимся «под управлением группы OMG (Object Management Group - открытый консорциум компаний)» [15, 14]. Группа OMG создает стандарты, поддерживающие межсистемное взаимодействие, включая и объектно-ориентированных систем. UML является визуальным языком для создания объектно-ориентированных моделей самых разнообразных систем [1б]. UML является визуальным языком моделирования общего назначения [17]. В начале язык UML использовался как язык спецификации задач, но постепенно он стал входным языком систем автоматизации программирования - CASE-технологий.

90-е годы - «развитие CASE-технологий (Computer Aided Software Engineering - программная инженерия с компьютерной поддержкой) разработки программных систем и связанных с ней формальных методов спецификации ПО» [б]. CASE является системой средств автоматизированной разработки ПО.

В России широко распространены следующие ПО, использующие CASE-средства, поддерживающие объектно-ориентированный метод: «фирмы Rational Software Corporation - ПО Rational Rose Enterprise Edition 2000/2002, фирмы Oracle Oracle - Developer Suite 2000 и др»[Щ. UML, «положен в основу CASE-средства Rational Rose Enterprise Edition, сотрудником фирмы, его разработавшей, в насто-

ящее время является Grady Booch» [18]. По мнению Grady Booch используя CASE-мышление, программист повысит качество разрабатываемых им ПО, так как программные объекты в моделях UML визуализируются настолько наглядно, что возникает возможность найти ошибки, недоработки в разрабатываемой модели, легко этой моделью манипулировать. Что при ручном кодировании программисту будет достаточно сложно осуществить.

Технология разработки ПО с использованием CASE - средств включает:

- разработку словаря ПрО;

-разработку диаграммы, используя UML;

- синтез программ.

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

Итак, на основе анализа выше сказанного получаем, что:

1) объектно-ориентированная методология играет существенную роль в разработке ПО.

2) в основе CASE-средств лежит моделирование диаграмм UML, поэтому повышение уровня автоматизации разработки программного обеспечения может быть связано с автоматизацией синтеза диаграмм UML.

3) структурные модели программной системы в виде диаграммы классов (class diagram) занимают центральное место в объектно-ориентированном анализе и разработке программ, поэтому автоматизацию синтеза диаграмм UML естественно начать с автоматизации синтеза диаграмм классов.

4) языком спецификации задач стали онтологии.

5) для трансформации онтологий в «язык программирования» необходимо сделать ее исполняемой компьютером; данная задача в настоящее время в общем виде не имеет решения.

1.1.2. Анализ объектно-ориентированной технологии разработки программного

обеспечения

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

«Технологией программирования называют совокупность методов и средств, используемых в процессе разработки ПО» [6]. «Таким образом, технологическим процессом (ТП) разработки ПО (software process) является множество методов, процедур, практических приемов, использующихся при разработке и сопровождении ПО, а также множество связанных с ним продуктов, таких как: проектные документы, планы, коды и руководства пользователя»[25]. «Методы разработки программного обеспечения — это синтезированная дисциплина, в которой для составления алгоритмов используются математические методы, для оценки затрат и выбора компромиссных решений — методы инженерных расчетов, для определения требований к системе, учета ситуаций, связанных с потерями, организации работы исполнителей и прогнозирования — методы управления»

[19].

В каждом ТП отражаются:

1) требования к процессу (формальное описание того «что» собой представляет процесс);

2) архитектура процесса («как» процесс будет определен);

3) «описание техпроцесса в рамках программного проекта (инструментальные средства автоматизации проектирования интеллектуальных систем, средства информационной поддержки разработчиков интеллектуальных систем)»[22];

4) результаты внедрения процесса в среду разработки ПО, для которой он был разработан.

Основные компоненты ТП обычно таковы:

- элементы ТП;

- архитектура ТП;

- «описание жизненного цикла (ЖЦ - это период разработки и эксплуатации (использования), начиная от момента возникновения замысла ПС и кончая прекращением всех видов его использования)» [8, 18, 20, 21] ПО;

- критерии для настройки стандартного ТП;

- база данных (БД) ТП;

- библиотека документаций.

«Технологии создания программных систем играют разную роль на разных этапах развития программирования»[20,21,88]. Факторы, приведшие к повышенному вниманию к технологии создания программных систем:

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

2) «Резкое понижение стоимости хранения информации на компьютерных носителях и стоимости компьютеров способствовало широкому внедрению компьютеров практически во все сферы человеческой деятельности»[20,21]. Отсюда, человеческий фактор стал играть в ней одну из основных ролей, что существенно изменило направленность технологии создания программных систем.

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

сы»[20,21,5,4]. Отсюда появляется необходимость моделирования автоматизируемых систем.

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

«Бессистемное применение технологий создания ПО, в свою очередь, порождает разочарование в используемых методах и средствах и является причиной распространения «хаотического» процесса создания ПО. Разрабатываются такие подходы как «Быстрая разработка ПО» (Agile software development, 2001)» [5]. -«Причем одним из наиболее известных примеров практической реализации «Быстрая разработка ПО» подхода является «Экстремальное программирование» (Extreme Programming - XP)»[5, 88]. В настоящее время возникла необходимость усовершенствование технологии разработки программных систем с целью создания защиты от некорректных действий пользователя (foolproof).

Каждый маленький элемент технологии процесса разработки ПО, теперь уже огромного процесса разработки программных систем играет очень большое значение[6]. «Надежды организаций-разработчиков ПО на рост производительности труда и качество создаваемого программного продукта, связываемые с внедрением новых методологий и технологий, не оправдались. Разработчики ПО пришли к выводу, что их основные проблемы коренятся в неспособности эффективно управлять процессом разработки ПО. Даже самые хорошие методы и инструменты не могут быть рационально использованы в рамках недисциплинированного,

хаотического проекта. Качество программного продукта остается непредсказуемым, так как нет объективного базиса для его достижения. Изменить ситуацию можно только в результате создания инфраструктуры для поддержки процесса эффективной программной инженерии и сопровождения» [23]. Для построения такой инфраструктуры организации-разработчики должны иметь:

а) средства оценивания их способности успешно выполнять технологический процесс (ТП) разработки ПО;

б) руководства по улучшению возможностей своего ТП.

Чаще всего техпроцессы проектов разрабатываются путем настраивания стандартного ТП[88] организации под характеристики конкретного проекта. При этом разработчику, прежде чем создать «программу на удобном для него языке программирования, приходится проделывать большую подготовительную работу по уточнению постановки задачи, пониманию системы (осмысленно перебрать все пути взаимодействия между ее элементами), описанию ПрО, выбору метода решения данной задачи, выяснению специфики области применения создаваемой программы, прояснению общей организации, архитектуры разрабатываемой программы и многое другое»[25]. Описание задач, ПрО обычно формулируется экспертами данной ПрО не формально. Задача ТП - научиться делать большие системы простыми.

«В объектно-ориентированной технологии с использованием языка ЦМЪ используются следующие виды диаграмм (см. таблицу 1.1).

Таблица 1. 1

«Structure Diagrams»: «Структурные диаграммы»:

«Class_diagram»; «Классов»;

«Component_diagram»; «Компонентов»;

«Composite_structure_diagram»; Композитной/составной структуры

«Collaboration_(UML2.0)»; «Кооперации (ЦМЪ2.0)»;

«Deployment_diagram»; «Развёртывания»;

«Obj ect_diagram»; «Объектов»;

«Package_diagram» ; «Пакетов»;

«Profile diagram (UML2.2)». Профилей (ЦМЪ2.2).

«Behavior Diagrams»: Диаграммы поведения:

«Activity_diagram» ; Деятельности;

« State_Machine_diagram» ; Состояний;

«Use_case_diagram». Вариантов использования.

Interaction Diagrams: Диаграммы взаимодействия:

«Communication diagram (UML2.0)/ Коммуникации (ЦМЪ2.0) / Коопера-

Collaboration_(UML 1 .x)» ; ции (ЦМЫ.х);

Interaction_overview_diagram Обзора взаимодействия (ЦМЪ2.0);

(UML2.0) Последовательности;

« Sequence_diagram» ; «Синхронизации (ЦМЪ2.0)».

«Timing diagram (UML2.0)».

«Основные подходы к ведению объектно-ориентированного анализа и про-

ектирования - основанные на языке UML:

- Подход Шлеер-Меллора (Sally Shlaer and Stephen Mellor).

- Подход Гради Буча (GradyBooch).

- Подход Джеймса Рамбо (Object Modelling Technique James Rumbangh -ОМТ).

- Подход Ивара Якобсона (Object-Oriented Software Engineering Ivar Jacobson - OOSE)»[24].

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Список литературы диссертационного исследования кандидат наук Бикмуллина Ильсияр Ильдаровна, 2017 год

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

1. Bjarne Stroustrup. What Should We Teach New Software Developers? Why? // Communications of the ACM.-2010.- Vol. 53 № 1. - С. 40-42.

2. Sommerville Ian. Software Engineering. //Addison-Wesley Publishing Company. - 1992.

3. Бикмуллина, И.И. Разработка информационной технологии синтеза / И.И. Бикмуллина, И.А. Барков, А.П. Кирпичников // Вестник технологического университета. - Казань, 2016. - Т. 19, № 24. - с. 96-101.

4. Бикмуллина, И.И. Автоматизированное проектирование структурных моделей на основе семантических моделей предметной области / И.И. Бикмуллина // Молодые ученые основа будущего машиностроения и строительства: сборник трудов Международной научно-практической конференции. - Курск, 2014. - с. 55-59.

5. Вендров, А.М. Современные технологии создания программного обеспечения. Обзор.//Jet Info Online. - 2004. - № 4(131).

6. Якунин, Ю.Ю. Технологии разработки программного обеспечения. Версия 1.0: электрон. учеб. пособие / Ю. Ю. Якунин. - Красноярск : ИПК СФУ, 2008.

7. Жоголев, Е.А. Система программирования с использованием библиотеки подпрограмм// Система автоматизация программирования. - М.: Физматгиз, 1961. С. 15-52.

8. Жоголев, Е.А. Технология программирования. М.: Научный мир, 2004.

9. Источник информации по теме legal: [Электронный ресурс]. 1999-2017. Режим доступа: www.idef.org. - 2014.

10. Шнейдерман, Б. Психология программирования. - М.: Радио и связь,

1984.

11. Кауфман, В.Ш. Языки программирования. Концепции и принципы. - М.: ДМК Пресс, 2011. - 464 с.

12. Буч, Г. Объектно-ориентированное проектирование с примерами применения: пер. с англ. - М.: Конкорд, 1992.

13. Рамбо, Дж.ЦМЬ: специальный справочник/ Дж. Рамбо, А. Якобсон, Г. Буч.- СПб.: Питер, 2002. - 656 с.

14. The Object Management Group [Электронный ресурс]. USA., 2017. Режим доступа: http://www.omg.org/

15. Bernardi Simona, Jos'eMerseguer, Dorina C. Petriu. DependabilityModeling and Assessment in UML-Based Software Development //The ScientificWorld Journal. -2012. - Article ID 614635. - с. 11.

16. Dal Cin M. Extending UML towards a Useful OO-Language for Modeling Dependability Features // University of Erlangen-Nurnberg, Informatik. Germany. -№3.

17. Bondavalli Andrea, Dal Cin Mario, Latella Diego, Majzik Istvan, Andras Pa-taricza, Giancarlo Savoia. Dependability analysis in the early phases of UML-based system design //International Journal of Computer Systems Science & Engineering.

18. Бикмуллина, И.И. Разработка информационной технологии структурного синтеза на основе семантических моделей / И.И. Бикмуллина // Актуальные проблемы разработки и применения новых материалов и технологий: сборник трудов Всероссийской молодежной научной конференции. - Саратов, 2013. - c. 634-641.

19. Калайда, В.Т. Технология разработки программного обеспечения: Учебное пособие/ В.Т. Калайда, В.В. Романенко. — Томск: Томский межвузовский центр дистанционного образования, 2007. — 257 с.

20. Зубков, Т.М. Технология разработки программного обеспечения: Учебное пособие. - Оренбург: ГОУ ОГУ, 2004.- 101 с.

21. Орлов, С.А. Технологии разработки программного обеспечения: Учебное пособие. - СПб.: Питер, 2002.- 464 с.

22. Голенков, В. В. Графодинамические модели параллельной обработки знаний: принципы построения, реализации и проектирования/ В.В. Голенков, Н.А. Гулякина. 0SIS-2012 с. 23-27

23. Загорулько Ю.А. Технологии разработки интеллектуальных систем, основанные на интегрированной модели представления знаний/ Ю.А. Загорулько //Белорусский государственный университет информатики и радиоэлектроники: сборник трудов II международной научно-технической конференции «открытые семантические технологии проектирования интеллектуальных систем(OSTIS -2013)». - Минск, 21-23 февраля 2013. - с. 31-42.

24. Технологии программирования (Software Engineering) [Электронный ресурс]/ Donald Ervin Knuth. Режим доступа: http://bourabai.ru/alg/technology02.htm.

25. Бикмуллина, И.И. Современные парадигмы программирования информационных технологий структурного синтеза / И.И. Бикмуллина // Интеграция науки и практики: взгляд молодых ученых: сборник трудов Всероссийской научно-практической конференции магистрантов и аспирантов. - Саратов, 2014. - с. 36-38.

26. Knuth Donald E. The Art of Computer Programming, 1: Fundamental Algorithms (3rd ed.), Addison-Wesley Professional (1997). ISBN 0-201-89683-4.

27. Крачтен,Ф. Введение в Rational Unified Process. Изд. 2-е.- М.: Издательский дом "Вильямс", 2002. - 240 с.: ил.

28. Трофимов, С. Рабочие процессы RUP и диаграммы UML 10.05.2003 Trofimov Sergey Режим доступа: http://www.caseclub.ru/

29. Якобсон, А. Унифицированный процесс разработки программного обеспечения / А. Якобсон, Г. Буч, Дж. Рамбо. - Спб.: Питер, 2002. - 496 с.: ил.

30. Глоба, Л. С. Метод организации слабосвязанных информационных ресурсов на порталах знаний/ Л.С. Глоба, М.Ю. Терновой, Р.Л. Новогрудская В сб. 0SIS-2013.- Минск, 2013.- с. 49-54.

31. [Электронный ресурс] Режим доступа: http://www.rational.com

32. Ивашенко, В.П. Унифицированное представление и интеграция знаний -Ostis-2013 - 2013.- с.171-184.

33. Построение онтологий [Электронный ресурс]. Режим доступа: http://ribeyebar.ru/dlya-studenta/5-kurs/v-doklade-rassmatrivayutsya-voprosy-

postroeniya-ontologii-razrabaty/.

34. Кнублаух, Х. Введение в семантическую паутину для разработчиков объектно-ориентированного программного обеспечения [Электронный ресурс]//Х. Кнублаух, Д. Оберле, Ф. Тетлоу, Э. Уоллес. 2006. Режим доступа: http://kodigy.com/w3c/sw-oosd-primer-ru.html.

35. Бикмуллина, И.И. Сравнительный анализ нотаций AnyLogic/IDEF и продуктов их поддерживающих (AnyLogic/BPWin) / И.И. Бикмуллина // XIX Ту-полевские чтения: сборник трудов Международной молодежной научной конференции. - Казань, 2011. - c. 10-11.

36. Бикмуллина, И.И. Технология автоматизированного синтеза информационных систем с помощью семантических моделей предметной области/ И.И. Бикмуллина // OSTIS: сборник трудов Международной научно-технической конференции. - Минск, 2015. - c. 445-450.

37. Новиков, Ф.А. Учебно-методическое пособие по дисциплине Анализ и проектирование на UML.

38. Colomb, R.M. Ontology and the Semantic Web -IOS Press - 2007. - 272 p.

39. Система управления бизнес-процессами [Электронный ресурс]. М., 2006-2017. Режим доступа: http://www.elma-bpm.ru/bpmn2/

40. Волков, Ю.О. «Диаграммы для описания бизнес-процессов». [Электронный ресурс] «PC Week/Russian Edition», №35 (545) 2006г., стр. 39-40 Режим доступа: http://yurivolkov.com/articles/Diagrams_for_business_ processes_ru.html.

41. Workflow Management Coalition Workflow Standard Process Definition Interface - XML Process Definition Language Document Number WFMC-TC-1025 [Электронный ресурс]. - USA, v.2.00, 2005. Режим доступа: http://www.wfmc.org/ standards/docs/TC- 1025_xpdl_2_2005-10-03.pdf.

42. Волков, Ю.О. «Новый взгляд на описание бизнес-процессов» [Электронный ресурс]./Ю.О. Волкова/ZPC Week/Russian Edition.-2005.-№34 - с.42, 55 -Режим доступа: http://yurivolkov.com/articles/New_view_on_business_process_ de-scription_ru.html.

43. TomGruber.org and RealTravel.com « Ontology of Folksonomy: A Mash-up of Apples and Oranges»/Published in Int'l Journal on Semantic Web & Information Systems.-2007.- 3(2). Originally published to the web in 2005.

44. Медведев, В.И. Программирование на С++,С++.NET/С#:учеб. пособие.-Казань: Изд-во Мастер Лайн, 2005. - 270 с.

45. Паронджанов, В. Д. ЯЗЫК ДРАКОН: [Электронный ресурс]. Режим доступа: http://drakon.su/_media/biblioteka/ drakondescription.pdf.

46. Репин, В.В. «Сравнительный анализ нотаций»: [Электронный ресурс], finexpert.ru, 2001. Режим доступа: http://www.interface.ru/fset.asp?Url=/ ca/ an/ danaris 1.htm.

47. Бахтизин, В.В. Учебное издание Технология разработки программного обеспечения/ В.В. Бахтизин, Л. А. Глухова // «Белорусский государственный университет информатики и радиоэлектроники».-Минск.-Режим доступа: http://www.interface.ru/iarticle/files/35798_52840953.pdf

48. Николаев А. Визуальное проектирование на основе SysML. Язык UML стал стандартом общения между участниками крупных проектов разработки программного обеспечения [Электронный ресурс]/ А. Николаев, С. Зыль // Эл. журнал «Открытые системы». - 2006. - N 5. - Режим доступа: http://www.osp.ru/os/2006/05/2449867/.

49. Сторож, В.В. Семантика и онтологии в естественных и искусственных системах - OSTIS-2014 - 2014.- 576 с.

50. Осуга, С. Обработка знаний: Пер. с япон.-М.: Мир,1989.-289 с.

51. Зюзьков, В.М. Математическое введение в декларативное программирование, 2003 - 83 с.

52. Грибова, В.В. Облачные семантические технологии проектирования интеллектуальных сервисов/ В.В. Грибова, А.С. Клещев // OSIS-2013 c.25-30.

53. Загорулько, Ю.А. Технологии разработки интеллектуальных систем, основанные на интегрированной модели представления знаний. OSIS-2013 c.31-42.

54. Лозовский В.С. Семантические сети / В.С. Лозовский // Представление знаний в человеко-машинных и робототехнических системах. - М.: ВИНИТИ, 1984. -Т.А. - С.84-121.

55. Лозовский В.С. Сетевые модели / В.С. Лозовский // Искусственный интеллект. В 3-х кн. Кн.2. Модели и методы: Справочник / Под. Ред. Д.А. Поспелова. - М.: Радио и связь, 1990. - с. 28-49.

56. Поспелов, Д.А. Продукционные модели /Д. А. Поспелов // Искусственный интеллект. В 3-х кн. Кн.2.Модели и методы: Справочник / Под. Ред. Д.А. Поспелова. - М.:Радио и связь, 1990. - с. 49-56.

57. Минский, М. Структура для представления знания / М. Минский // Психология машинного зрения. - М.:Мир. - 1978. - с. 249-338.

58. Нариньяни, А.С. Недоопределенность в системах представления и обработки знаний / А.С. Нариньяни //Изв. АН СССР. Техн. Кибернетика. - 1986. - №5. - с. 3-28.

59. Нариньяни, А.С. Программирование в ограничениях и недоопределён-ные модели /А.С. Нариньяни, В.В. Телерман, Д.М. Ушаков, И.Е. Швецов //Информационные технологии, 1998. - №7. - с. 13-22.

60. Братко, И. Алгоритмы искусственного интеллекта на языке Prolog / И. Братко. -М.: Издательский дом «Вильямс», 2004. - 637 с.

61. Baader, F. The Description Logic Handbook: Theory, Implementation, Applications / F. Baader, D.Calvanese, D.L. mcguinness, D. Nardi, P.F. Patel-Schneider -Cambridge, 2003. 574 p.

62. OWL Web Ontology Language Guide. W3C Recommendation 10 February 2004: [Electronic resource]. - 2004. - The University of Sheffield, 1995-2011. - Mode of access: http://www.w3.org/TR/owl-guide/ - Date of access: 12.11.2012.

63. Guarino, N. Formal Ontology in Information Systems / N. Guarino // Formal Ontology in Information Systems. Proceedings of FOIS'98, Trento, Italy, 6-8 June 1998. - Amsterdam: IOS Press, 1998. - p. 3-15.

64. Гаврилова, Т. А. Модели и методы формирования онтологий / Т. А. Гав-рилова, Д.В. Кудрявцев, В. А. Горовой // Научно-технические ведомости спбгпу, № 4, 2006. -с.21-28.

65. Голенков, В.В. Открытый проект, направленный на создание технологии компонентного проектирования интеллектуальных систем/ В.В. Голенков, Н.А. Гулякина // OSIS-2013 c.55-77.

66.Баранович А.Е. О некоторых областях приложений алгебраической модели k-гиперпространства сх-гипертопографов/ А.Е. Баранович, Н.О. Никитин // OSIS-2012 с. 91-97.

67.Баранович, А.Е. Прагматические аспекты информационной безопасности интеллектуальных систем // Вестник РГГУ. Сер. «Информатика. Защита информации. Математика» / Рос. гос. гуманит. ун-т. - Вып. 10 (2009). - М., РГГУ, 2009. - с. 56-70.

68. Грубер, Дж. С. Ролевые конфигурации и синтаксическая структура II Лингвистика на исходе XX века: итоги и перспективы/ Дж. С. Грубер. - М., 1995.Т. 1.

69. Барков, И.А. Теория конструкторской семантики. ИжГТУ, Ижевск, 2003,

С. 30.

70. UML 2.4.1 [Электронный ресурс]. Режим доступа: http://www.omg.org/spec/UML/2.4.1/.

71. Trofimov Sergey [Электронный ресурс]. Режим доступа: http://www.caseclub.ru/.

72. Ахо, А. Компиляторы: принципы, технологии и инструменты/ А. Ахо, Р. Сети, Д. Ульман - Вильямс, 2003.

73. Graphical Modelling Project URL: [Электронный ресурс].

Режим доступа: http://www.eclipse.org/modeling/gmp/.

74. Microsoft DSL Tools [Электронный ресурс]. Режим доступа: http://msdn.microsoft.com/en-us/library/bb126259.aspx.

75. Разработка программных приложений: [Электронный ресурс]. 2002-

2008. Режим доступа: http://any-book.org/download/2V591.html.

V6. Скородумов К.В. Интеграция средств раскладок KIELER в инфраструктуру GMF/ руководитель Д.В.Кознов. - Питер ,2012.

VV. Официальный сайт The Eclipse [Электронный ресурс]. Режим доступа: http://www.eclipse.org/.

V8. Microsoft Visio [Электронный ресурс]. Режим доступа: http://visio.microsoft.com/en-us/Pages/default.aspx.

V9. Бикмуллина, И.И. Парадигмы программирования информационных технологий структурного синтеза / И.И. Бикмуллина // OSTIS: сборник трудов Международной научно-технической конференции. - Минск, 2016. - c. 213-218.

80. [Электронный ресурс]. 2010. Режим доступа: http:// sdb.su/programmirovanie/prolog/218-programmirovanie-na-prologe-metodichka.html - 2010.

81. Васильев, С.Н. Интеллектуальное управление динамическими системами : монография/ С.Н. Васильев, А.К. Жерлов, Е.А. Федосов, Б.Е. Федунов. — М.: Физико-математическая литература, 2000. - 352 с.

82. Бикмуллина, И.И. Метод синтеза информационных систем с помощью семантических моделей предметной области / И.И. Бикмуллина, И.А. Барков // XIV Информатика: проблемы, методология, технологии: сб. статей /Воронеж. -2014. c. V9-81.

83. Губанов, Ю.А. Введение в UML. [Электронный ресурс]. СПбГУ, 2014. Режим доступа: http://se.math.spbu.ru/seminars/se1/SE_16.html.

84. Тихонова, У. Т. Определение языков программирования интерпретируемыми автоматами» Руководитель , к. ф.- м. н. Ф. А. Новиков Санкт-Петербург 2008.

85.Трофимов, С. CASE-технологии: Практическая работа в Rational Rose. Изд. 2-е.- М.: Бином-Пресс, 2002 г. - 288 с.

86. Лавров, С.С. Программирование. Математические основы, средства, теория. БХВ-Петербург, 2001.

87. Овдей О.М. Обзор инструментов инженерии онтологий/ О.М. Овдей, Г.Ю. Проскудина // Институт программных систем НАН Украины, г. Киев 03187, пр. Академика Глушкова, 40.

88. Donald Ervin Knuth Технологии программирования (Software Engineering) [Электронный ресурс]. Режим доступа: http://bourabai .ru/alg/technology02.htm.

89. Барков, И. А. Семантическое моделирование учебных задач в интеллектуальных образовательных средах/ И.И. Бикмуллина, И.А. Барков // Вестник КГТУ им. А.Н. Туполева. - 2012. - №2. - С. 216-220.

90. Добров, Б.В. Онтологии и тезаурусы: Учебно-методическое пособие./ Б.В. Добров, В.В. Иванов, Н.В. Лукашевич, В.Д. Соловьев - Казанский государственный университет.- Казань, 2006.- С. 198.

91. Справочная книга по математической логике: В 4-х частях / Под ред. Дж. Барвайса.-Ч.1. Теория моделей: Пер. с англ. - М.: Наука, Главная редакция физико-математической литературы, 1982. -392с.

92. Черяк, Н.А. Логика: учеб. пособие. - Омск: ОГУ, 2004. - 84 с.

93. Кириллов, В.И. Логика : учеб. Пособие/ В.И Кириллов., А.А. Старченко. - М. : Изд-во Проспект, 2008.-240 с.

94. Галиев, Ш.И. Математическая логика и теория алгоритмов. - Казань: Изд-во КГТУ им. А. Н. Туполева, 2002. - 270 с.

95. Непейвода, Н.Н. Прикладная логика : учеб. пособие, 1997-2002.

96. Цаленко, М.Ш. Моделирование семантики в базах данных/ Наука. Главная редакция физико-математической литературы, 1989. -288с.

97. Кучуганов, В.Н. Визуальное моделирование текстов / Труды Междунар. научно-технич. конференций «Интеллектуальные системы» (AIS'05). - М.: Физ-матлит, 2005. - Т. 4. -с. 104-114.

98. Кобринский, Б.А. Образные представления специалиста и проблема их отражения в интеллектуальных системах.- 0SIS-2012 стр 53.

99. Тимченко, В. А. Модель классов семантических сетей и их преобразований.- OSIS-2012 с. 63-69.

100. Наталья Ф. Ной (Natalya F. Noy) Разработка онтологий 101: руководство по созданию Вашей первой онтологии/ Наталья Ф. Ной (Natalya F. Noy), Дэбора Л. МакГиннесс (Deborah L. McGuinness)// Стэнфордский Университет, Стэнфорд.- Калифорния, 94305.

101. Uschold, M. Ontologies: Principles,Methods and Applications. Knowledge Engineering Review11(2)/ Uschold, M., Gruninger.-M. (1996).

102. Антонов, А.В. Системный анализ. Учеб. для вузов/А.В. Антонов.-М.:Высш.шк.,2004.-454 с.

103. Кузнецов, А.М. Модельно-ориентированная разработка систем - Казань: КазНУ им. аль-Фараби, 2011.

104. Бикмуллина, И.И. Автоматизированное проектирование диаграммы классов UML на основе семантических моделей / И.И. Бикмуллина // Республиканский конкурс научных работ среди обучающихся на соискание премии им. Н.И. Лобачевского с.120 - 122. - Казань, 2014.

105. Бикмуллина, И.И. Математическая модель синтеза UML диаграммы классов / И.И. Бикмуллина // Вестник технологического университета. - Казань, 2016. - Т. 19, № 22. - с. 100-106.

106. Блог ABAP разработчика Диаграмма классов UML 12.05.2014.

107. Методология объективно-ориентированного программирования [Электронный ресурс]. 2008-2017. Режим доступа: http://www.znannya.org/?view=Methodology_object_oriented_programming.

108. Редактор кода машинных программ CheckNC [Электронный ресурс]. Режим доступа: http://reftrend.ru/536114.html.

109. Фаулер, М.UML. Основы, 3-е издание. - Пер. А. Петухова с англ. -СПб: Символ-Плюс, 2005. - 184 с.,ил.

110. Леоненков Самоучитель UML. Отношение агрегации [Электронный ресурс]. 2008-2017. Режим доступа: http://www.znannya.org/?view=agregat_relationship.

111. Леоненков Самоучитель UML. Отношение зависимости [Электронный ресурс]. 2008-2017. Режим доступа: http://www.znannya.org/?view=dependency_relationship.

112. Бикмуллина, И.И. Разработка методики автоматизированного синтеза информационных систем на основе семантических отношений предметной области / И.И. Бикмуллина, И.А. Барков, А.П. Кирпичников // Вестник технологического университета. - Казань, 2015- Т. 18, № 7. - с. 236-242. http://elibrary.ru/item.asp?id=23524293.

113. Дал, У. Заметки по структурному программированию// Структурное программирование/ У. Дал, Э. Дейкстра, К. Хоор. - М.: Мир, 1975. - С. 7-97.

114. Буч, Г. Язык UML. Руководство пользователя Издательство/ Г.Буч, Д.Рамбо, И.Якобсон. - ДМК, 2-е издание2006.

115. Боггс У., Боггс М. UML и Rational Rose / Пер. с англ.- М: Изд-во «ЛОРИ», 2000. - 582 с.

116. Замятина, О. М. Моделирование систем: Учебное пособие. - Томск: Изд-во ТПУ, 2009. - 204 с. Справочная книга по математической логике: В 4-х частях / Под ред. Дж. Барвайса.-ЧХ Теория моделей: Пер. с англ. - М.: Наука, Главная редакция физико-математической литературы, 1982. -392с.

117. Бикмуллина, И.И. Кластерный анализ исследования функционирования коммерческих банков РТ/ И.И. Бикмуллина // XVI Туполевские чтения: сборник трудов Международной молодежной научной конференции. - Казань, 2008. -C. 75-141.

118. Бикмуллина, И.И. Проектирование автоматизированной информационной системы статистического анализа коммерческих банков/ И.И.Бикмуллина // XVII Туполевские чтения: сборник трудов Международной молодежной научной конференции. - Казань, 2009.

119. Бикмуллина, И.И. The Cluster Analysis of seven commercial banks operation in the Republic of Tatarstan / И.И. Бикмуллина // XVIII Туполевские чтения: сборник трудов Международной молодежной научной конференции. - Казань, 2010.

120. Бикмуллина, И.И. Рассмотрение методов прогнозирования функционирования банков Республики Татарстан / И.И. Бикмуллина //XVIII Туполевские чтения: сборник трудов Международной молодежной научной конференции. -Казань, 2010.

121. Бикмуллина, И.И. Программы мониторинга сети и построение имитационной модели / И.И. Бикмуллина // XVIII Туполевские чтения: сборник трудов Международной молодежной научной конференции. - Казань, 2010.

122. Бикмуллина, И.И. Мониторинг сети с целью построения имитационной модели / И.И. Бикмуллина // Новые направления и современные тенденции развития автоматизированных систем управления: сборник трудов Межвузовской региональной студенческой научно-практической конференции Нижнекамского химико-технологического института. - Нижнекамск, 2010.

123. Бикмуллина, И.И. Построение имитационной модели на основе данных собранных с помощью мониторинга сети / И.И. Бикмуллина // Мавлютовские чтения: сборник трудов Всероссийской молодёжной научной конференции. -Уфа, 2010.

124. Бикмуллина, И.И. Проектирование статистических исследований функционирования Коммерческих банков / И.И. Бикмуллина // Мавлютовские чтения: сборник трудов Всероссийской молодёжной научной конференции. -Уфа, 2010.

125. Бикмуллина, И.И. Использование современных информационных технологий в задачах поддержки принятия управленческих решений отдела УФПС «Татарстан почтасы» / И.И. Бикмуллина // XIX Туполевские чтения: сборник трудов Международной молодежной научной конференции. - Казань, 2011. - c. 8-10.

126. Бикмуллина, И.И. Использование автоматического доказательства теорем для решения задач / И.И. Бикмуллина // ПТиТТ-2011: сборник трудов XII Международной научно-технической конференции. - Казань, 2011. - с. 51-53.

127. Буй, Д. UML: история, спецификация, библиография/ Knowledge-Dialogue-Solutions : International Conference./ Д. Буй, Е. Шишацкая - 2007.

128. Бикмуллина, И.И. Синтез диаграммы классов / И.И. Бикмуллина // XX Туполевские чтения 2012: сборник трудов Международной молодежной научной конференции. - Казань, 2013. - с. 42-45.

129. Бикмуллина, И.И. Автоматизированная система синтеза диаграммы классов UML / И.И. Бикмуллина, И.А. Барков // Современные инновации в науке и технике: сборник трудов том1 4-й Международной научно-практической конференции. - Курск, 2014. - с. 142-145

130. Бикмуллина, И.И. Математическое и информационное моделирование производственных процессов / И.И. Бикмуллина // Инновации, качество и сервис в технике и технологиях: сборник трудов IV-я Международной научно-практической конференции. - Курск, 2014. - с. 93-98.

131. Бикмуллина, И.И. Метод синтеза информационных систем с помощью семантических моделей предметной области / И.И. Бикмуллина // XV Информатика: проблемы, методология, технологии: сборник трудов Международной конференции. - Воронеж, 2015. - с. 209-213.

132. Бикмуллина, И.И. Проектирование информационных технологий на основе семантических моделей / И.И. Бикмуллина // Грани науки: Студенческий научный журнал. - Саратов: 2013. - Т.1, №1. - с.62 - 64.

133. Бикмуллина, И.И. Методика разработки информационных технологий в задачах компьютерной оптики / И.И. Бикмуллина, И.А. Барков // ИТНТ-2016: сборник трудов II Международной конференции и молодежной школе. - Самара, 2016. - с. 1077-1083.

134. Бикмуллина, И.И. Modeling of class diagrams by specifications tasks in the design of information technology / И.И. Бикмуллина, И.А. Барков // ФТИ-2016:

сборник трудов III Международной молодежной научной конференции. - Екатеринбург, 2016. - с. 547-548.

135. Бикмуллина, И.И. Прикладная программа управления испытательным стендом / И.И. Бикмуллина, И. А. Барков, В.М. Литвин // КИМИЛА-2016: сборник трудов II Отраслевой конференции по измерительной технике и метрологии для исследований летательных аппаратов ФГУП ЦАГИ - Москва, 2016. - с.298-309.

136. Бикмуллина, И.И. Информационной технологии структурного синтеза / И.И. Бикмуллина // Молодой инженер - основа научно-технического прогресса: сборник трудов Международной научно-технической конференции. - Курск, 2015. - с. 27-29.

137. Бикмуллина, И.И. Интеллектуальная информационная система синтеза диаграмм классов UML на основе семантических моделей / И.И. Бикмуллина // ПИТ: сборник трудов Международной научно-технической конференции. - Самара, 2015. - с. 148-152.

138. John F. Sowa. СопсерШа1 Structures: Information Processing in Mind and Machine. //Addison-Wesley Publishing Company. - 1st 1984.

Приложение А (справочное) Акты о внедрении

ОКБ СИМОНОВА

Акционерное общество Ндунио-производствсииое объединение "Опытно-конструкторское бюро имени М.П. Симонова*

Адрес: ул. Академика Павлова, д. 2а. г. Казань, Россия. 420036 Телефон; *7 (843) 571-44-38. факс «-7 (843) 571-44-69 »то И: ¡nfoeokbsimooova.ru «vwx.okbsimonova.ru

ОТ У?. 0/ ¿С/7 №

На №_Ог_

АКТ

внедрения результатов диссертации Бикмуллиной Ильсияр Ильдаровны на тему: «Автоматический синтез диаграмм классов языка ЦМЬ на основе ассоциативных отношений предметной области»

Результаты диссертации Бикмуллиной И.И. в виде разработанных автором методики и программного комплекса синтеза диаграмм классов языка ЦМЬ использованы в АО Научно-производственное объединение «Опытно-конструкторское бюро имени М.П. Симонова» в рамках проекта, выполненного в соответствии с государственным заданием 2.1724.2017/4.6 «Разработка методов и средств обнаружения и распознавания объектов на изображениях в бортовой системе беспилотного летательного аппарата».

Содержанием совместных работ явились:

1. разработка структурной онтологии прикладной области «Моделирование изображений в бортовой системе беспилотного летательного аппарата»;

2. синтез вариантов диаграмм классов языка ЦМЬ программной системы обнаружения и распознавания объектов на изображениях в бортовой системе беспилотного летательного аппарата с использованием онтологии прикладной области «Моделирование изображений в бортовой системе беспилотного летательного аппарата»;

3. выбор рабочих диаграммы классов языка иМЬ из полученного множества вариантов диаграмм классов.

В соответствии с полученными рабочими диаграммами классов языка ЦМЬ разработано в рамках проекта объектно-ориентированное программное обеспечение обнаружения и распознавания объектов на изображениях в бортовой системе беспилотного летательного аппарата.

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

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

Экономический эффект не подсчитывался.

Акт составлен для представления в специализированный совет по защите диссертаций.

И.В. Матвеев

УТВЕРЖДАЮ

Проектор по научной и инновационной деятельности ФГБОУ ВО «Казанский национальный исследовательский

* технический университет им. АН. Туиолева-КАИ»,

об использовании результатов диссертационной работы Бикмудлиной И.И. «Структурный синтез информационных систем на основе семантических моделей предметной области»

Результаты диссертации Бикмуллиной И.И. были использованы при выполнении госбюджетной научно-исследовательской работы по государственному контракту №14-4-51/906/3К от 21.08.2014г. «Разработка и изготовление демонстраторов технологий (экспериментальных образцов) двухдвигательного конвертоплана, элементов конструкции, составных частей, участие в наземных отработках и летных экспериментах» (СЧ НИР «Аэробус-КНИТУ»).

Использование предложенной Бимуллиной И.И. методики синтеза диаграмм классов языка UML (Unified Modeling Language) при разработке прикладной программы управления испытательным стендом позволило сократить на 25 процентов трудоемкость проектирования диаграмм классов.

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

ЭЛИНА-КОМПЬЮТЕР

420074, г. Казань, ул. Троицкий лес, д, 29 е-таН:5а1е5@е11па-сотрЫег.ги («-903)341-44-35

Исх. № 05 от 29 июня 2016 г.

[о внедрении результатов диссертации Бикмуллиной И. И ]

В совет по защите диссертаций на соискание ученой степени кандидата наук

СПРАВКА О ВНЕДРЕНИИ

Основные результаты диссертации кандидата Бикмуллиной И.И. на тему.: «Автоматический синтез диаграмм классов языка 11МЬ на основе ассоциативных отношений предметной области» успешно используются в практической деятельности ООО «Элина-компьютерс» при разработке имитационных моделей, анализа имитационных моделей и проектировании структурных моделей информационных систем.

Концептуальной основой внедрения разработки иМЕ моделей в процесс проектирования информационных систем создаваемых для разных предметных областей являются предложенные в диссертации Бикмуллиной И.И.:

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

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

• алгоритмическая и программная реализация этих методик, то есть автоматизация

многовариантного синтеза диаграмм классов 11МЬ и автоматическое получение оптимального варианта

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

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

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

Директор,

доктор экономических наук

В В. Дсвятков

УТВЕРЖДАЮ

Проектор по научной и инновационной деятельности ФГБОУ ВО «Казанский национальный исследовательский

университет |^й;им;Й^Суполева-КАИ>>,

яЛШ^п........... „„.,.,

ЙЦ-?' док™Р^Е^ичес^их наук, профессор ЦМ ттшгШк' _— С А-Михайлов

Ырь, уШ

АКТ

об использовании результатов научной работы Бикмуллиной И.И. «Автоматический синтез диаграмм классов языка иМЬ на основе

ассоциативных отношений предметной области»------------—

в учебном процессе КНИТУ-КАИ

Результаты научно-исследовательской работы Бикмуллиной И.И. внедрены

■ ...........—— ■ ■-•——- ■ —........

в учебный процесс кафедры Автоматизированных систем обработки информации и управления КНИТУ-КАИ при подготовке следующих учебных курсов: ■1. пяАпрнтпрные ряйпты пп пигцмппиир цТ^фртйг,,* уПрЯВПЯНИРЦ _

(2014-15 и 2015-16 уч. гг., осенний семестр, гр. 4308, 4307) (2016-17 уч. гг., весенний семестр, гр. 4308, 4309, 4382)

- использованы материалы, связанные с автоматическим доказательством теорем, технолог-идми-разраёотки программного обеспечени^и-^е-гшолег-иями анализа данных;

2. лабораторные работы по дисциплине «Конструирование и проектирование программ»

(2015-16 уч. г., весенний семестр, гр. 4203 (4220))

- использованы материалы, связанные с технологиями разработки программного обеспечения;

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего образования

«Казанский национальный исследовательский технический университет

им. А.Н. Туполева-КАИ» (КНИТУ-КАИ)

АКТ

об использовании результатов кандидатской диссертационной-работы Бикмуллиной Ильсияр Ильдаровны в учебном процессе отделение СПО ИКТЗИ КНИТУ-КАИ

Отдельные темы диссертационной работы Бикмуллиной И.И., представленной на соискание ученой степени кандидата технических наук, использовались в учебном процессе: специальность 230103 «Автоматизированные системы обработки информации и управления (по отраслям)», специальность 230105 «Программное обеспечение вычислительной техники и автоматизированных систем» в дисциплинах «Основы построения автоматизированных информационных систем (АИС)» (раздел «Проектирование информационного обеспечения(ИО) АИС), «Автоматизированные информационные системы» (в темах: «Разработка технического задания», «Разработка программного обеспечения», «Этапы разработки программных средств», в семинаре основанного на данных, собранных вне лекционного материала, касающихся предмета АИС), «Математические методы» (в темах: «Документирование контекстных условий и семантики», «Имитационное и аналитическое моделирование»).

Введение в учебный процесс тематики диссертационной работы Бикмуллиной И.И. позволило воспроизвести полученный автором опыт

Приложение Б (справочное) Дипломы

( САНКТ-ПЕТЕРБУРГСКИЙ у) ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ДИПЛОМ

мВЭт! 1 * я» 33 гШУг ....... щШ нЯКюнг .«ИР?* •

Ч ))

Министерство образования и науки Российской Федерации Министерство образования и науки Республики Татарстан Государственное образовательное учреждение высшего профессионального образования КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. А.Н. ТУПОЛЕВА

Организационный комитет международной молодежной научной конференции

&&ШШ О ТМОТЁ1®ШЕ Ч1ШЖШЭ\

у

Священной 100-летию со дня рождения Ю.Г. Одинокова-ос'нователя Казанской научной школы авиационной прочности

НАГРАЖДАЕТ

СтуДёнтку Казанского государственного ^тех11ическогоуниверситета им. А.Н. Туполева

I 4

икмуллину Ильсияр Ильдаровну

высОзщи на^здый уровень

ПИЯ ВЕРНА

Ведущий Ыжумешрей управления делами

--¿-1/1.___А.Н, Санаскоеа

" - 1 20 г.

Ю.Ф. ГОРТЫШОВ А.Н. БЕКАСОВА

Министерство образования и науки Российской Федерации Министерство образования и науки Республики Татарстан Государственное образовательное учреждение высшего профессионального образования КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. А.Н. ТУПОЛЕВА

II степени

Организационный комитет международной молодежной научной конференции

ТМШШШШ чгшншг,

Посвященной 100-летию со дня рождения Ю.Г. Одинокова -основателя Конской научной школы авиационной прочности

НАГРАЖДАЕТ

г'

Ч *

Студентку Казанского государственного .технического университета им. А.Н. Туполева

Бикмуллину Ильсияр Ильдаровну

Ш^^^ЬысоШгнаучньш уровень

ль оргкомитета,

¿Ведущий докумсн

фасд управления делай и _А.Н. Сааескова 20

ректор КГТУц1м. А.Н. Туполе: аетственный секретарь

Ю.Ф.ГОРТЫШОВ А.Н. БЕКАСОВА

Приложение С (справочное) Программная реализация

//Форма "Определение подраздела проекта" - uDesignModif

//главное окно - первое окно интерфейса #include <vcl.h> #pragma hdrstop

#include "uDesignModif.h" //u-программный модуль

#include "uResourses.h" //хранятся общие const для системы модулей

#include "uInputBoxModified.h" //окно вида -1.для созд эксперта-2.созд проект с лексической

проверкой

#include "uAdviceTaskModif.h" //подключение к модулю - вывод окно советов

#include <fstream> // txt

#include "uSolut.h"

#include "windows.h" //time

#include <cstdio> //for perror

#include <iostream>

#include <string>

#include "uDesignJob.h"

#include "uConseptsListh'V/пока

#pragma package(smart_init)

#pragma resource "*.dfm"

using namespace std;

TfrmDesignModif *frmDesignModif;

__fastcall TfrmDesignModif::TfrmDesignModif(TComponent* Owner) : TForm(Owner)

{

edtFMessages->Text = "Внимание прежде чем открыть проект выберете эксперта"; ofstream ff; //описывает поток для записи данных в файл //for write

//открывает файл в режиме записи ff.open("Log.txt", std::ios_base: :in|std: :ios_base::app);

//память названий проектов для TListBoxZ/кода сущ файл из txt в TListBox FILE *load_fileMod = fopen( "C:/Documents and Settings/Ильсияр/Рабочий

стол/чудеса9_6/Debug/Win32/Projects/slstFContentsMod_2.txt", "r");

//массив для хранения записей из текстового файла

char load_string[1000]="";

char word[1000]="";

if(load_fileMod==NULL)

ff<<"\n"<<"Ошибка открытия файла slstFContentsMod_2.txt!!!!!"<<"\t"; else { ff<<"\n"<<"Файл slstFContentsMod_2.txt успешно пополнен"<<"\t"; if(fgets(load_string, 1000, load_fileMod)!=NULL)

//считывает символы из потока и сохраняет их в виде строки в параметр {

if(strstr(load_string, word)!=NULL)//Находим слово в верхнем регистре {

while(!feof(load_fileMod))

//считываем файл до конца {

fgets(load_string, 1000, load_fileMod); //считываем следующую строку

this->lboxFDesignJob->Items->Add(Trim(load_string));

//добавляем в ListBox }

}

}

}

fclose(load_fileMod); ff.close(); //закрытие потока

}

void_fastcall TfrmDesignModif::DesignJobNew(TObject *Sender)

{

frmInputBoxModified->Caption = strCNewDesignJob; //задание

frmInputBoxModified->LabelInpBoxModif->Caption=sCToInputTargetName; //название заголовка frmInputBoxModified->edtInput->Text = ""; //изначально в edtInput gecnfz cnhjrf frmInputBoxModifi ed->ShowModal (); //отображение диалогого окна для создания проекта edtFMessages->Text = "";

//забиваем в поле сообщения об ошибке пустым /////начало -создание проекта

//1)директория по проекта //1этап. Сохранение названия проекта //эксперт по этому проекту определяется во 2 этапе bool Finded = False; //флаг false- не найдено похожее название проекта, //true - найдено похожее название проекта

if(frmInputBoxModified->edtInput->Text!="")

//проверка перехваченного названия проекта набранного каким-то экспертом в форме frmInputBoxModified { //если frmInputBoxModified вернул имя проекта не пустое for (int j = 0; j < lboxFDesignJob->Items->Count; j++)

//количество строк в lboxFDesignJob

{

if (frmInputBoxModified->edtInput->Text == lboxFDesignJob->Items->Strings[j])

//ищет похожее название в окне отображения созданных проектов {

Finded = True; //флаг-нашел похожее название проекта

}

}

String strVDefault=strCEmpty; //"пусто" String strVTemp=strCEmpty; int i;

i = lboxFDesignJob->ItemIndex;//индекс строки if( i < 0) //>=//... ? //проект не плацеба

//если i=-1, то это код для снятия выделения с элемента строки {

if (!Finded) // если проект уникален //проверка на повтор ввода названия задания

{//для отобржения введенного в frmInputBoxModified //имени проекта уже в DesignJob

strVTemp=frmInputBoxModified->edtInput->Text; /// objGPaths->strPSelectedDesignJobDirectory = strVTemp; //передат имя для .job и strPSelectedDesignJobDirectory //создает директория до .job

//открывает файл в режиме записи //работает

//до прописывания в TListBox нового Модпроекта int kaz = this->lboxFDesignJob->Count; //Ш1 Количество //уже существующих модификаций - для определения позиции в будущем занимае //мой ноым Модпроектом/Для выделения создаваемой заного Модификации проекта //добавляет название проекта в общий список this->lboxFDesignJob->Items->Add(strVTemp);//frmInputBoxModified->edtInput->Text);//код для добавления нового элемента в список Add("Новый элемент")

this->lboxFDesignJob->Selected[kaz]=true;//Ш2будет выделен k+1 элемент //Для выделения создаваемой заного Модификации проекта //-1 означает что элемент невыделен

int index=0;//положение заполнения //передат имя для .job и strPSelectedDesignJobDirectory //создает директория до .job

String strVTempJob=frmDesignJob->EditJob->Text; //mod

String strNameRoot= "\\Projects"; wchar_t rundirr[_MAX_DIR]; GetCurrentDirectory(_MAX_DIR, &rundirr[0]); //исходя из того, что имя проекта job точно существует String strVDirForJob= rundirr + strNameRoot + "\\"+ strVTempJob+".job" + "\\"; String strCModificationDirectoryExtension ="mod"; String strFModificationDirectoryName = strVTemp; String myPM= strVDirForJob+ strFModificationDirectoryName +

"." + strCModificationDirectoryExtension; if(!DirectoryExi sts(myPM))

{ String hp= strVDirForJob + strFModificationDirectoryName+ "." + strCModificationDirectoryExtension;

CreateDirectory(hp.c_str(), NULL); //ниже уйдет //... txt

ofstream f; //описывает поток для записи данных в файл //открывает файл в режиме записи f.open("Log.txt", std: :ios_base: :in|std: :ios_base::app); f<<"\n"<<"Успешно создана директория для mod(подраздела проекта)!\n"<<"\t";

f.close(); //закрытие пготока }

//запись названия проекта в txt файл

Application->ProcessMessages(); System::UnicodeString VTemp; VTemp=strVTemp; //присваивается получаемое имя проекта

//чтобы преобразить имя проекта в другой тип TStringList * slstFContents =new TStringList; //список имен объектов нового имени проекта//from uContentsDirectory

TStringList * slstoldFContents =new TStringList; //список имен объектов созданных ранее имен проектов

wchar_t rundir[_MAX_DIR]; //определем директорию где хранится наш проект, //вплоть до папки Win32 включительно

String NameRootBoxm= "\\Projects"; GetCurrentDirectory(_MAX_DIR, &rundir[0]); String hp= rundir + NameRootBoxm + "\\"; //..////Создаем txt-^аписываем в txt String NameFile = "slstFContentsMod_2.txt"; String hpp; hpp= hp + NameFile; if(FileExists(hpp)) //предотвращение ош несуществующего файла { //если файл существует //.. данные для txt..//

slstFContents->Add(VTemp);//тоже можно, при этом индексация автоматически

slstFContents->Insert(index, VTemp); //добавление в список

имен по 1 объекту

sl stoldF Contents->LoadFromFile(hpp); //загрузка данных в список slstoldFContents из файла hpp

slstoldFContents->Add(slstFContents->Text); //добавление к старому списку имен проектов нового имени проекта

//..сохраня*-ем их в txt..// //txt файл не существует - создается ниже сам по себе

sl stoldF Contents->S aveToFile(hpp); //и записывает в себя список названий проектов slstFContents //папка Project создается автоматически

//названия проектов в списке без расширения

}

else

{//..//кусок создает пустой файл slstFContents.txt TStringList * Vzero =new TStringList; System::UnicodeString Vnull; Vnull="";

Vzero->Add(Vnull); Vzero->SaveToFile(hpp); //папка Project создается автоматически //..//исправление ош не записи первого назвния проекта после создания файла

slstFContents->Insert(index, VTemp); //добавление в список

имен по 1 объекту

slstoldFContents->LoadFromFile(hpp); //загрузка данных в список slstoldFContents из файла hpp

slstoldFContents->Add(slstFContents->Text); //добавление к старому списку имен проектов нового имени проекта

slstoldFContents->SaveToFile(hpp);

//..сохраняем их в txt..// //папка Project создается автоматически

}

}

else edtFMessages->Text = "Такое задание уже есть! Выберите Ваш проект из существующего списка и откройте."; }

else edtFMessages->Text = "Сохранение несуществующего проекта! -проект не выделен"; }

void_fastcall TfimDesignModif::DesignJobAdviceTask(TObject *Sender)

{

frmAdviceTaskMod->Show();

//Форма "Правила заполнения ф. модификации проекта" }

void_fastcall TfrmDesignModif::btnFTaskOpenClick(TObject *Sender)

{

String strVJob=frmDesignJob->EditJob->Text; this->edtFDesignJob->Text =strVJob;

frmInputBoxModified->Caption = sCNewExpertModification; frmInputBoxModified->LabelInpBoxModif->Caption="Введите имя эксперта:"; frmInputBoxModified->edtInput->Text = ""; frmlnputBoxModifi ed->ShowModal (); edtFMessages->Text = "";

btnFTaskOpen->Caption = frmInputBoxModified->edtInput->Text; //на кнопку выводим имя эксперта

if((btnFTaskOpen->Caption!="") && (btnFTaskOpen->Caption!="Эксперт не выбран"))//Пока не

выбран эксперт - заблокирована кнопка Открыть {

if(this->lboxFDesignJob->ItemIndex==-1 ) edtFMessages->Text="!!! Выделите наименование вашего проекта."; else

{ //Кнопка для открытия данного подраздела проекта становится видимой btnProjectOpen->Enabled=True; //Для добавления в поле edit наименования mod String strVMod=tMs->lboxFDesignJob->Items->Strings[ftmDesignModif->lboxFDesignJob->ItemIndex];

this->edtFDesignMod->Text =strVMod;

}

}

}

void_fastcall TfrmDesignModif::btnProjectOpenClick(TObject *Sender)

{String strVTempDiv=strCEmpty; // переменная для наименования эксперта int index=0;

//Проверка на выделение строки в TListBox if(this->lboxFDesignJob->ItemIndex==-1 ) //если не выделена строка в TListBox edtFMessages->Text="!!! Выделите наименование вашего проекта.";

else

{if(this->lboxFDesignJob->Items->Strings[this->lboxFDesignJob->ItemIndex]!="") //Проверка на наличие содержание в выделенной строки TListBox { edtFMessages->Text="OK"; //Выделите наименование вашего проекта //1.Подхватить выделенное в TListBox имя проекта//

String NameFileJob = this->lboxFDesignJob->Items->Strings[this->lboxFDesignJob->ItemIndex]+".mod\\";

wchar_t rundir[_MAX_DIR]; //определем директорию где хранится наш проект, вплоть до папки Win32 включительно

String NameRootBoxm= "\\Projects";

GetCurrentDirectory(_MAX_DIR, &rundir[0]); String hp= rundir + NameRootBoxm + "\\"; int index=0;

//позиция с которой будет осуществлятся добавление данных

System::UnicodeString VTemp; // окончательная переменная для наименования эксперта //2.Подхватить имя эксперта для mod strVTempDiv=btnFTaskOpen->Caption; VTemp=strVTempDiv; //чтобы преобразить имя проекта в другой тип //присваивается получаемое имя проекта

TStringList * slstFContents =new TStringList; //список имен объектов нового имени проекта/from uContentsDirectory TStringList * slstoldFContents =new TStringList; //список имен объектов созданных ранее имен проектов //..////3. Создаем txt-^аписываем в txt String NameFileDDiv = "slstFContentsExpertDiv.txt"; //имя файла String hpp; hpp= hp + NameFileDDiv; //путь файла if(FileExists(hpp)) //если файл существует { //..данные для txt..// slstFContents->Insert(index, VTemp); //добавление в список имен по 1 объекту

sl stoldF Contents->LoadFromFile(hpp); //загрузка данных в список slstoldFContents из файла hpp slstoldFContents->Add(slstFContents->Text); //добавление к старому списку имен проектов нового имени проекта //.. сохраняем их в txt..// //txt файл не существует - создается ниже сам по себе sl stoldF Contents->S aveToFile(hpp); //и записывает в себя список названий проектов slstFContents //папка Project создается автоматически

ofstream f; //описывает поток для записи данных в файл

//открывает файл в режиме записи f.open("Log.txt", std: :ios_base: :in|std: :ios_base::app); ^<"\л"<<"Файл slstFContentsExpertDiv.txt успешно пополнен (для div-эксперт)!\n"<<"\t";

f.close(); //закрытие потока }

else

{ //..//кусок создает пустой файл slstFContents.txt TStringList * Vzero =new TStringList; System::UnicodeString Vnull; Vnull="";

Vzero->Add(Vnull); Vzero->SaveToFile(hpp); //папка Project создается автоматически //исправление ош не записи первого назвния проекта после создания файла slstFContents->Insert(index, VTemp); //добавление в список имен по 1 объекту

slstoldFContents->LoadFromFile(hpp); //загрузка данных в список slstoldFContents из файла hpp slstoldFContents->Add(slstFContents->Text);

//добавление к старому списку имен проектов нового имени проекта

slstoldFContents->SaveToFile(hpp); //..сохраняем их в txt..// //папка Project создается автоматически

ofstream f; //описывает поток для записи данных в файл

//открывает файл в режиме записи f.open("Log.txt", std: :ios_base: :in|std: :ios_base::app); f<<"\n"<<"Файл slstFContentsExpertDiv.txt успешно пополнен (для div-

эксперт)!\n"<<"\t";

f.close(); //закрытие пготока

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