Jump to content

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

Программный интеллект — это понимание внутренней работы и структурного состояния программных активов, созданных с помощью программного обеспечения, предназначенного для анализа базы данных структуры , программной среды и исходного кода , чтобы лучше понимать и контролировать сложные программные системы в средах информационных технологий . [1] [2] Подобно бизнес-аналитике (BI), программная аналитика создается с помощью набора программных инструментов и методов для анализа данных и внутренней структуры программного обеспечения. Результаты создаются автоматически и поступают в базу знаний, содержащую техническую документацию и схемы внутренней работы приложений. [3] и сделать его доступным для всех, чтобы его могли использовать заинтересованные стороны бизнеса и программного обеспечения для принятия обоснованных решений, [4] измерять эффективность организаций, занимающихся разработкой программного обеспечения, сообщать о состоянии программного обеспечения, предотвращать катастрофы программного обеспечения. [5]

Программный интеллект был использован Кирком Полом Лафлером, американским инженером, предпринимателем и консультантом, а также основателем Software Intelligence Corporation в 1979 году. В то время это было в основном связано с деятельностью SAS , экспертом в которой он является с 1979 года. [6]

В начале 1980-х годов Виктор Р. Базили участвовал в различных статьях, подробно описывающих методологию сбора достоверных данных о разработке программного обеспечения, касающихся разработки программного обеспечения, оценки разработки программного обеспечения и его вариаций. [7] [8] В 2004 году различные поставщики программного обеспечения для анализа программного обеспечения начали использовать эти термины как часть своей стратегии наименования продуктов и маркетинговой стратегии.

Затем, в 2010 году, Ахмед Э. Хасан и Тао Се определили программный интеллект как « практику, предлагающую специалистам по программному обеспечению актуальную и актуальную информацию для поддержки их ежедневных процессов принятия решений, а программный интеллект должен поддерживать процессы принятия решений на протяжении всего срока службы». программная система ». Далее они определяют интеллект программного обеспечения как « сильное влияние на современную практику разработки программного обеспечения » на ближайшие десятилетия. [9]

Возможности

[ редактировать ]

Из-за сложности и широкого спектра компонентов и предметов, включенных в программное обеспечение, интеллект программного обеспечения зависит от различных аспектов программного обеспечения:

  • Композиция программного обеспечения — это создание компонентов программного приложения. [10] Компоненты возникают в результате кодирования программного обеспечения, а также интеграции исходного кода из внешних компонентов: с открытым исходным кодом, сторонних компонентов или платформ. Другие компоненты можно интегрировать с помощью интерфейса прикладного программирования, вызывая библиотеки или службы.
  • Архитектура программного обеспечения относится к структуре и организации элементов системы, отношений и свойств между ними.
  • Недостатки программного обеспечения обозначают проблемы, которые могут привести к безопасности, стабильности, отказоустойчивости и неожиданным результатам. Не существует стандартного определения недостатков программного обеспечения, но наиболее общепринятым является определение корпорации MITRE , где общие недостатки каталогизированы в виде общего перечисления слабых мест . [11]
  • Оценки программного обеспечения оценивают атрибуты программного обеспечения. Исторически классификация и терминология атрибутов были заимствованы из ISO 9126-3 и последующего ISO 25000:2005. [12] качественная модель.
  • Экономика программного обеспечения относится к оценке ресурсов программного обеспечения в прошлом, настоящем или будущем для принятия решений и управления. [13]

Компоненты

[ редактировать ]

Возможности программных интеллектуальных платформ включают в себя все большее количество компонентов:

  • Анализатор кода, который может служить информационной основой для других компонентов программного обеспечения, идентифицируя объекты, созданные языком программирования, внешние объекты из открытого исходного кода , объекты третьих сторон, платформы , API или сервисы.
  • Графическая визуализация и чертеж внутренней структуры рассматриваемого программного продукта или приложения. [14] включая зависимости, от сбора данных (автоматический сбор данных в реальном времени, записи конечных пользователей) до хранения данных, различные уровни [15] внутри программного обеспечения и связи между всеми элементами.
  • Возможности навигации внутри компонентов и функции анализа воздействия
  • Список недостатков, нарушений архитектуры и кодирования в соответствии со стандартизированными передовыми практиками, [16] облачный блокировщик, предотвращающий миграцию в облачную среду, [17] и мошеннический вызов данных, влекущий за собой безопасность и целостность программного обеспечения. [18]
  • Оценки или баллы качества структуры и программного обеспечения, соответствующие отраслевым стандартам, таким как OMG , CISQ или SEI, оценивают надежность, безопасность, эффективность, ремонтопригодность и масштабируемость для облачных или других систем.
  • Метрики, количественно определяющие и оценивающие экономику программного обеспечения, включая трудозатраты, размеры и технический долг. [19]
  • Отраслевые ссылки и бенчмаркинг, позволяющие сравнивать результаты анализа и отраслевые стандарты.

Пользовательский аспект

[ редактировать ]

Чтобы успешно интегрировать использование программных интеллектуальных систем в компании, необходимо принять некоторые соображения. В конечном итоге интеллектуальная система программного обеспечения должна быть принята и использована пользователями, чтобы она приносила пользу организации. Если система не добавляет ценности миссии пользователей, они просто не используют ее, как заявил М. Стори в 2003 году. [20]

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

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

  • Комплексность: недостающая информация может привести к неправильному или неадекватному решению, а также является фактором, влияющим на принятие системы пользователем. [22]
  • Точность: точность зависит от того, как собираются данные, чтобы обеспечить справедливое и неоспоримое мнение и суждение. [23]
  • Точность: точность обычно оценивается путем сравнения нескольких измерений из одного и того же или разных источников. [24]
  • Масштабируемость: отсутствие масштабируемости в индустрии программного обеспечения является критическим фактором, приводящим к неудаче. [25]
  • Достоверность: результатам следует доверять и верить в них.
  • Развертываемый и пригодный к использованию.

Приложения

[ редактировать ]

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

  • Изменение и модернизация: единая документация и чертежи всех внутренних компонентов, интеграция внешнего кода или вызов внутренних или внешних компонентов программного обеспечения. [26]
  • Отказоустойчивость и безопасность: сравнение с отраслевыми стандартами для диагностики структурных недостатков в ИТ-среде. [ нужна ссылка ] Проверка соответствия требованиям безопасности, конкретным нормам или техническим вопросам.
  • Принятие решений и управление: предоставление аналитики о самом программном обеспечении или о заинтересованных сторонах, участвующих в его разработке, например, измерение производительности для информирования руководителей бизнеса и ИТ о прогрессе в достижении бизнес-целей. [27]
  • Оценка и бенчмаркинг, которые помогут руководителям бизнеса и ИТ-отдела принять обоснованное, основанное на фактах решение о программном обеспечении. [28]

Торговая площадка

[ редактировать ]

Программный интеллект — это дисциплина высокого уровня, которая постепенно расширяется, охватывая перечисленные выше приложения. Есть несколько рынков, которые обусловливают потребность в этом:

  • Анализ портфеля приложений (APA), направленный на повышение производительности предприятия. [29] [30]
  • Оценка программного обеспечения для определения ключевых показателей эффективности программного обеспечения и улучшения качества и производительности. [31]
  • Меры и проверка безопасности и отказоустойчивости программного обеспечения.
  • Эволюция программного обеспечения или модернизация устаревшего программного обеспечения, для которой не требуется проектирование программных систем, а также инструменты для улучшения и облегчения модификаций. [ нужна ссылка ]
  1. ^ Домбровский Р. (2012) Об архитектурных складах и программном интеллекте. В: Ким Т., Ли Ю., Фанг В. (ред.) Информационные технологии будущего. FGIT 2012. Конспекты лекций по информатике, том 7709. Springer, Берлин, Гейдельберг.
  2. ^ Хинчи, Майк; Джайн, Амит; Кошик, Манджу; Мисра, Санджай (январь 2023 г.). «Гостевая редакция: Интеллект для систем и разработки программного обеспечения» . Инновации в системной и программной инженерии . 19 (1). Спрингер: 1–4. дои : 10.1007/s11334-023-00526-1 . ПМЦ   9886201 . ПМИД   36744022 .
  3. ^ Бартошук К., Домбровский Р., Стенсель К. и Тимошук Г. «О быстром понимании и оценке программного обеспечения», В материалах 14-й Международной конференции по компьютерным системам и технологиям, июнь 2013 г., стр. 161-168 дои : 10.1145/2516775.2516806
  4. ^ Раймонд П.Л. Бус и Томас Циммерманн. «Информационные потребности для аналитики разработки программного обеспечения». 2012 34-я Международная конференция по программной инженерии (ICSE). IEEE, июнь 2012 г., стр. 987–996. дои : 10.1109/ICSE.2012.6227122
  5. ^ Ахмед Э. Хасан и Тао Се. 2010. Программный интеллект: будущее данных разработки программного обеспечения для добычи полезных ископаемых. В материалах семинара FSE/SDP «Будущее исследований в области разработки программного обеспечения» (FoSER '10). ACM, Нью-Йорк, Нью-Йорк, США, 161–166.
  6. ^ «Мистер Кирк Пол Лафлер» . 21 декабря 2015 г.
  7. ^ Базили, Виктор Р. (1981). Сбор, проверка и анализ данных. Метрики программного обеспечения: анализ и оценка (PDF) . МТИ Пресс. п. 143. ИСБН  0-262-16083-8 .
  8. ^ Базили, Виктор Р.; Вайс, Дэвид М. (ноябрь 1984 г.). «Методология сбора достоверных данных о разработке программного обеспечения» . Транзакции IEEE по разработке программного обеспечения (6). IEEE Транс. Программное обеспечение англ. 10, 6 (ноябрь 1984 г.): 728–738. дои : 10.1109/TSE.1984.5010301 . hdl : 1903/7513 .
  9. ^ Ахмед Э. Хасан и Тао Се. 2010. Программный интеллект: будущее данных разработки программного обеспечения для добычи полезных ископаемых. В материалах семинара FSE/SDP «Будущее исследований в области разработки программного обеспечения» (FoSER '10). ACM, Нью-Йорк, Нью-Йорк, США, 161–166. дои : 10.1145/1882362.1882397
  10. ^ Ниерстраз, Оскар и Тео Дирк Мейлер. «Направления исследований в области композиции программного обеспечения». Обзоры вычислений ACM 27.2 (1995): 262–264. дои : 10.1145/210376.210389
  11. ^ Канасиро, Л. и др. «Прогнозирование ошибок программного обеспечения с помощью моделей низкой сложности на основе данных статического анализа». Журнал инженерии и управления информационными системами 3.2 (2018): 17 два : 10.20897/jisem.201817
  12. ^ «ИСО 25000:2005» (PDF) . Архивировано (PDF) из оригинала 14 апреля 2013 г. Проверено 18 октября 2013 г.
  13. ^ Бём, Барри В. и Кевин Дж. Салливан. «Экономика программного обеспечения: дорожная карта». Материалы конференции «Будущее программной инженерии». 2000. дои : 10.1145/336512.336584
  14. ^ Ренато Новаис, Хосе Амансио Сантос, Маноэль Мендонса,Экспериментальная оценка комбинации нескольких стратегий визуализации для анализа эволюции программного обеспечения, Журнал систем и программного обеспечения, том 128, 2017 г., стр. 56–71, ISSN   0164-1212 , дои : 10.1016/j.jss.2017.03.006 .
  15. ^ Ролия, Джером А. и Кеннет К. Севчик. «Метод слоев». Транзакции IEEE по разработке программного обеспечения 21.8, 1995, 689-700, дои : 10.1109/32.403785
  16. ^ «Правила программной инженерии по качеству кода» . Object Management Group, Inc. 2023 . Проверено 15 декабря 2023 г.
  17. ^ Балалае, Армин, Аббас Гейдарнури и Пуян Джамшиди. «Архитектура микросервисов обеспечивает DevOps: переход к облачной архитектуре». Программное обеспечение Ieee 33.3, май – июнь 2016 г., стр. 42–52, дои : 10.1109/MS.2016.64
  18. ^ Ц. Фэн, Р. Казман, Ю. Цай, Р. Мо и Л. Сяо, «На пути к архитектурно-ориентированному подходу к анализу безопасности», 2016 г., 13-я рабочая конференция IEEE/IFIP по архитектуре программного обеспечения (WICSA), Венеция, 2016 г., стр. 221-230, два : 10.1109/WICSA.2016.41
  19. ^ Р. Хаас, Р. Нидермайр и Э. Юргенс, «Teamscale: решение технической задолженности и контроль качества вашего программного обеспечения», Международная конференция IEEE/ACM по технической задолженности (TechDebt), 2019 г., Монреаль, Квебек, Канада, 2019 г., стр. 55-56, doi : 10.1109/TechDebt.2019.00016
  20. ^ Стори М.А. (2003) Разработка инструмента исследования программного обеспечения с использованием когнитивной структуры. В: Чжан К. (ред.) Визуализация программного обеспечения. Международная серия Springer по инженерным наукам и информатике, том 734. Спрингер, Бостон, Массачусетс.
  21. ^ Сона Ли, Сунгвон Кан, Какая ситуационная информация поможет разработчикам при использовании рекомендации по графическому коду?, Журнал систем и программного обеспечения, том 117, 2016, стр. 199–217, ISSN   0164-1212 , дои : 10.1016/j.jss.2016.02.050 .
  22. ^ Линда Г. Уоллес, Стивен Д. Шитц, Принятие программных мер: перспектива модели принятия технологии (TAM), Информация и управление, Том 51, Выпуск 2, 2014, стр. 249–259, ISSN   0378-7206 , дои : 10.1016/j.im.2013.12.003
  23. ^ Липперт, СК; Форман, Х. (август 2005 г.). «Использование информационных технологий: изучение когнитивных и экспериментальных факторов поведения после усыновления» . Транзакции IEEE по инженерному менеджменту. стр. 363–381 . Проверено 8 декабря 2023 г.
  24. ^ Банкир, доктор медицинских наук; Кемерер, CF (декабрь 1992 г.). «Метрики оценки производительности разработки информационных систем: модель принципала-агента» . Исследования информационных систем . 3 (4): 379–400 . Проверено 8 декабря 2023 г.
  25. ^ Краун, М. (9 июля 2003 г.). «Почему стартапы по программным продуктам терпят неудачу и что с этим делать. Эволюция разработки программных продуктов в стартап-компаниях» . Международная конференция по инженерному менеджменту IEEE. стр. 338–343. дои : 10.1109/IEMC.2002.1038454 . Проверено 8 декабря 2023 г.
  26. ^ Парнас, Дэвид Лорге, Точная документация: ключ к лучшему программному обеспечению, Будущее разработки программного обеспечения, 2011, 125–148, дои : 10.1007/978-3-642-15187-3_8
  27. ^ ЛаВалле, С.; Лессер, Э.; Шокли, Р.; Хопкинс, М.С. (21 декабря 2010 г.). «Большие данные, аналитика и путь от понимания к ценности» . Обзор менеджмента Слоана MIT . стр. 21–32 . Проверено 8 декабря 2023 г.
  28. ^ Янез Прашникар; Жига Дебеляк; Алеш Ахчан (3 декабря 2010 г.). «Бенчмаркинг как инструмент стратегического управления» . Тотальное управление качеством и совершенство бизнеса . 16 (2): 257–275. дои : 10.1080/14783360500054400 . Проверено 8 декабря 2023 г.
  29. ^ «Глоссарий Gartner — Анализ портфеля приложений (APA)» . Гартнер, Инк. 2023 г. Проверено 7 декабря 2023 г.
  30. ^ «Исследования Gartner — эффективные стратегии для обеспечения устойчивой оптимизации затрат на услуги приложений» . Gartner, Inc., 4 октября 2017 г. Проверено 7 декабря 2017 г.
  31. ^ «О спецификации автоматизированных функциональных точек версии 1.0» . Группа управления объектами. Декабрь 2013 года . Проверено 7 декабря 2023 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4c63676d9733e41d0e03ab4df7ebb467__1718241360
URL1:https://arc.ask3.ru/arc/aa/4c/67/4c63676d9733e41d0e03ab4df7ebb467.html
Заголовок, (Title) документа по адресу, URL1:
Software intelligence - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)