База данных отдела маркетинга и сбыта ОАО 'Бобруйсксельмаш'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,21 Мб
  • Опубликовано:
    2012-04-10
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

База данных отдела маркетинга и сбыта ОАО 'Бобруйсксельмаш'

Министерство образования Республики Беларусь

учреждение образования

''Белорусский Государственный Университет

Информатики и Радиоэлектроники''

Кафедра информационных технологий автоматизированных систем

Факультет информационных технологий и управления

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА


К ДИПЛОМНОМУ ПРОЕКТУ (РАБОТЕ)

НА ТЕМУ:

“База данных отдела маркетинга и сбыта ОАО "Бобруйсксельмаш"

ДИПЛОМНИК______________К.А. Расина

РУКОВОДИТЕЛЬ______________С.А. Стоян

КОНСУЛЬТАНТЫ:

по специальности_______________А.М. Севернёв

по технико-экономическому

обоснованию_______________А.Л. Хмелевская

по охране труда и

экологической безопасности_______________К.Д. Яшин

по нормоконтролю_________________Н.В. Хаджинова

РЕЦЕНЗЕНТ:______________



г. МИНСК 2008

СОДЕРЖАНИЕ


Определения, обозначения и сокращения

Введение

. Общесистемная часть

.1 Описание объекта

.2 Постановка задачи

.3 Концептуальная модель системы

. Системы управления базами данных

.1 Общее определение системы баз данных

.2 Назначение баз данных

.3 Преимущества подхода, предусматривающего использование базы данных

.4 Классификация СУБД

.5 Этапы проектирования систем реляционных баз данных

.6 Выбор СУБД

. Описание программных средств разработки приложения

.1 Язык программирования PHP

.2 Скриптовый язык JavaScript

.3 Язык разметки документов HTML

.4 Каскадная таблица стилей CSS

. Руководство пользователя

.1 Руководство программиста

.2 Руководство оператора

. Технико - экономическое обоснование разработки базы данных для отдела маркетинга и сбыта

.1 Характеристика проекта

.2 Расчет сметы затрат и цены программного обеспечения

.3 Расчет экономического эффекта от разработки программного комплекса

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

Заключение

Список использованных источников

Приложение А. Листинг некоторых методов, используемых в программе

ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ

база данный эргономический безопасность

В настоящей пояснительной записке применяют следующие термины с определениями.

Система баз данных - это компьютеризированная система хранения записей, т.е. компьютеризированная система, основное назначение которой хранить информацию, предоставляя пользователям средства ее извлечения и модификации.

Однопользовательская система (single-user system) - это система, в которой к базе данных может получить доступ одновременно только один пользователь.

Многопользовательская система (multi-user system) - это такая система, в которой к базе данных могут получить доступ сразу несколько пользователей.

Транзакция (transaction) - это логическая единица работы (точнее, логическая единица работы базы данных), обычно включающая несколько операций базы данных (в частности, несколько операций модификации данных).

Система управления базами данных (СУБД) - специализированная программа (чаще комплекс программ), предназначенная для манипулирования базой данных.

MySQL − свободная система управления базами данных (СУБД).

SQL (Structured Query Language - язык структурированных запросов) - язык общения с базами данных.

PHP (англ. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста») - язык программирования, созданный для генерации HTML-страниц на веб - сервере и работы с базами данных.

JavaScript - скриптовый язык, чаще всего использующийся при создании сценариев поведения обозревателя, встраиваемых в веб-страницы.

AJAX (от англ. Asynchronous JavaScript and XML - «асинхронный JavaScript и XML») - это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными обозревателя с веб-сервером.

HTML (от англ. Hypertext Markup Language - «язык разметки гипертекста») - это стандартный язык разметки документов в сети Интернет.

ВВЕДЕНИЕ


Неплатежеспособность аграрных предприятий приводит к тому, что многие заводы сельскохозяйственного машиностроения прекращают существование, а некоторые перепрофилируются на выпуск продукции не связанной с сельским направлением техники. Для повышения уровня производственного потенциала и конкурентоспособности продукции промышленности потребуется внедрение достижений научно-технического прогресса. Исходя из общей стратегии долгосрочного развития промышленности, ориентированной на ресурсосберегающий наукоемкий тип воспроизводства, определены приоритетные отрасли и производства - это, прежде всего, информационные технологии. Развитие производств средств связи, электронизации и компьютеризации, оптоволоконной техники позволило активно внедрять информационные технологии при модернизации и техническом перевооружении производственно-технической базы предприятий.

«Старая экономика» строилась на компаниях-производителях, которые стремились к стандартизации производства, продукции и бизнес процессов. Они вкладывали огромные суммы в создание торговых марок, которые подчеркивали преимущества стандартизованного рыночного предложения. Производители рассчитывали, что стандартизация и брендинг увеличат спрос и помогут достичь экономии за счет масштаба. Чтобы управлять своими активами, они создавали жесткую командно-административную систему, которая позволяла превратить бизнес в отлаженный механизм.

«Новая экономика», наоборот, строится на информационном бизнесе. Информация обладает рядом преимуществ: ее можно без труда собрать, персонализировать и дифференцировать. По мере быстрого развития Интернета и других сетевых технологий компаний научились собирать информацию об отдельных потребителях и деловых партнерах (поставщиках, распространителях, продавцах) [1].

Возросший уровень требований к программному обеспечению обусловил появление и развитие различных информационных технологий - взглядов на предметную область со стороны данных (знаний). Формализация информационных потребностей является элементом интеллектуализации современных программных средств, а управление потоком информации в вычислительном эксперименте - важной составляющей частью процесса математического моделирования.

Информационная технология предполагает разработку комфортных средств автоматизации подготовки, хранения и манипулирования данными. Она опирается на использование результатов исследований в области моделирования данных и активного применения технологии проектирования систем баз данных (БД), распространение ее на организацию решения ресурсоемких прикладных задач.

Использование аппарата абстракций и спецификаций при моделировании данных позволяет структуризовать информационные потребности сложных научных приложений, информационная локализованность дает возможность ограничить доступ к внутренним структурам. В результате декомпозиции значительную часть данных удается представить в виде таблиц, графов, деревьев и пр. При этом необходимо сохранение связей и семантического содержания, а инкапсуляция типов данных позволяет надежно защищать внутреннее представление от внешних воздействий.

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

Реляционная модель показала свою привлекательность тем, что обеспечила единообразие хранения данных; осуществила связь между таблицами по ключам; включила реляционно-полный язык запросов; обеспечила легкость понимания, создания и ведения БД; защитила данные на уровне отношений [2].

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

Данная работа является примером применения новейших технологий в области информатизации. Целью работы является построение автоматизированной системы учета данных (в частности компьютерной базы) отдела маркетинга и сбыта предприятия.

Процесс автоматизации представляет собой совокупность методических, языковых, технических и программных средств, позволяющих организовать работу конечных пользователей в некоторой предметной области.

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

1. ОБЩЕСИСТЕМНАЯ ЧАСТЬ

 

.1 Описание объекта


ОАО «Бобруйсксельмаш» - одно из старейших производителей сельхозтехники в Республики Беларусь. Имея более чем 60-летнюю историю, предприятие в последние годы ведет активную политику, направленную на завоевание передовых позиций в сельхозмашиностроении.

Открытое акционерное общество «Бобруйсксельмаш» является ведущим производителем прицепной сельскохозяйственной техники не только в Беларуси и СНГ, но и в странах Балтии. Продукцию предприятия реализуют в Норвегию, Финляндию, Аргентину, США, Канаду, Францию и другие государства. Это одно из немногих предприятий отрасли на постсоветском пространстве, которое не только сохранило, но и продолжает наращивать свой научный, производственный и экспортный потенциал. Внешнеэкономическая деятельность ОАО «Бобруйсксельмаш» определяется экспортом предприятия продукции и импортом сырья как для собственных производственных и социальных нужд, так и для насыщения рынка товарами и услугами.

Основные факторы, которые определяют лидирующее положение «Бобруйсксельмаш», - это традиционно высокое качество выпускаемой продукции и внедрение новейших технологий в сельхозпроизводство. Широкая номенклатура продукции, постоянная работа по модернизации существующих конструкций машин и агрегатов, разработка совместно с ведущими научными учреждениями Беларуси новой техники позволяют своевременно и качественно выполнять заказы сельчан.

Залогом успеха, стратегической основой развития предприятия является:

- четкое понимание нужд сельхозпроизводителей;

-       глубокое исследование рынка;

-       тесное сотрудничество с научными учреждениями, следование их рекомендациям;

-       доверие и уважение к клиентам.

На стадии согласования технического проекта завода были заложены современные технологические процессы, предусматривающие использование высокопроизводительного оборудования, средств механизации и автоматизации.

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

Подобная политика продолжается заводом и в настоящее время: ежегодными планами оргтехмероприятий и новой техники предусматривается дальнейшее совершенствование техпроцессов, оборудования и оснастки.

Сокращение на основе внедрения машин доли неквалифицированного физического труда стало на заводе не только экономической, но и важной социальной задачей. Поэтому вопросы механизации и автоматизации производства постоянно находятся в центре внимания технических служб предприятия.

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

С началом экономических преобразований на территории бывшего Советского Союза коллективу предприятия стало ясно, для того чтобы выжить в новых условиях, необходимо расширять номенклатуру изделий. В настоящее время ОАО "Бобруйсксельмаш" активно ведет работу по продвижению продукции на рынки ближнего и дальнего зарубежья, созданию и внедрению в производство новых видов сельскохозяйственной техники. На данный момент предприятие серийно производит следующие виды продукции:

- косилка КС-Ф-2,1Б-4 с режущим аппаратом 1,6 м и 2,1 м;

-       косилка КДС-4,0;

-   бороны прицепные тяжёлые дисковые БПТД-3, БПТД-3 Э;

-       борона навесная БНД-1,8;

-       полуприцепы тракторные самосвальные ПСТ-7-1Б, ПСН-7;

-       устройство трелёвочное УТ-1 "Паук";

-       прицепы к легковым автомобилям ПА-500 "Фортуна";

-       снегоочиститель навесной ЛС-2,5.00.000;

-       погрузчики специальные монтируемые ПМС-0,8 с навесным оборудованием;

-       широкий спектр товаров народного потребления, мебельной фурнитуры, оборудования для жилищно-коммунального хозяйства.

 

.2 Постановка задачи


ОАО «Бобруйсксельмаш» ведет активную маркетинговую работу по внедрению своей продукции на рынок. Поэтому основной задачей предприятия является сотрудничество с потенциальными клиентами и последующее заключение договоров. Реализацией продукции занимается отдел маркетинга и сбыта. Работа отдела разделяется на две ветви: первая занимается непосредственной работой с клиентами, а другая реализацией продукции. Основной целью маркетингового направления является повышение эффективности и конкурентоспособности отечественной продукции на внешнем и внутреннем рынках, а на этой основе достижения устойчивых темпов развития. При расширении своих позиций на уже освоенных рынках и представлении себя на новых, необходимо знать о состоянии дел в аграрной отрасли стран - потребителей выпускаемой продукции: в какой технике нуждаются потенциальные покупатели, интересоваться уровнем развития конкурентов, какого качества выпускают машины, их преимущества и недостатки. Экспорт немаловажен для предприятия: во многом за счет зарубежных поставок предприятие продолжает существовать. В процессе работы отдел сталкивается с такой проблемой как отсутствие четкой систематизации. Для поиска нужной информации, для выявления более выгодного клиента, для определения статистики наиболее успешно реализуемой продукции по областям и направлениям сбыта требуется большое количество времени. Это обусловлено тем, что все заключенные договора хранятся в одной папке, причем как договора, относящиеся к сбыту продукции, так и договора имеющие интерес для маркетингового направления.

Для более быстрой и продуктивной работы отдела необходимо приложение, которое бы систематизировало внесенную информацию, автоматически выявляла нужную статистику, облегчало поиск по данным. Проектируемое приложение предполагается внедрить в отдел в виде автоматизированного рабочего места, на базе персональной ЭВМ распределённых по отделу и объединенных в локальную сеть. Это будет способствовать тому, что каждый сотрудник будет иметь свободный доступ к этому приложению.

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

1.3 Концептуальная модель системы


Для облегчения работы пользователя с приложением оно должно храниться на сервере. Приложение должно запускаться на каждом компьютере в сети с сервера.

Необходимые для работы приложения данные хранятся в реляционной базе данных. Для исключения необходимости копирования баз данных на локальный компьютер, они должны храниться на том же сервере. Для обработки данных должны быть использованы SQL запросы.

 

2. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

 

.1 Общее определение системы баз данных


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

На рисунке 2.1 показана весьма упрощенная схема системы баз данных. Здесь отражено четыре главных компонента системы: данные, аппаратное обеспечение, программное обеспечение и пользователи.

Рисунок 2.1 - Упрощенная схема системы баз данных

Система управления базами данных (СУБД)

Системы с базами данных применяются как на самых малых компьютерах, так и на крупнейших мэйнфреймах. Несомненно, предоставляемые каждой конкретной системой средства в значительной мере зависят от мощности и возможностей базовой машины. В частности, на больших вычислительных машинах применяются в основном многопользовательские системы ("большие системы"), а на малых компьютерах, как правило, - однопользовательские системы ("малые системы"). Как показано на рисунке 2.1, исходя из соображений общности, мы будем рассматривать именно первый вид систем, хотя с точки зрения пользователей между этими системами фактически не существует большого различия, поскольку основная цель многопользовательских систем состоит в том, чтобы позволить каждому отдельному пользователю работать с ней так, как если бы он работал с однопользовательской системой. Различия между этими двумя видами систем проявляются в их внутренней структуре и потому практически не видны конечному пользователю.

Аппаратное обеспечение системы имеет следующее разделение:

- тома вторичной (внешней) памяти (обычно это магнитные диски), используемые для хранения информации, а также соответствующие устройства ввода-вывода (дисководы и т.п.), контроллеры устройств, каналы ввода-вывода и т.д.;

-   аппаратный процессор (или процессоры) вместе с оперативной (первичной) памятью, предназначенные для поддержки работы программного обеспечения системы баз данных (подробности приведены в следующем подразделе).

Между собственно физической базой данных (т.е. данными, которые реально хранятся на компьютере) и пользователями системы располагается уровень программного обеспечения, который можно называть по-разному: диспетчер базы данных (database manager), сервер базы данных (database server) или, что более привычно, система управления базами данных, СУБД (DataBase Management System - DBMS). Все запросы пользователей на получение доступа к базе данных обрабатываются СУБД. Все имеющиеся средства добавления файлов (или таблиц), выборки и обновления данных в этих файлах или таблицах также предоставляет СУБД. Основная задача СУБД - дать пользователю базы данных возможность работать с ней, не вникая во все подробности работы на уровне аппаратного обеспечения. (Пользователь СУБД более отстранен от этих подробностей, чем прикладной программист, применяющий языковую среду программирования.) Иными словами, СУБД позволяет конечному пользователю рассматривать базу данных как объект более высокого уровня по сравнению с аппаратным обеспечением, а также предоставляет в его распоряжение набор операций, выражаемых в терминах языка высокого уровня (например, набор операций, которые можно выполнять с помощью языка SQL.

Пользователей можно разделить на три большие и, отчасти перекрывающиеся, группы.

Первая группа пользователей - прикладные программисты, которые отвечают за написание прикладных программ, использующих базу данных. Для этих целей применимы такие языки, как COBOL, PL/I, C++, Java, PHP и другие. Прикладные программы получают доступ к базе данных посредством выдачи соответствующего запроса к СУБД (обычно это некоторый оператор SQL). Подобные программы могут быть простыми пакетными приложениями или же интерактивными приложениями, предназначенными для поддержки работы конечных пользователей. В последнем случае они предоставляют пользователям непосредственный оперативный доступ к базе данных через рабочую станцию, терминал или персональный компьютер. Большинство современных приложений относится именно к этой категории.

Вторая группа пользователей - конечные пользователи, которые работают с системой баз данных в интерактивном режиме, как указано в предыдущем абзаце. Конечный пользователь может получать доступ к базе данных, применяя одно из интерактивных приложений, упомянутых выше, или же интерфейс, интегрированный в программное обеспечение самой СУБД. Безусловно, подобный интерфейс также поддерживается интерактивными приложениями, но эти приложения не создаются пользователями - программистами, а являются встроенными в СУБД. Большинство СУБД включает по крайней мере одно такое встроенное приложение, а именно - процессор языка запросов, позволяющий пользователю в диалоговом режиме вводить запросы к базе данных (их часто иначе называют предложениями или командами), например, с операторами SELECT или INSERT. Язык SQL представляет собой типичный пример языка запросов к базе данных. (Общепринятый термин язык запросов не совсем точно отражает рассматриваемое понятие, поскольку слово запрос подразумевает лишь выборку информации, в то время как с помощью этого языка выполняются также операции обновления, вставки, удаления и др.)

Кроме языка запросов, в большинстве систем дополнительно предоставляются специализированные встроенные интерфейсы, в которых пользователь в явном виде не использует предложения, или команды с такими операторами, как SELECT и INSERT. Работа с базой данных осуществляется за счет выбора пользователем необходимых элементов меню или заполнения требуемых полей в предоставленных формах. Такие некомандные интерфейсы, основанные на меню и формах, облегчают работу с базами данных для тех, кто не имеет опыта работы с информационными технологиями (или ИТ; часто употребляется также сокращение ИС - информационные системы; эти понятия практически эквивалентны). Командный интерфейс, т.е. язык запросов, напротив, требует некоторого профессионального опыта работы с ИТ. Однако командный интерфейс более гибок, чем некомандный, к тому же языки запросов обычно включают определенные функции, отсутствующие в интерфейсах, основанных на использовании меню или форм.

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

 

.2 Назначение баз данных


Почему так широко используются системы с базами данных? Какие преимущества получает пользователь при работе с ними? В некоторой степени ответ зависит от того, о какой системе идет речь - однопользовательской или многопользовательской (точнее будет сказать, что многопользовательские системы предоставляют многочисленные дополнительные преимущества). Сначала рассмотрим случай однопользовательской системы.

Преимущества системы с БД по сравнению с традиционным «бумажным» методом ведения учета записей:

-   компактность - нет необходимости в создании и ведении, возможно, весьма объемистых бумажных картотек;

- быстродействие - компьютер может выбирать и обновлять данные гораздо быстрее человека. В частности, с его помощью можно быстро получать ответы на произвольные вопросы, возникающие в процессе работы, не затрачивая времени на визуальный осмотр или поиск вручную;

-       низкие трудозатраты - отпадает необходимость в утомительной работе над картотекой вручную. Механическую работу машины всегда выполняют лучше;

-   актуальность - в случае необходимости под рукой в любой момент имеется точная, свежая информация;

-       защита - данные могут быть лучше защищены от случайной потери и несанкционированного доступа.

Эти преимущества приобретают еще большее значение в многопользовательской среде, где база данных, вероятно, больше и сложнее однопользовательской. Кроме того, многопользовательская среда имеет дополнительное преимущество: система баз данных предоставляет предприятию средства централизованного управления его данными (именно возможность такого управления является наиболее ценным свойством базы данных). Представьте себе противоположную ситуацию: предприятие не использует систему баз данных, поэтому для каждого отдельного приложения создаются свои файлы, чаще всего размещаемые на отдельных магнитных лентах или дисках, в результате чего данные оказываются разрозненными. Систематически управлять такими данными очень сложно.

 

.3 Преимущества подхода, предусматривающего использование базы данных

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

Сокращение избыточности данных - в системах, не использующих базы данных, каждое приложение имеет свои файлы. Это часто приводит к избыточности хранимых данных и, следовательно, к нерациональному использованию пространства вторичной памяти.

Примечание - В данном случае не имеется в виду, что избыточность данных может или должна быть устранена полностью. Иногда веские практические или технические причины требуют наличия нескольких копий хранимых данных. Однако такая избыточность должна строго контролироваться, т.е. учитываться в процессе эксплуатации СУБД. Кроме того, в подобном случае должна быть предусмотрена возможность распространения обновлений.

Устранение противоречивости данных (до некоторой степени) - в действительности это следует из предыдущего пункта. Возьмем пример из жизни. Пусть служащий с табельным номером ЕЗ, работающий в отделе с номером D8, представлен двумя различными записями в базе данных. Предположим, что в СУБД не учтено это дублирование (т.е. избыточность данных не контролируется). Тогда рано или поздно обязательно возникнет ситуация, при которой эти две записи перестанут быть согласованными, после того как одна из них будет изменена, а другая - нет. В этом случае база данных станет противоречивой. Ясно, что противоречивая база данных будет предоставлять пользователю неправильную, противоречивую информацию.

Также очевидно, что если какой-либо факт представлен только одной записью (т.е. избыточность отсутствует), то противоречия исключены. Противоречий можно также избежать, если избыточность не исключается, а контролируется (и это соответствующим образом предусмотрено в СУБД). Тогда СУБД сможет гарантировать, что с точки зрения пользователя база данных никогда не будет противоречивой. Данная гарантия обеспечивается тем, что если обновление вносится в одну запись, то оно автоматически будет распространено на все остальные. Такой процесс называется распространением обновлений (propagating updates).

Возможность поддержки транзакций - например, перевод некоторой суммы денег со счета А на счет В. Очевидно, что в данном случае необходимы два изменения: списание некоторой суммы со счета А и зачисление ее на счет В. Если пользователь укажет, что оба изменения входят в одну и ту же транзакцию, то система сможет реально гарантировать, что либо будут выполнены оба эти изменения, либо не будет выполнено ни одно из них.

Обеспечение целостности данных - задача обеспечения целостности заключается в гарантированной поддержке правильности данных в базе (насколько это возможно). Противоречие между двумя записями, представляющими один "факт", является примером утраты целостности данных. Конечно, эта конкретная проблема может возникнуть лишь при наличии избыточности в хранимых данных. Но даже если избыточность отсутствует, база данных может содержать неправильную информацию. Например, в базе данных может быть указано, что сотрудник отработал 400 рабочих часов в неделю вместо 40, или зафиксирована его принадлежность к отделу, которого не существует. Централизованное управление базой данных позволяет избежать подобных проблем (насколько это вообще возможно). Для этого администратор данных определяет (а администратор базы данных реализует) ограничения целостности (integrity constraints), которые будут применяться при любой попытке внести какие-либо изменения в соответствующие данные.

Отметим также, что целостность данных для многопользовательских систем баз данных даже более важна, чем для среды с "частными файлами", причем именно по той причине, что такая база данных поддерживает совместный доступ. При отсутствии должного контроля один пользователь вполне может неправильно обновить данные, от чего пострадают многие другие пользователи. Следует также сказать, что в большинстве существующих коммерческих СУБД поддержка ограничений целостности развита слабо, хотя в настоящее время в этом направлении наблюдаются некоторые улучшения. Приходится констатировать факт, что ограничения целостности имеют значительно более фундаментальное и важное значение, чем это обычно признается на текущий момент.

Организация защиты данных - благодаря полному контролю над базой данных администратор базы данных (безусловно, в соответствии с указаниями администратора данных) может обеспечить доступ к ней только через определенные каналы. Для этой цели могут устанавливаться ограничения защиты (security constraints), или правила, которые будут контролироваться при любой попытке доступа к конфиденциальным данным. Можно установить различные правила для разных типов доступа (выборка, вставка, удаление и т.д.) к каждому из элементов информации в базе данных. Однако следует отметить, что при отсутствии таких правил безопасность данных подвергается большему риску, чем в обычной (разобщенной) файловой системе. Следовательно, централизованная природа системы баз данных в определенном смысле требует также наличия надежной системы защиты.

Возможность введения стандартизации - благодаря централизованному управлению базой данных администратор базы данных может обеспечить соблюдение всех необходимых стандартов, регламентирующих представление данных в системе. Стандарты могут быть частными, корпоративными, ведомственными, промышленными, национальными и международными. Стандартизация представления данных наиболее важна с точки зрения обмена данными и их пересылки между системами. Кроме того, стандарты именования и документирования данных важны как в отношении их совместного использования, так и в отношении их описания [4].

 

.4 Классификация СУБД


СУБД необходима для создания и управления информационной системой <#"564509.files/image002.gif">

Рисунок 4.1 - Форма входа в систему

Для доступа в систему введите логин и пароль и нажмите на ссылку «Войти». При неверно введенных данных появится предупреждающее сообщение, как показано на рисунке 4.2.

Рисунок 4.2 - Предупреждающее сообщение

В том случае, если вы забыли пароль или логин, необходимо нажать на ссылку «Забыли пароль?», при этом появится форма восстановления пароля, как показано на рисунке 4.3.

Рисунок 4.3 - Форма восстановления пароля

Для восстановления пароля в поле «e-mail» необходимо ввести электронный ящик, на который будет отправлен новый пароль, в поле «Введите проверочное слово» - то, что отображено на картинке, после чего необходимо нажать на кнопку «Получить новый пароль». При неверно заполненных полях появится запись, как показано на рисунке 4.4. После правильного заполнения полей на введенную электронную почту будет выслан новый пароль.

Рисунок 4.4

После авторизации в системе отображается форма договоров, в соответствии с рисунком 4.5.

Рисунок 4.5 - Форма договоров

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

При нажатии на ссылку «Добавить» появляется форма добавления договора, как показано на рисунке 4.6.

Рисунок 4.6 - Форма добавления договоров

Обязательными полями для заполнения являются: номер договора, дата регистрации договора, заказчик, сумма договора и срок исполнения договора, - эти поля подсвечены зеленым цветом и при их не заполнении подсвечиваются красным цветом. При добавлении продукта из выпадающего списка необходимо выбрать продукт, на который заключается договор, а в текстовом поле, рядом с выпадающем списком необходимо вписать количество заказываемых продуктов, если договор заключен не на один вид продукта, тогда необходимо нажать на кнопку плюса и появится ещё одно поле для заполнения, в обратном случае на кнопку минуса. После сохранения внесенных данных появится надпись, как показано на рисунке 4.7. После сохранения договора появляется возможность прикрепления файлов, при необходимости прикрепления нескольких фалов необходимо нажать на кнопку плюс. После выбора прикрепляемых файлов необходимо нажать на кнопку «Сохранить». С данной формы можно перейти к просмотру договора, нажав на ссылку «Просмотреть», назад к списку договоров, нажав на ссылку «Назад», на форму добавления договора по ссылке «Добавить», на форму поиска по ссылке «Поиск».

Рисунок 4.7

С формы просмотра договора можно вернуться в форму редактирования, нажав на ссылку «Редактировать», как показано на рисунке 4.8. Форма редактирования аналогична форме добавления договора.

Рисунок 4.8 - Форма просмотра договора

При нажатии ссылки «Поиск» появляется форма поиска, которая позволяет производить поиск по отдельным полям (рисунок 4.9).

Рисунок 4.9 - Форма поиска по договорам

Для внесения информации о предприятиях необходимо перейти на вкладку «Предприятия». На данной странице отображается список предприятий с возможностью их добавления, редактирования, удаления и поиска по определенным параметрам, как показано на рисунке 4.10.

Рисунок 4.10 - Форма «Предприятия»

При нажатии на ссылку «Добавить предприятие» появляется форма для проверки существования в базе данного предприятия, как показано на рисунке 4.11.

Рисунок 4.11 - Форма проверки наличия предприятия

Если совпадений нет, система выдаст сообщение о том, что предприятия с таким названием не найдено, в противном случае выведет список совпадений. Для создания предприятия необходимо нажать на ссылку «Создать», после чего появится форма добавления предприятия, как показано на рисунке 4.12.

Рисунок 4.12 - Форма добавления договора

Обязательными полями для заполнения являются: название предприятия, УНН, ФИО руководителя, - эти поля подсвечены зеленым цветом и при их не заполнении подсвечиваются красным цветом. После сохранения внесенных данных появится надпись, как показано на рисунке 4.13.

Рисунок 4.13

С данной формы можно перейти к просмотру предприятия, нажав на ссылку «Просмотреть», как показано на рисунке 4.14, назад к списку предприятий, нажав на ссылку «Назад», на форму добавления предприятия по ссылке «Добавить предприятие», на форму поиска по ссылке «Поиск».

Рисунок 4.14 - Форма просмотра предприятия

С формы просмотра предприятия можно вернуться в форму редактирования, нажав на ссылку «Редактировать». Форма редактирования аналогична форме добавления предприятия.

При нажатии на ссылку «Поиск» появляется форма поиска, которая позволяет производить поиск по отдельным полям, как показано на рисунке 4.15.

Рисунок 4.15 - Форма поиска предприятия

Пример поиска показан на рисунке 4.16.

Рисунок 4.16 - Пример поиска предприятия

Для работы с продукцией необходимо перейти на вкладку «Продукция». На данной странице отображается название продукции с возможностью создания новой продукции, редактировании и удалении уже имеющейся, дата создания продукции, поиск по определенным параметрам, как показано на рисунке 4.17.

Рисунок 4.17 - Форма «Продукция»

При нажатии на ссылку «Добавить продукт» появляется форма добавления продукции, как показано рисунке 4.18.

Рисунок 4.18 - Форма добавления продукта

Все поля обязательны для заполнения. После сохранения продукта появляется возможность прикрепления файлов, при необходимости прикрепления нескольких файлов необходимо нажать на кнопку плюс, как показано на рисунке 4.19.

Рисунок 4.19

После выбора прикрепляемых файлов необходимо нажать на кнопку «Сохранить». С данной формы можно перейти к просмотру продукта, нажав на ссылку «Просмотреть», как показано на рисунке 4.20, назад к списку продукции, нажав на ссылку «Назад», на форму добавления продукции по ссылке «Добавить продукт», на форму поиска по ссылке «Поиск».

Рисунок 4.20 - Форма просмотра продукта

При нажатии на ссылку «Редактировать» появляется форма редактирования продукта, которая аналогична форме добавления продукции.

При нажатии на ссылку «Поиск» появляется форма поиска, в которой можно осуществлять поиск по определенным полям. Пример поиска показан на рисунке 4.21

Рисунок 4.21 - Пример поиска продукции

В системе также присутствует глобальный поиск по слову или выражению, как показано на рисунке 4.22.

Рисунок 4.22

В системе существует возможность редактирования личных данных, при нажатии на ссылку «Личные данные». На данной форме все поля обязательны для заполнения, как показано на рисунке 4.23. После заполнения полей необходимо нажать на кнопку «Сохранить».

Рисунок 4.23 - Форма «Личный профиль»

Для окончания работы с системой необходимо нажать на ссылку «Выйти».

5. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ РАЗРАБОТКИ БАЗЫ ДАННЫХ ДЛЯ ОТДЕЛА МАРКЕТИНГА И СБЫТА

 

.1 Характеристика проекта


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

Соответствующими лицами осуществляется обновление информации в соответствии с изменением положения дел, такими как появления новых клиентов, продажа продукции или закупке сырья. При помощи указанных средств автоматизации процесса управления значительно упрощаются такие процессы как документооборот и учет на предприятии, что значительно уменьшает объем бумажных документов, поиск необходимой документации, восстановление необходимых документов и составление новых.

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

База данных для отдела маркетинга и сбыта представляет собой программное обеспечение по управлению работой отдела и отвечает основным требованиям, предъявляемым к такого рода программным продуктам. В данном разделе проводится экономическая оценка разрабатываемого программного средства. Языком разработки приложения выбран язык PHP в связке с системой управления базами данных MySQL.

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

 

.2 Расчет сметы затрат и цены программного обеспечения


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

Широкое применение персональных компьютеров требует постоянного обновления и совершенствования программного обеспечения. Выбор эффективных проектов программного обеспечения требует их экономической оценки и расчета экономического эффекта. Экономический эффект у разработчика выступает в виде роста чистой прибыли (чистого дохода, ЧД) или чистого дисконтированного дохода (ЧДД), научно-технической организации от реализации программного обеспечения. Экономический эффект зависит от объема затрат на разработку проекта, уровня цены на разработанный программный продукт и объема продаж.

Экономический эффект у пользователя выражается в экономии трудовых, материальных и финансовых ресурсов, которая в конечном итоге также через уровень затрат, цену и объем продаж выступает в виде роста ЧД или ЧДД пользователя.

Стоимостная оценка ПО и определение экономического эффекта у разработчика предполагают составление сметы затрат, которая в денежном выражении включает следующие статьи расходов:

-   заработную плату исполнителей, основную и дополнительную;

-       отчисления в фонд социальной защиты населения;

-       налоги, от фонда оплаты труда;

-       материалы и комплектующие;

-       спецоборудование;

-       машинное время;

-       расходы на научные командировки;

-       прочие прямые расходы;

-       накладные расходы.

На основе общей суммы расходов по всем статьям и результатов маркетинговых исследований на рынке программного обеспечения определяется плановая отпускная цена с учетом прибыли (рентабельности) и налогов, включаемых в цену.

В данном дипломном проекте в качестве единиц измерения объема программного обеспечения используется строка исходного кода (LОС). Преимущества использования строк кода как единиц измерения заключаются в том, что эти единицы:

-   отражают сущность труда программистов;

-       широко распространены и могут легко адаптироваться;

-       позволяют выполнять сопоставление размеров программного обеспечения и производительности в различных группах разработчиков;

-       непосредственно связаны с конечным продуктом;

-       могут использоваться для оценки работ до завершения проекта;

-       позволяют автоматизировать сбор данных о количестве LОС от

-       начала до конца проекта;

-   дают возможность учитывать мнение разработчика об объеме

-       программного обеспечения на основе количества написанных строк кода.

Расчет объема программного продукта (количества строк исходного кода) производится на основании информации о функциях разрабатываемого программного обеспечения по каталогу функций (таблица 5.1).

Таблица 5.1 - Характеристика функций и их объем

Номер функции

Содержание функций

Объем функций

101

Организация ввода информации

150

102

Контроль, предварительная обработка и ввод информации

450

109

Организация ввода/вывода информации в интерактивном режиме

320

204

Обработка наборов и записей базы данных

2670

206

Обслуживание базы данных в интерактивном режиме

6950

208

Организация поиска и поиск в базе данных

5480

506

Обработка ошибочных и сбойных ситуаций

410

706

Предварительная обработка и печать файлов

470

707

Графический вывод результатов

480

Итого:

17380


Общий объем () программного продукта определяется исходя из количества и объема функций, реализуемых программой:

, (1)

где  - объем отдельной функции программного обеспечения;- общее число функций.

Общий объем программного продукта составил 17380 строк исходного кода.

По объему программного обеспечения и нормативам затрат труда в расчете на единицу объема определяется нормативная трудоемкость разработки программного обеспечения.

На основании рассчитанного объема ( строк) и категории сложности (вторая категория) определяется нормативная трудоемкость программного обеспечения  чел/дн.

Нормативная трудоемкость служит основой для определения общей трудоемкости. Общая трудоемкость небольших проектов рассчитывается по формуле:

, (2)

где - коэффициент, учитывающий сложность программного обеспечения;

- поправочный коэффициент, учитывающий степень использования при разработке стандартных модулей;

- коэффициент, учитывающий степень новизны программного обеспечения.

Посредством коэффициента сложности учитываются дополнительные затраты труда, связанные со сложностью разрабатываемого программного продукта. Коэффициент сложности рассчитывается по формуле:

, (3)

где - коэффициент, соответствующий степени повышения сложности программного обеспечения за счет конкретной характеристики;- количество учитываемых характеристик.

Вычисляем коэффициент сложности по формуле (3):

.

Степень использования в разрабатываемом программном обеспечении стандартных модулей определяется их удельным весом в общем объеме проектируемого продукта. Программное обеспечение разрабатывалось с использованием библиотек Smarty, библиотек функций prototype, которые составляют 30-40% программного кода, поэтому коэффициент использования при разработке стандартных модулей .

Сравнение характеристик разрабатываемого программного обеспечения с имеющимися аналогами позволяет определить экспертным путем степень его новизны. Коэффициент новизны составляет .

Таким образом, по формуле (2) общая трудоемкость проекта составит:

 (чел/дн).

Численность исполнителей и срок разработки программного обеспечения. На основе общей трудоемкости определяются плановое число разработчиков и плановые сроки, необходимые для реализации проекта в целом. При этом могут решаться следующие задачи:

-   расчет числа исполнителей при заданных сроках разработки проекта;

-       определение сроков разработки проекта при заданной численности исполнителей.

Численность исполнителей проекта () рассчитывается по формуле:

, (4)

где  - общая трудоемкость разработки проекта, чел./дн.;

 - срок разработки проекта, лет;

- эффективный фонд времени работы одного работника в течение года, дн.

Эффективный фонд времени работы одного работника () рассчитывается по формуле:

, (5)

где  - количество дней в году;

 - количество праздничных дней в году;

 - количество выходных дней в году;

 - количество дней отпуска.

В соответствии с договором исполнителя с заказчиком срок разработки установлен 6 месяцев (0,5 года). Эффективный фонд времени одного работника 236 дней. По формуле (4) рассчитывается число исполнителей проекта:

 (чел.).

Основной статьей расходов на создание программного обеспечения является заработная плата разработчиков (исполнителей) проекта, в число которых принято включать инженеров-программистов, участвующих в написании кода, руководителей проекта и других специалистов, необходимых для решения специальных задач в команде.

Общая трудоемкость, плановая численность работников и плановые сроки разработки программного обеспечения являются базой для расчета основной заработной платы разработчиков проекта. По данным о специфике и сложности выполняемых функций составляется штатное расписание группы специалистов-исполнителей, участвующих в разработке программного обеспечения, с определением образования, специальности, квалификации, должности и тарифного коэффициента.

Разработчики программного обеспечения:

−    инженер-программист I категории (тарифный разряд - 14; тарифный коэффициент - 3,25; продолжительность участия в разработке программного средства - 100 дней);

−       инженер-программист II категории (тарифный разряд - 12; тарифный коэффициент - 2,84; продолжительность участия в разработке программного средства - 90 дней);

−       инженер - программист (тарифный разряд - 12; тарифный коэффициент - 2,84; продолжительность участия в разработке программного средства - 80 дней).

Месячная тарифная ставка каждого исполнителя () определяется путем умножения действующей месячной тарифной ставки 1-го разряда (= 70000 руб.) на тарифный коэффициент (), соответствующий установленному тарифному разряду:

. (6)

 (руб.),

 (руб.),

 (руб.).

Часовая тарифная ставка рассчитывается путем деления месячной тарифной ставки на установленную при сорокачасовой рабочей недельной норме рабочего времени расчетную среднемесячную норму рабочего времени в часах:

, (7)

где  - часовая тарифная ставка, д.е.;

 - месячная тарифная ставка, д.е.

 (руб.),

 (руб.),

(руб.).

Основная заработная плата исполнителей на конкретное программное обеспечение рассчитывается по формуле:

,(8)

где n - количество исполнителей, занятых разработкой конкретного программного обеспечения;

 - часовая тарифная ставка i-го исполнителя;

 - эффективный фонд рабочего времени i-го исполнителя, дней;

 - количество часов работы в день ( часов);

 - коэффициент премирования ().

По формуле (8) основная заработная плата исполнителей составит:

(руб.).

Дополнительная заработная плата на конкретное программное обеспечение включает выплаты, предусмотренные законодательством о труде (оплата отпусков, льготных часов, времени выполнения государственных обязанностей и других выплат, не связанных с основной деятельностью исполнителей), и определяется по нормативу в процентах к основной заработной плате:

,(9)

где  − норматив дополнительной заработной платы ().

По формуле (9) дополнительная заработная плата составит:

(руб.).

Отчисления в фонд социальной защиты населения () определяются в соответствии с действующими законодательными актами по нормативу в процентном отношении к фонду основной и дополнительной зарплаты исполнителей, определенной по нормативу, установленному в целом по организации:

,(10)

где  - норматив отчислений в фонд социальной защиты населения (35%).

По формуле (10) отчисления в фонд социальной защиты населения составят:

 (руб.).

Налог на обязательное страхование () рассчитывается по формуле:

, (11)

где  − норматив обязательного страхования ().

По формуле (11) налог на обязательное страхование составит:

 (руб.).


,(12)

где  − норма расхода материалов от основной заработной платы ().

По формуле (12) сумма затрат на расходные материалы составит:

 (руб.).

Расходы на специальное оборудование включают затраты на приобретение вспомогательных технических и программных средств, необходимых для разработки программного обеспечения, включая расходы на их проектирование, изготовление, отладку, установку и эксплуатацию. Так как разработка данного программного обеспечения не предполагает использования специального оборудования, то  составит 0 руб.

Расходы по статье «Машинное время» включают оплату машинного времени, необходимого для разработки и отладки программного обеспечения, которое определяется по нормативам (в машино-часах) на 100 строки сходного кода машинного времени в зависимости от характера решаемых задач и типа персонального компьютера. Расходы на оплату машинного времени рассчитываются по формуле:

,(13)

где  − цена одного машино-часа ( руб.);

 − общий объем программного обеспечения (строк исходного кода);

 − норматив расхода машинного времени на отладку 100 строк исходного кода ( машино-часов).

 (руб.)

Расходы по статье «Научные командировки» () на конкретное программное обеспечение определяются по нормативу, разрабатываемому в целом по организации, в процентах к основной заработной плате:

,(14)

где  − норматив расходов на командировки ().

 (руб.)

Прочие затраты () на конкретное программное обеспечение включают затраты на приобретение и подготовку научно-технической информации и специальной литературы и определяются по формуле:

,(15)

где  - норматив прочих затрат в целом по организации ().

 (руб.).

Накладные расходы, связанные с необходимостью содержания аппарата управления, вспомогательных хозяйств и опытных (экспериментальных) производств, а также с расходами на общехозяйственные нужды, относятся на конкретное программное обеспечение по нормативу в процентном отношении к основной заработной плате исполнителей. Норматив устанавливается в целом по организации:

,(16)

где  - норматив накладных расходов по организации ().

 (руб.).

Общая сумма расходов по всем статьям сметы рассчитывается по формуле:

 (17)

 

 (руб.).

Организация - разработчик несет также затраты на освоение и сопровождение программного обеспечения. Для упрощения расчетов до составления сметы затраты на освоение определятся по нормативу от себестоимости программного обеспечения в расчете на 3 месяца и рассчитываются по формуле:

(18)

где  - норматив расходов на освоение ().

 (руб.).

Затраты на сопровождение программного обеспечения определяются по установленному нормативу от себестоимости программного обеспечения (в расчете на год) и рассчитываются по формуле:

,(19)

где  - норматив расходов на сопровождение ().

 (руб.).

Общая сумма расходов на разработку (с затратами на освоение и сопровождение) как полная себестоимость программного обеспечения определяется по формуле:

.(20)

 (руб.).

Рентабельность и прибыль по создаваемому программному средству определяются исходя из результатов анализа рыночных условий, переговоров с заказчиком (потребителем) и согласования с ним отпускной цены, включающей дополнительно налог на добавленную стоимость и отчисления на содержание ведомственного жилого фонда. Прибыль рассчитывается по формуле:

(21)

где  − прибыль от реализации программного средства, руб.;

 − уровень рентабельности программного средства (20%);

 − себестоимость программного средства, руб.

 (руб.).

Прогнозируемая цена программного средства без налогов ():

.(22)

(руб.).

Единый целевой сбор :

,(23)

где - норматив единого целевого сбора ( ).

 (руб.).

Налог на добавленную стоимость ():

,(24)

где - норматив НДС (18%).

 (руб.).

Прогнозируемая отпускная цена ():

 (25)

(руб.).

Все полученные результаты вычислений сведены в таблицу 5.2.

Таблица 5.2 - Расчет сметы затрат, себестоимости и отпускной цены

Наименование статей

Обозначение

 Сумма,  (руб.)

1

2

3

Основная заработная плата

3993360


Дополнительная заработная плата

599004


Отчисления в фонд социальной защиты населения

1607327


Налог на обязательное страхование

28000


Расходы на материалы

119800


Расходы на оплату машинного времени

451880


Расходы на научные командировки

1198008


Прочие затраты

798672

Накладные расходы

3993360

Общая сумма расходов по всем статьям сметы

12789411

Затраты на освоение

1278941


Затраты на сопровождение

2557882


Полная себестоимость

16626234


Прибыль

3325247


Прогнозируемая цена ПС без налогов

19961481


Единый целевой сбор

407371


Налог на добавленную стоимость

3666394


Прогнозируемая отпускная цена

24035252



5.3 Расчет экономического эффекта от разработки программного комплекса


Создаваемые программные средства могут предназначаться как для совершенно новых, ранее не решавшихся или решавшихся ручным способом задач, так и для традиционных задач, решаемых с помощью программных средств, которые можно совершенствовать. В данном примере рассматривается задача применения нового, более эффективного программного средства по сравнению с базовыми.

В результате применения нового программного средства заказчик может понести значительные капитальные затраты на приобретение и освоение ПС, доукомплектования ЭВМ новыми техническими средствами и пополнение оборотных средств. Однако, если приобретенное ПС будет в достаточной степени эффективнее базового, то дополнительные капитальные затраты быстро окупятся. Эффект может быть достигнут за счет сокращения объема программного средства (уменьшения количества машинных команд, количества строк и т.д.), снижение трудоемкости подготовки данных, обработки информации, анализа результатов, уменьшения расходов машинного времени и материалов.

Для определения экономического эффекта от использования нового программного средства у потребителя необходимо сравнить расходы по всем основным статьям сметы затрат на эксплуатацию нового ПС (расходы на заработную плату с начислениями, материалы, машинное время) с расходами по соответствующим статьям базового варианта. При этом за базовый вариант следует принимать аналогичное программное средство, используемое в действующей автоматизированной системе. При сравнении базового и нового вариантов ПС в качестве экономического эффекта будет выступать общая экономия всех видов ресурсов относительно базового варианта. При этом создание нового ПС окажется экономически целесообразным лишь в том случае, если все капитальные затраты окупятся за счет получаемой экономии в ближайшие 1-2 года.

Таблица 5.3 - Исходные данные для расчета экономического эффекта у пользователя модуля

Наименование показателей

Обозначения

Единицы измерения

Значение показателя

Наименование источника информации




в базовом варианте

в новом варианте


1. Капитальные вложения, включая стоимость услуг по сопровождению и адаптации ПС

тыс. руб.-24000Договор заказчика с разработчиком





2. Затраты на освоение ПО

тыс. руб.1300Договор заказчика с разработчиком





3. Затраты на сопровождение ПО

тыс. руб.2500Договор заказчика с разработчиком





4. Затраты на укомплектование ВТ техническими средствами в связи с внедрением нового ПО

тыс. руб.1000Смета затрат на внедрение





5. Затраты на пополнение оборотных фондов, связанных с эксплуатацией нового ПС

тыс. руб.0Смета затрат на внедрение





6. Среднемесячная ЗП одного программиста

тыс. руб.550550Расчетные данные пользователя





7. Коэффициент начислений на зарплату

1,51,5Рассчитывается по данным пользователя





8. Среднемесячное количество рабочих дней

день2121Принято для расчета





9. Количество типовых задач, решаемых за год

задача18001800План пользователя 2009-2011





10. Объем выполняемых работ

задача18001800План пользователя





11. Средняя трудоемкость работ в расчете на 1 задачу

челове-ко-час30,2Рассчитывается по данным пользователя





12. Количество часов работы в день

ч88Принято для расчета





13. Ставка налога на прибыль

%2424






Общие капитальные вложения () заказчика (потребителя), связанные с приобретением, внедрением и использованием ПС, рассчитываются по формуле:

(26)

где  - затраты пользователя на приобретение ПС по отпускной цене разработчика с учетом стоимости услуг по эксплуатации и сопровождению, д.е.;

 - затраты пользователя на освоение ПС (тыс.руб.) - затрат нету, так как ПС полностью автоматизирует работу оператора;

 − затраты пользователя на оплату услуг по сопровождению ПО, д.е.;

 - затраты на доукомплектацию ВТ техническими средствами в связи с внедрением нового ПС, тыс. руб.;

 - затраты на пополнение оборотных средств в связи с использованием нового ПС, тыс. руб. − оборотные средства не пополняются, так как автоматизируется старая задача.

 (тыс. руб.).

Расчет экономии основных видов ресурсов в связи с использованием нового ПС.

Экономия затрат на заработную плату в расчете на одну задачу ():

(27)

где  - среднемесячная заработная плата одного программиста, тыс. руб.;

,  - снижение трудоемкости работ в расчете на 100 строк кода, человеко-часов;

 - количество часов работы в день, ч;

 - среднемесячное количество рабочих дней.

 (тыс. руб.).

Объем выполненных работ с использованием нового ПС:

(28)

где  - объем работ необходимый для решения одной задачи;

 - количество типовых задач, решаемых за год, задач.

 (задач).

Экономия затрат на заработную плату при использовании нового ПС в расчете на объем выполненных работ:

(29)

где  - экономия затрат на заработную плату при решении задач с использованием нового ПС в расчете на 1 задачу, тыс. руб.;

 - объем выполненных работ с использованием нового ПС.

 ( тыс. руб.).

Экономия за счет сокращения простоев сервиса () у нас равняется нулю, т. к. процесс ранее не был автоматизирован и вёлся вручную.

Экономия с учетом начисления на зарплату ():

.

Общая готовая экономия текущих затрат, связанных с использованием нового программного обеспечения (), рассчитывается по формуле:

(30)

.

Внедрение нового ПС позволит пользователю сэкономить на текущих затратах, т.е. практически получить на эту сумму дополнительную прибыль. Для пользователя в качестве экономического эффекта выступает лишь чистая прибыль - дополнительная прибыль, остающаяся в его распоряжении, которые определяются по формуле:

,(31)

где - норматив налога на прибыль ().

 (тыс. руб.).

Ввиду того, что в данном примере научная организация пользуется налогами и льготами, вся получаемая прибыль остается в ее распоряжении и выступает в качестве экономического эффекта.

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

, (32)

где Е - норматив привидения разновременных затрат и результатов;

tp - расчетный год, tp = 1;

t - номер года, результаты и затраты которого приводятся к расчетному (2008 - 1-ый год, 2009 - 2-ой год, 2010 - 3-ий год, 2011 - 4-ый год).

Норматив приведения разновременных затрат и результатов (Е) для программных средств вычислительной техники в существующей практике принимается 0,16. Коэффициентам приведения () по годам будут соответствовать следующие значения:

-   1 - 2008 расчетный год;

-       0,860 - 2009 год;

-       0,743 - 2010 год;

-       0,640 - 2011 год.

Данные расчета экономического эффекта целесообразно свести в таблицу.

Таблица 5.4 - Результаты расчета экономического эффекта у пользователя модуля

Показатели

Единица измерения

Годы



2008

2009

2010

2011

Результаты:






Прирост прибыли за счет экономии затрат ()д.е.188171881718817






То же с учетом фактора времени

д.е.


16183

13981

12043

Затраты:






Приобретение ПО ()д.е.24000






Освоение ПО ()д.е.1300






Сопровождение ()д.е.2500






Доукомплектование ВТ техническими средствами ()д.е.1000






Пополнение оборотных средств ()д.е.0






Всего затрат:

д.е.

28800




То же с учетом фактора времени

д.е.

28800




Экономический эффект:






Превышение результата над затратами

д.е.

-28800

16183

13981

12043

То же с нарастающим итогом

д.е.

-28800

-12617

1364

13407

Коэффициент приведения

единиц

1

0,860

0,743

0,64


Реализация проекта программного обеспечения позволит снизить трудоемкость решения задач. Все затраты окупятся в первый год эксплуатации программного обеспечения. Проект представляется эффективным и полезным [16].

 

6. ОХРАНА ТРУДА И ЭКОЛОГИЧЕСКАЯ БЕЗОПАСНОСТЬ. РЕАЛИЗАЦИЯ ЭРГОНОМИЧЕСКИХ ТРЕБОВАНИЙ К ОРГАНИЗАЦИИ РАБОЧЕГО МЕСТА МЕНЕДЖЕРА ПРИ РАБОТЕ С ПЕРСОНАЛЬНЫМ КОМПЬЮТЕРОМ


С точки зрения обеспечения условий труда и требований техники безопасности для работы специалиста отдела маркетинга и сбыта при проведении маркетинговых исследований, особенно при обработке результатов с использованием персонального компьютера необходимо следующее: достаточное освещение рабочего места и экрана дисплея; полная техническая исправность оборудования, его электробезопасность; достаточная пожаробезопасность помещения; оптимальный микроклимат, способствующий продуктивной работе; соответствие рабочего места требованиям эргономики. К опасным и вредным факторам, воздействию которых подвергается менеджер при работе с персональным компьютером, можно отнести: возможность поражения электрическим током, при электронеисправности оборудования, нарушении заземления или техники безопасности; работа в микроклимате с недопустимыми параметрами; работа при недостаточной освещенности экрана дисплея и рабочего места.

Особенностью труда специалиста отдела маркетинга и сбыта, работающего с компьютером, является повышенное зрительное напряжение, связанное со слежением за информацией, а также влияние других неблагоприятных факторов: шум машин, тепловыделения, вредные вещества, различные виды излучения, особенности технологического процесса и организации рабочих мест. Менеджер утомляется из-за постоянного эффекта мелькания, неустойчивости и нечеткости изображения, необходимости частой переадаптации к освещенности экрана дисплея, а также общей освещенности помещения. Неблагоприятными также являются нечеткость и слабая контрастность изображения на экране, расплывчатость, яркие вспышки света. На орган зрения воздействуют появление ярких пятен за счет отражения светового потока на клавиатуре и экране, различие в освещенности рабочей поверхности и ее окружения. Труд специалистов по обслуживанию персональных компьютеров характеризуется повышенным уровнем психического напряжения. Последнее усиливается при угрозе какой-либо опасности во время работы с комплексом. Стрессовые ситуации могут быть связаны со сложностями трудовой деятельности, необходимостью поддерживать постоянное внимание, ответственностью за качество выполняемой работы. Признаками запредельного психического перенапряжения (переутомления) являются неправильные, ошибочные действия менеджера, уменьшение скорости двигательных реакций, снижение в целом физической активности, наблюдается также головная боль, усталость мышц спины, шеи и рук, резь в глазах, приводящие к ухудшению состояния здоровья, работающего с персональным компьютером, и снижению работоспособности.

Одним из важных факторов, которые влияют на работоспособность и состояние здоровья менеджера при работе с компьютером является организация рабочего места.

При конструировании рабочего места необходимо сохранять достаточное рабочее пространство, позволяющее работающему человеку осуществлять нужные движения и перемещения в процессе работы. При правильной организации рабочего места производительность труда менеджеров возрастает от 8 до 20%. Кроме достаточности рабочего пространства важным фактором при проектировании является оптимальное размещение рабочих мест в производственных помещениях, а также безопасные и достаточные проходы для работающих людей. При размещении рабочих мест должны учитываться минимальная площадь на одно рабочее место для нормального выполнения работы, правильное размещение по отношению к источникам света, что снимает ряд неблагоприятных факторов (повышенная нагрузка на глаза, блики на экране монитора). Площадь аудитории, в которой будет проходить работа должна быть не менее 6 кв. м., а объем не менее 24 куб. м. Для внутренней отделки помещения должны использоваться диффузно-отражающие материалы с коэффициентом отражения для потолка - 0,7 - 0,8; для стен - 0,5 - 0,6; для пола - 0,3 - 0,5. Микроклимат определяется действующими на организм менеджеров сочетаниями температуры, влажности и скорости движения воздуха. Температура воздуха в холодный и теплый период года должна быть в пределах от плюс 20 до плюс 25 оС, относительная влажность от 40 до 60 % при скорости движения воздуха не более 0,2 м/с, подача наружного воздуха в помещение объемом до 20 м3 на одного человека не должна быть менее 30 м3/ч. Воздух в помещениях работы специалистов отдела маркетинга и сбыта при работе с персональным компьютером должен быть очищен от вредных веществ, пыли и микроорганизмов.

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

Продуктивность работы также зависит от интенсивности естественного и искусственного освещения. Рациональное освещение предупреждает развитие утомления, способствует повышению производительности труда и играет важную роль в снижении производственного травматизма. Как известно, у человека имеется как центральное (фотопическое), так и периферическое (скотопическое) зрение. Первое дает восприятие цветов и объектов малых размеров, второе - восприятие окружающего фона и крупных объектов. Центральное зрение требует больших яркостей, а периферическое, напротив, действует в сумерках и при полумраке. При работе с монитором основную роль играет именно центральное зрение, поэтому становится понятным необходимость достаточного освещения комнаты, где находится компьютер.

Следующим эргономическим требованием является допустимый уровень шума и вибрации, создаваемых компьютером на рабочем месте или другими источниками. Шум воздействует на общее психическое состояние человека, вызывает ощущение плохого самочувствия, стеснённости, неуверенности и тревоги, способствует возникновению быстрой утомляемости и снижению работоспособности. Вибрация при длительном воздействии вызывает значительный расход нервной энергии, является причиной утомления и нарушения нормального состояния процессов возбуждения и торможения, приводит к расстройству деятельности нервной системы и внутренних органов. Уровень шума на рабочих местах специалистов отдела маркетинга и сбыта при работе с персональным компьютером рекомендуют не более 60 дБА.

Большой вред при работе на компьютере причиняет монитор. На здоровье пользователя влияют следующие факторы: излучение электронных лучевых трубок, цвет, местонахождение менеджера, частота регенерации, воздействие электромагнитных излучений, защитный экран. Расстояние от глаз менеджера до экрана дисплея должно составлять 500-700 мм. Угол зрения от 10 до 20°, но не более 40°; угол между верхним краем дисплея и уровнем глаз менеджера должен составлять не менее 10°. Предпочтительным является расположение экрана перпендикулярно к линии зрения специалиста отдела маркетинга и сбыта.

Необходимым эргономическим требованием при проектировании рабочего места является учёт антропометрических данных менеджера. Конструкция рабочего места, предназначенного для длительной работы в положении сидя, должна обеспечивать регулировку в соответствии с антропометрическими особенностями и вкусом менеджера, что приводит к чувству комфорта и, как следствие, к уменьшению утомления. Поверхность сиденья, спинки и других элементов стула (кресла) должна быть полумягкой, с нескользящим, не электризующимся и воздухонепроницаемым покрытием, обеспечивающим легкую очистку от загрязнения [17,18].

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

Эргономическая организация труда сотрудников отдела маркетинга и сбыта должна включать в алгоритм труда (трудовой процесс) обязательное количество действий, связанных с производственной необходимостью, выполнение движений по типу производственной гимнастики. Имеется в виду включение в трудовой процесс, как обязательного его компонента, физических нагрузок и смены положения тела. Физические нагрузки стимулируют жизненные функции и готовят сотрудника к эффективной деятельности, а также осуществляют релаксационный эффект при высоких уровнях психического напряжения, что лежит в основе профилактики неврозов и инвалидизации специалистов. Правильная организация режима работы является важным фактором повышения производительности труда. Работа с персональным компьютером требует кратковременных перерывов (3-5 мин) для последующей более напряженной деятельности. Частота перерывов определяется характером труда, а также личными индивидуальными характеристиками менеджера.

Для лиц с ограниченной подвижностью в процессе труда, необходимо в течение смены, исходя из субъективных ощущений, делать физкультурные паузы (8-10 специфических упражнений). Наряду с упражнениями на нагрузку мышц находящихся в статическом напряжении или не участвующих в движении, должны быть расслабляющие упражнения, следует также широко использовать самомассаж работающих или не подвергающихся нагрузке мышц.

На производстве должны быть комнаты психологической разгрузки, помещения для игр, спортивные площадки на открытом воздухе, где можно было бы проводить перерывы для отдыха [18].

Соблюдение эргономических требований при работе с компьютером позволяет исключить или уменьшить отрицательные физиологические воздействия на организм менеджера и увеличить производительность труда.

ЗАКЛЮЧЕНИЕ


В данном дипломном проекте был разработан программный продукт - автоматизированная система управления базой данных для отдела маркетинга и сбыта ОАО «Бобруйсксельмаш».

Система позволяет добавлять и редактировать продукцию предприятия, просматривать базу клиентов, вести учет заключаемых договоров, на основе которых можно сформировать необходимую для маркетинга информацию о выгодных клиентах.

При использовании данного программного средства достигается существенное уменьшение трудоемкости обработки информации и снижение затрат времени на ее выполнение, по сравнению с ручным методом обработки договоров, что позволяет использовать данное программное средство при решении практических задач.

Возможно расширение функциональных возможностей программного продукта, а также его дополнение.

Для реализации данного проекта были изучены следующие материалы:

язык запросов MySQL;

язык программирования PHP;

обработчик шаблонов SMARTY;

скриптовый язык JavaScript;

таблицы стилей CSS;

язык гипертекстовой разметки HTML.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


1    Котлер, Ф. Основы маркетинга, 4-ое европейское издание / Г. Армстронг, В. Вонг, Дж. Сондерс. - М.: ООО «И.Д. Вильямс», 2008. - 1200 с.- ISBN 978-5-8459-1227-5.

      Ротанина М.В. Технология проектирования систем реляционных баз данных: Учебное пособие / А.М. Марасанов - М.: Изд-во МАИ, 1994. - 28 с. - ISBN 5-7035-1231-X.

3       Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика, 3-е изд. / К. Бегг - М.: ООО «И.Д. Вильямс», 2003. - 1436 с. - ISBN 0-201-70857-4.

4    Дейт, К. Дж. Введение в системы баз данных, 8-е изд.: Пер. с англ. -М.: ООО «И.Д. Вильямс», 2006. - 1328 с. - ISBN 0-321-19784-4.

5       Выбор СУБД. [Электронный ресурс] - Режим доступа: <http://www.mysql.ru>, свободный.

         Выбор СУБД. [Электронный ресурс] - Режим доступа: <http://mysqlinfo.ru/php_ChtoTakoeMySQL.htm>, свободный.

         Выбор СУБД. [Электронный ресурс] - Режим доступа: <http://hostinfo.ru/articles/203>, свободный.

         Кузнецов, М. Объектно - ориентированное программирование на PHP / И. Симдянов - Спб.: «БХТ - Петербург», 2007. - 608 с. - ISBN 978-5-9775-0142-2.

         Кузнецов, М. PHP 5. Практика создания Web-сайтов / И. Симдянов, С. Голышев - Спб.: «БХТ - Петербург», 2005. - 960 с. - ISBN 5-94157-552-1.

         Пауэлл, Т. Полный справочник по JavaScript, 2-е изд. / Ф. Шнайдер Ф. - М.: «Вильямс», 2007. - 960 с. - ISBN 0-672-32880-1.

         Уэнц, К. JavaScript. Карманный справочник - М.: «Вильямс», 2007. - 272 с. - ISBN 0-672-32880-1.

         Соколов, С.А. HTML и CSS в примерах, типовых решениях и задачах. Профессиональная работа. - М.: «Вильямс», 2007. - 416 с. - ISBN 978-5-8459-1192-6.

         Титтел, Э. HTML 4 для "чайников", 5-е изд. / М. Бурмейстер - М.: «Диалектика», 2006. - 368 с. - ISBN 0-7645-8917-2.

         Бадд, Э Мастерская CSS: профессиональное применение Web-стандартов / К. Молл, С. Коллизон - М.: «Вильямс», 2007. - 272 с. - ISBN 1-59059-614-5.

         Уикли, Р. Освой самостоятельно CSS. 10 минут на урок - М.: «Вильямс», 2006. - 256 с. - ISBN 0-672-32745-7.

         Палицын, В.А. Технико-экономическое обоснование дипломных проектов: методическое пособие для студентов всех специальностей БГУИР. В 4-х ч. Ч. 4. Проекты программного обеспечения - Мн.: БГУИР, 2006. - 76 с. - ISBN 985-444-906-8.

         Шупейко И. Г. Инженерно-психологическое проектирование средств информационного взаимодействия для систем «человек-машина». - Мн.: БГУИР, 1998. - 51 с. - ISBN 987-446-506-4.

         СанПиН 2.2.2.542РБ96. Гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы.

ПРИЛОЖЕНИЕ А

(справочное)

Листинг некоторых методов, используемых в программе

А.1 Реализация метода View():view(){

$acc = $this->item_access();(!$acc || (!$acc['read']['all'] && !$acc['read']['self'])) no_access();

$addsql = array();($acc['edit']['all']) $addsql['edit'] = ' 1 as editable ';($acc['edit']['self']) $addsql['edit'] =' (a.account_id="'.(int)$this->out['m']['id'].'",1,0) as editable ';($acc['del']['all']) $addsql['del'] = ' 1 as delable ';($acc['del']['self']) $addsql['del'] =' if(a.account_id="'.(int)$this->out['m']['id'].'",1,0) as delable ';($acc['read']['all']) $sql = '';($acc['read']['self']) $sql = " AND a.account_id='".(int)$this->out['m']['id']."' ";(!$acc['read']['all']&&!$acc['read']['self']) $sql = " AND a.id!=a.id ";

$addsql = implode(',',$addsql);($addsql) $addsql = ','.$addsql;

$this->out['ae'] = sqlget("SELECT * $addsql FROM #archive a, #archive.lang al WHERE a.id=al.id AND al.lang='".$this->lang."' AND a.id='".(int)$this->out['id']."'".$sql,true);(count($this->cor)) foreach($this->cor as $d) if (isset($this->out['ae'][$d])) $this->out['ae'][$d] = str_replace('00:00:00','',corect_date($this->out['ae'][$d],true));

$this->out['files'] = glob(dat.'archive/'.(int)$this->out['ae']['id'].'/*');

$this->out['files'] = array_map('basename',(array)$this->out['files']);

$this->out['customers'] = sqlget("SELECT m.id, ml.title FROM #member1 m, #member1.lang ml WHERE m.id=ml.id AND ml.lang='".$this->lang."' AND m.`group`='user' ORDER BY ml.title");

$this->out['products'] = sqlget("SELECT * FROM #products p, #products.lang pl WHERE p.id=pl.id ORDER BY pl.title");

$this->out['item_products'] = sqlget("SELECT * FROM #archive.product WHERE id='".(int)$this->out['id']."' ");

}

А.2 Реализация метода Show_all():show_all(){

$acc = $this->item_access();(!$acc) no_access();

$addsql = array();($acc['edit']['all']) $addsql['edit'] = ' 1 as editable ';($acc['edit']['self']) $addsql['edit'] =' if(a.account_id="'.(int)$this->out['m']['id'].'",1,0) as editable ';($acc['del']['all']) $addsql['del'] = ' 1 as delable ';($acc['del']['self']) $addsql['del'] =' if(a.account_id="'.(int)$this->out['m']['id'].'",1,0) as delable ';(!$acc['read']['all'] && $acc['read']['self']) $sql = " AND a.account_id='".(int)$this->out['m']['id']."' ";(!$acc['read']['all']&&!$acc['read']['self']) $sql = " AND a.id!=a.id ";

$addsql = implode(',',$addsql);($addsql) $addsql = ','.$addsql;

$this->out['acc'] = $acc;($this->out['order']){ 'status': $this->out['order'] = 'status'; break; 'summ': $this->out['order'] = 'summ'; break;'title':$this->out['order'] = 'title'; break;: $this->out['order'] = 'docid'; break;

}($this->out['dir']){ case 'DESC': $this->out['dir'] = 'DESC';break; default: $this->out['dir'] = 'ASC'; break; }

$ordering = ($this->out['order']=='title'?'ml.':'a.').$this->out['order'].' '.$this->out['dir'];

$this->out['items'] = sqlget("SELECT *, ml.title as customer ".$addsql." FROM #archive a, #archive.lang al, #member1 m, #member1.lang ml WHERE al.id=a.id AND al.lang='".$this->lang."' ".$sql." AND m.id=ml.id AND m.id=a.customer_id AND ml.lang=al.lang ORDER BY ".$ordering,&$this->out['paging']);(count($this->out['items'])) foreach((array)$this->out['items'] as $k=>$v){

$this->out['items'][$k]['products'] = sqlget("SELECT * FROM #archive.product ap, #products p, #products.lang pl WHERE ap.product=p.id AND p.id=pl.id AND pl.lang='".$this->lang."' AND ap.id='".(int)$v['id']."'");

}

}

А.3 Реализация метода Edit():edit(){

$acc = $this->item_access();(!$acc || (!$acc['edit']['all'] && !$acc['edit']['self'])) no_access();

$r = new Validator(&$this->out['ae'],'ae');

$r->addField('required', 'docid', 'date', 'customer_id', 'summ', 'finish_date');

$r->addField('num','summ', 'customer_id');

$r->addField('text','docid');

$r->toSmarty(&$this->out,'edit_rules_arch');($this->out['sb_archive']){

$this->out['ae']['account_id'] = (int)$this->out['m']['id'];($this->out['id']) $this->out['ae']['id'] = (int)$this->out['id']; (count($this->cor)) foreach($this->cor as $d) if (isset($this->out['ae'][$d])) $this->out['ae'][$d] = corect_date($this->out['ae'][$d],true);($_POST) {

$res = $r->Check();

$r->toSmarty(&$this->out,'edit_rules_arch');

$this->out['err'] = $res['err'];(!$this->out['err'] && $_FILES && $this->out['id']){(count($_FILES['ae']['file'])) foreach($_FILES['ae']['file'] as $k=>$v){(preg_match('/image|pdf|word|excel/',$v['type'])){(!file_exists(dat.'archive/'.(int)$this->out['id'])||!is_dir(dat.'archive/'.(int)$this->out['id'])) mkdir(dat.'archive/'.(int)$this->out['id'],0777);(file_exists(dat.'archive/'.(int)$this->out['id'].'/'.$v['name'])) $v['name'] = substr(md5(time()),1,4).'_'.$v['name'];($v['tmp_name'],dat.'archive/'.(int)$this->out['id'].'/'.$v['name']);

}else{

$this->out['err']=array_merge($this->out['err'],array('file'=>array('error'=>'>

}

}

}

}

$fields=array('archive'=>table_fields('#archive'),'archive.lang'=>table_fields('#archive.lang'));(!$this->out['err']){

$this->out['ae']['customer_id'] = (int)$this->out['ae']['customer_id'];

$set = _fields($this->out['ae'],$fields['archive']);

$this->out['ae']['id'] = sqlset('#archive',$set,'id');

$set = _fields($this->out['ae'],$fields['archive.lang']);('#archive.lang',$set,array('id'=>(int)$this->out['ae']['id'],'lang'=>$this->lang));

$this->out['ae'] = sqlget("SELECT * FROM #archive a, #archive.lang al WHERE a.id=al.id AND a.id='".(int)$this->out['ae']['id']."'".$sql,true);(count($this->out['ap']['product']) && isset($this->out['ap']['product']) && is_array($this->out['ap']['product'])){("DELETE FROM #archive.product WHERE id='".(int)$this->out['ae']['id']."'");

$set = array();($this->out['ap']['product'] as $key=>$set['product']){

$set['amount'] = (int)$this->out['ap']['amount'][$key];

$set['id'] = (int)$this->out['ae']['id'];(!empty($set['product'])) ('#archive.product',_fields($set,table_fields('#archive.product')),array('id'=>$set['id'],'product'=>$set['product']));

}

}('?act=archive&mode=edit&ok=1&id='.(int)$this->out['ae']['id']);

}

}else if($this->out['id']){

$addsql = array();($acc['edit']['all']) $addsql['edit'] = ' 1 as editable ';($acc['edit']['self']) $addsql['edit'] =' if(a.account_id="'.(int)$this->out['m']['id'].'",1,0) as editable ';($acc['del']['all']) $addsql['del'] = ' 1 as delable ';($acc['del']['self']) $addsql['del'] =' if(a.account_id="'.(int)$this->out['m']['id'].'",1,0) as delable ';($acc['read']['all']) $sql = '';($acc['read']['self']) $sql = " AND a.account_id='".(int)$this->out['m']['id']."' ";(!$acc['read']['all']&&!$acc['read']['self']) $sql = " AND a.id!=a.id ";

$addsql = implode(',',$addsql);($addsql) $addsql = ','.$addsql;

$this->out['ae'] = sqlget("SELECT * ".$addsql." FROM #archive a, #archive.lang al WHERE a.id=al.id AND a.id='".(int)$this->out['id']."'".$sql,true);(!$this->out['ae']['editable']) no_access();

}

$this->out['customers'] = sqlget("SELECT m.id, ml.title FROM #member1 m, #member1.lang ml WHERE m.id=ml.id AND ml.lang='".$this->lang."' AND m.`group`='user' ORDER BY ml.title");(count($this->cor)) foreach($this->cor as $d) if (isset($this->out['ae'][$d])) $this->out['ae'][$d] = str_replace('00:00:00','',corect_date($this->out['ae'][$d],true));

$this->out['products'] = sqlget("SELECT * FROM #products p, #products.lang pl WHERE p.id=pl.id ORDER BY pl.title");

$this->out['item_products'] = sqlget("SELECT * FROM #archive.product WHERE id='".(int)$this->out['id']."' ");

$this->out['files'] = glob(dat.'archive/'.(int)$this->out['ae']['id'].'/*');

$this->out['files'] = array_map('basename',(array)$this->out['files']);

}

А.4 Реализация метода Del():del(){

$acc = $this->item_access();(!$acc['del']['all'] && !$acc['del']['self']) no_access();(!$acc['del']['all'] && $acc['del']['self']){(sqlget("SELECT account_id FROM #archive WHERE id='".(int)$this->out['id']."'",true,'account_id')!=$this->out['m']['id']) no_access();

}("DELETE FROM #archive WHERE id='".(int)$this->out['id']."'");("DELETE FROM #archive.lang WHERE id='".(int)$this->out['id']."'");('?act=archive&mode=show_all&ok=1');

}

$this->out['customers'] = sqlget("SELECT m.id, ml.title FROM #member1 m, #member1.lang ml WHERE m.id=ml.id AND ml.lang='".$this->lang."' AND m.`group`='user' ORDER BY ml.title");($this->out['mode2']=='new') unset($_SESSION['archive']['search']);($this->out['sb_search']){

$_SESSION['archive']['search'] = $this->out['ae'];('?act=archive&mode=search&mode2=current');

}($this->out['sb_search'] || $_SESSION['archive']['search']){($this->out['mode2'] == 'current' && $_SESSION['archive']['search']){

$this->out['ae'] = $_SESSION['archive']['search'];

}

$flds=array('a'=>table_fields('#archive'),'al'=>table_fields('#archive.lang'));

$a = _fields($this->out['ae'],$flds['a'],false); $al= _fields($this->out['ae'],$flds['al'],false);

$_SESSION['archive']['search'] = $this->out['ae'];$q = array();(count($a)) foreach($a as $k=>$v){(preg_match('/date/',$k) && preg_match('/(\d+)\/(\d+)\/(\d+)/',$v)) $v = $a[$k] = preg_replace('/(\d+)\/(\d+)\/(\d+)/','\3-\2-\1',$v);

$q[]=($k!='docid'?("a.`".$k."`='".addslashes($v)."'"):prepare_string("a.`".$k."`",$v));

}(count($al)) foreach($al as $k=>$v) if($v) $q[] = prepare_string("al.`".$k."`",$v);(count($q)) $addsql = ' AND '.implode(' AND ',$q); else $addsql = '';

$acc = $this->item_access();(!$acc) no_access();

$addsq1 = array();($acc['edit']['all']) $addsq1['edit'] = ' 1 as editable ';($acc['edit']['self']) $addsq1['edit'] =' if(a.account_id="'.(int)$this->out['m']['id'].'",1,0) as editable ';($acc['del']['all']) $addsq1['del'] = ' 1 as delable ';($acc['del']['self']) $addsq1['del'] =' if(a.account_id="'.(int)$this->out['m']['id'].'",1,0) as delable ';(!$acc['read']['all'] && $acc['read']['self']) $sql1 = " AND a.account_id='".(int)$this->out['m']['id']."' ";(!$acc['read']['all']&&!$acc['read']['self']) $sql1 = " AND a.id!=a.id ";

$addsq1 = implode(',',$addsq1);($addsq1) $addsq1 = ','.$addsq1;

$this->out['acc'] = $acc;($this->out['order']){ 'status': $this->out['order'] = 'status'; break; 'summ': $this->out['order'] = 'summ'; break;'title':$this->out['order'] = 'title'; break;: $this->out['order'] = 'docid'; break;

}($this->out['dir']){ case 'DESC': $this->out['dir'] = 'DESC';break; default: $this->out['dir'] = 'ASC'; break; }

$ordering = ($this->out['order']=='title'?'ml.':'a.').$this->out['order'].' '.$this->out['dir'];

$sql = "SELECT *, ml.title as customer $addsq1 FROM #archive a, #archive.lang al, #member1 m, #member1.lang ml WHERE m.id=ml.id AND ml.lang=al.lang AND m.id=a.customer_id AND a.id=al.id AND al.lang='".$this->lang."' ".$sql1.$addsql.' ORDER BY '.$ordering;

$this->out['items'] = sqlget($sql,&$this->out['paging']);(count($this->out['items'])) foreach((array)$this->out['items'] as $k=>$v){

$this->out['items'][$k]['products'] = sqlget("SELECT * FROM #archive.product ap, #products p, #products.lang pl WHERE ap.product=p.id AND p.id=pl.id AND pl.lang='".$this->lang."' AND ap.id='".(int)$v['id']."'");

}

$this->out['mode2'] = 'current';(!isset($this->out['items']['0'])) $this->out['nf']=1;

}

}

А.6 Реализация метода Del_addon():

function del_addon(){

$acc = $this->item_access();(!$acc['del']['all'] && !$acc['del']['self'] && !$acc['edit']['self'] && !$acc['edit']['all']) no_access();

$d = sqlget("SELECT * FROM #archive WHERE id='".(int)$this->out['id']."'",true);(!$acc['del']['all'] && ($acc['del']['self'] || $acc['edit']['self'] )){($d['account_id'] !=$this->out['m']['id']) no_access();

}(dat.'archive/'.(int)$this->out['id'].'/'.addslashes($this->out['name']));('?act=archive&mode=edit&id='.(int)$this->out['id']);

}

А.7 Реализация метода GetItem():getItem($id=array(),$cond=array(),$lang=''){(empty($lang)) $lang = parent::getLang();

$addsql = ''; if (is_array($cond) && count($cond)) $addsql = ' AND '.sqlflt($cond);(is_numeric($id)) return sqlget("SELECT * FROM ".$this->table." a, ".$this->table_lang." ac WHERE a.id=ac.id AND a.id='".(int)$id."' AND ac.lang='".$lang."' ".$addsql,true);(empty($id)) return sqlget("SELECT * FROM ".$this->table." a, ".$this->table_lang." ac WHERE a.id=ac.id AND ac.lang='".$lang."' ".$addsql,true);return array();

}

А.8 Реализация метода Login();login(){

$this->out['mk'] = _fields($this->out['mk'],array('login','password'));($this->out['mk'])($this->member = $this->getItem(null,$this->out['mk'])){$_SESSION['member'] = $this->member; xredirect('');}$this->out['err']['login'] = 1;

}

А.9 Реализация метода Logout():logout(){unset($_SESSION['member']);xredirect('');}

А.10 Реализация метода Forgot():forgot(){($this->out['sb_forgot']){

$t = sqlget("SELECT * FROM #member WHERE email='".addslashes($this->out['f']['email'])."' AND `group`='oper'", true);($t&& $this->out['f']['codeword']==$_SESSION['RANDOM_VALUE']){

$this->out['confirm'] = md5($t['id'].$t['login'].$t['email']);

$m = new MimeMail;

$this->out['link'] = 'http://'.domain.'/?act=member&mode=confirm&confirm='.$this->out['confirm'];

$body = 'Для подтверждения перейдите по ссылке : <a href="'.$this->out['link'].'" target="_blank">'.$this->out['link'].'</a>';

$this->out['sent'] = 1;($this->out['config']['admin_email'], $t['email'], 'Подтвердите свой почтовый ящик', $body);

} else{

$this->out['err'] = array();(!$t) $this->out['err']['email']['error'] = 1;($this->out['f']['codeword']!=$_SESSION['RANDOM_VALUE']) $this->out['err']['codeword']['error'] =1;

}

}($usec, $sec) = explode(' ', microtime());_srand(((float) $sec + ((float) $usec * 100000)));($s="",$i=0;$i<5;$i++) $s.= chr(mt_rand(0x61,0x7A));

$_SESSION['RANDOM_VALUE']=$s;

}

Похожие работы на - База данных отдела маркетинга и сбыта ОАО 'Бобруйсксельмаш'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!