Создание менеджера конфигурации Celestia
Обоснование и выбор программных средств обеспечения проектирования и разработки структуры классов. Математические методы и специальные алгоритмы решения задачи. Описание входной, выходной и промежуточной информации. Разработка экранного интерфейса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.05.2014 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Создание менеджера конфигурации Celestia
ДИПЛОМНАЯ РАБОТА
2014
СОДЕРЖАНИЕ
Введение
1. Аналитическая часть
1.1 Описание предметной области
1.2 Анализ подходов и методов решения задачи
1.3 Разработка индивидуального (технического) задания
2. Специальная часть
2.1 Обоснование и выбор программных средств обеспечения проектирования и разработки структуры классов
2.2 Математические методы и специальные алгоритмы решения
задачи. Оценка сложности алгоритма решения задачи
2.3. Обоснование и выбор средств разработки, обоснование и выбор платформы
3. Проектная часть
3.1 Информационное обеспечение
3.1.1 Описание входной, выходной и промежуточной (расчетной) информации
3.1.2 Проектирование и обоснование выбора структуры данных
3.2 Программное обеспечение
3.2.1 Функциональная схема ПО
3.2.2 Структурная схема и описание программных модулей. Структура классов
3.2.3 Разработка экранного интерфейса программы
3.2.4 Схема взаимосвязи (взаимодействия) программных модулей
3.2.5 Разработка и отладка программных модулей
3.2.6 Тестирование ПО
4. Документация
4.1 Описание технических требований к условиям эксплуатации программного продукта (модуля)
4.2 Программа и методика испытаний
4.3 Руководство программиста и пользователя
4.4 Расчет надежности программного продукта (модуля)
5. Экономическая часть
Основные результаты
Заключение
Литература
Приложение 1. Текст программы
ВВЕДЕНИЕ
celestia конфигурация программный алгоритм
Celestia -- свободная трёхмерная астрономическая программа, созданная на языке программирования C++, для платформ Microsoft Windows, Linux и Mac OS X. Создана Крисом Лорелом и доступна на условиях GNU General Public License (Универсальная Общественная Лицензия). Программа, основываясь на Каталоге Гиппарха, позволяет пользователю рассматривать объекты размерами от искусственных спутников до полных галактик в трёх измерениях, используя технологию OpenGL. В отличие от большинства других виртуальных планетариев, пользователь может свободно путешествовать по Вселенной. НАСА и ЕКА используют Celestia в образовательных программах, а также как интерфейс для программ анализа траекторий.
Проектируемый программный продукт является инструментом для широкой конфигурации Celestia, управления особо важными дополнениями, а также для настройки вспомогательного Lua-интерфейса. Программный продукт будет разработан в виде программы для ОС Windows и его использование значительно облегчит русскоязычным пользователям конфигурацию Celestia, а также обеспечит новые возможности по управлению отображением космических объектов. Разработанная программа будет распространяться в сети Интернет для бесплатного скачивания.
Цель работы: разработка Менеджера конфигурации Celestia, который даст пользователям простой и понятный интерфейс с широкими возможностями для конфигурации Celestia, Lua-инструментов, а также управления отображением космических объектов.
Для достижения поставленной цели были поставлены следующие задачи:
*Изучить синтаксис и назначение конфигурационного файла Celestia, а также конфигурационных файлов Lua-инструментов;
Изучить синтаксис файлов описания космических объектов для Celestia;
*Спроектировать интерфейс будущей программы;
*Выбрать среду разработки;
*Разработать программу «Менеджер конфигурации Celestia»
*Провести тестирование и отладку программного обеспечения;
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 Описание предметной области
Определенные настройки присутствуют в самой программе Celestia, однако этого недостаточно, поэтому разработчики предусмотрели специальный конфигурационный файл «celestia.cfg», в котором можно изменить множество дополнительных параметров. В этом файле указаны пути к файлам каталогов стандартных объектов (звезды, планеты, спутники, кометы и астероиды). Также там указаны имена файлов-текстур для звезд разного спектрального класса, названия сценария, выполняемого при запуске программы, демонстрационного сценария, названия папок для дополнений, названия шрифтов, курсор и многие параметры, отвечающие за рендеринг космического пространства. Все эти параметры пользователи могут настроить под свои нужны.
Для космического симулятора Celestia существует дополнительный графический интерфейс «Lua Educational Tools», настройки которого расположены в собственном конфигурационном файле «config.lua». В этом файле пользователи могут изменить цветовую схему графического интерфейса, отображение при старте отдельных элементов интерфейса, настроить формат даты, положение компаса и выполнить некоторые другие настройки.
Синтаксис конфигурационных файлов естественно англоязычный, все пояснения, которые в них находятся тоже англоязычные. Обычные пользователи, любители астрономии, испытывают трудности в конфигурировании Celestia и Lua Edu Tools, поскольку недостаточно хорошо знают английский язык. Это стало первой причиной рождения идеи моей дипломной работы.
На просторах Сети можно найти множество дополнений для Celestia. Это могут быть космические аппараты, планеты, астероиды, звезды, а также модели отдельных явлений. При установке большого количества дополнений в программу, ее работа может замедлиться, а некоторые дополнения вообще не всегда могут быть удобны в силу своей специфики.
После обдумывания этих неудобств, было решено создать некий конфигуратор, с помощью которого пользователи смогут легко менять настройки Celestia, Lua Edu Tools, а также управлять отображением определенных дополнений.
1.2 Анализ подходов и методов решения задачи
В комплект со многими крупными программами и играми идут специальные конфигураторы, которые позволяют изменять много дополнительных параметров.
Конфигураторы могут иметь 3 вида интерфейса:
Командная строка
Графический интерфейс
Графический интерфейс со встроенной командной строкой
Синтаксис команд, которые необходимо вводить в командной строке должен быть англоязычным, а это снова возвращает нас к проблеме понимания иностранного языка простыми пользователями.
Графический интерфейс представляет собой некую оболочку, которую пользователь видит при запуске конфигуратора. По сути - это привычное для нас приложение, имеющее окно, в котором могут быть расположены надписи, поля ввода, картинки, чек-боксы, кнопки и прочие общепринятые элементы интерфейса. Именно этот интерфейс я взял за основу при разработке своей дипломной работы.
Менеджер конфигурации Celestia является конфигуратором с графическим интерфейсом. Представляет собой окно со списком параметров, размещенных на разных вкладках, в зависимости от их типа и принадлежности. Навигация в виде вкладок очень удобна и проста как для пользователей, так и для разработчика, так как используется всего одно окно приложения. Все параметры и элементы интерфейса в программе расположены аккуратно и симметрично. Надписи понятные и грамотные.
1.3 Разработка индивидуального (технического) задания
Наименование работы: «Разработка Менеджера конфигурации Celestia»
Основанием для разработки программы для конфигурации симулятора Вселенной стало открытие мною проекта «Celestia в России», который занимается поддержкой и адаптированием Celestia для русскоязычных пользователей.
Исполнителем разработки программы является Кузнецов Александр.
Целью работы является создание конфигуратора, который даст пользователям простой и понятный интерфейс с широкими возможностями для настройки Celestia, Lua-инструментов, а также управления отображением космических объектов.
В связи с поставленной целью, готовый программный продукт должен был обладать следующими возможностями:
Изменение основных параметров Celestia
Изменение основных параметров Lua Edu Tools
Управление отображением в настоящем времени большинства известных космических аппаратов, прекративших свое существование
Управление отображением сомнительных или спорных с точки зрения науки дополнений
Импорт, экспорт настроек, а также восстановление исходных настроек
Возможность самостоятельного перевода приложения на другие языки (локализация)
Приятный и простой в управлении для пользователя интерфейс.
Стадии и этапы разработки
Стадия разработки |
Этап и краткое содержание работ |
Исполнитель |
Сроки выполнения |
Чем заканчивается этап |
||
Начало |
Окончание |
|||||
Начало |
Изучение синтаксиса конфигурационных файлов |
Кузнецов Александр |
21/04/2014 |
21/04/2014 |
Создание списка параметров, которые будет редактировать Менеджер конфигурации |
|
Процесс создания Менеджера конфигурации Celestia |
Создание макета (интерфейса) программы |
Кузнецов Александр |
21/04/2014 |
22/04/2014 |
Полностью готовая к программированию форма приложения |
|
Реализация функционала вкладок «Основные» и «Объекты и время» |
Кузнецов Александр |
22/04/2014 |
24/04/2014 |
Готовы и протестированы все функции перечисленных вкладок программы |
||
Реализация функционала вкладок «Lua-инструменты» и «Управление настройками» |
Кузнецов Александр |
25/04/2014 |
27/04/2014 |
Готовы и протестированы все функции перечисленных вкладок программы |
||
Разработка поддержки локализации программы |
Кузнецов Александр |
28/04/2014 |
02/05/2014 |
Программа переведена на английский язык, тем самым протестирована локализация |
||
Итог |
Публикация Менеджера конфигурации Celestia на сайте проекта |
Кузнецов Александр |
03/05/2014 |
04/05/2014 |
Включение программы в комплект новой сборки Celestia EP v3.0 |
Требования к программе и программному обеспечению
Для работоспособности данной программы нам потребуется:
*Манипулятор типа мышь
*Процессор Intel Pentium II и выше
*Оперативной памяти не менее 128 Mb
*Любая 32-битная ОС семейства Windows
*Любая установленная версия космического симулятора Celestia
Технико-экономические показатели
Ориентировочной экономической эффективностью Менеджера конфигурации Celestia является простой в управлении и восприятии для пользователя интерфейс, быстрое редактирование и сохранение необходимых параметров, возможность восстановить исходные настройки в случае ошибок пользователя.
Данная программа востребована и бесплатна. Предполагаемой годовой потребностью программы составляет тот процент пользователей Интернета, который интересуется астрономией и космическими симуляторами. Экономическими преимуществами разработки выступают дешевизна, эффективность и быстрота в управлении, доступность любому пользователю сети интернет.
2. Специальная часть
2.1 Обоснование и выбор программных средств обеспечения проектирования и разработки структуры классов
Для разработки программного продукта - Менеджера конфигурации Celestia, был использован язык программирования C++.
C++ - компилируемый статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование и обобщённое программирование. C++ обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником -- языком C, -- наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр).
Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие.
2.2 Математические методы и специальные алгоритмы решения задачи. Оценка сложности алгоритма решения задачи
Менеджер Конфигурации предназначен для упрощения глубокой настройки Celestia ее пользователям, поэтому его работа заключается в загрузке содержимого конфигурационных файлов, отображения текущих значений параметров и сохранении изменений, внесенных пользователями в графическом интерфейсе конфигуратора. Более подробно конфигурационные файлы описаны в проектной части.
Для реализации данной задачи, создавались строковые переменные, содержащие имя каждого параметра. При запуске Менеджера конфигурации, в переменные типа TStringList, предназначенные для массива строк, по очереди загружается содержимое конфигурационных файлов. Затем происходит получение значений каждого параметра и их запись в соответствующие поля графического интерфейса конфигуратора. Получение значений производится при помощи функции Pos, которая ищет позицию имени определенного параметра в содержимом файла конфигурации. Далее отбрасывается имя параметра, пробелы, кавычки, и мы получаем значение параметра. После того, как Менеджер конфигурации вывел значения всех параметров в поля графического интерфейса, происходит очистка переменных TSTringList для экономии расхода памяти.
После того, как пользователь сделал изменения в значениях параметров, он нажимает кнопку «Сохранить» на той вкладке, на которой делал изменения. Обработчик данной кнопки снова загружает содержимое конфигурационного файла в переменную, далее аналогично происходит поиск позиций имен параметров, только теперь программа не выводит значения на экран, а по очереди записывает новые значения параметров в файл конфигурации. После успешной записи значений, пользователю выводится сообщение об успешном сохранении настроек, а переменные очищаются.
При восстановлении исходных настроек, происходит замена значений в полях графического интерфейса конфигуратора на стандартные (заложенные для этой функции изначально), затем автоматическое нажатие кнопок сохранения на всех вкладках с блокировкой сообщений об успешном сохранении настроек. Вместо него выводится сообщение об успешном восстановлении исходных настроек.
Подобный метод поиска необходимых значений в текстовых файлах называется парсингом или разбором содержимого текстовых файлов. Вся моя дипломная работа построена на этом методе. Однако для локализации, а также импорта и экспорта настроек я использовал упрощенный вариант парсинга - ini файлы, поскольку не вижу необходимости изобретать велосипед. Для ini файлов в C++ Builder XE3 предусмотрен специальный подключаемый заголовочный файл, включающий в себя все необходимые функции для создания, чтения и удаления ini файлов. Практически во всех программах ini файлы используются для хранения каких-либо данных программы.
В моем случае при экспорте настроек создается .cfg файл (тот же ini, просто выбрано другое расширение) с именами и значениями параметров, чтобы впоследствии этот файл можно было импортировать и получить все сохраненные значения.
Локализация построена также на методе ini файлов, только расширение у них теперь .lng (от слова language). При запуске, Менеджер конфигурации ищет lng файл текущей локализации, затем читает его и устанавливает локализованные значения для всех элементов интерфейса программы (надписи, сообщения и прочее).
2.3 Обоснование и выбор средств разработки, обоснование и выбор платформы
Платформой для Менеджера конфигурации Celestia послужили полученные знания языка программирования C++.
Как уже описано выше, существует множество реализаций языка C++. Для разработки своей дипломной работы, была выбрана среда разработки Embarcadero C++ Builder XE3, поскольку она имеет множество отличий от устаревшей Borland C++ Builder 6, которой нас обучают в колледже:
Обновлен интерфейс, стало намного удобнее писать код, управлять формой, компонентами и их свойствами
Бинарные файлы приложений сохраняются в подпапке, что исключает засорение корневой папки исходного кода «мусорными» файлами
Добавлены новые компоненты (сетевые и др.)
Добавлена поддержка Юникода, которая понадобилась мне при разработке дипломной работы
Добавлена поддержка изображений с прозрачным фоном *.png
И множество других изменений, которые здесь не уместятся.
3. Проектная часть
3.1 Информационное обеспечение
3.1.1 Описание входной, выходной и промежуточной (расчетной) информации
Приложение запускается единственным исполняемым файлом Celestia_Config_Manager.exe. Этот файл должен находиться в корневой директории любой версии космического симулятора Celestia, поскольку управляет данными в составе Celestia. Используемые в программе входные данные представляют собой файлы конфигурации Celestia, Lua-инструментов и файлы описания дополнений. На экран при этом выводятся значения различных параметров для редактирования.
Данные, находящиеся в файлах конфигурации имеют следующие типы:
Integer - целочисленное значение
Float - значение с плавающей запятой
String - строковое значение
Bool - логическое значение
Таблица параметров основного конфигурационного файла Celestia «celestia.cfg»:
Параметр |
Тип |
Описание |
|
ExtrasDirectories |
String |
Указывает название папок с дополнениями |
|
OrbitPathSamplePoints |
Integer |
Указывает кол-во точек, по которым рисуются орбиты объектов |
|
RingSystemSections |
Integer |
Указывает кол-во сегментов, по которым рисуются кольца вокруг планет |
|
Cursor |
String |
Указывает название курсора, используемого в Celestia |
|
ScriptScreenshotDirectory |
String |
Указывает папку для сохранения скриншотов из .celx сценариев |
|
ScriptSystemAccessPolicy |
String |
Указывает действие при обнаружении потенциально опасных действий в .celx сценариях |
|
InitScript |
String |
Стартовый сценарий |
|
DemoScript |
String |
Демонстрационный сценарий |
|
RotateAcceleration |
Float |
Указывает скорость вращения камеры наблюдателя |
|
MouseRotationSensitivity |
Float |
Указывает чувствительность мыши при вращении |
Таблица параметров основного конфигурационного файла Lua Universal Tools «config.lua»:
Параметр |
Тип |
Описание |
|
show_lua_universal_tools_v2 |
Bool |
Включать панель при старте Celestia |
|
enable_info |
Bool |
Информацию об объектах |
|
enable_coordinates |
Bool |
Координаты объектов |
|
enable_magnification |
Bool |
Режим «Увеличение» |
|
enable_HR |
Bool |
Диаграмма Герцшпрунга-Рассела |
|
enable_Kepler_param |
Bool |
Кеплеровы данные |
|
enable_virtual_pad |
Bool |
Включать джойстик |
|
enable_compass |
Bool |
Включать компас |
|
show_local_time |
Bool |
Показывать местное время |
|
center_compass |
Bool |
Компас по центру |
|
alt_azimuthal_mode |
Bool |
Режим Альт-Азимут |
|
date_format |
String |
Формат даты |
|
custom_goto_duration |
Integer |
Длительность перелета к объекту |
|
cFrameFill |
Float |
Цвет рамки |
|
cDisplFill |
Float |
Цвет текста |
|
cPanelFill |
Float |
Цвет фона панелей |
Все указанные параметры редактируются Менеджером конфигурации.
Таблица файлов, входящих в проект:
Наименование |
Обозначение |
Примечание |
|
Celestia_Config_Manager.cbproj |
Файл проекта |
Связывает все файлы приложения |
|
Celestia_Config_Manager.cpp |
Файл модуля |
Текст программы |
|
Celestia_Config_ManagerPCH1.h |
Файл модуля |
Текст программы |
|
Celestia_Config_Manager_Icon.ico |
Иконка |
Иконка программы |
|
Celestia_Config_Manager.res |
Файл ресурсов |
Содержит пиктограммы, версию и т.д. |
|
Unit1.cpp |
Программный модуль для MainForm |
Определяет функциональность формы |
|
Unit1.dfm |
Файл для MainForm |
Список свойств компонентов формы |
|
Unit1.h |
Файл модуля для MainForm |
Текст модулей с MainForm |
|
manager\links.ini |
INI файл |
Содержит обновляемые ссылки |
|
manager\language\Russian.lng |
Языковой файл |
Содержит строки русскоязычного перевода программы |
|
manager\language\English.lng |
Языковой файл |
Содержит строки англоязычного перевода программы |
|
manager\help\ Russian.chm |
Файл справки |
Русскоязычная справка по программе |
3.1.2 Проектирование и обоснование выбора структуры данных
Менеджер конфигурации Celestia спроектирован для работы непосредственно с файлами космического симулятора, являющимися для него источником данных, своего рода базой данных. В связи с этим, при разработке конфигуратора, было необходимо учитывать синтаксис и структуру этих файлов, поскольку изменять их нельзя - это вызовет сбой в работе космического симулятора.
Обсуждать структуру данных в конфигурационных файлах Celestia и Lua-инструментов я считаю неприемлемым, она задумана разработчиками и таковой останется, но, на мой взгляд, выбранная разработчиками Celestia структура обладает следующими достоинствами:
Возможность комментировать строки
Подробное описание каждого параметра
Разделение параметров по категории применения
3.2 Программное обеспечение
3.2.1 Функциональная схема ПО
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
На функциональной схеме Менеджера конфигурации Celestia орошо продемонстрировано взаимодействие всех модулей программы.
3.2.2 Структурная схема и описание программных модулей.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Модуль локализации - получает англоязычный идентификатор языка системы, на которой запущена программа, затем ищет в папке manager\language файл с названием, равным этому идентификатору и расширением .lng. В этом файле содержится перевод всех надписей, строк и сообщений, используемых в программе на соответствующий язык. Если файла перевода для данного языка нет, загружается язык по умолчанию - английский.
Модуль обработки параметров - получает версию Celestia, установленной у пользователя, затем поочередно загружает конфигурационные файлы, получает значения параметров и выводит на экран. От версии Celestia зависит расположение определенных конфигурационных файлов или дополнений.
Модуль сохранения параметров - сохраняет значения параметров обратно в конфигурационные файлы.
Модуль управления настройками - содержит 3 функции: экспорт, импорт и восстановление исходных настроек. Экспорт настроек сохраняет текущие значения всех параметров в .cfg файл. Этот cfg файл можно импортировать на другом ПК или после переустановке ОС, чтобы получить предпочитаемые настройки. При восстановлении исходных настроек для всех параметров установятся значения по умолчанию - т.е. те, которые были при первом запуске космического симулятора.
3.2.3 Разработка экранного интерфейса программы
Экранный интерфейс программы во многом определяет удобство работы пользователя и является одним из важных факторов, влияющих на эффективность его труда. Программа, выполняющая все возложенные на нее функции, обладающая высоким быстродействием может быть полностью непригодной для работы из-за неприемлемого интерфейса с пользователем.
Наиболее практичными и удобными с точки зрения пользователя можно считать системы, имеющие экранный интерфейс, построенный на основе системы окон.
Для пользователей Менеджера конфигурации Celestia разработан простой и удобный интерфейс в виде одного окна, разделенного на 5 вкладок, в которых расположены элементы редактирования параметров (поля, выпадающие списки, чек-боксы и радио-кнопки), а также различные пояснения к ним. Общий стиль оформления приложения соответствуюет интерфейсу окон Windows, т.е. на разных версиях Windows (XP, 7, 8) стиль программы будет отличаться.
3.2.4 Схема взаимосвязи (взаимодействия) программных модулей.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
3.2.5 Разработка и отладка программных модулей
Разработка Менеджера конфигурации Celestia происходила поэтапно: сначала был разработан макет интерфейса, затем был по очереди реализован функционал каждой вкладки. Естественно работа каждой вкладки была тщательно протестирована на предмет ошибок. После этого, было принято решение оптимизировать некоторые программные модули, с целью уменьшения расхода памяти, ускорения работы программы и сокращения количества строк исходного кода. Эта идея появилась после тщательного изучения кода своей же программы, после чего было выявлено, что некоторые операции можно реализовать более просто и более правильно с точки зрения программирования. И в самом конце была начата разработка локализации, являющейся достаточно сложной задачей, поскольку затрагивает абсолютно все программные модули.
Первым модулем, который был оптимизирован, стала вкладка «Объекты и время». В обработчиках проверки и сохранения настроек для дополнений и космических аппаратов, находились поочередные проверки наличия дополнений и проверка параметра Ending у космических аппаратов. Эти проверки представляют собой следующее:
Проверка наличия папки с дополнением
Выставление чек-боксу галочки в зависимости от наличия дополнения у пользователя
Вывод ссылки для скачивания некоторых дополнений при их отсутствии
Загрузка содержимого ssc файла и проверка параметра Ending (для космических аппаратов)
В коде программы для каждого объекта были написаны подобные операции. Было решено оптимизировать обработчик, написав универсальные функции проверки дополнений и проверки космических аппаратов с входными параметрами: адрес к папке дополнения, адрес к ssc файлу (для космических аппаратов) и название чек-бокса.
В итоге, получилось 2 небольшие функции, и их вызов в обработчике для дополнений и космических аппаратов, при этом код обработчика сократился на ~300 строк. То же самое было проделано и для операций сохранения параметров дополнений и космических аппаратов.
Далее был изучен модуль «Восстановление исходных настроек». Его обработчик включал в себя операции, подобные тем, что выполняются при сохранении настроек каждой вкладки, за исключением того, что значения параметров устанавливаются на заданные по умолчанию.
Для его оптимизации, была создана логическая переменная и условие, отключающее сообщение об успешном сохранении настроек (кнопки «Сохранить») в необходимом случае. Затем был полностью очищен обработчик восстановления исходных настроек, и написан код, который устанавливает значения по умолчанию в графическом интерфейсе, затем устанавливает значение истины для логической переменной и просто по очереди выполняет программное нажатие кнопок «Сохранить».
В итоге код программы уменьшился еще на ~200 строк, к тому же при добавлении новых объектов или параметров на любые вкладки в будущем, мне больше не придется писать новые операции для восстановления исходных настроек - нужно будет лишь добавить одну строчку установки значения по умолчанию для нового параметра.
Некоторые правки были внесены также в импорт и экспорт настроек, операции установки значений реализованы аналогично восстановлению исходных настроек, за исключением источника данных.
В последнюю очередь была реализована локализация приложения. Для этого планировалось использовать ini файлы и класс для работы с ними, называемый TIniFile. Однако обнаружилось, что он не поддерживает Юникод, а значит, невозможно будет сделать корректный вывод иностранных символов. Для этого был использован класс TMemIniFile, у которого более широкие возможности.
Локализация реализована следующим образом:
Создан файл English.lng, в котором содержатся языковые строки на английском языке
Реализовано получение англоязычного идентификатора языка ОС пользователя, например Russian, English и т.д.
Реализована загрузка языковых строк из соответствующего языку файла локализации и установка всем элементам интерфейса локализованных надписей.
В случае отсутствия локализованного файла, загружаются англоязычные надписи.
Создан файл Russian.lng
Справка по программе перенесена в папку manager\help и именуется аналогично файлам локализации, за исключением расширения.
Итогом стала возможность локализации приложения на любой язык всем пользователям, знающим английский. Для локализации необходимо скопировать файл English.lng, переименовать его под свой язык, выполнить перевод всех строк на свой родной язык в текстовом редакторе.
3.2.6 Тестирование ПО
В процессе тестирования программного продукта, ставилась цель проверить работоспособность программы на различных версиях Celestia и Celestia EP, корректную локализацию, отсутствие ошибок и их возникновения.
Основными операциями при тестировании Менеджера конфигурации Celestia являлись: изменение и сохранение параметров на каждой вкладке, запуск Менеджера с включенным и выключенным Интернетом для проверки функции загрузки ссылок с сервера.
После запуска программы на Celestia 1.6.1, мы видим:
Как видите, на вкладке «Объекты и время» недоступны практически все объекты. Причиной является их отсутствие в стандартном дистрибутиве Celestia 1.6.1.
Lua-инструменты также отсутствуют в стандартной комплектации космического симулятора.
Итак, мы открываем файл celestia.cfg и видим, например:
Изменяем в Менеджере пару значений:
Видим, что в файле значения также изменились:
Из этого можно сделать вывод, что Менеджер конфигурации Celestia корректно работает на Celestia 1.6.1. Теперь протестируем программу на Celestia EP v3.0.
После запуска программы на Celestia 1.6.1, мы видим:
Как видите, на вкладке «Объекты и время» все объекты стали доступны, потому что они входят в комплект расширенной сборки Celestia EP v3.0.
В комплект Celestia EP v3.0 также входит Lua Universal Tools, поэтому для редактирования стали доступны определенные параметры.
Итак, мы открываем файл config.lua:
Изменяем в Менеджере, например цветовую схему:
В файле видим изменения:
Это означает, что Менеджер конфигурации Celestia корректно работает и на Celestia EP v3.0.
Таким образом, мы протестировали продукт на двух разных версиях космического симулятора Celestia, увидели его корректную работу и отсутствие ошибок.
4. Документация
4.1 Описание технических требований к условиям эксплуатации программного продукта (модуля)
Для работоспособности данной программы нам потребуется:
*Манипулятор типа мышь
*Процессор Intel Pentium II и выше
*Оперативной памяти не менее 128 Mb
*Любая 32-битная ОС семейства Windows
*Любая установленная версия космического симулятора Celestia
4.2 Программа и методика испытаний
Объектом испытания является, данная дипломная работа, которая представляет собой конфигуратор для космического симулятора Celestia. Программа может применяться абсолютно любыми пользователями Celestia. Программа позволяет редактировать множество дополнительных параметров Celestia, Lua-инструментов, а также управлять отображением различных объектов, включая космические аппараты.
Целью испытания стало, как и для любого программного продукта - корректное выполнение своих функций. Для этого необходимо осуществить проверку программы. Проверка программы - это проверка правильности реализации заданного алгоритма путем выполнения программы на вычислительной технике (ЕСПД).
Требования к программе. Программа должна легко запускаться. По нажатию кнопок, программа должна выполнять соответствующие действия. Входные данные программы - это конфигурационные файлы Celestia и Lua-инструментов, а также ssc файлы дополнений. Выходными данными является вывод на экран значений необходимых параметров из этих файлов. Если полученные результаты не имеют отклонений, то программа работает правильно. Проверка программы представляет собой тестирование. Тест - это последовательность наборов исходных данных, которые подаются на вход изделия и соответствующие им эталоны правильных результатов, которые должны быть получены на выходе.
Средства и порядок испытаний. Минимальный набор технических и программных средств используемых во время испытаний: манипулятор типа мышь, процессор Intel Pentium II и выше, не менее 128 Mb ОЗУ, любая 32-битная ОС семейства Windows, любая установленная версия космического симулятора Celestia.
Методы испытаний. Методом проверки корректности работы программы является тестирование. По результатам проведенного тестирования можно сказать, что программа работает корректно.
4.3 Руководство программиста
Назначение и условия применения программы
В Celestia, как и в любой другой программе присутствуют настройки, однако их бывает недостаточно, поэтому разработчики предусмотрели специальный конфигурационный файл «celestia.cfg», в котором можно изменить множество дополнительных параметров. Все эти параметры пользователи могут настроить под свои нужны.
Для космического симулятора Celestia существует дополнительный графический интерфейс «Lua Educational Tools», настройки которого расположены в собственном конфигурационном файле «config.lua».
Синтаксис конфигурационных файлов естественно англоязычный, все пояснения, которые в них находятся тоже англоязычные. Обычные пользователи, любители астрономии, испытывают трудности в конфигурировании Celestia и Lua Edu Tools, поскольку недостаточно хорошо знают английский язык. Это стало первой причиной рождения идеи моей дипломной работы.
На просторах Сети можно найти множество дополнений для Celestia. Это могут быть космические аппараты, планеты, астероиды, звезды, а также модели отдельных явлений. При установке большого количества дополнений в программу, ее работа может замедлиться, а некоторые дополнения вообще не всегда могут быть удобны в силу своей специфики.
Обдумав эти неудобства, было решено создать некий конфигуратор, с помощью которого пользователи смогут легко менять настройки Celestia, Lua Edu Tools, а также управлять отображением определенных дополнений.
2.Технические характеристики
2.1. Постановка задачи.
Целью работы является создание конфигуратора, который даст пользователям простой и понятный интерфейс с широкими возможностями для настройки Celestia, Lua-инструментов, а также управления отображением космических объектов.
В связи с поставленной целью, готовый программный продукт должен был обладать следующими возможностями:
Изменение основных параметров Celestia
Изменение основных параметров Lua Edu Tools
Управление отображением в настоящем времени большинства известных космических аппаратов, прекративших свое существование
Управление отображением сомнительных или спорных с точки зрения науки дополнений
Импорт, экспорт настроек, а также восстановление исходных настроек
Возможность самостоятельного перевода приложения на другие языки (локализация)
Приятный и простой в управлении для пользователя интерфейс.
2.2. Описание алгоритма.
Общий алгоритм выполнения программы, можно представить в виде структурной схемы изображенной на рис. 1.
Словесно эту схему можно описать как следующую последовательность действий:
Основные настройки
Папки дополнений
Сценарии
Курсор и др. параметры
Сохранение настроек
Настройки объектов и времени
Отображение отдельных объектов
Отображение космических аппаратов
Сохранение настроек
Настройки Lua-инструментов
Автоматический показ элементов Lua Edu Tools
Цветовая схема и др. параметры
Сохранение настроек
Управление настройками
Импорт настроек
Экспорт настроек
Восстановление исходных настроек
3. Общие сведения
Менеджер конфигурации Celestia является конфигуратором с графическим интерфейсом. Представляет собой окно со списком параметров, размещенных на разных вкладках, в зависимости от их типа и принадлежности. Навигация в виде вкладок очень удобна и проста как для пользователей, так и для разработчика, так как используется всего одно окно приложения. Все параметры и элементы интерфейса в программе расположены аккуратно и симметрично. Надписи понятные и грамотные.
Функциональное назначение.
Менеджер конфигурации Celestia предназначен для простой, но в то же время глубокой настройки космического симулятора Celestia, его дополнений и дополнительного инструмента Lua Edu Tools (Lua Universal Tools).
Исходный код.
Поскольку космический симулятор Celestia является бесплатной программой с открытым исходным кодом, по окончанию разработки данного программного продукта, исходный код данной дипломной работы стал открытым для всех пользователей сети Интернет.
Исходный код Менеджера конфигурации находится в репозитории по адресу: https://bitbucket.org/Alexell/celestia-config-manager
Используемые технические средства.
Для работоспособности данной программы нам потребуется:
*Манипулятор типа мышь
*Процессор Intel Pentium II и выше
*Оперативной памяти не менее 128 Mb
*Любая 32-битная ОС семейства Windows
*Лбая установленная версия космического симулятора Celestia
Вызов и загрузка.
Приложение запускается единственным исполняемым файлом Celestia_Config_Manager.exe. Этот файл должен находиться в корневой директории любой версии космического симулятора Celestia, поскольку управляет данными в составе Celestia.
Входные данные.
Используемые в программе входные данные представляют собой файлы конфигурации Celestia, Lua-инструментов и файлы описания дополнений. На экран при этом выводятся значения различных параметров для редактирования.
3.1 Организация входных и выходных данных
В моей дипломной работе ввод данных реализован с помощью визуальных компонентов (VCL), добавленных на форму. Это поля ввода (Edit), выпадающие списки (ComboBox), радио-кнопки (RadioButton) и чек-боксы (CheckBox).
Вывод данных происходит в те же компоненты графического интерфейса, поскольку приложение является конфигуратором.
4. Удаление программы
Необходимость удалить Менеджер конфигурации Celestia может возникнуть всего по трем причинам: либо пользователь больше в нем не нуждается, либо хочет обновить его, либо хочет переустановить Celestia.
Все программы удаляются одинаково: заходим в меню Пуск->Все программы и ищем папку с названием нужной нам программы или разработчика, раскрываем ее и внутри всегда есть пункт «Удаление программы». Он может называться по-разному, в зависимости от языка программы и от производителя. Удаление происходит с помощью деинсталлятора, который удаляет все файлы программы, очищает записи реестра, связанные с ней. Любую программу можно так же удалить через меню «Установка и удаление программ», иногда это бывает гораздо удобнее.
А чтобы обновить Менеджер, совсем необязательно его удалять: достаточно просто скачать с нашего сайта архив с программой и распаковать в корневую папку Celestia. При распаковке, все необходимые файлы будут заменены на новые.
Руководство пользователя
Назначение программы
В Celestia, как и в любой другой программе присутствуют настройки, однако их бывает недостаточно, поэтому разработчики предусмотрели специальный конфигурационный файл «celestia.cfg», в котором можно изменить множество дополнительных параметров. Все эти параметры пользователи могут настроить под свои нужны.
Для космического симулятора Celestia существует дополнительный графический интерфейс «Lua Educational Tools», настройки которого расположены в собственном конфигурационном файле «config.lua».
Синтаксис конфигурационных файлов естественно англоязычный, все пояснения, которые в них находятся тоже англоязычные. Обычные пользователи, любители астрономии, испытывают трудности в конфигурировании Celestia и Lua Edu Tools, поскольку недостаточно хорошо знают английский язык. Это стало первой причиной рождения идеи моей дипломной работы.
На просторах Сети можно найти множество дополнений для Celestia. Это могут быть космические аппараты, планеты, астероиды, звезды, а также модели отдельных явлений. При установке большого количества дополнений в программу, ее работа может замедлиться, а некоторые дополнения вообще не всегда могут быть удобны в силу своей специфики.
Обдумав эти неудобства, было решено создать некий конфигуратор, с помощью которого пользователи смогут легко менять настройки Celestia, Lua Edu Tools, а также управлять отображением определенных дополнений.
2.Технические характеристики
Для работоспособности данной программы, требуется:
*Манипулятор типа мышь
*Процессор Intel Pentium II и выше
*Оперативной памяти не менее 128 Mb
*Любая 32-битная ОС семейства Windows
*Любая установленная версия космического симулятора Celestia
3. Общие сведения
Менеджер конфигурации Celestia является конфигуратором с графическим интерфейсом. Представляет собой окно со списком параметров, размещенных на разных вкладках, в зависимости от их типа и принадлежности. Навигация в виде вкладок очень удобна и проста как для пользователей, так и для разработчика, так как используется всего одно окно приложения. Все параметры и элементы интерфейса в программе расположены аккуратно и симметрично. Надписи понятные и грамотные.
Функциональное назначение.
Менеджер конфигурации Celestia предназначен для простой, но в то же время глубокой настройки космического симулятора Celestia, его дополнений и дополнительного инструмента Lua Edu Tools (Lua Universal Tools).
4.4 Расчет надежности программного продукта (модуля)
Имя модуля: Локализация;
Имя вызывающего модуля: главный модуль;
Входные параметры: языковые lng файлы;
Выполняемые функции: обработка языковых файлов, отображение локализованных надписей и сообщений программы;
Выходные данные: локализованные надписи, ссылки и сообщения;
Особенности: отображение локализованной программы для языка пользователя.
Имя модуля: Основные настройки;
Имя вызывающего модуля: главный модуль;
Входные параметры: конфигурационный файл celestia.cfg;
Выполняемые функции: отображение и изменение параметров основного файла celestia.cfg.
Выходные данные: измененный файл celestia.cfg;
Особенности: выводит на экран текущие значения параметров; сохраняет измененные параметры в конфигурационный файл.
Имя модуля: Настройки объектов и времени;
Имя вызывающего модуля: главный модуль;
Входные параметры: ssc файлы описания объектов;
Выполняемые функции: отображение состояния объектов и его изменение по запросу пользователя;
Выходные данные: измененные ssc файлы описания объектов;
Особенности: выводит на экран текущее состояние объектов; сохраняет измененное состояние для каждого объекта в соответствующий ssc файл.
Имя модуля: Lua-инструменты;
Имя вызывающего модуля: главный модуль;
Входные параметры: файл конфигурации config.lua;
Выполняемые функции: отображение и изменение параметров конфигурационного файла config.lua;
Выходные данные: измененный файл конфигурации config.lua;
Особенности: выводит на экран текущие значения параметров; сохраняет измененные параметры в конфигурационный файл.
Имя модуля: Управление настройками;
Имя вызывающего модуля: главный модуль;
Входные параметры: все конфигурационные и ssc файлы, используемые другими модулями;
Выполняемые функции: импорт, экспорт и восстановление исходных настроек;
Выходные данные: все измененные конфигурационные и ssc файлы, используемые другими модулями; обновленные значения параметров на экране программы;
Особенности: выполняет импорт настроек из конфигурационного файла, экспорт или восстановление исходных настроек по запросу пользователя.
5. Экономическая часть
Основные результаты
Затраты на создание программного продукта складываются из расходов по оплате труда разработчика программы и расходов по оплате машинного времени при отладке программы:
ЗСПП= ЗЗПСПП+ ЗМЕСПП+ ЗОБЩ,
где
ЗСПП - затраты на создание программного продукта;
ЗЗПСПП - затраты на оплату труда разработчика программы;
ЗМЕСПП - затраты на оплату машинного времени;
ЗОБЩ - общие затраты.
Таким образом, получим:
ЗСПП=389,8 +7191,6+2062,5+14292=23 935,9 руб.
Расходы на оплату труда разработчика программы.
Расходы на оплату труда разработчика программы определяются путем умножения трудоёмкости создания программного продукта на среднюю часовую оплату программиста (с учётом коэффициента отчислений на социальные нужды):
ЗЗПСПП = t*Тчас.
Таким образом, получим:
ЗЗПСПП = 38,98*10=389,8 руб.
Расчёт трудоёмкости создания программного продукта.
Трудоёмкость разработки программного продукта можно определить следующим образом:
t = tИ+ tА+ tБ+ tП+ tД+ tОТ
где
tИ - затраты труда на подготовку описания задачи;
tА - затраты труда на разработку алгоритма решения задачи;
tБ - затраты труда на разработку структурной схемы алгоритма решения задачи;
tП - затраты труда на составление программы по готовой структурной схеме;
tД - затраты труда на подготовку документации задачи;
tОТ - затраты труда на отладку программы на ЭВМ при комплексной отладке задачи;
Составляющие затрат, в свою очередь можно вычислить через условное число операторов Q. Например, в нашем случае число операторов в отлаженной программе Q = 2030.
Таким образом, получим:
t = 40,6+10,15+10,15+10,15+8,87+38=117,92 чел/час.
Расчёт затрат труда на подготовку описания.
Оценить затраты труда на подготовку описания задачи не возможно, т.к. это связано с творческим характером работы, вместо этого оценим затраты труда на изучение описания задачи с учётом уточнения описания и квалификации программиста определяются:
tИ = Q*B / (250…350*K),
tАОТ - затраты труда на отладку программы на ЭВМ при автономной отладке одной задачи;
B - коэффициент увеличения затрат труда вследствие недостаточного описания задачи, уточнений и некоторой не доработки, 1, 2...5;
K - коэффициент квалификации разработчика, для работающих до 2 лет, K = 0, 8;
В связи с тем, что при изучении описания данной задачи потребовалось много уточнений и доработок в описании коэффициент B принимаем равным 4.
Таким образом, получим:
tИ = 2030*4/(250*0,8)=40,6 чел/час.
Расчёт затрат труда на разработку алгоритма.
Затраты труда на разработку алгоритма решения задачи:
tА = 2030/(250*0,8)=10,15 чел/час.
Расчёт затрат труда на разработку структурной схемы.
Затраты труда на разработку структурной схемы алгоритма решения задачи вычислим следующим образом:
tБ =2030/(250*0,8)= 10,15 чел/час.
Расчёт затрат труда на составление программы.
Затраты труда на составление программы по готовой структурной схеме:
tП = 2030/(250*0,8)= 10,15 чел/час.
Расчёт затрат труда на отладку программы.
Затраты труда на отладку программы на ЭВМ при комплексной отладке задачи:
tАОТ = 2030/(100*0,8)=25,37 чел/час.
Отсюда
tОТ = 1,5*36,84 = 1,5*25,37= 38 чел/час.
Расчёт затрат труда на подготовку документации.
Затраты труда на подготовку документации по задаче определяются:
tД = tДP+ tДO,
где
tДP - затраты труда на подготовку материалов в рукописи;
tДО - затраты на редактирование, печать и оформление документации.
Таким образом, получим:
tД = 5,07+3,8=8,87 чел/час.
tДР = 2030/ (500*0,8) =5,07 чел/час;
tДО = 0,75*5,07= 3,8 чел/час.
Итак, общую трудоёмкость программного продукта можем рассчитать:
t = 40,6+10,15+10,15+10,15+8,87+38=117,92 чел/час.
Расчёт средней зарплаты программиста.
Средняя зарплата программиста в современных рыночных условиях может варьироваться в широком диапазоне. Для примера расчёта возьмём среднюю часовую оплату труда, которая Tчас = составляет 10 руб. /час, что составляет 1660 руб. /мес. при 8-ми часовом рабочем дне и 5-ти дневной рабочей неделе. Затраты на оплату труда программиста состоят из зарплаты программиста и отчислений на социальные нужды. Отчисления на социальные нужды включают в себя: пенсионный фонд, медстрах, соцстрах, фонд занятости, сбор на образование.
Итого отчисления на социальные нужды составляют 34%. Отсюда затраты на оплату труда программиста составляют:
ЗЗПСПП = 117,92*10*1,34 = 1580,128 руб.
Затраты на оплату машинного времени.
Затраты на оплату машинного времени при отладке программы определяются путём умножения фактического времени отладки программы на цену машино-часа арендного времени:
ЗМЕСПП = Счас * tЭВМ.
Таким образом, получим:
ЗМЕСПП = 182,9*39,32=7191,6 руб.
Расчёт фактического времени отладки.
Фактическое время отладки вычислим по формуле:
tЭВМ = tП+ tДО+ tОТ ;
Таким образом, получим:
tЭВМ = 10,15+3,8+25,37=39,32 часа.
Расчёт цены машино-часа.
Цену машино-часа найдём по формуле:
Счас = ЗЭВМ / ТЭВМ
Таким образом, получим:
Счас = 326 445,71/1784=182,9 руб.
Расчёт годового фонда времени работы ПЭВМ IBM PC AT.
Общее количество дней в году - 365.
Число праздничных и выходных дней - 116.
Рабочих недель - 52.
Время простоя в профилактических работах определяется как еженедельная профилактика по 4 часа.
Итого годовой фонд рабочего времени ПЭВМ составляет:
TЭВМ = 8*(365-116)-52*4 = 1784 часа.
Расчёт полных затрат на эксплуатацию ЭВМ.
Полные затраты на эксплуатацию ЭВМ можно определить по формуле:
ЗЭВМ = (ЗЗП+ ЗАМ+ ЗЭП+ ЗЕМ+ ЗТР+ ЗПР),
где
ЗЗП - годовые издержки на заработную плату обслуживающего персонала, руб./год;
ЗАМ - годовые издержки на амортизацию, руб./год;
ЗЭП - годовые издержки на электроэнергию, потребляемую ЭВМ, руб./год;
ЗЕМ - годовые издержки на вспомогательные материалы, руб./год;
ЗТР - затраты на текущий ремонт компьютера, руб./год;
ЗПР - годовые издержки на прочие и накладные расходы, руб./год.
Таким образом, получим:
ЗЭВМ =321600+2062,5+1381,212+165+825+412,50=326 445,71 руб.
Амортизационные отчисления.
Сумма годовых амортизационных отчислений определяется по формуле:
ЗАМ=СБАЛ*НАМ
где
СБАЛ - балансовая стоимость компьютера,
НАМ - норма амортизации.
Таким образом, получим:
ЗАМ=16500*0,125=2062,5 руб.
Согласно постановления совета министров СССР от 22 октября 1990 года № 1072 «О единых нормах амортизационных отчислений на полное восстановление основных фондов народного хозяйства СССР» НАМ =12,5%. Балансовая стоимость ПЭВМ включает отпускную цену, расходы на транспортировку, монтаж оборудования и его наладку:
СБАЛ = СРЫН+ЗУСТ,
где
СРЫН - рыночная стоимость компьютера, руб./шт.,
ЗУСТ - затраты на доставку и установку компьютера, руб./шт.
Таким образом, получим:
СБАЛ = 15000+1500=16500 руб/шт.
Компьютер, на котором велась работа, был приобретен по цене СРЫН= 15000, затраты на установку и наладку составили примерно 10% от стоимости компьютера:
ЗУСТ = 10%*СРЫН
Таким образом, получим:
ЗУСТ = 0,1*15000=1500 руб.
СБАЛ = 15000+1500=16500 руб/шт.
ЗАМ = 16500*0,125=2062,5 руб/год.
Расчёт затрат на электроэнергию.
Стоимость электроэнергии, потребляемой за год, определяется по формуле:
ЗЭЛ = РЭВМ*ТЭВМ*СЭЛ*А,
где
Рэвм - суммарная мощность ЭВМ,
Сэл - стоимость 1кВт*ч электроэнергии,
А - коэффициент интенсивного использования мощности машины.
Согласно техническому паспорту ЭВМ Рэвм = 0,45 кВт, стоимость 1кВт/ч. электроэнергии для предприятий Сэл = 3,48 руб., интенсивность использования машины А=0,98.
Тогда расчётное значение затрат на электроэнергию:
ЗЭЛ = 0,45*900*3,48*0,98=1381,212 руб.
Расчёт затрат на текущий ремонт.
Затраты на текущий и профилактический ремонт принимаются равными 5% от стоимости ЭВМ:
ЗТР=0,05*СБАЛ
Таким образом, получим:
ЗТР=0,05*16500=825 руб.
Расчёт затрат на вспомогательные материалы.
Затраты на материалы, необходимые для обеспечения нормальной работы ПЭВМ составляют около 1% от стоимости ЭВМ:
ЗЕМ= 0,01*16500 = 165 руб.
Прочие затраты по эксплуатации ПЭВМ.
Прочие косвенные затраты, связанные с эксплуатацией ПЭВМ, состоят из амортизационных отчислений на здания, стоимости услуг сторонних организаций и составляют 5% от стоимости ЭВМ:
ЗПР= 0,05*16500 = 825 руб.
Годовые издержки на заработную плату обслуживающего персонала.
Издержки на заработную плату обслуживающего персонала складываются из основной заработной платы, дополнительной и отчислений на заработную плату:
Ззп = ЗОСНЗП+ЗДОПЗП+ЗОТЧЗП
Таким образом, получим:
Ззп = 150000+90000+81600=321600 руб.
Сумма основной заработной платы определяется исходя из общей численности работающих в штате:
ЗОСНЗП = 12*?ЗiОКЛ
где
ЗiОКЛ - тарифная ставка i-го работника в мес. руб.;
В штат обслуживающего персонала должны входить инженер-электронщик с месячным окладом 15000 руб. и электрослесарь с окладом 10000 руб.
Тогда, учитывая, что данный персонал обслуживает 2 машин, имеет издержки на основную заработную плату обслуживающего персонала, составят:
ЗОСНЗП = 12*(15000+10000)=300000 руб.
Сумма дополнительной заработной платы составляет 60% от основной заработной платы:
ЗДОПЗП = 0,6*300000 = 180000 руб.
Подобные документы
Описание аппаратных и программных средств, операционной системы. Описание входной и выходной информации. Информационно-логическая модель данных. Схема взаимодействия входной и выходной информации. Расчет трудоемкости и стоимости обработки информации.
курсовая работа [2,4 M], добавлен 05.07.2015Формирование требований к системе. Описание входной и выходной информации. Концептуальное и логическое проектирование структуры и пользовательского интерфейса. Выбор средств реализации подсистемы. Реализация функциональности программного средства.
курсовая работа [1,3 M], добавлен 28.08.2012Анализ входной и выходной информации, особенности ее документационного обеспечения. Описание таблиц и их основное содержание. Методика и этапы разработки интерфейса программы и ее листинг, а также формирование инструкций пользователя и программиста.
курсовая работа [682,7 K], добавлен 30.07.2015Создание баз данных с использованием Database Desktop. Проведение автоматизации рабочего места кассира. Описание входной и выходной информации. Выбор среды реализации, состава и параметров технических средств. Проектирование интерфейса программы.
курсовая работа [1021,5 K], добавлен 22.01.2015Организационно-экономическая сущность задачи автоматизации библиотечной информационной системы. Режимы работы и информационная модель решения задачи, описание входной и выходной информации. Обоснование выбора языка программирования, алгоритм решения.
дипломная работа [448,5 K], добавлен 08.11.2010Анализ используемой системы обработки информации на предприятии, ее структура и анализ эффективности функционирования. Содержание и принципы организации входной и выходной информации. Аппаратные и программные средства обеспечения, описание интерфейса.
дипломная работа [1,1 M], добавлен 24.08.2016Создание Win-приложения для библиотеки, которое позволяло бы осуществлять операции выдачи и сдачи книг в соответствии со сроками. Выбор программных и технических средств реализации проекта. Разработка интерфейса системы, описание реализованных классов.
курсовая работа [3,1 M], добавлен 14.08.2015Создание официального сайта КРОО ПСЗЗ "Красштаб Здоровья". Основные требования к дизайну, интерфейсу и функциональности сайта. Состав технических средств, защита информации. Описание входной и выходной информации. Расчет себестоимости разработки.
дипломная работа [1,4 M], добавлен 11.05.2017Организационная структура предприятия. Функциональные задачи, подлежащие автоматизации. Выбор технических, программных средств и метода проектирования. Описание алгоритма решения задачи. Разработка технологического обеспечения. Инструкция пользователя.
дипломная работа [5,3 M], добавлен 31.03.2009Проектирование процесса автоматизации оформления продаж автомобилей в автосалоне. Описание бизнес-процессов учета автомобилей. Исследование информационных потоков. Анализ входной и выходной информации. Алгоритмы решения задачи и их машинная реализация.
курсовая работа [2,9 M], добавлен 11.03.2014