Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom3.pdf
Скачиваний:
143
Добавлен:
09.02.2015
Размер:
1.48 Mб
Скачать

2 Определение средств для реализации пользовательского интерфейса OpenFOAM

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

1)Операционная система. На сайте разработчика готовый пакет OpenFOAM (не исходный код) предлагается установить на одну из трех ОС: Ubuntu, SuSE, Fedora. Поскольку написание и тестирование приложения будет производиться под той же ОС, на которую был установлен OpenFOAM, от ее выбора будет зависеть то, какие пользователи смогут пользоваться протестированным приложением.

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

3)IDE. Необходимо выбрать ту IDE, которая позволяет создать приложение с графическим пользовательским интерфейсом, с удобным текстовым редактором, отладчиком, и конечно, поддерживает выбранный язык программирования.

2.1 Выбор операционной системы

На сайте разработчика есть три установочных пакета OpenFOAM под разные дистрибутивы Linux, а также пакет с исходным кодом. Несмотря на то, что на сайте говорится только о Linux-версиях OpenFOAM, существует версия и под Windows [3], однако она не поддерживается разработчиком. Необходимо выбрать ту ОС, использование под которой OpenFOAM наиболее популярно. Мой выбор пал на Ubuntu, так как ее использует более чем 20 миллионов пользователей, что

19

делает его самым популярным дистрибутивом Linux для десктопов [4]. В случае необходимости использования графического интерфейса для OpenFOAM под другой ОС, при выборе кроссплатформенной IDE можно будет легко портировать разработанное приложение под нужную ОС.

2.2 Выбор языка программирования

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

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

2.3 Выбор IDE

Из всех IDE следует выбрать одну из тех, которые обладают следующими принципиально важными свойствами:

1)позволяют выполнять разработку под ОС Ubuntu;

2)позволяют разрабатывать GUI;

3)поддерживают выбранный язык программирования C++.

После отсеивания IDE, не обладающих данными свойствами, получим список IDE, представленный в таблице 1 [5].

20

Таблица 1 – Сравнение IDE

IDE

Лицензия

Платформы

Отладчик

Автодополнение

Браузер классов

Qt Creator

GPL

Linux,

Да

Да

Да

 

 

Mac OS X,

 

 

 

 

 

FreeBSD,

 

 

 

 

 

Windows

 

 

 

Eclipse CDT

EPL

Linux,

Да

Да

Нет

 

 

Windows,

 

 

 

 

 

JVM

 

 

 

MonoDevelop

GPL

Windows,

Да

Да

Да

 

 

Linux,

 

 

 

 

 

Mac OS X

 

 

 

Sun Studio

проприетар-

Linux,

Да

Да

Да

 

ная

Solaris

 

 

 

Ultimate++

BSD

Windows,

Да

Неизвестно

Да

 

 

Linux

 

 

 

Codelite

GPL

Windows,

Да

Да

Да

 

 

Linux,

 

 

 

 

 

MacOS X

 

 

 

Code::Blocks

GPL

Linux,

Да

Да

Да

 

 

MacOS X

 

 

 

KDevelop

GPL

Linux

Да

Да

Да

Anjuta

GPL

Linux

Да

Да

Да

Как видно из приведенной таблицы, не все приведенные IDE обладают качествами, улучшающими их удобство для разработчика, такими, как браузер классов и автодополнение. Кроме того, предпочтение следует отдать свободно распространяемой IDE. Таким образом из списка возможных IDE можно исключить Sun Studio с проприетарной лицензией, Eclipse CDT без браузера классов и Ultimate++, для которой нет данных о наличии автодополнения в ее текстовом редакторе.

Дальнейшим критерием отбора можно выбрать кроссплатформенность. Как было сказано выше, существует версия OpenFOAM под Windows. Следовательно, может возникнуть необходимость портирования нашего приложения под данную ОС. В списке остаются Qt Creator, MonoDevelop и Codelite. Qt Creator для разработки GUI использует библиотеку Qt, MonoDevelop – GTK+, а CodeLite – wxWidgets. Каждая из этих библиотек успешно используется для разработки ПО

[6, 7, 8]. Однако я остановлю свой выбор на Qt Creator, как одной из наиболее 21

популярных IDE. К ее достоинствам, помимо того, что она удовлетворяет перечисленным выше требованиям, можно отнести наличие качественной документации, в противовес классам из библиотеки wxWidgets. Ввиду ее популярности на вопрос, возникший в процессе разработки, связанный с библиотекой Qt, гораздо проще найти ответ в интернете (часто даже на русском языке), нежели на вопросы о других библиотеках.

22

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]