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

кандидата физико-математических наук
Лукин, Владимир Владимирович
город
Москва
год
2004
специальность ВАК РФ
05.13.01
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Системный анализ и методы создания слабо тиражируемых программных систем»

Автореферат диссертации по теме "Системный анализ и методы создания слабо тиражируемых программных систем"

На правахрукописи

ЛУКИН Владимир Владимирович

СИСТЕМНЫЙ АНАЛИЗ И МЕТОДЫ СОЗДАНИЯ СЛАБО ТИРАЖИРУЕМЫХ ПРОГРАММНЫХ СИСТЕМ

Специальность: 05.13.01 - Системный анализ, управление и обработка информации

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук

Москва - 2004

Работа выполнена в Вычислительном центре им А А Дородницына Российской Академии Наук

Научный руководитель доктор физико-математических наук, профессор Ишмухаметов А.З

Официальные оппоненты доктор физико-математических наук, профессор Зубов Н В , доктор технических наук, профессор Кузнецов С Д

Ведущая организация Московский Авиационный Институт

(государственный технический университет)

Защита состоится у _2004 г в ¿¿ч мин

на заседании диссертационного совета Д 002 017 03 при Вычислительном Центре им АА Дородницына Российской Академии Наук по адресу 119991, г Москва, ул Вавилова, д 42, ауд 451

С диссертацией можно ознакомиться в библиотеке Вычислительного Центра им А А Дородницына Российской Академии Наук

Автореферат разослан сентября 2004 г

Ученый секретарь Диссертационного совета, кандидат физико-математических наук

Мухин А В

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

• Анализ методов создания, тиражирования и сопровождения современных информационных систем.

• Формализация процессов жизненного цикла информационных систем на основе математических моделей.

о Разработка критериев оценивания затрат. о Построение модели оценивания степени тиражируемости.

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

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

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

2. Разработана новая математическая модель, описывающая процессы жизненного цикла систем данного класса.

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

Практическая значимость. Описываемые в работе принципы и подходы использовались в процессе сопровождения систем АРМов «Экософт», автоматизирующих производственно-финансовую деятельность авиакомпании «Ист Лайн» (с 1996-2001), при создании и сопровождении таких систем, как «Тикет» (с 1994 - 2001). «Адлер-курорт»

(1992 - н.в.). В настоящий момент данные принципы реализуются в системе «Виртуальные Выставки» (2004-н.в.).

Апробация работы. Результаты работы докладывались на 10-ой юбилейной международной конференции по вычислительной механике и современным прикладным программным системам, Переславль-Залесский, 1999; на Третьей международной конференции по неравновесным процессам в соплах и струях (КР№-2000), Истра-Москва, 3-7 июля 2000 г.; на XII Международной конференции по вычислительной механике и современным прикладным программным системам, Владимир, 30 июня - 5 июля 2003 г. Публикации. Результаты опубликованы в 6 печатных работах.

Личный вклад. В совместной печатной работе [6] автору принадлежит не менее 70 процентов результатов, Ишмухаметов А.З. внес большой вклад при построении модели словаря данных, предложив идею, апробированную при реализации генератора прикладных систем. Автору принадлежит идея использования репозитория для автоматизации процесса сопровождения прикладных программных систем. Постановка задачи и доказательства четырех основных теорем принадлежит автору. Проверку доказательств и критические замечания сделал кандидат физико-математических наук, доцент, Чернышев Л.Н.

Структура и объем работы. Диссертация состоит из введения, трех глав и заключения. Обший объем работы - 84 страницы. Список литературы состоит из 75 наименований.

ОСНОВНОЕСОДЕРЖАНИЕРАБОТЫ

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

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

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

области, требует адаптации каждой тиражной копии системы, а ресурсы, требуемые для этого, достаточно велики. Поэтому тиражируемые программные системы должны в достаточной мере обладать специальными свойствами: открытость, адаптируемость, многоплатформенность, переносимость, и т.п. Выбор оптимального средства создания программного обеспечения не может в полной мере решить все проблемы, связанные с тиражированием и сопровождением систем. Разработчики вынуждены создавать инструментарии, реализующие необходимые свойства. Из всех существующих методологий создания прикладных систем разного масштаба нет ни одной, которая бы в явном виде описывала решение всех проблем тиражирования систем данного класса. Организации, специализирующиеся на производстве подобных программных систем, используют различные подходы к тиражированию, но не предлагают более или менее универсального и обоснованного подхода. Интерес к данному вопросу в периодических публикациях [1,4, 5,13,19 - 23, 25] подчеркивает актуальность выбранной темы.

В процессе исследования рассматриваются системы российских и зарубежных компаний, специализирующихся на производстве тиражируемых систем и системной интеграции [2, 3, 6 - 18,24]. Условия, характеризующие предметную область:

• сбалансированное сочетание варьируемости во времени и специализации;

• умеренная варьируемость при тиражирования;

• возможность построения наглядной модели; Принципы построения систем:

• принцип открытости системы относительно расширения;

• принцип делегирования функций сопровождения пользователю;

• эргономичность и простота интерфейса;

• наглядность модели предметной области;

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

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

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

Определены основные понятия слабо тиражируемых систем:

б

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

• производственная среда - элемент предметной области, представляющий собой конкретное единичное производство;

• модель — формализованное описание предметной области или производственной среды;

• реализация — вариант программной системы, предназначенный для работы в конкретной производственной среде;

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

• система - отображение модели в производственную среду;

• инвариант (модели) — неизменяемая часть модели;

• ядро (системы) ~ неизменяемая часть системы для любой реализации;

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

Модель предметной области М представляется совокупностью информационной Б(М) и функциональной Р(М) составляющих. Инвариант модели предметной области: КМ,) = , 01>. Назовем функциональной вариацией модели разность <1Р(М) = Р(М) \ Р], а информационной вариацией - разность ШЭ(М) = О(М) \ Оь

Рассмотрим информационную вариацию модели:

dD(Ml) = dP,(M¡)[JdP0(Ml),i где N - количество тиражных копий

системы, а dP1 (М,) и dP0(LMl) - вариации исходных и выходных данных модели соответственно. Тогда ):Р,(М,)—'^^i->dP0{^íl) - функциональная вариация,

отображающая множество исходных данных на множество вариаций выходных данных.

Пусть Р0(М)- максимально независимое подмножество выходных данных модели, тогда множество Р1{М)[}Р0(М) будем называть слабым информационным контекстом или слабым контекстом модели.

Определение (эквивалентных моделей). Модели эквивалентны, если они обладают одним слабым контекстом.

М, « М2, если Ео (МО = Р0(М2) & Р1(М0 = Р|(М2)

Определение (вырожденной информационной вариации) Информационную вариацию, слабый контекст которой = 0 назовем вырожденной.

Определение (вырожденной функциональной вариации) Функциональную вариацию, отображающую множество исходных данных модели на множество вырожденных выходных данных назовем вырожденной функциональной вариацией: : Д(А/,) )ЛР0(М,): 0

Теорема (о невырожденности вариаций). Если информационная вариация невырождена, порождающая ее функциональная вариация невырождена.

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

Аксиома (о рентабельности). Для любой слабо тиражируемой системы выполняется

N

следующее неравенство (1): |>| и^^Л/,)! или (2): |»1 е —

количество тиражных копий системы.

Данной аксиомой вводится понятие рентабельности тиражирования как ограничения

вариабельности модели предметной области. Итак,

если | <#•■(А/,) |= 0, V/ е система Б абсолютно тиражируема,

если | ¿Р(М,) Е, |, V/ б М- система Б индивидуальна,

если | Р, |>| и ) |, V/ б М- система Б слабо тиражируема.

I

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

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

следующим образом: г5 = ^г,(0>где п - количество элементарных функций.

Поясним корректность аксиомы. Предположим, что неравенство (1) нарушено, т.е.

Это означает, что трудоемкость внесения изменений в систему при

создании тиражных копий \}с1Р{М,) заведомо превысила общую трудоемкость по созданию инварианта системы ^ (рис. 1.)

М^СМ»)

Рис. 1.

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

Аксиома (О метрике). Стоимость разработки реализации и сопровождения любой

элементарной функции одинакова /■ = — = —-, где п - количество элементарных

функций

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

Аксиома (Об ограниченности ресурсов разработчика). Ресурсы (R) разработчика ограничены

Тогда можно сформулировать теорему:

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

Уг.ЛеД.УМ, €С£,ЗЛГ:г(/) = ^Г ||<;Д

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

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

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

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

- время запуска функции (вызов интерфейсов, ввод данных, нажатие на кнопки и т.п.);

- собственно время выполнения функции;

1Л - время анализа полученного результата (считывания, подстановки в новую функцию, печати отчета и т.п.);

- время обнаружения и исправления возникающих ошибок при выполнении операции.

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

где N - количество функций, М, - количество

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

1) обязательные (Р) - функции, без которых невозможна эксплуатация системы;

2) полезные - обеспечивающие реальную эксплуатацию (коммерческую ценность);

3) желательные - обеспечивающие полезные дополнительные возможности.

Таким образом,

Г = Р иР' иР", Р <=1(М)

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

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

может выполнять требуемые технологией действия. Пусть система, соответствующая модели А/, содержит п ошибок, р/ - вероятность наличия в системе /-й критичной ошибки, время реакции разработчика на проявление 1-й ошибки. Тогда систему назовем устойчивой, если тах(Г) < С)(М) и устойчивой в среднем, если математическое ожидание потери времени на исправление ошибок -

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

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

места внесения изменений в код). Естественно предположить, что при ¿К —♦ 0, величина с1Т(Р) —> 0. Однако, как бы ни было мало изменение, для нетривиальной функции Fвремя поиска места и учета контекста не может быть менее какой-то величины

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

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

*(0 = ••■>*„(')], где / 6 [*„,/,]

Системная часть, как элемент управления, характеризуется к-мерной вектор-функцией:

"(О =[".(0.и2(0,-«*(0]. где Г € [/0,Г,]

Обе вектор-функции связаны между собой некоторым соотношением, характеризующим соответствие системы требованиям заказчика:

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

и(/)е £/(/), V/б [/„,/,], и^еД

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

V/

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

*'(') = /(х(ОМО,0,х('о) = *».*('!) = *!."(') еЛ,ге [/0>г,],

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

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

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

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

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

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

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

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

Толерантность. Способность системы корректно реагировать на некорректные данные.

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

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

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

Рассмотрим отдельные словари-справочники, входящие в Системный Словарь.

1) Словарь функций системы (СФС). Содержит описание всех функций и программных модулей. Хранит сведения о входных и выходных параметрах. Служит для проверки корректности изменений описания функций и программных модулей.

2) Словарь пользовательских функций (СПФ). Содержит описание функций, определенных пользователем.

3) Словарь данных системы (СДС). Хранит сведения о структуре данных всей системы в целом и каждого модуля в отдельности.

4) Словарь контроля данных (СКД). Проверяет полноту и целостность данных функциональных модулей, запускает процедуры архивирования. Регистрирует изменения структуры данных.

5) Словарь настроек системы (СНС). Хранит маски пользовательских настроек модулей системы. Содержит сведения об актуальных настройках того или иного пользователя. Отображает нужные настройки при загрузке модуля и авторизации пользователя.

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

7) Словарь последних изменений (СПИ). Фиксирует изменения структуры БД, версий системы, корректировку программных модулей, обновления функциональности. Проверяет корректность конфигурации системы при запуске на основании информации словарей функций и словарей данных.

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

9) Словарь пользователей системы (СПС). Регистрирует пользователей с указанием приоритетов действий в системе и прав доступа к данным и функциям, а также уровень вмешательства в систему (возможность внесения изменений).

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

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

1) Упрощается проблема интегрируемости СТС с существующими системами, благодаря реализации принципа открытости, поддерживающегося С КМ.

2) Пользователи могут участвовать в разработке, т.к.

• словарь данных позволяет безболезненно создавать собственные представления данных;

• словарь пользовательских функций дает возможность включать в систему собственную функциональность;

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

3) Улучшается восприятие пользователем системы в целом.

4) Администрирование системы упрощается за счет автоматизации большинства рутинных процедур и делегирования части полномочий по администрированию пользователям системы.

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

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

7) Смена версий происходит менее болезненно за счет возможности сопоставления версий, описание которых содержится в репозитории.

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

Таг = -С +Гм(0 + 7-;(0 + ^(0 , где

N- количество функций,

М/ - количество необходимых запусков 1-ой функций, требуемых для выполнения задачи

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

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

- затраты, как обобщенная функция времени, на администрирование.

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

где

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

- время запуска функции (вызов интерфейсов, ввод данных, нажатие на кнопки и т.п.);

- собственно время выполнения функции;

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

- время обнаружения и исправления возникающих ошибок при выполнении операции.

Обозначим совокупные затраты на разработку, внедрение Системного Словаря, как

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

*(<) = *(Г„( о.гдо.гдо,/^),/ 6 М]

Тогда и(0 можно рассматривать, как управляющее воздействие, минимизирующее издержки на этапе

Зависимость параметров функции определяется

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

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

В заключении приводятся итоги диссертационной работы, определяются перспективы развития данного направления как в теоретической (развитие

математического аппарата), так и практической области (реализации инструментария,

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

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

прикладных систем других классов, например, класса уникальных или широко

тиражируемых систем.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ На защиту выносятся:

1. Новые методы классификации систем по степени тиражируемости, определение класса слабо тиражируемых систем.

2. Новые математическая модель и методы построения систем класса слабо тиражируемых.

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

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

СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Лукин В.В. Вопросы сопровождения слабо тиражируемых систем. Тезисы докладов Третьей международной конференции по неравновесным процессам в соплах и струях (ОТШ-2000), Истра-Москва, 3-7 июля 2000 г. - М., МГИУ, 2000. - с.375-377.

2. Лукин В.В. Проблемы тиражирования и обновления версий Предметно Ориентированных Систем. Тезисы докладов XII Международной конференции по вычислительной механике и современным прикладным программным системам, Владимир, 30 июня - 5 июля 2003 г. - М.: Изд-во МАИ, 2003. - с.435-437.

3. Лукин В.В., Лукин В.Н.. Применимость легких методологий проектирования для разработки слабо тиражируемых программных систем. // Труды МГППУ №1,2004.

4. Лукин В.В., Лукин В.Н.. Участие пользователя в разработке слабо тиражируемых систем. // Тезисы докладов 10-ой юбилейной международной конф. по вычисл. механике и совр. прикладным программным системам, Переславль-Залесский. - М.: МГИУ, 1999. - с. 265-66.

5. Лукин В В , Лукин В Н, Чернышев Л Н.. Вопросы поддержки слабо тиражируемых информационных прикладных систем (СТИПС). // Математическое моделирование, т. 11, № 4. М.: РАН, 1999. - с. 3-8.

6. Ишмухаметов А.З., Лукин В В.. Организация словаря данных в предметно-ориентированных программных оболочках. // СУБД 1998. №1-2.

ЛИТЕРАТУРА

1. Аксенов Е.Г. Игра в многомерные кубики// PC WEEK №32-33,2002.

2. Ассоциация СиБОСС. Продукты// http //www cboss ru/products/products-map html

3 Группа компаний Сумма Технологий. Интегрированные системы управления предприятием// http://www sumtechsvs com/?cid=5010118

4 Гулиев Я.И.-О., Малых В.Л., Пименов С П., Хаткевич М И Концепция поддержки жизненного цикла информационных систем//

http //www interin ru/pls/interin/docs/TECHNO/infob htm

5. Ефимов Г. Жизненный цикл информационных систем. 2004// http //koi abn ru/mf/setevoi/cvcle shtml

6. Компания BSS. Комплексная система ДБО// httpV/bss bssvs com/s/bsi dlPTargeHFrameset&I^lOO

У. Компания DiaSoft. Продукция//

http //www diasoft ru/starget/page cfm?svsname=Products&&SubSessionID=l

В. Компания IBS. Бизнес-приложения// http //www ibs ru/content/ros/rub^/rubr^Q asp

9. Компания INTEGPROG. Логистическое программное обеспечение// httpV/www integprog m/direction php

10. Компания IT. Бизнес приложения// http //www it ru/service/business/index html

11. Компания SUNIT. Super Cell Аналитик// http;//www sunit ru/p scanalmk shtml

12. Компания Бизнес-Консоль. Продукты и услуги// http //www bcons ru/products/

13. Компания Ключ. Инструментальная платформа Экспресс// http //www kev sen ru/pages/articles/aup htm

14. Компания Про-Инвест. Инфо-Бухгалтер// http //www ib ru/partners/proinvest html

15. Компания РекСофт. Продукты РекСофт// http-//www reksoft ru/products/

16. Компания Риал. Система управления складским комплексом// http //rial ru/si/sklad/po php?wms

1У. Компания СОФТИНТЕГРО. Программные продукты// http://www softintegro ru/sftw dev/

1В. Корпорация Парус. Информационные системы управления// httpV/www parus ru/

19. Котов С.Л. Нормирование жизненного цикла программной продукции. Ю1ШТИ, 2002.

20. Краснухин А. Методологии проектирования сложных изделий// Открытые системы №6,2003.

21. Купер Э. Управление изменениями: неужели между качеством и скоростью разработки программного обеспечения всегда должен быть компромисс// http7/www.interface ru/fset asp?Uri=7ross/ross h htm

22. Монахова Е., Важное А., Бобровский С. Вал вдохновения, или Заседание продолжается// PC WEEK №37,1998//

http7/www pcweek.ru/vcar 1998/N3 7/СР1251 /Reviews/chapt5 .htm

23. Очередько С. Концепция управления жизненным циклом// Открытые системы №2, 2002.

24. Фирма 1С. Программные продукты// http://www. I c.ru/

25. Черняк Л. Порталы и жизненные циклы// Открытые системы №2,2002.

Принято к исполнению 22/09/2004 Исполнено 23/09/2004 _Объем - 1 п л

Заказ № 334 Тираж 100 экз

ООО «11-й ФОРМАТ» ИНН 7726330900 Москва, Балаклавский пр-т, 20-2-93 (095) 747-64-70 (095)318-40-68 www autoreferat ru

S 1709»

Оглавление автор диссертации — кандидата физико-математических наук Лукин, Владимир Владимирович

СОДЕРЖАНИЕ.

ВВЕДЕНИЕ.

ГЛАВА 1. ТИРАЖИРУЕМЫЕ ПРОГРАММНЫЕ СИСТЕМЫ.

1.1. Современные тиражируемые системы.

1.2. Определение области исследования.

1.3. Средства создания слабо тиражируемых систем.

1.3.1. Традиционные средства программирования.

1.3.2. Средства проектирования.

1.3.3. Визуальное программирование.

1.4. Типы информационных приложений.

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

ГЛАВА 2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ СЛАБО ТИРАЖИРУЕМЫХ СИСТЕМ

2.1. Терминология и формализм.

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

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

2.4. Использование математического моделирования процессов создания и сопровождения систем.

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

ГЛАВА 3. СОЗДАНИЕ И СОПРОВОЖДЕНИЕ СЛАБО ТИРАЖИРУЕМЫХ СИСТЕМ.

3.1. Общие проблемы слабо тиражируемых систем.

3.2. Концептуальные принципы слабо тиражируемых систем.

3.3. Структура слабо тиражируемых систем.

3.4. Реализация системного словаря.

3.4.1. Словарь данных системы.

3.4.2. Словарь пользователей системы.

3.4.3. Словарь последних изменений.

3.4.4. Словарь ошибок системы.

3.4.5. Словарь консолидирующего модуля.

3.4.6. Словарь контроля данных.

3.4.7. Словарь настроек системы.

3.4.8. Словарь функций системы.

3.4.9. Словарь пользовательских функций.

3.5. Словарь унифицированных терминов.

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

Введение 2004 год, диссертация по информатике, вычислительной технике и управлению, Лукин, Владимир Владимирович

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

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

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

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

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

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

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

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

На волне автоматизации меняются практически все технологии промышленного производства и управления, короче становится жизненный цикл [15, 43, 44] программных продуктов: большинство из них быстро устаревают как морально, так и технологически и оказываются неспособными к модификации при адаптации к технологическим изменениям производства. Потребитель системы в какой-то степени может смириться с тем, что система морально устаревает, до тех пор, пока сохраняется ее адекватность используемым технологиям. Если же система не соответствует существенным производственным процессам, она заменяется новой. За последнее время средняя продолжительность жизненного цикла систем сократилась с 6-8 до 2-5 лет. В данном случае влияет и фактор морального устаревания системы, когда на фоне изменений программно-технических средств система, разработанная с помощью «устаревших» средств, кажется устаревшей, хотя по показателям производительности и реализованным в системе технологиям она полностью адекватна. Основные причины замены системы следующие: несоответствие требуемым показателям производительности или изменениям технологии; моральное устаревание системы; смена руководства или политики организации; удорожание или затруднение процесса сопровождения системы. В связи с сокращением жизненного цикла систем и, следовательно, увеличением затрат на замену и модернизацию программно-технических средств, наблюдается заметное удорожание процесса автоматизации, несмотря на повышение производительности труда программистов.

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

Кроме встроенных программных средств, в качестве механизмов адаптации используются специализированные внешние программные инструменты (CASE-средства) [26]. У большинства из них есть существенный недостаток: сложно, а подчас невозможно использовать их на этапе сопровождения системы. Кроме того, стоимость их порой выше стоимости самого программного продукта, а для их использования нужна серьезная подготовка специалистов.

Исследования существующих технологий создания и сопровождения программных систем показывают необходимость развития новых методологий в этой области, направленных на снижение затрат за счет увеличения жизненного цикла и уменьшения трудоемкости адаптации и сопровождения. Интерес к данному вопросу в периодических публикациях [1, 14, 16, 34, 40 - 42, 52, 62, 74] и отсутствие единого подхода к решению проблемы подчеркивает актуальность выбранной темы. В диссертационной работе предлагается метод реализации систем, позволяющий устранить ряд подобных проблем.

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

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

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

Заключение диссертация на тему "Системный анализ и методы создания слабо тиражируемых программных систем"

Заключение

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

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

2.1. Определены необходимые свойства предметной области для автоматизации на базе слабо тиражируемых систем.

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

2.3. С помощью данных методов проведен анализ применимости «легких технологий» для создания слабо тиражируемых систем.

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

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

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

Библиография Лукин, Владимир Владимирович, диссертация по теме Системный анализ, управление и обработка информации (по отраслям)

1. Аксенов Е.Г,, Игра в многомерные кубики// PC WEEK №32-33,2002.

2. Ассоциация СиБОСС. Продукты// http://www.cboss.ru/products/products-map.html

3. Бахманн П. и др. Программные системы. Применение. Разработка. Обоснование. - М.: Мир, 1988.

4. Бек К. Экстремальное программирование. - СПб.: Питер, 2002.

5. Бобровски Oracle 7, вычисления клиент/сервер М.: "Лори", 1996.

6. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. - М.: ДМК, 2000.

7. Вендров A.M. CASE-технологии. Современные методы и средства проектирования информационных систем. -М. : Финансы и статистика, 1998.

8. Вендров A.M. Проектирование программного обеспечения экономических информационных систем. -М. : Финансы и статистика, 2002.

9. Гайдукова Н.В., Лукин В.Н. и др. Автоматизированная биохимическая лаборатория. Перспективное развитие. // Лабораторное дело № 9,1989, с. 26-28.

10. Гласе Р., Нуазо Р., Сопровождение программного обеспечения. - М.: Мир, 1983.

11. Горбунов-Посадов М.М. Конфигурация программ. Рецепты безболезненных изменений. 2- изд. испр. и доп. - М.: Малип, 1994.

12. Громов Г.Р. Очерки информационной технологии. - М.: Инфоарт, 1993.

13. Группа компаний Сумма Технологий. Интегрированные системы управления предприятием// http://www.sumtechsvs.com/?cid=5010118

14. Гулиев Я.И.-О., Малых В.Л., Пименов СП., Хаткевич М.И. Концепция поддержки жизненного цикла информационных систем, 2004// http://www.interin.ru/pls/interin/docs/TECHNO/inf ob.htm

15. Емелин И.В., Лукин В.Н., Ельчиян Р.А. О жизненном цикле систем реального времени // «Прикладная информатика», вып 1(10). — М.: Финансы и статистика, 1986.

16. Ефимов Г. Жизненный цикл информационных систем. 2004// http://koi.abn.ru/inf/setevoi/cvcle.shtml

17. Жоголев Е.А.. Введение в технологию программирования (конспект лекций). — М,: «Диалог-МГУ», 1995. - 112 с.

18. Зайцев Л. AllFusion ERwin Data Modeler API - это проще, чем кажется. Компания Интерфейс// http://www.interface.ru/fset.asp7UrWross/ross h.htm

19. Ишмухаметов А.З., Лукин В.В., Организация словаря данных в предметно- ориентированных программных оболочках. // СУБД 1998. №1-2.

20. Йордон Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте: Пер. с англ. - М.: Издательство «ЛОРИ», 2001.

21. Калянов Г.Н. CASE структурный системный анализ (автоматизация и применение). -М. : Издательство «ЛОРИ», 1996.

22. Калянов Г.Н. CASE-технологии, Консалтинг при автоматизации бизнес-процессов. 2- изд. перераб. и доп. - М,: Горячая линия - Телеком, 2000. - 320 с.

23. Кафедра Прикладной механики и управления. ММФ. МГУ. Задача о максимальном отклонении,абсолютная устойчивость и робастная стабилизация// http://www.math.msu.su/department/priklad/science3 3 2.html

24. Когаловский М.Р. Энциклопедия технологий баз данных. - М.: Финансы и статистика, 2002.

25. Козлинский А.В. CASE-технология: индустриальная разработка систем обработки информации // Компьютерное обозрение. 1993, №1, с.29-40.

26. Компания «Интерфейс», Strategic Application Modeler// http://www.interface.ru/fset.asp7UrH/ross/ross h.htm

27. Компания BSS. Комплексная система ДБО// http://bss.bssvs.com/s/bsi.dll?Target=Frameset&I=100

28. Компания DiaSoft. Продукция// http://www.diasoft.ru/starget/page.cfm?svsname=Products&&SubSessionID=l

29. Компания IBS. Бизнес-приложения// http://www.ibs.ru/content/rus/rubr36/rubr-360.asp

30. Компания INTEGPROG. Логистическое программное обеспечение// http://www.integprog.ru/direction.php

31. Компания IT. Бизнес приложения// http://www.it.ru/service/business/index.html

32. Компания SUNIT. Super Cell Аналитик// http://www.sunit.ru/p scanalitik.shtml

33. Компания Бизнес-Консоль. Продукты и услуги// http://www.bcons.ru/products/

34. Компания Ключ. Инструментальная платформа Экспресс// http://www.kev.scn.ru/pages/articles/aup.htm

35. Компания Про-Инвест. Инфо-Бухгалтер// http://www.ib.ru/partners/proinvest.html

36. Компания РекСофт. Продукты РекСофт// http://www.reksoft.ru/products/

37. Компания Риал. Система управления складским комплексом// http://rial.ru/si/sklad/po.php7wms

38. Компания СОФТИНТЕГРО. Программные продукты// http://www.softintegro.ru/sftw dev/

39. Корпорация «Парус». Информационные системы управления// http://www.parus.ru/

40. Котов Л. Нормирование жизненного цикла программной продукции. ЮНИТИ, 2002.

41. Краснухин А, Методологии проектирования сложных изделий// Открытые системы №6,2003.

42. Купер Э. Управление изменениями: неужели между качеством и скоростью разработки программного обеспечения всегда должен быть компромисс. 2004// http://www.interface.ru/fset.asp7Url=/ross/ross_h.htm

43. Липаев В.В. Документирование и управление конфигурацией программных средств. -М. : СИНТЕГ, 1998.

44. Липаев В.В. Управление разработкой программных комплексов. М.: Финансы и статистика, 1993.

45. Лукин В.В. Вопросы сопровождения слабо тиражируемых систем. Тезисы докладов Третьей международной конференции по неравновесным процессам в соплах и струях (NPNJ-2000), Истра-Москва, 3-7 июля 2000 г. - М., МГИУ, 2000. -с.375-377.

46. Лукин В.В., Лукин В.Н., Чернышов Л.Н.. Вопросы поддержки слабо тиражируемых информационных прикладных систем (СТИПС). // Математическое моделирование, т.11, № 4. М.: РАН, 1999. - с. 3-8.

47. Лукин В.В., Лукин В.Н., Применимость легких методологий проектирования для разработки слабо тиражируемых программных систем. // Труды МГППУ №1,2004.

48. Лукин В.Н., Чернышов Л.Н.. Вопросы поддержки слабо тиражируемых информационных прикладных систем (СТИПС). // 2-я Международная конференция по неравновесным процессам в соплах и струях. Тезисы докладов. Изд-во МАИ, М., 1998, с. 190-193.

49. Майерс Г.. Надежность программного обеспечения. - М.: Мир, 1980.

50. Монахова Е., Важнов А., Бобровский Вал вдохновения, или Заседание продолжается//PCWEEK №37,1998// http://www.pcweek.nl/vearl998/N37/CP1251/Reviews/cham5.htm

51. Неймарк Ю, И., Коган М. М. Теория управления на этапе расширения возможностей и универсализации// http://elibrarv.ru/books/ianus/neimark.htm

52. Неймарк Ю.И. Мера робастной устойчивости и модальности линейных систем //ДАН. 1992. Т.325, № 2. 247-250.

53. Неймарк Ю.И. Мера робастной устойчивости линейных систем //Автоматика и телемеханика. 1993. Х2 1. 107-110.

54. Неймарк Ю.И. Область робастной устойчивости и робастность по нелинейным параметрам //ДАН. 1992. Т.325, № 3. 438-440.

55. Неймарк Ю.И. Робастная интервальная матричная устойчивость //Автоматика и телемеханика. 1994. № 7. 132-137.

56. Неймарк Ю.И. Робастная устойчивость линейных систем //ДАН. 1991. Т. 319. № 3. 578-580.

57. Неймарк Ю.И. Устойчивость линеаризованных систем. Л.: ЛКВВИА, 1949.

58. Никифоров В.О. Адаптивное и робастное управление с компенсацией возмущений / -Петербург, гос. ин-т точ. механики и оптики (Техн. ун-т). - М.: Наука, 2004, пер., 681.5, 32.965.9, 35, 03,2004. - ISBN 5-02-025006-6

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

60. Очередько Концепция управления жизненным циклом// Открытые системы №2, 2002.

61. Петров В.Н.. Информационные системы. СПб: Питер, 2002.

62. Поляк Б.Т. Робастная устойчивость и управление / Поляк Б.Т., Щербаков П.С. - М.: Наука, 2002.

63. Притыкин Д.А.. BPwin 4.0: пришел, увидел, реорганизовал. Компания Интерфейс// http://www.interface.ru/fset.asp?Url=/ross/ross h.htm

64. Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000 год: Пер. с англ./Под ред. и с предисл. М.Р.Когаловского. - М.: Финансы и статистика, 1999.

65. Тощев А., BPwin. ERwin. ModelMart// КомпьютерПресс №2, 2001// http://www.interface.ru/fset.asp?Url=/ross/ross h.htm

66. Фаулер М.. Архитектура корпоративных программных приложений.: пер. с англ. — М.: Издательский дом «Вильяме», 2004.

67. Фирма «1 С». Программные продукты// http://www. 1 c.ru/

68. Фридман А.Л. Основы объектно-ориентированной разработки программных систем. — М.: Финансы и статистика, 2000. - 192 с.

69. Хаф Л. Методологии разработки программного обеспечения. КомпьютерПресс, октябрь 2003, с. 168-171.

70. ЦИТ ПРОИНФОТЕХ, Целостность реляционных данных// http://www.proinfotech.ru/compis25.htm

71. Черемных СВ., Семенов И.О., Ручкин B.C. Структурный анализ систем: IDEF- технологии, - М.: Финансы и статистика, 2001. - 208 с.

72. Черняк Л. Порталы и жизненные циклы// Открытые системы №2,2002.

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