Инженерия оценивания стоимости реализации ПрО из компонентов
Инженерия программирования ПС для ПрО создаваемой из компонентов, которые вновь разрабатываются из-за отсутствия готовых, а также компонентов многоразового использования и ПИК, включает в себя оценку стоимости разработки ПС в целях получения сделанных затрат на разработку продукта, составленного из совокупности взаимосвязанных компонентов, реализующих функции ПрО.
Общую стоимость создания компонентной системы будем считать, состоящую из таких составных элементов:
С = С1 + С2 + С3 + С4 ,
где С1 – стоимость анализа функций ПрО, С2 – стоимость подбора ПИК из репозитария или библиотеки методов с учетом вновь разработанных компонентов, С3 – стоимость интеграции всех компонентов в систему, С4 – стоимость определения и обработки данных ПС.
Рассмотрим отдельно каждую составную единицу стоимости ПС.
Стоимость анализа функций ПрО имеет вид
M
С1 = S b1i С1i Fi (Di),
I
где Di – данные i–функции в ПС, M – количество функций F в системе,
1, когда функция реализована в компонентах ПС,
bli = 0, в противном случае.
Стоимость поиска и исследования возможностей применения ПИК, полученного с репозитария, для реализации некоторой определенной функции ПрО, которая вычисляется с помощью выражения:
N M
С2 = S S a2 ji С2 (Fji )+ С2 ( PFji ),
j I
где С2 (Fji ) – стоимость поиска ПИК для функции Fi , сформулированной на этапе анализа ПрО, N – количество новых компонентов и ПИК, C2(PFji) – стоимость разработки некоторых типичных программных компонентов,
1, когда j– компонент используется функцией Fi ,
a 2ji = 0, в противном случае.
Стоимость композиции компонентов определяется следующим образом:
N M K
С3 = S S S d2 jik С3 (Ijr ),
j I r
где С3(Ijr) – стоимость создания интерфейсных модулей пары компонентов Ki и K r ,
1, когда r – параметр из набора Х= (Х1, …,Хr ) есть входным
d2 jik = для J –компонента, r– функции (r =1,..., K),
0 , в противном случае.
Таким образом, конечный результат оценивания стоимости ПС получается путем суммирования С = С1 + С2 + С3 + С4 ( расчет С4 громоздкий – не приводится) и имеет вид: M N M
S b1и С1и Fi (Di) + S S a2ji С2 (Fji )+ С2 ( PFji ) +
С = N M K J I
S S S d2 jik С3 (Ijr ) + C4 .
j I r
Основными ограничениями данного выражения является необходимость реализации заданных функций в ПС, наличие средств интеграции пар компонентов Ki и Kr, которые могут быть заданы в любых современных ЯП в заданной среде функционирования, количество компонентов К соответствует заданным функциям, которые обеспечивают решение задач ПрО.
Расчет стоимости С для компонентных систем является трудоемким процессом. Общая стоимость уменьшается, если описание компонентов выполнено на одном из ЯП, за счет отсутствия интерфейсных модулей преобразования данных в системе.
Таким образом, инженерия программирования компонентных систем характеризуется степенью использования в них накопленной программной продукции в виде ПИК и компонентов ПрО многоразового использования. Она требует не только их подбора для применения в новых разработках ПС, но соответствующих инженерных оценок качества, стоимости, риска от приобретения, трудозатрат на разработку с учетом полученных выгод (а также потерь при изменениях и адаптации ПИК) от использования уже произведенного программного изделия и т.п.
Литература к теме 6.
1. Бабенко Л.П., Лаврищева Е.М. Основы программной инженерии (укр.).– Киев, Знання. –2001.–269с.
2. Грищенко В.Н., Лаврищева Е.М. Методы и средства компонентного пограммирования//Кибернетика и системный анализ, 2003.– №1.– с.39–55.
3.Jacobson I., Griss M., Jonsson P. Software Reuse.–N.Y.:Adison Wesley, 1997.
4. Сrnkovik I, Larsson S., Stafford J. Component-Based Software Engineering: building systems from Components at 9th Conference and Workshops on Engineering of Computer –Based Systems.- Software Engineering Notes.-2002.- vol.27.-N 3.-c.47-50.
5. К.Чернецки, У.Айзенекер. Порождающее программирование. Методы, инструменты, применение.– Издательский дом «Питер».– Москва– Санкт-Петербург… Харьков, Минск.– 2005.–730с.
6. Meyer B. On to Components. Computer. – vol. 32, N 1, January 1999. – pp.139–140.
7. Lowy J. COM and .NET Component Services. - O'Reilly, 2001. – 384 p.
8. Batory D., O'Malley S. The Design and Implementation of Hierarchical Software Systems with Reusable Components/ ACM Transactions on Software Engineering and Methodology. – N 4, vol. 1, October 1992. – pp.355–398.
9. Weide B., Ogden W., Sweden S. Reusable Software Components/ Advances in Computers, vol. 33. – Academic Press, 1991. – pp.1–65.
10. Jacobson I., Griss M., Johnson P. Software Reuse: Architecture, Process and organization for Business Success – Addison Wesley, Reading , MA, May 1997.–501p.
Тема 7