Разработка компонент для среды структурно-визуального программирования
Разработка интерфейса программы, обеспечивающего доступ ко всем возможностям среды структурно-визуального программирования. Реализация инструментальных средств, позволяющих связывать компоненты в единое приложение. Создание иерархии классов представления.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 11.04.2012 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Выпускная квалификационная работа
в форме дипломного проекта
РАЗРАБОТКА КОМПОНЕНТ ДЛЯ СРЕДЫ СТРУКТУРНО-ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ
Содержание
Введение
1. Анализ технического задания
2. Общая модель системы и описание ее компонентов
2.1 Пользовательский интерфейс системы
2.2 Компоненты
2.3 Инструменты разработки
2.4 Дерево действий
2.5 Класс экспорта
3. Реализация компонент
3.1 Существующие модели построения компонентов
3.2 Классификация компонентов
3.3 Режимы работы компонентов
3.4 Схема класса компонента
3.5 Класс представления
3.6 Проект
4. Экономическая часть дипломного проекта
4.1 Смета затрат на выполнение работы
4.2 План выполнения работ
4.3 Расходы на оплату труда
4.4 Материальные затраты
4.5 Расчет амортизации оборудования
4.6 Прочие расходы
4.7 Заключение
5. Безопасность и экологичность проекта
5.1 Безопасность программного продукта
5.2 Методы и принципы обеспечения безопасности труда
5.3 Санитарно-бытовое обеспечение
5.4 Пожарная безопасность
5.5 Безопасность в чрезвычайных ситуациях
5.6 Экологическая безопасность программного продукта
Заключение
Список используемых источников
Введение
Во время разработки программного обеспечения не всегда необходима вся полнота функциональности, которая позволяет проектировать приложения высокой сложности и большой гибкости. Часто, достаточно упрощенных обобщающих средств разработки, предоставляющих готовые функции в простом виде. Это сильно упрощает и ускоряет процесс разработки.
Также, подобный подход является удачным для применения в образовательных процессах, при обучении программированию. Т.к. позволяет обучать учащихся с использованием заинтересованности, вызываемой быстрым получением результата поставленной задачи. Делает освоение материала очень наглядным.
На данный момент существует системы, позволяющих упростить процесс разработки специализированных приложений для конкретных задач. Например, пакет Microsoft Access предоставляет упрощенную модель организации приложения для работы с базой данных. Однако применение Access для решения более общих задач становится неудобным или вовсе невозможным. Например, типичных пользовательских действий в операционной системе, таких как копирование файлов, доступ в интернет, запуск приложений, выключения компьютера и т.д.
Разрабатываемая система должна предоставлять широкий набор инструментальных средств, обеспечивающих создание программ на основе сборки из готовых компонент. Компоненты должны в совокупности предоставлять возможность решения основных пользовательских задач в операционной системе.
В соответствии с этим, целью дипломного проекта является разработка компонент для среды структурно-визуального программирования.
Исходя из поставленной цели, ставятся следующие задачи:
- Компоненты должны легко интегрироваться в среду структурно визуального программирования;
- Необходимо иметь возможность расширения типовой структуры компонент;
- Компоненты должны реализовывать требуемую функциональность;
- Наличие справки и удобного наглядного вывода компонент.
1. Анализ технического задания
Разработать набор инструментальных средств, обеспечивающих создание программ на основе сборки из готовых компонент.
Технологический процесс
Процесс работы среды структурно-визуального программирования включает в себя следующие действия:
- разработка пользователем графического интерфейса программы;
- объединение компонент по средствам структурно-визуальной генерации промежуточного кода;
- отладка программы, с использованием контрольных точек и пошагового выполнения;
- компиляция проекта в готовое приложение.
Функциональное назначение
Среда структурно-визуального программирования предназначена для создания приложений на основе готовых компонент.
Требования к программному продукту
Среда структурно-визуального программирования должна:
- работать с проектами любых размеров;
- компилировать проекты в исполняемый файл;
- иметь инструменты отладки программ;
- предоставлять алгоритмические примитивы для связи компонент;
- обеспечить интерфейс для создания новых компонент;
- осуществлять эффективный поиск маршрутов следования;
- иметь собственный формат хранения проекта.
2. Общая модель системы и описание ее компонентов
Среда структурно-визуального программирования - это набор инструментальных средств, обеспечивающих создание программ на основе сборки из готовых компонент. Разрабатываемая система, должна включать в себя следующие необходимые для работы части: интерфейс пользователя, компоненты, инструментальные средства для связи компонент, отладчик, компилятор.
Обобщенная структура среды разработки приведена на Рис. 1.
Рис. 1. ? Обобщенная структура системы структурно-визуального программирования
Описание элементов системы:
- компоненты, структурные блоки, на основе которых строится программа;
- инструменты разработки - средства позволяющие связывать компоненты в единую программу, посредствам алгоритмических примитивов;
- дерево действий, в котором хранится разрабатываемая пользователем программа;
- проект, представляющий собой объектное представление в среде программы, которую проектирует пользователь;
- класс экспорта, позволяющий сохранять проект в другие форматы представления данных, например в исполняемое приложение.
Рассмотрим подробнее все элементы системы структурно-визуального программирования.
2.1 Пользовательский интерфейс системы
Для реализации обобщенной структуры системы структурно-визуального программирования, был разработан пользовательский интерфейс, обеспечивающий доступ ко всем возможностям среды разработки (Рис. 2).
Рис. 2. ? Главное окно среды разработки
Элементы главного окна среды разработки:
1. Панель объектов содержит перечень всех компонент, доступных для использования в разрабатываемом приложении;
2. В разделе окон разрабатывается графическое оформление создаваемой программы, путем расположения на окне программы компонент и задания их размеров и расположения;
3. Раздел свойств предоставляет инструмент просмотра и изменения свойств компонент в режиме проектирования;
4. В дереве действий происходит отображение программного кода, созданного для обработчиков событий компонентов. Предоставляются инструменты для редактирования элементов дерева, а также отображения процесса отладки и трассировки программы.
5. Раздел событий. События позволяют компоненту уведомлять проект о возникновении каких-либо ситуаций или действий пользователя над компонентом (клик, движение курсора, нажатие клавиш). Раздел событий позволяет создавать компонентам обработчики событий, в которых будут размещаться программные выражения, описывающие реакцию программы на событие
6. Раздел действий позволяет создавать программные команды управления программой. Процесс создания происходит через специальный инструмент, где необходимо выбрать компонент, затем его свойство, а после значение, на которое на которое это свойство требуется изменить (Рис. 3). Спроектированные действия размещаются в обработчике событий, созданном в разделе событий.
7. Раздел условий предназначен для создания условных конструкций, позволяющих организовать разветвленную логику в программе. Пример создания условия проверки, является ли ширина компонента Кнопка большим, чем 100 точек, приведен на Рис. 4.
8. Раздел циклов предназначен для создания циклических конструкций, позволяющих организовать повторяющийся перебор одних и тех же действий. Пример создания цикла, выполняющегося пока текст компонента Кнопка меньше либо равен 10, приведен на Рис. 5.
Рис. 3. ? Инструмент создания программных команд
Рис. 4. ? Инструмент создания условных конструкций
Рис. 5. ? Инструмент создания циклических конструкций
9. Раздел комментариев используется для создания текстовых заметок в программном коде, предназначенных для пояснения участков кода, и не несущих функциональной значимости.
2.2 Компоненты
Компоненты представляют собой составные блоки, из которых собирается программа. Это кнопки, окна, надписи, объекты, представляющие файловую систему, реестр и т.д. Задача среды разработки предоставить инструментальные средства для связи компонент в единую программу, которая сможет решать поставленные задачи.
Внешний вид компонент в среде разработки представлен на Рис. 6.
Рис. 6. ? Внешний вид компоненты в среде разработки
Подробнее об архитектуре компонентов будет рассмотрено в следующей части.
2.3 Инструменты разработки
Инструменты разработки являются средствами, позволяющими связывать компоненты в единую программу, посредствам алгоритмических примитивов и других логических связей.
В среде разработки реализованы следующие инструменты:
- Настройка компонентов в среде разработки
- Создание перехватчиков событий компонент
- Мастера генерации промежуточного кода
Компоненты настраиваются через инструмент настройки, который позволяет изменять все доступные свойства компонентов.
Для обеспечения обработки событий компонентов, в разрабатываемой пользователем программе, используется соответствующий инструмент, задающий, какие события будут отлавливаться.
Мастера генерации промежуточного кода
Создание функционального программного кода в среде структурно-визуального программирования происходит в специальных мастерах. Мастер - это ряд последовательных окон, позволяющих легко настраивать нужную команду.
Создание кода алгоритмических примитивов, таких как условия и циклы, а также генерация кода для изменения свойств компонент производится в трех инструментах:
- Инструмент изменения свойств компонент
- Инструмент создания условий
- Инструмент создания циклов
На рисунке 7 показана общая структура инструментов генерации функционального кода.
Все инструменты расширяют свою функциональность за счет мастера сложных действий. В нем можно генерировать программный код на основе свойств компонент с применением математический операций и функций
Код, сгенерированный мастером сложных действий, всегда возвращает, какие-либо данные, а не выполняет методы. Пример нахождения среднего арифметического чисел, содержащихся в компонентах Текст1 и Кнопка1 приведен в рисунке 8.
Рис. 7. ? Структура инструментов генерации кода
Рис. 8. ? Пример использования мастера сложных действий
2.4 Дерево действий
Визуализация программного кода происходит в специальном разделе среды разработки, называемом деревом действий. Также в нём отображаются компоненты, содержащие код и их события. На рисунке 9 представлен вид дерева действий.
Рис. 9. ? Вид дерева действий
На приведенном рисунке представлен пример обработчика события клик мыши по кнопке, с именем «КнопкаРавно».
События визуализируются в виде ветвей дерева, вложенных в представление компонента. Каждое событие содержит набор выражений определяющих реакцию программы на действие пользователя.
Ветви дерева, являющиеся условными или циклическими конструкциями, содержат в себе выражения, которые будут выполняться в случае истинности указанного условия.
Еще одной задачей дерева действий является визуализация процесса отладки разрабатываемого пользователем приложения, путем расстановки контрольных точек на ветках дерева и отображения трассировки.
Таким образом, дерево действий решает следующие задачи:
- Перечисление набора использованных компонент в программе;
- Отображения обработчиков событий;
- Визуализации выражений программного кода
- Предоставление услуг отображения процесса отладки
Программный код
Программный код представляет собой набор операторов, связанных алгоритмическими примитивами, такими как условия, циклы.
Общая семантика программного кода в среде структурно- визуального программирования в формате РБНФ представлена в Листинге 1:
Программный код = { Выражение }
Выражение = Терм [ “=” Терм { (“+”|”-”|”&”) Терм } ]
Терм = [Дополнительная функция] строка |
Свойство компонента[“(“ Терм {“,” Терм } ”)”]
Свойство компонента = «Кнопка.Текст» | «Окно.Ширина» | …
Дополнительная функция = «Корень» | «Синус» | …
Листинг 1. ? Семантика программного кода в РБНФ
Программный код является набором выражений, которые описывают поведение компонентов во время работы разрабатываемого пользователем приложения. Каждое выражение может либо вызвать метод компонента, либо изменить его свойство, на основании свойств других компонент.
Программный код каждого компонента хранится во внутренних полях и передается в среду через специальный интерфейс.
2.5 Класс экспорта
Класс экспорта предоставляет возможности сохранения разрабатываемого проекта в различные форматы данных. Система имеет следующие возможности экспорта:
- Внутренний формат файла для хранения проекта
- В исполняемый файл
- В код Visual basic.Net
3. Реализация компонент
Компоненты представляют собой составные блоки, из которых собирается программа. Это кнопки, окна, надписи, объекты, представляющие файловую систему, реестр и т.д. Задача среды разработки предоставить инструментальные средства для связи компонент в единую программу, которая сможет решать поставленные задачи.
3.1 Существующие модели построения компонентов
На сегодняшний день основным технологический стандартом разработки компонентов является COM (англ. Component Object Model - Объектная Модель Компонентов). Он подразумевает создание программного обеспечения на основе взаимодействующих распределённых компонентов, каждый из которых может использоваться во многих программах одновременно. Стандарт воплощает в себе идеи полиморфизма и инкапсуляции объектно-ориентированного программирования. Стандарт COM не мог быть универсальным и закрепился в основном на операционных системах семейства Microsoft Windows. В современных версиях Windows COM используется очень широко
Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный идентификатор (GUID) и может одновременно использоваться многими программами. Компонент взаимодействует с другими программами через COM-интерфейсы - наборы абстрактных функций и свойств. Каждый COM-компонент должен, как минимум, поддерживать стандартный интерфейс «IUnknown», который предоставляет базовые средства для работы с компонентом. Интерфейс «IUnknown» включает в себя три метода: QueryInterface, AddRef, Release.
Реализация COM модели компонента
Сегодня технология.NET сводит к минимуму трудности реализации собственных компонент. Для построения компонента достаточно реализовать интерфейс System.ComponentModel.IComponent, либо, что более распространено и широко используется, наследовать существующий компонент. К примеру, использовать в качестве базового класса общий объект всех.NET визуальных компонентов - System.Windows.Forms.Control.
Последний вариант позволяет избежать сложностей, связанных с организацией управления памятью и отрисовкой компонентов, что сильно упрощает разработку.
Исходя из приведенных аргументов, реализация COM модели компонентов реализована по средствам наследования уже существующих.NET классов.
Однако, отличительной особенностью разработанной модели от стандартов System.ComponentModel является то, что все свойства и события.NET класса, которые использует компонент, хранятся в инкапсулированном классе представления, в котором дублируются свойства базового объекта, но в форме, понятной среде структурно-визуального программирования.
Таким образом, целью каждого компонента является перенос функциональности объектов Framework в среду разработки, посредствам класса представления.
3.2 Классификация компонентов
Каждый компонент выполняет свои определенные функции. Способы предоставления объектом своих возможностей среде разработки могут быть различны. Было определено три возможных типа компонентов, и каждый разрабатываемый объект является объектом одного один из этих типов. Реализации структуры с тремя типами компонентов позволяет избежать перегрузки объектов лишними свойствами и функциями.
Типы компонент, отличающиеся друг от друга способом преподнесения своих функций разработчику:
- С визуальным интерфейсом
- Без постоянного визуального интерфейса
- Статические классы
Компоненты с визуальным интерфейсом размещаются на других компонентах (контейнерах) и представляют собой элементы взаимодействия пользователя с программой, находящиеся в постоянной видимости клиента. Примерами таких компонент могут служить такие компоненты как кнопки, надписи, таблица, форма и т.д.
Рис. 10. ? Пример отображения в среде разработки компонент с визуальным интерфейсом
Компоненты без постоянного визуального интерфейса предназначены для выполнения определенных функций и хранения результата работы. При этом визуального интерфейса может, как вовсе не быть, ввиду отсутствия необходимости (например, компоненты таймер, память), либо активироваться во время выполнения программы (например, компоненты окно открытия файла, контекстное меню). В среде разработки такие объекты отображаются в виде пиктограмм под окном, в котором они расположены (Рис. 11).
Рис. 11. ? Пример отображения в среде разработки компонент без постоянного визуального интерфейса
Компоненты статического типа именуется в среде разработки как полезные объекты, и представляют собой отображение набора методов статичного класса. Этот класс не возвращает или устанавливает каких-либо внутренних полей экземпляра, его задача - предоставить функционал, которому не требуется хранения данных. Примером такого типа компонент может быть, например, экран, возвращающий и изменяющий параметры дисплея, заставки и рабочего стола (Рис. 12).
Рис. 12. ? Пример отображения в среде разработки компонент статического типа
3.3 Режимы работы компонентов
Реализацию компонента можно разбить на 3 логические части, т.к. каждый компонент должен заключать в себе реализацию трех режимов работы:
- В скомпилированном режиме
- В режиме конструктора в среде разработки
- В режиме отладки программы
Работа в скомпилированном режиме заключается в обеспечении стабильной работы дублированных (от базового.NET класса) свойств и методов компонента, т.к. после компиляции, транслятор переводит программный код проекта в код языка высокого уровня, в котором все взаимодействия между компонентами происходят через свойства класса представления.
В режиме конструктора компонент должен обеспечить отображение и поведение объекта в среде разработки. Для этого необходимо должным образом переопределить события, возникающие на компоненте, во время работы в системе структурно-визуального программирования. Интерфейс IProject предоставляет для этого необходимые инструменты. Также компонент должен предоставлять структуру, для хранения программного кода программы, который размещен в обработчиках событий данного объекта.
При работе в режиме отладки поведение компонента должно соответствовать поведению в скомпилированном режиме, за исключением того, что команды программного кода должны отправляться в интерпретатор, по средствам интерфейса IProject.
3.4 Схема класса компонента
Обобщенная схема класса компонента выглядит следующим образом (Рис. 13)
Рис. 13. ? Обобщенная схема компонента
Все компоненты реализуют интерфейс IObject. Его структура представлена на Рис. 14.
Рис. 14. ? Интерфейс компонента
Каждый компонент базируется на существующем.NET классе, который реализует требуемую функциональность. Адаптация свойств, методов и событий.NET класса происходит посредствам класса представления, инкапсулированного в компонент и доступного по свойству BehaviorObject интерфейса IObject.
Свойство BehaviorObject имеет тип BaseBehavior. Класс, определяющий этот тип, наследуют объекты представления всех компонентов среды разработки.
3.5 Класс представления
В скомпилированном проекте среды структурно-визуального программирования обращения ко всей функциональности компонента осуществляется через объект представления.
Объект представления состоит из свойств, методов и событий, дублирующих функционал базового класса, но имеющих своим типом строку, что требует ряд преобразований в копируемом свойстве. Класс инкапсулируется в компонент, поэтому обеспечивается отображение в среде разработки только требуемой функциональности.NET класса.
Объект представления всегда является потомком класса BaseBehavior, в котором определены все основные функции, необходимые для представления функциональности.NET объекта среде разработки.
Рис. 15. ? Класс представления BaseBehavior
Содержимое класса:
- _obj содержит ссылку на.NET класс, на базе которого построен компонент. Данное поле необходимо для доступа свойствам и методам данного класса к функциональности базового.NET объекта.
- project предоставляет доступ к функциям проекта среды разработки через интерфейс IProject, который будет рассмотрен далее.
- Container имеет тип IObject и содержит компонент, являющийся контейнером данного объекта.
- DesignMode указывает в каком режиме работать компоненту: в режиме проектирования, скомпилированном режиме или отладка.
- Markers хранит вспомогательные для среды разработки объекты компонента, такие как маркеры, используемые для изменения размеров компонентов в среде разработки и перемещения их.
- Name содержит имя создаваемого объекта. Имена имеют абсолютно все компоненты, это основные идентификаторы компонента в среде.
- Index является дополнительным идентификатором объекта, используемый когда несколько компонент объединены в массив и имеют одно имя. Вместе Name и Index позволяют однозначно идентифицировать компонент на форме.
- ObjectType указывает тип компонента: с визуальным интерфейсом, без постоянного визуального интерфейса, статические классы.
- ProgramCode содержит в специальном классе программный код, созданный для обработчиков событий компонента.
- GetListFromType возвращает перечисления в виде списка строк, которые соответствуют передаваемому типу свойства.
- InitialEvent - функция, которая должна вызываться в начале каждого обработчика, созданного для события компоненты. Её задача: передача аргумента события в объект представления, для использования его свойствами компонента для получения дополнительной информации о событии и как средство обратной связи с ним.
- SetEventsDebug. Для обеспечения работы компонента в режиме интерпретатора, каждый компонент должен задать в этой функции отправку программного кода обработчиков событий в интерпретатор.
- SetEventsDevelop. Для обеспечения работы компонента в режиме конструктора, каждый компонент должен задать в этой функции перенаправление событий в среду разработки.
- Created - событие, которым обладают все объекты, срабатывающее после создания компонента на форме.
- Disposed - событие, которым обладают все объекты, срабатывающее после ликвидации компонента.
Для создания новых компонент с расширенной функциональностью достаточно создать класс, наследуемый от BaseBehavior, и дополнить его новыми свойствами и методами. Если необходимо изменить поведение компонента от указанного базового поведения, достаточно переопределить функции, в которых оно описывается.
По этому принципу создана иерархия классов представления, которая по своей структуре очень близка к наследованию, используемому в.NET Framework. Она (частично) представлена на рисунке 16.
Рис. 16. ? Иерархия наследования объектов представления (частичная)
Все объекты, классифицирующиеся как компоненты с визуальным интерфейсом, наследуются от базового класса ControlBehavior, в котором определены все необходимые функции, для реализации подобного типа компонент. В случае, если визуальный компонент может содержать в себе другие компоненты, то в качестве базового используется класс ContainerBehavior предоставляющего функции размещения компонент.
Все статические компоненты должны наследоваться от UsefulBehavior, в котором определены все необходимые процедуры работы данного типа компонент. Компоненты без постоянного визуального интерфейса удобно создавать на основе BaseBehavior.
Таким образом, данная иерархия позволяет минимизировать избыточность кода при разработке новых компонент, а также предоставляет гибкость в модернизации объектов и упрощает разработку.
3.6 Проект
Проводником компонентов в систему структурно-визуального программирования является проект. Основными задачами проекта являются:
- объединение всех компонент в единое целое
- предоставление интерфейса взаимодействия со средой разработки.
- хранение данных
- предоставление функций обработки данных
- управление отображением данных в среде разработки.
Структура проекта
Проект является объектным представлением программы, которую проектирует пользователь. Проект состоит из следующих частей:
- Свойства проекта. Различные настройки названия разрабатываемого приложения, версии, расположения ресурсов и т.д.
- Список участвующих в программе компонент. Экземпляры классов каждой созданной пользователем компоненты.
- Программный код разрабатываемого приложения, который представлен в виде дерева, ветви и листья которого содержат код на промежуточном языке объектной модели.
- Функции изменения и расширения проекта, такие как добавление нового компонента в проект, поиск по проекту, изменения кода и т.д.
Для доступа компонент к возможностям проекта был разработан интерфейс IProject, предоставляющий необходимые функций среды. Он приведен на Рис. 17.
Рис. 17. ? Интерфейс проекта
Набор методов интерфейса можно разделить на три категории:
1. Общего назначения:
- GetAllObjects возвращает набор всех компонент участвующих в проекте, в формате массива IObject;
- GetList возвращает перечисления используемые в среде разработки. Для работы функции, ей необходимо передать тип перечисления. Форматом перечислений является список ключ-значение, где ключом является строковое обозначение значения, указанного в формате.NET
- GetObjectFromName возвращает компонент в формате IObject, по переданному имени и индексу;
- GetObjectFromName возвращает набор компонент в формате IObject, по переданному имени;
- Translate переводит переданное строковое значение на текущий язык.
2. Режим проектирования:
- GetSelectedObjects возвращает набор компонент выделенных в среде разработки на форме, в формате массива IObject;
- Процедуры формата obj_... обрабатывают события компонента таким образом, каким он должен вести себя в режиме проектирования, когда произойдет данное событие.
- Событие PropertyChanged должно вызываться компонентом при изменении какого-либо свойства, чтобы среда разработки могла реагировать на это изменение соответствующим образом.
3. Режим отладки:
- UnifedEvent является общим обработчиком для всех событий в среде структурно-визуального программирования в режиме отладки. Каждое событие компонента может быть приведено к данному унифицированному типу обработчика. Все перехваченные события в режиме отладки отправляются в проект посредствам вызова UnifedEvent с разными аргументами. Проект, в свою очередь, принимает событие в общем виде, и дальнейшая работа зависит от переданного аргумента. Обратная связь реализована по средствам изменения аргумента события, который был передан по ссылке.
4. Экономическая часть дипломного проекта
Переход к информационному обществу предполагает информатизацию всех сфер общественной жизни. В настоящее время на дорожную отрасль России выделяются средства, достаточные для проведения автоматизации многих процессов, связанных с эксплуатацией дорожного хозяйства.
Дипломный проект заключается в создании аппаратно-программного комплекса паспортизации и диагностики автомобильных дорог, позволяющего автоматизировать процесс сбора и первоначальной структуризации дорожной информации.
4.1 Смета затрат на выполнение работы
В смету затрат включаются все затраты, связанные с выполнением проекта, независимо от источника финансирования. Структура затрат будет иметь следующий вид:
1. Расходы на оплату труда
- основная заработная плата;
- дополнительная заработная плата
2. Материальные затраты
- стоимость материалов и покупных изделий;
- стоимость расходуемой электроэнергии;
- затраты по использованию прикладных программ.
- затраты по оплате услуг, работ сторонних организаций.
3. Амортизация оборудования
- амортизация оборудования;
4. Прочие расходы
- единый социальный налог;
- выплаты на социальное страхование от несчастного случая;
- затраты по использованию INTERNET;
- расходы на управление и хозяйственное обслуживание.
4.2 План выполнения работ
Таблица 1. - План выполнения работ
Вид работ |
Категория работника |
Время разработки, чел/час |
Затраты маш. времени, маш/час |
|
1. Сбор информации по существующим аналогам |
Инженер-программист |
40 |
40 |
|
2. Изучение документации, поиск и установка компонентов, настройка среды разработки |
Инженер-программист |
100 |
100 |
|
3. Разработка архитектуры, структуры системы |
Инженер-программист |
120 |
60 |
|
4. Разработка алгоритма работы. Написание программной части |
Инженер-программист |
600 |
600 |
|
5. Отладка |
Инженер-программист |
100 |
100 |
|
6. Написание технической документации по проекту |
Инженер-программист |
50 |
50 |
Получаем: время разработки суммарное равно 1010 часов, суммарное машинное время равно 950 часов.
4.3 Расходы на оплату труда
Расчет основной заработной платы
На статью "Основная заработная плата" относятся выплаты по заработной плате, вычисленные по должностным окладам и тарифным ставкам сотрудников, специалистов, служащих, рабочих предприятия, которые непосредственно занимались выполнением данной работы, премии за основные результаты научно-исследовательской деятельности, выплаты, обусловленные районным регулированием оплаты труда, премии за непрерывный стаж работы.
Размер основной заработной платы устанавливается исходя из численности различных категорий исполнителей, трудоемкости работы, времени, затрачиваемого на выполнение данной работы. Исходными данными для расчета основной заработной платы возьмем трудоемкость работ, стоимость одного человеко-часа работы для разных категорий служащих.
Должностные оклады сотрудников устанавливаются на основе тарифной сетки по оплате труда работников предприятия ООО «Индор-Енисей».
Рассчитаем размер основной заработной платы для всех работников, принимавших участие в разработке проекта.
Должностной месячный оклад инженера-программиста организации ООО «Индор-Енисей» составляет 6 000 руб. (Дмес.окл). Ежемесячная премия составляет 2 125 руб. (Пмес). Северная надбавка составляет 30% от ежемесячных постоянных начислений (Нс). Районный коэффициент составляет так же 30% от ежемесячных постоянных начислений (Нр). Размер основной заработной платы работника предприятия на должности инженера-программиста рассчитывается по формуле
ЗПосн = Дмес.окл. + Пмес + Нс + Нр
Размер ежемесячных выплат на зарплату инженера-программиста получается
ЗПосн = 6000 + 2 125 + 2 437,5 + 2 437,5 = 13 000 руб.
Рассчитаем стоимость часа работы над проектом инженера-программиста:
Сч = ЗПосн/ Чмес
где, Сч - стоимость часа работы инженера-программиста, руб.;
ЗПосн - размер основной заработной платы, руб.;
Чмес - среднее количество рабочих часов в месяце, час. Значение данного параметра примем как 168 часов;
Таким образом, стоимость часа работы программиста получается:
Сч = 13 000 / 168 = 77,38 руб.
Суммарная заработная плата инженера-программиста составляет:
ЗПосн У = 77,38 * 1010 = 78153,8 руб.
Расчет дополнительной заработной платы:
На статью “Дополнительная заработная плата” на предприятии ООО «Индор-Енисей» приходится 12% от годового фонда заработной платы:
Таким образом, дополнительная заработная плата на двух инженеров-программистов составит:
ЗПдп= 78 153,8 * 0,12 = 9378,45 руб.
4.4 Материальные затраты
Стоимость материалов и покупных изделий
Стоимость материалов включает в себя:
стоимость тонера для принтера: 180 руб.
бумага для печати(1 пачка=500 л.): 100 руб.
Подсчитаем общую стоимость расходуемых материалов Страсх.:
Страсх. = 180 + 100 = 280 руб.
Стоимость расходуемой технологической электроэнергии
Необходимо подсчитать количество расходуемой энергии, исходя из установленной мощности оборудования, каждого вида и суммарную мощность потребляемую оборудованием по формуле:
Nсум= Nj,
Где: Nсум - суммарная мощность оборудования;
Nj - установленная мощность j-го вида оборудования.
N1 = монитор - 264 Вт/ч;
N2 = системный блок - 500 Вт/ч;
N3 = периферийные устройства до 100 Вт/ч.
Количество расходуемой энергии компьютером составит:
Nсум = 264+500+100 = 864 Вт/ч
Nфакт = Ni*tфакт
Где: tфакт - фактические затраты времени на работы (машино-часы)
Nфакт = 864*950 = 820800 Вт = 820,8 кВт
Стоимость потреблённой энергии определяется по формуле
Сэ = Nфакт*Цэ,
где: Цэ - тариф на энергию (1 кВт = 163 коп. без НДС)
Сэ = 820,8 * 163 = 133790,4 коп = 1337,9 руб.
Затраты по использованию прикладных программ
Данные затраты рассчитываются по формуле:
Страсх = Ст\Тэф* tфакт,
где: Ст - стоимость прикладных программ, руб.;
Тэф - время эффективного использования, час.; (3 года - 5974)
Tфакт - количество часов использования ПО, маш./час;
Расчет для программного продукта Microsoft Windows 7 Professional:
Страсх = (8 000 /5974)*1 776=2 452 руб.
Расчет для программного продукта Visual Studio 2008 Standard:
Страсх = (10 500 /5974)*850=1493,97 руб.
Расчет для программного продукта Microsoft Office Professional:
Страсх = (12 000 /5974)*90= 180,78 руб.
Стоимость прикладных программ складывается из стоимости отдельных программных продуктов необходимых для работы системы:
Таблица 2. - Расчет затрат по использованию прикладных программ
Программный продукт |
Стоимость |
Маш\час |
Затраты на ПО |
|
Microsoft Windows 7 Professional |
8 000 руб. |
950 |
2 452 руб. |
|
Visual Studio 2008 Standard |
10 500 руб. |
850 |
1493,97 руб. |
|
Microsoft Office Professional |
12 000 руб. |
90 |
180,78 руб. |
Остальные программные продуктами являются бесплатными и свободно распространяются.
В итоге получили сумму расходов на программное обеспечение: 4126,75 руб.
4.5 Расчет амортизации оборудования
Срок полезного использования оборудования установлен равным 3 годам. Для расчета амортизационных отчислений используется линейный метод, следовательно, норма амортизационных отчислений составит 33,3% в год. Сумма амортизационных отчислений вычисляется по формуле:
Ам.акт.= (Стакт. * Нам.отч./ 100)
где: Ам.акт. - годовые амортизационные отчисления по оборудованию, руб.;
Тфакт - количество часов использования ПО, маш/час.
Стакт. - стоимость оборудования, руб.;
Нам.отч. - норма амортизационных отчислений, в процентах.
Нам.отч. =100/ 3 =33,3
Оборудование - ПК следующей конфигурации:
Intel Core2 Duo E4600 (2.4 GHz/800 MHz/2MB L2), Socket LGA775/ DDR2 SDRAM, DIMM 2 Gb, 240 pin, PC2-5300 (DDR2 667) Kingston/ASUS P5KPL-VM/Sapphire Radeon HD 3450, DDR2 256MB/HDD 160 GB SATA Seagate Barracuda 7200/19"Wide ViewSonic VA1926w
Стоимость оборудования равна 25500 рублям.
Исходя из этого подсчитаем Ам.акт. по формуле:
Ам.акт. = 2*(25500 * 33,3/ 100) = 16 983 рубля в год.
Соответственно норма амортизационных отчислений для данной работы составит:
Ам.отч = Ам.акт /Tгод* Тфакт
где Tгод - число рабочих часов в году;
Tфакт - количество часов использования оборудования, маш\час.
Ам.отч = 16 983 / 1993 * 950 = 8 095,25 рубля.
4.6 Прочие расходы
Расчет единого социального налога
“Единый социальный налог”, далее (ЕСН) учитывает следующие обязательные отчисления по установленным законодательным нормам:
- фонд социального страхования (2,9%);
- пенсионный фонд (20%);
- фонд медицинского страхования (3,1%);
Размер отчислений определяется по формуле:
ЕСН=(ЗПосн+ЗПдп)*(Пф+Мс+Сс)/100,
где: ЕСН ? единый социальный налог;
ЗПосн - основная заработная плата сотрудника, руб.;
ЗПдп - дополнительная заработная плата сотрудника, руб.;
Пф - размер отчислений в пенсионный фонд;
Мс - размер отчислений на медицинское страхование, в процентах;
Сс - размер отчислений на социальное страхование.
Итого сумма отчислений на ЕСН составит:
ЕСН = (78 153,8 + 9 378,45) * (20 + 2,9+ 3,1) / 100 = 20 413,77 руб.
Выплаты на социальное страхование от несчастного случая
Выплаты на социальное страхование от несчастного случая (далее Нн.с)
Нн.с = (ЗПосн + ЗПдп) * Нн.с,
Где: Нн.с - ставка по выплатам на социальное страхование от несчастного случая, которая берётся 1,2%.
Итого сумма отчислений на Нн.с составит:
Нн.с=(78 153,8 + 9 378,45)*0,2/100=175,06 руб.
Затраты по использованию INTERNET
Затраты составляют 500 рублей.
Расходы на управление и хозяйственное обслуживание:
В данную статью затрат входят:
- отчисления во внебюджетные фонды аппарата управления и хозяйственных служб;
- затраты на содержание, ремонт зданий, сооружений, оборудования и инвентаря;
- расходы по охране труда, научно-технической информации;
- транспортные расходы;
- командировочные;
- отчисления в дорожные фонды.
Величина нормативов расходов определяется в расчетно-финансовой группе. Накладные расходы вычисляются по формуле:
Нрасх = ЗПосн * Нн.р / 100,
где: Нрасх - величина накладного расхода, руб.;
ЗПосн - основная заработная плата;
Нн.р - норматив накладных расходов, в процентах (80%).
В итоге получим:
Нрасх = 78 153,8 *80/100 = 62 523,04 руб.
4.7 Заключение
На основании полученных данных составляется смета затрат на выполнение работ.
Таблица 3. - Смета затрат на выполнение проекта
Наименование статей затрат |
Сумма, руб. |
|
Основная заработная плата |
78 153,8 |
|
Дополнительная заработная плата |
9 378,45 |
|
Стоимость материалов и покупных изделий |
280 |
|
Отчисления на социальные нужды ЕСН |
20 413,77 |
|
Затраты на электроэнергию |
1 337,9 |
|
Использование прикладных программ |
4 126,75 |
|
Выплаты на социальное страхование от несчастного случая |
175,06 |
|
Затраты на использование INTERNET |
500 |
|
Расходы по управлению и хозяйственное обслуживание |
62 523,04 |
|
Амортизация оборудования |
8 095,25 |
Итого общая стоимость выполнения проекта составляет: 184 983,30 рубля.
5. Безопасность и экологичность проекта
5.1 Безопасность программного продукта
интерфейс визуальный программирование компонента
В соответствии с требованиями ГОСТ 12.0.001 /1/, ГОСТ 12.0.003 /2/ и ГОСТ 12.2.003 /3/ безопасность оборудования и производственных процессов на предприятиях обеспечивают:
1) выбором применяемых технологических процессов, а также приёмов, режимов работы и порядка обслуживания производственного оборудования;
2) выбором производственных помещений и площадок;
3) выбором исходных материалов и производственного оборудования;
4) размещением оборудования и организацией рабочих мест;
5) выбором способа хранения и транспортирования исходных материалов и готовой продукции;
6) выполнением эргономических и эстетических требований;
7) профессиональным отбором и обучением персонала;
8) включением требований безопасности в нормативно-техническую и технологическую документацию;
9) контролем за соблюдением требований безопасности, правил эксплуатации и трудового законодательства по охране труда работающих.
Идентификация опасностей на рабочих местах.
Работа пользователя персонального компьютера в основном заключается в работе с графическими изображениями, от него требуется отслеживание и анализ информации на экране дисплея.
Монитор является источником широкого спектра физически и психофизически вредных и опасных факторов, уровни которых устанавливаются санитарно-гигиеническими нормами и правилами. Их вредное влияние приводит к снижению трудоспособности и в целом к ухудшению состояния здоровья оператора. Некоторые из этих факторов по своему воздействию имеют разовый характер (пожаробезопасность и т.д.), другие постоянно воздействуют на пользователей (электромагнитное излучение, электростатические поля и т.д.). Пользователь ПК подвержен влиянию большому числу вредных (ВПФ) и опасных производственных факторов (ОПФ):
? блики;
? видимое излучение;
? мерцание экрана;
? монотонность работы;
? низкочастотные электромагнитные поля;
? повышенная или пониженная температура воздуха рабочей зоны;
? повышенная яркость света;
? повышенное содержание положительных ионов в воздухе помещений;
? умственное перенапряжение;
? повышенный уровень шума;
? освещенность рабочей зоны;
? электростатическое поле;
? электрическое напряжение.
Кроме того, большую часть своего рабочего времени оператор находиться в положении сидя, что может вызвать усталость мышц спины и шеи при неправильной или неудобной выбранной позе.
Опасные и вредные производственные факторы характеризуются видом воздействия на человека, а так же периодом воздействия.
Анализ опасных и вредных производственных факторов
Синдром компьютерного стресса. Признаки его появления:
- головные боли;
- воспаление слизистой глаз;
- повышенная раздражительность;
- вялость;
- депрессия.
И более 20 других недомоганий, включенных в 4 группы:
1. Общие недомогания (сонливость, утомляемость);
2. Заболевания глаз (быстрая утомляемость, чувство острой боли, зуд);
3. Нарушение визуального аппарата (пелена, неясность зрения, головные боли, косоглазие, очки становятся «слабыми»);
4. Ухудшение сосредоточенности и работоспособности.
Электромагнитные поля около компьютера. Негативно действуют на центральную нервную систему. В результате: кожные заболевания, угри, прыщи, розовый лишай, сердечнососудистые заболевания, диарея, опухоли, поражение кровяных телец.
При работе с клавиатурой. Из-за эргономических недоработок клавиатуры развивается тендевит - воспаление сухожилий, кисти, запястий, плеча; травматический эпикондевит - воспаление сухожилий, соединительной мышцы предплечья и локтевого сустава; болезнь де Кервина - разновидность тендевита; тендосиновит - воспаление сухожилий основания кисти и запястий; туннельный синдром запястья.
Техническая безопасность оборудования
Для снижения травматизма и во избежание несчастных случаев все используемое оборудование должно иметь сертификат безопасности. При выборе технических средств следует учитывать требования стандартов ГОСТ 12.2.049 /19/, ГОСТ 12.2.064 /5/, ГОСТ 12.2.061 /6/, также к оборудованию должен прилагаться сертификат качества в соответствии с законом РФ «О сертификации продукции и услуг» /7/.
5.2 Методы и принципы обеспечения безопасности труда
Для обеспечения условий безопасности труда пользователя ПК следует использовать следующие методы:
? защита расстоянием;
? приведение параметров окружающей среды в нормативное состояние;
? использование средств индивидуальной защиты.
Основным источником ОПФ и ВПФ является дисплей монитора, так как характер работ над проектом связан с отслеживание и анализом информации на дисплее. При использовании первого метода обеспечения безопасности не полностью исключается вредное воздействие дисплея, поэтому следует уделить особое внимание приведению параметров окружающей среды в нормативное состояние. Средства защиты, которые на современном этапе своего развития достигли весьма высокого уровня, также способны значительно снизить уровень ОПФ и ВПФ.
Безопасность исходных материалов
Исходными материалами являются бумажные изделия (к ним относятся техническое задание на разработку системы, справочная литература), пластмассовые изделия (носители информации в виде компакт дисков). В соответствии с ГОСТ 12.1.007 /8/ данные материалы является относительно безопасными.
Обеспечение благоприятного светового климата
Нормирование светового климата производится в соответствии с ГОСТ Р 50923 /9/, СНиП 23-05 /10/ и зависит от характера производимых работ. Согласно этим нормам работа оператора относится к высокой и средней точности - 3 - 4 разряда. Оптимальная освещенность в этом случае, согласно /9/, должна быть 300 - 500 лк. Исходя из условий зрительной работы, в соответствии с /10/ оптимальным будет общее равномерное искусственное освещение и естественное освещение. Применение одного местного освещения недопустимо.
Для обеспечения благоприятного светового климата необходимо руководствоваться действующими санитарными нормами:
а) помещения с ПК должны иметь естественное и искусственное освещение;
б) рабочие места пользователей ПК по отношению к световым проемам должны располагаться так, чтобы естественный свет падал сбоку, преимущественно слева;
в) искусственное освещение в помещениях эксплуатации ПК должно осуществляться системой общего равномерного освещения. Допускается применение системы комбинированного освещения;
г) показатель ослепленности для источников общего искусственного освещения в производственных помещениях должен быть не более 20;
д) в качестве источников света при искусственном освещении должны применяться преимущественно люминесцентные лампы типа ЛБ мощностью 40, 65 и 80 Вт. Допускается применение ламп накаливания в светильниках местного освещения;
е) для освещения помещений с ПК следует применять светильники серии ЛП036 с зеркализованными решетками, укомплектованные высокочастотными пускорегулирующими аппаратами (ВЧПРА). Применение светильников без рассеивателей, и экранирующих решеток не допускается;
ж) для обеспечения нормируемых значений освещенности в помещениях использования ПК следует проводить чистку стекол оконных рам и светильников не реже двух раз в год и проводить своевременную замену перегоревших ламп;
з) для обеспечения надежного считывания информации при соответствующей степени комфортности ее восприятия должны быть определены, соответствии с ГОСТ Р 50948-01 /12/, диапазоны визуальных эргономических параметров:
? яркость знака от 35 до 120 кд/м2,
? внешняя освещенность экрана от 100 до 250 лк.
Обеспечение благоприятных микроклиматических условий
Работа оператора ПК характеризуем как 1-ю категорию работ легкую. Оптимальные и допустимые нормы микроклимата для работ категории «легкая 1а» и «легкая 1б» указаны в СанПиН 2.2.4.548 /32/.
Для обеспечения нормальных условий труда все параметры микроклимата нормируются в соответствии с ГОСТ 12.1.005 /13/, СанПин 2.2.4.548 /14/ и учетом /11/. Эти нормы устанавливают оптимальные и допустимые величины температуры, влажности и скорости движения воздуха для рабочей зоны с учетом избытков явного тепла, тяжести выполняемых работ и сезонов года.
Для обеспечения нормируемых параметров микроклимата предусматривается:
? общеобменная искусственная вентиляция в соответствии с требованиями СНиП 2.04.05 /15/;
? кондиционеры в соответствии с /15/;
? отопление в холодный период года в соответствии со СНиП 2.04.07 /15/;
? дежурное отопление в холодный период года, поддерживающее температуру воздуха в пределах 15-160С /15/;
? обеспечение подачи воздуха в помещение на одного работающего не менее 20 м3, но не более 30 м3 /15/.
Защита от шума и вибрации
Уровень шумов на рабочем месте пользователя ПК по /9/ считается допустимым 50 дБА, а в помещениях с шумными агрегатами вычислительных систем (принтеры и т.п.) - 80 дБА.
Основными источниками шума в помещениях являются:
а) Работающие вычислительные машины, принтеры;
б) Центральная система вентиляции и кондиционеры;
в) Светильники с лампами дневного света.
Защиту от шума, создаваемого на рабочих местах внутренними источниками, а также, проникающего извне, следует предусмотреть за счет:
а) Применения средств индивидуальной защиты (наушники);
б) Рациональной планировки помещения;
в) Режима труда и отдыха;
г) Акустической обработки помещения.
Печатающие устройства устанавливают на звукопоглощающую поверхность автономно от рабочего места оператора.
Шумное оборудование (принтеры и т.п.), уровни шума которого превышают нормированные, должно находиться вне помещения с ПК.
Акустическая обработка помещения в соответствии с требованиями /11/ может заключаться в отделке помещения звукопоглощающими материалами с максимальным уровнем звукопоглощения в области частот от 31,5 до 8000 Гц.
Наиболее рациональной мерой является уменьшение шума в источнике. Конструкторское решение системных блоков снижает уровень шума до минимума. Появление посторонних шумов, в основном, вызваны попаданием инородных тел в область работы вентиляторов. Для устранения подобных источников шума следует предусмотреть профилактический осмотр аппаратуры и ограничение доступа неквалифицированных работников.
От внешних источников шума следует применять звукоизоляцию. В качестве материалов ограждающих конструкций применяют строительные материалы (кирпич, стеклоблоки), а также дерево и твердые пластмассы.
При работе с ПК вибрация не превышает допустимых норм.
Подобные документы
Разработка среды структурно-визуального программирования с возможностью решения пользовательских задач в операционной системе по средствам использования готовых компонент. Организация упрощенного проектирования на основе алгоритмических примитивов.
дипломная работа [2,3 M], добавлен 12.04.2012Расчет трансформатора питания. Численное решение нелинейных уравнений с заданной точностью и дифференциальных уравнений первого порядка. Разработка программы с использованием средств визуального программирования на алгоритмическом языке программирования.
курсовая работа [1,2 M], добавлен 17.08.2013Специфика визуального подхода к программированию, языки и среды программирования, которые поддерживают его возможности. Классификация языков визуального программирования. Объектная модель (иерархия классов VBA), используемая в MS Word и в MS Excel.
контрольная работа [965,6 K], добавлен 27.04.2013Разработка структуры класса "Экран курсового проектирования", которая будет основой для хранения информации о студентах, выполняющих курсовые работы. Реализация визуального приложения для тестирования иерархии классов на языке программирования С++.
курсовая работа [3,3 M], добавлен 18.03.2011Разработка программы по оформлению заказов на билеты Оренбургского государственного областного драматического театра им. Горького. Использование объектно-ориентированного программирования и реализация проекта в среде визуального программирования Delphi 7.
курсовая работа [6,3 M], добавлен 12.11.2014Методы, подходы, принципы, интерфейс Lazarus и Delphi. Технические различия, ход установки и коммерческий доступ к продуктам среды визуального программирования. Установление дополнительных компонент программы, их совместимость с операционными системами.
курсовая работа [4,1 M], добавлен 14.03.2012Теоретические основы объектно-ориентированного языка программирования Delphi, изучение среды визуального проектирования приложений. Определение 40-го числа Фибоначчи, составление листинга и блок-схемы программы, тестирование ее на работоспособность.
курсовая работа [261,1 K], добавлен 25.03.2015Разработка программы для сбора и анализа информации об автобусах на парковке. Назначение и область применения. Алгоритм в словесной форме. Состав технических и программных средств. Разработка приложения в среде визуального программирования C++Builder 6.
курсовая работа [1,5 M], добавлен 06.09.2014Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.
курсовая работа [500,4 K], добавлен 13.01.2015Разработка визуального интерфейса пользователя, на основе экранных форм среды Delphi и визуальных компонент. Основные типы данных, используемые в программе MD 5 Calc. Однонаправленные хэш-функции. Процесс хэширования MD5, возможности его применения.
курсовая работа [433,1 K], добавлен 28.08.2012