Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Повторное использование коммерческих программных продуктов




 

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

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

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

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

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

 

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

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

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

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

 

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

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

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

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...