Проектирование информационной системы «Управление данными об изделии»

Содержание

  стр.

1 Основные концепции и средства разработки………………………………..

3

1.1   Постановка задачи на разработку……………………………………………...

3

1.1.1  Цель проекта……………………………………………………………………………..

3

1.1.2 Назначение проекта…………………………………………...........................

3

1.1.3  Задачи…………………………………………..................................................

3

1.2  Особенности формирования потоков данных в системе. …………

4

1.3  Создание модели данных с помощью AllFusion Erwin Data Modeler

7

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

10

1.5  Серверные языки программирования …………………………………………

11

1.6 Среды разработки …………………………………………………………………………

13

2  Проектирование информационной системы «Управление данными об изделии»……………………………………………………………………………………………...

 

17

2.1 Файловая структура приложения ……………………………………….................

17

2.1.1 Листинг файла index.php……………………………………….………………………..

17

2.1.2 Листинг файла editProjectsList.php ………………………………………………

18

2.1.3 Листинг файла editProject.php ……………………………………………………….

21

2.1.4 Листинг файла deleteProject.php ……………………………………………………

24

2.1.5 Листинг файла db.php ……………………………………………………………………..

25

2.1.6 Листинг файла  editItemList.php……………………………………………………….

30

2.1.7 Листинг файла deleteItem.php…………………………………………………………

33

2.2 База данных на языке SQL…………………………………………………………………..

35

2.3 Пользовательский  интерфейс…………………………………………………………….

43

Список использованной литературы……………………………………………………….

46


 

 

 

    1. Основные концепции и средства разработки

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

1.1.1 Цель проекта

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

1.1.2 Назначение проекта

Хранение информации о проектах на всех стадиях разработки.

1.1.3 Задачи

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

 

 

1.2 Особенности формирования потоков данных в системе. Методология IDEF0

 

Представим рассматриваемую предметную область в виде функциональной модели, построенной с помощью BPWin.

Для проведения анализа и реорганизации бизнес – процессов предназначено CASE-средство верхнего уровня AllFusion Process Modeler (BPwin), поддерживающее методологии:

  • IDEF0 (функциональная модель);

  • DFD (DataFlow Diagram);

  • IDEF3 (Workflow Diagram).

Функциональная модель предназначена для описания существующих бизнес – процессов на предприятии (так называемая модель AS-IS «как есть») и идеального положения вещей – того, к чему нужно стремиться (модель ТО-ВЕ «как должно быть»). Методология IDEF0 предписывает построение иерархической системы диаграмм – единичных описаний фрагментов системы.

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

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

Рис №1(Контекстная диаграмма, IDEF0)

 

Рис №2 (Функциональная декомпозиция)

 

 В качестве управления выступает главный менеджер, конструкторы, программисты, тестировщики и отдел продаж.

После описания контекстной диаграммы проводится функциональная декомпозиция (см. рис. №2)– система разбивается на подсистемы. Декомпозиция диаграммы описывает основные функции системы:

1) Разработка требований. Контролирует главный менеджер.

2) Разработка аппаратного обеспечения. Производится конструкторами на основании возможностей.

3) Разработка программного обеспечения. Производится программистами под конкретное аппаратное обеспечение на основании спецификаций.

4) Тестирование прототипа  изделия. Производится тестровщиками. Тестировщики, на основании выявленных проблем, могут вернуть продукт на доработку.

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

 

1.3 Создание модели данных с помощью AllFusion Erwin Data Modeler

Информационная модель в нотации IDEF1X

 

Для представления информационной модели данных используется CASE-средство ERWin. С его помощью при проектировании модели ИС «Управление данными об изделии» была создана логическая модель базы данных (Рис. 3).

Рис. 3. Логическая модель базы данных в программе ERWin

Основной таблицей в системе является таблица Projects. В ней хранятся данные о разрабатываемых проектах.

Таблица содержит следующие атрибуты:

  • Id – первичный ключ.
  • Short_name – Кодовое имя проекта.
  • Full_name – полное имя продукта для покупателей.
  • Status_id – Текущий статус проекта. Внешний ключ к таблице статусов.
  • Hardware_id – внешний ключ к таблице аппаратного обеспечения.
  • Software_id – внешний ключ к таблице программного обеспечения.

Информация об аппаратном и программном обеспечении вынесена в отдельные таблицы Hardware и Software соответственно.

Таблица данных об аппаратном обеспечении проекта содержит следующие атрибуты:

  • Id – первичный ключ.
  • Type – внешний ключ к таблице типов оборудования (телефон, смартфон, плеер и др.)
  • Motherboard_id – внешний ключ к таблице данных о материнских/системных платах.
  • Processor_id – внешний ключ к таблице данных о процессорах.
  • Display_id – внешний ключ к таблице данных о дисплеях.
  • Width и  Height – геометрические характеристики продукта.

Таблица данных о программном обеспечении содержит атрибуты:

  • Id – первичный ключ.
  • Name – Наименование программного обеспечения
  • Version – версия программного обеспечения.

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

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

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

Данные о пользователях системы хранятся в таблице Users. Таблица содержит следующие атрибуты:

  • Id – первичный ключ.
  • Login – имя пользователя, являющееся также уникальным в системе.
  • Password – пароль пользователя.
  • Full_name – полное имя пользователя.
  • Post – должность пользователя.
  • Email – электронный адрес.

 

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

 

В качестве системы управления базами данных в данном проекте применяется MySQL версии 5.5.28.

Системы управления базами данных представляют собой специальные программные пакеты, предназначенные для работы с большими массивами однородной информации. Альтернативой СУБД является хранение такой информации в файлах, однако, при очень небольших объемах данных. Попытка хранить и использовать в файле хотя бы 10000 записей приведет к значительной нагрузке на сервер, увеличив число записей до 100000, происходит программный сбой, связанный с перегрузкой.

Как правило, при разработке сайтов используется MySQL. В качестве альтернатив данной СУБД предлагаются также PostgreSQL, MsSQL, Oracle. Oracle используют  при разработке масштабных проектов.

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

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

MySQL может использоваться в среде многих Unix-подобных систем, а так же в среде MS Windows.

 

1.5 Серверные языки программирования

 

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

Серверные языки: PHP (PHP: Hypertext Preprocessor, http://www.php.net), Perl (http://www.perl.com), ASP/ASP.NET (Active Server Pages, http://www.asp.net, позволяет использовать множество языков программирования, например: C#, Visual Basic.NET), JSP (Java Server Pages, http://java.sun.com/products/jsp), Ruby (http://www.ruby-lang.org), Python (http://www.python.org).

Язык PHP наиболее распространён, за ним идут языки группы ASP.NET (C#, Visual Basic.NET) и JSP. Perl как язык программирования веб-приложений, начинает замещаться  такими языками, как Ruby и Python.

PHP – это серверный язык сценариев, разработанный специально для Web. В HTML-страницу можно внедрить PHP-код, который будет выполняться при каждом ее посещении. PHP-код интерпретируется веб-сервером и генерирует HTML-код или другой вывод, наблюдаемый посетителями страницы. В настоящее время текущей версией является 5.4.7. Основные преимущества PHP:

  • Высокая производительность;

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

  • Встроенные библиотеки для выполнения многих общих задач, связанных с Web;

  • Простота изучения и использования;

  • Устойчивая поддержка объектно-ориентированного программирования;

  • Переносимость;

  • Доступность исходного кода;

  • Доступность поддержки со стороны разработчиков.

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

PHP обладает встроенной возможностью подключения ко многим системам управления базами данных. В дополнение к СУБД – MySQL (http://dev.mysql.com), можно подключаться к базам данных PostgreSQL (http://www.postgresql.org), Oracle (http://www.oracle.com), SQLite (http://www.sqlite.org) и многим другим.

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

Поскольку PHP был разработан для использования в Web, он имеет множество встроенных функций для выполнения большого разнообразия полезных задач, связанных с Web. Синтаксис PHP основан на других языках программирования, в первую очередь на C и Perl. Версия 5 обладает спроектированными возможностями объектно-ориентированного программирования. Реализовано наследование, приватные и защищенные атрибуты и методы, абстрактные классы и методы, интерфейсы, конструкторы и деструкторы, встроенная функциональность итераций.

PHP можно использовать под управлением множества различных операционных систем (MS Windows, Unix-подобные).

 

1.6 Среды разработки

 

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

Наиболее распространены следующие среды разработки: PHP Expert Editor, PHP Designer, Zend Studio, Coda.

PHP Expert Editor – удобный редактор для PHP, Perl, Python, HTML, JavaScript и других файлов с поддержкой кодировки UTF-8. Имеет встроенный отладчик, HTTP-сервер, позволяющий запускать скрипты. Проверка синтаксиса, встроенный браузер, FTP-клиент с поддержкой SFTP (SSH File Transfer Protocol), кодовый и файл-навигатор, поддержка проектов, возможность настроить шаблоны кода и подсветку синтаксиса. Работает только под управлением ОС Windows.

PHP Designer – программа для создания, редактирования, отладки, анализа и публикации веб-страниц и приложений на языке PHP. Кроме PHP, программа поддерживает HTML, MySQL, XML, CSS, JavaScript, VBScript, JAVA, C, Python и Ruby. Обладает средствами для автоматической подсветки кода, проверки синтаксиса, дополнение кода, подсказки к функциям, кодовый и файл-навигатор, поддержка PHP-фреймворков, встроенный отладчик, FTP/SFTP-клиент. Имеет обширные библиотеки, содержащие более 3000 функций, доступ к которым можно легко осуществлять в процессе программирования. Работает только под управлением ОС Windows.

Zend Studio – интегрированная среда разработки приложений на языке программирования PHP. Основана на PHP Development Tools для Eclipse. Zend Studio тесно интегрирована с Zend Server, что предоставляет удобную систему отладки PHP-приложений. Так же Zend Studio интегрирована с Zend Framework и содержит инструменты для упрощения работы с этим фреймворком. Кроме PHP в программе реализована поддержка HTML, CSS, JavaScript. Основными функциями являются подсветка и сворачивание кода, анализ и исправление кода, иерархическое представление классов и методов, отладка PHP-скриптов (как локально, так и с помощью интеграции с Zend Server), встроенный PHPUnit (инструментарий для тестирования), интеграция с phpDocumentator (генерация документации). В составе приложения находятся SVN и CVS клиенты. Реализована поддержка FTP, SFTP. Есть возможность просмотра СУБД MySQL, Ms SQL Server, Oracle, PostgreSQL, SQLite. В комплекте поставляется Zend Studio Toolbar – панель для браузеров Internet Explorer и Mozilla Firefox для быстрой отладки и профилирования страниц непосредственно из браузера. Работает под множеством операционных систем: Linux, Windows, Mac OS X.

Coda – среда разработки веб-приложений. Поддерживает работу с  различными форматами файлов: PHP, CSS, JavaScript, HTML, Ruby, ActionScript, ASP, CFML, ERB, Java, JSP, LassoScript, Objective-J, Perl, Python, SQL, XML. Так же поддерживается шаблонизатор Smarty. Содержит в себе систему посайтового распределения проектов, FTP/SFTP клиента, SSH, SVN. Отличительные особенности относительно других редакторов: функция Live Collaboration, позволяющая одновременно нескольким программистам работать над одним файлом, в реальном времени наблюдая изменения в коде, дружественный интерфейс для поиска и замены текста, позволяющий легко формировать подстановку и использовать регулярные выражения, встроенный визуальный CSS-редактор. Работает под операционной системой Mac OS X.

В своем проекте я использую среду разработки Netbeans.

NetBeans IDE — свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, JavaFX, Python, PHP, JavaScript, C++, Ада и ряда других.

Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии. Среда разработки NetBeans по умолчанию поддерживала разработку для платформ J2SE и J2EE. Начиная с версии 6.0 Netbeans поддерживает разработку для мобильных платформ J2ME, C++ (только g++) и PHP без установки дополнительных компонентов.

Проект NetBeans IDE поддерживается и спонсируется компанией Oracle, однако разработка NetBeans ведется независимым сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org.

По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода и др.

В версии NetBeans IDE 6.1 декларируется поддержка UML, SOA, языка программирования Ruby (включая поддержку Ruby on Rails), а также средства для создания приложений на J2ME для мобильных телефонов. В версии 6.5 добавлена поддержка языка PHP. Также для тестирования выложен модуль поддержки Python.

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

На идеях, технологиях и в значительной части на исходном коде NetBeans IDE базируются предлагаемые фирмой Sun коммерческие интегрированные среды разработки для Java — Sun Java Studio Creator, Sun Java Studio Enterprise и Sun Studio (для ведения разработки на C, C++ или Фортран). Сравнительно недавно Sun стала предлагать эти среды разработки бесплатно для зарегистрировавшихся в Sun Developer Network (SDN) разработчиков, сама же регистрация на сайте бесплатна и не требует никаких предварительных условий, кроме согласия с лицензией CDDL.

NetBeans IDE доступна в виде готовых дистрибутивов (прекомпилированных бинарных файлов) для платформ Microsoft Windows, Linux, FreeBSD, Mac OS X, OpenSolaris и Solaris (как для SPARC, так и для x86 — Intel и AMD). Для всех остальных платформ доступна возможность скомпилировать NetBeans самостоятельно из исходных текстов.

В релизе NetBeans IDE 6.7 была добавлена интеграция с Project Kenai, поддержка языка Groovy и веб-фреймворка Grails. В версии 6.8 — поддержка PHP-фреймворка Symfony, а в 6.9 — Zend Framework.

 

2 Проектирование информационной системы «Управление данными об изделии»

2.1 Файловая структура приложения

 

ИС «Управление данными об изделии» представляет собой совокупность файлов написанных на языке PHP с разметкой на HTML и CSS, а также базу данных projectsdb под управлением СУБД MYSQL.

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

Рассмотрим предназначение отдельных файлов приложения.

 

 

 

 


Проектирование информационной системы «Управление данными об изделии»