Разработка системы по автоматизации приема заявок и отображение их на сайте
Разработка веб-приложения (сайта) по поиску работы, подбору персонала и выбора образования. Выбор концепции Model-View-Controller, использование базы данных MySQL и языка программирования PHP5 при проектировании. Описание работы программного комплекса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.11.2014 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
- Введение
- 1. Аналитическая часть
- 1.1 Общая информация о предприятии
- 1.2 Техническое задание на разработку веб-приложения
- 1.3 Аудитория сайта
- 1.4 Обоснование проектных решений по выбору программного обеспечения
- 1.5 Техническое обеспечение задачи
- 2. Описание средств разработки
- 2.1 Веб-сервер
- 2.2 Язык программирования PHP
- 2.3 База данных MySQL
- 2.4 Язык разметки гипертекста HTML
- 2.5 Каскадные таблицы стилей CSS
- 3. Практическая часть
- 3.1 Описание работы программного комплекса
- 3.2 Структура базы данных
- 3.3 Добавление вакансии
- 3.4 Вывод списка вакансий, резюме и курсов
- Заключение
- Список использованных источников
- Приложение А
Введение
В данном курсовом проекте рассматривается разработка системы по автоматизации приема заявок и отображение их на сайте.
При разработке была использована концепция MVC (Model, View, Con-troller). Следуя этой концепции, все файлы веб-приложения в зависимости от выполняемых функций разделены на 3 папки: Controllers (файлы-контроллеры), Models (файлы модели) и Views (файлы отображения).
Практическая часть курсового проекта описывает структуру программного комплекса и базы данных. Также дается описание пользовательского интерфейса взаимодействия с сайтом.
В качестве инструментария для разработки была выбрана связка PHP + MySQL. В CMS реализовано отображение статических страниц сайта, сервисы обратной связи и модуль вопросов и ответов.
1. Аналитическая часть
1.1 Общая информация о предприятии
Наименование предприятия: "Образование и работа", Периодическое издание.
Телефоны: тел.: +373 (22) 20-71-87, +373 (22) 20-79-50.
Адрес: MD-2001, Молдова, г. Кишинев, str. Alexandru cel Bun, 62, biroul 53.
E-mail: rio_moldova@mail.ru.
Адрес в Интернет: www.studii.md.
Описание: Издательство: газеты и журналы, Издание газет.
Вид деятельности, продукция, услуги: Единственное специализированное издание о рынке труда и образования Молдовы.
1.2 Техническое задание на разработку веб-приложения
Требуется разработать веб-приложение (сайт) по поиску работы, подбору персонала и выбора образования.
Основные страницы (разделы) сайта:
Главная страница. Содержит список последних добавленных вакансий (должность, требования, контакты), фильтр по категории, список VIP вакансий (логотип, контакты, произвольный HTML-код), а также ссылки для перехода на предыдущую/следующую страницу.
Добавить вакансию. Пользователю отображается форма с полями:
требуемая должность;
требования к соискателю;
контактная информация;
категория;
поле для ввода captcha.
После заполнения формы, информация сохраняется с базе данных до проверки ее модератором сайта. Модератор может одобрить, отредактировать, либо удалить вакансию с сайта. При одобрении вакансии, она появляется в общем списке и на странице соответствующей категории. Добавление новой вакансии доступно всем пользователям без авторизации.
Технологические требования:
Сайт разрабатывается под базовое разрешение экрана 1024x768 пкс,
Корректное отображение броузерами Internet Explorer, Opera, Mozilla.
Использование фирменных цветов и логотипа компании.
Обязательная визуальная поддержка действий пользователя - т.н. «интерактив» (визуальное отображение активных, пассивных ссылок; четкое обозначение местонахождения пользователя). По ссылке с каждой страницы загружается почтовая программа (бланк письма для обратной связи).
Мета-теги и контент сайта на этапе изготовления сайта д.б. настроены для поисковых систем, что обеспечить продвижение сайта по ключевым словам в поисковых системах Yandex, Aport, Rambler.
1.3 Аудитория сайта
Основная доля -- это соискатели: люди ищущие работу, менеджеры среднего и высшего звена и разного рода специалисты, находящиеся в активном поиске работы. Доля соискателей -- 85%. Причем 80% из них -- это трудоустроенные специалисты, но готовые рассматривать новые предложения, и, как правило, со своих же рабочих мест. Прямые работодатели -- это HR-менеджеры и директора компаний и организаций. Доля работодателей -- 13%. Общая доля кадровых агентств -- не более 1.5%-2% от общей аудитории сайта.
1.4 Обоснование проектных решений по выбору программного обеспечения
В данной работе для создания макета сайта использовался графический редактор Adobe Photoshop - многофункциональный графический редактор, разработанный и распространяемый фирмой Adobe Systems. Photoshop - программное решение, предназначенное для цифровой обработки изображений. Это один из основных инструментов Web-мастера, который используется для разработки макетов сайтов.
Photoshop обладает полным набором инструментов для создания макетов сайтов практически любой сложности. Вплоть до создания анимаций. Основные инструментальные модули Photoshop, подчеркивающие его привлекательность для веб-дизайнера - это:
слои, позволяющие создавать сложные изображения и дающие возможность разбиения на папки групп элементов макета сайта;
стили слоев, дающие возможность неограниченно видоизменять любые элементы изображения;
различные спецэффекты, применяемые к слоям и позволяющие легко достигнуть желаемого эффекта;
расширяемые наборы кистей (brushes), стилей (styles) и форм (shapes), градиентов и текстур;
возможности программирования действий для автоматизации выполнения однотипных операций;
история операций позволяет легко вернуть предыдущий вариант макета в случае ошибочного или некорректного действия, совершенного над макетом;
возможности оптимизации размера и параметров изображения в целях уменьшения их размера.
Редактор источников кода предоставляет неограниченные возможности контроля над HTML-тэгами и их форматированием. Для того чтобы переключится из режима разметки страницы в режим редактирования кода, достаточно просто щелкнуть по специальной вкладке в окне документа. Внеся изменения в код, вы можете тут же посмотреть их, щелкнув по другой вкладке.
Для создания шаблона сайта использовался редактор Adobe Dreamweaver. Мощная профессиональная среда Dreamweaver обладает всеми необходимыми средствами для генерации страниц HTML любой сложности и масштаба. Она обеспечивает режим визуального проектирования WYSIWYG (What You See Is What You Get - То, что видишь, то и получишь в итоге), отличается очень чистой работой с исходным текстом Web-документов, обладает встроенными средствами поддержки больших сетевых проектов.
Для обеспечения работоспособности сайта использовалась самописная система управления контентом. Такой выбор продиктован следующими необходимыми функциями:
быстрая скорость работы сайта;
отсутствие тяжелой «модульности» готовых решений;
минимальное содержание графических элементов;
изначальная полная русская локализация;
легкое администрирование сайта после первого же ознакомления, практически не требующее знаний кода;
легкая установка движка и переносимость;
полное комментирование кода;
удобное изменение кода для сторонних разработчиков;
легкая верстка любого дизайна в дальнейшем;
маленький «вес» дистрибутива;
минимальная нагрузка на сервер, быстрая работа практически на любом хостинге, даже с минимумом выделенных ресурсов;
использование технологий PHP, Apache, MySQL которые есть на каждом веб-хостинге.
Для обеспечения работоспособности сайта, система управления контентом (CMS) позволяет полностью или частично управлять содержимым сайта. CMS отслеживает каждую часть содержимого (контента) на сайте. Содержимым может быть текст, фотографии, музыка, видео, документы и т.п. Управление сайтом происходит через Web-интерфейс административной части сайта.
Система управления содержимым написана на языке PHP и использует в качестве хранилища базу данных MySQL.
1.5 Техническое обеспечение задачи
В процессе работы с онлайн-проектами и созданием сайта, размещение сайта на хостинге является одним из ключевых моментов успешного старта проекта. Часть хостеров предоставляет уникальные возможности своим пользователям, обладая продвинутым и современным оборудованием в дата-центрах, тогда как в интернете имеется и некоторое число неподходящих вариантов площадок для сайтов.
Различить заведомо нерациональные виды хостинга с перспективными довольно просто, ознакомившись с отзывами пользователей, опубликованными на специальных сайтах, которые делают обзоры на площадки. В принципе, они являются самыми важными и авторитетными советниками для веб-мастера, потому как предоставляют информацию из первых рук, то есть от пользователей услуги. Потому важности их мнения стоит уделить внимание.
Среди представляемых хостинг-площадками услуг по размещению сайтов можно различить бесплатные виды хостинга и платные варианты, реализующие для пользователя полную свободу в работе над сайтом, если он не нарушает условий договора. При этом среди платных вариантов хостинга стоит различать такие виды услуг как: аренда серверов, аренда выделенного виртуального сервера, обычный платный хостинг.
Для последнего режим функционирования полностью зависит от нагрузки на сервер со стороны всех пользователей хостинга данной компании, тогда как выделенный сервер предоставляется только одному заказчику. Подобная ситуация обстоит с выделенным виртуальным сервером, однако производительность оборудования для конкретного пользователя регулируется посредством технологий виртуализации, то есть программной разбивки аппаратных возможностей. Из-за этого пользователю предоставляется как бы физический сервер с ограниченными условиями договора или тарифа показателями производительности.
Потому данный вид хостинга используется исключительно одним заказчиком, а проекты других веб-мастеров не могут снижать уровень производительности на данном виртуальном сервере, что очень удобно для крупных ресурсов, порталов и интернет-магазинов, которые требуют высокого уровня производительности от серверного оборудования.
Основываясь на требованиях и необходимых функциях поставленной задачи можно сделать вывод, что для нашего проекта вполне подойдет обычный хостинг без каких-либо выделенных мощностей.
2. Описание средств разработки
2.1 Веб-сервер
Сервер - это любое управляющее компьютером программное обеспечение, которое дает ему возможность выполнять запросы на документы или другие данные. Программы, которые запрашивают и отображают документы (такие как браузер), называются клиентами. Термины "на стороне сервера" и "на стороне клиента", используемые, например, при работе с картами-изображениями, относятся к той машине, которая руководит процессом. Функции на стороне клиента выполняются на машине пользователя, функции на стороне сервера - на удаленной машине.
Web-серверы отвечают на запросы браузеров (клиентских программ), находят заданные файлы (или выполняют сценарий CGI) и возвращают документ или результаты сценария. Web-браузеры и серверы общаются по протоколу Hypertext Transfer Protocol (HTTP, протокол передачи гипертекста).
Большинство серверов работают на платформе Unix. Именно поэтому в мире Web по-прежнему используется терминология системы Unix. В процессе работы понадобится выучить несколько Unix-команд. Однако процент серверов Windows NT, Windows 95 и даже MacOS постоянно увеличивается. Некоторые серверные пакеты предлагают графический интерфейс в качестве альтернативы управлению из командной строки Unix.
Вот некоторые известные серверы: NCSA Server, Apache, CERN, Netscape Servers, Internet Information Server (IIS).
Сегодня большинство серверов (приблизительно 70%) работают на Apache или его предшественнике NCSA. Конкретный тип сервера не влияет на большую часть того, что делает дизайнер, например, на создание графики или разработку базовых HTML-файлов. Конечно, он будет влиять на более совершенные методы создания Web-сайтов, такие как Server Side Includes (серверные включения), добавление типов MIME и Web-страницы, управляемые базами данных.
Когда браузер запрашивает документ, сервер определяет местонахождение документа, начиная с корневого каталога документа. Это каталог, который был сконфигурирован для хранения всех документов, совместно используемых посредством Web. Он не обязательно появляется в URL, который указывает на документ, поэтому важно знать, какой каталог является корневым при загрузке файлов.
Прямой слэш (/) в конце URL означает, что URL обращается к каталогу, а не к файлу. По умолчанию серверы отображают содержание каталога, указанного в URL. Большинство серверов, однако, сконфигурированы так, чтобы отображать особый файл вместо списка каталога, этот файл называется индексным. Индексные файлы обычно имеют имя index.html, но на некоторых серверах они могут называться welcome.html или default.html.
Если сервер сконфигурирован на нахождение индексного файла и не обнаруживает его, вместо него может быть отображено содержание каталога, но это делает файлы уязвимыми для посторонних. По этой причине неплохо всегда называть одну из страниц (обычно главную) в каждом каталоге index.html (или другим условленным именем).
Как только сервер определяет месторасположение файла, он посылает содержимое этого файла обратно браузеру вместе с некоторыми заголовками отклика HTTP (response headers). Эти заголовки обеспечивают браузер информацией о прибывающем файле, включая его тип данных (также известный как "тип содержимого" или "тип MIME"). Обычно сервер определяет формат по расширению файла; например, файл с расширением.gif распознается как файл изображения.
Браузер читает информацию в заголовке и определяет, что делать с файлом. Он может отобразить файл в окне либо запустить соответствующее вспомогательное или встраиваемое приложение (plug-ins).
Вместо того чтобы обращаться к файлам HTML, URL может потребовать запустить программу CGI. CGI расшифровывается как Common Gateway Interface (общий шлюзовой интерфейс). Он позволяет Web-серверу общаться с другими программами (сценариями CGI), которые работают на сервере. Сценарии CGI обычно пишут на языках Perl, С или C++.
Сценарии CGI используют для выполнения разнообразных функций, таких как поиск, управление картами-изображениями на стороне сервера, игры. Однако наиболее типичное использование сценариев - обработка форм.
Большинство администраторов серверов придерживаются правила хранить сценарии CGI в специальном каталоге, озаглавленном cgi - bin (сокращенно от CGI-binaries). Когда они хранятся в одном каталоге, администраторам проще управлять сервером и обеспечивать его безопасность. Если сценарий CGI запрашивается браузером, сервер исполняет функцию и возвращает браузеру динамическое содержимое.
Поскольку Web является порождением окружения Unix, он следует многим его соглашениям. Например, чтобы в гиперссылке правильно указать путь, URL, требуется понимание организации каталогов на платформе Unix.
Каталоги ("место хранения файлов") организованы в виде иерархической структуры. Самый верхний каталог известен как корневой и обозначается прямым слэшем (/). Корневой может содержать несколько каталогов, каждый из которых может иметь свои подкаталоги, и т. д. Говорят, подкаталог является "потомком" каталога, в состав которого он входит (последний называют "родителем").
Имя пути (path name) - это нотация, используемая для указания конкретного файла или каталога. Оно указывает, какой путь нужно пройти, чтобы добраться до желаемой цели. Есть два типа путей: абсолютный (из корневого каталога) и относительный (из каталога в котором находишься).
Для того чтобы файлы удачно путешествовали по сети, нужно назвать их в соответствии с установленными соглашениями об именах файлов:
- запрещено использование пробелов в именах файлов. Хотя это абсолютно приемлемо для локальных файлов в MacOS и Windows 95/98/NT, пробелы не распознаются другими системами;
- нежелательно использование в именах файлов специальных символов, таких как ?, %, #. Лучше ограничиться буквами, цифрами, символом подчеркивания (вместо пробелов), дефисами и точками;
- выбор расширения должен быть правильным. Документы HTML требуют расширения .html (или htm для сервера Windows). Графические файлы GIF имеют расширение .gif, а файлы JPEG - .jpg или .jpeg. Файлы с неправильным расширением браузер не распознает в качестве файлов, разрешенных для передачи в Web;
- имена файлов HTML чувствительны к регистру. Хотя это и не обязательно, но лучше использовать только буквы нижнего регистра. Это может облегчить запоминание имен файлов.
Наиболее частой транзакцией, с которой Web-дизайнер обращается к серверу, является загрузка на сервер HTML-документов, изображений или мультимедийных файлов. По сети файлы передаются между компьютерами с помощью метода, называемого FTP (File Transfer Protocol, протокол передачи файлов). При работе на Unix в сессии Telnet можно запустить программу ftp и передавать файлы с огромным числом аргументов командной строки.
На компьютерах IBM PC и Маcintosh имеется ряд программ FTP с графическими интерфейсами, которые избавляют от необходимости передавать файлы с использованием командной строки Unix. Более того, в большинстве случаев функции FTP встроены непосредственно в WYSIWYG HTML-редакторы, такие как GoLive Cyberstudio, Claris HomePage и Dreamweaver. Ha компьютерах Macintosh достаточно популярны специальные программы, которые осуществляют передачу файлов методом "перетаскивания". На PC есть немало простых программ FTP, таких как WS__FTP и AceFTP.
При передаче файлов на Web-сервер, нужно убедиться, что все права доступа к файлам установлены таким образом, что каждый может их прочитать. Право доступа контролирует, кто может читать, записывать (редактировать) или выполнять файл (если это программа). Права доступа требуется установить для владельца файла, группы файла или для всех пользователей. Устанавливать права доступа может только автор файла.
Некоторые FTP-программы позволяют устанавливать право доступа по умолчанию в диалоговом окне. Для достижения большинства целей Web пользователю нужно обеспечить полный доступ и ограничить всех других пользователей только возможностью чтения. Может понадобиться согласие администратора сервера с такими установками.
Серверы добавляют к каждому документу заголовок, который сообщает браузеру, какой тип файла он отправляет. Основываясь на этой информации, браузер определяет, что делать с файлом: или отобразить его содержимое в окне, или запустить соответствующее встраиваемое или вспомогательное приложение.
Система для сообщения мультимедийных типов файлов очень напоминает MIME (Multipurpose Internet Mail Extension, многоцелевые расширения почтовой службы в Интернете), которая была изначально разработана для вложений в письма электронной почты. Чтобы успешно сообщать тип файла браузеру, нужно чтобы сервер был сконфигурирован на распознавание любого MIME-типа. Если нужно доставлять данные, выходящие за рамки стандартных HTML-файлов и изображений (например, видео Shockwave Flash или аудиофайлы), следует уточнить у администратора сервера, способен ли сервер поддерживать этот MIME-тип. Большинство распространенных форматов встроены в текущие версии программного обеспечения сервера. Если нет, то администратор может легко их установить, следует лишь предоставить ему необходимую информацию.
Точный синтаксис для конфигурирования MIME-типов варьируется в разных серверных программах. Тем не менее, всем требуется одна и та же базовая информация: тип, подтип и расширение. Типы - это наиболее общие категории файлов. Они включают текст, изображение, аудио, видео, приложение и т.д. В каждой категории есть ряд подтипов. Например, файловый тип image (изображение) включает подтипы gif, jpeg и т.д. Расширение файла используется сервером для определения типа файла и его подтипа. Не все расширения стандартизированы.
2.2 Язык программирования PHP
PHP - язык программирования, созданный для генерирования HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP - распространённый набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).
В области программирования для Сети, PHP - один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.
Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.
В настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.
2.3 База данных MySQL
База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми - от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является ПО MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному - как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.
MySQL - это система управления реляционными базами данных. В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.
MySQL - это ПО с открытым кодом. Применять его и модифицировать может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями.
Почему веб-программисты отдают предпочтение СУБД MySQL? MySQL является очень быстрым, надежным и легким в использовании. Если вам требуются именно эти качества, попробуйте поработать с данным сервером. MySQL обладает также рядом удобных возможностей, разработанных в тесном контакте с пользователями. Первоначально сервер MySQL разрабатывался для управления большими базами данных с целью обеспечить более высокую скорость работы по сравнению с существующими на тот момент аналогами. И вот уже в течение нескольких лет данный сервер успешно используется в условиях промышленной эксплуатации с высокими требованиями. Несмотря на то что MySQL постоянно совершенствуется, он уже сегодня обеспечивает широкий спектр полезных функций. Благодаря своей доступности, скорости и безопасности MySQL очень хорошо подходит для доступа к базам данных по Internet.
MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).
Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL-запросы через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информацию он хочет получить от сервера баз данных. Затем сервер баз данных посылает ответ (результат) клиенту (скрипту).
Почему всегда передается не весь результат? Очень просто: дело в том, что размер результирующего набора данных может быть слишком большим, и на его передачу по сети уйдет чересчур много времени. Да и редко когда бывает нужно получать сразу весь вывод запроса (то есть все записи, удовлетворяющие выражению запроса). Например, нам может потребоваться лишь подсчитать, сколько записей удовлетворяет тому или иному условию, или же выбрать из данных только первые 10 записей. Механизм использования сокетов подразумевает технологию клиент-сервер, а это означает, что в системе должна быть запущена специальная программа -- MySQL-сервер, которая принимает и обрабатывает запросы от программ. Так как вся работа происходит в действительности на одной машине, накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится довольно дешево).
Cтруктура MySQL трехуровневая: базы данных -- таблицы -- записи. Базы данных и таблицы MySQL физически представляются файлами с расширениями frm, MYD, MYI. Логически - таблица представляет собой совокупность записей. А записи - это совокупность полей разного типа. Имя базы данных MySQL уникально в пределах системы, а таблицы - в пределах базы данных, поля - в пределах таблицы. Один сервер MySQL может поддерживать сразу несколько баз данных, доступ к которым может разграничиваться логином и паролем. Зная эти логин и пароль, можно работать с конкретной базой данных. Например, можно создать или удалить в ней таблицу, добавить записи и т. д. Обычно имя-идентификатор и пароль назначаются хостинг провайдерами, которые и обеспечивают поддержку MySQL для своих пользователей.
В реляционной базе данные хранятся в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.
Система безопасности MySQL основана на привилегиях и паролях с возможностью верификации с удаленного компьютера, за счет чего обеспечивается гибкость и безопасность. Пароли при передаче по сети при соединении с сервером шифруются. Клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT)
Начиная с MySQL версии 3.23, где используется новый тип таблиц, максимальный размер таблицы доведен до 8 миллионов терабайт (263 bytes). Однако следует заметить, что операционные системы имеют свои собственные ограничения по размерам файлов.
Как сказано выше размер таблицы в базе данных MySQL обычно лимитируется операционной системой. По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой таблицы можно проверить/определить ее максимальный размер с помощью команд SHOW TABLE STATUS или myisamchk -dv table_name. Если большая таблица предназначена только для чтения, можно воспользоваться myisampack, чтобы слить несколько таблиц в одну и сжать ее. Обычно myisampack ужимает таблицу по крайней мере на 50%, поэтому в результате можно получить очень большие таблицы.
2.4 Язык разметки гипертекста HTML
Hyper Text Markup Language (HTML) -- язык разметки гипертекста -- предназначен для написания гипертекстовых документов, публикуемых в World Wide Web.
Гипертекстовый документ -- это текстовый файл, имеющий специальные метки, называемые тегами, которые впоследствии опознаются браузером и используются им для отображения содержимого файла па экране компьютера.
С помощью этих меток можно выделять заголовки документа, изменять цвет, размер и начертание букв, вставлять графические изображения и таблицы. Но основным преимуществом гипертекста перед обычным текстом является возможность добавления к содержимому документа гиперссылок -- специальных конструкций языка HTML, которые позволяют щелчком мыши перейти к просмотру другого документа.
HTML-документ состоит из двух частей: собственно текста, т. е. данных, составляющих содержимое документа, и тегов -- специальных конструкций языка HTML, используемых для разметки документа и управляющих его отображением. Теги языка HTML определяют, в каком виде будет представлен текст, какие его компоненты будут исполнять роль гипертекстовых ссылок, какие графические или мультимедийные объекты должны быть включены в документ.
Графическая и звуковая информация, включаемая в HTML-документ, хранится в отдельных файлах. Программы просмотра HTML-документов (браузеры) интерпретируют флаги разметки и располагают текст и графику на экране соответствующим образом. Для файлов, содержащих HTML-документы приняты расширения .htm или .html.
В большинстве случаев теги используются парами. Пара состоит из открывающего <имя_тега> и закрывающего </имя_тега> тегов. Действие любого парного тега начинается с того места, где встретился открывающий тег, и заканчивается при встрече соответствующего закрывающего тега. Часто пару, состоящую из открывающего и закрывающего тегов, называют контейнером, а часть текста, окаймленную открывающим и закрывающим тегом, -- элементом.
Последовательность символов, составляющая текст может состоять из пробелов, табуляций, символов перехода на новую строку, символов возврата каретки, букв, знаков препинания, цифр, и специальных символов (например #, +, $, @), за исключением следующих четырех символов, имеющих в HTML специальный смысл: < (меньше), > (больше), & (амперсанд) и " (двойная кавычка). Если необходимо включить в текст какой-либо из этих символов, то следует закодировать его особой последовательностью символов.
Самым главным из тегов HTML является одноименный тег <html>. Он всегда открывает документ, так же, как тег </html> должен непременно стоять в последней его строке. Эти теги обозначают, что находящиеся между ними строки представляют единый гипертекстовый документ. Без этих тегов браузер или другая программа просмотра не в состоянии идентифицировать формат документа и правильно его интерпретировать.
HTML-документ состоит из двух частей: заголовок (head) и тела (body), расположенных в следующем порядке:
<html>
<head> Заголовок документа </head>
<body> Тело документа </body>
</html>
Чаще всего в заголовок документа включают парный тег <title>... </title>, определяющий название документа. Многие программы просмотра используют его как заголовок окна, в котором выводят документ. Программы, индексирующие документы в сети Интернет, используют название для идентификации страницы. Хорошее название должно быть достаточно длинным для того, чтобы можно было корректно указать соответствующую страницу, и в то же время оно должно помещаться в заголовке окна. Название документа вписывается между открывающим и закрывающим тегами.
Тело документа является обязательным элементом, так как в нем располагается весь материал документа. Тело документа размещается между тегами <body> и </body>. Все, что размещено между этими тегами, интерпретируется браузером в соответствии с правилами языка HTML позволяющими корректно отображать страницу на экране монитора.
Текст в HTML разделяется на абзацы при помощи тега <р>. Он размещается в начале каждого абзаца, и программа просмотра, встречая его, отделяет абзацы друг от друга пустой строкой. Использование закрывающего тега </р> необязательно.
Если требуется «разорвать» текст, перенеся его остаток на новую строку, при этом, не выделяя нового абзаца, используется тег разрыва строки <BR>. Он заставляет программу просмотра выводить стоящие после него символы с новой строки. В отличие от тега абзаца, тег <BR> не добавляет пустую строку. У этого тега нет парного закрывающего тега.
Язык HTML поддерживает логическое н физическое форматирование содержимого документа. Логическое форматирование указывает на назначение данного фрагмента текста, а физическое форматирование задает его внешний вид.
При использовании логического форматирования текста браузером выделяются различные части текста в соответствии со структурой документа. Чтобы отобразить название, используется один из тегов заголовка. Заголовки в типичном документе разделяются по уровням. Язык HTML позволяет задать шесть уровней заголовков: h1 (заголовок первого уровня), h2, h3, h4, h5 и h6. Заголовок первого уровня имеет обычно больший размер и насыщенность по сравнению с заголовком второго уровня. Пример использования тегов заголовков:
<hl>l. Название главы</hl>
<h2>l.l. Название раздела</h2>
Теги физического форматирования непосредственно задают вид текста на экране браузера, например пара <b></b> выделяет текст полужирным начертанием, <u></u> задает подчеркивание текста, <font></font> управляет шрифтом текста.
Тег <img> вставляет изображение в документ, как если бы оно было просто одним большим символом. Пример применения тега:
<img src = "picture.gif">
Для создания гипертекстовой ссылки используется пара тегов <а>... </а>. Фрагмент текста, изображение или любой другой объект, расположенный между этими тегами, отображается в окне браузера как гипертекстовая ссылка. Активация такого объекта приводит к загрузке в окно браузера нового документа или к отображению другой части текущей Web-страницы. Гипертекстовая ссылка формируется с помощью выражения:
<а href = "document.html">ссылка на документ</а>
Href здесь является обязательным атрибутом, значение которого и есть URL-адрес запрашиваемого ресурса. Кавычки в задании значения атрибута href не обязательны. Если задается ссылка на документ на другом сервере, то вид гиперссылки такой:
<а href = "http://www.site.com/picture1.jpg">Изображение 1</а>
С помощью различных тегов можно рисовать таблицы, форматировать текст, вставлять в документ изображения, видео- , звуковые файлы и прочее.
2.5 Каскадные таблицы стилей CSS
CSS (англ. Cascading Style Sheets -- каскадные таблицы стилей) -- формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощьюязыков разметки HTML и XHTML, но может также применяться к любым XML-документам, например, к SVG или XUL.
CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.
Правила CSS пишутся на формальном языке CSS и располагаются в таблицах стилей, то есть таблицы стилей содержат в себе правила CSS. Эти таблицы стилей могут располагаться как в самом веб-документе, внешний вид которого они описывают, так и в отдельных файлах, имеющих формат CSS. (По сути, формат CSS -- это обычный текстовый файл. В файле .css не содержится ничего, кроме перечня правил CSS и комментариев к ним). Когда таблица стилей находится в отдельном файле, она может быть подключена к веб-документу посредством тега <link>, располагающегося в этом документе между тегами <head> и </head>. (Тег <link> будет иметь атрибут href, имеющий значением адрес этой таблицы стилей). Все правила этой таблицы действуют на протяжении всего документа.
Пример подключения CSS-файла в блоке <head> показан ниже:
<head>
.....
<link rel="stylesheet" type="text/css" href="style.css">
</head>
3. Практическая часть
3.1 Описание работы программного комплекса
При разработке программного комплекса была использована модель MVC - концепция, при которой все файлы функционально разделены на 3 типа: контроллеры, модели и виды.
Все основные файлы, используемые в работе, находятся в директории core, которая, в свою очередь, содержит 3 поддиректории для каждого типа файлов: controllers, models и views.
В директории controllers расположены файлы-контроллеры, которые отвечают за логику обработки данных и связывают файлы моделей и видов.
В директории models находятся файлы, в которых происходит взаимодействие с базой данных.
Директория views содержит файлы, отвечающие за вывод информации пользователю.
Взаимодействие пользователя с системой происходит через файл index.php. Пользователь передает нужный GET-параметр файлу и в зависимости от значения этого параметра, вызывается тот или иной контроллер. В самом начале файла index.php происходит подключение нужных конфигурационных файлов, задание нужной кодировки инициализация сессии, а также подключение к базе данных.
Все вспомогательные функции, которые используются в системе, находятся в файле main.php, исходный код которого представлен в приложении А.
<?php
ini_set('error_reporting', 0);
header('Content-type: text/html;charset=utf-8');
session_start();
require 'db.php';
require 'config.php';
if(isset($_GET['action'])){
$action = trim($_GET['action']);
switch($action){
case 'add_vacancy':
include 'core/controllers/add_vacancy.php';
break;
case 'add_resume':
include 'core/controllers/add_resume.php';
break;
case 'add_course':
include 'core/controllers/add_course.php';
break;
case 'admin':
include 'core/controllers/admin.php';
break;
case 'logout':
include 'core/controllers/logout.php';
break;
case 'page':
include 'core/controllers/page.php';
break;
case 'info':
include 'core/views/info_page.php';
break;
case 'moderate':
include 'core/controllers/moderate.php';
break;
case 'edit_item':
include 'core/controllers/edit_item.php';
break;
case 'add_page':
include 'core/controllers/add_page.php';
break;
case 'edit_page':
include 'core/controllers/edit_page.php';
break;
case 'pages_list':
include 'core/controllers/pages_list.php';
break;
case 'add_vip':
include 'core/controllers/add_vip.php';
break;
case 'vip_list':
include 'core/controllers/vip_list.php';
break;
case 'edit_vip':
include 'core/controllers/edit_vip.php';
break;
default:
include 'core/controllers/index.php';
}
} else {
// По умолчанию - выводим главную страницу
include 'core/controllers/index.php';
}
$mysqli -> close();
?>
3.2 Структура базы данных
В качестве базы данных использована MySQL. Для работы с PHP использован драйвер mysqli. База данных содержит 7 таблиц.
Таблица activity - содержит категории для вакансий и резюме. Структура таблицы представлена на рисунке 1.
Рисунок 1 - структура таблицы activity
Таблица direction - содержит направления курсов. Структура таблицы представлена на рисунке 2.
Рисунок 2 - структура таблицы direction
Рисунок 3 - структура таблицы vacancy
Таблица resume - содержит данные о размещенных резюме. Структура таблицы представлена на рисунке 4.
Рисунок 4 - структура таблицы resume
Таблица course - содержит данные о курсах. Структура таблицы представлена на рисунке 5.
Рисунок 5 - структура таблицы course
Таблица vip - содержит данные о платных вакансиях и курсах. Структура таблицы представлена на рисунке 6.
Рисунок 6 - структура таблицы vip
Таблица page - содержит контент статических страниц. Структура таблицы представлена на рисунке 7.
Рисунок 7 - структура таблицы page
3.3 Добавление вакансии
Рисунок 8 - форма добавления новой вакансии
Добавление вакансии производится без авторизации. Добавленная вакансия не отображается на сайте до тех пор, пока администратор сайта не одобрит ее. Для того, чтобы добавить новую вакансию, пользователю необходимо заполнить форму, вид которой представлен на рисунке 8.
За получение и обработку переданных данных отвечает контроллер core/controllers/add_vacancy.php
<?php
// Подключаем файлы моделей
require 'core/models/main.php';
require 'core/models/add_vacancy.php';
// Если были переданы данные на добавление
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$errors = array();
// Обработка поля [Должность]
$position = ClearStr($_POST['position']);
if(empty($position))
$errors['position'] = 'Не заполнено поле [Должность]';
elseif(length($position) > 100)
$errors['position'] = 'Слишком длинное поле [Должность]';
// Обработка поля [Требования]
$needs = ClearStr($_POST['needs']);
if(empty($needs))
$errors['needs'] = 'Не заполнено поле [Требования]';
elseif(length($needs) > 2000)
$errors['needs'] = 'Слишком длинное поле [Требования]';
// Обработка поля [Контакты]
$contacts = ClearStr($_POST['contacts']);
if(empty($contacts))
$errors['contacts'] = 'Не заполнено поле [Контакты]';
elseif(length($contacts) > 500)
$errors['contacts'] = 'Слишком длинное поле [Контакты]';
// Обработка поля [Категория]
$category_id = ClearInt($_POST['category_id']);
if(!$category_id)
$errors['category_id'] = 'Неверно указана категория';
// Обработка поля [Проверочный код]
$captcha = ClearStr($_POST['captcha']);
if(empty($captcha))
$errors['captcha'] = 'Не введен проверочный код';
elseif($captcha != $_SESSION['captcha'])
$errors['captcha'] = 'Неверный код';
// Если все данные заполнены корректно
if(!count($errors)){
// Добавляем в БД
if(AddVacancy($position, $needs, $contacts, $category_id)){
$_SESSION['info_message'] = 'Вакансия успешно добавлена и появится после одобрения модератором';
} else {
$_SESSION['info_message'] = 'Ошибка при добавлении в БД';
}
// Вызываем информационную страницу с сообщением
header('HTTP/1.0 303 See Other');
header('Location: index.php?action=info');
exit;
- 3.4 Вывод списка вакансий, резюме и курсов
Исходный код файла core/models/add_vacancy.php представлен ниже.
<?php
// Добавить обычную вакансию в БД
function AddVacancy($position, $needs, $contacts, $category_id){
global $mysqli;
$position = $mysqli -> real_escape_string($position);
$needs = $mysqli -> real_escape_string($needs);
$contacts = $mysqli -> real_escape_string($contacts);
$SQL = "INSERT INTO vacancy (position, needs, contacts, activity_id)
VALUES (?,?,?,?)";
if($stmt = $mysqli -> prepare($SQL)){
$stmt -> bind_param("sssi", $position, $needs, $contacts, $category_id);
$stmt -> execute();
$stmt -> close();
return true;
} else {
return false;
}
}
?>
Исходный код файла вида core/views/add_vacancy.php представлен ниже.
<?php
$TITLE = 'Добавление вакансии'; include 'tpl/user_header.php';
?>
<h1><?=$TITLE?></h1> <form action="<?=$_SERVER['REQUEST_URI']?>" method="post"> <table id="add_form"> <tr> <td>Должность:</td> <td><input type="text" name="position" value="<?=isset($position)?$position:''?>" maxlength="100" /> <?=isset($errors['position']) ? '<br/><span class="error">'.$errors['position'].'</span>' : ''?> </td> </tr> <tr> <td>Требования:</td> <td><textarea name="needs" maxlength="2000" rows="20"><?=isset($needs)?$needs:''?></textarea> <?=isset($errors['needs']) ? '<br/><span class="error">'.$errors['needs'].'</span>' : ''?> </td> </tr> <tr> <td>Контакты:</td> <td><textarea name="contacts" maxlength="500" rows="5"><?=isset($contacts)?$contacts:''?></textarea> <?=isset($errors['contacts']) ? '<br/><span class="error">'.$errors['contacts'].'</span>' : ''?> </td> </tr> <tr> <td>Категория:</td> <td> <?=GetCategoriesHtml(@$category_id)?> <?=isset($errors['category_id']) ? '<br/><span class="error">'.$errors['category_id'].'</span>' : ''?> </td> </tr> <tr> <td><img src="captcha.php" /></td> <td> <input type="text" name="captcha" value="" maxlength="10" style="width:60px;" /> <?=isset($errors['captcha']) ? '<br/><span class="error">'.$errors['captcha'].'</span>' : ''?> </td> </tr> </table> <br/> <input type="submit" value="Добавить вакансию" /> </form>
<? include 'tpl/footer.php'; ?>
Вывод списка вакансий, резюме и курсов
За вывод списка вакансий, резюме и курсов отвечает контроллер core/controllers/index.php. В контроллере обрабатываются передаваемые GET параметры, в зависимости от которых на странице выводятся либо вакансии, либо резюме, либо курсы.
Также, контроллер index.php обрабатывает полученное значение номера страницы, которую следует вывести пользователю.
Общий вид списка резюме представлен на рисунке 9.
Исходный код контроллера представлен ниже.
<?php
if(isset($_GET['page']))
$page = abs((int)$_GET['page']);
else
$page = 1;
require 'core/models/main.php';
require 'core/models/index.php';
// Если была выбрана категория
if(isset($_GET['category']))
$categoryId = ClearInt($_GET['category']);
Else
Рисунок 9 - вывод списка резюме на странице
$categoryId = null;
// Если было выбрано направление курсов
if(isset($_GET['direction']))
$direction = ClearInt($_GET['direction']);
else
$direction = null;
if(isset($_GET['mode']))
$mode = trim($_GET['mode']);
else
$mode = 'vacancy';
$modes = array('vacancy', 'resume', 'course');
if(!in_array($mode, $modes))
$mode = 'vacancy';
// Выберем VIP'ы для вывода на главной странице
$vipVacancies = GetVip('vacancy');
$vipCourses = GetVip('course');
// Получаем данные для вывода на странице
if($mode == 'vacancy'){
$categoriesArray = GetCategoriesArray();
$items = GetVacancies($page, $categoryId, ITEMS_PER_PAGE);
if(!$items)
$items = array();
} elseif($mode == 'resume'){
$categoriesArray = GetCategoriesArray();
$items = GetResume($page, $categoryId, ITEMS_PER_PAGE);
if(!$items)
$items = array();
} elseif($mode == 'course'){
$directionArray = GetDirectionArray();
$items = GetCourse($page, $direction, ITEMS_PER_PAGE);
if(!$items)
$items = array();
}
// Соберем HTML-код пагинации
$paginationHtml = null;
$allItemsCount = GetCountItems($categoryId, $mode);
if($allItemsCount > ITEMS_PER_PAGE){
// Всего страниц
$allPages = (int)($allItemsCount / ITEMS_PER_PAGE);
if(($allItemsCount % ITEMS_PER_PAGE) > 0)
$allPages++;
$queryCat = $categoryId ? "&category=$categoryId" : null;
$queryMode = $mode ? "&mode=$mode" : null;
for($i=1;$i<=$allPages;$i++)
if($page != $i) $paginationHtml .= ' <a href="index.php?page='.$i.$queryCat.$queryMode.'">'.$i.'</a> ';
else $paginationHtml .= ' <b>[ '.$i.' ]</b> ';
}
// Выберем дескрипшн для страницы
switch($mode){
case 'vacancy': $TITLE = 'Все вакансии'; $DESCRIPTION = DESCRIPTION_VACANCY; break;
case 'resume': $TITLE = 'Все резюме'; $DESCRIPTION = DESCRIPTION_RESUME; break;
case 'course': $TITLE = 'Все курсы'; $DESCRIPTION = DESCRIPTION_COURSE; break;
}
if($paginationHtml) $TITLE .= '. Страница '.$page;
include 'core/views/index.php';
?>
В файле моделей core/models/index.php находятся функции для получения списка элементов из базы данных.
<?
// Получить количество объявлений
function GetCountItems($activity = null, $mode = 'vacancy'){
global $mysqli;
if((int)$activity)
$aSQL = " WHERE activity_id = '$activity'";
else
$aSQL = null;
$SQL = "SELECT COUNT(*) AS cnt FROM $mode $aSQL";
$result = $mysqli -> query($SQL);
if($result){
$res = $result -> fetch_assoc();
return (int)$res['cnt'];
} else
return false;
}
function GetVip($mode){
global $mysqli;
if($mode != 'course')
$mode = 'vacancy';
$SQL = "SELECT id, logo, company, content
FROM vip
WHERE type = '$mode'
ORDER BY id DESC";
$result = $mysqli -> query($SQL);
$vips = array();
if(!$result)
return $vips;
while($row = $result -> fetch_assoc()){
$vips[$row['id']]['logo'] = $row['logo'];
$vips[$row['id']]['company'] = $row['company'];
$vips[$row['id']]['content'] = $row['content'];
}
return $vips;
}
function GetCourse($page, $direction = null, $count = 10){
global $mysqli;
if((int)$direction)
$aSQL = " AND direction = '$direction' ";
else
$aSQL = null;
$from = ($page-1) * $count;
$SQL = "SELECT id, name, content, contacts, direction, created
FROM course
WHERE active = '1'
$aSQL
ORDER BY created DESC
LIMIT $from, $count";
$result = $mysqli -> query($SQL);
if($result){
$items = array();
while($row = $result -> fetch_assoc()){
$items[$row['id']]['name'] = $row['name'];
$items[$row['id']]['content'] = $row['content'];
$items[$row['id']]['contacts'] = $row['contacts'];
$items[$row['id']]['direction'] = $row['direction'];
$items[$row['id']]['created'] = $row['created'];
}
if(count($items))
return $items;
else
return false;
} else
return false;
}
function GetResume($page, $activity = null, $count = 10){
global $mysqli;
if((int)$activity)
$aSQL = " AND activity_id = '$activity' ";
else
$aSQL = null;
$from = ($page-1) * $count;
$SQL = "SELECT id, position, resume_content, contacts, activity_id, created
FROM resume
WHERE active = '1'
$aSQL
ORDER BY created DESC
LIMIT $from, $count";
$result = $mysqli -> query($SQL);
if($result){
$items = array();
while($row = $result -> fetch_assoc()){
$items[$row['id']]['position'] = $row['position'];
$items[$row['id']]['resume_content'] = $row['resume_content'];
$items[$row['id']]['contacts'] = $row['contacts'];
$items[$row['id']]['activity_id'] = $row['activity_id'];
$items[$row['id']]['created'] = $row['created'];
}
if(count($items))
return $items;
else
return false;
} else
return false;
}
function GetVacancies($page, $activity = null, $count = 10){
global $mysqli;
if((int)$activity)
$aSQL = " AND activity_id = '$activity' ";
else
$aSQL = null;
$from = ($page-1) * $count;
$SQL = "SELECT id, position, needs, contacts, activity_id, created
FROM vacancy
WHERE active = '1'
$aSQL
ORDER BY created DESC
LIMIT $from, $count";
$result = $mysqli -> query($SQL);
if($result){
...Подобные документы
Классификация компьютерных сетей. Схема подключения к Интернету, каналы передачи и приема информации. Разработка сайта с использованием скриптового языка программирования PHP и базы данных MySQL (база данных о квартирах, предназначенных для продажи).
контрольная работа [3,6 M], добавлен 09.05.2012Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.
курсовая работа [2,3 M], добавлен 31.01.2016Разработка программного обеспечения для автоматизации доступа, обработки, вывода информации об услугах автосервиса и его клиентах с использованием языка программирования С# и MySQL. Проектирование интерфейсов системы. Схема алгоритма работы программы.
курсовая работа [665,6 K], добавлен 02.04.2015Обоснование потребности в web-сайте. Описание установки CMS Joomla. Постановка задачи при проектировании web-сайта. Обоснование выбора CMS (Content Management System). Разработка базы данных и интерфейса. Классификация и проектирование web-сайтов.
дипломная работа [1,9 M], добавлен 13.05.2009Обоснование и выбор методологии проектирования, структурной схемы системы и разработки модели системы. Разработка сетевого плана выполнения работ, расчет технических характеристик. Описание выбора языка программирования, web–сервера и базы данных MySQL.
дипломная работа [719,0 K], добавлен 20.09.2013Случаи использования PHP фреймворка. Обзор современных фреймворков. Выбор фреймворка для разработки сайта. Поддержка баз данных и сообщества. Model View Controller архитектура. Скорость развития фреймворка. Наличие встроенных javascript-библиотек.
курсовая работа [1,8 M], добавлен 31.05.2012Разработка программной системы автоматизации работы приемной комиссии. Выбор CASE-средства проектирования базы данных. Разграничение доступа к записям таблиц. Триггеры и функции БД. Выбор интерфейса программирования. Разработка классов и структур данных.
дипломная работа [1,9 M], добавлен 07.03.2012Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Разработка базы данных учета и хранения заявок пользователя. Создание программного средства на основе клиент/серверной технологии. Описание возможностей платформы Tandem Framework. Апробация программы автоматизации процессов подачи и обработки заявок.
дипломная работа [3,6 M], добавлен 08.03.2013Анализ входной информации и процессов, уровня автоматизации на предприятии. Выявление объекта и задачи автоматизации. Разработка концепции построения информационной модели информационной системы. Разработка структуры базы данных и клиентского приложения.
дипломная работа [2,0 M], добавлен 22.11.2015Главные составные части среды программирования. Требование к надежности, к составу и параметрам технических средств. Табличные базы данных. Выбор и обоснование выбора системы управления базами данных. Высокопроизводительный компилятор в машинный код.
курсовая работа [793,5 K], добавлен 31.01.2016Отличительные особенности языков программирования PHP и CSS. Возможности компактного многопоточного сервера баз данных MySQL. Системный анализ предметной области, проектирование ее инфологической модели. Создание базы данных и web-страниц сайта магазина.
курсовая работа [1,0 M], добавлен 15.01.2013Обзор программных средств разработки приложений и обоснование выбора языка программирования. Классификация приложений для работы с базами данных. Функциональная структура базы данных с указанием назначения программных модулей, руководство пользователя.
дипломная работа [645,3 K], добавлен 21.11.2010Выбор информационных технологий. Модель базы данных. Схема алгоритма работы сайта и авторизации администратора. Управление базами данных. Защита от внедрения html-кодов при оставлении комментария на сайте. Средства безопасности системного уровня.
курсовая работа [2,8 M], добавлен 06.06.2013Разработка проекта программного комплекса для автоматизации информационных процессов службы сбыта пищевой продукции. Разработка информационной базы данных и характеристика процесса создания клиентской и сервисной части приложения по технологии ASP.NET.
дипломная работа [2,4 M], добавлен 24.06.2011Разработка базы данных с целью автоматизации процессов составления, ведения и распространения информации об расписании занятий в спортивном комплексе "Маяк". Анализ предметной области. Разработка алгоритмов работы программы и приложения пользователя.
дипломная работа [1,0 M], добавлен 12.07.2015Трехмерное моделирование: улучшение алгоритмов рендеринга и просчета трехмерных изображений. Обоснование выбора алгоритмов. Выбор языка программирования и среды разработки. Структура данных и программного комплекса. Системные требования для работы.
курсовая работа [263,8 K], добавлен 24.06.2009Основы программирования на языке PHP. Этапы разработки сайта ФАиС Выбор концепции его дизайна. Построение базы данных в среде СУБД MySQL. Расположение основных блоков web-сайта. Разработка шаблонной страницы и системы разграничения доступа к контенту.
дипломная работа [1,9 M], добавлен 12.12.2013Рассмотрение вопроса автоматизации работы служб гостиницы. Разработка базы данных для работы с клиентами. Характеристика языка структурированных запросов SQL и его разновидности. Описание таблицы программы, ключей и диаграммы составленной базы данных.
курсовая работа [1,6 M], добавлен 27.05.2014Проектирование многопользовательской информационной системы для автоматизации работы диспетчера отдела грузоперевозок. Выбор среды программирования. Разработка программного обеспечения, таблиц базы данных АСОИ. Построение диаграмм классов и деятельности.
курсовая работа [298,1 K], добавлен 03.06.2014