Сайт-портфолио компании по продаже программного обеспечения
Разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах. Инструментальные средства создания сайта. Организация тестирования сайта, модуль визуализации интерфейса. Создание запросов в базе данных SQL.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.12.2012 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Содержание
Введение
1. Сайт-портфолио компании по продаже ПО
1.1 Структура сайта
1.2 Инструментальные средства создания сайта
1.3 Программная реализация сайта
2. База данных сайта
2.1 Модель базы данных
2.2 Инструментальные средства для создания базы данных
2.3 Программная реализация базы данных
3. Тестирование сайта
3.1 Организация тестирования сайта
3.2 Результаты тестирования сайта
Заключение
Список использованных источников
Введение
Целью курсового проектирования является формирования умений и получение навыков разработки и реализации реального сайта на примере сайта- портфолио компании по продаже ПО.
ПО имеет широкую номенклатуру, разнообразные цены, в том числе зависящие от объёмов покупки. С помощью сайта-портфолио можно осуществить выбор товаров, определить их стоимость, осуществить оплату с помощью расчётных карт, заказать доставку купленных товаров по нужному адресу. Это позволяет существенно экономить время, а также делает доступным процесс покупки для людей с ограниченными возможностями (инвалидов, больных и др.), не имеющих возможности лично посещать обычные магазины.
В процессе курсового проектирования осуществлена разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах, тестирование сайта.
Результаты проектирования отражены в технической документации и оформлены в виде пояснительной записки к курсовому проекту.
1. Сайт- портфолио компании по продаже ПО
1.1 Структура сайта
Рассматривается предметная область: торговля ПО с заказом через интернет, с получением путём самовывоза или с доставкой по указанному адресу. Оплата наличными при получении товара и т. д.
Структурная схема сайта
1.2 Инструментальные средства создания сайта
При разработке сайта использовались такие программные продукты как: CSM Joomla.
CSM Joomla - это система управления содержимым (CMS), написанная на языках PHP и JavaScript, использующая в качестве хранилища базы данных MySQL, а начиная с версии 1.5 и MsSQL. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.
CMS Joomla! включает в себя различные инструменты для разработки веб-сайта. Важной особенностью системы является минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.
Joomla! позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования. Доступны пакеты русского, украинского, белорусского и ещё некоторых языков стран СНГ.
Функциональность можно увеличивать с помощью дополнительных расширений (компонентов, модулей и плагинов).
Имеется модуль безопасности для многоуровневой аутентификации пользователей и администраторов (используется собственный алгоритм аутентификации и «ведения» сессий).
Система шаблонов позволяет легко изменять внешний вид сайта или создать свой уникальный. В сети существует огромный выбор готовых шаблонов, как платных, так и бесплатных.
К преимуществам системы можно отнести то, что все компоненты, модули, плагины и шаблоны можно написать самому, разместить их в структурированном каталоге расширений или отредактировать существующее расширение по своему усмотрению.
MySQL - это свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle. MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Сегментирование -- возможность разбить одну большую таблицу на несколько частей, размещенных в разных файловых системах, основываясь на определенной пользователем функции. При определенных условиях это может дать серьёзное увеличение производительности и, кроме того, облегчает масштабирование таблиц.
Изменено поведение ряда операторов, для обеспечения большей совместимости со стандартом SQL2003.
Построчная репликация (англ. row-based replication), при которой в бинарный лог будет записываться только информация о реально измененных строках таблицы вместо оригинального (и, возможно, медленного) текста запроса. Построчную репликацию можно использовать только для определенных типов sql-запросов, в терминах MySQL -- смешанная репликация (англ. mixed replication).
Встроенный планировщик периодически запускаемых работ. По синтаксису добавление задачи похоже на добавление триггера к таблице, по идеологии -- на crontab.
Дополнительный набор функций для обработки XML, реализация поддержки XPath.
Новые средства диагностики проблем и утилиты для анализа производительности. Расширены возможности по управлению содержимым лог-файлов, логи теперь могут быть сохранены и в таблицах general_log и slow_log. Утилита mysqlslap позволяет провести нагрузочное тестирование БД с записью времени реакции на каждый запрос.
Для упрощения операции обновления подготовлена утилита mysql_upgrade, которая выполнит проверку всех существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие корректировки.
MySQL Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище NDBCLUSTER.
Значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных данных на диске.
Возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0.
API для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность (например, полнотекстовый поиск), без перезапуска сервера.
Реализация парсера полнотекстового поиска в виде plug-in. Новый тип таблиц Maria (устойчивый к сбоям клон MyISAM).
PHPMyAdmin - это веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.
На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Подавляющее большинство российских провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных.
1.3 Программная реализация сайта
Для разработки сайта использовалась CMS Joomla со встроенным языком программирования php, html5.
Наиболее используемые выражения в ходе разработки сайта, были:
Вывод название папки шаблона,
$this->template
например, выражение:
<img src="templates/<?php echo $this->template; ?>/images/something.png">
Позволяет вставить нужную картинку в любое мест шаблона.
А вот два варианта автоматического вывода основной ссылки на ваш сайт
JURI::base()
Выводит url вашего сайта в виде http://www.yoursite.com
Вторая переменная возвращает относительный путь к корневой директории без http://yoursite.com
$this->baseurl
Вывод содержимого только на главной или только на внутренних страницах с привязкой к меню
В обеих случаях в начале, в основном коде шаблона, создаем функцию:
<?php
$menu = & JSite::getMenu();
?>
Ее можно и не создавать в основе, а создать прямо в месте применения. Но лучше вынести в заголовок. А потом только обращаться при необходимости.
Далее, если нужно показать контент только на главной странице, то используем конструкцию типа:
<?php
if ($menu->getActive() == $menu->getDefault()) {
echo 'Здесь вставляем необходимое, можно и HTML код';
}
?>
А если нужно показать контент на всех страницах кроме главных, то можно использовать конструкцию типа:
<?php
if ($menu->getActive() != $menu->getDefault()) {
echo 'Здесь вставляем необходимое, можно и HTML код';
}
?>
Вывод содержимого при различных запросах Joomla!
Переменная
JRequest::getVar('view')
Возвращает информации о странице, которая отображена в данный момент (кроме главной!). Ее использование полезно в случае, если вам необходимо определить некое действие в шаблоне при условии вывода того или иного типа контента.
Например:
<?php if(JRequest::getVar('view') == ('article')) { ?>
[Вставте нужное]
<?php } else { ?>
[Вставте нужное]
<?php } ?>
Данный код выведет определенное содержимое, когда у нас выводится какая-либо статья, и скроет его в другом случае.
А если мы хотим вывести какое-либо содержимое при условии использования того или иного компонента Joomla!, нужно использовать эту же переменю но в другой конструкции:
Сначала определяем функцию с помощью указанной выше переменной, но с другим определением
<?php $option = JRequest::getVar( 'option' );?>
А далее выводим в нужном месте шаблона условие, например:
<?php if($option == 'com_weblinks') {?>
<jdoc:include type="modules" name="user2" style="raw"/>
<?php } ?>
Вывод разного содержимого в шаблоне для разных пользователей
Вот код основного условия:
<?php
$theuser = JFactory::getUser();
$usertype = $theuser->get('[Сюда ставим атрибут]')
if($usertype == '[Сюда ставим значение атрибута]') { ?>
[Сюда ставим, что угодно]
<?php } ?>
[Сюда ставим атрибут] -- в данном случае используем следующее
id: ID пользователя
name: имя пользователя
aid: идентификатор уровня доступа ( 0 для всех, 1 для зарегистрированных, и 4 испециальный уровень доступа)
gid: идентификатор группы пользователя ( 19 автор, 20 редактор, 22 издатель, 23 менеджер, 24 администратор, и 25 суперадминистратор
guest: только для гостей (когда пользователь зарегистрирован, то переменная гостя равна 0)
usertype: тип пользователя (registered, author, editor, publisher, manager, administrator, and super administrator)
[Сюда ставим значение атрибута] -- подразумевает соответствующее значение для определенного атрибута.
Для наглядности -- вот простой пример:
<?php
$theuser = JFactory::getUser();
$usertype = $theuser->get('name');
if($usertype == 'Hiway') { ?>
Привет Hiway
<?php } ?>
2. База данных сайта
2.1 Модель базы данных
Приводится структурная схема базы данных, описание таблиц в виде моделей (инфологическая и др.). Определяется тип базы данных (реляционная или иная). Даётся характеристика выбранного типа базы данных.
2.2 Инструментальные средства для создания базы данных
При разработке базы данных использовались такие программые продукты как MySQL и phpMyAdmin.
Продукт MySQL использовался непосредственно для разработки базы данных(построение таблиц, создание запросов).
MySQL - это свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle. MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Сегментирование -- возможность разбить одну большую таблицу на несколько частей, размещенных в разных файловых системах, основываясь на определенной пользователем функции. При определенных условиях это может дать серьёзное увеличение производительности и, кроме того, облегчает масштабирование таблиц.
Изменено поведение ряда операторов, для обеспечения большей совместимости со стандартом SQL2003.
Построчная репликация (англ. row-based replication), при которой в бинарный лог будет записываться только информация о реально измененных строках таблицы вместо оригинального (и, возможно, медленного) текста запроса. Построчную репликацию можно использовать только для определенных типов sql-запросов, в терминах MySQL -- смешанная репликация (англ. mixed replication).
Встроенный планировщик периодически запускаемых работ. По синтаксису добавление задачи похоже на добавление триггера к таблице, по идеологии -- на crontab.
Дополнительный набор функций для обработки XML, реализация поддержки XPath.
Новые средства диагностики проблем и утилиты для анализа производительности. Расширены возможности по управлению содержимым лог-файлов, логи теперь могут быть сохранены и в таблицах general_log и slow_log. Утилита mysqlslap позволяет провести нагрузочное тестирование БД с записью времени реакции на каждый запрос.
Для упрощения операции обновления подготовлена утилита mysql_upgrade, которая выполнит проверку всех существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие корректировки.
MySQL Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище NDBCLUSTER.
Значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных данных на диске.
Возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0.
API для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность (например, полнотекстовый поиск), без перезапуска сервера.
Реализация парсера полнотекстового поиска в виде plug-in. Новый тип таблиц Maria (устойчивый к сбоям клон MyISAM).
Продукт phpMyAdmin использовался для администрирования созданной базы данных(редактирование базы данных).
PHPMyAdmin - это веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.
На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Подавляющее большинство российских провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных.
2.3 Программная реализация базы данных
Для разработки базы данных использовался ПП MySQL со встроенным языком программирования SQL. Наиболее используемые выражения в ходе разработки базы данных, были:
Вывести столбцы id, title, price, c_type с сортировкой по идентификатору в возрастающем порядке:
SELECT id, title, price, c_type FROM ad_packages ORDER BY id ASC;
Вывести все записи из SQL таблицы actions с идентификатором 1234567890:
SELECT * actions WHERE uid='1234567890?;
Получить имя письма с идентификатором 1565:
SELECT name FROM mail_inbox WHERE id='1565?;
Созданный пользователь обладает следующими характеристиками:
Имя - st
Пароль - st
Область данных - users
Размер области данных -- 150 килобайт
Область временных данных - temp
Размер области временных данных -- неограниченное использование
CREATE USER st IDENTIFIED BY st
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 150K ON users
QUOTA UNLIMITED ON temp;
3. Тестирование сайта
3.1 Организация тестирования сайта
Условия тестирования: протестировать модуль заказа товара, модуль обратной связи, модуль просмотра описания товаров, модуль визуализации интерфейса сайта.
3.2 Результаты тестирования сайта
Модуль визуализации интерфейса сайта (анимация меню, просмотр материалов):
Рисунок 3.1 -- Внешний вид сайта в процессе просмотра меню
Рисунок 3.2 -- Внешний вид сайта в процессе просмотра материала.
Модуль заказа товара:
Рисунок 3.3 -- Внешний вид сайта в процессе выбора товара
Рисунок 3.4 -- Внешний вид сайта при нажатии на кнопку “Описание”
При нажатии на кнопку “Описание”, происходит вывод материала в котором описывается предоставляемый товар.
Рисунок 3.5 -- Внешний вид сайта при нажатии на кнопку “Купить”
При нажатии на кнопку “Купить”, происходит вывод меню заказа товара, где нужно заполнить регистрационную форму заказа.
Модуль обратной связи:
Рисунок 3.6 -- Внешний вид сайта при выборе пункта меню “Обратная связь”
Происходит вывод формы обратной связи, где нужно заполнить регистрационные поля и можно написать сообщение для осуществления связи с администрацией сайта
Заключение
В ходе разработки данного сайта, мы научились составлять более сложные запросы в базе данных SQL, научись максимально быстро и эффективно оптимизовывать целостную систему SEO сайта. Изучили разносторонние приемы решения сложных задач в ходе разработки сайта и базы данных.
сайт база данный
Список использованных источников
Википедия -- свободная энциклопедия
Язык запросов SQL
Joomla Master
HTML, javascript, PHP и MySQL. Джентльменский набор Web-мастер. Прохоренок Н. А.
Рон Севердиа, Кеннет Краудер. Joomla. (ориг. Using Joomla)
Размещено на www.allbest.
Подобные документы
Процесс разработки Web-сайта. Состав и содержание работ по созданию подсистемы. Требования к Web-сайту. Определение сущностей модели базы данных. Разработка логической модели базы данных. Реализация PHP-скриптов и заполнение базы данных Web-сайта.
дипломная работа [8,2 M], добавлен 29.06.2011Разработка структуры базы данных сайта. Установка и настройка требуемого программного обеспечения. Анализ интерфейса программы. Создание формы обратной связи. Формирование дизайна, соответствующего требованиям заказчика. Выбор методики тестирования.
дипломная работа [2,0 M], добавлен 22.03.2018Анализ предметной области и функций сайта. Разработка структуры базы данных, структуры и дизайна web-сайта. Описание установки CMS "Joomla!" и программной оболочки Denwer, создание гостевой книги, галереи и карты Google, результаты их тестирования.
дипломная работа [2,3 M], добавлен 19.01.2017Характеристика структуры, программного обеспечения и основных бизнес–процессов ЗАГСа. Разработка базы данных и структуры сайта для молодоженов. Управление аккаунтом пользователя, описание страниц сайта. Расчёт экономических затрат на создание сайта.
дипломная работа [448,5 K], добавлен 14.01.2013Особенности создания страниц на языке APS.NET, создание и формы обращение к базам данных. Интерфейс автоматического вывода определнного столбца базы данных в элементы управления. Структура базы данных, принцип работы страниц сайта, настройка приложения.
курсовая работа [387,3 K], добавлен 02.03.2010Разработка архитектуры, отдельных модулей и сайта Интернет–системы электронной торговли отопительными приборами. Проектирование интерфейса; программная реализация, создание базы данных. Раскрутка сайта: подбор ключевых слов, анализ конкурентных запросов.
курсовая работа [3,4 M], добавлен 20.04.2012Разработка Web-сайта с подключенной к нему базой данных для управления пользователями, их авторизацией и регистрацией. Подключение базы данных к сайту. Использование технологии AJAX. Виды SQL инъекций и способы защиты базы данных от попыток взлома.
дипломная работа [2,9 M], добавлен 13.02.2016Инструментальные средства разработки сайта. Таблицы базы данных, их описание. Общие принципы разработки программного продукта. Структура программного продукта клиента. Страница информации о пользователе и его заказов, информационная безопасность.
дипломная работа [3,5 M], добавлен 14.06.2012Разработка архитектуры сайта, структуры данных и необходимых программных модулей. Учет фирменного стиля компании при создании дизайна. Внедрение интерфейса административного редактирования сайта. Проведение экспериментального тестирования и отладки.
дипломная работа [3,0 M], добавлен 19.01.2017Выбор инструментальных и программных средств для создания сайта. Структура программного продукта. Создание сайта при помощи программы WordPress. Тестирование разработанной программы. Разработка структуры и дизайна сайта. Наполнение сайта контентом.
курсовая работа [1,0 M], добавлен 09.01.2014