Software engineering ontologies categorization - Sydorov, N.A.; Sydorova, N.N.; Mendzebrovsky, I.B. (Проблеми програмування, 2018)
Software engineering is an own scientific and practice aria with an own structure, terminology, products, processes and resources. The software product is a knowledge-based product and it is the result of the knowledge-based actions. In this research, categorization of ontologies in software engineering are presented. The known criterion (process, domain, structure) are used for the categorization of ontologies but two criterion (process and domain) was modified. The process criterions is looked in the connection whit time period and the predevelopment time added to time period. The domain criterions is making whit help of the representation of software engineering world in the form of domains. The ontologies are involved in representing knowledge of three types of the software engineering domains. In the first, the application domain, the focus is on understanding the customer needs and what the software product must do. In the second, the implementation domain, the focus is on understanding how the software product must behave and respond to the customer needs. In the third, the problem domain, the focus is on understanding the software engineering problems, which can be during software life cycle processes of the software product. Our research goal is to develop categorization of the software engineering ontologies on the base of adding known criterion. Ontological representation of software engineering knowledge; categorization; domain analysis; object-oriented programming; ontology-driven utilizing of programming styles. Categorization of the software engineering ontologies. The results of case study, using ontologies by categorization are presented. Had developed categorization of ontologies, it is possible exactly to define types of software engineering ontologies and its places into software processes. This is demonstrating on the examples of the case studies. Розробка програмного забезпечення – це окрема науково-практична сфера з власною структурою, термінологією, процесами та ресурсами. Програмний продукт є продуктом, основаним на знаннях, і це результат дій, заснованих на знаннях. В роботі представлено використання онтологій у інженерії програмного забезпечення. Принцип класифікування онтологій засновано на представленні світу інженерії програмного забезпечення у вигляді доменів. Онтології беруть участь у представленні знань трьох типів доменів. В першому, домені застосунків, основна увага приділяється розумінню потреб клієнта та того, що має виконувати програмний продукт. В другому, домені реалізації, основна увага приділяється розумінню того, як програмний продукт повинен вести себе і реагувати на потреби клієнтів. У третьому, проблемному домені, основна увага приділяється розумінню власних проблем розробки програмного забезпечення, які можуть виникнути при створенні та супроводженні програмного продукту. Мета дослідження – розробка класифікації онтологій інженерії програмного забезпечення для підтримки програмних процесів. Методи: онтологічне подання знань з програмного забезпечення; доменний аналіз; об’єктно-орієнтоване програмування; онтологічне використання стилів програмування. Результати: категоризація онтологій інженерії програмного забезпечення. Представлені результати практичних досліджень з використанням онтологій шляхом категоризації. Обговорення: застосування класифікації онтологій інженерії програмного забезпечення забезпечує, прозоре використання онтологій що демонструється на прикладах архітектури інструментаріїв доменного аналізу та засобів для контролю правил іменування стандарту Java. Разработка программного обеспечения это отдельная наукоемкая, инженерная область с собственной структурой, терминологией, процессами и ресурсами. Программный продукт основан на знаниях и является результатом действий, основанных на знаниях. В этом исследовании представлена классификация онтологий инженерии программного обеспечения. Принцип классификации онтологий основан на представлении инженерии программного обеспечения в виде доменов. Категории классификации – процесс, домен, структура. Онтологии участвуют в представлении знаний трех типов доменов. В первом, прикладном домене, основное внимание уделяется пониманию потребностей клиента и того, что должен выполнять программный продукт. Во втором, домене реализации, основное внимание уделяется пониманию того, как программный продукт должен вести себя и реагировать на потребности клиентов. В третьем, проблемном домене, основное внимание уделяется пониманию собственных проблем инженерии программного обеспечения, которые могут возникать при создании и сопровождении программного продукта. Цель исследования – разработать классификацию онтологий инженерии программного обеспечения для поддержки программных процессов. Методы: онтологическое представление знаний о программном обеспечении; доменный анализ; объектно-ориентированное программирование; онтологическое использование стилей программирования. Результаты: классификация онтологий инженерии программного обеспечения и подходов к разработке программного обеспечения. Представлены результаты двух практических реализаций – средств доменного анализа и проверки стиля программирования с использованием онтологий, показана связь с введенной классификацией. Обсуждение: применение классификации делает применение онтологий в инженерии программного обеспечения простым и понятным, что демонстрируется на примерах реализации архитектуры инструментариев доменного анализа и средств для правил проверки правил стиля именования стандарта языка Java.