stringtranslate.com

Программный компонент

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

Ценить

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

Атрибуты

Желательные атрибуты компонента включают, помимо прочего:

Третья сторона

Некоторые компоненты создаются внутри той же организации или команды, которая разрабатывает программную систему . Некоторые являются сторонними , разработанными в другом месте и собранными в программную систему. [2]

Компонентно-ориентированная разработка программного обеспечения

Для крупномасштабных систем разработка на основе компонентов способствует дисциплинированному процессу управления сложностью . [3]

Рамки

Некоторые компоненты соответствуют технологии фреймворка, которая позволяет использовать их известным способом. Примеры включают: CORBA , COM , Enterprise JavaBeans и .NET Framework . [4] [5]

Моделирование

Пример взаимозависимых компонентов, моделирующих систему бронирования на языке UML

Компонентный дизайн часто моделируется визуально. В Unified Modeling Language (UML) 2.0 компонент отображается в виде прямоугольника, а интерфейс отображается в виде леденца на палочке для указания предоставленного интерфейса и в виде сокета для указания потребления интерфейса.

История

Идея повторно используемых программных компонентов была выдвинута Дугласом Макилроем в его презентации на конференции НАТО по программной инженерии в 1968 году. [6] (Одной из целей этой конференции было разрешение так называемого кризиса программного обеспечения того времени.) В 1970-х годах Макилрой воплотил эту идею в жизнь, добавив функцию конвейера в операционную систему Unix .

Брэд Кокс усовершенствовал концепцию программного компонента в 1980-х годах. [7] Он попытался создать инфраструктуру и рынок для повторно используемых сторонних компонентов, изобретя язык программирования Objective-C . [8]

IBM представила системную объектную модель (SOM) в начале 1990-х годов. [9]

Microsoft представила Component Object Model (COM) в начале 1990-х годов. Microsoft построила множество доменно-специфичных компонентных технологий на COM, включая Distributed Component Object Model (DCOM), Object Linking and Embedding (OLE) и ActiveX.

Ссылки

  1. ^ ab Pandey, Pankaj (11 июля 2023 г.). «Учебные заметки: компоненты и соединители программного обеспечения». medium.com . Получено 14 мая 2024 г. .
  2. ^ Ядав, Санни (16 апреля 2024 г.). «Типы программных компонентов — с примерами». LinkedIn . Получено 14 мая 2024 г. .
  3. ^ Дуглас К. Шмидт . «Почему повторное использование программного обеспечения не удалось и как заставить его работать на вас» . Получено 14 мая 2024 г.
  4. ^ Crnkovic, I.; Sentilles, S.; Vulgarakis, A.; Chaudron, MRV (2011). «Структура классификации моделей компонентов программного обеспечения». IEEE Transactions on Software Engineering . 37 (5): 593–615. doi :10.1109/TSE.2010.83. S2CID  15449138.
  5. ^ Лау, Кунг-Киу; Ван, Чжэн (2007). «Модели программных компонентов». Транзакции IEEE по разработке программного обеспечения . 33 (10): 709–724. дои :10.1109/TSE.2007.70726. ISSN  0098-5589.
  6. ^ Макилрой, Малкольм Дуглас (январь 1969). "Массовые программные компоненты" (PDF) . Программная инженерия: Отчет о конференции, спонсируемой Научным комитетом НАТО, Гармиш, Германия, 7-11 октября 1968 г. Отдел научных дел, НАТО. стр. 79.
  7. ^ Райнер Никамп. "Архитектура программного компонента" (PDF) . Руководство конгрессов - CIMNE/Институт научных вычислений, Технический университет Брауншвейга. стр. 4. Архивировано из оригинала (PDF) 2012-03-28 . Получено 2011-07-29 . Современная концепция программного компонента в значительной степени определена Брэдом Коксом из Stepstone, => язык программирования Objective-C
  8. ^ Брэд Кокс (1991). Объектно-ориентированное программирование: эволюционный подход . Эддисон Уэсли. ISBN 0-201-54834-8.
  9. ^ Рафаэль Гефлер (9 декабря 2008 г.). «Обновление компонентно-ориентированного приложения». HSR - Hochschule für Technik Rapperswill. стр. 4. Получено 29 июля 2011 г. 1990 г. IBM изобретает свою модель системных объектов. 1990 г. в качестве реакции Microsoft выпустила OLE 1.0 OLE custom controls (OCX)[ постоянная мертвая ссылка ]