Программная разработка интернет-магазина Deluxe
Основные конструкции языков программирования JavaScript и PHP. Анализ инструмента для визуального проектирования баз данных MySQL Workbench. Методы создания динамических Web-сайтов с применением технологии Ajax на примере интернет-магазина "Deluxe".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 02.07.2020 |
Размер файла | 5,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
программирование интернет магазин
В настоящее время Интернет становиться все более развитой средой для осуществления коммуникаций с потребителями. В тоже время, существенным является и тот факт, что Интернет становиться удобной и достаточно дешевой «торговой площадкой». Все большее количество фирм старается представить свою продукцию в on-line среде. При этом такое представление не ограничивается только лишь созданием промо-сайтов и размещением рекламных баннеров и статей в электронных журналах и на информационных порталах. С развитием Интернет-среды развивается и само предложение. Теперь люди могут не только получать интересующую их информацию, но и совершать покупки. При этом с помощью Интернет-магазинов можно приобретать товары совершенно разных категорий, как элементарные потребительские, так и высокотехнологичные. Такое положение вещей обусловлено постоянным, стабильным ростом аудитории пользователей глобальной сети. Основную часть аудитории сети Интернет составляют люди, работающие в офисах и проводящие большую часть времени за компьютером. Как правило, их образ жизни не позволяет им тратить большое количество времени на походы по off-line магазинам в поисках именно того, что им нужно. Возможность заказать интересующий продукт в Интернете является для них действительно выходом из ситуации.
Целью данной курсовой работы является изучение методов создания динамических Web-сайтов с применением технологии Ajax и систем управления базами данных, что позволит мне в бедующем легче освоить более серьезные реальные проекты со сложной структурой и большим количеством кода.
Для достижения вышеуказанной цели необходимо выполнить ряд следующих задач:
- изучить основные конструкции языков программирования JavaScript и PHP, познакомиться с основными возможностями системы управления базами данных MySQL, познакомиться с технологией Ajax. Изучить инструмент для визуального проектирования баз данных MySQL Workbench.
- создать удобную WEB-систему, которая предоставит пользователю полную информацию об интересующей продукции.
- рабочий интерфейс должен быть ориентирован на самого неопытного пользователя, который будет очень прост и удобен в использовании.
Для достижения вышеуказанных задач будет реализован интернет-магазин “Deluxe”.
1. ДОКУМЕНТ-КОНЦЕПЦИЯ
Введение
Цель документа-концепции
Цель данного документа состоит в сборе и анализе исходной информации для разработки, определении высокоуровневых потребностей пользователей и формулировании функций продукта.
Назначение и общая характеристика продукта
Распространяясь повсеместно и предлагая все более широкий ассортимент товаров и услуг, электронная коммерция становится инструментом интеграции отдельных лиц, предприятий, отраслей, государственных учреждений и государств в единое сообщество, внутри которого взаимодействие партнеров эффективно и беспрепятственно реализуется средствами информационных и телекоммуникационных технологий. Применение современных информационных технологий и систем коммуникаций (электронного обмена данными, сети Интернет, электронной почты, электронных платежей) способно вывести на качественно новый уровень все аспекты ведения бизнеса.
Развитие электронной коммерции и увеличение ее объемов сопровождается рядом положительных эффектов для мировой и российской экономики. Это результаты расширения электронной коммерции: прежде всего, сокращение транзакционных издержек, упрощение процедур торговли, расширение возможностей для притока инвестиций, расширение географии и доступности для участия в бизнесе, повышение конкуренции.
Целью данной курсовой работы является создание интернет-магазина, как средства повышения эффективности торговли.
Программный продукт в технологическом плане будет представлять собой интернет-магазин мебели, построенный на основе «большой» СУБД и Web-технологий.
Это позволит в качестве клиентского места использовать Web-браузер, а при необхо-
димости - организовать удаленный доступ к базе данных через Internet/Intranet. В со-
держательном плане программный продукт должен выполнять следующие функции:
- поиск товаров по запросу пользователя;
- просмотр подробной информации о товаре;
- добавление товара в корзину;
- выяснение необходимой информации о интересующем товаре с помощью услуги “вопрос-ответ”.
- хранение информации о сети магазинов и филиалов в г.Красноярске, а также просмотр информации о адресах, телефонах и часах работы.
Использование программного продукта позволит:
- экономить время на поиске интересующего товара;
- сохранение понравившегося товара в своей корзине;
Сферы применения программного продукта:
- индивидуальное использование;
Ссылки и использованная литература
Список документов, упоминаемых в документе-концепции
1. Архитектура и системные требования (спецификация).
Список источников, к которым можно обратиться за справками в процессе разработки
Нет особых требований.
Список использованной литературы
1. Современный учебник JavaScript [Электронный ресурс]. - URL: https://learn.javascript.ru
2. htmlbook.ru [Электронный ресурс]. - URL: https://htmlbook.ru
3. Справочник PHP [Электронный ресурс]. - URL:
4. Леффингуэлл, Д. Принципы работы с требованиями к программному обеспечению. Унифицированный подход [Текст] / Дин Леффингуэлл, Дон Уидриг ; пер. с англ. и ред. Н. А. Ореховой. - М. : Вильямс, 2002. - 446, [2] с. : ил. - Парал. тит. англ. -Прилож.: с. 369-438. - Библиогр.: с. 439-440. - Предм. указ.: с. 441-445. - Перевод изд.: Leffingwell, Dean. Managing Software Requirements. A Unified Approach / Dean Leffingwell, Don Widrig. Boston : Addison-Wesley, [2000]. - 3500 экз. - ISBN 5-8459-0275-4 (рус.). - ISBN 0-2016-1593-2 (англ.).
Описание пользователей
Виды пользователей и их краткие описания
«Обычный» человек
Такие пользователи четко представляют, что хотят купить. Например, их вещь вышла из строя или просто устарела, и теперь они хотят купить точно такую же вещь или ту, которая напоминает ее. Наверняка такие пользователи уже сходили в обыкновенный магазин, и не найдя нужного товара, обратились к сети.
Среда пользователя
Большинство пользователей используют операционную систему (ОС) Windows, хотя в настоящее время все большую популярность набирает ОС Linux, относящаяся к классу UNIX-подобных ОС.
Основные потребности пользователя
Общая потребность: получить ресурс, позволяющий быстро найти необходимый товар. Фотографии хорошего качества и подробное описание товаров. Удобство оформления заказа.
«Обычный» человек
Необходим ресурс для поиска необходимого товара не выходя из дома.
Состояние рынка и конкурирующие продукты
Характеристика рынка
С развитием интернет-технологий традиционные продажи становятся все менее привлекательным как вариант ведения бизнеса. Онлайн-магазины оказываются во многом более гибкими с точки зрения технологий ведения бизнеса и операционных расходов.
Интернет-магазинов становится все больше, как и товаров, которые можно купить через интернет.
Основные технологии, применяемые в отрасли для разработки подобных программных продуктов, следующие: языки программирования - JavaScript, PHP, Ruby, Python, Java и др.
Конкурирующие программные продукты
Определение позиции продукта на рынке
Интернет-магазины имеют много преимуществ перед стационарными торговыми точками. И если раньше они использовались преимущественно, как подспорье имеющимся реальным магазинам, то сейчас многие люди, начиная бизнес, создают только интернет-магазины и зарабатывают с помощью них свои капиталы.
Основные преимущества интернет-магазина:
- он доступен покупателю 24 часа в сутки, 7 дней в неделю, что позволяет не упустить клиентов в нерабочие часы;
- ваш бизнес не привязан к конкретному региону - вы можете осуществлять торговлю не только в своем городе, но и во всей стране, и даже на международном уровне;
- не нужно арендовать или покупать торговую площадь, можно обойтись просто складом для товаров, из которого и отгружать их напрямую;
- «витрина» интернет-магазина безгранична, т.е. не возникнет проблем с недостатком места для представления товаров потенциальным покупателям;
- on-line торговля не требует большого количества наемных сотрудников - если лично у вас не хватает времени на обработку заказов, вы можете нанять для этого всего лишь одного менеджера, и он будет выполнять ту работу, которую в обычном магазине делают пятеро консультантов.
Популярность интернет-магазинов все больше и больше растет среди потребителей из-за экономии времени, легкости поиска нужного товара, конфиденциальности покупок, доступности в любое время суток; поэтому многие люди сейчас полностью перешли на on-line покупки и в реальные магазины даже не заходят.
Функциональные требования (функции продукта)
Обязательные функции для первой версии
ПФТ1. Простые средства поиска информации
1. Должны быть предусмотрены простые средства поиска в базе данных и выборки информации из нее. На последующих этапах разработки эти средства должны быть значительно усилены.
Дополнительные функции для первой версии
Нет требований.
Будущие функции
ПФТ2. Развитые средства поиска информации
1. Должны быть предусмотрены различные средства поиска в базе данных и выборки информации из нее по различным критериям.
ПФТ3. Добавление товаров в корзину
1. Должна быть предусмотрена возможность добавления товаров в корзину, изменение количества выбранных товаров, удаление и пересчет суммы товаров.
Основные способы использования программного продукта и сценарии работы с ним
Простой способ использования программного продукта
Пользователь вводит в строке поиска слово или часть слова, при необходимости выбирает категорию товара и нажимает кнопку “Найти”. Программа выполняет поиск в базе данных и выводит на экран товары, удовлетворяющие заданному критерию поиска. Чтобы посмотреть подробную информацию о товаре, достаточно нажать на нужный товар. На странице отобразится фотография товара и его подробная информация. Чтобы добавить товар в корзину, нужно нажать на кнопку “В корзину”. На странице отобразится количество добавленных товаров и их общая сумма. Для того, чтобы оформить заявку, необходимо перейти в корзину, заполнить данные и нажать кнопку “Оформить заявку”.
Полномасштабный способ использования программного продукта
Нет требований.
Нефункциональные требования
Требования к программному продукту
Требования к инсталляции
Нет требований.
Требования к эксплуатации
Нет требований
Требования к эффективности
Нет требований
Требования к надежности
Нет требований
Требования к переносимости
Нет требований
Требования к защищенности
ПНТ1. Аутентификация пользователей
1. При входе пользователя в систему должна выполняться аутентификация.
Обоснование. Это необходимо для организации разграничения полномочий доступа к таблице “Корзина” в базе данных.
Требования к безопасности
Нет требований.
Требования к удобству сопровождения
Должны быть подробные комментарии в исходных текстах программ.
Требования к точности числовых вычислений
Нет требований.
Прочие требования к программному продукту
Нет требований.
Организационные требования
Выходные требования
Сроки разработки и изготовления
Первый работающий вариант программного продукта должен быть готов к 24 апреля 2020 г.
Сопутствующая документация
Нет сопутствующей документации.
Прочие выходные требования
Нет требований.
Требования к реализации
Модель организации разработки
Модель пошаговой разработки.
Методы проектирования и документирования разработки
Нет требований.
Языки программирования и инструментальные средства
1. Языки - HTML (версия 5); CSS (версия 3); JavaScript (стандарт ECMA-262); PHP (версия 7.3.7) Локальный Web - сервер MAMP (версия 4.1.1.); СУБД - MySQL (версия 5.7.24.); MySQL Workbench (версия 8.0)
2. Инструментальные средства: отладчик языка PHP; отладчик языка JavaScript, встроенный в Web-браузер. Библиотеки: интерфейс к СУБД MySQL; Инструмент разработки структуры базы данных MySQL Workbench.
Локализация и интернационализация
Необходимо реализовать поддержку локализации (l10n) и интернационализации (i18n) на более поздних этапах разработки. Поддерживаемые языки: русский и английский.
Требования к стандартам
1. Использовать стандарты кодирования и оформления исходных текстов программ, аналогичные стандартам проекта GNU.
2. Комментарии в исходных текстах программ должны быть написаны на русском языке.
Требования к лицензированию
Нет требований.
Требования к дистрибуции (распространению) и вопросы цены
1. Распространение продукта будет производиться, в основном, через Web-сайт
http://www.furniture.com.
2. Программный продукт будет распространяться бесплатно в исходных текстах.
Вопросы авторских прав
Авторские права принадлежат Ермакову А. А.
Внешние требования
Требования к взаимодействию с другими системами
Нет требований.
Юридические требования
Для разработки программного продукта должны использоваться только инструменты с лицензией, разрешающей их бесплатное использование.
Этические требования
Нет требований.
Прочие требования
Нет требований.
Требования к документации
Руководство пользователя
1. Должно содержать:
- описание процедур работы с продуктом;
- глоссарий;
Руководство программиста
Должно содержать следующие сведения (но не обязательно ограничиваться ими):
- описание модулей программы и их взаимосвязей;
- описание типовой структуры модуля и порядка его функционирования.
Интерактивная подсказка
1. Должна быть в состоянии предложить пользователю подсказки по заполнению полей экранных форм.
Руководства по инсталляции и конфигурированию и файл ReadMe
Нет требований.
Маркировка и упаковка
Нет требований.
Глоссарий и список сокращений
Глоссарий
Список сокращений
БД - база данных.
ОС - операционная система.
ПНТ - пользовательское нефункциональное требование
ПФТ - пользовательское функциональное требование
СУБД - система управления базами данных
CSS - Cascading Style Sheets (каскадные таблицы стилей)
I18n - internationalization (интернационализация)
L10n - localization (локализация).
2. АРХИТЕКТУРА И СИСТЕМНЫЕ ТРЕБОВАНИЯ
Введение
Цель документа
Цель данного документа состоит в описании высокоуровневой архитектуры программного продукта и распределении функций и требований по его подсистемам.
Ссылки и использованная литература
Список документов, упоминаемых в документе «Архитектура и системные требования»
1. Документ-концепция.
Список источников, к которым можно обратиться за справками в процессе разработки
Нет требований.
Список использованной литературы
1.Современный учебник JavaScript [Электронный ресурс]. - URL: https://learn.javascript.ru
2. htmlbook.ru [Электронный ресурс]. - URL: https://htmlbook.ru
3. Справочник PHP [Электронный ресурс]. - URL: Ошибка! Недопустимый объект гиперссылки.php.net
4. Леффингуэлл, Д. Принципы работы с требованиями к программному обеспечению. Унифицированный подход [Текст] / Дин Леффингуэлл, Дон Уидриг ; пер. с англ. и ред. Н. А. Ореховой. - М. : Вильямс, 2002. - 446, [2] с. : ил. - Парал. тит. англ. - Прилож.: с. 369-438. - Библиогр.: с. 439-440. - Предм. указ.: с. 441-445. - Перевод изд.: Leffingwell, Dean. Managing Software Requirements. A Unified Approach / Dean Leffingwell, Don Widrig. Boston : Addison-Wesley, [2000]. - 3500 экз. - ISBN 5-8459-0275-4 (рус.). - ISBN 0-2016-1593-2 (англ.).
Архитектура программного продукта и модульный состав подсистем
Архитектура программного продукта
Архитектура программного продукта представлена на рис. 1. Основной программной подсистемой является пользовательская подсистема. Состав модулей и управляющие связи пользовательской подсистемы (т. е. иерархия вызовов модулей) показаны на рис. 2. В административных таблицах хранятся метаданные о зарегистрированных пользователях, а также информация о товаре, добавленная ими в корзину. При запуске каждого модуля пользовательской подсистемы выполняется проверка полномочий доступа конкретного пользователя именно на основе этих таблиц.
Рис. 1. Архитектура программного продукта
Модули PHP и DLL содержат типовые процедуры для выполнения основных задач по работе с базой данных (ввод записи в таблицу, обновление и удаление записей), процедуры для формирования SQL-запросов на основе данных, введенных пользователем в поля поиска и в формы, и другие процедуры.
База данных условно разделена на две группы таблиц. Кроме административных
таблиц есть также информационные таблицы, предназначенные для хранения данных о товарах.
Предполагается поддержка двух языков: русского и английского. Интерфейс пользователя реализуется с помощью Web-браузера.
Модульный состав пользовательской подсистемы
Рис. 2. Структура вызовов модулей пользовательской подсистемы
На рис. 2 стрелками указаны направления вызовов модулей (от вызывающего модуля к вызываемому).
СТ1. Организация доступа пользователя к идентификаторам объектов
1. Интерфейс пользователя и база данных должны быть организованы таким образом, чтобы пользователь имел возможность работать непосредственно с идентификаторами объектов, хранящихся в базе данных. Это относится к таблице “Категории”.
Обоснование. Это позволит в ряде случаев ускорить процесс поиска данных.
Подсистема «Интерфейс пользователя»
Пользовательские требования (см. документ-концепцию):
- ПФТ7. Простые средства поиска информации;
- ПФТ10. Развитые средства помощи пользователю для ускорения ввода данных;
- ПФТ11. Развитые средства поиска информации.
При проектировании интерфейса пользователя необходимо учесть все пользовательские требования, приведенные в этом списке, даже если они не детализированы в системных требованиях.
СТ2. Общая схема организации интерфейса пользователя
В верхней части окна должно быть меню и информация о добавленных товарах в корзину и их общей сумме, доступных пользователю. Нижняя часть окна предназначена для дублирования меню (для удобства и быстрого перемещения в нужный модуль). Средняя часть окна предназначена для отображения информации. Боковая панель предназначена для перемещения в нужную категорию товаров.
СТ3. Гибкая схема работы пользователя при вводе данных
1. Необходимо предусмотреть возможность вызова модулей-справочников при вводе данных в основные таблицы базы данных. При этом пользователь должен иметь возможность ввести требуемые данные в строку поиска, а также выбор из списка категорий, сформированного модулем-категорией. Необходимо предоставлять пользователю также и возможность ввода части слова, чтобы сократить время.
СТ4. Подтверждение деструктивных действий пользователя
Нет требований.
СТ5. Контекстно-зависимый способ активации/деактивации полей в HTML-формах
1. При вводе данных в поля HTML-форм необходимо проводить проверку все ли поля заполнены. Например, при оформлении заявки необходимо проверять введен ли адрес доставки и телефон.
Подсистема «Средства интернационализации и локализации»
См. документ-концепцию (п. 6.2.2.4).
Справочная подсистема
См. документ-концепцию (п. 7.3).
Административная подсистема
Пользовательские требования (см. документ-концепцию):
- ПНТ4. Интерактивная система управления разграничением полномочий доступа к базе данных.
При проектировании административной подсистемы необходимо учесть все пользовательские требования, приведенные в этом списке, даже если они не детализированы в системных требованиях.
СТ7. Предоставление полномочий пользователю на уровне отдельных процедур модулей
1. Полномочия, предоставляемые конкретному пользователю, должны связываться с конкретными процедурами конкретных модулей.
Пример. Один пользователю не может посмотреть товары в корзине другого пользователя.
Библиотека функций (процедур)
Нет особых требований.
Пользовательская подсистема
Пользовательские требования (см. документ-концепцию):
- ПФТ7. Простые средства поиска информации;
При проектировании пользовательской подсистемы необходимо учесть все пользовательские требования, приведенные в этом списке, даже если они не детализированы в системных требованиях.
СТ8. Проверка полномочий пользователя перед выполнением каждой операции
1. Должна быть организована проверка полномочий пользователя перед выполнением каждой операции.
СТ9. Вывод сообщений об ошибках
1. При выполнении операций с базой данных должны выводиться сообщения об ошибках при их возникновении.
Подсистема конфигурирования
Пользовательские требования (см. документ-концепцию):
- ПНТ2. Конфигурирование программного продукта.
При проектировании подсистемы конфигурирования необходимо учесть все пользовательские требования, приведенные в этом списке, даже если они не детализированы в системных требованиях.
База данных
Пользовательские требования (см. документ-концепцию):
- ПФТ3. Хранение выбранных товаров;
- ПНТ1. Аутентификация пользователей;
При проектировании базы данных необходимо учесть все пользовательские требования, приведенные в этом списке, даже если они не детализированы в системных требованиях.
СТ10. Состав таблиц базы данных
1. В базе данных должны быть предусмотрены таблицы для хранения следующих сведений:
- всех товаров;
- всех категорий товаров;
- всех филиалов сети;
- зарегистрированных пользователей;
- таблица вопросов и ответов;
- корзина;
- оформленные заявки;
СТ11. Разделение базы данных на группы таблиц
1. База данных должна быть условно разделена на следующие группы таблиц: административные таблицы и информационные таблицы.
Обоснование. Это позволит лучше структурировать программные подсистемы.
СТ12. Поддержка иерархий объектов в базе данных
1. Должна быть предусмотрена возможность создания иерархий объектов в таблицах базы данных за счет введения в таблицы полей с условным названием «Идентификатор родительского объекта».
СТ13. Использование согласованных правил именования полей и таблиц базы анных
1. Должна использоваться единая система именования полей таблиц и самих таблиц базы данных. Однотипные поля должны иметь префиксы и/или постфиксы (например, постфикс «_fname», т. е. full name, может означать полное имя объектов какого-либо типа, а постфикс «_sname», т. е. short name, - краткое имя).
СТ14. Разграничение полномочий доступа пользователей к базе данных
1. В таблицах корзина и заявки базы данных должны быть предусмотрены поля для хранения имени пользователя, выполнившего операцию с конкретной таблицей, и времени выполнения этой операции.
Средства импорта и экспорта данных
Пользовательские требования (см. документ-концепцию):
- ПНТ1. Экспорт и импорт данных.
При проектировании базы данных необходимо учесть все пользовательские требования, приведенные в этом списке, даже если они не детализированы в системных требованиях.
Интерфейсы между подсистемами
Программные подсистемы-база данных
1. Взаимодействие между программными подсистемами и базой данных организуется с помощью MAMP.
Пользовательская подсистема -административная подсистема
1. Взаимодействие между этими подсистемами является косвенным и организуется посредством вызовов процедур из библиотеки процедур, которая взаимодействует с административными таблицами базы данных.
Пользовательская подсистема -подсистема конфигурирования
1. Взаимодействие между этими подсистемами является косвенным и организуется за счет обращения к библиотеке процедур, в состав которой входят процедуры, предназначенные для считывания конфигурационных файлов.
Глоссарий и список сокращений
Глоссарий
Список сокращений
БД - база данных
ПНТ - пользовательское нефункциональное требование
ПФТ - пользовательское функциональное требование
СТ - системное требование
СУБД - система управления базами данных
I18n - internationalization (интернационализация)
L10n - localization (локализация)
3.ТЕХНИЧЕСКИЙ ПРОЕКТ
1. Основные задачи
1. Реализовать простейшие механизмы поиска (по категориям, по ключевым словам).
2. Разработать и реализовать механизм просмотра подробной информации о товаре и добавление товара в корзину.
3. Разработать и реализовать оформление заказа.
4. Протестировать реализованные механизмы.
2. Реализуемые и учитываемые требования
Реализуемые требования - это такие требования, которые на данном шаге разработки выполняются целиком и полностью, не требуют каких-либо дополнительных доработок на последующих шагах, т. е. могут считаться завершенной частью работы.
Учитываемые требования - это такие требования, которые на данном шаге разработки принимаются к сведению, и разработка проводится с учетом их положений и рекомендаций, однако при этом такое требование не является полностью выполненным (исчерпанным).
2.1. Реализуемые требования
Пользовательские требования (см. документ-концепцию):
- ПФТ1. Простые средства поиска информации
- ПФТ2. Развитые средства поиска информации
- ПФТ3. Добавление товаров в корзину
2.2. Учитываемые требования
Учитываемых требований нет.
3. Проектирование
Приведены только основные алгоритмы и технические решения, принятые на шаге разработки 4.
1. Алгоритм выборки всех категорий, всех товаров, всех пользователей, всех магазинов и всех товаров в корзине по текущему пользователю
Алгоритм должен быть реализован в модуле db.php.
В таблице «Категории» (cstegories) есть следующие поля:
- id - уникальный идентификатор категории;
- category - полное название категории;
В таблице «Товары» (goods) есть следующие поля:
- id - уникальный идентификатор товара;
- name - полное название товара;
- article - артикль товара;
- weight - вес товара;
- dimensions - габариты товара;
- color - цвет товара;
- price - цена товара;
- description - полное описание товара;
- image - ссылка на фотографию;
- id_categories - уникальный идентификатор категории;
В таблице «Пользователи» (users) есть следующие поля:
- id - уникальный идентификатор пользователя;
- name - имя пользователя;
- surname - фамилия пользователя;
- login - логин пользователя;
- pass - пароль пользователя;
- email - почта пользователя;
- phone - телефон пользователя;
В таблице «Корзина» (basket) есть следующие поля:
- id - уникальный идентификатор записи;
- count - количество товара;
- id_user - уникальный номер пользователя;
- id_goods - уникальный номер товара;
В таблице «Магазины» (markets) есть следующие поля:
- id - уникальный идентификатор магазина;
- name - полное название магазина;
- address - адрес магазина;
- phone - телефон магазина;
ВЫБРАТЬ ЗАПИСИ из таблицы categories
СФОРМИРОВАТЬ массив идентификаторов категорий на основе полученной выборки и заполнить боковую панель.
ВЫБРАТЬ ЗАПИСИ из таблиц goods
СФОРМИРОВАТЬ список всех существующих товаров и загрузить в раздел “все товары”
ВЫБРАТЬ ЗАПИСИ из таблиц users
Выбираем записи аутентифицированного пользователя
ВЫВЕСТИ список всех товаров, добавленных им ранее в корзину и отображение общей стоимости товаров
2. Алгоритм поиска товара
Алгоритм должен быть реализован в модуле search_goods.php.
ВЫБРАТЬ ЗАПИСИ из таблицы goods, которые соответствуют заданному критерию поиска.
СФОРМИРОВАТЬ массив найденных товаров
3. Алгоритм добавления товара в корзину и оформление заказа
Алгоритм должен быть реализован в модуле add_to_basket.php и add_to_order.php.
ВЫБРАТЬ ЗАПИСИ из таблицы basket по идентификатору текущего пользователя.
СФОРМИРОВАТЬ массив дополнительных данных о пользователе из заполненной им специальной формы.
ДОБАВИТЬ в таблицу orders данную информацию
4. Реализация
Для реализации механизма поиска товаров, отображения информации о товаре, добавление товара в корзину и оформления заявки использовался язык JavaScript с применением технологии AJAX.
5. Глоссарий и список сокращений
5.1. Глоссарий
5.2. Список сокращений
БД - база данных
ПНТ - пользовательское нефункциональное требование
ПФТ - пользовательское функциональное требование
СТ - системное требование
СУБД - система управления базами данных.
AJAX - Asynchronous Javascript and XML.
4. ИСХОДНЫЕ ТЕКСТЫ ПРОГРАММЫ
1. Описание структуры базы данных
На рисунке 3 представлена структура базы данных “furniture”.
Рисунок 3 - структура базы данных “furniture”.
2. Перечень программных модулей.
Структура программных модулей “интернет-магазина Deluxe” содержит 24 модуля.
1. main.js - язык JavaScript;
2. main.php - язык HTML и PHP;
3. add_to_basket,js - язык JavaScript;
4. add_to_order.js - язык JavaScript;
5. modal_form.js - язык JavaScript;
6. show_basket.js - язык JavaScript;
7. show_categories.js - язык JavaScript;
8. show_one_goods.js - язык JavaScript;
9. db.php - язык PHP;
10. update_quest.php - язык PHP;
11. add_to_basket.php - язык PHP;
12. add_to_order.php - язык PHP;
13. authorization.php - язык PHP;
14. registration.php - язык PHP;
15. form_author.php - язык HTML;
16. form_registr.php - язык HTML;
17. search_basket.php - язык PHP;
18. search_category.php - язык PHP;
19. search_goods.php - язык PHP;
20. search_user.php - язык PHP;
21. update_basket.php - язык PHP;
22. delete_from_basket.php - язык PHP;
23. main.css - язык каскадных стилей CSS;
24. exit.php - язык PHP.
На рисунке 4 представлена структура связей модулей программы “интернет-магазина Deluxe”.
Рисунок 4 - структура связей модулей программы “интернет-магазин Deluxe”.
3. Общий объем исходных текстов
Программный продукт “интернет-магазин Deluxe” содержит:
- Базу данных, состоящая из 7 таблиц;
- 24 программных модуля;
- 1900 строк программного кода;
// ------------------------------------------------------------------------
// Система: "Интернет-магазин Deluxe"
// Модуль: main.php
// Автор: Ермаков А.А.
// Дата: 22.05.2020
// Версия: 0.5
// ------------------------------------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Deluxe</title>
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<?php require_once 'php/db.php'; ?>
<!-- basket icon -->
<div class="basket">
<div class="basket_conteiner">
<div class="basket_items">
<span>(391)255-55-55</span>
<div class="basket_empty">
<div id="div11">
<span style="font-weight: 700;"><?php echo $_COOKIE['name'];
?></span>
<span>
<lable>Товаров в корзине на сумму:</lable>
<lable id="summ"></lable>
</span>
</div>
<div id="div12">
<a href="form_author.php" class="">Вход</a>
<a id="div12_a2" href="form_registr.php" class="">Регистрация</a>
</div>
</div>
<a href="#" class="count_img">
<img id="basket_img" src="images/basket.svg" alt="">
<input class="basket_count" type="text" value="0" readonly>
</a>
</div>
</div>
</div>
<!-- header -->
<header>
<div class="header_conteiner">
<div class="logo">
<img class="logo_img" src="images/logo2.png" alt="">
<div class="logo_name">Royal furniture</div>
</div>
<div class="nav">
<nav class="nav_items">
<a href="#" class="nav_link">Главная</a>
<a href="#" class="nav_link">О компании</a>
<a href="#" class="nav_link">Вакансии</a>
<a href="#" class="nav_link">Вопрос-ответ</a>
<a href="#" class="nav_link">Покупателю</a>
<a href="#" class="nav_link">Доставка</a>
<a href="#" class="nav_link">Контакты</a>
</nav>
</div>
</div>
</header>
<!-- main conteiner -->
<div class="main_conteiner">
<!-- sidebar -->
<div class="sidebar">
<div class="sidebar_categories">
<?php
$category = get_categories();
foreach ( $category as $res ): ?>
<div id="s_b">
<a class="sidebar_item" linkCateg="<?php echo $res["id"] ?>"
href="#"><?php echo $res["category"] ?></a>
</div>
<?php endforeach; ?>
</div>
<div class="sidebar_address">
<div class="sidebar_address_title">
<p>Доставляем мебель только по Красноярску</p>
<p>Контакты наших магазинов:</p>
</div>
<?php
$markets = get_markets();
foreach ( $markets as $res ): ?>
<div class="sidebar_address_text">
<div class="market_name">
<?php echo $res["name"] ?>
</div>
<div class="market_address">
<?php echo $res["address"] ?>
</div>
<div class="market_phone">
<?php echo $res["phone"] ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<!-- main content -->
<div class="main_content">
<!-- search -->
<form class="search_block" method="GET">
<input class="input_search" type="text" name="input_search" placeholder= "Найти мебель">
<input class="btn_search" type="button" name="submit" value="Искать">
</form>
<!-- main_block_img -->
<div class="main_block_img">
<img class="main_img" src="images/main_image.jpg" alt="">
<div style="padding: 15px 0;">
Компания «Deluxe» уже 10 лет продает доступную корпусную и мягкую
мебель по всей России. На сайте вы можете подобрать себе горку или
диван для гостиной, удобный и простой письменный стол для ребенка,
недорогой кухонный гарнитур и многое другое.
</div>
<div class="advantages_block">
<div class="advantages_item">
<img src="images/advantages/advantages1.png" alt="">
<div class="advantages_text">Гарантия 2 года на корпусную мебель и
1,5 года на мягкую мебель
</div>
</div>
<div class="advantages_item">
<img src="images/advantages/advantages2.png" alt="">
<div class="advantages_text">Низкие цены: диваны от 6000 руб.,
горки от 2000 руб.</div>
</div>
<div class="advantages_item">
<img src="images/advantages/advantages3.png" alt="">
<div class="advantages_text">Качество мебели подтверждено
сертификатами</div>
</div>
<div class="advantages_item">
<img src="images/advantages/advantages4.png" alt="">
<div class="advantages_text">Доставка по Красноярску</div>
</div>
</div>
<!-- all catalog -->
<div class="how_to_by">
<p>Как купить мебель всего за 5 минут:</p>
<p>1) Выберите товар в каталоге</p>
<p>2) Добавьте его в корзину и оформите заказ</p>
<p>3) Дождитесь звонка менеджера, чтобы обсудить детали</p>
<p>Мы предлагаем качественную мебель в Красноярске по лучшим ценам.
Экологичность, современные технологии и высокий уровень сервиса --
вот наши преимущества!</p>
</div>
<h3>Весь каталог мебели:</h3>
<div class="all_catalog_conteiner">
<?php
$goods = get_all_goods();
foreach ($goods as $res): ?>
<?php $category = get_category_by_id($res["id_categories"]); ?>
<div class="all_catalog_conteiner_inner">
<div class="catalog_item">
<a class="catalog_item_name" href="#"><?php echo $res["name"]
?></a> <a class="catalog_item_category" href="#"><?php echo
$category["category"] ?></a> <a class="link_one_goods"
linkOneGoods="<?php echo $res["id"] ?>" href="#"> <img
class="catalog_item_img" src="<?php echo $res["image"] ?>"
alt=""></a> <div class="catalog_item_price">Цена: <?php echo
$res["price"] ?> руб.</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div> <!-- /main_block_img -->
<!-- about company -->
<div class="main_block_about">
<div><a href="#">Главная</a> » О компании</div>
<h2>О компании</h2>
<p>Deluxe создает решения для обустройства дома, чтобы каждый человек
жил в пространстве комфорта и гармонии. Вместе с нами вы легко
сделаете спальню или гостиную своей мечты, а для вашего малыша --
идеальную детскую.</p> <p>Наши эксперты позаботились о том, чтобы у
вас всегда был доступ к уникальному ассортименту решений, с которыми
жизнь станет значительно удобнее. Это и большой выбор матрасов (как
анатомических, так и ортопедических), подушек, топперов, аксессуаров
для сна, а также различная мебель (кровати, шкафы, комоды, диваны,
кресла и пр.), текстиль и разнообразные предметы декора. </p>
<p>Мы уверены, в жизни всегда есть место комфорту и начинается он с
дома!</p>
<h2>Мы предлагаем:</h2>
<p>- Качественную мебель для дома и офиса, популярную среди покупателей
многих регионов России<br> - Максимально низкие цены<br>
- Бесперебойные поставки с наших складов Красноярска, Барнаула,
Иркутска, а также складов нашего партнера в Новосибирске<br>
- Широкий ассортимент<br> <p>Масштабы нашего производства и
современное высокотехнологичное оборудование позволяют обеспечивать
стабильные складские запасы и поддержать неизменно низкие цены уже на
протяжении нескольких лет.</p> <p>Каждому человеку хочется делать
свою жизнь лучше! Добавить в свой дом уюта и комфорта. Сделать это
невозможно без современной, качественной и красивой мебели.</p>
<h2>Наши награды:</h2>
<div class="sertificates">
<img class="sertif_img" src="images/certificates/sertif1.png" alt="">
<img class="sertif_img" src="images/certificates/sertif2.jpg" alt="">
<img class="sertif_img" src="images/certificates/sertif3.jpg" alt="">
</div>
</div> <!-- /about company -->
<!-- vakancies -->
<div class="main_block_vakancy">
<div><a href="#">Главная</a> » Вакансии</div>
<h2>Вакансии</h2>
<p>Предлагаем Вам отправить в наш адрес свою форму резюме либо
заполнить наш <a href="#">бланк</a>. <br> Собеседование по
результатам рассмотрения резюме.<br> Электронная почта:
deluxe999@yandex.ru <br> Тел. 2(3912)55-55 -55</p>
</div> <!-- /vakancies -->
<!-- questions -->
<div class="main_block_questions">
<div>
<a href="#">Главная</a> » Вопрос-ответ
<span> [<a id="add_q" class="nav_link" href="#">Задать вопрос</a>]
</span>
</div>
<h2>Вопрос-ответ</h2>
<?php
$question = get_all_questions();
foreach ($question as $res): ?>
<div class="quest_answ">
<div class="question_title"><?php echo $res["title"] ?></div>
<div class="question">
<?php echo $res["question"] ?>
</div>
<div class="answer">
<b>Ответ компании:</b> <?php echo $res["answer"] ?>
</div>
<div>
<b>Добавил:</b> <?php echo $res["name"] ?>
<span class="question_date"><?php echo $res["date"] ?></span>
</div>
<br><br>
</div>
<?php endforeach; ?>
</div> <!-- /questions -->
<!-- add_questions -->
<div class="add_questions">
<div><a href="#">Главная</a> » Вопрос-ответ</div>
<h2>Вопрос-ответ</h2>
<form action="php/update_quest.php" method="POST">
<div class="block_question_title">
Заголовок *:<input class="question_title" name="title" type="text">
</div>
<div class="textarea"> Вопрос:
<textarea name="question" id="quest" cols="30" rows="10"
spellcheck="false"></textarea>
</div>
<div class="count_symbols">
Максимальное количество символов 1000
<span>Символов: <span id="countSymbols">0</span></span>
</div>
<p>Полное имя: <input class="full_name" type="text" name="name"></p>
<p>E-mail: <input class="email" type="text" name="email"></p>
<p>
<button type="submit" name="submit">Задать вопрос</button>
</p>
</form>
</div> <!-- /add_questions -->
<!-- bayer -->
<div class="main_block_bayer">
<div><a href="#">Главная</a> » Покупателю</div>
<h2>Покупателю</h2>
<h4>Оптовым покупателям</h4>
<p>Мы рады приветствовать Вас на нашем сайте!<br>
«Компания Deluxe» успешно работает на рынке с 2006г. и является одним
из продавцов мебели в Красноярском крае.<br>Несколько ключевых
преимуществ работы с нашей фирмой:<br> * Низкая стоимость
продукции!<br> * Высокое качество!<br> * Складская программа!<br>
* Стабильно большие складские запасы!<br> * Удобная логистика!<br> Мы
открыты к диалогу и готовы рассмотреть различные варианты
сотрудничества! <br>Ждем Ваши вопросы.<br> С Уважением, Компания
Deluxe. Тел. (391) 255-55-55<br> E-mail: deluxe999@yandex.ru
<h4>Гарантия</h4> <p>Для корпусной и бытовой мебели гарантийный срок
равен 24 месяцам, для мебели для сидения и лежания - 18 месяцам,
изделий детской мебели - 12 месяцам. Гарантийный срок исчисляется со
дня продажи мебели. Срок службы мебели при правильной эксплуатации 10
лет.* <br> Если в течение гарантийного срока вы обнаружите в ней
недостаток, Компания Deluxe обязуется* по вашему выбору безвозмездно:
<br> - устранить недостаток мебели;<br> - заменить на новую мебель
аналогичной модели и артикула.<br> По вопросам, связанным с
исполнением гарантийных обязательств, обращайтесь по телефону в
Красноярске: (391) 255-55-55<br> Вам может потребоваться подтвердить
факт и условия покупки мебели «Deluxe». Сохраняйте ярлык с упаковки в
течение всего срока действия гарантии.</p>
</div> <!-- /bayer -->
<!-- delivery -->
<div class="main_block_delivery">
<div><a href="#">Главная</a> » Доставка</div>
<h2>Условия доставки мебели</h2> Доставка возможна только по
Красноярску.<br> Доставка осуществляется в течение дня до подъезда.
<br> Вся мебель доставляется в упаковках в разобранном виде. <br>
Доставка осуществляется платно - 250 рублей.
<h4>Расценки на услуги грузчика независимо от наличия лифта:</h4>
- подъем шкафа (БОЯРД) - 200 рублей за 1 этаж;<br> - подъем других
шкафов и кухонного гарнитура - 150 рублей за 1 этаж;<br> - подъем
мягкой мебели - 200 рублей за 1 этаж;<br> - подъем остальной
продукции ( матрац и кровать считать по отдельности) - 100 рублей за
1 этаж.
</div> <!-- /delivery -->
<!-- contacts -->
<div class="main_block_contacts">
<div><a href="#">Главная</a> » Контакты</div>
<h2>Контакты</h2>
<h4>НАШУ МЕБЕЛЬ МОЖНО КУПИТЬ В МАГАЗИНАХ ПО Г.КРАСНОЯРСК</h4>
Нажмите на адрес, чтобы посмотреть режим работы.
<iframe src= "https://www.google.ru/maps/d/embed?mid=1jCSXHhsUJCu3PfgMu
jswZ3XEKPjKCdjL" width="100%" height="480"></iframe>
</div> <!-- /contacts -->
<!-- block search -->
<div class="block_search">
<div><a href="#">Главная</a> » Поиск[]</div>
<h2 id="search_title">Поиск[]</h2>
<div class="block_select">
<select id="select">
<option>- все категории -</option>
<?php $category = get_categories();
foreach ($category as $res): ?>
<option class="option"><?php echo $res['category']; ?></option>
<?php endforeach; ?>
</select>
<div class="block_search_inner">
<div id="data"></div>
</div>
</div>
</div> <!-- /block search -->
<!-- block_one_goods -->
<div class="block_one_goods">
<h2 id="one_goods_name"></h2>
<div class="one_goods_item">
<img class="one_goods_img" src="images/certificates/sertif1.png"
alt="">
<div class="one_goods_item_inner">
<div>Артикул: <span id="one_goods_article"></span></div>
<div>Вес (кг.): <span id="one_goods_weight"></span></div>
<div>Габариты: <span id="one_goods_dimensions"></span></div>
<div>Цвет: <span id="one_goods_color"></span></div>
<div id="one_goods_price"></div>
<input id="count" type="number" style="width: 50px;" min="1"
value="1">
<button id="btn_add_to_basket">В корзину</button>
<input id="id_goods_bas" type="hidden" value="">
<input id="id_user" type="hidden" value="">
</div>
</div>
<div class="one_goods_description">
<h2>Описание</h2>
<p id="one_goods_description"></p>
<p id="attention">Внимание! В реальности цвет ткани может отличаться
от представленного на фото ввиду различной цветопередачи устройств
просмотра. <br>Более точную информацию Вы можете получить у
менеджера по тел. 8 (391) 255-55-55.</p> </div> <p>Оплата
наличными.<br>Доставка осуществляется платно - 250 рублей.
ДОСТАВКА ТОЛЬКО ПО КРАСНОЯРСКУ.<br>Вся мебель доставляется в упаковках в разобранном виде.</p> <p id="one_goods_mark">
Производитель оставляет за собой право вносить изменения в технологию производства текущей модели мебели, менять наполнение и комплектующие, при условии если это не сказывается на внешнем виде модели, а ведет к улучшению ее потребительских свойств.<br>*
Скидки действительны только при заказе через интернет-магазин!</p>
</div> <!-- /block_one_goods -->
<!-- block_order -->
<div class="block_order_conteiner">
<h2>Ваш заказ</h2>
<div>
<table class="order_table">
<tr class="title_order_table">
<td>№</td><td>Артикул</td>
<td>Наименование</td><td>Габариты</td><td>Цена</td>
<td>Кол-во</td> <td>Сумма</td> <td>Удалить</td>
</tr>
<tbody class="tbody_order_table"></tbody>
</table>
<button id="btn_recalculate">Пересчитать</button>
</div>
<div class="form_order">
<div class="block_order_payment">
<h2>Способ оплаты</h2>
<span style="margin-bottom: 10px;">
<input id="r1" class="block_order_radio1" type="radio"
name="radio1" checked> <label for="r1">Наличными при
получении</label><br>
<span style="margin-left: 26px; font-size: 12px;">Рассчитаться
можно с курьером наличными при получении товара</span></span>
<span> <input id="r2" class="block_order_radio1" type="radio"
name="radio1"> <label for="r2">Платежной картой</label><br>
<span style="margin-left: 26px; font-size: 12px;">Рассчитаться
можно с курьером картой при получении товара</span></span>
</div>
<div class="block_order_delivery">
<h2>Способ доставки</h2>
<span style="margin-bottom: 5px;">
<input id="r3" class="block_order_radio2" type="radio"
name="radio2" checked> <label for="r3">Доставка на дом</label>
<br></span>
<span> <input id="r4" class="block_order_radio2" type="radio"
name="radio2"> <label for="r4">Самовывоз</label><br> </span>
</div>
<div class="block_order_total">
<span style="width: 50%; "> <span>Доставка</span><br>
<label id="label_delivery">250 руб.</label><br> </span>
<span> <span>Сумма к оплате</span><br>
<label id="label_total">руб.</label><br> </span>
</div>
<div class="block_order_personals">
<label>Имя:</label>
<input id="order_name" class="form_send_order" type="text"
name="order_name"> <label>Фамилия:</label>
<input id="order_surname" class="form_send_order" type="text"
name="order_surname"> <label>Контактный телефон:</label>
<input id="order_phone" class="form_send_order" type="text"
name="order_phone"> <label>E-mail:</label>
<input id="order_email" class="form_send_order" type="text"
name="order_email"> <label>Адрес доставки:</label>
<textarea id="order_delivery_address" class="form_send_order"
name="order_delivery_address" cols="30" rows="5" spellcheck =
"false">
</textarea> <label>Примечание:</label>
<textarea id="order_note" class="form_send_order" name="order_note"
cols="30" rows="5" spellcheck="false"></textarea>
<button class="btn_send_order" style="margin: 10px 0 20px
70%;">Оформить
заказ</button>
</div>
</div>
</div>
</div> <!-- /block_order -->
</div>
</div>
<!-- footer -->
<div class="footer">
<div class="footer_inner">
<div class="footer_menu">
<a href="#" class="footer_link">Главная</a>
<a href="#" class="footer_link">О компании</a>
<a href="#" class="footer_link">Вакансии</a>
<a href="#" class="footer_link">Вопрос-ответ</a>
<a href="#" class="footer_link">Покупателю</a>
<a href="#" class="footer_link">Доставка</a>
<a href="#" class="footer_link">Контакты</a>
</div>
<div class="footer_contact">
<img class="footer_img" src="images/logo.png" alt="">
<div class="footer_address"> (391)255-55-55
</div>
</div>
</div>
</div>
<script src="js/main.js"></script>
<script src="js/show_categories.js"></script>
Подобные документы
Разработка интернет-магазина для реального заказчика. Проведение анализа и выбор интернет-технологий для разработки интернет-магазина. Проектирование предметной области. Разработка динамических web-страниц интернет-магазина, управляемых базой данных.
дипломная работа [1,7 M], добавлен 08.06.2013Этапы проектирования и программная реализация интернет-магазина. Методы разработки его интерфейса - элементов и компонентов программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением. Защита интернет-магазина.
контрольная работа [28,7 K], добавлен 02.10.2010Преимущества и недостатки электронной коммерции. Описание локального сервера Denwer. Структура файлов и папок. Особенности PHP, MySQL, CSS, HTML. Разработка структуры сайта интернет-магазина по продажи гитар и комплектующих, его программная реализация.
курсовая работа [5,0 M], добавлен 25.10.2014Критерии оценки сайтов при проведении Интернет-конкурса. Примеры популярных ресурсов с возможностью оценивания. Программная реализация плагина с использованием языков программирования HTML, CSS, PHP, JavaScript. Оценка качества разработанного продукта.
дипломная работа [2,6 M], добавлен 27.10.2017Общая схема интернет-магазина. Установка CMS Joomla, Virtuemart и Denwer на компьютер. Настройка внешнего вида и функционала интернет-магазина. Доставка товара покупателю и способы его оплаты. Оптимизация работы интернет-магазина с базами данных.
курсовая работа [505,3 K], добавлен 17.12.2014Анализ объектно-ориентированной технологии программирования на примере языка Java. Методы, инструменты разработки web-приложений. Применение их при создании Интернет-магазина для ООО "Компас". Разработка апплета для его страницы в виде стрелочных часов.
курсовая работа [2,7 M], добавлен 31.01.2014Факторы, влияющие на пропускную способность в беспроводных сетях. Использование скриптового языка программирования PHP для разработки базы данных интернет-магазина, его основные преимущества. Современные методы и средства тестирования web-приложений.
дипломная работа [3,5 M], добавлен 10.07.2015MySQL как одна из самых распространенных на современном этапе систем управления базами данных, оценка ее преимуществ и недостатков. Порядок разработки интернет-магазина, составление и листинг программы, анализ ее функциональности и возможности, значение.
курсовая работа [223,3 K], добавлен 13.03.2015Основные преимущества торговли в интернете. Современные тенденции развития языков программирования. Особенности и возможности языка PHP, основные области применения. Проектирование БД с помощью SQLServer. Разработка структуры интернет–магазина футболок.
курсовая работа [2,0 M], добавлен 23.05.2013Проектирование книжного интернет-магазина для реализации книжной продукции через Интернет. Анализ и обоснование выбора языков программирования и средств разработки сайта. Затраты внедрение сайта, его программное обеспечение, тестирование и отладка.
дипломная работа [2,1 M], добавлен 06.06.2013