То, чего удалось добиться ученым РТУ, в будущем может послужить основой для разработки нового программного обеспечения, что будут использовать программисты по всему миру.
Профессор РТУ Янис Осис схематично показывает и рассказывает, как на сегодняшний день по всему миру разрабатывается программное обеспечение:
«Сейчас мы занимаемся тестированием. В крупнейшем латвийском ИТ-предприятии говорят, что тестированием всех проектов занимается примерно треть персонала. Тратятся огромные средства. И только треть проектов по всему миру завершаются вовремя, являются успешными и укладываются в бюджет».
Причина – обычно заказчик программного обеспечения сам до конца не знает, что именно ему понадобится. Тогда как «софт» пишется на основании того, что закажет клиент.
«Во время тестирования обнаружилось, что кое-что надо дополнить. Вот только дополнения не всегда успешны», - говорит ассоциированный профессор факультета компьютерных технологий РТУ Эрика Назарука.
В качестве примера она рассказала о типичной ситуации между отцом и ребенком. Мальчик хочет, чтобы папа построил ему большой грузовик, с которым можно играться в песочнице. Но когда игрушка готова, ребенок не доволен результатом. «Он говорит: это не то, что я хотел. Отеце недоумевает – машина же большая и может перевозить грузы. Но его сын настаивает, что он хотел синий грузовик с большими колесами. Теперь отцу предстоит разобрать и сделать новый грузовик. Или же попытаться переделать существующий», - сказала Назарука.
Ученые РТУ же разработали теоретическую модель, которая позволяет уже в самом начале, прогнозируя причины и последствия, предусмотреть, что понадобится клиенту и как это правильнее запрограммировать.
«Наша модель поможет сразу понять, что тому грузовичку нужны определенные колеса, кабина, угадать цвет и всю форму», - отметила Назарука.
В результате, программировать станет проще, поскольку еще на начальной стадии проекта будет учитываться вероятность, что клиенту понадобятся вещи, о которых при заказе он даже не задумался. Это, в свою очередь, может изменить основы программирования в будущем.