Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
1 Анализ предметной области
1.1 Постановка задачи
Перед автором была поставлена первая задача: разработать структурную схему проекта web – сайта для использования в среде Internet и локальной сети организации. По мнению руководителей проектирования, разрабатываемый web – сайта должен обладать следующими особенностями:
- возможность входа под персональными логином и паролем для администратора (для редактирования содержимого сайта);
- возможность регистрации и входа под логином и паролем персонала организации (для выкладки новостной информации на сайт);
- для пользователей должна быть также реализована возможность распечатать любую страницу web-сайта, просмотреть контактную и новостную информацию, без возможности её редактирования.
1.2 Исследование предметной области
1.2.1 Об ПЦП ЦСКО «Байкал»
Центр сопровождения клиентских операций (ЦСКО) Сбербанка «Байкал» – двенадцатый в системе банка. ЦСКО «Байкал» сопровождает клиентские операции подразделений Байкальского банка Сбербанка России, действующего на территории, превышающей 1,5 млн кв. км и охватывающей Иркутскую область, Забайкалье и Республику Бурятия.
ЦСКО создаются в рамках проекта трансформации операционных функций Сбербанка, цель которого — повышение эффективности работы банка и качества обслуживания клиентов. Основная задача ЦСКО – комплексное обслуживание и сопровождение всех операций клиентов: по вкладам, кредитам, банковским картам, коммунальным и социальным платежам, переводу средств, платежам юридических лиц. Благодаря передаче сопровождения операций в единый центр ускоряется обслуживание непосредственно в офисах банка, при этом сотрудники получают больше возможностей для консультирования и индивидуальной работы с клиентами. В результате централизации операционных процессов эффективность деятельности банка возрастает в среднем на треть.
России» – крупнейший банк в России, на долю которого приходится около 27% активов российской банковской системы и насчитывающий около 240 тысяч сотрудников. Учредителем и основным акционером России» является Центральный банк Российской Федерации, владеющий свыше 57.6% голосующих акций. Другими акционерами банка являются более 245 тысяч физических и юридических лиц. Банк имеет одну из самых разветвленных филиальных сетей в России: 17 территориальных банков, около 19 тысяч отделений и внутренних структурных подразделений, а также дочерние банки в Казахстане, Украине и Белоруссии, филиал в Индии, представительства в Германии и Китае. После приобретения Volksbank International в 2012 году Сбербанк имеет представительства в 9 странах Центральной и Восточной Европы.
Байкальский банк Сбербанка России обслуживает клиентов в Иркутской области, Забайкальском крае и республике Бурятии. Это около 10% территории России и более 4,5 миллионов жителей. Байкальский банк – это 8 отделений, 525 офисов, в том числе 6 операционных касс вне кассового узла, 12 операционных офисов и 12 передвижных пунктов кассовых операций на всей территории Восточной Сибири: от границы с Монголией и Китаем до Якутии, от Красноярского края до Дальнего Востока. Банк лидирует в регионе по объему эмиссии и по широте торгово-сервисной сети банковских карт, по величине кредитного портфеля как для бизнеса, так и для физических лиц, по количеству предлагаемых услуг. Банк осуществляет корреспондентские отношения с банками Монголии и Китая, выступает поручителем во внешнеторговых сделках. Байкальский банк Сбербанка России сотрудничает с крупнейшими предприятиями Восточной Сибири, предоставляет банковские услуги всем отраслям и направлениям производства и торговли, учреждениям здравоохранения и образования, государственным структурам, малому бизнесу.
Генеральная лицензия Банка России на осуществление банковских операций 1481.
Центр сопровождения клиентских операций (ЦСКО) Байкальского банка Сбербанка России недавно поменял свой статус. Теперь подразделение носит название ПЦП (подразделение центрального подчинения) ЦСКО «Байкал» и соответственно подчиняется непосредственно Сбербанку России. Данное преобразование, а именно централизация всех существующих ЦСКО Сбербанка по всей стране позволит банку обеспечить оперативную обработку банковских операций практически в режиме 24 часа в сутки.
Центр сопровождения клиентских операций (ЦСКО) Байкальского банка Сбербанка России, получивший звучное имя «Байкал», начал работать в Иркутске в декабре 2010 года. Официально он стал двенадцатым в федеральной системе Сбербанка - подобные центры (всего их пятнадцать) также существуют в Москве, Санкт-Петербурге, Перми и в ряде других городов. Первоначально ЦСКО Байкал обслуживал только операции клиентов на территории деятельности Байкальского банка, т. е. Иркутской области, Бурятии и Забайкалья, сегодня сотрудники ЦСКО в Приангарье осуществляют операции и клиентов Сбербанка других территорий. И это стало возможным именно после перевода ЦСКО в статус подразделения центрального подчинения, с ноября этого года все центры сопровождения клиентских операций в системе Сбербанка начинают работу в едином операционном пространстве под руководством Операционного департамента России».
Как отмечает директор ПЦП ЦСКО «Байкал» Александр Текутьев, результат данного преобразования клиенты банка смогут ощутить на себе - услуги банка станут еще более оперативными, более качественными и удобными. Для клиентов важен – хороший сервис, который с каждым годом должен совершенствоваться. И организация ЦСКО, которому были переданы операционных функций – это значительное улучшения сервиса, а также большое конкурентное преимущество банка. Сегодня практически все операции стандартизированы, поэтому вероятность ошибок при их совершении минимальна. Кроме того, благодаря появлению ЦСКО уменьшилась нагрузка на сотрудников в офисах, у них высвободилось больше времени для работы с клиентами. Второй шаг банка по переводу ЦСКО в статус подразделений центрального подчинения, также направлен на дальнейшее ускорение проведение операций. При этом, ЦСКО «Байкал», по-прежнему, в первую очередь, будет обеспечивать обработку банковских операций Байкальского банка, а также обслуживать другие территории.
Такая организация процесса позволит значительно экономить время. Например, когда в Иркутске уже заходит солнце, в Москве продолжается рабочий день, а значит, продолжается обработка операций. И наоборот. Таким образом, банк экономит один день, равномерно распределяя нагрузку между ЦСКО, расположенными в разных часовых поясах. ЦСКО Байкал уже сделал первые шаги в сопровождении операций клиентов других территориальных банков Сбербанка России, так, например, иркутские сотрудники участвуют в обработке обращений клиентов, поступивших из Москвы.
1.2.2 Обоснование потребности в web-сайте
У ПЦП ЦСКО «Байкал» никогда не было своего персонального сайта. На сегодняшний день практически каждая организация имеет собственный web-сайт. В условиях использования современных информационных технологий в процессе образования – это необходимый фактор, позволяющий автоматизировать распространение информации, касающейся данной организации (в данном случаи ПЦП ЦСКО «Байкал»), облегчить процесс обмена данными.
1.2.3 Решение задачи
Создание и разработка сайтов включает:
- утверждение первоначального технического задания на разработку сайта;
- определение структурной схемы сайта - расположение разделов, контента и навигации;
- веб-дизайн - создание графических элементов макета сайта, стилей и элементов навигации;
- разработка программного кода, модулей, базы данных и других элементов сайта необходимых в проекте;
- тестирование и размещение сайта в сети Интернет.[3]
Во время прохождения преддипломной практики были поставлены следующие задачи:
- проанализировать уже существующую модель web-сайта ИГО и сделать заключение о том, что необходимо изменить;
- принять решение о необходимость написания web-сайта в ручную, без использования систем управления содержимым, выбрать язык программирования;
- разработка проекта (макета) web-сайта организации.
1.3 Методы решения задачи
1.3.1 Понятие web-сайта
Информация, доступная пользователям Internet, располагается на компьютерах (Web-серверах), на которых установлено специальное программное обеспечение. Значительная часть этой информации организована в виде Web-сайтов. Каждый из них имеет свое имя (адрес) в Internet.
Web-сайт – это информация, представленная в определенном виде, которая располагается на Web-сервере и имеет свое имя (адрес). Для просмотра Web-сайтов на компьютере пользователя используются специальные программы, которые называются браузерами. В зависимости от того, какое имя (адрес) сайта мы зададим в строке "Адрес", браузер будет загружать в свое окно соответствующую информацию.[1]
Web-сайт состоит из связанных между собой Web-страниц. Web-страница представляет собой текстовый файл с расширением *.htm, который содержит текстовую информацию и специальные команды – HTML-коды, определяющие в каком виде эта информация будет отображаться в окне браузера. Вся графическая, аудио - и видео-информация непосредственно в Web-страницу не входит и представляет собой отдельные файлы с расширениями *.gif, *.jpg (графика), *.mid, *.mp3 (звук), *.avi (видео). В HTML-коде страницы содержатся только указания на такие файлы.
Каждая страница Web-сайта также имеет свой Internet адрес, который состоит из адреса сайта и имени файла, соответствующего данной странице. Таким образом, Web-сайт – это информационный ресурс, состоящий из связанных между собой гипертекстовых документов (Web-страниц), размещенный на Web-сервере и имеющий индивидуальный адрес. Посмотреть Web-сайт может любой человек, имеющий компьютер, подключенный к Internet.[14]
1.3.2 Классификация web-сайтов
В настоящее время в глобальной сети интернет существует бесчисленное множество сайтов. Все сайты очень разноплановые и отличаются друг от друга по большому количеству параметров. Классифицировать все это многообразие сайтов достаточно сложно. Можно лишь выделить несколько направлений классификации по разным признакам.
Классификация сайтов по используемым технологиям.
Статические сайты. Изначально все сайты были статическими. Они созданы по классической технологии HTML. Статические сайты представляют собой набор HTML-страниц, связанных друг с другом гиперссылками и загруженных на web-сервер. После набора адреса, соответствующего статическому сайту, пользователь видит в браузере одно и то же содержание, так как страницы этих сайтов располагаются на web-сервере в неизменном виде. Страницы таких сайтов пользователь может скачать себе на компьютер и просматривать локально. Когда необходимо изменить содержимое страниц статических сайтов, автор при помощи специальной программы (HTML-редактор) или обычного текстового редактора модифицирует станицы на своем рабочем компьютере и заново выкладывает на web-сервер. Это достаточно трудоемкий процесс с риском испортить общий дизайн при публикации изменений на одной из страниц.
Однако это не означает, что статические сайты устарели. Они просты в создании и нетребовательны к ресурсам, могут быть расположены на любом хостинге, при эксплуатации не создают нагрузки на web-сервер и не выдают сбоев при большом количестве посетителей.
Динамические сайты - состоят из скриптов, шаблонов, информации и т. п. объектов в виде отдельных файлов. Содержимое такого сайта изменяется средствами самого сайта без применения пользователем дополнительного программирования.
Страница динамического сайта с одним и тем же адресом может выглядеть по-разному в зависимости от введенного запроса, прав доступа пользователя и других условий. Это обусловлено тем, что в динамических сайтах при запросе информация извлекается из базы данных, вставляется в шаблон, формируя новую web-страницу, которая отображается в браузере пользователя. Обновление контента динамических сайтов осуществляется гораздо легче – достаточно просто добавить информацию на новую страницу, которая попадает в базу данных с помощью определенного механизма и сайт как бы самостоятельно себя обновляет. Несмотря на интерактивность, широкие функциональные возможности и простоту обновления, динамические сайты не совершенны. Они создают повышенную нагрузку на web-сервер, требуют большее количество ресурсов, увеличивают расход при их создании.
Флэш-сайты. Технология флэш позволяет создавать эффектные интерактивные сайты со звуком и анимацией. Флэш сайты в общем понимании представляют собой совокупность сменяющих друг друга кадров в определенный промежуток времени.
Основной задачей флэш-сайта является произвести сильное впечатление на пользователя, поразить яркой «живой» анимацией, привлечь максимальной интерактивностью, возможностью менять элементы оформления. Один из серьезных недостатков флэш-сайта – это долгая загрузка из-за значительного «веса». Кроме того, флэш-анимация достаточно сложная и дорогая в изготовлении, испытывает сложности взаимодействия с поисковыми системами, практически отсутствует индексация. Хотя флэш-анимация и способна лучше других реализовывать самые яркие и нестандартные интернет-проекты, тем не менее, в настоящее время от нее все чаще отказываются в пользу других технологий.
Мобильные устройства, которые приобретают все большую популярность, в ближайшее время полностью откажутся от использования флэша.[13]
Классификация сайтов по видам доступа.
Открытые сайты - все сервисы сайта полностью доступны для всех посетителей. Чтобы воспользоваться всеми возможностями сайта достаточно просто на него зайти.
Полуоткрытые - для доступа к сервисам необходимо пройти процедуру регистрации на сайте. Процесс регистрации на разных сайтах может отличаться. Как правило, он заключается в заполнении анкеты с информационными полями: обязательными, такими как «имя пользователя», «пароль», «электронный адрес», и необязательными, такими как «пол», «возраст», «город» и т. п.
Далее предлагается ознакомиться с пользовательским соглашением. Последним шагом регистрации обычно является ее подтверждение по средствам кода или через указанный электронный адрес. Код подтверждения служит защитным механизмом с целью определения, робот регистрируется или человек. Теперь при входе на сайт необходимо ввести логин и пароль, чтобы получить доступ к дополнительным возможностям (скачать файлы, разместить комментарии, прочесть скрытый текст и т. д.). На некоторых сайтах регистрация платная.
Закрытые (окукленные) - сайты с закрытым доступом. Это могут быть служебные корпоративные сайты, личные сайты частных лиц или группы лиц. Такие сайты доступны для узкого круга пользователей. Доступ новым пользователям обычно предоставляется через специальные приглашения – инвайты. Инвайт – это код доступа (набор символов) или ссылка, содержащая в себе код, для регистрации в закрытом сервисе, форуме или партнерской программе. Приглашение обычно можно получить у уже зарегистрированного участника, либо у службы поддержки, либо выполнив определенные условия, установленные администрацией закрытого интернет-проекта. Инвайт используют для ограничения доступа к сервису сайта от посторонних пользователей. Закрытыми также могут быть проекты на стадии начального тестирования их сервисов.[12]
Классификация сайтов по типам предоставляемых сервисов.
Сайт-визитка - небольшого объема сайт, представляющий собой визитную карточку фирмы либо частного лица в сети интернет. Такие сайты кратко рассказывают о товарах или услугах, предоставляемых организацией или индивидуальным предпринимателем. Как правило, на сайте-визитке содержится информация о виде деятельности, контактные данные, прайс-лист, схема проезда, форма обратной связи. Чаще всего сайт-визитка делается на основе шаблонного дизайна.
Интернет-магазин - интерактивный сайт с каталогом продукции, рекламирующий товары или услуги. С его помощью можно оформить заказ на покупку, получить счет на оплату, служащий подтверждением заказа, выбрать способ оплаты и доставки товара. В каталоге имеется подробное описание товаров или услуг, представленных в интернет-магазине, сертификаты качества, лицензии, отзывы экспертов и потребителей. Создаются такие сайты с использованием систем управления контентом.
Поисковая система - программно-аппаратный комплекс, оказывающий помощь пользователю в поиске информации в сети интернет. Дает возможность искать по изображениям, видео, картам, новостям, блогам, словарям и т. д. Поисковая система базируется на поисковом движке – комплексе программ, реализующих функциональности поисковой системы и являющихся коммерческой тайной фирмы-разработчика.
Поисковые системы состоят из агента, который индексирует информацию, перемещаясь по глобальной сети, базы данных и поискового механизма.
Почтовый сервис - предоставление услуг по отправке и получению электронных сообщений между пользователями сети интернет. Пересылка сообщений организуется специальными почтовыми серверами. При регистрации в почтовом сервисе пользователь получает электронный адрес и ему выделяется место на сервере для хранения писем. К электронным сообщениям, кроме информации, пользователь может добавлять документы, фотографии, видео, музыку и другие файлы. Существуют как платные, так и бесплатные почтовые сервисы. Отличаются они скорее не качеством и удобством предоставляемых услуг, а уникальностью и престижем почтового адреса.
Блог - также называемый интернет-журнал, онлайн-дневник. Представляет собой регулярно добавляемые не слишком большие статьи, которые могут, кроме текста, содержать изображения, аудио и видео файлы. Обычно блог ведется одним пользователем (личный блог), но встречаются также групповые блоги (социальные, корпоративные, клубные).
Для блогов свойственна возможность добавления другими пользователями комментариев к уже опубликованным статьям, создавая, таким образом, среду сетевого общения. Блоги могут быть тематическими либо общего содержания. Блоги располагаются на блог-платформе – специальном сервисе, позволяющем пользователю вести свой интернет-дневник, не углубляясь при его создании в программирование.
Социальная сеть - многопользовательский интерактивный сайт, содержимое которого в основном формируется и наполняется самими участниками. Социальные сети предназначены главным образом для общения, поиска людей. Участники социальной сети объединяются в сообщества по интересам. Общение между пользователями сети осуществляется посредством внутренней почты, обмена мгновенных сообщений. Для регистрации в социальной сети пользователь создает свой аккаунт (учетную запись, необходимую для идентификации участника) и заполняет анкету, в которой указывает сведения о себе. Регистрация может быть платной и бесплатной. Сети бывают открытые и закрытые.
Интернет-портал - крупный информационный ресурс, объединяющий различные сервисы. Портал предоставляет широкий спектр информации по определенной тематике. В рамках интернет-портала пользователи могут общаться друг с другом посредством форума, чата, мгновенных сообщений и других средств взаимодействия. Также портал может содержать развлекательный контент.[8]
1.4 Выбор среды программирования
Учитывая поставленные выше задачи, наиболее оптимальной базой для разработки такого рода сайта является HTML+PHP и язык запросов SQL.
1.4.1 Анализ возможностей HTML
Обмен информацией в Интернет осуществляется с помощью протоколов прикладного уровня, реализующих тот или иной прикладной сервис (пересылку файлов, гипертекстовой информации, почты и т. д.). Одним из наиболее молодых и популярных сервисов Интернет, развитие которого и привело к всплеску популярности самой Интернет, стала World Wide Web (WWW), основанная на протоколе HTTP (Hyper Text Transfer Protocol - протокол передачи гипертекстовой информации). Гипертекстовые документы, представленные в WWW, имеют одно принципиальное отличие от традиционных гипертекстовых документов - связи, в них использующиеся, не ограничены одним документом, и более того, не ограничены одним компьютером. Для подготовки гипертекстовых документов используется язык HTML (Hyper Text Markup Language – язык разметки гипертекстовых документов), предоставляющий широкие возможности по форматированию и структурной разметке документов, организации связей между различными документами, средства включения графической и мультимедийной информации. HTML-документы просматриваются с помощью специальной программы - браузера. Наибольшее распространение в настоящее время получили браузеры Internet Explorer компании Microsoft (MSIE), Opera компании Opera Software ASA, Google chrome компании Google.[9]
HTML-документ состоит из текста, представляющего собой содержание документа, и тегов, определяющих его структуру и внешний вид при отображении браузером. Простейший html-документ выглядит следующим образом
<html>
<head>
<title>Название</title>
</head>
<body>
<p>Тело документа
</body>
</html>
Как видно из примера, тег представляет собой ключевое слово, заключенное в угловые скобки. Различают одинарные теги, как, например, <p>, и парные, как <body> </body>, в последнем случае действие тега распространяется только на текст между его открывающей и закрывающей скобкой. Теги также могут иметь параметры - например, при описании страницы можно задать цвет фона, цвет шрифта и т. д.: <body bgcolor="white" text="black">.
Текст всего документа заключается в теги <html>, сам документ разбивается на две части - заголовок и тело. Заголовок описывается тегами <head>, в которые могут быть включены название документа (с помощью тегов <title>) и другие параметры, использующиеся браузером при отображении документа. Тело документа заключено в теги <body> и содержит собственно информацию, которую видит пользователь. При отсутствии тегов форматирования весь текст выводится в окно браузера сплошным потоком, переводы строк, пробелы и табуляции рассматриваются как пробельные символы, несколько пробельных символов, идущих подряд, заменяются на один. Для форматирования используются следующие основные теги:
<p> - начало нового абзаца, может иметь параметр, определяющий выравнивание:
<p align=right>;
<br> - перевод строки в пределах текущего абзаца;
<u></u> - выделение текста подчеркиванием
Ссылка на другой документ устанавливается с помощью тега <a href="URL">...</a>, где URL - полный или относительный адрес документа. При этом текст, заключенный в тег <a>, обычно выделяется подчеркиванием и цветом, и после щелчка мышью по этой ссылке браузер открывает документ, адрес которого указан в параметре href. Графические изображения вставляются в документ с помощью тега <img src="URL">.[4]
1.4.2 Анализ возможностей PHP
PHP (Hypertext Preprocessor - Препроцессор Гипертекста)– это широко используемый язык сценариев общего назначения с открытым исходным кодом.
PHP - язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. Синтаксис языка во многом основывается на синтаксисе C, Java и Perl. Он очень похож на С и на Perl, поэтому для профессионального программиста не составит труда его изучить. С другой стороны, язык PHP проще, чем C, и его может освоить веб-мастер, не знающий пока других языков программирования.
Достоинством PHP, в отличие от, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере. Пользователь даже может не знать, получает ли он обычный HTML-файл или результат выполнения скрипта.
Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.
PHP способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов - JPEG, GIF, PNG, файлы PDF и FLASH. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.
PHP - кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server и других.
Для большинства серверов PHP поставляется в 2-х вариантах - в качестве модуля и в качестве CGI препроцессора.
PHP поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.
Язык программирования PHP, особенно в связке с популярнейшей базой данных MySQL - оптимальный вариант для создания интернет-сайтов различной сложности.
Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web-программирования.
В данном дипломном проекте стоит задача создания информационного сайта Института гуманитарного образования, с элементами динамических сайтов (вход на сайт, регистрация, загрузка информационных ресурсов, скачивание информационных ресурсов и др.), который будет отвечать всем выше указанным требованиям. Для реализации поставленной задачи были выбраны языки программирования HTML и PHP. Создаваться сайт будет в ручную, без использования каких-либо систем управления содержимым.[10]
1.4.3 Анализ возможностей SQL
SQL ( Structured Query Language - «язык структурированных запросов») - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Реляционная база данных - база данных, основанная на реляционной модели данных. Реляционная модель данных (РМД) - логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка.
SQL — это стандартный язык доступа к БД, таким как SQL Server, Oracle, MySQL, Sybase и Access..
SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т. п. В связи с этим SQL автономно не используется, обычно он погружен в среду встроенного языка программирования СУБД (например, FoxPro СУБД Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД Access).
В современных СУБД с интерактивным интерфейсом можно создавать запросы, используя другие средства, например QBE. Однако применение SQL зачастую позволяет повысить эффективность обработки данных в базе. Например, при подготовке запроса в среде Access можно перейти из окна Конструктора запросов (формулировки запроса по образцу на языке QBE) в окно с эквивалентным оператором SQL. Подготовку нового запроса путем редактирования уже имеющегося в ряде случае проще выполнить путем изменения оператора SQL. В различных СУБД состав операторов SQL может несколько отличаться.
Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Стандарт языка SQL поддерживают современные реализации следующих языков программирования: PL/1, Ada, С, COBOL, Fortran, MUMPS и Pascal.
В специализированных системах разработки приложений типа клиент-сервер (данную архитектуру мы рассмотрим позже) среда программирования, кроме того, обычно дополнена коммуникационными средствами (установление и разъединение соединений с серверами БД, обнаружение и обработка возникающих в сети ошибок и. т. д.), средствами разработки пользовательских интерфейсов, средствами проектирования и отладки.
Различают два основных метода использования встроенного SQL: статический и динамический.
При статическом использовании языка (статический SQL) в тексте программы имеются фиксированные по структуре вызовы функций языка SQL, включаемые в выполняемый модуль в процессе компиляции. Параметры запросов (обычно представляют константные значения, с которыми сравниваются значения полей в таблицах), являющиеся переменными языка программирования, позволяют добиться некоторой гибкости статических запросов.
При динамическом использовании языка (динамический SQL) предполагается динамическое построение запроса в форме текстовой строки. Данная строка используется как параметр для функции выполнения SQL-запросов, которая выполняет синтаксический анализ строки запроса и формирует на его основе последовательность команд БД. Динамический метод обычно применяется в случаях, когда в приложении заранее неизвестен вид SQL-вызова.
В результате выборки данных из одной или нескольких, таблиц может быть получено множество записей, называемое представлением. Представление по существу является таблицей, формируемой в результате выполнения запроса, которая существует «виртуально» только до завершения выполнения программы.
Для удобства работы с представлениями в язык SQL введено понятие курсора. Курсор представляет собой своеобразный указатель на набор записей в представлении, обеспечивающий в каждый момент доступ лишь к некоторой небольшой части строк представления. С помощью операторов перемещения курсора по записям можно получить доступ ко всем строкам таблицы.[16]
В данном проекте используется MySQL, т. к. обладает некоторыми преимуществами:
- производительность (из-за чего Google и Yahoo используют именно MySQL);
- масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);
- надежность (в коде конкурентных продуктов содержится в десять с лишним раз больше уязвимостей);
- простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);
- открытая и модульная разработка;
низкие совокупные затраты (платить нужно только при потребности в поддержке).
2 Разработка этапов жизненного цикла сайта
2.1 Обоснование этапов разработки сайта
Стадии разработки, этапы и содержание работ должны соответствовать указанным в таблице 1.
Таблица 1 – Стадии и этапы разработки ПО
Стадии разработки | Этапы работ | Содержание работ |
1. Техническое задание | Обоснование необходимости разработки программы | Постановка задачи |
Научно-исследовательские работы | Определение структуры входных и выходных данных | |
Разработка и утверждение технического задания | Определение требований к программе | |
2. Эскизный проект | Разработка эскизного проекта | Предварительная разработка структуры входных и выходных данных |
Утверждение эскизного проекта | Разработка пояснительной записки | |
3. Технический проект | Разработка технического проекта | Уточнение структуры входных и выходных данных |
Утверждение технического проекта | Разработка плана мероприятий по разработке и внедрению программ | |
4. Рабочий проект | Разработка программы | Программирование и отладка программы |
Разработка программной документации | Разработка программных документов в соответствии с требованиями ГОСТ 19.101-77 | |
Испытания программы | Разработка, согласование и утверждение программы и методики испытаний | |
5. Внедрение | Подготовка и передача программы | Подготовка и передача программы и программной документации для сопровождения и (или) изготовления |
Примечания:
1. Допускается исключать вторую стадию разработки, а в технически обоснованных случаях - вторую и третью стадии. Необходимость проведения этих стадий указывается в техническом задании;
2. Допускается объединять, исключать этапы работ и (или) их содержание, а также вводить другие этапы работ по согласованию с заказчиком.[2]
Исходя из этого создание сайта можно разделить на следующие этапы:
- подготовительный;
- разработка макета;
- верстка;
- программирование;
- наполнение контентом;
- администрирование (поддержка) сайта.
2.1.1 Подготовительный этап
На этом этапе необходимо сформировать основную идею будущего сайта.
- Нужно определить какая цель будет у сайта (обучение, развлечение, интернет-магазин, продажа каких либо услуг, бизнес сайт, заработок на сайте).
- Затем определяется целевая аудитория (то есть для кого будет этот сайт).
- Выясняется, какую информацию ожидают видеть посетители, это поможет с определением контента (текстовой информацией) на сайте.
- Затем нужно определиться с технической стороной (программным обеспечением).
- Навигация. Все должно быть интуитивно понятно, максимально просто.
На этом же этапе составляется ТЗ (техническое задание).
2.1.2 Разработка макета
После постановки задач, наступает следующий этап — разработка макета. Ориентируясь по пунктам ТЗ разрабатывается будущий шаблон, или шаблоны, из которых можно выбрать нужный вариант. На данном этапе определяется как будет выглядеть дизайн в целом, какие графические элементы будут использованы, а так же какая структура будет у страниц и какие цветовые решения будут на нем присутствовать.
После чего готовый макет предоставляется в формате. ppt (со всеми ссылками). Разработка дизайна сайта обычно занимает от нескольких дней, до нескольких недель, очень сложные работы могут проводиться месяц.
2.1.3 Верстка
ерстка сайта — это процесс создания веб-страницы по готовому макету. Каждый код отвечает за то, чтобы все элементы на странице размещались там, где нужно. Должны учитываться все особенности браузеров, так как для каждого браузера необходим свой подход верстки.
Виды верстки при создании сайта:
- блочная. Преимущества блочной верстки заключается в том, что она правильно отображает все элементы сайта на разных устройствах (например, на мобильных телефонах). Компактный код, все элементы весят меньше, а значит страница будет загружаться быстро. Недостаток - при использовании разных браузеров верстка может поплыть.
- табличная. В табличной верстке можно создавать колонки, таблицы в браузерах выглядят почти одинаково. Недостатки: индексация такого сайта очень медленная, долго загружаются страницы и код такой верстки слишком большой.[15]
В результате разработки получена база данных, часть таблиц которой изображена на рисунке 1.
Рисунок 1 – Структура базы данных
2.1.4 Программирование
На этом этапе идет разработка механизмов системы администрирования сайта, которая в будущем позволит менять/обновлять информацию на сайте. То есть создается рабочая версия сайта, готовая к наполнению текстов и графических материалов.
Язык программирования представляет собой знаковую систему, которая предназначена для описания алгоритмов. Самые популярные языки программирования: Java, C, C++, Delphi, Basic, PHP, Perl, Ruby и др.
После всех этих действий сайт публикуется в сети.
2.1.5 Наполнение сайта контентом
Эффективность работы сайта связана с понятием контента - текстовой и графической информации. Иногда материалы для заполнения есть у заказчика, если нет, то он обращается к фрилансерам, для того, чтобы они написали необходимые статьи.
Обычно на сайтах используют SEO-копирайтинг - технику создания текстов для сайта, которая учитывается не только особенностью восприятия пользователем, но и необходима для продвижения в поисковой системе.
2.1.6 Поддержка сайта
Следует учитывать, каким образом будут добавляться или редактироваться материалы и разделы сайта. Возможно потребуется сделать архив статей, куда будут попадать не актуальные новости. Для таких целей выделяется сотрудник, который будет следить за частотой обновления, предоставлять свежую информацию, убирать старую.
Ресурс можно обновлять как самостоятельно, так и при помощи поддержки специалистов.[15]
Для более наглядного представления, этапы разработки сайта можно представить в виде блок-схемы, изображенной на рисунке 2.


Рисунок 2 - Этапы разработки web-сайта
2.2 Теория разработки программного обеспечения
Разработка программного обеспечения (англ. software engineering, software development) - это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.[11]
2.2.1 Сложность разработки программного обеспечения
Как и другие традиционные инженерные дисциплины, разработка программного обеспечения имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин, таких как самолеты.[11]
2.2.2 Процесс и методология
На протяжении нескольких десятилетий стоит задача поиска повторяемого, предсказуемого процесса или методологии, которая бы улучшила продуктивность, качество и надёжность разработки. Одни пытались систематизировать и формализовать этот, по-видимому, малопредсказуемый процесс. Другие применяли к нему методы управления проектами и методы программной инженерии. Третьи считали, что без постоянного контроля со стороны заказчика разработка ПО выходит из-под контроля, съедая лишнее время и средства.
Опыт управления разработкой программ отражается в соответствующих руководствах, обычаях и стандартах. Если при разработке используется несколько стандартов и нормативных документов, то имеет смысл составить профиль.
Информатика как научная дисциплина предлагает и использует на базе методов структурного программирования технологию надежной разработки программного обеспечения, используя тестирование программ и их верификацию на основе методов доказательного программирования для систематического анализа правильности алгоритмов и разработки программ без алгоритмических ошибок.
Данная методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.
Методология структурного проектирования программного обеспечения может использоваться с применением самых различных языков и средств программирования для разработки надёжных программ самого различного назначения. Одним из таких проектов была разработка бортового программного обеспечения для космического корабля «Буран», в котором впервые использовался бортовой компьютер для автоматического управления аппарата, совершившего успешный старт и посадку космического корабля.
При выборе методологии разработки программного обеспечения следует руководствоваться тем, что сложность методологии сравнима со сложностью структуры программного продукта, и неоправданная для продукта данной сложности сложность методологии только неоправданно увеличит стоимость разработки.[11]
2.2.3 Участники процесса разработки ПО
Участниками процесса разработки программного обеспечения являются:
- пользователь;
- заказчик;
- разработчик;
- руководитель проекта;
- аналитик;
- тестировщик;
- поставщик.[11]
2.2.4 Проблемы разработки ПО
Наиболее распространённые проблемы, возникающие в процессе разработки ПО.
Недостаток прозрачности. В любой момент времени сложно сказать, в каком состоянии находится проект и каков процент его завершения. Данная проблема возникает при недостаточном планировании структуры (или архитектуры) будущего программного продукта, что чаще всего является следствием отсутствия достаточного финансирования проекта: программа нужна, сколько времени займёт разработка, каковы этапы, можно ли какие-то этапы исключить или сэкономить — следствием этого процесса является то, что этап проектирования сокращается.
Недостаток контроля. Без точной оценки процесса разработки срываются графики выполнения работ и превышаются установленные бюджеты. Сложно оценить объём выполненной и оставшейся работы. Данная проблема возникает на этапе, когда проект, завершённый более чем наполовину, продолжает разрабатываться после дополнительного финансирования без оценки степени завершённости проекта.
Недостаток мониторинга. Невозможность наблюдать ход развития проекта не позволяет контролировать ход разработки в реальном времени. С помощью инструментальных средств менеджеры проектов принимают решения на основе данных, поступающих в реальном времени. Данная проблема возникает в условиях, когда стоимость обучения менеджмента владению инструментальными средствами сравнима со стоимостью разработки самой программы.
Неконтролируемые изменения. У потребителей постоянно возникают новые идеи относительно разрабатываемого программного обеспечения. Влияние изменений может быть существенным для успеха проекта, поэтому важно оценивать предлагаемые изменения и реализовывать только одобренные, контролируя этот процесс с помощью программных средств. Данная проблема возникает вследствие нежелания конечного потребителя использовать те или иные программные среды. Например, когда при создании клиент-серверной системы потребитель предъявляет требования не только к операционной системе на компьютерах-клиентах, но и на компьютере-сервере.
Недостаточная надежность. Самый сложный процесс — поиск и исправление ошибок в программах на ЭВМ. Поскольку число ошибок в программах заранее неизвестно, то заранее неизвестна и продолжительность отладки программ и отсутствие гарантий отсутствия ошибок в программах. Следует отметить, что привлечение доказательного подхода к проектированию ПО позволяет обнаружить ошибки в программе до её выполнения. В этом направлении много работали Кнут, Дейкстра и Вирт. Профессор Вирт при разработке Паскаля и Оберона за счет строгости их синтаксиса добился математической доказуемости завершаемости и правильности программ, написанной на этих языках. Данная проблема возникает при неправильном выборе средств разработки. Например, при попытке создать программу, требующую средств высокого уровня, с помощью средств низкого уровня. Например, при попытке создать средства автоматизации с СУБД на ассемблере. В результате исходный код программы получается слишком сложным и плохо поддающимся структурированию.
Отсутствие гарантий качества и надежности программ из-за отсутствия гарантий отсутствия ошибок в программах вплоть до формальной сдачи программ заказчикам. Данная проблема не является проблемой, относящейся исключительно к разработке ПО. Гарантия качества — это проблема выбора поставщика товара (не продукта).[11]
2.3 Организация процесса конструирования
2.3.1 Определение технологии конструирования программного обеспечения
Технология конструирования программного обеспечения (ТКПО) — система инженерных принципов для создания экономичного ПО, которое надежно и эффективно работает в реальных компьютерах.
Различают методы, средства и процедуры ТКПО.
Методы обеспечивают решение следующих задач:
- планирование и оценка проекта;
- анализ системных и программных требований;
- проектирование алгоритмов, структур данных и программных структур;
- кодирование;
- тестирование;
- сопровождение.
Средства (утилиты) ТКПО обеспечивают автоматизированную или автоматическую поддержку методов. В целях совместного применения утилиты могут объединяться в системы автоматизированного конструирования ПО. Такие системы принято называть CASE-системами. Аббревиатура CASE расшифровывается как Computer Aided Software Engineering (программная инженерия с компьютерной поддержкой).
Процедуры являются «клеем», который соединяет методы и утилиты так, что они обеспечивают непрерывную технологическую цепочку разработки. Процедуры определяют:
- порядок применения методов и утилит;
- формирование отчетов, форм по соответствующим требованиям;
- контроль, который помогает обеспечивать качество и координировать изменения;
- формирование «вех», по которым руководители оценивают прогресс.
Процесс конструирования программного обеспечения состоит из последовательности шагов, использующих методы, утилиты и процедуры. Эти последовательности шагов часто называют парадигмами ТКПО.
Применение парадигм ТКПО гарантирует систематический, упорядоченный подход к промышленной разработке, использованию и сопровождению ПО. Фактически, парадигмы вносят в процесс создания ПО организующее инженерное начало, необходимость которого трудно переоценить.[11]
В данном дипломном проекте в качестве парадигмы было выбрано макетирование.
2.3.2 Макетирование
Достаточно часто заказчик не может сформулировать подробные требования по вводу, обработке или выводу данных для будущего программного продукта. С другой стороны, разработчик может сомневаться в приспособлении продукта под операционную систему, форме диалога с пользователем или в эффективности реализуемого алгоритма. В этих случаях целесообразно использовать макетирование.
Основная цель макетирования — снять неопределенности в требованиях заказчика.
Макетирование (прототипирование) — это процесс создания модели требуемого программного продукта.
Модель может принимать одну из трех форм:
- бумажный макет или макет на основе ПК (изображает или рисует человеко-машинный диалог);
- работающий макет (выполняет некоторую часть требуемых функций);
- существующая программа (характеристики которой затем должны быть улучшены).
Как показано на рисунке 3, макетирование основывается на многократном повторении итераций, в которых участвуют заказчик и разработчик.

Рисунок 3 - Макетирование
Последовательность действий при макетировании представлена на рисунке 4. Макетирование начинается со сбора и уточнения требований к создаваемому ПО Разработчик и заказчик встречаются и определяют все цели ПО, устанавливают, какие требования известны, а какие предстоит доопределить.
Затем выполняется быстрое проектирование. В нем внимание сосредоточивается на тех характеристиках ПО, которые должны быть видимы пользователю.
Быстрое проектирование приводит к построению макета.
Макет оценивается заказчиком и используется для уточнения требований к ПО.
Итерации повторяются до тех пор, пока макет не выявит все требования заказчика и, тем самым, не даст возможность разработчику понять, что должно быть сделано.
Достоинство макетирования: обеспечивает определение полных требований к ПО.
Недостатки макетирования:
- заказчик может принять макет за продукт;
- разработчик может принять макет за продукт.
Суть недостатков заключается в том, что когда заказчик видит работающую версию ПО, он перестает сознавать, что детали макета не совсем прочно скреплены; он забывает, что в погоне за работающим вариантом оставлены нерешенными вопросы качества и удобства сопровождения ПО. Когда заказчику говорят, что продукт должен быть перестроен, он начинает возмущаться и требовать, чтобы макет быстро был превращен в рабочий продукт. Очень часто это отрицательно сказывается на управлении разработкой ПО.

Рисунок 4 - Последовательность действий при макетировании
С другой стороны, для быстрого получения работающего макета разработчик часто идет на определенные компромиссы. Могут использоваться не самые подходящие язык программирования или операционная система. Для простой демонстрации возможностей может применяться неэффективный алгоритм. Спустя некоторое время разработчик забывает о причинах, по которым эти средства не подходят. В результате далеко не идеальный выбранный вариант интегрируется в систему.[11]
3 Разработка программного обеспечения
Заказчик (в данном случае, директор ЦСКО «Байкал») определил перед разработчиком некоторые требования, которые необходимо было структурировать и реализовать в проекте.
Все требования можно разделить на три группы:
- определение структуры сайта;
- пожелания, касаемые интерфейса сайта;
- требования к функционалу сайта.
3.1 Разработка структуры сайта
Сайт состоит из следующих главных разделов:
- главная страница. На главной странице отображаются приветственные слова для всех посетителей сайта. Оформление включает в себя логотип Сбербанка, для уточнения принадлежности ЦСКО к банку. Также представлено меню сайта, которое включает следующие разделы: «Главная», «Новости», «О нас», «Сотрудники», «Контакты»:
- страница «Главная» - это первая страница, которая открывается после входа на сайт. На ней расположены новейшие новости, добавленые на сайт, календарь, тестовый опросник, вопросы которого может менять администратор сайта, архив всех новостей и файлов, которые на данное время потеряли актуальность;
- страница «Новости». Раздел предназначен для публикации актуальных новостей и донесения нужной информации до персонала ЦСКО;
- страница «О нас». Этот раздел будет включать в себя краткую историю создания ЦСКО;
- страница «Сотрудники». В этом разделе представлен список сотрудников ЦСКО с фотографиями;
- страница «Контакты», предполагает обратную связь посетителей сайта с администрацией сайта. Это как отправка сообщений в администрацию сайта или персоналу ЦСКО, так и способ наглядно увидеть адрес и телефоны ЦСКО.
3.2 Разработка интерфейса сайта
Для понятного и доступного представления внешнего вида сайта было решено сделать макет сайта с помощью Microsoft Power Point. Это средство компании Microsoft даёт возможность заказчику представить в полной мере не только внешний вид сайта (цветовую гамму, шрифт, изображения и др.), но и его функциональность (ссылки на страницы, формы для заполнения и редактирования информации и др.).
В пределах установленного срока заказчику был предоставлен предварительный макет сайта, который требовал корректировки, согласно требованиям заказчика.
Все пожелания и замечания заказчика были исправлены, после чего макет был утвержден и готов к программной разработке.
Несколько слайдов из утвержденного макета представлены на рисунках 5-7.

Рисунок 5 – Главная станица

Рисунок 6 – Внешний вид "Админпанели" (презентация PowerPoint)

Рисунок 7 – Страница «Новости» (презентация PowerPoint)
3.3 Определение дополнительных функций
Кроме основных возможностей (перехода по ссылкам, загрузки и скачивания информации и др.), реализованы некоторые дополнительные функции:
а) на главной странице "Логин" и "Пароль" исчезают после входа и появляются после нажатия "Выход";
б) после входа, на всех слайдах надпись: "Здравствуйте, (вошедший)!".
Вход и права пользователей должны разделяться в соответствии с тем, кто зашел на сайт. Авторизироваться на сайте можно двумя путями:
- либо это admin под своим паролем;
- либо user (любой сотрудник под одним логином и паролем).
Логины представлены списком на выбор (admin, user). Те, кто не авторизировался, именуется Гость. Представители всех категорий будут знать условия авторизации.
Права доступа к редактированию сайта:
- если авторизирован admin, то сайт открывается в режиме редактирования всех его разделов;
- если авторизирован user, то возможны лишь просмотр страниц сайта и загрузка новостной информации сайта.
3.4 Разработка программного кода
Для написания программного кода сайта было решено использовать такие средства, как:
- Microsoft Word 2003;
- язык программирования PHP 5;
- Apache HTTP Web Server Version 2.2;
- система управления базами данных MySQL (использование средства администрирования баз данных PHPMyAdmin).
Все программные коды написаны в текстовом редакторе Microsoft Word 2003 на языке программирования PHP 5, без использования систем управления содержимым.
База данных MySQL разработана на сервере баз данных PHPMyAdmin, далее привязка страниц к разработанной базе данных произведена путем прописывания пути к базе данных в php-коде.
Далее, сохраненные файлы с расширением *.php, проверялись с использованием локального сервера Apache. Но прежде чем использовался Apache, он был установлен и настроен для корректной работы служб. После, все написанные php-коды копировались в папку www, и, после запуска браузера Google Ghrome, в строке прописывался путь к папке www, и название файла с кодом главной страницы сайта. После загрузки главной страницы, проверялась корректная работа всех механизмов и функций сайта.
Программный php-код приведен в приложениях А-Б.


