|
Дипломная работа: Поиск фотооборудования- content_type_id – номер типа содержимого; - object_id – номер содержимого; - score – средняя оценка; - votes – количество проголосовавших пользователей; · Таблица rating_votes хранит оценки содержимого сайта пользователями Таблица 1.36 – rating_votes
- id – уникальное поле таблицы численного типа, содержащее номер оценки; - content_type_id – номер типа содержимого; - object_id – номер содержимого; - score – оценка; - user_id – номер пользователя; - ip_address – IP адрес пользователя; · Таблица rating_weight хранит вес содержимого сайта Таблица 1.37 – rating_weight
- id – уникальное поле таблицы численного типа, содержащее номер записи; - content_type_id – номер типа содержимого; - object_id – номер содержимого; - weight – вес содержимого; - votes – количество пользователей, оценивщих вес содержимого; · Таблица rating_weight_vote хранит оценки веса содержимого пользователями 1.2.3 Диаграмма классовНа диаграмме классов основного модуля (см. рисунок 9) классы, которые будут реализовывать взаимодействие с базой данных посредством ORM Django. Все классы будут наследоваться от стандартного класса Model, который включён в состав фреймворка. В классе Model уже реализованы необходимые функции для работы с базой данных. Рисунок 9 – Диаграмма классов1.3 Реализация системыВ связи с большим объёмом работ окончательная реализация системы ещё не завершена. На данный момент реализованы все классы системы, методы взаимодействия классов между собой и методы их взаимодействия с базой данных. С точки зрения архитектуры программного обеспечения MVC полностью реализованы уровень модели (Model) и уровень контроллера(Controller), частично реализован уровень отображения (View). 1.3.1 План контроля измененийВ ходе реализации программного средства производился контроль промежуточных версий. Для контроля версий использовалась программа Git GUI – клиент для системы контроля версий Git, выполненный как расширение оболочки Linux. 1.3.2 Интерфейс системыВ соответствии с требованиями, выдвинутыми к дизайну системы, был разработан интерфейс системы. Основная структура сайта состоит из пяти блоков: 1. «Шапка» сайта – в нём располагается логотип сайта, форма регистрации или краткая информация об авторизовавшемся пользователе. 2. Основное меню – горизонтальное меню навигации по основным разделам сайта. 3. Дополнительное меню – вертикальное меню содержит пункты которого зависят от раздела, который открыт в данный момент. 4. Содержимое сайта – основной блок в котором выводится информация, запрашиваемая пользователем. 5. «Подвал» – блок, в котором находятся ссылки на дополнительную информацию о сайте. В качестве примера рассмотрим интерфейс страницы просмотра информации об оборудовании. На этой странице оказался самый сложный с точки зрения реализации интерфейс. Основной проблемой при создании интерфейса было большое количество информации об оборудовании, которую надо было разместить на одной странице. Было принято решение разделить всю информацию блоки. При этом видимостью большинства из них может управлять пользователь. Рассмотрим некоторые блоки более подробно: 1. Обязательный – Блок в котором отображаются обязательный характеристики оборудования, диапазон цен на него, средняя цена, средняя оценка, изображение, форма оценки и ссылки на добавление в личные списки пользователя. Пользователь не может управлять его видимостью. 2. Текстовое описание – Краткое описание оборудования. Пользователь может управлять видимостью блока. Нажав на заголовок блока его можно скрыть или раскрыть. В тексте выделяются ключевые слова в виде ссылок, при нажатии на которые пользователь переходит на другие страницы сайта. 3. Облако тегов – перечень тегов описывающих данное оборудование. Каждый из тегов имеет вес, который указывает на степень соответствия оборудования данному тегу. Пользователь может управлять видимостью блока. Так же пользователь может влиять на вес тега, нажимая на кнопки («+» и «–») справа от названия тега. Изменяя вес тега пользователь либо соглашается, что оборудование соответствует тегу («+»), либо не соглашается («–»). 4. Информация из других разделов и цены – Пользователь не может управлять видимостью блока. Блок состоит из четырёх вкладок: · Рекомендации, которые оставляют пользователи. Отображаются две самые полезные рекомендации. Пользователь может влиять на уровень полезности, нажимая на кнопки «Да» или «Нет». Снизу находятся две ссылки, при помощи которых можно добавить рекомендацию или посмотреть все рекомендации. 2.1 Выбор средств разработки2.1.1 Выбор языка программированияДля реализации данной системы были выбраны следующие языки и библиотеки: 1. HTML (от англ. HyperText Markup Language – «язык разметки гипертекста») – стандартный язык разметки документов в Internet. Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме. 2. Python – высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты – динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты). 3. Django (Джанго) – свободный фреймворк для веб-приложений на языке Python. Django облдает MVC структурой. Работа с базами данных осуществляется с помощью ORM. 4. JavaScript – объектно-ориентированный скриптовый язык программирования. Необходим для сценариев, которые обеспечивают интерактивность веб-страницам, и для реализации технологии Ajax. 5. jQuery – библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API по работе с Ajax. 6. CSS (от англ. Cascading Style Sheets – каскадные таблицы стилей) – технология описания внешнего вида документа, написанного языком разметки. 7. SQL (от англ. Structured Query Language – «язык структурированных запросов») – универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. 2.1.2 Выбор ОССпроектированная система может быть реализована в большинстве современных операционных системах, таких как: Windows XP, Windows 7, системах семейства Linux, поскольку всё необходимое программное обеспечение данными системами поддерживается. Под необходимым программным обеспечением понимается сервер баз данных MySQL, Web-сервер Apache, интерпретатор языка Python. В качестве операционной системы для разработки была выбрана ОС Ubuntu 10.04. 2.1.3 Выбор среды разработки и системы управления версиямиВ качестве основной среды разработки была выбрана Aptana Studio. Aptana Studio – кроссплатформенная, свободная, c открытым исходным кодом интегрированная среда разработки приложений (IDE) для создания динамических веб-приложений. Включает в себя такие функции как автодополнение набираемых конструкций на лету для кода JavaScript, HTML, и CSS, выделение цветом JavaScript, HTML и CSS кода, предупреждения об ошибках и возможность для настройки и расширения пользовательского интерфейса. С помощью дополнительных плагинов Aptana Studio также поддерживает разработку для следующих языков и платформ: Ruby on Rails, PHP, Python, Adobe Air и Apple iPhone. Помимо самостоятельных версий для Windows NT, Mac OS и GNU/Linux, Aptana доступна в качестве плагина для платформы Eclipse. Основные особенности Aptana Studio: · Подсветка текста и возможность сворачивания блоков, согласно синтаксису языка программирования · Настраиваемый пользователем режим подсветки синтаксиса · Авто-завершение набираемого слова · Автоматическое определение состояния файла · Поддержка большого количества языков · Закладки · Интеграция с фреймфорком Django · Интеграция с системой управления версиями Git В качестве системы контроля версий была использована Git. Git (произн. «гит») – распределённая система управления версиями файлов. Удалённый доступ к репозиториям Git обеспечивается git-daemon, SSH- или HTTP-сервером. TCP-сервис git-daemon входит в дистрибутив Git и является наряду с SSH наиболее распространённым и надёжным методом доступа. Метод доступа по HTTP, несмотря на ряд ограничений, очень популярен в контролируемых сетях, потому что позволяет использование существующих конфигураций сетевых фильтров. 2.1.4 Требования к аппаратному обеспечениюДля работы с системой необходимо любое устройство, имеющее доступ к сети интернет, и с установленным WEB-браузером, поддерживающим JavaScript. Это может быть персональный компьютер, ноутбук, мобильное устройство и т.д. 2.2 Разработка эксплуатационной документацииРуководство администратораУстановка системы будет заключаться в установке и настройке программного обеспечения сервера. Настройки клиентов не требуется, так как единственным требованием для работы программы, является наличие программы браузера. Программа браузер входит в начальный комплект любой современной операционной системы и дополнительных настроек не требует. Для обеспечения работы на сервере должно быть установлено следующее программное обеспечение: · WEB-сервер Apache; · mod Python для Apache; · СУБД MySQL; В данном руководстве будет описан процесс установки системы на сервер, управляемый ОС Linux. Для установки необходимого ПО выплоним в терминале следующую команду: sudo apt-get install apache2 libapache2-mod-python mysql-server mysql-client python-mysqldb Во время установки следуйте несложным инструкциям установщика. Далее необходимо создать пользователя в СУБД MySQL саму базу данных: mysql – user=root mysql mysql> CREATE USER 'x5'@'localhost' IDENTIFIED BY '2307881310'; mysql> CREATE DATABASE `x5_photohq` DEFAULT CHARSET UTF8; mysql>exit Теперь необходимо записать на диск саму систему, это мы сделаем при помощи системы контроля версий Git: sudo apt-get install git cd /var/www git clone ssh://x5@93.157.127.130/home/x5/photohq.ru x5@93.157.127.130 password:2307881310 Теперь в папке /var/www/photohq.ru находятся исходные тексты системы. Для инициализации системы необходимо выполнить следующие команды: cd /var/www/pahotohq.ru/django_projects/photohq manage.py syncdb После выполнения данных команды будут созданы все необходимые таблицы в базе данных x5_photohq и будет создана учётная запись админиcтратора. Далее необходимо настроить web-сервер, для этого надо созадть виртуальный хост со следующими параметрами: <location «/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE photohq.settings PythonPath «['/var/www/photohq.ru/django_projects'] + sys.path» </location> <location «/media»> SetHandler None </location> <location «/admin_media»> SetHandler None </location> <location «/phpmyadmin»> SetHandler None </location > <locationmatch». (jpg|gif|png)$»> SetHandler None </locationmatch> Так же надо добавить модули в папку интерпретатора Python: ln – s `pwd` /var/www/photohq.ru/django_src/django /usr/lib/python2.6/dist-packages/django ln – s `pwd` /var/www/photohq.ru/django_projects/photohq /usr/lib/python2.6/dist-packages/photohq На этом установка закончена. По адресу, который вы указали при создании виртуального хоста будет доступна система. 3. Технико-экономический раздел Для проведения успешного проекта важно понять объем предстоящих работ, требуемые ресурсы, предстоящие задачи, необходимые усилия. При планировании программного проекта нужно оценить людские ресурсы, продолжительность, стоимость. 3.1 Определение основных модулейПроектируемая система предполагает наличие следующих модулей: Interface – модули, реализующие интерфейс сайта. Items – модули, реализующие добавление, редактирование, удаление, поиск и фильтрацию оборудования. Users – модули, реализующие регистрацию, авторизацию пользователя в системе, страницу пользователя и списки оборудования пользователя. Shops – модуль, реализующий добавление и редактирование магазинов и товаров. Так же модуль обеспечивает просмотр информации о магазинах и товарах. Gallery – модуль, реализующий добавление альбомов и фотографий. Articles – модуль, реализующий добавление, редактирование и удаление статей. Comments – модуль, реализующий добавление, редактирование и удаление комментариев. Rating – модуль, реализующий оценку рейтингов и весов содержимого. Так же этот модуль реализует добавление, редактирование и удаление рекомендаций пользователей. Taging – модуль, реализующий добавление, редактирование и удаление тегов, связывание тегов и содержимого. 3.2 Расчет трудозатрат и продолжительности разработки программного проектаВ ходе предварительного анализа были определены 9 модулей. Определим приблизительно их размеры в строках кода. Таблица 3.1 Оценка объема в строках кода
Рассматриваемый проект может быть отнесен к распространенному типу программных систем вследствие своих малых размеров. Значение коэффициентов уровней базовой модели КОМОСТ для данного программного проекта: a=2.4, b=1.05, c=2.5, d=0.38. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |