ПЗ (1218806), страница 8
Текст из файла (страница 8)
5.2 Программирование диалоговых окон
Большинство проектных процедур, требуют определения каких-либо параметров. В связи с этим, принято решение создавать диалоговые окна с ввыползающими списками, областями ввода и другими объектами.
Как и говорилось ранее, для этой цели подходит язык DCL, который обладает ограниченным набором инструментов для построения диалоговых окон.
Написание DCL-кода осуществляется также в интерпретаторе Visual Lisp с сохраненным файлом расширения *.dcl. На рисунке 62 изображено окно Visual Lisp с открытым DCL-файлом.
Рисунок 62 – DCL-файл в Visual Lisp
Краткое описание DCL-функций создания объектов окна (в конце ставятся фигурные скобки):
-
:popup_list – осуществляет возможность создания выползающего списка в окне;
-
:text – создает простой пояснительный текст в окне;
-
:edit_box – создает область ввода строковых и числовых символов;
-
:dialog – объявляет диалоговое окно и присваивает ему название. Требует обязательного атрибута ok_cancel, которое создает кнопки ОК и Отмена;
-
:spacer – создает пустую, невидимую область. В фигурных скобках требуется присвоить обязательному атрибуту высоты height целое числовое значение;
-
:toggle – создает объект «Флажок» (check box), который имеет два положения: включено и выключено;
Также существуют атрибуты, которые действуют в пределах вышеописанных функций (в конце обязательно наличие точки с запятой «;»:
-
label – название объекта. Именует объекты диалогового окна с помощью введенного в кавычки текста;
-
key – устанавливает определенному объекту ключевое слово, по которому производит запрос LISP-программа. В качестве имя ключа могут быть любые буквенные и числовые символы, а также простое и нижнее тире;
-
value – устанавливает возвращаемое значение объектом окна в режиме «Включено»;
-
list – устанавливает массив из строковых данных, в которых содержится текст. Находит свое применение в объекте «:popup_list» (выползающий список). Данные содержащиеся в таком списке хранятся в атрибуте list;
-
edit_width – данный атрибут устанавливает ширину объектов диалогового окна. Значение этому атрибуту присваивается после знака равно «=» в численной форме без кавычек;
-
ok_cancel – атрибут, устанавливающий в окно основные кнопки ОК и Отмена.
Под каждую LISP-программу, которая содержит в своем составе диалоговые окна, ориентирована индивидуальная функция, отвечающая за интеграцию диалогового окна и программы.
5.3 Создание графического интерфейса
В AutoCAD также имеется возможность создания иконок проектных процедур. Для этой цели существует редактор кнопок, изображенный на рисунке 63. Редактор содержит основной набор инструментов для рисования простейших иконок. Затем иконка сохраняется с формате *.bmp. Все изображения иконок имеют разрешение 64x64.
Рисунок 63 – Редактор кнопок
Данный редактор расположен в окне Адаптация пользовательского интерфейса. Выбрав созданный файл адаптации, появляется возможность создать кнопку для операции. В создание кнопки команды входит: имя, описание, макросы, файл справки, код элемента и файл изображения. Строка Макросы нужна для того, что программист ввел в нее имя главной функции, которая будет запускаться по нажатии кнопки по текущей иконке. Файл изображения содержит в себе имя графического файла, под которым было сохранено изображение (рисунок 64). Код элемента нужен для того, чтобы идентифицировать иконки внутри AutoCAD и генерируется продуктом случайным образом.
Рисунок 64 – Свойства иконки
После ввода всех необходимых свойств иконки, требуется нажать кнопку Применить и затем ОК. Интерфейс осуществит перестройку и установит на панели управления необходимые иконки.
Сохраненные иконки и их свойства хранятся в файле адаптации AutoCAD, который имеет расширение *.cuix (рисунок 65).
Рисунок 65 – Окно адаптации пользовательского интерфейса
Как можно заметить, содержимое файла адаптации состоит из созданных проектных процедур, иконок и свойств.
5.4 Конфигурирование файла адаптации
В предыдущем подразделе говорилось о создании изображений для кнопок панели инструментов, а также о других свойствах иконок. Перечисленная, своего рода, информация о интерфейсе сохраняется в файле адаптации [10].
Например, пусть имеется требование, установить данный модуль на AutoCAD другого компьютера. Для этой цели нужно сделать следующее:
-
запустить AutoCAD на стороннем компьютере;
-
открыть вкладку Управление и нажать кнопку Пользовательский интерфейс;
-
далее, следует нажать на кнопку Загрузить файл частично адаптации (рисунок 66);
Рисунок 66 – Кнопка Загрузка файла частичной адаптации
-
в результате, откроется окно обзора, в котором нужно зайти в ту директорию, в которой хранится тот или иной файл адаптации (рисунок 67) и нажать Открыть;
Рисунок 67 – Окно обзора
-
затем нажать кнопку Применить и ОК. В течении нескольких секунд осуществляется перестроение интерфейса.
Нужно отметить, что файл адаптации с форматом *.cuix, не сможет работать в AutoCAD 2008 и в более ранних версиях, так как форматы расширения файлов адаптации в подобных версиях *.cui. Скорее всего, такая разница в названиях расширения говорит об отсутствии в ранних версиях AutoCAD ленты, которая размещается на главной панели (рисунок 68).
Рисунок 68 – Лента
В целом, можно сказать, что благодаря файлу адаптации AutoCAD имеет возможность подстраиваться под любые нужды пользователя, а также создавать сторонние приложения, для проектирования объектов из любой отрасли производства.
6 Технико-экономическое обоснование
6.1 Расчет затрат на разработку программного модуля
Особо важным фактором, влияющим на формирование стоимости, является конкуренция на рынке. В целях повышения конкурентоспособности продукта может возникнуть необходимость в понижении его стоимости. Стоит обратить внимание, что цели повышения конкурентоспособности служит не только снижение цены, но, также, и качество самого товара и его отличительные признаки по сравнению с подобным товаром конкурентов.
Нужно отметить тот немаловажный факт, что у программных продуктов отсутствует процесс физического старения и износа. Для них основные затраты приходятся на разработку образца, тогда как процесс тиражирования представляет собой дешевую и не трудоемкую операцию копирования носителей и сопровождающей документации. Несмотря на то, что программный продукт не может иметь физического износа, имеется моральное старение программного обеспечения, которое является важным фактором. Как правило, крупные компании, разрабатывающие программного обеспечение, обновляют свои линейки каждый год, а реальное обновление, когда происходит полная переработка программного продукта, происходит каждые два-три года. Исходя из этого, разрабатывать продукт необходимо с трехлетним запасом моральной прочности, а также с возможностью внедрения более расширенных функций и возможностей в разрабатываемый продукт [11].
Применительно к данному модулю проектирования, нужно сказать, что разработка, как и некоторые другие системы автоматизированного проектирования, по сути, не обладает рыночной стоимостью, формируемой на базе общественно необходимых затрат труда.
Для более быстро и приближенной оценки трудоемкости, а также длительности разработки программного, может использоваться базовая модель. Данная модель состоит из двух формул.
Затраты труды (или трудоемкость разработки программного изделия человек в месяц, определяются по следующей формуле:
(6.1)
где – число тысяч исходных команд.
Продолжительность разработки программного модуля, месяц, рассчитываются по формуле:
(6.2)
Среднее число исполнителей , человек, рассчитывается исходя из определенных или заданных характеристик трудоемкости и длительности разработки программного изделия по следующей формуле:
(6.3)
Трудоемкость разработки программного продукта исходя из формулы (6.1):
чел/мес.
Исходя из формулы (6.2) продолжительность разработки программного изделия:
мес.
Среднее число исполнителей определяется по целому числу в формуле (6.3):
чел.
Суммарные затраты на разработку и отладку программы рублей, складываются из затрат на заработную плату разработчика-программиста и эксплуатационных расходов, состоящих из расходов по амортизации и электрэнергии [#].
(6.4)
где – норматив рентабельности, учитывающий прибыль предприятия, разрабатывающего данную программу, в нашем случае равен 0,25;
– затраты времени на разработку и отладку программы работником первой категории, чел/мес., в нашем случае равен 9 чел/мес;
– среднемесячная заработная плата работника первой категории, р/мес., в нашем случае, заработная плата равна 22000 р/мес; W – количество работников первой категории, чел.;
– коэффициент дополнительной заработной платы, равный 0,1;
– коэффициент, учитывающий начисления на заработную плату, равный 0,34;
– коэффициент затрат на накладные расходы, равный 0,07;
– расходы на электричество, приходящиеся на время разработки модуля, рублей.
Расходы на электричество , рублей, рассчитываются по формуле:
(6.5)
где – количество времени, затраченного на разработку программы, ч.;
– мощность компьютера, КВт;
– цена за один КВт, рублей.
Для расчета объема электроэнергии, затраченного за все время разработки модуля проектирования, был взят компьютер с потребляемой мощностью 600 Вт; сроком эксплуатации 4 мес. по 178 часов. Стоимость 1Квт = 1,69 р/ч. Таким образом, затраты на электроэнергию составляют:
р.
Исходя из определенных данных, стоимость разработки программы составляет:
6.2 Экономия средств и времени от использования модуля
проектирования
Эффективное проектирование элементов железнодорожных станций определяется, наряду с техническими и временными показателями. Определим эффективность использования модуля проектирования с точки зрения экономии времени на разработку прямолинейных участков пути.
Обычно проектировщик на построение станции простыми средствами AutoCAD тратит в среднем 240 мин/день. При помощи данного модуля та же операция может производится за 140 мин/день, следовательно, экономия времени проектирования будет составлять 100 мин ежедневно. При переводе эту цифру в часы, экономия будет составлять 1,4 ч.
Далее, произведем расчет экономии времени Z, рублей в год, на проектирование участков пути:
(6.6)
Здесь, – средняя заработная плата проектировщика (35000 р/мес);
– количество рабочих часов в месяц (210 ч/мес.);