Разработка программы автоматизации процесса регистрации и обработки данных для конкретной организации
Расчет издержек предприятия на разработку программного продукта и экономической эффективности от его внедрения. Топология физических связей и структуризация сети. Характеристика программного обеспечения. Средства автоматизации, описание алгоритма задачи.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 05.11.2015 |
Размер файла | 867,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Название PHP - рекурсивная аббревиатура, означающая "PHP: Hypertext Preprocessor" (ранее акроним расшифровывался как "Personal Home Page Tools"). Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.
В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) написал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl - интерпретатора скриптов - перестало хватать, и Лердорф написал на языке C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter - "Личная Домашняя Страница / Интерпретатор форм". PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных в стиле Perl ($имя_переменной для вывода значения), автоматическую обработку форм и встраиваемость в HTML-текст и многое другое. Новорожденный язык отличался от своего прародителя более простым и ограниченным синтаксисом.
В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C - PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.
PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году два израильских программиста, Энди Гутманс (Andi Gutmans) и Зээв Сураски (Zeev Suraski), разработчики из израильского технологического института, расположенного в Хайфе, Израиль, переписали код с нуля: PHP/FI 2.0 был сочтён ими непригодным для разработки приложения электронной коммерции, над которым они в то время работали. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.
Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.
Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто PHP.
К концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали о том, что они работают с использованием этого языка. В то время PHP 3.0 был установлен приблизительно на 10 % веб-серверов Интернета.
PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.
PHP 4.0. К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.
Новый движок, названный Zend Engine (от имён создателей, Зива и Энди, также основателей Zend Technologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Прекращение выпуска обновлений PHP 4 было запланировано на конец 2007 года. Однако вплоть до 8 августа 2008 года выпускались критические обновления безопасности. С 9 августа 2008 года всякая поддержка версии PHP 4. x была прекращена.
PHP 5.0. Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент стабильной и наиболее популярной является версии PHP 5. xx.
1 августа 2008 года анонсирована первая альфа-версия PHP 5.3.0, которая содержит ряд изменений и дополнений:
- Пространство имен
- Позднее статическое связывание и специальный метод __callStatic ()
- Анонимные функции
- Addition of the intl, phar (phar is scheduled for some more work a head of alpha2), fileinfo and sqlite3 extensions
- Optional cyclic garbage collection
- Optional support for the MySQLnd replacement driver for libmysql
- Отмена поддержки версий операционной системы до Windows 2000 (Windows 98, NT4, и. т.д.)
- Новые синтаксические конструкции, такие как NOWDOC, ограниченный GOTO, короткий вид тернарного оператора "?: "
PHP 6.0. Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и "длинных" суперглобальных массивов, удаление директив safe_mode, php_magic_quotes и register_globals из конфигурационного файла php. ini. Также много внимания уделено поддержке Юникода. Загрузить текущую версию разрабатываемого кода для GNU/Linux/BSD и скомпилированные версии для Microsoft Windows можно на сайте PHP Snapshots.
Синтаксис PHP. Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для работы программы не требуется описывать какие-либо переменные, используемые модули, и т.п. Любая программа может начинаться непосредственно с оператора PHP.
PHP исполняет код, находящийся внутри ограничителей, таких как <? php? >. Всё, что находится вне ограничителей, выводится без изменений. В основном, это используется для вставки PHP-кода в HTML-документ.
Помимо ограничителей <? php? >, допускается использование дополнительных вариантов, таких как <?? > и <script language="php"> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %> (конструкции <?? > и <% %> могут быть выключены в конфигурационном файле php. ini).
Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).
PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев.
PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).
Типы данных PHP. PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляется неявно без дополнительных усилий (впрочем PHP предоставляет широкие возможности и для явного преобразования типов).
К скалярным типам данных относятся:
- целый тип (integer);
- вещественный тип данных (float, double);
- логический тип (boolean);
- строковый тип (string);
- специальный тип NULL.
К нескалярным типам относится:
- "ресурс" (resource);
- массив (array);
- и объект (object).
Диапазон целых чисел (integer) в PHP зависит от платформы (обычно это диапазон 32-битных знаковых целых чисел, то есть от ?2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7Ч10-308 до ±1.7Ч10+308).
PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE ("истина") и FALSE ("ложь"). При преобразовании в логический тип число 0, пустая строка, ноль в пустой строке "0", NULL и пустой массив считаются FALSE. Все остальные значения автоматически преобразуются в TRUE.
Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset ().
Ссылки на внешние ресурсы имеют тип "ресурс" (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т.п.
Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными.
Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.
Обращение к переменным и функциям. Обращение к переменным осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций. Например:
$a = 'I am a'; // Запись значение в переменную $a
echo $a; // Вывод переменной $а
$b = 'a';
echo $$b; // Вывод переменной $а
$c = 'function_name';
$c (); // Вызов функции function_name
$d = 'Class_name';
$obj = new $d (); // Создастся объект класса Class_name
$obj->b; // Обращение к полю b объекта
$obj->c (); // Вызов метода c () объекта
// но:
$obj->$b; // Обращение к полю a объекта, т.к. $b = 'a'
$obj->$c (); // Вызов метода function_name () объекта
Суперглобальные массивы. Суперглобальными массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т.п.).
Все суперглобальные массивы кроме $GLOBALS и $_REQUEST имеют устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET ['year'] и $HTTP_GET_VARS ['year'] идентичны.
$GLOBALS
Массив всех глобальных переменных (в том числе и пользовательских).
$_SERVER (устаревший аналог - $HTTP_SERVER_VARS)
Содержит переменные окружения, которые операционная система передает серверу.
$_ENV (уст. $HTTP_ENV_VARS)
Текущие переменные среды (англ. Environment variables). Их набор специфичен платформы, на которой выполняется скрипт.
$_GET (уст. $HTTP_GET_VARS)
Содержит параметры GET-запроса, переданные в URI после знака вопроса "?".
$_POST (уст. $HTTP_POST_VARS)
Ассоциативный массив значений полей HTML-формы при отправки методом POST. Индексы элементов соответствуют значению атрибута name элементов управления HTML-формы.
$_FILES (уст. $HTTP_POST_FILES)
Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс идентичный значению атрибута "name" в форме и, в свою очередь, также является массивом со следующими элементами:
['name'] - исходное имя файла на компьютере пользователя.
['type'] - указанный агентом пользователя MIME-тип файла. PHP не проверяет его и поэтому нет никаких гарантий что указанный тип соответствует действительности.
['size'] - размер файла в байтах.
['tmp_name'] - полный путь к файлу во временной папке. Файл необходимо переместить оттуда функцией move_uploaded_file. Загруженные файлы из временной папки PHP удаляет самостоятельно.
$_COOKIE (уст. $HTTP_COOKIE_VARS)
Ассоциативный массив с переданными агентом пользователя значениями кук.
$_REQUEST
Содержит элементы из массивов $_GET, $_POST, $_COOKIE. С версии PHP 4.1 включает $_FILES.
$_SESSION (уст. $HTTP_SESSION_VARS)
Содержит данные сессии.
Объектно-ориентированное программирование. PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.
Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основные механизма ООП - инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.
Классы в PHP имеют ряд специальных методов (англ. Magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct (), в ранних версиях конструктором служил метод, одноименный с классом) и деструктор (__destruct ()), а также методы чтения (__get ()) и записи (__set ()), свёртывания (__sleep ()) и развёртывания (__wake ()), клонирования (__clone ()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно легко добиться существенного изменения поведения объекта.
Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием символов - >. Для доступа к членам класса из его методов используется переменная $this.
2.2.2 PHP Expert Editor 3.3
Простой в использовании PHP редактор, разработанный специально для PHP мастеров. PHP Expert Editor имеет встроенный HTTP сервер и отладчик для запуска и отладки PHP скриптов, проверка синтаксиса PHP, встроенный браузер, FTP клиент, файл эксплорер, настраиваемые шаблоны кода, три режима подсветки кода (PHP & HTML, HTML only, PHP only), функции быстрой навигации в PHP коде и другое.
2.2.3 EMS SQL Manager for MySQL
EMS SQL Manager for MySQL - это высокопроизводительная программа для разработки и администрирования баз данных MySQL. SQL Manager for MySQL работает с любыми версиями MySQL, начиная с версии 3.23 поддерживает все самые новые функции MySQL, включая триггеры, представления, хранимые процедуры и функции, внешние ключи для таблиц InnoDB, UNICODE данные и другие. SQL Manager for MySQL позволяет быстро и просто создавать и редактировать все объекты баз данных MySQL, визуально проектировать базы данных MySQL, выполнять сценарии SQL, импортировать и экспортировать базы данных MySQL, управлять пользователями и их привилегиями, а также предоставляет множество полезных инструментов для эффективного администрирования MySQL.
2.2.4 Apache 2.0
Apache HTTP-сервер (сокращение от англ. a patchy server) - свободный веб-сервер. С апреля 1996 и до настоящего времени является самым популярным HTTP-сервером в Интернете. По статистике Netcraft, в августе 2007 года он работал на 51 % всех веб-серверов, в марте 2009 года - на 49 %.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т.д. Поддерживает IPv6.
Недостатком наиболее часто называется отсутствие удобного стандартного интерфейса для администратора.
Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию "a patchy" (англ. "заплаточный"), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3 В дальнейшем, с версии 2. х сервер был переписан заново и теперь не содержит кода NCSA, но имя осталось. На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности.
Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.
Apache 2.0 работает быстрее и надёжнее на отличных от UNIX платформах, таких как BeOS, OS/2 и Microsoft Windows. С введением новых специфичных для каждой платформы мульти-процессных модулей (MPMs) и библиотеки Apache Portable Runtime (APR), эти платформы теперь поддерживаются с помощью их собственных API, что позволяется избежать введения зачастую неправильно работающих из-за большого количества ошибок POSIX - эмулирующих слоёв.
2.3 Описание алгоритма задачи
Рисунок 2.1 Взаимодействие модулей
2.4 Руководство программиста
2.4.1 Создание базы данных в MySQL
Для создания базы данных в MySQL использовался SQL Manager 2005. База данных получила название "Demands", т.е. "Заявки". База данных "Demands" имеет в своей структуре 7 таблиц, из котрых 4 являются справочными. На рисунках 2.2 - 2.8 изображены структуры этих таблиц и справочников.
Описание таблиц базы данных "Demands" и их структуры:
1. demand - содержит номер, важность заявки, фамилию, номер телефона, подразделение заявителя, время, отведенное на выполнение заявки, время принятия заявки, номер компьютера заявителя, причину заявки, фамилия исполнителя (рис. 2.2):
2. performers - содержит тип, логин и пароль каждого исполнителя:
3. stages - содержит стадию приема заявки, т.е. кем выполнена заявка и в какое время:
4. faults (содержит поля id_fault, fault) - справочник, содержащий список возможных неполадок компьютера:
5. duration (содержит поля id_duration, duration) - справочник, содержащий список периодов времени, отведенных на выполнение заявки:
6. subdivisions (содержит поля id_subdivision, subdivision) - справочник, содержащий список подразделений АО "ССГПО":
7. priorities (содержит поля id_ priority, priority) - справочник, содержащий список приоритетов выполнения заявок:
2.4.2 Схема данных
Схема данных была создана средствами Microsoft Access 2003 (рис. 2.9)
2.4.3 Создание приложения в PHP
Приложение было написано на языке программирования PHP, при помощи редактора PHP Expert Editor 3.3 При создании приложения использовались следующие функции:
Зарезервированные функции:
session_start () - инициализирует данные сессии. Создаёт сессию (или продолжает текущую на основе session id, переданного через GET-переменную или Cookies). Если вы хотите использовать именованную сессию, то необходимо сначала вызвать session_name () до вызова session_start (). Эта функция всегда возвращает TRUE. Session_start () регистрирует внутренний обработчик вывода для URL, перезаписывая, если trans-sid включена. Если пользователь использует ob_gzhandler или ob_start (), порядок обработчика вывода важен для обеспечения правильного вывода.
mysql_connect () устанавливает соединение с сервером MySQL. Следующие значения по умолчанию установлены для отсутствующих параметров: server = 'localhost: 3306', username = имя пользователя владельца процесса сервера и password = пустой пароль.
Если второй вызов функции произошёл с теми же аргументами mysql_connect (), новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect () открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. Соединение с сервером будет закрыто при завершении исполнения скрипта, если до этого оно не будет закрыто с помощью функции mysql_close ().
mysql_select_db () устанавливает текущую активную БД на сервере, ассоциированную со специфицированным идентификатором. Если link_identifier не специфицирован, принимается последняя открытая ссылка. Если такой ссылки нет, функция пытается установить ссылку, как при вызове mysql_connect () без аргументов, и использует её. Каждый последующий вызов mysql_query () будет делаться на активной БД. Возвращает TRUE при успехе, FALSE при неудаче.
mysql_query () отправляет запрос текущей активной БД на сервере, ассоциированной со специфицированным идентификатором ссылки /link_identifier. Если link_identifier не специфицирован, принимается последняя открытая ссылка. Если такой ссылки нет, функция пытается установить ссылку, как при вызове mysql_connect () без аргументов, и использует её.
mysql_fetch_array () расширенная версия функции mysql_fetch_row (). В дополнении к хранению значений в массиве с численными индексами, функция возвращает значения в массиве с индексами по названию колонок. Если несколько колонок в результате будут иметь одинаковые названия, последняя колонка будет возвращена. Чтобы получить доступ к первым, используйте численные индексы массива или алиасы в запросе. Возвращает массив с обработанным рядом результата запроса, или FALSE, если рядов больше нет.
session_register () принимает переменное количество аргументов, любой из которых может быть строкой с именем переменной или массивом, состоящим из имён переменных или других массивов. Для каждого имени session_register () регистрирует глобальную переменную с этим именем в текущей сессии. Эта функция возвращает TRUE, когда все переменные успешно зарегистрированы в сессии. Если session_start () не вызывалась до вызова данной функции, будет сделан неявный вызов session_start () без параметров. Вы можете также создать переменную сессии, просто установив соответствующего члена массива $_SESSION или $HTTP_SESSION_VARS (PHP < 4.1.0).
include_once () подключает и вычисляет специфицированный файл в ходе выполнения скрипта. Поведение аналогично оператору include (), но, если код файла уже был подключён, он не будет подключён вновь. Как следует из названия, он будет подключён только однократно.
header () используется для отправки необработанных HTTP-шапок. Необязательный параметр replace указывает, должна ли шапка замещать предыдущую аналогичную шапку, или нужно добавить вторую header того же самого типа. По умолчанию выполняется замещение, но, если вы передаёте FALSE в качестве второго аргумента, вы можете форсировать создание нескольких headers одного типа. В данном случае:
header ('WWW-Authenticate: Basic realm="ИВЦ ЦИТ"');
header ('HTTP/1.0 401 Unauthorized');
Незарезервированные функции:
connect () - функция подключения к базе данных MySQL.
content () - отображение контента, т.е. структуры сайта.
show_running () - отображение всех выполненных заявок.
show_demand () - отображение входящих и принятых в работу заявок.
add_demand () - функция добавления новой заявки.
stage_demand () - функция изменения стадии, на которой в данный момент находится заявка.
2.5 Руководство пользователя
При запуске программы открывается окно аутентификации пользователя (рис. 2.10). В программе имеется два вида пользователей, 1 - пользователи с полными правами доступа, и 2 - пользователи с ограниченными правами доступа.
В данном случае вход производится под диспетчером, он имеет полные права доступа, поэтому при входе на сайт ему откроется следующая страница:
На рисунке 2.11 видно, что все заявки делятся на три категории - входящие, принятые и выполненные. В категорию входящие добавить новую заявку может только диспетчер, имеющий полные права доступа к программе, а системный администратор может их только просмотреть и принять в работу.
При поступлении новой заявки диспетчер нажимает "Новая заявка", открывается форма ввода заявки (рис.2.12). На основании полученной от пользователя информации диспетчер заполняет форму данными. Здесь ему необходимо указать фамилию пользователя, номер его телефона, подразделение пользователя, на котором он работает, номер компьютера, класс неисправности, важность выполнения, и время, отведенное на выполнение заявки. Также на форме имеется поле для комментария, в котором диспетчер может более подробно описать неисправность. По завершению заполнения формы заявки, диспетчер назначает ее системному администратору.
Назначение заявки происходит в зависимости от специализации системного администратора, специализацию можно просмотреть на этой же странице (рис. 2.13).
В разделе "Отчеты" (рис. 2.14) можно отфильтровать все выполненные заявки по различным параметрам, необходимым пользователю. Возможные параметры: исполнитель, заявитель, подразделение, приоритет, причина, время, отведенное на выполнение заявки, а также, можно отобрать заявки, выполненные за указанный период времени.
Архив (рис. 2.15) представляет собой хранилище выполненных заявок. Заявки в архив поступают автоматически через три дня после их выполнения. При входе в архив диспетчер видит список годов, нажав на нужный год, открывается список месяцев, выбрав нужный месяц можно просмотреть все заявки выполненные за этот месяц.
Помимо принятия заявок от пользователей и распределения их между системными администраторами в обязанности диспетчера также входит добавление данных в программу о новых сотрудниках лаборатории, назначение им логина и пароля для входа в программу. Для этого диспетчеру необходимо войти в раздел "Администрирование" (рис. 2.16).
По нажатии "Добавить пользователя" открывается форма следующего вида:
Здесь диспетчер задает новому сотруднику логин и пароль для входа в программу, дает ему права доступа, и указывает его специализации. В случае если пароль и подтверждение пароля не совпадают появится окно предупреждения:
При входе в программу под аккаунтом системного администратора главная страница выглядит следующим образом:
Из рисунка 2.19 видно, что для системного администратора не отображаются ссылки "Новая заявка", "Отчеты", "Архив" и "Администрирование", т.е. он не имеет прав доступа к данным разделам. При входе в программу он просматривает входящие заявки (рис. 2.20), и те заявки, в которых в графе "Исполнитель" указана фамилия данного системного администратора, принимает в работу, нажав на кнопку "Принять в работу".
После принятия в работу входящей заявки, она автоматически перемещается в принятые заявки, где ее также можно просмотреть. После выполнения принятой заявки, системный администратор нажимает "Сделано" и заявка автоматически перемещается в выполненные заявки, хранится там три дня, затем перемещается в архив.
3. Экономическая часть
3.1 Характеристика программного продукта с экономической точки зрения
На основании анализа рынка программных продуктов было выяснено, что для АО "ССГПО" необходимо разработать уникальную систему автоматизации работы диспетчера и системных администраторов лаборатории информационных технологий диспетчерского управления. При этом выяснилось, что программные продукты способные решать поставленную задачу имеют цену, как минимум на порядок выше, чем инвестиции в предлагаемый продукт.
Данный комплекс не представляет собой широко тиражируемый продукт, поскольку: во-первых, круг предприятий подобного масштаба и специализации достаточно не велик и, во-вторых, необходим процесс внедрения на каждое конкретное предприятие, что предполагает временное рабочее место на производстве для разработчика или специалиста по внедрению. Последнее необходимо из-за возможных специфических отличий на рассматриваемом предприятии от предусмотренных в системе возможностей (это не отличие от конкурирующих систем, так как любую подобную систему необходимо настраивать и конфигурировать под конкретное предприятие).
Предлагаемый аппаратно - программный комплекс представляет собой разработку и внедрение программного продукта, позволяющего автоматизировать работу сотрудников лаборатории информационных технологий диспетчерского управления.
Основные характеристики предлагаемого продукта:
- учет поступающих заявок;
- упорядоченное распределение обязанностей между сотрудниками отдела;
- повышение эффективности работы;
- сведение к минимуму возможных при учете ошибок.
Достоинства продукта:
- быстрота обработки результатов;
- относительно невысокая стоимость;
- удобство работы диспетчера и системного администратора;
- надежность.
3.2 Характеристика программного продукта с позиции маркетингового синтеза
Маркетинг - одна из систем управления капиталистическим предприятием, предполагающая тщательный учёт процессов, происходящих на рынке для принятия хозяйственных решений. Цель маркетинга - создать условия для приспособления производства к общественному спросу, требованиям рынка, разработать систему организационно-технических мероприятий по изучению рынка, интенсификации сбыта, повышению конкурентоспособности товаров с целью получения максимальных прибылей. Основные функции маркетинга: изучение спроса, вопросов ценообразования, рекламы и стимулирования сбыта, планирование товарного ассортимента, сбыта и торговых операций, деятельность, связанная с хранением, транспортировкой товаров, управлением торгово-коммерческим персоналом, организацией обслуживания потребителей.
Характеристика программного продукта с позиции маркетингового синтеза по замыслу:
Возможность учета заявок, поступающих от пользователей со всего предприятия, их исполнение в указанные сроки, хранение в электронном архиве. Хранение заявки позволяет отследить дату и время ее поступления, ее заявителя и исполнителя, за счет чего отслеживается качество работы системного администратора, и скорость выполнения заявки.
Характеристика программного продукта с позиции маркетингового синтеза в реальном исполнении:
Данный программный продукт доступен только сотрудникам ЛИТДУ предприятия АО "ССГПО". В случае обнаружения неполадок работы компьютера на своем рабочем месте (физическая поломка или сбой работы программного обеспечения), пользователь сообщает об этом диспетчеру отдела ЛИТДУ. Диспетчер принимает и заполняет в нужной форме заявку и назначает ее системному администратору, который в необходимый срок должен выполнить заявку и отписаться о проделанной работе в журнале заявок.
Характеристика программного продукта с позиции маркетингового синтеза с подкреплением спроса:
Данная система разрабатывалась на основе анализа предприятия АО "ССГПО" и внедряется на нем разработчиком. В процессе системного анализа были выявлены особенности подобного типа предприятий, но при небольших перенастройках она может с успехом использоваться на подобных предприятиях.
3.3 Затраты на разработку программного продукта
При создании комплекса программ важнейшей задачей является максимизация экономической эффективности функционирования. Каждая фирма в определении своей стратегии ориентируется на получение максимальной прибыли. В то же время любое производство товаров или услуг немыслимо без затрат. На приобретение факторов производства фирма осуществляет конкретные затраты. При этом она будет стремиться использовать такой производственный процесс, при котором заданный объём производства будет обеспечиваться с наименьшими затратами на применяемые факторы производства.
Предприятие платит налоги, сборы, производит отчисления в различные целевые и внебюджетные фонды, которые относятся на себестоимость продукций. Сумма издержек производства и реализации, налогов, сборов и обязательных отчислений в целевые внебюджетные фонды образует издержки предприятия или полную себестоимость продукции.
Основной целью планирования себестоимости является выявление и использование имеющихся резервов снижения издержек производства и увеличение внутрихозяйственных накоплений. Снижая издержки производства в результате сбережения прошлого и живого труда, промышленность добивается наряду с ростом накоплений, увеличения объема, выпуска продукции. Планы по себестоимости должны исходить из прогрессивных норм затрат труда, использования оборудования, расхода сырья, материалов, топлива и энергии с учетом передового опыта других предприятий. Только при научно организованном нормировании затрат можно выявить и использовать резервы дальнейшего снижения себестоимости продукции.
Себестоимость продукции является качественным показателем, характеризующим производственно-хозяйственную деятельность производственного объединения, предприятия. Себестоимость продукции - это затраты предприятия в денежном выражении на ее производство и сбыт.
На уровень себестоимости оказывают влияние следующие факторы:
- уровень затрат на отдельные изделия;
- прямые материальные затраты;
- прямые трудовые затраты;
- уровень затрат по комплексным статьям;
- цены на материалы;
- цены и тарифы на отдельные виды материалов и услуг;
- внутригрупповая структура материалов;
- транспортно-заготовительные затраты;
- цены на продукцию;
- изменение качества продукции;
- изменение спроса на продукцию;
- изменение налоговых ставок.
3.4 Расчет единовременных затрат
Единовременные затраты (Зк) складываются из капитальных затрат (К) и затрат на подготовку кадров (Зпк), которые в нашем случае отсутствуют, поскольку в создании программного продукта участвуют подготовленные специалисты. Капитальные затраты составляют: затраты на приобретение и дооборудование вычислительной техники (Квт), локальных вычислительных сетей (Клвс), затраты на приобретение операционных систем (Кос) и пакетов прикладных программ (Кппп).
Единовременные затраты можно рассчитать по формуле:
Зк = К+З пк = Квт +Клвс + Кппп + Кос + З пк (3.1)
В состав затрат на приобретение вычислительной техники (ВТ), локальных вычислительных сетей (ЛВС), пакетов прикладных программ (ППП), операционных систем (ОС) включаются транспортные расходы и затраты на установку.
Рассмотрим подробнее эти расходы в таблице 3.1.
Таблица 3.1.
Необходимые технические средства и программное обеспечение для разработки и внедрения программного продукта
№ |
Наименование тех. средства и ПО |
Тип или модель |
Поставщик |
Количество |
Стоимость, тг. |
|
1 |
Компьютер |
DualCore Intel Core 2 E8500, 3166 MHz (9.5 x 333) , 2.00 Гб ОЗУ, LCD - монитор 19'' (Samsung) |
Point Computers |
1 |
80000 |
|
2 |
OC |
Windows XP Professional |
Point Computers |
1 |
20000 |
|
3 |
Программное обеспечение |
Сервер S4000MB (S4232LNi): Core 2 Quad Q8200/ 2 Гб/ 2 x 500 Гб SATA RAID |
Point Computers |
1 |
110000 |
|
Итого: |
210000 |
3.5 Расчет текущих затрат на разработку программного продукта
Текущие затраты включают затраты на разработку программы, затраты, связанные с содержанием и эксплуатацией вычислительной техники, используемой при разработке программного продукта, а также затраты на оплату труда программиста.
Текущие затраты на разработку данного программного продукта можно рассчитать по формуле:
С = Зпр + Нз + Змаш + Зс + Зн + Зкр, (3.2)
где С - текущие затраты;
Зпр - затраты на заработную плату персонала;
Нз - начисления на заработную плату;
Змаш - затраты, связанные с использованием машинного времени на разработку и отладку программ;
Зс - затраты на оплату работ, выполняемых другими организациями,
Зн - накладные расходы;
Зкр - процент за пользование кредитом.
Данный программный продукт разрабатывался одним программистом.
Время на системный анализ - 130 часов.
Время на разработку - 320 часов.
Время на внедрение - 120 часов.
Итого - 570 часов.
Заработная плата программиста составляет 131100 тенге.
131100 - 13110 = 117990 тг
Зс = 0, так как другие организации в создании программного продукта не участвовали.
Таблица 3.2.
Потребность в персонале и оплата его труда
Категория персонала |
Количество сотрудников |
Оплата за 1 час, тг |
Требуемое время на разработку ПП, час |
Заработная плата, тг |
|
Программист |
1 |
230 |
570 |
131100 |
|
ИТОГО: |
131100 |
Учитывая, что стоимость машинного часа составляет 8.8 тенге, а время, необходимое для разработки программного продукта - 570 часов, то затраты, связанные с использованием машинного времени составят:
Змаш = Тмаш * Смаш, (3.3)
где Тмаш - машинное время на разработку программного продукта,
Смаш - стоимость одного часа машинного времени,
Таким образом:
Змаш = 570 * 8.8 = 5016 тг
Кредитные средства не используются, поэтому текущие затраты составляют:
С = 131100+27531+5016+65550 = 229197 тг.
3.6 Потребность в инвестициях на разработку программного продукта
После проведенных расчетов необходимо заполнить следующую таблицу:
Таблица 3.3.
Потребность в инвестициях на разработку ПП
Наименование затрат |
Формула для расчета |
Сумма (тг) |
|
1. Единовременные затраты (Зк) |
Зк = К+З пк = Квт +Клвс + Кппп + Кос + З пк |
210000 |
|
2. Текущие затраты (С) |
С = Зпр + Нз + Змаш + Зс + Зн + Зкр |
229197 |
|
Итого затрат (З) |
Зк + С |
439197 |
Под инвестициями понимают совокупность затрат материальных, трудовых и денежных ресурсов, реализуемых в форме вложений капитала в предприятия промышленности, строительства, сельского хозяйства и других отраслей экономики.
Целью инвестиционной деятельности является, в конечном итоге, получение предпринимательского дохода или процента. Инвестиции относительно новый для нашей экономики термин.
Инвестиции подразделяются на финансовые, реальные (прямые) и интеллектуальные. Финансовые инвестиции - вложения в финансовые институты, то есть вложения в акции, облигации и другие ценные бумаги, выпущенные частными компаниями или государством. Реальные инвестиции - вложения частной фирмы или государства, в производство какой либо продукции. Интеллектуальными инвестициями являются вложения в подготовку кадров, передача опыта, лицензий, совместные научные разработки.
Реальные инвестиции состоят из двух различных компонентов. Первый из них - это инвестиции в основной капитал, то есть приобретение вновь произведённых капитальных благ, таких как производственное оборудование, компьютеры и здания производственного назначения. Второй компонент - инвестиции в товарно-материальные запасы, которые представляют собой накопление запасов сырья, подлежащего использованию в производственном процессе, или нереализованных готовых товаров.
В экономической теории используется более узкое понимание термина "инвестиция", чем то, которое употребляется в повседневной жизни. С точки зрения обыденного сознания, приобретение почти любого вида активов считается инвестицией; так, например, можно было бы утверждать, что фирма осуществляет "инвестицию", приобретая обыкновенные акции или старое оборудование. Однако в экономическом смысле ни одна из перечисленных покупок инвестицией не является, поскольку они ничего не добавляют к общей величине запасов капитальных благ или к суммарной величине товарных запасов. Сделки такого рода представляют собой простые переводы активов со счетов одного семейного хозяйства или фирмы на счета другого.
В международной практике план развития предприятия представляется в виде специальным образом оформленного бизнес-плана, который, по существу, представляет собой структурированное описание проекта развития предприятия. Если проект связан с привлечением инвестиций, то он носит название "инвестиционного проекта”. Обычно любой новый проект предприятия в той или иной мере связан с привлечением новых инвестиций. В наиболее общем понимании проект - это специальным образом оформленное предложение об изменении деятельности предприятия, преследующее определенную цель. При выборе инвестиционных проектов необходимо учитывать инфляционные процессы. Инфляция изменяет реальную стоимость поступлений и затрат, причем далеко не всегда в равной пропорции. И при одинаковом, и при различном инфляционном искажении положительных и отрицательных денежных потоков приходится предварительно отдельно корректировать эти потоки по уровню инфляции, а затем уже очищать чистый номинальный денежный поток от влияния инфляционного фактора и получать чистый реальный денежный поток. В этой связи еще на стадии первичного рассмотрения проектов заведомо негодными обычно признаются проекты, рентабельность (норма прибыли) которых ниже уровня инфляции.
Срок жизни проекта - это период (количество лет), в течение которого инвестиции генерируют приток денежных средств. Срок эксплуатации инвестиций в оборудование, как правило, короче физического срока службы этого оборудования. Срок окупаемости проекта - это такой период, требуемый для возмещения начального капитала посредством накопленных чистых потоков реальных денег, генерированных проектом, т.е. наступит такой период времени когда дисконтируемый поток затрат весь окупается дисконтируемым потоком доходов. Проект принимается, если рассчитанный срок окупаемости не превышает срока жизни проекта. Данный критерий должен учитываться при принятии инвестиционного решения. Срок окупаемости - это минимальный временной интервал от начала осуществления проекта, за пределами которого интегральный эффект становиться и в дальнейшем остается не отрицаемым. Определяется бездисконтактный и дисконтактный срок окупаемости. Если доход распределен по годам равномерно, то срок окупаемости рассчитывается делением единовременных затрат на величину годового дохода. Если прибыль распределена неравномерно, то срок окупаемости рассчитывается подсчетом числа лет, в течение которых инвестиция д. б. погашена кумулятивным доходом.
Срок окупаемости инвестиционного проекта - срок со дня начала финансирования инвестиционного проекта до дня, когда разность между накопленной суммой чистой прибыли с амортизационными отчислениями и объемом инвестиционных затрат приобретает положительное значение.
3.7 Расчет срока окупаемости вложенных инвестиций
Необходимо провести расчет срока окупаемости инвестиций после внедрения созданного программного продукта на предприятие.
При внедрении программного продукта численность персонала остается прежней и производительность труда не увеличивается, но происходит замена ручной обработки информации на автоматизированную, что позволяет снизить затраты на обработку информации и облегчить работу диспетчера и системного администратора отдела ЛИТДУ.
Рассчитать годовую экономию от внедрения программного продукта на предприятие можно по формуле:
Эу = Зр - За, (3.4)
где Зр - затраты на ручную работу информации, тг.;
За - затраты на автоматизированную обработку информации, тг.
Затраты на ручную обработку информации определяются по формуле:
Зр = Ои * Ц * Гд / Нв, (3.5)
где Ои - объем информации, обрабатываемой вручную, Мбайт;
Ц - стоимость одного часта работы, тг. /час;
Гд - коэффициент, учитывающий дополнительный затраты времени на логические операции при ручной обработке информации;
Нв - норма выработки, Мбайт/час.
В данном случае:
Ои = 30 Мбайт (Общий размер обрабатываемых данных, вводимых для регистрации за год с последующим подсчетом статистики),
Ц = 230 тг. /час,
ГД = 2,5
Нв = 0,04 Мбайт/час.
Следовательно, затраты на ручную обработку информации будут равны:
Зр = 25 * 230 * 2,5/0,04 = 431250 тг.
Затраты на автоматизированную обработку информации рассчитываются по следующей формуле:
За = ta * Цм + to * (Цм + Цо), (3.6)
где ta - время автоматической обработки, ч.;
Цм - стоимость одного часа машинного времени, тг. /час;
to - время работы оператора, ч.;
Цо - стоимость одного часа работы оператора, руб. /час.
Для данного программного продукта:
Ta = 18 ч.,
Цм = 8 тг.,
To = 83,3 ч.,
Цо = 230 тг.
Рассчитаем время работы оператора:
Для ввода данных оператором в систему понадобится:
1000 случаев * 5 мин. (регистрация 1 случая) = 5000 мин. = 83,3 часа;
Рассчитаем время автоматической обработки:
Для автоматической обработки введенных данных, если получать по 50 заявок в неделю (время получения одной заявки 1 мин.) понадобится 2600 мин. (расчет: 50 * 1 * 52 (количество недель в году) = 2600 = 43 часов в год).
Затраты на автоматизированную обработку информации будут равны:
За = 43 * 8 + 83,3 * (8 + 230) = 20169,4 тг.
Таким образом, годовая экономия от внедрения программного продукта равна:
Эу = 431250 - 20169,4 = 41108,6 тг.
Экономический эффект от использования программного продукта за год определяется по формуле:
Эг = Эу - Ен * ЗТ (3.7)
Эг = 41108 - 0,2 * 439197 = 323241,2 тг.
Эр = Эг * 0,4/ЗТ (3.8)
Эр = 323241,2 * 0,4/439197 = 0,29
Поскольку Эр>0,2 (Ен), разработка является экономически целесообразной.
Можем рассчитать срок окупаемости инвестиций после внедрения программного продукта на предприятие:
То = ЗТ / Эу (3.9)
То = 439197/41108,6 = 1,1 года.
Все затраты предприятия на разработку данного программного продукта окупятся через 1,1 года.
Данный расчет был произведен с учетом единовременных затрат, т.е. затрат на оборудование и программное обеспечение для устройства нормального рабочего места разработчику программного продукта. Если до прихода разработчика на предприятие оборудованное рабочее место имеется, то текущие затраты предприятия на разработку и реализацию программного продукта составят:
Расчет производится по формуле 3.2:
С = 131100+27531+5016+65550 = 229197 тг.
Текущие затраты предприятия составляют 229197 тг.
Срок окупаемости затрат предприятия рассчитывается по формуле 3.9:
То = 229197/41108,6 = 5,57 месяцев.
Текущие затраты предприятия на разработку программного продукта окупятся примерно через 5,5 месяцев.
4. Безопасность жизнедеятельности
4.1 Производственное помещение
Производственное помещение (рабочее место) - это часть пространства, в котором программист осуществляет трудовую деятельность, и проводит большую часть рабочего времени. Рабочее место, хорошо приспособленное к трудовой деятельности программиста, правильно и целесообразно организованное, в отношении пространства, формы, размера обеспечивает ему удобное положение при работе и высокую производительность труда при наименьшем физическом и психическом напряжении.
При правильной организации рабочего места производительность труда программиста возрастает с 8 до 20 процентов.
Согласно ГОСТ 12.2.032-78 конструкция рабочего места и взаимное расположение всех его элементов должно соответствовать антропометрическим, физическим и психологическим требованиям. Большое значение имеет также характер работы. В частности, при организации рабочего места программиста должны быть соблюдены следующие основные условия:
оптимальное размещение оборудования, входящего в состав рабочего места;
достаточное рабочее пространство, позволяющее осуществлять все необходимые движения и перемещения;
необходимо естественное и искусственное освещение для выполнения поставленных задач;
уровень акустического шума не должен превышать допустимого значения.
Главными элементами рабочего места программиста являются письменный стол и стул. Основным рабочим положением является положение сидя. Рабочее место для выполнения работ в положении сидя организуется в соответствии с ГОСТ 12.2.032-78.
Рабочая поза сидя вызывает минимальное утомление программиста. Рациональная планировка рабочего места предусматривает четкий порядок и постоянство размещения предметов, средств труда и документации. То, что требуется для выполнения работ чаще, расположено в зоне легкой досягаемости рабочего пространства.
Моторное поле - пространство рабочего места, в котором могут осуществляться двигательные действия человека.
Максимальная зона досягаемости рук - это часть моторного поля рабочего места, ограниченного дугами, описываемыми максимально вытянутыми руками при движении их в плечевом суставе.
Оптимальная зона - часть моторного поля рабочего места, ограниченного дугами, описываемыми предплечьями при движении в локтевых суставах с опорой в точке локтя и с относительно неподвижным плечом.
Подобные документы
База данных как основа автоматизации. Разработка, описание и реализация программного обеспечения "Точность и правильность методов и результатов измерений для центральной заводской лаборатории ОАО "Акрилат". Листинг, исходные коды программы и базы данных.
дипломная работа [1,0 M], добавлен 23.06.2012Технико-экономическое описание предметной области и разработка программного проекта по автоматизации рабочего места менеджера по клининговым услугам. Разработка этапов внедрения программного продукта и расчет экономической эффективности его внедрения.
дипломная работа [2,1 M], добавлен 12.04.2014Информационное обеспечение задачи автоматизации учета. Программное обеспечение задачи автоматизации учета. Расчет технико-экономической эффективности программного продукта по учету пластиковых карт. Расчет затрат на разработку программного модуля.
дипломная работа [2,1 M], добавлен 10.02.2018Разработка базы данных учета и хранения заявок пользователя. Создание программного средства на основе клиент/серверной технологии. Описание возможностей платформы Tandem Framework. Апробация программы автоматизации процессов подачи и обработки заявок.
дипломная работа [3,6 M], добавлен 08.03.2013Системы управления базами данных и их использование для решения задач автоматизации предприятия. Разработка информационного и программного обеспечения для автоматизации хранения и обработки информации при организации работы агропромышленного предприятия.
курсовая работа [607,1 K], добавлен 07.05.2011Понятие и специфика автоматизированных систем. Описание методики разработки программы для автоматизации. Ее тестирование и отладка. Внедрение АС в работу предприятия. Расчет экономического эффекта от разработки и реализации программного продукта.
дипломная работа [1,4 M], добавлен 23.06.2015Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.
курсовая работа [816,5 K], добавлен 05.02.2018Описание программного продукта, решающего задачу по автоматизации сбора данных, связанных с деятельностью кружка по программированию. Изучение и совершенствование навыков программирования на различных языках среди студентов и школьников старших классов.
дипломная работа [418,3 K], добавлен 10.07.2017Офисные программы, необходимые для автоматизации работы турфирмы. Описание входной и выходной информации, структуры базы данных. Аппаратное и программное средства для функционирования автоматизированной информационной системы, ее работоспособность.
курсовая работа [902,2 K], добавлен 02.05.2017Разработка процесса автоматизации взаимодействия преподавателя и студента через сайт и ведение централизованного процесса обработки данных. Создание графического интерфейса программы и физической модели базы данных. Расчет цены программного продукта.
дипломная работа [6,1 M], добавлен 27.06.2011