Область применения, преимущества

1. Предварительное замечание

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

Постановка задачи

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

Напомним, что в современных ПП количество выполняемых ими функций (функциональных операций) может достигать нескольких сотен. Очевидно, что в этих условиях вряд ли удастся традиционными методами (вручную) оценить степень соответствия того или иного ПП требованиям пользователя, сравнить ПП-претенденты по функциональной полноте. Поэтому для решения подобных задач предложен формализованный подход (см.: [Хубаев, 1988; 1989а]. Отметим, что методика подтвердила прикладную полезность и неоднократно использовалась при анализе реальных ИС. Описанный ниже алгоритм реализовывался с помощью разных инструментальных средств, в т.ч. В.Левиным (1992г.), В.Турчиным (1995г.), Н.Миглиевой и Е.Паяльниковой (1996г.). Здесь мы рассмотрим одну из программно реализованных его модификаций.

Алгоритм сравнения

Пусть Область применения, преимущества - student2.ru (i=1,2,...,n) - множество сравниваемых ПП (ПП-претендентов); Область применения, преимущества - student2.ru (j=1,2,...,m) - множество, составляющее словарь реализуемых программными продуктами Область применения, преимущества - student2.ru функций.

Исходную информацию представим в виде таблицы Область применения, преимущества - student2.ru , элементы которой определяются следующим образом:

Область применения, преимущества - student2.ru

Выделим ПП Zi и Zk (i,k=1,2,...,n) и введем следующие обозначения:

Область применения, преимущества - student2.ru

Область применения, преимущества - student2.ru

Область применения, преимущества - student2.ru - число функций, выполняемых ПП Zk, но не реализуемых Zi,

т.е. Область применения, преимущества - student2.ru - мощность разности множеств Zk и Zi;

Область применения, преимущества - student2.ru - мощность объединения множеств Zi и Zk,

т.е. Область применения, преимущества - student2.ru

Для оценки того, какая часть (доля) функций, выполняемых ПП Zi, реализуется также и ПП Zk, можно использовать величину

Область применения, преимущества - student2.ru

Взаимосвязь между ПП Zi и Zk оценивается по значениям Pik(11) и Область применения, преимущества - student2.ru

где Gik - мера подобия Жаккарда.

Выбирая различные пороговые значения Область применения, преимущества - student2.ru элементов матриц P, G и H, можно построить логические матрицы поглощения (включения) P0, G0 и H0. Например, элементы матрицы H0 получают следующим образом:

Область применения, преимущества - student2.ru

Граф, построенный по логическим матрицам P0, G0 и H0, дает наглядное представление о взаимосвязи между сравниваемыми ПП (по выполняемым функциям).

Строку с перечнем функций, которые интересуют пользователя (должны выполняться ПП-претендентом), обозначим через Ze.

Дополнив таблицу Область применения, преимущества - student2.ru строкой Область применения, преимущества - student2.ru , рассчитаем матрицы P(10) и P(11). Затем, выделив строки (ПП Zj), у которых

Pej(10)=0 либо

Область применения, преимущества - student2.ru

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

Возможная последовательность шагов реализации алгоритма:

1) в справочнике функций, выполняемых сравниваемыми программными продуктами, отмечаются те функции (функциональные операции), которые должны выполняться условным (реально не существующим) ПП, и формируется новая строка Ze. Этой строкой дополняется исходная таблица Область применения, преимущества - student2.ru , т.е. в таблице Zi= Область применения, преимущества - student2.ru появляется строка Ze Область применения, преимущества - student2.ru .

Строятся матрицы Область применения, преимущества - student2.ru

2) в матрицах Pij или Область применения, преимущества - student2.ru выделяются строки Pej и Область применения, преимущества - student2.ru ;

3) из n элементов Zi, каждый из которых соответствует одному из рассматриваемых ПП, выбираются только те, у которых Pej(10)=0 или Hej=1 Область применения, преимущества - student2.ru , т.е. те программные продукты, которые включают в качестве подмножества перечень функций, реализуемых условным ПП Ze.

Предположим, что число удовлетворяющих этому условию программных пакетов равно d, dсn;

4) формируется новая матрица Zi(1) Область применения, преимущества - student2.ru ;

5) для подмножества Zi(1) Область применения, преимущества - student2.ru строится матрица Область применения, преимущества - student2.ru ;

6) по матрице Pij(01) последовательно для Pej(01)=1, Pej(01)=2 и т.д. строится таблица (см. табл. А), в которой перечисляются функции, не предусмотренные в условном пакете Ze, но реализуемые пакетом Zj Область применения, преимущества - student2.ru .

Таблица А

Код (номер) программного продукта (ПП), Zi Наименование ПП Идентификатор и наименование выполняемой функции
Zk XXX Rk, g
   
    Rk,g+s
   
Zt   Rt, p

Из табл.А пользователь выбирает одну или несколько заинтересовавших его функций, и этими функциями дополняется строка Ze, после чего процесс повторяется, начиная с шага 2;

7) по матрице P(10) = Pij(10) последовательно для Pej(10)= 1, Pej(10) = 2 и т.д. строится таблица В, аналогичная табл. А, в которой перечисляются функции, предусмотренные в Ze, но не реализуемые пакетом Zj, а по матрицам P(11), H0 и G0 для выбранных пороговых значений Область применения, преимущества - student2.ru их элементов можно выделить и представить в виде таблицы подмножества общих (или часто реализуемых) функций, оценить степень взаимосвязи между изучаемыми ПП по выполняемым функциям и т.д.

Пример реализации

Рассмотрим численный пример. Предположим, что в табл.2.1 представлены данные о выполняемых программными системами (Zi) функциях (Rj).

Таблица 2.1

Результаты оценки функциональной полноты программных систем Zi

Наиме-нова-ние Наименование (код) выполняемой функции
(иден-тифи-катор) про-грам-мной сис-темы R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 Область применения, преимущества - student2.ru
Z1
Z2
Z3
Z4
Z5
Z6
Область применения, преимущества - student2.ru  

Как легко убедиться, даже в таком простейшем случае (n=6, m=15) сравнение и оптимальный выбор ПС по критерию функциональной полноты осуществить весьма не просто. Но ведь ситуации, когда n, m > 100, вполне обычны. Поэтому анализ будем проводить, следуя предложенному ранее алгоритму.

Сначала для табл.1 вычислим матрицы P(01), G и H, а затем построим логические матрицы поглощения P0(01), G0 и H0, выбрав следующие пороговые значения элементов:

Область применения, преимущества - student2.ru

Область применения, преимущества - student2.ru Область применения, преимущества - student2.ru

Область применения, преимущества - student2.ru Область применения, преимущества - student2.ru Область применения, преимущества - student2.ru

Далее. Предположим теперь, что для потребителя-пользователя нужно, чтобы ПС-претендентом выполнялись функции R2, R5, R6 и R10. Обратившись к построенным матрицам, обнаружим, что интересующие пользователя функции реализуются тремя ПС: Z1, Z3, Z4 - см. четвертый столбец матрицы P (P0) или четвертую строку матрицы H (H0) (совпадает с Z4). Что касается ПС Z2, Z5, Z6, то в них нужные пользователю функции реализованы лишь частично, и т.д. Продолжая действовать в соответствии с описанным алгоритмом, легко ответить на все основные вопросы, возникающие при количественной сравнительной оценке информационных и программных систем по критерию функциональной полноты.

Наши рекомендации