Разработка и внедрение программного обеспечения на примере компании TOO "Illustrate studio"

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 03.06.2014
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Огромный ассортимент и приемлемые цены. Интернет - магазину не нужно арендовать торговую площадь, поэтому он может позволить себе на сэкономленные деньги купить более просторный склад, а значит, предложить покупателям более разнообразный выбор товаров. То же самое с ценой, которая снижается за счет уменьшения затрат.

Больше информации не выходя из дома. Выбирая товар в интернет - магазине вы всегда можете быстро узнать информацию о нем в интернете, почитать чужие отзывы, рекомендации. Обычный магазин такого информационного сервиса предоставить вам не может. Чаще всего мы должны сделать свой выбор, основываясь на 3 строчках на этикетке.

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

Данный дипломный проект прошел апробацию. Были проведены испытания данного Web-приложения в результате которых было принято решение о введении его в действие. Данное Web-приложение "artposters. kz" было введено в действие и ныне функционирует в качестве интернет-магазина Заказчика, которое реализует маркетинговую деятельность по продажам декоративных постеров.

Исходя из экономических рассчетов чистая прибыль от разарботанного программного обеспечения Web-приложения составит 60284,341тг.

Согласно приведенным расчетам, внедрение данного проекта окупится примерно через полтора года, что делает его создание экономически выгодным и эффективным.

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

1. Пауэлл Т., Web-дизайн. - 2-е изд. СПб.: БХВ-Петербург, 2004. - 1072с.

2. Левин А.Ш. Методика создания Web-приложения.8-ое изд. - СПб.: Питер, 2004 г.,655 с

3. Леонтьев В.П., Большая энциклопедия и Интернета. - М.: Олма Пресс, 2005г.

4.С. Круг, "Веб-дизайн", Москва, 2001г.

5. Якоб Н.В., Веб-дизайн. СПб.: Москва, 2005 - 102с.

6. Уильямс Р.Д., DHTML и CSS для Internet. СПб.: Нью-Йорк, 2000г. - 400c.

7. Дэйв Ши. Молли Е. Хольщшпаг., Философия CSS-дизайна. СПб.: Москва, 2007 - 101с.

8. Келли Л.М., Java Script. Наглядный курс создания динамических Web-страниц. - М.: Питер, 2008.

9. Скотт Х.М., Администрирование веб-сервера Apache и руководство по електронной коммерции "БХВ-Петербург", 2005г., 399c.

10.А. Вайк, Д. Уокер, Р. Кокс, "Справочник PHP 4" от DiaSoft, 2006г.

11.Я. Нильсен, "Веб-дизайн", Москва, 2005г.

12. Матросов А., Сергеев А., Чаунин М., HTML 4.0 в подлиннике, СПб.: БХВ-Петербург, 2004. - 672с.

13.Д. Кирсанов, "Веб-дизайн", Санкт-Петербург, 2004г.

14. Дмитриева М.В., Java Script: Самоучитель., "БХВ-Петербург", 2001г., 499c.

15. Белова И., Охрана окружающей среды. Учебник для технических ВУЗов, 1991 г.

16. Сагимбаев Г.К. Экология и экономика. - Алматы: Каржы Каражат, 1997 г., 144 с.

17. Кимель Л.Р. Защита от ионизирующих излучений. Справочник, 2002. - 312 с.

18. Трудовой кодекс РК от 15.05.2007г.

19. Санитарные правила и нормы СанПиН N 1.01.004.01

20. Николаев А.П. "Шумовое загрязнение", Киев, 2006г.

21. Калыгин В.Г. "Промышленная экология". Учебное пособие для студентов, Москва 2008г.

22. ГОСТ 12.1.019-79. ССБТ. Электробезопасность. Общие требования.

23. ГОСТ 25861-83. Машины вычислительные и системы обработки данных. Требования электрической и механической безопасности и методы испытаний.

24. ГОСТ 12.1.033-81. ССБТ. Пожарная безопасность объектов с электрическими сетями.

25. ГОСТ 12.1.004-85. ССБТ. Пожарная безопасность. Общие требования.

26. СНиП 2.01.02-85. Противопожарные нормы и правила.

27. ГОСТ 12.1.003-83. ССБТ. Шум. Общие требования безопасности.

28. ГОСТ 12.1.005-88. ССБТ. Воздух рабочей зоны. Общие санитарно-гигиенические требования.

29. Абрамова Ж.И., Оксенгендлер Г.И. Человек и противоокислительные вещества. Л.: Наука, 1985. - 230 с.

30. Бааде Ф. Соревнование к 2000 году. М., 1962.

31. Байнхауэр X., Шмаке Э. Мир к 2000 году. М.: "Прогресс", 1978.

32. Интернет источник: http://kk. convdocs.org/docs/index-250084.html

33. Попов И.Г., Мамонов С.Г. Информационные системы. М.: Инфра, 2007.

34. Абросимов А.Г. Бородинова М.А. Теория экономических информационных систем. Учебное пособие - Самара. Изд-во Самарск. гос. экон. акад., 2007.

35. Информационные системы. Учебник /Петров В.Н. - СПб.: Питер, 2008.

36. Информационное обеспечение систем управления. Учебное пособие/Голенищев Э.П., Клименко И.В. - Ростов н/Д: Феникс, 2009.

37. Интеллектуальные информационные системы в экономике. Учебное пособие/Тельнов Ю.Ф. Издание третье, расширенное и доработанное. Серия "Экономика и бизнес". - Москва.: СИНТЕГ, 2009.

38. Общая и социальная экология: учеб. пособ. - М.: Рагс, 2007. - 408 с.

39. Акимова Т.А. Экология. Человек - Экономика - Биота - Среда: учеб. для Вузов. - М., 2007. - 495 с.

40. Бродский А.К. Общая экология: УЧЕБ. ДЛЯ СТУД. ВУЗов - М., 2008. - 256 С.

41. Теория и методика экологического образования детей: учеб. пособие для студ. вузов. - М.: Академия, 2002. - 336 с.

Приложения

Приложение А

Исходный код главной страницы Web-приложения

Index. php:

<? php

session_start ();

header ("Content-Type: text/html; charset=utf-8");

/*ini_set ("display_errors", "1");

error_reporting (E_ALL); */

/*include block*/

require_once 'include/defines. php';

require_once 'include/basic_functions. php';

require_once PATH_BASE. 'config'. DS. 'config. php';

require_once PATH_BASE. 'include'. DS. 'mysql_connect. php';

/*classes*/

require_once PATH_BASE. 'adm'. DS. 'class'. DS. 'resize-class. php';

require_once PATH_BASE. 'include'. DS. 'classes'. DS. 'statusmessage. php';

require_once PATH_BASE. 'include'. DS. 'classes'. DS. 'profile. php';

/*modules*/

require_once PATH_BASE. 'include'. DS. 'modules'. DS. 'content_function. php';

require_once PATH_BASE. 'include'. DS. 'modules'. DS. 'file_function. php';

require_once PATH_BASE. 'include'. DS. 'modules'. DS. 'html_tag_function. php';

require_once PATH_BASE. 'include'. DS. 'modules'. DS. 'basket_function. php';

require_once PATH_BASE. 'include'. DS. 'modules'. DS. 'search. php';

require_once PATH_BASE. 'include'. DS. 'values. php';

/*header block*/

require_once 'template/page. php';

? >

defines. php:

<? php

define ('DS', DIRECTORY_SEPARATOR);

define ('HOME_PAGE_LINK', 'http://localhost/work/artposter/');

define ('G_CHECK', 1);

define ('DEFAULT_LANG', 'rus');

/*base path*/

$basePath = explode (DS, dirname (__FILE__));

array_pop ($basePath);

$basePath = implode (DS, $basePath). DS;

define ('PATH_BASE', $basePath);

? >

basic_functions. php:

<? php

function getCurrentYear () {

return date ("Y");

}

function addSuffixToNumerals ($num, $word, $closure) {

$one_num = last_int ($num, 1);

$two_num = last_int ($num,

2);

$finalClose = $closure [0];

if ($one_num >= 2 && $one_num <= 4) {

$finalClose = $closure [1];

}

if ($one_num >= 5 && $one_num <= 9 || $one_num == 0 || $two_num >= 10 && $two_num <= 20) {

Продолжение приложения А

$finalClose = $closure [2];

}

return $word. $finalClose;

}

function last_int ($num, $numSimbol) {

$result = (int) substr ($num, strlen ($num) - $numSimbol, strlen ($num));

return $result;

}

function getValue ($postValue, $getValue) {

var_dump ($postValue);

var_dump ($getValue);

}

function getTemplate ($template) {

if ($template == '') {

$tempTemplate = 'index';

}

if ($template == 'poster' || $template == 'content' || $template == 'basket'|| $template == 'search'|| $template == 'profile') {

$tempTemplate = $template;

}

return $tempTemplate;

}

function returnURL ($href, $type='') {

$resultURL = HOME_PAGE_LINK;

$linkArr = array ();

if ($type! = '') {

$linkArr [] = $type;

}

if ($href! = '') {

$linkArr [] = $href;

}

if (count ($linkArr) > 0) {

$resultURL = implode ('/', $linkArr);

$resultURL = HOME_PAGE_LINK. $resultURL;

}

return $resultURL;

}

function createBreadCrumb ($template, $link = '', $posterName = '', $type = '') {

$resultArr = array ();

$resultArr [] = createATag ('<strong>Главная</strong>');

switch ($template) {

case 'content':

switch ($type) {

case 'contact':

$resultArr [] = '<span>Контакты</span>';

break;

Продолжение приложения А

case 'production':

$resultArr [] = '<span>Производство</span>';

break;

}

break;

case 'search':

$resultArr [] = '<span>Поиск</span>';

break;

case 'poster':

if ($link! = '') {

$catInfo = getCurrentCategoryInfo ($link);

if ($posterName == '') {

$resultArr [] = '<span>'. $catInfo ['header']. '</span>';

}

else{

$resultArr [] = createATag ($catInfo ['header'], $catInfo ['link'], 'poster');

$resultArr [] = '<span>#'. $posterName. "</span>";

}

}

break;

}

$result = implode ('<span>/</span>', $resultArr);

return $result;

}

function createTitle ($template, $link = '', $posterName = '', $type = '') {

$resultArr = 'Главная';

switch ($template) {

case 'content':

switch ($type) {

case 'contact':

$resultArr = 'Контакты';

break;

case 'production':

$resultArr = 'Производство';

break;

}

break;

case 'search':

$resultArr = 'Поиск';

break;

case 'poster':

if ($link! = '') {

$catInfo = getCurrentCategoryInfo ($link);

$resultArr = $catInfo ['header'];

}

break;

}

$result = $resultArr;

Продолжение приложения А

return $result;

}

function add_recently_watch ($poster_id) {

if (! empty ($_COOKIE ['recently'])) {

$next_step = count ($_COOKIE ['recently']);

if (! in_array ($poster_id, $_COOKIE ['recently'])) {

setcookie ("recently [$next_step]", $poster_id, time () + 360000000, '/');

}

}

else{

setcookie ("recently [0]", $poster_id, time () + 360000000, '/');

}

}

function addMesage ($status, $text) {

$classMessage = $status;

$_SESSION ['service_message'] = "<div class='$status'>$text</div>";

}

function writeMessage () {

echo $_SESSION ['service_message'];

$_SESSION ['service_message'] = '';

}

function currentEmail ($email) {

return true;

}

? >

config. php:

<? php

$config = array (

'css' => array (

'style. css',

'main_banner. css',

'content_page. css',

'jquery. lightbox-0.5. css',

'cart. css'

),

'js' => array (

'jquery. js',

'jquery. cookie. js',

'horizontal_slider. js',

'main. js',

'jquery. lightbox-0.5. js',

'cart. js'

),

);

$dbConfig = array (

'user' => 'root',

'password' => '11051988',

'db_host' => 'localhost',

'db_base' => 'posters'

);

? >

Продолжение приложения А

mysql_connect. php:

<? php

$connect = mysql_connect ($dbConfig ['db_host'], $dbConfig ['user'], $dbConfig ['password'])

or die ("Could not connect:". mysql_error ());

mysql_select_db ($dbConfig ['db_base'])

or die ("Could not select database:". mysql_error ());

mysql_query ('SET NAMES UTF8');

? >

values. php:

<? php

/*get or post value*/

$reqLink = $_GET ['link'];

$reqId = $_GET ['id'];

$reqImageId = $_GET ['image_id'];

$type = $_GET ['type'];

$action = $_GET ['action'];

if (empty ($action)) {

$action = $_POST ['action'];

}

$lastURL = $_SERVER ['HTTP_REFERER'];

$delete_action = $_POST ['delete_poster'];

$request_action = $_POST ['submit'];

/*basic value*/

$allCatSubIdLink = AllCatSubIdLink ();

$currentYear = getCurrentYear ();

$styles = createCssStylesTags ($config ['css']);

$scripts = createJSTags ($config ['js']);

$template = getTemplate ($_GET ['template']);

$allCategoryList = getAllCategoriesAlphabetical ();

$recentlyWatchList = getRecentlyWatchPoster ($allCatSubIdLink);

/*user*/

$userLogin = $_POST ['email'];

$userPassword = $_POST ['password'];

$userName = $_POST ['name'];

$userCity = $_POST ['city'];

$userPhone = $_POST ['phone'];

$statusMessage = new StatusMessage (true);

$user = new Profile ($statusMessage);

$userInfo = $user->get_user_info ();

$auth = $userInfo ['auth'];

/**/

switch ($template) {

case 'index':

$bestSalePosterList = getBestSalePosterData ($allCatSubIdLink);

/*sliders*/

Продолжение приложения А

$allCategorySlider = createHorizontalSlider ('206x206', $allCategoryList, 'main_slider');

$recentlyWatchSlider = createHorizontalSlider ('209x198', $recentlyWatchList);

$bestSalePosterSlider = createHorizontalSlider ('165x150', $bestSalePosterList);

/*handlist*/

$mainHandlist = createAlphabeticalList (createAllCategoryATagArray ($allCategoryList),

5);

break;

case 'poster':

$posterHandlist = createAlphabeticalList (createAllCategoryATagArray ($allCategoryList),

2);

$catInfo = getCurrentCategoryInfo ($reqLink);

$allPosterInCatArray = getAllPosterInCat ($catInfo ['id'], $catInfo ['link']);

$currentPosterInfo = getCurrentPosterInfo ($reqId, $allPosterInCatArray, $catInfo ['link']);

add_recently_watch ($currentPosterInfo ['id']);

$currentPosterSize = getCurrentPosterSize ($currentPosterInfo ['id'], $currentPosterInfo ['link']);

$currentPosterSizeI = getCurrentSizeI ($currentPosterSize, $reqImageId);

$currentImage = createCurrentPosterImage ($currentPosterSize [$currentPosterSizeI] ['big_image'], $currentPosterSize [$currentPosterSizeI] ['image']);

$posterSizeBlock = createSizeChage ($currentPosterSize, $currentPosterSizeI);

/*sliders*/

$recentlyWatchSlider = createHorizontalSlider ('140x110', $recentlyWatchList);

$allPosterInCatSlider = createHorizontalSlider ('209x198', $allPosterInCatArray, '', 'poster', $currentPosterInfo ['id']);

break;

case 'content':

$contentHandlist = createAlphabeticalList (createAllCategoryATagArray ($allCategoryList), 1);

break;

case 'profile':

$basketList = create_cart ($userInfo);

$contentHandlist = createAlphabeticalList (createAllCategoryATagArray ($allCategoryList), 1);

$recentlyWatchSlider = createHorizontalSlider ('147x135', $recentlyWatchList);

break;

case 'basket':

$basketList = create_cart ($userInfo);

$contentHandlist = createAlphabeticalList (createAllCategoryATagArray ($allCategoryList), 1);

break;

}

$breadCrumb = createBreadCrumb ($template, $reqLink, $currentPosterInfo ['header'], $type);

$titlePage = createTitle ($template, $reqLink, $currentPosterInfo ['header'], $type);

switch ($action) {

case 'logout':

$user->logout ();

header ("Location:". HOME_PAGE_LINK); exit;

break;

case 'authorization':

$user->auth ($userLogin, $userPassword);

header ("Location:". HOME_PAGE_LINK); exit;

break;

case 'register':

$user->register ($userLogin, $userPassword, $userName, $userCity, $userPhone);

header ("Location:". HOME_PAGE_LINK); exit;

Продолжение приложения А

break;

case 'change_data':

$user->change ($userInfo ['id'], $userLogin, $userPassword, $userName, $userCity, $userPhone);

header ("Location: $lastURL"); exit;

break;

case 'add_to_cart':

addToCart ($auth, $reqImageId, $userInfo);

header ("Location: $lastURL"); exit;

break;

case 'send_cart':

$mTitle = 'Zakaz postera';

$mAdress = 'info@artposters. kz';

// $mAdress = 'developer@illustrate. kz';

$idList = getIdList ($_REQUEST ['id_poster']);

if (! empty ($delete_action)) {

deletePosterInBasket ($idList, $userInfo);

}

else{

$requestMake = makeRequest ($idList, $auth, $userInfo);

if ($requestMake ['send_status']) {

$mText = $requestMake ['message'];

$sendStatus = mailer ($mAdress, $mTitle, $mText);

if ($sendStatus) {

addMesage ('complete', 'Заявка отправлена');

deletePosterInBasket ($idList, $userInfo);

}

else{

addMesage ('error', 'При отправке сообщения возникла ошибка, попробуйте еще раз');

}

}

if ($auth) {

header ("Location:". HOME_PAGE_LINK. 'profile'); exit;

}

else{

header ("Location:". HOME_PAGE_LINK. 'basket'); exit;

}

break;

}

$profileLink = returnURL ('profile');

if (! $auth) {

$profileLink = "#\" onclick=\"showPopupAlert ('login_popup'); return false; ";

}

if ($template == 'profile' &&! $auth) {header ("Location:". HOME_PAGE_LINK); }

$authMessage = $statusMessage->printMessage ('auth');

$registerMessage = $statusMessage->printMessage ('register');

$changeMessage = $statusMessage->printMessage ('change');

if ($authMessage! = '') {

$addAction = "showPopupAlert ('login_popup'); ";

}

if ($registerMessage! = '') {

$addAction = "showPopupAlert ('register_popup'); ";

}

if ($changeMessage! = '') {

$addAction = "showPopupAlert ('change_popup'); ";

}

? >

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.