Сайт-портфолио компании по продаже программного обеспечения

 

Содержание


Введение

1. Сайт-портфолио компании по продаже ПО

1.1 Структура сайта

1.2 Инструментальные средства создания сайта

1.3 Программная реализация сайта

2. База данных сайта

2.1 Модель базы данных

2.2 Инструментальные средства для создания базы данных

2.3 Программная реализация базы данных

3. Тестирование сайта

3.1 Организация тестирования сайта

3.2 Результаты тестирования сайта

Заключение

Список использованных источников


Введение


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

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

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

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


1. Сайт- портфолио компании по продаже ПО


.1 Структура сайта


Рассматривается предметная область: торговля ПО с заказом через интернет, с получением путём самовывоза или с доставкой по указанному адресу. Оплата наличными при получении товара и т. д.


Структурная схема сайта

1.2 Инструментальные средства создания сайта


При разработке сайта использовались такие программные продукты как: CSM Joomla.Joomla - это система управления содержимым (CMS), написанная на языках PHP и JavaScript, использующая в качестве хранилища базы данных MySQL, а начиная с версии 1.5 и MsSQL. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.Joomla! включает в себя различные инструменты для разработки веб-сайта. Важной особенностью системы является минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.! позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования. Доступны пакеты русского, украинского, белорусского и ещё некоторых языков стран СНГ.

Функциональность можно увеличивать с помощью дополнительных расширений (компонентов, модулей и плагинов).

Имеется модуль безопасности для многоуровневой аутентификации пользователей и администраторов (используется собственный алгоритм аутентификации и «ведения» сессий).

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

К преимуществам системы можно отнести то, что все компоненты, модули, плагины и шаблоны можно написать самому, разместить их в структурированном каталоге расширений или отредактировать существующее расширение по своему усмотрению.- это свободная система управления базами данных. Разработку и поддержку 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, которая выполнит проверку всех существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие корректировки.Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище NDBCLUSTER.

Значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных данных на диске.

Возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0.для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность (например, полнотекстовый поиск), без перезапуска сервера.

Реализация парсера полнотекстового поиска в виде plug-in. Новый тип таблиц Maria (устойчивый к сбоям клон MyISAM).- это веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.

На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Подавляющее большинство российских провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных.


.3 Программная реализация сайта


Для разработки сайта использовалась CMS Joomla со встроенным языком программирования php, html5.

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

Вывод название папки шаблона,

$this->template

например, выражение:

<img src="templates/<?php echo $this->template; ?>/images/something.png">

Позволяет вставить нужную картинку в любое мест шаблона.

А вот два варианта автоматического вывода основной ссылки на ваш сайт::base()

Выводит url вашего сайта в виде #"justify">Вторая переменная возвращает относительный путь к корневой директории без #"justify">$this->baseurl

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

В обеих случаях в начале, в основном коде шаблона, создаем функцию:

<?php

$menu = & JSite::getMenu();

?>

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

Далее, если нужно показать контент только на главной странице, то используем конструкцию типа:

<?php($menu->getActive() == $menu->getDefault()) {'Здесь вставляем необходимое, можно и HTML код';

}

?>

А если нужно показать контент на всех страницах кроме главных, то можно использовать конструкцию типа:

<?php($menu->getActive() != $menu->getDefault()) {'Здесь вставляем необходимое, можно и HTML код';

}

?>

Вывод содержимого при различных запросах Joomla!

Переменная ::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('[Сюда ставим атрибут]')($usertype == '[Сюда ставим значение атрибута]') { ?>

[Сюда ставим, что угодно]

<?php } ?>

[Сюда ставим атрибут] - в данном случае используем следующее: ID пользователя: имя пользователя: идентификатор уровня доступа ( 0 для всех, 1 для зарегистрированных, и 4 испециальный уровень доступа): идентификатор группы пользователя ( 19 автор, 20 редактор, 22 издатель, 23 менеджер, 24 администратор, и 25 суперадминистратор: только для гостей (когда пользователь зарегистрирован, то переменная гостя равна 0): тип пользователя (registered, author, editor, publisher, manager, administrator, and super administrator)

[Сюда ставим значение атрибута] - подразумевает соответствующее значение для определенного атрибута.

Для наглядности - вот простой пример:

<?php

$theuser = JFactory::getUser();

$usertype = $theuser->get('name');($usertype == 'Hiway') { ?>

Привет Hiway

<?php } ?>


2. База данных сайта


.1 Модель базы данных


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


.2 Инструментальные средства для создания базы данных


При разработке базы данных использовались такие программые продукты как MySQL и phpMyAdmin.

Продукт 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, которая выполнит проверку всех существующих таблиц на предмет совместимости с новой версией, и при необходимости выполнит надлежащие корректировки.Cluster отныне выпущен как отдельный продукт, базирующийся на MySQL 5.1 и хранилище NDBCLUSTER.

Значительные изменения в работе MySQL Cluster, такие, как, например, возможность хранения табличных данных на диске.

Возврат к использованию встроенной библиотеки libmysqld, отсутствовавшей в MySQL 5.0.для плагинов, которое позволяет загружать сторонние модули, расширяющие функциональность (например, полнотекстовый поиск), без перезапуска сервера.

Реализация парсера полнотекстового поиска в виде plug-in. Новый тип таблиц Maria (устойчивый к сбоям клон MyISAM).

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

На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Подавляющее большинство российских провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных.


.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 stTABLESPACE usersTABLESPACE temp150K ON usersUNLIMITED ON temp;


3. Тестирование сайта


.1 Организация тестирования сайта


Условия тестирования: протестировать модуль заказа товара, модуль обратной связи, модуль просмотра описания товаров, модуль визуализации интерфейса сайта.


.2 Результаты тестирования сайта


Модуль визуализации интерфейса сайта (анимация меню, просмотр материалов):


Рисунок 3.1 - Внешний вид сайта в процессе просмотра меню

Рисунок 3.2 - Внешний вид сайта в процессе просмотра материала.


Модуль заказа товара:


Рисунок 3.3 - Внешний вид сайта в процессе выбора товара

Рисунок 3.4 - Внешний вид сайта при нажатии на кнопку Описание


При нажатии на кнопку Описание, происходит вывод материала в котором описывается предоставляемый товар.


Рисунок 3.5 - Внешний вид сайта при нажатии на кнопку Купить


При нажатии на кнопку Купить, происходит вывод меню заказа товара, где нужно заполнить регистрационную форму заказа.

Модуль обратной связи:

Рисунок 3.6 - Внешний вид сайта при выборе пункта меню Обратная связь


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



Заключение


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

сайт база данный

Список использованных источников


-Википедия свободная энциклопедия <http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0>

Язык запросов SQL <http://sql-language.ru/>

Joomla Master <http://joomla-master.org/>, javascript, PHP и MySQL. Джентльменский набор Web-мастер. Прохоренок Н. А.

Рон Севердиа, Кеннет Краудер. Joomla. (ориг. Using Joomla)


Содержание Введение 1. Сайт-портфолио компании по продаже ПО 1.1 Структура сайта 1.2 Инструментальные средства создания сайта 1.3 Программная

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ