Разработка систем управления проектами по средствам Web интерфейса

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

2015-09-14

530.22 KB

6 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


 

Разработка систем управления проектами по средствам Web интерфейса
ОГЛАВЛЕНИЕ

[1]  

[2] Разработка систем управления проектами по средствам Web интерфейса
ОГЛАВЛЕНИЕ

[3]
1 АНАЛИТИЧЕСКИЙ РАЗДЕЛ

[3.1] 1.1 Описание и анализ существующих технологий управления проектами

[3.2] 1.2 Разработка модели систем управления проектами по средствам Web-интерфейса

[3.2.1] 1.2.1 Выбор точки зрения

[3.2.2] 1.2.2 Определение границ систем

[3.2.3] 1.2.3Выбор методологии моделирования

[3.2.4] 1.2.4 Выбор архитектуры системы

[3.2.5] 1.2.5 Выбор инструментов разработки

[3.2.6] 1.2.6 Составление модели обработки информации «как должно быть»

[3.3] 1.3 Постановка задачи систем управления проектами посредством Web-интерфейса

[4]
2 ПРОЕКТНЫЙ РАЗДЕЛ

[4.1] 2.1 Разработка  систем управления

[4.1.1] 2.1.1 Построение логической модели систем управления

[4.1.2] 2.1.2 Предполагаемое количество обрабатываемой информации

[4.1.3] 2.1.3 Определение конфигурации комплекса технического обеспечения

[4.1.4] 2.1.4 Разработка физической модели систем управления

[4.2] 2.2 Модель управления и обработки данных

[4.3] 2.3 Разработка интерфейсных форм

[4.4] 2.4 Заставка и меню программы

[4.5] 2.5 Структурная схема разработанных систем управления

[5]
3 ЭКОНОМИЧЕСКИЙ РАЗДЕЛ

[5.1] 3.1 Планирование и организация  процесса разработки систем управления

[5.2] 3.2 Расчет ежемесячных затрат на выполнение работ

[5.3] 3.3 Расчет затрат на разработку систем управления

[5.4] 3.4 Годовой экономический эффект и прочие показатели экономической эффективности  

[6]
ЗАКЛЮЧЕНИЕ

[7]
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ

[8]
ПРИЛОЖЕНИЕ 1

[9]
ПРИЛОЖЕНИЕ 2

[10]
ПРИЛОЖЕНИЕ 3

[11] ПРИЛОЖЕНИЕ 4


ВВЕДЕНИЕ

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

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

Цель и задачи работы. Целью работы является разработка систем управления проектами посредством Web интерфейса.

Исходя из темы и цели работы, были поставлены  и решены следующие задачи:

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

Объектом     исследования     является     математическое,     информационное и  программное обеспечение систему правления и инструментарии их построения.

Предмет     исследования:     методы,     модели     и     алгоритмы     построения инструментариев для разработки систем управления проектами посредством Web интерфейса.

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

    


1 АНАЛИТИЧЕСКИЙ РАЗДЕЛ

1.1 Описание и анализ существующих технологий управления проектами

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

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

Для решения этих задач используется специальный класс программного обеспечения. Современные системы календарного планирования и контроля реализации проектов или по-другому системы оперативного планирования и управления проектами. В проектировании широко используются новые компьютерные технологии и программы, которые обеспечивают соответствие продукции современным требованиям и являются удобным инструментом управления проектами. Наиболее «продвинутыми» в этом направлении являются международные корпорации «Primavera®», «Microsoft®» и «Spider®». При разработке системы оперативного планирования проектом можно с успехом использовать программные продукты этих фирм. Перечислим некоторые из компьютерных программных продуктов СУП корпорации «Primavera®». «Primavera Project Planner®» (P3®, P4®) – этот программный продукт предназначен для календарно-сетевого планирования и управления проектом с учетом потребностей в материальных, трудовых и финансовых ресурсах. «Primavera Contractor» - используется для создания графиков проектов. «Primavera Cost Manager» - программный продукт, предназначенный для решения задач управления стоимостью и анализа по методике освоенного объема в управлении проектами. «SureTrak Project Manager®» - программный продукт, ориентированный на контроль выполнения небольших проектов или фрагментов крупных проектов. Может работать как самостоятельно, так и совместно с «Р3» в системе управления проектами. «MonteCarlo™ for P3e®» - программный продукт, дополняющий «Р3» в плане управления проектами в условиях риска. «Сметно-аналитический комплекс А0 (А ноль)» – программный продукт созданный для выпуска сметной документации, подготовки и учета производства, предназначен для использования всеми участниками инвестиционного процесса2.

Корпорация «Microsoft» представляет следующие программные продукты СУП. «Microsoft Office EPM (Microsoft Office Enterprise Project Management)», «Microsoft Project»– программный продукт, предоставляющий возможности планирования и отслеживания хода выполнения работ, совместной работы и быстрого доступа к проектной информации. Предоставляет возможность по эффективному управлению проектом и ресурсами в рамках выбранной стратегии управления, а также предоставляет  полную отчетность по  всем проектам и ресурсам. Компания «Спайдер» создала программный продукт для оперативного планирования и систем управления проектами - «Spider Project». Он дает возможность внедрения целостной технологии управления проектами. Продукт предназначен для календарно-сетевого планирования и управления проектом с учетом потребностей в материальных, трудовых и финансовых ресурсах.

Таким образом, учитывая вышеизложенное, большим достоинством использования компьютерных программ во время реализации проекта является то, что программа позволяет хранить в модели проекта плановые показатели по проекту (сроки, стоимости, объемы и т.д.) и вводить оперативно фактические данные (т.е. корректировки) по ходу реализации проекта. Конечно же, исходный календарный план «плывет». Также системы позволяют увидеть эти отклонения, оценить их последствия на проект в целом, проиграть их и выбрать оптимальный вариант реакции на изменения. При необходимости перепланировать оставшуюся часть проекта с учетом новых реалий. Оперативно внести изменения в проектную документацию. Именно на этом этапе система проявляет свои лучшие качества - модель проекта «живет» вместе с реальным проектом. Менеджер проекта получает в свои руки инструмент контроля над свершившимися событиями, и возможность прогнозирования предстоящих проектов. В то же время, удобные, простые средства генерации отчетности по проекту позволяют легко довести необходимую проектную информацию до всех заинтересованных лиц в требуемой форме. Кроме того, использование Internet-технологий позволяет получить доступ к проектным данным с любой точки земного шара. Стадия завершения проекта часто является наиболее напряженной, как с точки зрения сроков исполнения проекта, так и с финансовой стороны. И в этих случаях, позволим себе повториться, наибольшая польза от использования систем управления проектами с применением компьютерных программ – это возможность проведения оперативного анализа  «Что… если…?». Кроме того, система может использоваться как инструмент для накопления статистических данных (описание ресурсов, базы данных внутренних расценок компании, типовые наборы работ, стоимостные оценки и т.д.). Использование такой статистики позволит в дальнейшем существенно повысить качество оперативного планирования и управления проектом, а также снизить трудозатраты на подготовку проектов организации и управления в дальнейшем. Представляется очевидным, что каждый следующий проект, реализованный с применением системы оперативного планирования, ратифицирует наиболее оптимальные стандарты организационно-технологического управления проектами.

1.2 Разработка модели систем управления проектами по средствам Web-интерфейса

1.2.1 Выбор точки зрения

Современные концепции проектирования распределенных информационных систем корпоративного уровня предполагают общение пользователя системы с базой данных посредством браузера и технологий Internet / Intranet. Для обеспечения подобных возможностей используемая система управления базами данных (СУБД) должна иметь средства стыковки с Internet / Intranet. Более того, в последнее время существует тенденция создания "красивых" мультимедийных Intranet приложений, содержащих много документов и объектов со сложной структурой. Для реализации таких приложений наиболее предпочтительно использовать объектные СУБД вследствие их способности быстро работать с данными сложной структуры3.

Основным протоколом при работе браузера c Internet является протокол HTTP (HyperText Transfer Protocol – протокол передачи гипертекста). Этот протокол предполагает взаимодействие браузера (Web - клиента) c HTTP - сервером по принципу "вопрос - ответ", т.е. браузер посылает запрос HTTP – серверу на информацию, а Web – сервер отсылает клиенту сформированную HTML (HyperText Markup Language – язык разметки гипертекста страничку и "забывает" о клиенте.

Обычно, работа клиентов с базами данных также строится либо по принципу "вопрос - ответ", либо ориентирована на поддержание постоянного соединения "Login - Logout". По принципу "вопрос - ответ" обычно работают различные поисковые системы Internet. При таком подходе пользователи подают запросы на Web – сервер, сервер обрабатывает их и отсылает обратно клиенту.

Принцип поддержания постоянного соединения обычно предполагает проверку паролей пользователей и применяется в системах, где важным является разграничение прав доступа к информации. Такой принцип применяется в системах электронной почты, основанных на Web (например, www.hotmail.com). При таком подходе Web – сервер вынужден на протяжении всего сеанса работы с базой данных хранить информацию о подключенном пользователе. По запросу Web - клиента "Logout" Web – сервер "отключает" пользователя. Подобный подход позволяет производить однократную проверку пароля при подключении с последующей передачей (при работе с базой) уникального идентификатора, однозначно определяющего конкретного пользователя на время всего сеанса работы. Такой уникальный идентификатор присваивается клиенту сервером и передается серверу при каждом запросе к базе данных. Если пользователь забудет отключиться от системы, через некоторое время Web – сервер сам его отключит.

1.2.2 Определение границ систем

Система должна удовлетворять следующим требованиям:

интеграция в существующее информационное пространство;

обновление, редактирование, дополнение содержимого БД;

корректное отображение в любом браузере;

малое время загрузки;

соответствие дизайна системы управления общему дизайну информационного комплекса;

четкая структура и удобная система навигации и поиска;

удобство использования (интуитивно-понятный интерфейс пользователя);

наличие системы администрирования;

обеспечение пользователей необходимой информацией по товарам;

cвязь с другими процессами и информационными ресурсами;

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

быстрота работы (добавление, изменение, удаление, поиск);

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

возможность интегрирования в программный комплекс предприятия;

необходимость и доступность информации;

Организация входных и выходных данных

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

Требования к надежности

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

1.2.3Выбор методологии моделирования

Для достижения поставленной цели в работе осуществляется решение следующих задач:

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

1.2.4 Выбор архитектуры системы

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

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

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

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

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

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

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

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

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

Рис. 1 Структура системы MVC

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

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

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

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

Система содержит следующие функции:

  •  управление данными – добавление, удаление и изменение сведений о клиентах и заказчике;
  •  автоматическую проверки типа и корректности вводимых данных;
  •  сохранения данных в базу данных;

В свою очередь всю систему можно разделить на две подсистемы исходя из среды, в которой они выполняются:

  •  серверную часть, написанную на языке программирования PHP и выполняющуюся на сервере;
  •  клиентскую часть, написанную (генерируемую скриптом PHP) на языке разметки HTML и языке программирования JavaScript с использованием библиотеки jQuery и выполняющаяся в браузере пользователя.

1.2.5 Выбор инструментов разработки

Основной задачей проекта было создание максимально простой, дешевой и удобной системы управления базой данных компании O'STIN, поэтому в качестве основных средств программной разработки были выбраны среды не требующие затрат на свою покупку, распространяющиеся по лицензиям OpenSource, GPL (General Public License). По аналогичным соображениям была выбрана операционная система для установки SQL сервера и СУБД.

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

Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую.

Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка.

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

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

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

Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя различные особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств.

SQL работает согласно реляционной информационной модели.

В реляционной модели данных таблица обладает следующими основными свойствами:

идентифицируется уникальным именем;

имеет конечное (как правило, постоянное) ненулевое количество столбцов;

имеет конечное (возможно, нулевое) число строк;

столбцы таблицы идентифицируются своими уникальными именами и номерами;

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

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

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

На содержимое таблиц допустимо накладывать ограничения в виде:

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

запрета для какого-либо столбца (столбцов) иметь пустые (NULL) ячейки.

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

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

Основными операциями над таблицами являются следующие:

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

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

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

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

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

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

 В настоящее время наибольшее распространение получили реляционные SQL СУБД двух групп:

мощные крупные коммерческие СУБД, ориентированные на хранение огромных объемов информации (от гигабайт);

мобильные компактные свободно распространяемые (в том числе и в исходных кодах) СУБД, использование которых оправдано и для БД объемом всего лишь в десятки килобайт, т.к. они распространяются совершенно бесплатно.

Наиболее известными СУБД первой группы являются:

Sybase SQLserver фирмы Sybase, Inc.;

Oracle фирмы Oracle Corporation;

Ingres фирмы Computer Associates International;

Informix фирмы Informix Corporation.

К наиболее популярным СУБД второй группы относятся:

PostgreSQL организации PostgreSQL;

microSQL фирмы Hughes Technologies Pty. Ltd.;

mySQL фирмы T.C.X DataKonsult AB.

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

В данном проекте, управление сервером баз данных, реализуются средствами СУБД MySQL.

Преимуществами MySQL по сравнению с остальными СУБД являются:

производительность (использует Yahoo и Google);

масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);

надежность (в коде проприетарных продуктов содержится в десять с лишним раз больше уязвимостей);

простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);

открытая и модульная разработка;

низкие совокупные затраты (платить нужно только при потребности в поддержке).

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

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

Клиентскую часть СУБД составляют клиенты трех основных типов.

Интерактивные клиенты, обеспечивающие пользователю-человеку возможность общения с SQL-сервером непосредственно с помощью языка SQL.

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

WWW-клиенты, встраиваемые в World Wide Web-сервера и обеспечивающие доступ к информационным возможностям SQL-сервера пользователям сети Internet по протоколу HTTP (протоколу передачи гипертекстовых документов).

Именно с последним типом клиентов и работает программа, разработанная для работы с БД клиентов и заказчиков, которая в свою очередь написана на простом и широко распространенном языке PHP.

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

В области программирования для Сети, PHP — один из популярнейших скриптовых языков благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Не нужно писать свои собственные функции. При использовании, к примеру, C, вам придется это делать самому.

В PHP переданные сценарию параметры автоматически станут переменными сценария, с которыми можно работать, как с обыкновенными переменными. То же самое происходит с переменными окружения сервера. Следует упомянуть, что PHP поддерживает работу с различными базами данных (MySQL, PostgresSQL, Sybase, Informix, др.). Поддержка всех этих возможностей уже имеется в PHP.

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

простота разработки, внедрения приложений, распространенность приложений;

полная поддержка всеми web-серверами (Apache, IIS) и интернет хостингами;

простота работы c запросами SQL.

Проведем сравнительный анализ двух технологий создания динамических Web-страниц – ASP.net и PHP, и СУБД – MySQL и MS-SQL чтобы обусловить выбор PHP и MySQL для разработки программы управления БД клиентов и заказчиков (табл. 1.1).

Таблица 1.1

Сравнительный анализ PHP - ASP.net и MySQL – MS-SQL

№ п/п

Критерий

PHP (СУБД MySql, Web-сервер Apache, ОС Linux)

ASP.net (СУБД MS SQL Server, Web-сервер IIS, ОС Windows)

1

Стоимость

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

Платная технология (придется оплатить несколько лицензий Microsoft)

2

Сложность

освоения

Не нужна дорогая среда программирования, достаточно пары учебников

Необходима среда разработки Visual Studio, MSDN, доступ в Интернет

3

Основное

предназначение

Мелкие и средние проекты, рассчитанные на небольшие группы программистов

Средние и большие проекты, рассчитанные на большие группы программистов под четким управлением

4

Скорость работы

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

За счет сложной модели классов ASP.net многократно перепроверяет данные, удерживая каждое приложение в отдельном адресном пространстве. Подход более надежен и не менее быстр, но более требователен к ресурсам

5

Кэширование

данных из БД

Генерирует множество запросов к СУБД

Старается делать из БД как можно меньше выборок, помещая все актуальные таблицы и даже связи между ними в кэш (технология ADO.NET )

6

Наличие отладчика

Полноценного отладчика нет, но может компенсироваться Фреймворками сторонних производителей

Удобный отладчик Visual Studio

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

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

Основными достоинствами Фреймворка CodeIgniter являются6:

CodeIgniter бесплатен. Он лицензирован под Apache/BSD-style open source license для того, чтобы вы могли использовать его как угодно.

поддержка версий PHP4 и PHP5;

модель MVC (Model-View-Controller);

поддержка баз данных MySQL, PostgreSQL, MSSQL, SQLite, Oracle;

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

возможность использование ЧПУ. Так же возможно использовать стандартый вид адресной строки;

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

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

хорошо спроектированная документация на английском языке с примерами;

очень быстр в работе. В этом смысле — эталон скорости и пример для подражания.

Многие PHP-программисты считают CodeIgniter лучшим выбором.

1.2.6 Составление модели обработки информации «как должно быть»

Информационное взаимодействие в рамках проектируемой программы управления БД товарных групп представляет собой связь нескольких составляющих:

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

Информационное взаимодействие между компонентами веб-сервера (Apache), PHP и базой данных MySQL;

Информационное взаимодействие между системой управления БД товаров и пользователями этой системы, посредством интерфейса пользователя с помощью веб-браузера.

1.3 Постановка задачи систем управления проектами посредством Web-интерфейса

Компания O'STIN начала свою деятельность в России в 2003 г.

O'STIN – это розничная сеть магазинов, предлагающих мужскую, женскую и молодежную одежду и аксессуары в стиле casual среднего ценового диапазона под торговыми марками O'Stin Casual, O'Stin Studio и O'Stin Woman.

На момент проведения Диагностики штат компании составляет 110 сотрудников.

Список программного обеспечения, используемого компанией на момент обследования

1. "1С: Предприятие 8.0" ("Бухгалтерия", "Торговля", "Зарплата", "Кадры", "Касса", "Банк") для работы бухгалтерии.

2. Две собственные разработки на базе конфигуратора "1С" - "Закупки" и "Продажи".

3. Собственная разработка на базе FOXPRO для финансового отдела.

4. Excel для планирования продаж.

Существующий уровень автоматизации представлен в табл. 1.2

Таблица 1.2

Существующий уровень автоматизации

Количество рабочих станций, всего:

90

Количество сотрудников отдела IT

2

Количество ПК, одновременно работающих в сети

50

Наличие и форма связи с удаленными объектами

Терминальная связь со складом

Количество рабочих станций на удаленном объекте

8

Характеристики компьютеров

От Celeron 600 и выше

Операционная система

Windows 98, XP

Системы, которые представляется возможным оставить без изменения

"1С: Предприятеи 8.0" в модульном составе "Бухгалтерия", "Зарплата", "Кадры", для работы бухгалтерии

Основной целью является создание системы управления базой данных компании O'STIN для повышения эффективности ее работы. Полное название программного продукта «Программа управления базой с помощью веб интерфейса».

Программа предназначена для интеграции в информационную среду компании O'STIN, для работы с БД товаров. Целью разработки являются повышение эффективности работы компании O'STIN, сокращение времени на поиск и обработку информации.

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


2 ПРОЕКТНЫЙ РАЗДЕЛ

2.1 Разработка  систем управления

2.1.1 Построение логической модели систем управления

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

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

Рис. 2.1  Алгоритм авторизации пользователя

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

Общий же алгоритм работы программы представлен на рисунке 2.2: Программное обеспечение состоит из набора PHP-скриптов.

Рис. 2.2 Общая схема работы системы

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

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

2.1.2 Предполагаемое количество обрабатываемой информации

MySQL версии 3.22 имеет предел по размеру таблиц 4 Гб. В MySQL версии 3.23, где используется новый тип таблиц, максимальный размер таблицы доведен до 8 миллионов терабайтов (2 63 bytes).

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

Таблица 2.1

Примеры ограничений

Операционная система 

Ограничения на размеры файла 

32-разрядная Linux-Intel

2Гб, 4Гб и более, в зависимости от версии Linux

Linux-Alpha

8T (?)

Solaris 2.5.1

2 Гб (с патчем возможно 4Гб)

Solaris 2.6

4Гб (может быть изменено при помощи указания флага)

Solaris 2.7 Intel

4 Гб

Solaris 2.7 UltraSPARC

512 Гб

В Linux 2.2 существует возможность создавать таблицы с размерами более 2 Гб, используя патч LFS для файловой системы ext2. Существуют также патчи, обеспечивающие поддержку больших файлов для ReiserFS в Linux 2.4.

Как можно видеть, размер таблицы в базе данных MySQL обычно лимитируется операционной системой.

По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой таблицы можно проверить/определить ее максимальный размер с помощью команд SHOW TABLE STATUS или myisamchk -dv table_name. See section 4.5.6 Синтаксис команды SHOW.

Если необходимы таблицы большего размера, чем 4 Гб (и используемая операционная система ``не возражает''), следует при создании такой таблицы задать параметры AVG_ROW_LENGTH и MAX_ROWS (see section 6.5.3 Синтаксис оператора CREATE TABLE). Эти параметры можно задать и позже - с помощью ALTER TABLE (see section 6.5.4 Синтаксис оператора ALTER TABLE).

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

2.1.3 Определение конфигурации комплекса технического обеспечения

Клиентская часть системы должна работать на IBM-совместимых персональных компьютерах.

Минимальная конфигурация клиентского оборудования:

  •   тип процессора - Pentium I 166 Mgz и выше;
  •   объем оперативного запоминающего устройства - 64 Мб и более;
  •  объем свободного места на жестком диске - 20 Мб.

Рекомендуемая конфигурация:

  •  тип процессора - Pentium IV 1.5 ГГЦ;
  •  объем оперативного запоминающего устройства - 512 Мб;
  •  объем свободного места на жестком диске -  500 Мб.

Минимальная конфигурация серверной части:

  •   тип процессора - Pentium III 1000 Mgz и выше
  •   объем оперативного запоминающего устройства - 256 Мб и более;
  •  объем свободного места на жестком диске - 50 Мб (без учета БД).

Рекомендуемая конфигурация:

  •  тип процессора - Pentium D 2.8 ГГЦ;
  •  объем оперативного запоминающего устройства - 2048 Мб;
  •  объем свободного места на жестком диске - 50 Мб (без учета БД).

Клиентская часть программы должна работать под Интернет браузерами IE 5 и выше, или аналогичных Opera, Mozilla Firefox. Используемая ОС при этом не должна иметь значения.

Серверная часть должна быть полностью совместима с СУБД MySQL v 5.0, web-сервером Apache v. 2.2. под управлением ОС Hardened Gentoo Linux.

2.1.4 Разработка физической модели систем управления

База данных состоит из 3 взаимосвязанных таблиц.

База данных магазина представлена в виде таблицы товаров. Организованной по следующей схеме (табл. 2.2).

Таблица 2.2

Таблица товаров

Название

Производитель

Товарная группа

Цена

Количество

333

Armani

www

1

1

Кардиган

Bikkembergs

Верхняя одежда

2600

1

Туфли классические

Calvin Klein

Туфли

3250

4

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

Добавление производителя (addNewBrand.php):

<?php

if(isset($_POST['name']))

{

$newBrandName = strip_tags($_POST['name']);

require_once($_SERVER['DOCUMENT_ROOT'].'/db/dbclass.php');

$db = new dbclass();

$db->prepare('INSERT INTO `brands`(`name`) VALUES (:newName)');

try

{

 $db->bind(':newName', $newBrandName);

 $db->execute();

 $response=array('status'=>'ok');

}

catch(Exception $e)

{

 $response=array('status'=>'error','msg'=>'РћСРёР±РєР° РР”!');

}

}

else

{

$response=array('status'=>'error','msg'=>'НеизвесСная РѕСРёР±РєР°!');

}

echo(json_encode($response));

?>

Добавление новой товарной группы (addNewGroup.php):

<?php

if(isset($_POST['name']))

{

$newGroupName = strip_tags($_POST['name']);

require_once($_SERVER['DOCUMENT_ROOT'].'/db/dbclass.php');

$db = new dbclass();

$db->prepare('INSERT INTO `groups`(`name`) VALUES (:newName)');

try

{

 $db->bind(':newName', $newGroupName);

 $db->execute();

 $response=array('status'=>'ok');

}

catch(Exception $e)

{

 $response=array('status'=>'error','msg'=>'РћСРёР±РєР° РР”!');

}

}

else

{

$response=array('status'=>'error','msg'=>'НеизвесСная РѕСРёР±РєР°!');

}

echo(json_encode($response));

?>

Добавление нового товара (addNewProduct.php):

<?php

if(isset($_POST['name']) && isset($_POST['brand']) && isset($_POST['group']) && isset($_POST['price']) && isset($_POST['count']))

{

$name = strip_tags($_POST['name']);

$brand = strip_tags($_POST['brand']);

$group = strip_tags($_POST['group']);

$price = strip_tags($_POST['price']);

$count = strip_tags($_POST['count']);

require_once($_SERVER['DOCUMENT_ROOT'].'/db/dbclass.php');

$db = new dbclass();

$db->prepare('SELECT * FROM `brands` ORDER BY `id` ASC');

$db->execute();

$allBrands=array();

while($r=$db->fetch())

{

 $allBrands[$r['id']]=$r['name'];

}

$db->prepare('SELECT * FROM `groups` ORDER BY `id` ASC');

$db->execute();

$allGroups=array();

while($r=$db->fetch())

{

 $allGroups[$r['id']]=$r['name'];

}

 

$db->prepare('INSERT INTO `products`(`name`,`price`,`group_id`,`group_name`,`brand_id`,`brand_name`,`count`) VALUES (:name,:price,:groupId,:groupName,:brandId,:brandName,:count)');

try

{

 $db->bind(':name', $name);

 $db->bind(':price', $price);

 $db->bind(':groupId', $group);

 $db->bind(':groupName', $allGroups[$group]);

 $db->bind(':brandId', $brand);

 $db->bind(':brandName', $allBrands[$brand]);

 $db->bind(':count', $count);

 $db->execute();

 $response=array('status'=>'ok');

}

catch(Exception $e)

{

 $response=array('status'=>'error','msg'=>'РћСРёР±РєР° РР”!');

}

}

else

{

$response=array('status'=>'error','msg'=>'НеизвесСная РѕСРёР±РєР°!');

}

echo(json_encode($response));

?>

Удаление производителя (deleteBrand.php):

<?php

if(isset($_POST['id']))

{

$id = strip_tags($_POST['id']);

require_once($_SERVER['DOCUMENT_ROOT'].'/db/dbclass.php');

$db = new dbclass();

$db->prepare('DELETE FROM `brands` WHERE `id`=:id');

try

{

 $db->bind(':id', $id);

 $db->execute();

 $response=array('status'=>'ok');

}

catch(Exception $e)

{

 $response=array('status'=>'error','msg'=>'РћСРёР±РєР° РР”!');

}

}

else

{

$response=array('status'=>'error','msg'=>'НеизвесСная РѕСРёР±РєР°!');

}

echo(json_encode($response));

?>

Удаление товарной группы (deleteGroup.php):

?php

if(isset($_POST['id']))

{

$id = strip_tags($_POST['id']);

require_once($_SERVER['DOCUMENT_ROOT'].'/db/dbclass.php');

$db = new dbclass();

$db->prepare('DELETE FROM `groups` WHERE `id`=:id');

try

{

 $db->bind(':id', $id);

 $db->execute();

 $response=array('status'=>'ok');

}

catch(Exception $e)

{

 $response=array('status'=>'error','msg'=>'РћСРёР±РєР° РР”!');

}

}

else

{

$response=array('status'=>'error','msg'=>'НеизвесСная РѕСРёР±РєР°!');

}

echo(json_encode($response));

?>

Удаление товара (deleteProduct.php):

<?php

if(isset($_POST['id']))

{

$id = strip_tags($_POST['id']);

require_once($_SERVER['DOCUMENT_ROOT'].'/db/dbclass.php');

$db = new dbclass();

$db->prepare('DELETE FROM `products` WHERE `id`=:id');

try

{

 $db->bind(':id', $id);

 $db->execute();

 $response=array('status'=>'ok');

}

catch(Exception $e)

{

 $response=array('status'=>'error','msg'=>'РћСРёР±РєР° РР”!');

}

}

else

{

$response=array('status'=>'error','msg'=>'НеизвесСная РѕСРёР±РєР°!');

}

echo(json_encode($response));

?>

Кроме того, реализована функция просмотра статистики продаж (saleItem.php):

<?php

if(isset($_POST['id']) && isset($_POST['count']))

{

$id = strip_tags($_POST['id']);

$count = strip_tags($_POST['count']);

require_once($_SERVER['DOCUMENT_ROOT'].'/db/dbclass.php');

$db = new dbclass();

 

$db->prepare('SELECT * FROM `products` WHERE `id`=:id');

 $db->bind(':id',$id);

 $db->execute();

while($r = $db->fetch())

{

 $name = $r['name'];

 $brandId = $r['brand_id'];

 $groupId = $r['group_id'];

 $price = $r['price'];

}

 

$db->prepare('INSERT INTO `sales`(`id`,`name`,`brand_id`,`group_id`,`count`,`price`) VALUES(:id,:name,:brand,:group,:count,:price)');

try

{

 $db->bind(':id', $id);

 $db->bind(':name', $name);

 $db->bind(':brand', $brandId);

 $db->bind(':group', $groupId);

 $db->bind(':count', $count);

 $db->bind(':price', $price * $count);

 $db->execute();

 $db->prepare('UPDATE `products` SET `count`=`count`-:count WHERE `id`=:id');

 $db->bind(':count',$count);

 $db->bind(':id',$id);

 $db->execute();

 $response=array('status'=>'ok');

}

catch(Exception $e)

{

 $response=array('status'=>'error','msg'=>'РћСРёР±РєР° РР”!');

 }

}

else

{

2.2 Модель управления и обработки данных

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

Роли обуславливают функциональные возможности обработки данных. Так, роли директора и товароведа доступно добавление, удаление товарных групп, товаров, производителей (приложение 1, 2).

Менеджеру доступно лишь удаление товаров путем реализации  интерфейса продажи (tpl_manager_main.php):

<div id="statusPanel">

<?php

printf('<span>РРѕР±СЂСРдень, %s %s!</span>', $_SESSION['position'], $_SESSION['name']);

?>

<a style="float:right" href="/logout/">РССРѕРґ</a>

</div>

<div style="margin: 20px 0 0 40px;">

<a href="/stat/">РџРѕСЃРјРѕССЂРµССЊ СЃСР°СРёСЃСРёРєСѓ</a>

</div>

<div id="workspace">

<?php

 foreach($this->products as $k=>$v)

 {

  printf('<div style="margin: 0 0 20px;float:left">

 <p style="font-size:16px;color:#565656">%s > %s</p>

 <p>%s</p>

 <div style="width:150px;float:left;line-height:26px">%d СЂСѓР±.</div><div style="width:200px;float:left;line-height:26px">РРѕСЃССѓРїРЅРѕ <span id="itemCountAllow_%d">%d</span> СС‚.</div>

 <div style="float:left;line-height:26px">РљРѕР»-РІРѕ&nbsp;<input type="text" style="width:30px" id="itemCountForSale_%d"><input type="button" value="РџСЂРѕРґР°ССЊ!" onclick="saleItem(%d)" id="saleItemBut_%d"></div>

</div><div class="cb"></div>',$v['group'],$v['brand'],$v['name'],$v['price'],$k,$v['count'],$k,$k,$k);

 }

?>

</div>

Кроме того, ролям менеджера и директора доступна статистика продаж (tpl_stat.php):

<div id="statusPanel">

<?php

printf('<span>Р?Р?Р?С?С?Р? Р?РµР?С?, %s %s!</span>', $_SESSION['position'], $_SESSION['name']);

?>

<a style="float:right" href="/logout/">Р?С?С?Р?Р?</a>

</div>

<div style="margin: 20px 0 0 40px;">

 <a href="/">Р?Р? Р?Р?Р?Р?Р?С?С?</a>

</div>

<div id="workspace">

<h2 style="font-size:26px;">Р?С?Р?С?Р?С?С?Р?РєР? Р?С?Р?Р?Р?Р?</h2>

<br>

<p style="margin: 0 0 5px;">Р?С?РµР?Р? Р?С?Р?Р?Р?Р?Р? С?Р?Р?Р?С?Р?:</p><span style="margin: 0 0 0 15px;"><?php echo $this->overallCount; ?> С?С?С?Рє Р?Р? <?php echo $this->overallPrice;?> С?С?Р?.</span>

<p style="margin: 20px 0 5px;">Р? С?Р?Р? С?Р?С?Р?Рµ:</p>

<span>Р?Р?Р?Р?С?Р?С?Рµ Р?С?С?Р?Р?С?:</span><br>

 <?php

 foreach($this->groups as $k=>$v)

 {

  $groupCount = 0;

  $groupPrice = 0;

  foreach($this->sales as $id=>$data)

  {

   if($k==$data['group'])

   {

    $groupCount+=$data['count'];

    $groupPrice+=$data['price'];

   }

  }

  printf('<span style="margin: 0 0 0 15px;line-height:24px;">%s: %d С?С?С?Рє Р?Р? %d С?С?Р?.</span><br>',$v,$groupCount,$groupPrice);

 }

?>

<br>

<span>Р?С?Р?Р?Р?Р?Р?Р?Р?С?РµР?Р?:</span><br>

<?php

 foreach($this->brands as $k=>$v)

 {

  $brandCount = 0;

  $brandPrice = 0;

  foreach($this->sales as $id=>$data)

  {

   if($k==$data['brand'])

   {

    $brandCount+=$data['count'];

    $brandPrice+=$data['price'];

   }

  }

  printf('<span style="margin: 0 0 0 15px;line-height:24px;">%s: %d С?С?С?Рє Р?Р? %d С?С?Р?.</span><br>',$v,$brandCount,$brandPrice);

 }

?>

</div>

Разграничение ролей осуществляется путем идентификации по логину и паролю.

2.3 Разработка интерфейсных форм

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

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

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

Человеко-машинное взаимодействие (HCI - Human-Computer Interaction) – это наука, которая изучает, как люди используют компьютерные системы, чтобы решить поставленные задачи. HCI обеспечивает нас знаниями о компьютере и человеке для того, чтобы взаимодействие между ними было более эффективным и более удобным.

Интерфейс пользователя выполнен на языке разметки HTML с использованием JavaScript и библиотеки jQuery, что позволило построить интерактивный пользовательский интерфейс программы.

Имеется ряд стилей взаимодействий, которые делятся на два основных вида. Первый – это использование интерфейса языка команд - ввод команд текстовыми средствами, а второй – это непосредственное манипулирование. Таким образом, имеется ряд способов, которыми пользователь мог бы связываться с компьютером:

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

В своей программе я использовал комбинированную систему управления – формы, меню и диалоговые варианты, вида «вопрос-ответ».

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

Основные принципы создания интерфейса:

а) Естественность (интуитивность).

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

б) Непротиворечивость.

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

в) Неизбыточность.

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

г) Непосредственный доступ к системе помощи.

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

д) Гибкость.

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

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

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

Рис. 2.3 Интерфейс редактирования товаров

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

На рисунке 2.4 показан вид меню менеджера для осуществления продаж.

Рис. 2.4 Интерфейс продаж менеджера

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

2.4 Заставка и меню программы

Как таковой данная система управления заставки не имеет. При заходе на сайт http://dress-shop.is-great.org пользователю предлагается ввести логин и пароль (рис. 2.5).

Рис. 2.5 Страница входа в систему

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

Если роль определена как директор и товаровед, то данные пользователи могут добавлять и удалять данные. При этом функция удаления осуществляется путем нажатия значка «Х», для добавления же товара выводится дополнительная форма (рис. 2.6).

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

Рис. 2.6 Меню добавления товара.

Рис. 2.7 Статистика продаж

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

2.5 Структурная схема разработанных систем управления

Информационное взаимодействие можно представить в виде схемы (рис. 2.8).

Рис. 2.8 Структурная схема системы управления

Браузер – программа, используемая пользователем для просмотра гипертекстовых документов и передачи на сервер введенных данных.

Веб-сервер – программа, предназначенная для обработки HTTP запросов. Веб-сервер принимает запрос от браузера, анализирует его и высылает требуемый файл. Если запрашиваемый файл является скриптом, то этот скрипт запускается на выполнение. При этом ему передаются все данные, полученные от браузера, а все выводимые данные направляются в браузер.

PHP – интерпретатор, выполняющий скрипты. PHP позволяет скриптам посредством структурированного языка запросов SQL взаимодействовать с СУБД MySQL. Собственно программа управления БД товаров.

MySQL – система управляющая базами данных посредством обработки запросов на языке SQL.

БД – база данных, в которой содержится информация о пользователях системы и товарах.

Сервер – обрабатывает и хранит полученную информацию.

Администратор системы настраивает и сопровождает систему, выступает в роли цензора, просматривая данные на добавление в систему, распределяя их, а также устанавливая права доступа.

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


3 ЭКОНОМИЧЕСКИЙ РАЗДЕЛ

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

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

Согласно ГОСТ 23501.1-79 регламентируются следующие стадии проведения исследования:

  •  техническое задание – ТЗ (ГОСТ 23501.2-79);
  •  эскизный проект – ЭП (ГОСТ 23501.5-80);
  •  технический проект – ТП (ГОСТ 23501.6-80);
  •  рабочий проект – РП (ГОСТ 23501.11-81);
  •  внедрение – ВП (ГОСТ 23501.15-81).
  •  эксплуатация и сопровождение.

Все эти работы выполняются одним исполнителем – программистом.

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

Таблица 3.1

Перечень работ по стадиям разработки

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

Этап

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

ТЗ

  1.  Сбор материалов и анализ существующих разработок

  1.  Подбор литературы

  1.  Определение требований к системе

  1.  Определение стадий, этапов и сроков разработки базы данных

  1.  Анализ программных средств схожей тематики

ЭП

  1.  Разработка функциональной схемы программы

  1.  Разработка структуры программы управления по подсистемам

  1.  Документирование

  1.  Определение требований к программе управления

ТП

  1.  Выбор инструментальных средств

  1.  Определение свойств и требований к аппаратному обеспечению

  1.  Разметка таблиц структуры БД

РП

  1.  Программирование

  1.  Тестирование и отладка программы управления

  1.  Разработка программной документации

  1.  Согласование и утверждение работоспособности системы

  1.  Опытная эксплуатация

ВП

  1.  Анализ данных, полученных в результате эксплуатации

  1.  Корректировка технической документации по результатам испытаний

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

Трудоемкость каждого вида работ определяется по формуле

,        (3.1)

где Tmin – минимально возможная трудоемкость выполнения отдельного вида работ;

 Tmax – максимально возможная трудоемкость выполнения отдельного вида работ.

Продолжительность каждого вида работ в календарных днях (ti) определяется в днях по формуле:

,      (3.2)

где Ti – трудоемкость работ, человек-дней;

Чi – численность исполнителей, человек;

Kвых – коэффициент, учитывающий выходные и праздничные дни:

 

где

Ккал.число календарных дней;

Краб. – рабочие дни;

Согласно производственному и налоговому календарю на 2009 год (приложение А), количество рабочих дней составляет 249 дней, количество предпраздничных дней – 7, таким образом: Kвых=1,5.

Полный список видов и этапов работ по созданию ПО, экспертные оценки и расчетные величины их трудоемкости, а также продолжительность каждого вида работ, рассчитанные по формулам (3.1) и (3.2), представлены в приложении 3.

Таким образом, общая продолжительность проведения работ составит 96 рабочих дней, при последовательном выполнении всех вышеозначенных в приложении 3 этапов работы.

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

Ленточный график разработки программы управления базой данных товаров, построенный по данным таблицы 5.2приложения 3, приведен в приложении 4, с учетом того факта, что разработку программного продукта ведет 1 человек, график рассчитан на 147 календарных дней.

3.2 Расчет ежемесячных затрат на выполнение работ 

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

Спросн + Сдоп + Ссоц + См + Смаш.вр + Сн,      (3.3)

где

Спр – стоимость разработки ПО, руб.;

Сосн – основная заработная плата исполнителей, руб.;

Сдоп – дополнительная заработная плата исполнителей, учитывающая потери времени на отпуска, руб.;

Ссоц – отчисления на социальные нужды, руб.;

См – затраты на используемые материалы, руб.;

Смаш.вр – затраты на  машинное время, руб.;

Сн – накладные расходы включают затраты на управление, уборку, ремонт, электроэнергию, отопление и др., руб.

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

 ,        (3.4)

где

 Сосн – заработная плата исполнителей (руб.);

 Сср – средняя дневная оплата труда работника организации-разработчика программного продукта (3000 руб./чел.дн.);

 Т – трудоемкость разработки программного продукта (чел.дн.).

руб.

Таблица 3.2

Расчет основной заработной платы

  Исполнитель

Оклад,

руб/мес.

Оклад,

руб./дн.

Трудоемкость,

чел.-дн.

Сумма

Руб.

Разработчик

    63000

       3000

96

288000

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

288000

Дополнительная заработная плата исполнителей, учитывающая потери времени на отпуска и болезни (принимается в среднем 15% от основной заработной платы);

,          (3.5)

руб.

Отчисления на социальные нужды:

- Пенсионный фонд Российской Федерации — 14 %

- Федеральный бюджет — 6 % (20 %−14 %, согласно статье 243 ч. 2 НК РФ)

- ФСС — 2,9 %

- Фонды обязательного медицинского страхования — 3,1 %

Всего - 26%. Обязательное страхование от несчастных случаев на производстве и профессиональных заболеваний составляет 0,2% (для 1-й группы риска). Отчисления на социальные нужды рассчитываются относительно выплаченной заработной платы (суммы основной и дополнительной заработной платы) и составляют таким образом 26,2%:

,         (3.6)

руб.

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

Таблица 3.3

Расчет стоимости материалов

Материалы

Количество, шт.

Стоимость, руб.

Бумага писчая, пачек

3

900

Картридж для принтера, шт

1

2100

Другие канцтовары

-

1000

Общая стоимость материалов, См

4000

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

Смаш.вр = Цмаш.вр * Тмаш.вр ,        (3.7)

где

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

Тмаш.вр – машинное время, используемое на проведение работ.

Стоимость машинного дня принимается равным исходя из стандартного комплекта персонального компьютера. Стандартный монитор и системный блок производителя HP принимается равным  35000 руб. Норма амортизации 3 года, и отсутствие затрат на ремонт, т.к. в течении всего срока использования действует гарантия производителя. Потребление подобного комплекта оборудования принимается равным 300 вт/час. При  стоимости 1 кВт*ч равной по тарифам «Мосэнергосбыта» на 2009 год 1,83 руб., при расходе менее 500кВт*ч в месяц, получаем  Цмаш.вр = 16,6 руб/дн.

Необходимое количество машинного времени для реализации проекта по разработке программы рассчитывается по формуле:

Tмаш.вр = Ti * tсм * Tср.маш,         (3.8)

где

Ti – трудоемкость работ, чел-дн;

tсм – продолжительность рабочей смены (При пятидневной рабочей неделе tсм = 8 ч);

Tср.маш- средний коэффициент использования машинного времени (Tср.маш = 1).

Тогда          

Tмаш.вр = 96 * 8 * 1 = 768 ч.

Стоимость машинного времени составит:

Смаш.вр = 16,6 * 768 = 12748,8 руб.

К статье «Накладные расходы» относят расходы, связанные с управлением и организацией работ. Накладные расходы рассчитываются относительно основной заработной платы. Величина накладных расходов принимается равной 85% от основной зарплаты исполнителей.

Формула расчета:

Сн = Сосн * kнакл,          (3.9)

где

Сн – накладные расходы, руб.;

Сосн – основная заработная плата исполнителей, руб.;

kнакл. – коэффициент учета накладных расходов (К = 0,85). 

Сн = 288000 * 0,85 = 244800 руб.

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

Таблица 3.4

Смета затрат на разработку и внедрение программы

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

Обозначение

Сумма, руб.

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

Сосн

288000

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

Сдоп

43200

Отчисления на социальные нужды

Ссоц

86774

Материалы

Смат

4000

Стоимость машинного времени

Смаш.вр

12748

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

Сн

244800

Итого

Сраз

679522

Таким образом, себестоимость разработки составляет 679522 руб.

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

 

3.3 Расчет затрат на разработку систем управления

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

С = Смат + Сосн + Сдоп + Ссоц + Сам + Снакл,      (3.10)

где

С – общая величина годовых текущих затрат, руб./год;

Смат – затраты на основные материалы, руб./год;

Сосн – основная заработная плата работников, представляет оплату за отработанное время, включает зарплату по тарифу, стимулирующие и компенсирующие доплаты и надбавки (премии, за работу в ночное время, за совмещение профессий и др.), руб./год;

Сдоп – дополнительная заработная плата, учитывает выплаты зa неотработанное время (оплата отпусков, льготных часов, за выслугу лет и др.), принимается в размере 12-15% от основной заработной платы, руб./год;

Ссоц – отчисления во внебюджетные фонды государственного социального страхования, руб./год;

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

Снакл – накладные расходы, включают затраты на управление, уборку, ремонт, электроэнергию, отопление и т.п. (принимаются в размер 60-120% от суммы основной и дополнительной заработной платы), руб./год.

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

Рассчитаем годовые текущие затраты для каждого из вариантов отдельно.

В базовом варианте величина Смат складывается из стоимости бумаги и канцелярских товаров. Общий расход бумаги определяется в листах формата А4, из расчёта примерно 1500 знаков на 1 лист.

Смат.б. = Сбум + Сканц,         (3.11)

где

 Смат.б – затраты на основные материалы в базовом варианте, руб./год;

Сбум – затраты на бумагу, руб./год;

Сканц – затраты на канцелярские принадлежности, руб./год.

Пользуясь критерием необходимости и достаточности, Сканц в базовом варианте примем в размере 2500 рублей на одного человека:

Сканц.б. = 5*2500 = 12500 руб./год.

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

Таким образом, стоимость бумаги Сбум составит:

Сбум = Qвыв·Спачк/Nпачк,        (3.12)

где

Nпачк – количество листов в пачке (Nпачк =500), лист;

Спачк – стоимость одной пачки бумаги (приложение Е), руб.

Расходы на бумагу составят:  Сбум = 6100*300/500 = 3660 руб./год.

Подсчитаем затраты на основные материалы для базового варианта, подставив в формулу [Смат.б. = Сбум + Сканц], получим:

Смат.б = 12500 + 3660  = 16160 руб/год.

Общую величину годовых затрат на основную и дополнительную заработную плату [Сзар = Сосн + Сдоп] можно определить сразу, исходя из размера среднемесячной оплаты труда Зсрм и количества занятых работников Wп:

Сзар.б = 12*Зсрм *Wп,,         (3.13)

где

Сзар.б. – общая величина годовых затрат на основную и дополнительную заработную плату, руб./год;

Зсрм – среднемесячная оплата труда, руб./мес.

Для базового варианта затраты на основную и дополнительную зарплату составят:

Сзар.б. = 12*23620*5 = 1417200 руб./год.

Отчисления на социальные нужды Ссоц рассчитываются от суммы основной и дополнительной заработной платы в размере 26,2% (=0,262):

Ссоц.б. = 0,262 * Сзар.

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

Ссоц.б. = 0,262*1417200 = 371306,4 руб./год.

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

На = 1/ Тсл,           (3.14)

где 

На – норма амортизации, 1/лет;

Тсл – полезного использования объекта, лет.

Для покупаемого под офис помещения установим срок службы 50 лет. Для инвентаря примем срок службы равный 7 лет, для оборудования – 3 года. Срок службы для нематериальных активов таких как программное обеспечение и затраты, связанные с обучением сотрудников примем равным сроку службы для оборудования – 3 года, из-за того что рынок программного обеспечения развивается динамично, и выпуск производителем новых версий может повлечь за собой затраты на переобучение сотрудников.

Следует, что так как срок службы примерно составляет 50 лет, подставим в формулу и получим:

На = 1/50 = 0,02 руб./год.

Следовательно, срок службы для инвентаря составляет 7 лет, отсюда получим:

На = 1/7=0,143 руб./год.

При расчете суммы амортизации можно воспользоваться формулой:

Сам = Σni=1аi*Ki),         (3.15)

где  

Сам – сумма амортизации, руб./год;

Наi – норма амортизации io основного средства, 1/лет;

Ki – первоначальная стоимость io основного средства, руб.

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

Сам.б. = 0,02*2012500 + 0,143*79565 = 51627,79 руб./год.

Долю накладных расходов примем в размере 90% (=0,90) от суммы основной и дополнительной заработной платы:

Снакл = 0,9* Сзар,

где Снакл – доля накладных расходов, руб./год.

Для базового варианта доля накладных расходов составит:

Снакл.б. = 0,9*1417200 = 1275480 руб/год.

Таким образом, по формуле общие годовые текущие затраты на обработку информации в базовом варианте составят:

Сб = Смат.б + Сзар.б + Ссоц.б + Зам.б + Снакл.б,

подставим уже имеющиеся данные в данную формулу, получим:

Сб = 16160+1417200+371306,4+51627,79+1275480=3131774,2  руб./год

Аналогичным образом рассчитываем годовые текущие затраты в проектном варианте.

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

Смат.пр = Сбум + Сканц + Спечат,

где

Сбум — затраты на основные материалы в проектном варианте, руб/год;

 Сканц – затраты на материалы для печатающего устройства, руб/год;

Зная годовой объем выводимой информации можно рассчитать стоимость расходных материалов Спечат для печатающего устройства:

Спечат = Qвыв* Скарт/Rкарт,

где

Rкарт – ресурс печатающего картриджа, лист;

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

Рассчитаем стоимость

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

Спечат.пр = 6100*4500/10000 = 2745 руб./год.

Стоимость канцелярских принадлежностей в проектном варианте Сканц составит 1500 рублей на одного человека:

Сканц.пр =2*2500 = 5000 руб./год.

Тогда, затраты на основные материалы по формуле [Смат.пр = Сбум.пр + Сканц.пр + Спечат.пр] в проектном варианте равны:

Смат.пр = 2013 + 5000 + 2745 = 9758 руб./год.

В проектном варианте затраты на основную и дополнительную зарплату по формуле [Сзар.пр = 12*Зсрм *Wп] составят:

Сзар.пр = 12*23620*2=566880 руб./год.

Отчисления на социальные нужды по формуле [Ссоц.б. = 0,262*Сзар], в проектном варианте составят:

Ссоц =0,262*566880 = 148522,56 руб./год.

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

Таким образом, расходы на амортизацию для проектного варианта составят:

Сам.пр = 0,02*690000 + 0,143*38245 + 0,25*130000 + 0,25*35600 + 0,25*19000 = 65419,29руб./год.  

Дня проектного варианта доля накладных расходов состоит:

Снакл = 0,90*566880 = 510192 руб./год.

Рассчитаем общие годовые текущие затраты на обработку информации в проектном варианте:

Спр = 9758 + 566880 + 148522,56 + 65419,29+ 510192 = 1300771,85 руб./год.

3.4 Годовой экономический эффект и прочие показатели экономической эффективности  

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

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

В базовом варианте количество сотрудников, выполняющих данный объем работ без применения ПО – 5 человек.

В проектном варианте количество сотрудников, которые будут выполнять данный объем работ с использованием разработанного ПО – 2 человека и 2 ПЭВМ.

Зная величины текущих затрат дли базового (Сб) и проектного (Спр) вариантов, определим величину годовой экономии на текущих затратах:

ΔС = Сб – Спр,,          (3.16)

где

ΔС – величина годовой экономии на текущих затратах, руб./год;

Подставив имеющиеся величины затрат для обоих вариантов в формулу, следовательно получим:

ΔС = 3130127,2 – 1300771,85 = 1829355,35 руб./год.

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

Из приведенных выше расчетов, ясно видно, что имеет место существенная экономия средств за счет сокращения количества работников (2 вместо 5), и как следствие на социальных выплатах, рабочих местах, производственных площадях и т.д. 

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

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

Годовые приведенные затраты для io варианта инвестирования (Зi) определяются из выражения:

Зi = Сi + Ен·Кi,          (3.17)

где

Ci – годовые   текущие  затраты  для  io  варианта (себестоимость обработки информации), руб./год;

Кi – капиталовложения по i-му варианту руб./год;

Ен – нормативный коэффициент эффективности капитальных вложений, соответствующий годовой норме доходности капитала, принятой инвестором в качестве приемлемой для него величины., 1/лет.

Значение Ен зависит от конкретных экономических условий, средней банковской процентной ставки по стране, нормы доходности в данной отрасли, степени риска проекта, инфляции, средневзвешенной стоимости капитала фирмы. Минимальный размер Ен составляет примерно 15% (=0.15). Произведение Ен·Кi определяет нормативную (минимально допустимую) прибыль на используемый капитал и величина 3пр в целом представляет стоимость всех израсходованных ресурсов или минимально допустимый (нормативный) результат.

Годовые приведенные затраты для базового и проектного варианта  инвестирования соответственно составит:

Зпр.б = 3131774,2 + 0,15*2092065 = 3443936,95 руб./год.

Зпр.пр = 1300771,85 + 0,15*919345 = 1438673,6 руб./год.

При сравнении проектов, сопоставимых пo результату, выбор лучшего делается из условия минимума величины приеденных затрат:

Зпрmin.

Годовой экономический эффект Эг находится как разница приведенных затрат по двум сравниваемым вариантам:

Эг = Зб – 3пр,           (3.18)

где

Эг – годовой экономический эффект, руб./год;

3б – годовые приведенные затраты по базовому варианту, руб./год;

3пр – годовые приведенные затраты по проектному варианту, руб./год; Выражение для Эг можно переписать в следующем виде:

ЭГ = (С6 – СП) – ЕН·П – К6).

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

Проектный вариант предпочтительнее базового, если Эг > 0.

В соответствии с формулой [Эг = 36 – Зпр ], годовой экономический эффект при переходе на проектный вариант составит:

Эг = 3443936,95 – 1438673,6 = 2005263,35 руб./год.

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

Для принятия окончательного решения можно воспользоваться коэффициентом дополнительных капитальных вложений Е и величиной срока окупаемости дополнительных капитальных вложений Tок. Поскольку полученная по формуле [ΔК = Кпр – Кб] величина дополнительных капитальных вложений ΔК говорит об экономии на капитальных вложениях в проектном варианте по сравнению с базовым, то расчет этих показателей не окажет влияния па принимаемое решение.

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

Таким образом, ясно прослеживается преимущество автоматизации, экономия средств составляет до 41,55 % годовых затрат, по сравнению с традиционным, базовым методом производства.

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

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

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

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

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

Таблица 3.5

Основные технико-экономические показатели проекта

Показатель

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

Варианты

Проектн. вар-т в % к базовому

Базовый

Проектный

Способ обработки инфомации

-

вручную

автоматизированный

-

Применяемые технические средства

-

калькулятор, пишущая машинка

ЭВМ, принтер

-

Годовая трудоемкость по обработке информации

чел-ч

8387,5  

2355,82

28,08

маш-ч

-

1702,25

-

Кол-во исполнителей

чел

5

2

40

Капитальные вложения

руб.

2092065

919345

43,9

Годовые текущие затраты

руб.

3131774,2  

1300771,85

41,55

Годовые приведенные затраты

руб.

3443936,95

1438673,6

41,77

Годовой экономический эффект

руб./год

-

2005263,35

-

    

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

Использование разрабатываемой программы намного позволяет облегчить работу персонала, дает больше свободного времени на выполнение других обязанностей. 


ЗАКЛЮЧЕНИЕ

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

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

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

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

Кроме того, описаны способы применения PHP для разработки приложений, рассмотрены методы объектно-ориентированного программирования на PHP, отладки и тестирования приложений.

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

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

Использование разрабатываемой программы намного позволяет облегчить работу персонала, дает больше свободного времени на выполнение других обязанностей. 

Таким образом, расчеты подтвердили, что применение данной разработки является целесообразным.

 


СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ

  1.  Web-интерфейс объектной СУБД. - http://www.inteltec.ru/publish/articles/objtech/maltsev.shtml
  2.  Горелов Б.А., Рыжухина В.А. Корпоративная система – настоящее и будущее // Науч. сессия МИФИ-1998: Сб. науч. тр. В 8 т. М.: МИФИ, 2008. Т.5. С.174.
  3.  Губанова С.А. Электронные библиотеки и полнотекстовые базы данных. [Электронный ресурс]. - Режим доступа: www.library.tver.ru
  4.  Дейт К.Дж. Введение в системы баз данных. 6-е изд.: Пер. с англ. К.; М.; СПб.: издательский дом «Вильямс», 2009. 848 с. С.14.
  5.  Ершова Г.Н. Информационные технологии в книжном деле. [Электронный ресурс] Режим доступа http://www.bookresearch.ru/itbook.htm
  6.  Ковалев В.В. Методы оценки инвестиционных проектов. – М: РИНКЦЭ, 2007. – 40 с.
  7.   Когаловский М.Р. Энциклопедия технологий баз данных. М.: Финансы и статистика, 2011. 800 с.: ил.
  8.  Коноплев С.П. Экономика организаций. - М.: Проспект, 2010.-160с.
  9.  Кристина Пейтон, Андре Меллер. PHP 5 и MySQL 5 в примерах и на проектах – М.: Бином, 2009.– 368с.
  10.  Лебедев С.В. Web-дизайн. Учебное пособие по созданию публикаций для Интернет. – М.: Издательским дом Альянс-пресс, 2011. – 736с.
  11.  Макфедрис П. Создание Web-страниц. – М.: АСТ, Астрель, 2011. – 392с.
  12.  Медведев А. М., Швецкой М. В. Некоторые вопросы методологии отладки программ [Электронный ресурс]. – Режим доступа: http://it.kgsu.ru/Otladka/oglav.html
  13.  Онлайн энциклопедия Wikipeda [Электронный ресурс]. - Режим доступа: www.ru.wikipedia.org
  14.  Питтс Н. XML за рекордное время: Пер. с англ. М.: Мир, 2011.
  15.  Просветов Г.И. Математические методы в экономике и менеджменте» – М:. РДЛ, 2011. – 160с.
  16.  Рева О.Н. Создание Web-страниц. Просто как дважды два. – М.: Эксмо, 2010. - 208с., ил.
  17.  Степанов В.П. Учебно-методическое пособие по выполнению курсовой работы Экономическое обоснование проекта автоматизации технологического процесса обработки информации. –М.: МГУПИ, 2008. – 17с.
  18.  Стойкова А. М. Анализ  использования  компьютерных программных продуктов по оперативному планированию в строительной отрасли. - http://www.nbuv.gov.ua/portal/natural/Vodaba/2010_37/index.files/St53_37.htm


ПРИЛОЖЕНИЕ 1

tpl_director_main.php

<div id="statusPanel">

<?php

printf('<span>РРѕР±СЂСРдень, %s %s!</span>', $_SESSION['position'], $_SESSION['name']);

?>

<a style="float:right" href="/logout/">РССРѕРґ</a>

</div>

<div style="margin: 20px 0 0 40px;">

<a href="/stat/">РџРѕСЃРјРѕССЂРµССЊ СЃСР°СРёСЃСРёРєСѓ</a>

</div>

<div id="workspace">

<div id="groups">

 <p style="margin: 0 0 10px 20px;">ТоварнСРµ РіСЂСѓРїРїС‹ (<span id="groupsCount"><?php echo $this->groupsCount; ?></span>)</p>

 <input type="text" id="newGroupName"><input type="button" id="newGroupBut" value="РобавиССЊ" onclick="addNewGroup()">

 <div id="groupsPool">

  <?php

   foreach($this->groups as $k=>$v)

   {

    printf('<div id="group_%d" class="groupItem"><span id="groupName_%d">%s</span><span class="deleteGroup" onclick="deleteGroup(%d)"></span></div>',$k,$k,$v,$k);

   }

  ?>

 </div>

</div>

<div id="brands">

 <p style="margin: 0 0 10px 20px;">РџСЂРѕРёР·РІРѕРґРёСели (<span id="brandsCount"><?php echo $this->brandsCount; ?></span>)</p>

 <input type="text" id="newBrandName"><input type="button" id="newBrandBut" value="РобавиССЊ" onclick="addNewBrand()">

 <div id="brandsPool">

  <?php

   foreach($this->brands as $k=>$v)

   {

    printf('<div id="brand_%d" class="brandItem"><span id="brandName_%d">%s</span><span class="deleteBrand" onclick="deleteBrand(%d)"></span></div>',$k,$k,$v,$k);

   }

  ?>

 </div>

</div>

<div class="cb"></div>

<div id="allProducts">

 <p id="allProductsHeader">РСЃРµ Совары (<span id="productsCount"><?php echo $this->productsCount; ?></span>)</p>

 <p style="width:100%;text-align:center;font-size:14px;"><a href="#" onclick="$('#addNewProductForm').slideDown()">РобавиССЊ РЅРѕРІСРСовар</a></p>

 <div id="addNewProductForm">

  <table id="addNewProductTable">

   <tr>

    <td align="right" width="40%">Название:</td>

    <td><input type="text" style="width:100%" id="newProdName"></td>

   </tr>

   <tr>

    <td align="right" width="40%">Товарная РіСЂСѓРїРїР°:</td>

    <td>

     <select id="newProdGroup">

      <option value=""></option>

      <?php

      foreach($this->groups as $k=>$v)

      {

       printf('<option value="%d">%s</option>',$k,$v);

      }

      ?>

     </select>

    </td>

   </tr>

   <tr>

    <td align="right" width="40%">РџСЂРѕРёР·РІРѕРґРёСель:</td>

    <td>

     <select id="newProdBrand">

      <option value=""></option>

      <?php

      foreach($this->brands as $k=>$v)

      {

       printf('<option value="%d">%s</option>',$k,$v);

      }

      ?>

     </select>

    </td>

   </tr>

   <tr>

    <td align="right" width="40%">Цена:</td>

    <td><input type="text" style="width:40%;margin:0 5px 0 0;" id="newProdPrice"><span>СЂСѓР±.</span></td>

   </tr>

   <tr>

    <td align="right" width="40%">КолиСесСРІРѕ:</td>

    <td><input type="text" style="width:40%" id="newProdCount"></td>

   </tr>

   <tr>

    <td></td>

    <td><button id="newProdBut" onclick="addNewProduct()">РобавиССЊ Совар</button></td>

   </tr>

  </table>

 </div>

 <?php

  if(0!==$this->productsCount)

  {?>

   <table style="width:100%;">

    <tr style="background-color: #ddd">

     <td width="25%">Название</td>

     <td width="25%">РџСЂРѕРёР·РІРѕРґРёСель</td>

     <td width="25%">Товарная РіСЂСѓРїРїР°</td>

     <td width="10%">Цена</td>

     <td width="10%">КолиСесСРІРѕ</td>

     <td width="5%"></td>

    </tr>

    <?php

     foreach($this->products as $k=>$v)

     {

      printf('

       <tr id="product_%d" style="padding:2px 0;">

        <td style="padding:3px 0;" id="productName_%d">%s</td>

        <td style="padding:3px 0;">%s</td>

        <td style="padding:3px 0;">%s</td>

        <td style="padding:3px 0;">%d</td>

        <td style="padding:3px 0;">%d</td>

        <td style="padding:3px 0;"><span class="deleteBrand" onclick="deleteProduct(%d)"></span></td>

       </tr>', $k, $k, $v['name'], $v['brand'], $v['group'], $v['price'], $v['count'],$k);

     }

    ?>

   </table>

  <?php } ?>

</div>

</div>


ПРИЛОЖЕНИЕ 2

tpl_tovaroved_main.php

<div id="statusPanel">

<?php

printf('<span>РРѕР±СЂСРдень, %s %s!</span>', $_SESSION['position'], $_SESSION['name']);

?>

<a style="float:right" href="/logout/">РССРѕРґ</a>

</div>

<div id="workspace">

<div id="groups">

 <p style="margin: 0 0 10px 20px;">ТоварнСРµ РіСЂСѓРїРїС‹ (<span id="groupsCount"><?php echo $this->groupsCount; ?></span>)</p>

 <input type="text" id="newGroupName"><input type="button" id="newGroupBut" value="РобавиССЊ" onclick="addNewGroup()">

 <div id="groupsPool">

  <?php

   foreach($this->groups as $k=>$v)

   {

    printf('<div id="group_%d" class="groupItem"><span id="groupName_%d">%s</span><span class="deleteGroup" onclick="deleteGroup(%d)"></span></div>',$k,$k,$v,$k);

   }

  ?>

 </div>

</div>

<div id="brands">

 <p style="margin: 0 0 10px 20px;">РџСЂРѕРёР·РІРѕРґРёСели (<span id="brandsCount"><?php echo $this->brandsCount; ?></span>)</p>

 <input type="text" id="newBrandName"><input type="button" id="newBrandBut" value="РобавиССЊ" onclick="addNewBrand()">

 <div id="brandsPool">

  <?php

   foreach($this->brands as $k=>$v)

   {

    printf('<div id="brand_%d" class="brandItem"><span id="brandName_%d">%s</span><span class="deleteBrand" onclick="deleteBrand(%d)"></span></div>',$k,$k,$v,$k);

   }

  ?>

 </div>

</div>

<div class="cb"></div>

<div id="allProducts">

 <p id="allProductsHeader">РСЃРµ Совары (<span id="productsCount"><?php echo $this->productsCount; ?></span>)</p>

 <p style="width:100%;text-align:center;font-size:14px;"><a href="#" onclick="$('#addNewProductForm').slideDown()">РобавиССЊ РЅРѕРІСРСовар</a></p>

 <div id="addNewProductForm">

  <table id="addNewProductTable">

   <tr>

    <td align="right" width="40%">Название:</td>

    <td><input type="text" style="width:100%" id="newProdName"></td>

   </tr>

   <tr>

    <td align="right" width="40%">Товарная РіСЂСѓРїРїР°:</td>

    <td>

     <select id="newProdGroup">

      <option value=""></option>

      <?php

      foreach($this->groups as $k=>$v)

      {

       printf('<option value="%d">%s</option>',$k,$v);

      }

      ?>

     </select>

    </td>

   </tr>

   <tr>

    <td align="right" width="40%">РџСЂРѕРёР·РІРѕРґРёСель:</td>

    <td>

     <select id="newProdBrand">

      <option value=""></option>

      <?php

      foreach($this->brands as $k=>$v)

      {

       printf('<option value="%d">%s</option>',$k,$v);

      }

      ?>

     </select>

    </td>

   </tr>

   <tr>

    <td align="right" width="40%">Цена:</td>

    <td><input type="text" style="width:40%;margin:0 5px 0 0;" id="newProdPrice"><span>СЂСѓР±.</span></td>

   </tr>

   <tr>

    <td align="right" width="40%">КолиСесСРІРѕ:</td>

    <td><input type="text" style="width:40%" id="newProdCount"></td>

   </tr>

   <tr>

    <td></td>

    <td><button id="newProdBut" onclick="addNewProduct()">РобавиССЊ Совар</button></td>

   </tr>

  </table>

 </div>

 <?php

  if(0!==$this->productsCount)

  {?>

   <table style="width:100%;">

    <tr style="background-color: #ddd">

     <td width="25%">Название</td>

     <td width="25%">РџСЂРѕРёР·РІРѕРґРёСель</td>

     <td width="25%">Товарная РіСЂСѓРїРїР°</td>

     <td width="10%">Цена</td>

     <td width="10%">КолиСесСРІРѕ</td>

     <td width="5%"></td>

    </tr>

    <?php

     foreach($this->products as $k=>$v)

     {

      printf('

       <tr id="product_%d" style="padding:2px 0;">

        <td style="padding:3px 0;" id="productName_%d">%s</td>

        <td style="padding:3px 0;">%s</td>

        <td style="padding:3px 0;">%s</td>

        <td style="padding:3px 0;">%d</td>

        <td style="padding:3px 0;">%d</td>

        <td style="padding:3px 0;"><span class="deleteBrand" onclick="deleteProduct(%d)"></span></td>

       </tr>', $k, $k, $v['name'], $v['brand'], $v['group'], $v['price'], $v['count'],$k);

     }

    ?>

   </table>

  <?php } ?>

</div>

</div>


ПРИЛОЖЕНИЕ 3

Расчет трудоемкости и продолжительности работ по созданию ПО

№ работы

Стадии разработки

Трудоемкость, чел.дни

Количество работников, чел.

Продолжительность работ, календарные дни

Tmin

Tmax

Ti

Чi

ti

Техническое задание

1

-постановка задачи

1

1

1

1

1,5

2

-сбор материалов и анализ существующих разработок

1

2

1

1

1,5

3

-подбор литературы

2

3

2

1

3

4

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

2

3

2

1

3

5

-определение стадий, этапов и сроков разработки базы данных

2

3

2

1

3

Эскизный проект

6

-анализ программных средств схожей тематики

7

8

7

1

10,5

7

-разработка функциональной схемы программы

12

22

16

1

24

8

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

4

6

5

1

7,5

9

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

1

3

2

1

3

Технический проект

10

-определение требований к программе управления

3

3

3

1

4,5

11

-выбор инструментальных средств

1

1

1

1

1,5

12

-определение свойств и требований к аппаратному обеспечению

2

3

2

1

3

Рабочий проект

13

-разметка таблиц структуры БД

6

10

8

1

12

14

-программирование

15

30

21

1

31,5

15

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

7

8

7

1

10,5

16

-разработка программной документации

3

5

4

1

6

17

-согласование и утверждение работоспособности системы

2

3

2

1

3

Внедрение

18

-опытная эксплуатация 

7

8

7

1

10,5

19

-анализ данных, полученных в результате эксплуатации

3

3

3

1

4,5

20

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

2

3

2

1

3

Общая трудоемкость разработки

-

-

96

-

-


ПРИЛОЖЕНИЕ 4

Ленточный график разработки ПО

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

Календарные месяцы, дни

Июнь

Июль

Август

Сентябрь

Октябрь

            0  10  20  30

40 50 60

70 80 90

100  110 120

130 140 150

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

Сбор материалов и анализ существующих разработок

Подбор литературы

Определение требований к системе

Определение стадий, этапов и сроков разработки

Анализ программных средств схожей тематики

Разработка функциональной схемы программы

Разработка структуры программы управления

Документирование

Определение требований к программе управления

Выбор инструментальных средств

Определение требований  к аппаратному обеспечению

Разметка таблиц структуры БД

Программирование

Тестирование и отладка программы управления

Разработка программной документации

Согласование и утверждение работоспособности системы

Опытная эксплуатация

Анализ данных, полученных в результате эксплуатации

Корректировка технической документации

1 Стойкова А. М. Анализ  использования  компьютерных программных продуктов по оперативному планированию в строительной отрасли. - http://www.nbuv.gov.ua/portal/natural/Vodaba/2010_37/index.files/St53_37.htm

2 Стойкова А. М. Анализ  использования  компьютерных программных продуктов по оперативному планированию в строительной отрасли. - http://www.nbuv.gov.ua/portal/natural/Vodaba/2010_37/index.files/St53_37.htm

3 Web-интерфейс объектной СУБД. - http://www.inteltec.ru/publish/articles/objtech/maltsev.shtml

4 Когаловский М.Р. Энциклопедия технологий баз данных. М.: Финансы и статистика, 2011. 800 с.: ил.

5 Кристина Пейтон, Андре Меллер. PHP 5 и MySQL 5 в примерах и на проектах – М.: Бином, 2009.– 368с.

6 Рева О.Н. Создание Web-страниц. Просто как дважды два. – М.: Эксмо, 2010. - 208с., ил.



 

Другие похожие работы, которые могут вас заинтересовать.
20425. Анализ эффективности информационных систем управления проектами строительства линейных объектов и идентификация ключевых ошибок в процессе внедрения 1012.89 KB
  В данном научно-исследовательском проекте рассмотрен процесс внедрения информационных систем управления проектами далее ИСУП и ошибки возникающие в ходе его реализации. Целью данной работы является оценить эффективность инструментов календарно-сетевого планирования для проектов строительства объектов линейного типа магистральных трубопроводов и провести анализ ошибок возникающих при внедрении ИСУП собрать их в категории и разработать рекомендации по устранению этих ошибок и...
353. Требования к аппаратно-программным средствам. Процесс управления требованиями, участники процесса управления требованиями 106.65 KB
  Данная область знаний касается вопросов извлечения сбора анализа специфицирования и утверждения требований. На практике часто применяется подход используемый в различных методологиях разработки ПО и базирующийся на определении групп требований к продукту. Такой подход обычно включает группы типы категории требований например: системные программные функциональные нефункциональные в частности атрибуты качества и т. рисунок 1 высокоуровневого структурирования групп требований как требований к продукту описан в работах одного из...
9750. Разработка интерфейса пользователя для работы с базой данных «Автомастерская» 9.31 MB
  При разработке структуры базы данных использована идея семантического моделирования выделены имеющиеся функциональные зависимости и выполнена нормализация полученных отношений разработана программа для работы с базой данных конечного пользователя. Поэтому основным программным средством для обработки информации на данный момент являются различные информационные системы и базы данных. Для обработки таблиц Microsoft ccess использует мощный язык SQL Structured Query Lnguge структурированный язык запросов.
5106. Основные виды исследования систем управления: маркетинговые, социологические, экономические (их особенности). Основные направления совершенствования систем управления 178.73 KB
  В условиях динамичности современного производства и общественного устройства управление должно находиться в состоянии непрерывного развития, которое сегодня невозможно обеспечить без исследования путей и возможностей этого развития
12607. Разработка элементов пользовательского интерфейса для облачной системы взаимодействия с кластером 1.47 MB
  Облачные технологии позволяют решить перечисленные выше проблемы с использованием пакетов прикладных программ. Вместо установки на персональные компьютеры пользователей, ППП устанавливаются в облачной платформе, и пользователи работают с ними удаленно. При этом установка ППП выполняется квалифицированными администраторами облачной платформы, а пользователи сразу получают доступ к установленным и настроенным пакетам.
4474. Создание интерфейса оператора и модели управления в инструментальной среде TRACE MODE 6 31.89 KB
  Изучение принципов разработки интерфейса оператора и моделирования системы управления объектом средствами SCADA-системы TRACE MODE 6.
19369. Сущность управления проектами 25.73 KB
  Информация, используемая в управлении проектами, обычно не бывает стопроцентно достоверной. Учет неопределенности исходной информации необходим и при планировании проекта, и для грамотного заключения контрактов. Анализу и учету неопределенностей посвящен анализ рисков.
1646. Основы управления проектами 28.1 KB
  Основы управления проектами. Жизненный цикл проекта. В мире уже давно признано что управление проектами – особая область менеджмента применение которой дает ощутимые результаты. Профессионалы в этой области высоко ценятся а сама методология управления проектами стала фактическим стандартом управления на многих тысячах предприятий и применяется в той или иной степени практически во всех крупных корпорациях.
14763. Основные понятия управления проектами 17.7 KB
  Основные понятия управления проектами Проектом называется совокупность распределенных во времени мероприятий или работ направленных на достижение поставленной цели. Достижение этого результата означает успешное завершение и окончание проекта. Например для проекта строительства здания результатом является само здание принятое в эксплуатацию. Как и начало конец проекта может задаваться директивно или рассчитываться при составлении плана работ.
16064. Процесс управления проектами в России 364.69 KB
  Проект рассматривается как ограниченный временными рамками процесс, имеющий определенный начало и конец, как правило, ограничен датой (но также может ограничиваться финансированием или достижением результатов), который осуществляется для реализации уникальных целей и задач, как правило, чтобы привести к выгодным изменений или создания добавленной стоимости.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.