СОДЕРЖАНИЕ
Разработка систем управления проектами по средствам Web интерфейса
алгоритм интерфейс обработка информация
1.1 Описание и анализ существующих технологий управления проектами
1.2 Разработка модели систем управления проектами по средствам Web-интерфейса
1.3 Постановка задачи систем управления проектами посредством Web-интерфейса
2.1 Разработка систем управления
быстрота работы (добавление, изменение, удаление, поиск);
простота доступа к системе как в локальной сети, так и через Internet;
возможность интегрирования в программный комплекс предприятия;
необходимость и доступность информации;
Организация входных и выходных данных
- входные данные поступают с клавиатуры.
- выходные данные отображаются на экране и при необходимости выводятся на печать.
Требования к надежности
- предусмотреть контроль доступа к информации;
- предусмотреть блокировку некорректных действий пользователя при работе с системой;
- предусмотреть возможность резервного копирования данных, на
случай отказа оборудования.
Для достижения поставленной цели в работе осуществляется решение следующих задач:
- выявление целесообразности и определение цели разработки и ее программно-алгоритмической части;
- изучение основных методов построения электронных БД товаров;
- разработка проекта технического задания на программу;
- разработка структурной схемы БД;
- разработка схемы информационных потоков;
- разработка алгоритмов проектирования основных модулей системы;
- разработка пользовательского интерфейса;
- разработка программного обеспечения;
- разработка средств автоматизации комплексной отладки;
- разработка средства обеспечения контроля и обработки результатов натурных испытаний программы;
- завершение натурных испытаний программы и осуществление приемки программы заказчиком;
- внесение изменений в интерфейс и функциональный код, согласно результатам испытаний;
- внедрение программы;
- контроль и приемка программы осуществляется специальной комиссией, созданной на момент сдачи продукта;
- обеспечение полной работоспособности всех аппаратных средств, в том числе и работы каналов связи;
- настройка системы и учетных записей;
- обучение персонала пользованию программой;
- наполнение БД информацией.
Разработка структурной схемы (архитектуры) программы является одним из наиболее важных этапов в процессе разработки программного обеспечения, неправильный выбор архитектуры ведет к риску срыва всего проекта в будущем. Данный этап является базовым для всего процесса разработки. Продуманная архитектура позволяет легко модифицировать программный продукт, если произойдут изменения требований к нему.
Архитектура - это набор значимых решений по поводу организации системы программного обеспечения, набор структурных элементов и их интерфейсов, при помощи которых компонуется система, вместе с их поведением, определяемым во взаимодействии между этими элементами, компоновка элементов в постепенно укрупняющиеся подсистемы , а также стиль архитектуры который направляет эту организацию -- элементы и их интерфейсы, взаимодействия и компоновку.
Под архитектурой понимается совокупность компонентов программы, а также связи и способы организации информационного обмена между ними. Логическая структура описывает объекты, которые связаны с другими объектами. Она определяет связи между ними.
Физическая структура описывает, где объект находится в действительности, отражая, например, путь к каталогу объекта в файловой системе или его расположение в базе данных.
Исходя из анализа требований, предъявляемых к системе, определяется набор всех функций, выполнение которых программа должна поддерживать. Далее полученные функции объединяются в логически связанные между собой группы. В процессе анализа функций и на первых стадиях проектирования архитектуры могут быть выявлены дополнительные функции, которые необходимо включить в разрабатываемую программу.
Архитектура должна чётко определять ответственность каждого компонента. Компонент должен иметь одну область ответственности и как можно меньше знать об областях ответственности других компонентов. Сведя к минимуму объём сведений, известных компонентам о других компонентах, можно легко локализовать информацию о проекте приложения в отдельных компонентах.
Архитектура должна ясно определять правила коммуникации между компонентами программы и описывать, какие другие компоненты данный компонент может использовать непосредственно, какие косвенно, а какие вообще не должен использовать.
Архитектура программы является модульной, чтобы графический интерфейс можно было изменить, не затрагивая основную логику программы.
Программа построена согласно архитектуре MVC (Model-View-Controller) или
модель-представление-контроллер. MVC представляет собой архитектуру
программного обеспечения, в которой модель данных приложения, пользовательский
интерфейс и управляющая логика разделены на три отдельных компонента, так, что
модификация одного из компонентов оказывает минимальное воздействие на другие
компоненты ( рис. 1).
Рис. 1 Структура системы MVC
(Модель) - модуль, отвечающий за непосредственный расчёт чего-либо на основе полученных от пользователя данных. Результат, полученный этим модулем, должен быть передан в контроллер, и не должен содержать ничего, относящегося к непосредственному выводу (то есть должен быть представлен во внутреннем формате системы). Основная цель - сделать так, чтобы модель была полностью независима от остальных частей и практически ничего не знала об их существовании, что позволило бы менять и контроллер и представление модели, не трогая саму модель и даже позволить функционирование нескольких экземпляров представлений и контроллеров с одной моделью одновременно.(Представление) - модуль вывода информации. В обязанности представления входит отображение данных полученных от модели. Обычно представление имеет свободный доступ к модели и может брать из нее данные, однако это доступ только на чтение, ничего менять в модели или даже просто вызывать методы, приводящие к изменению ее внутреннего состояния, представлению запрещено. Для взаимодействия с контроллером, представление, как правило, реализует некий интерфейс, известный контроллеру, что позволяет менять представления независимо и иметь несколько представлений на контроллер.(Контроллер) - модуль управления вводом и выводом данных. В задачи контроллера входит реакция на внешние события и изменение модели и/или представления в соответствии с заложенной в него логикой. Один контроллер может работать с несколькими представлениями, в зависимости от ситуации, взаимодействуя с ними через некий (заранее известный) интерфейс, который эти представления реализуют. Важный нюанс - в классической версии MVC контроллер не занимается передачей данных из модели в представление.
Таким образом, использование архитектуры MVC даёт ощутимые преимущества при проектировании и разработке программы управления базой данных клиентов и заказчиков.
Система содержит следующие функции:
- управление данными - добавление, удаление и изменение сведений о клиентах и заказчике;
- автоматическую проверки типа и корректности вводимых данных;
- сохранения данных в базу данных;
В свою очередь всю систему можно разделить на две подсистемы исходя из среды, в которой они выполняются:
- серверную часть, написанную на языке программирования PHP и выполняющуюся на сервере;
- клиентскую часть, написанную (генерируемую скриптом PHP) на
языке разметки HTML и языке программирования JavaScript с использованием
библиотеки jQuery и выполняющаяся в браузере пользователя.
Основной задачей проекта было создание максимально простой, дешевой и удобной системы управления базой данных компании 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-ух или более исходных путем включения в нее строк, образованных всеми возможными вариантами конкатенации (слияния) строк исходных таблиц.