Развитие методологии имитационных исследований сложных экономических систем (1142216), страница 34
Текст из файла (страница 34)
Это зависит и от уже наработанного программного обеспечения,объемареализованнойразработчикамиметодологииисследования,особенностейиспользуемой системы программирования, предпочтений и таланта разработчиков. Но влюбом случае всегда логически можно выделить такую составляющую в составеинтегрированной программной технологии проведения ИИСС. Т.е.
в математическомплане Techии ﬤПу.160Определение 3.3. Программная подсистема (Пi) – это компьютерная программа,реализующая логически завершенную совокупность управляющих воздействий иопераций исследователя и другие вычислительные операции при выполнении i-гоэтапа процесса ИИСС.Количество подсистем в интегрированной программной технологии равноколичеству этапов n. Любая программная подсистема также является составной частьюинтегрированной программной технологии проведения ИИСС. Т.е. любая подсистемаявляется частью общей технологии Techии ﬤПi , где i=1,…,n.jОпределение 3.4.
Программная компонента Пi – это компьютерная программа,реализующая логически завершенную совокупность управляющих воздействий иопераций исследователя при выполнении отдельного j-го состояния i-го этапапроцесса ИИСС.Количество состояний в каждом i-ом этапе ИИСС различно, обозначим его черезmi. Значения mi индивидуальны для каждой конкретной реализации системы ИМ. Общееколичество программных компонент в процессе ИИСС равно ∑ m i, где i=1,…,n.Определение 3.5.
Ручные операции на i-м этапе (Рi) – это совокупность действий иопераций, выполняемых исследователем вручную (без применения программ) впроцессе ИИСС.Количество ручных операций в современных системах ИМ мало, но ониобязательно присутствуют. Их количество индивидуально и зависит от уровня реализациисистемы ИМ.На основе введенных определений и соображений разумной целесообразностиможно предположить:1.Число этапов процесса ИИСС S=(Si) определяется выбранной интегрированнойпрограммной технологией исследования Techии, конечно и равно n.
Количествосостояний любого этапа i определяется выбранной программной технологиейреализации этапа Techэ, конечно и равно mi2.Каждому этапу ИИСС (S1,…,Sn) соответствует своя программная подсистема,одна из множества (П1,…, Пn). Для всего процесса ИИСС имеется только однауправляющая программа Пу.3.КаждаяпрограммнаяпрограммныхподсистемакомпонентПi состоит из некоторого множестваПi=(Пi1,…,Пimi), реализующих соответствующие161jсостояния этапов (S1 ).
Количество программных компонент для каждого этапаопределяется выбранной программной технологией Techэ.4.ИнтегрированнаяпрограммнаятехнологияпроведенияпроцессаИИССjпредставляет следующий кортеж Techии=(Пу,(Пi),(Пi )) и объединяет всепрограммы. необходимые для исследования, в том числе и программныетехнологии этапов Techэ .5.Разбиение всего программного комплекса проведения ИИСС на управляющуюjпрограмму Пу, подсистемы (Пi), программные компоненты (Пi ) представляет нефизическую, а логическую структуру программного комплекса.6.Технология Techии совместно с используемым множеством ручных операций (Рi)и программной технологией Techэ функционально полно реализует весь процессИИСС.3.2.3 Концептуальные основы программной технологии TechииРассмотрим более подробно структуру, характеристики и содержательный смыслjмножеств (Пу), (Пi), (Пi ) с точки зрения их проектирования.
Необходимо отметить, чтоэтобудутдостаточнообщиеописания,проектирования этих программ инеявляющиесяспецификациямидлясодержащие лишь методическую основу дляпрактической реализации.Каждый элемент этих множеств – прежде всего программа, основнымипроектными характеристиками которых являются: структуры организации используемыхданных (СОД), язык пользователя для ввода данных и команд (ЯП), вычислительныепрограммные компоненты (В). Поэтому представим эти множества в следующем виде.Пу =(СОДии,ЯПии,Вии)(Пi)=((СОДi),(ЯПi),(Вi))jjj(3.6)j(Пi )=((СОДi ),(ЯПi ),(Вi ))Рассмотрим более подробно основные проектные характеристики программ.Структура организации данных - СОД.
В любой программе в той или иной мереимеется структура данных. Т.е. должен быть некий набор данных, которые впоследствии162обрабатываются самой программой. В качестве СОД могут выступать самые различныеформы представления: для некоторых программ достаточно организовать данные в формемассивов ифайлов, для более сложных программ могут потребоваться специальныеструктуры, например, БД. В нашем формальном описании мы не сможем более подробноописать эти формы, так как они индивидуальны для каждой системы ИМ, зависят отпредпочтений разработчика, имеющегося инструментария, функций программы и т.д.
Впроцессе дальнейшего описания методологии будет описано общее функциональноенаполнение форм СОД для процесса ИИСС, которые могут послужить методическойосновой для создания той или иной практической структуры СОД. Учитывая сложностьпроцесса ИИСС, огромный объем и разнообразие циркулирующих в нем данных, будемпредполагать, что основой СОД будет одна или несколько БД. Не будем при дальнейшемописании рассматривать отдельно структуры данных по каждому конкретному этапу илисостоянию этапа.
Наибольший интерес и важность представляет общее интегрированноехранилище данных. Структура этого хранилища должна быть, в первую очередь,ориентирована на общность и полную доступность данных для каждого этапа и каждогосостояния этапа.Язык пользователя – ЯП. Для взаимодействия с каждой программой необходимнекоторый инструмент, используя который исследователь управляет программой. Будем вдальнейшем называть его языком пользователя (ЯП). Он должен обеспечить ввод данныхи команд в программу с использованием имеющихся технических средств ввода(клавиатуры, мыши и др.).
В самом общем виде ЯП – это множество, состоящее из рядаподмножеств, каждое из которых будем идентифицировать с принятым нами разбиениемjпроцесса ИИСС на этапы и состояния этапов. ЯП=(ЯПi)=(ЯПi ). При детализацииописания языка пользователя будем использовать подход, изложенный при формализациитрадиционного подхода ИИСС, несколько модифицировав его. Конечным элементомязыка являются диалоги, используя которые.
исследователь вводит команды и данные,jнапример, множество ЯПi описывает доступные пользователю диалоги на этапе i всостоянии j.Условно объединим все возможные способы ввода команд и данных в две группы:•Меню – через различные горизонтальные и выпадающие меню, списки, вкладки,кнопки, функциональные клавиши и т.д.;•Клавиатура – через диалоговые секции, ячейки, поля ввода, таблицы и т.д.163При этом можно выделить все диалоги пользователя в ряд групп (множеств),имеющих общие признаки для любой программы:- вход или выход из программы – ST и EN;k1- ввод данных по представленному выбору в меню – (DMi );k2- ввод данных с клавиатуры – (DKi );k3- ввод команды по представленному меню – (CMi );k4- ввод команды с клавиатуры – (CKi ).Тогда в целом множество управляющих воздействий исследователя на процессИИСС в состоянии j этапа i можно представить следующим образом:ЯПij = (ST,(DMijk1),(DKijk2),(CMijk3),(CKijk4),EN)(3.7)Где i - количество этапов (i = 1,n), а j - количество состояний на этапе (j = 1,mi) иk1, k2, k3 и k4,количество типов управляющих воздействий (k1=1,lj1; k2=1,lj2;k3=1,lj3; k4=1,lj4).
Значения n, mi и lj1, lj2, lj3 и lj4 индивидуальны для различных системИМ, каждого исследования, любого этапа в этом процессе, каждого состояния этапа итипа диалога.Максимальное значение индексов k1, k2, k3 и k4 для каждого состояния на любомиз этапов различно и равно количеству вариантов ввода данного управляющеговоздействия в конкретной программе.Такое представление языка диалога является еще достаточно общим, но позволитструктурировать язык, сделать достаточное полное описание и дать методическую основуанализа временных, лингвистических и функциональных характеристикконкретнойпрограммы и всего программного комплекса в целом.Вычислительные программные компоненты – В. Это не требующая вмешательстваисследователя часть программного кода, обеспечивающая требуемые вычисления всоответствии с введенной исследователем командой.
Будем совокупность такихвычислительных процедур обозначать через множество В. Очевидно, что структурамножества вычислительных процедур по количеству будет совпадать с принятойструктурой процесса ИИСС. Таким образом, математически множество вычислительныхjпроцедур можно представить как В=(Вi ).Каждую управляемую исследователем программу можно представить в видеследующего цикла взаимодействия, как показано на рисунке 3.2.164ИсследовательЯПВСОДИсточник: составлено авторомРисунок 3.2 – Логическая структура программы.Все программы при использовании интегрированной программной технологииисследования Techии в процессе проведения ИИСС должны взаимодействовать друг сдругом. Условная схема взаимодействия показана на рисунке 3.3.УПРАВЛЯЮЩАЯ ПРОГРАММАЯПВСОДОБЩЕЕ ХРАНИЛИЩЕЭТАП NЭТАП 1СОДВВСОД...ЯПЯППодсистема nПодсистема 1Состояние 1 этапа 1Состояние m1 этапа 1ВСОДСОД...В...ЯПЯППрограммная компонента 1подсистемы 1Программная компонента m1подсистемы 1Источник: составлено авторомРисунок 3.3 – Взаимодействие всех программ в процессе ИИСС (технология Techии)3.2.4Обобщенные показатели качества технологииПриведенные выше определения, выводы и описания программных структурвносят определенность в формализацию любой проектируемой (или исследуемой)интегрированной системы проведения ИИСС и фиксируют принятые нами упрощения и165допущения.
Хотя мы понимаем, что это во многом условная и не достаточнодетализированная технология.В реальных программных комплексах границы и функции программ не стольочевидны, один и тот же кусок кода позволяет осуществлять операции для различныхэтапов, используемые в программе данные используются в других программах. Поэтомучетко разделить программу на физические сегменты и обозначить их функциональноеназначение очень сложно и иногда невозможно. Но даже такое условное описание (оченьблизкоекпонятиямвиртуальности)позволитдостаточноточнопредставитьинтегрированный программный комплекс, обеспечить методическую базу для вычисленияколичественных характеристик процесса,сравнивать различные варианты реализациипроцесса, вырабатывать стратегию его дальнейшего совершенствования.Для более точного отражения тенденций в совершенствовании процесса ИИСС(программной автоматизации) введем дополнительные показатели процесса (Тии, Кисп,Кп, Ст) и еще один дополнительный фактор – уровень автоматизации Аии,показывающий, какая часть всех этапов и состояний этапов процесса ИИСС реализованапрограммно.