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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дипломная работа

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

 

ВВЕДЕНИЕ


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

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

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

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

-       сформулированы описание и анализ существующих технологий управления проектами;

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

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

-       разработана система управления;

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

-       разработаны интерфейсные формы;

-       разработана заставка и меню программы;

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

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

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

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

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

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 (А ноль)» - программный продукт созданный для выпуска сметной документации, подготовки и учета производства, предназначен для использования всеми участниками инвестиционного процесса.

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

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

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

 

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

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

Основным протоколом при работе браузера 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 Определение границ систем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-       входные данные поступают с клавиатуры.

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

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

-       предусмотреть контроль доступа к информации;

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

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

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

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

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

-       изучение основных методов построения электронных БД товаров;

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

-       разработка структурной схемы БД;

-       разработка схемы информационных потоков;

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

-       разработка пользовательского интерфейса;

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

-       разработка средств автоматизации комплексной отладки;

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

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

-       внесение изменений в интерфейс и функциональный код, согласно результатам испытаний;

-       внедрение программы;

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

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

-       настройка системы и учетных записей;

-       обучение персонала пользованию программой;

-       наполнение БД информацией.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-       сохранения данных в базу данных;

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

-       серверную часть, написанную на языке программирования PHP и выполняющуюся на сервере;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sybase SQLserver фирмы Sybase, Inc. <file:///D:\..\tppmsgs\msgs0.htm>;фирмы Oracle Corporation <file:///D:\..\tppmsgs\msgs0.htm>;фирмы Computer Associates International <file:///D:\..\tppmsgs\msgs0.htm>;

Informix фирмы Informix Corporation <file:///D:\..\tppmsgs\msgs0.htm>.

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

PostgreSQL организации PostgreSQL <file:///D:\..\tppmsgs\msgs0.htm>;фирмы Hughes Technologies Pty. Ltd. <file:///D:\..\tppmsgs\msgs0.htm>;фирмы T.C.X DataKonsult AB <file:///D:\..\tppmsgs\msgs0.htm>.

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

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

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

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

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

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

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

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

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

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

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

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

ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC).клиенты, встраиваемые в 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.является полноценным языком программирования, синтаксис которого очень напоминает C, а библиотека стандартных функций PHP очень большая, всё, что нужно веб-программисту, всегда под рукой. Основными достоинствами являются:

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

полная поддержка всеми 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

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

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

Основными достоинствами Фреймворка 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 г.'STIN - это розничная сеть магазинов, предлагающих мужскую, женскую и молодежную одежду и аксессуары в стиле casual среднего ценового диапазона под торговыми марками O'Stin Casual, O'Stin Studio и O'Stin Woman.

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

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

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

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

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

.        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 Разработка систем управления

 

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

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

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

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

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

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

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

Пользователь отсылает запрос серверу на показ определенной страницы. Сервер посредством правил транслирует адресную строку, переданную на сервер пользователем в 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(isset($_POST['name']))

{

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

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

$db = new dbclass();

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

{

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

$db->execute();

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

}(Exception $e)

{

$response=array('status'=>'error','msg'=>'Ошибка БД!');

}

}

{

$response=array('status'=>'error','msg'=>'Неизвестная ошибка!');

}(json_encode($response));

?>

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

<?php(isset($_POST['name']))

{

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

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

$db = new dbclass();

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

{

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

$db->execute();

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

}(Exception $e)

{

$response=array('status'=>'error','msg'=>'Ошибка БД!');

}

}

{

$response=array('status'=>'error','msg'=>'Неизвестная ошибка!');

}(json_encode($response));

?>

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

<?php(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']);

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

$db = new dbclass();

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

$db->execute();

$allBrands=array();($r=$db->fetch())

{

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

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

$db->execute();

$allGroups=array();($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)');

{

$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');

}(Exception $e)

{

$response=array('status'=>'error','msg'=>'Ошибка БД!');

}

}

{

$response=array('status'=>'error','msg'=>'Неизвестная ошибка!');

}(json_encode($response));

?>

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

<?php(isset($_POST['id']))

{

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

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

$db = new dbclass();

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

{

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

$db->execute();

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

}(Exception $e)

{

$response=array('status'=>'error','msg'=>'Ошибка БД!');

}

}

{

$response=array('status'=>'error','msg'=>'Неизвестная ошибка!');

}(json_encode($response));

?>

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

?php(isset($_POST['id']))

{

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

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

$db = new dbclass();

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

{

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

$db->execute();

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

}(Exception $e)

{

$response=array('status'=>'error','msg'=>'Ошибка БД!');

}

}

{

$response=array('status'=>'error','msg'=>'Неизвестная ошибка!');

}(json_encode($response));

?>

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

<?php(isset($_POST['id']))

{

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

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

$db = new dbclass();

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

{

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

$db->execute();

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

}(Exception $e)

{

$response=array('status'=>'error','msg'=>'Ошибка БД!');

}

}

{

$response=array('status'=>'error','msg'=>'Неизвестная ошибка!');

}(json_encode($response));

?>

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

<?php(isset($_POST['id']) && isset($_POST['count']))

{

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

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

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

$db = new dbclass();

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

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

$db->execute();($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)');

{

$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');

}(Exception $e)

{

$response=array('status'=>'error','msg'=>'Ошибка БД!');

}

}

{

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


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

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

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

<div id="statusPanel">

<?php('<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($this->products as $k=>$v)

{('<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>

}

?>

</div>

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

<div id="statusPanel">

<?php('<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($this->groups as $k=>$v)

{

$groupCount = 0;

$groupPrice = 0;($this->sales as $id=>$data)

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

{

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

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

}

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

}

?>

<br>

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

<?php($this->brands as $k=>$v)

{

$brandCount = 0;

$brandPrice = 0;($this->sales as $id=>$data)

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

{

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

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

}

}('<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). Аналогично, нельзя требовать от пользователя ввести информацию, которая была предварительно введена или которая может быть автоматически получена из системы. Желательно использовать значения по умолчанию, где только возможно, чтобы минимизировать процесс ввода информации.

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

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

д) Гибкость.

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

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

 

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