2. Технологический раздел

  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 Оценка объема в строках кода

Имя модуля Оценка объема в строках исходного кода
Пессимистическая Наиболее вероятностная Оптимистическая
Interface 300 200 150
Items 800 600 500
Users 300 200 150
Shops 300 200 150
Gallery 200 150 100
Articles 200 150 100
Comments 200 150 100
Rating 150 100 80
Taging 100 70 50
Итого 2550 1820 1380

Рассматриваемый проект может быть отнесен к распространенному типу программных систем вследствие своих малых размеров. Значение коэффициентов уровней базовой модели КОМОСТ для данного программного проекта: a=2.4, b=1.05, c=2.5, d=0.38.

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

ТР=a*(РП)b (3.1)

В этих уравнениях трудоемкость ТР выражается в человеко-месяцах, размер программного продукта РП в тысячах строк исходного кода, а длительность ДР разработки в месяцах.

Рассчитаем трудоемкость этапа анализа и проектирования программного проекта:

= 6.41 (чел.-мес) = 192 (чел.-дней)

 = 4,5 (чел.-мес) = 135 (чел.-дней)

 = 3,37 (чел.-мес) = 101 (чел.-дней)

Рассчитаем трудоемкость программирования функциональных блоков:

Interface

 = 0,68 (чел.-мес) = 20 (чел.-дней)

 = 0,44 (чел.-мес) = 13 (чел.-дней)

 = 0,32 (чел.-мес) = 10 (чел.-дней)

2) Items

 = 1,9 (чел.-мес) = 57 (чел.-дней)

 = 1,4 (чел.-мес) = 42 (чел.-дней)

 = 1,16 (чел.-мес) = 35 (чел.-дней)

3) Users

 = 0,68 (чел.-мес) = 20 (чел.-дней)

 = 0,44 (чел.-мес) = 13 (чел.-дней)

 = 0,32 (чел.-мес) = 10 (чел.-дней)

4) Shops

 = 0,68 (чел.-мес) = 20 (чел.-дней)

 = 0,44 (чел.-мес) = 13 (чел.-дней)

 = 0,32 (чел.-мес) = 10 (чел.-дней)

5) Gallery

 = 0,44 (чел.-мес) = 13 (чел.-дней)

 = 0,32 (чел.-мес) = 10 (чел.-дней)

 = 0,21 (чел.-мес) = 6 (чел.-дней)

6) Articles

 = 0,44 (чел.-мес) = 13 (чел.-дней)

 = 0,32 (чел.-мес) = 10 (чел.-дней)

 = 0,21 (чел.-мес) = 6 (чел.-дней)

7) Comments

 = 0,44 (чел.-мес) = 13 (чел.-дней)

 = 0,32 (чел.-мес) = 10 (чел.-дней)

 = 0,21 (чел.-мес) = 6 (чел.-дней)

8) Rating

 = 0,32 (чел.-мес) = 10 (чел.-дней)

 = 0,21 (чел.-мес) = 6 (чел.-дней)

 = 0,16 (чел.-мес) = 5 (чел.-дней)

9) Taging

 = 0,20 (чел.-мес) = 6 (чел.-дней)

 = 0,15 (чел.-мес) = 5 (чел.-дней)

 = 0,10 (чел.-мес) = 3 (чел.-дней)

Суммирование результатов по всем процедурам дает следующие результаты:

 = 15.14 (чел.-мес) = 454 (чел.-дней)

 = 10,4 (чел.-мес) = 312 (чел.-дней)

 = 7,63 (чел.-мес) = 229 (чел.-дней)

Для малых проектов на основе опытных данных модели КОМОСТ было установлено, что этап испытаний занимает 25 процентов от времени, затраченного на программирование.

Трудоемкость испытаний:

 = 114 (чел.-дней)

 = 78 (чел.-дней)

 = 57 (чел.-дней)

Оценка общей трудоемкости разработки получаются в результате суммированием оценок трудоемкости анализа, проектирования, программирования и испытаний:

 192 + 454 + 114 = 760 (чел.-дней) = 25,33 (чел.-мес)

 135 + 312 + 78 = 525 (чел.-дней) = 17,5 (чел.-мес)

 101 + 229 + 57 = 387 (чел.-дней) = 12,9 (чел.-мес)

3.3 Расчет себестоимости разработки программного обеспечения

Себестоимость разработки программного обеспечения включает в себя следующие виды материальных затрат:

1.  расходные материалы и комплектующие изделия;

2.  заработная плата разработчика ПО;

3.  ЕСН – единый социальный налог;

4.  накладные расходы;

5.  содержание и эксплуатация вычислительных средств.

Расчет затрат на материалы и комплектующие изделия

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

Затраты на материалы каждого вида рассчитываются по формуле (3.9):


руб., (3.2)

где  – стоимость данного вида материалов, руб.;

 – цена за принятую единицу, руб.;

 – норма расходов материалов, шт. (кг);

Затраты на материалы приведены в таблице 3.6:

Таблица 3.2 – Смета затрат на материалы для разработки ПО

Наименование материала и единица измерения Цена за единицу материалов, руб. Количество материалов, шт. Стоимость, руб.
CD-R диск 700 Мб, TDK, шт. 21 1 21

Бумага офисная (80 г./см2, 500 листов) Canon Office, уп.

140 1 140
Картридж HP51640A для принтера HP 1200 DJ, шт. 909 1 909
Итого: 1070

Общие затраты на материалы составили 1070 рублей.

Расчет заработной платы на создание программного обеспечения

Заработная плата на создание ПО включает в себя основную и дополнительную заработную плату и определяется по формуле (3.3):

 (3.3)

где – основная заработная плата, руб.;

– дополнительная заработная плата, руб.

Заработная плата основная включает в себя заработную плату по договору, плюс премию и рассчитывается по формуле (3.4):

(3.4)


где – заработная плата по договору, руб.;

– премия в размере 10% от заработной платы по договору.

(3.5)

где – ставка программиста по договору, р.;

– общая трудоемкость создания ПО.

Часовая тарифная ставка программиста по договору подряда составляет 35000 р.\мес., исходя из 8-ми часового рабочего дня (среднее число рабочих дней в месяце 22). Подставив в формулу (3.5) часовую ставку по договору и трудоемкость создания ПО (=17,5 мес) получим:

руб.,

Таким образом, основная заработная плата (с учетом премии в размере 30% от заработной платы по тарифу) составит:

руб.

Дополнительная заработная плата  устанавливается в размере 10% от основной. В выпускной квалификационной работе принимать Зд в размере от основной заработной платы и рассчитывается по формуле (3.6):

руб. (3.6)

Таким образом, общие затраты на заработную плату составляют:

руб.

Расчет единого социального налога

Единый социальный налог рассчитывается по формуле:

руб., (3.7)


где - ставка единого социального налога равная 26,2%.

Расчет накладных расходов

Накладные расходы – это расходы на управление и хозяйственное обслуживание. Величина накладных расходов  устанавливается в процентах от основной заработной платы и рассчитывается по формуле (3.8).

Процент накладных расходов  у ИП Горлов П.С. принимается равным 10% от основной заработной платы:

руб. (3.8)

Расчет затрат на содержание и эксплуатацию вычислительных средств:

Годовые затраты на эксплуатацию вычислительных средств  определяются по формуле:

руб., (3.9)

где – стоимость электроэнергии;

– затраты на техническое обслуживание и ремонт;

– амортизационные отчисления.

Стоимость электроэнергии, потребляемой вычислительной аппаратурой, определяется по формуле (3.10):

руб., (3.10)

где – номинальная потребляемая мощность компьютера (=0.4 кВт);

– коэффициент загрузки (=0,8);

– общее время использования ЭВМ (=3120 часа);

– стоимость одного кВт-часа электроэнергии (=0,88 руб.).

Затраты на техническое обслуживание и ремонт вычислительной аппаратуры принимаются равными 5% от ее балансовой стоимости и определяются по формуле (3.11):

руб., (3.11)

где – балансовая стоимость вычислительной аппаратуры,

– годовой эффективный фонд времени =1878 часов (см. формулу (3.13)).

Балансовая стоимость вычислительной аппаратуры определяется по формуле (3.12):

руб., (3.12)

где – цена вычислительной аппаратуры (=40000 руб.),

– ставка затрат на доставку и монтаж (=0,1).

Годовой эффективный фонд времени  определяется по формуле (3.13):

часов, (3.13)

где – число календарных дней,

– число выходных дней в году,

– число праздничных дней в году,

– продолжительность рабочего дня, (=8 час.),

– планируемый процент потерь времени на ремонт вычислительной аппаратуры (=3%).

Амортизационные отчисления определяются по формуле:

 руб., (3.14)

где – норма амортизации (=30%).

Примечание: Для электронно-вычислительной техники в соответствии с Постановлением Правительства РФ 01.01.02 срок полезного использования составляет 3–5 лет. Следовательно, норма амортизации может быть принята =(20ч30)%.

Результаты расчета себестоимости разработки программного обеспечения сведены в таблицу 3.7.

Таблица 3.3 – Сметная калькуляция на разработку программных средств

Вид затрат Сумма рублей
Материалы и комплектующие изделия 1070
Основная заработная плата 673200
Дополнительная заработная плата 67320
Единый социальный налог 194016
Эксплуатационные затраты Затраты на электроэнергию 878
Амортизация 22000
Затраты на ремонт и техническое обслуживание 3654
Накладные расходы 67320
Итого: 1029458
 
Заключение

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

Основываясь на обзоре аналогов системы, были разработаны требования к функциональности системы, к дизайну системы, к шрифтам и средствам просмотра, а также выявлены требования пользователей к системе.

На основании составленных требований пользователей к системе была разработана общая структура сайта.

Разработаны так же инфологическая и даталогическая модель базы данных системы, разработана диаграмма классов системы.

Система была практически полностью реализована, за исключением отображений некоторых разделов.

Также была рассчитана трудоёмкость, себестоимость разработанной системы и составлен перечень мер по обеспечению безопасности при эксплуатации системы.


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

1.  Марк Лутц. Изучаем Python. Издательство: Символ-Плюс, 2009 г. Мягкая обложка, 848 стр.

2.  Джефф Форсье, Пол Биссекс, Уэсли Чан. Django. Разработка веб-приложений на Python. Издательство: Символ-Плюс, 2009 г. Мягкая обложка, 456 стр.

3.  Вигерс К. Разработка требований к программному обеспечению [Текст]. М.: Издательско-торговый дом «Русская редакция», 2004. 576 с.

4.  Фаулер М., Скотт Д. UML. Основы. Второе издание [Текст]. Пер. с англ. СПб.: Символ-Плюс, 2002. 192 с.

5.  Карпова Т.С. Базы данных: модели, разработка, реализация [Текст]. − СПб.: Питер, 2002. − 304 с.

6.  ГОСТ 30403–96. Конструкции строительные. Метод определения пожарной опасности [Электронный ресурс]. – Введ. 1996–07–01. – Адрес в Интернет: http://www.gosthelp.ru.

7.  Орлов С.А. Технологии разработки программного обеспечения [Текст]. − СПб.: Питер, 2002. − 464 с.

8.  Исаков Л.С., Корчагина Р.Л., Ткалин А.И. Оценка экономической эффективности программных средств. Учебное пособие по выполнению экономического раздела выпускной квалификационной работы [Текст]. – СПб.: БГТУ, 2005. – 22 с

9.  СНиП 21–01–97. Пожарная безопасность зданий и сооружений [Электронный ресурс]. введ. 1998–01–01. – Адрес в Интернет: http://www.mbty.ru.

10.  ГОСТ 12.1.004–91. Пожарная техника для защиты объектов. Основные виды. Размещение и обслуживание [Электронный ресурс]. – Введ. 1985–01–01. Адрес в Интернет: http://www.mbty.ru.

11.  ГОСТ 12.0.003–74. Опасные и вредные производственные факторы [Электронный ресурс]. Введ. 1976–01–01. – Адрес в Интернет: http://www.docload.ru/


Информация о работе «Поиск фотооборудования»
Раздел: Информатика, программирование
Количество знаков с пробелами: 55586
Количество таблиц: 41
Количество изображений: 9

Похожие работы

Скачать
155106
0
0

... – оно должно быть изготовлено для непосредственного причинения телесных повреждений, опасных для жизни и не должно быть сконструировано для хозяйственно-бытового применения. Холодное оружие в криминалистике классифицируется: по назначению – на боевое, охотничье, криминальное; по способу изготовления – на промышленное, кустарное, самодельное, а также переделанное; по месту изготовления – на ...

Скачать
172831
10
0

... обоснование) Точная формулировка концепции (перечень конкретных задач, выбор целевого рынка и позиционирование) План освоения (т е. переход от намеченного позиционирования к плану оперативного маркетинга) Межфункциональная координация Поддержка руководством, т. е. потребность в специальной структуре, которая разрабатывала бы, координировала и поддерживала бы доведение до рынка этого товара. ...

Скачать
177136
47
1

... и рекомендаций его проведения. Учитывая особую актуальность данной темы в настоящее время в своей работе я решила рассмотреть особенности криминалистической тактики следственного осмотра и освидетельствования. 1. Осмотр и освидетельствование – следственные действия, предусмотренные УПК РСФСР.1.1. Понятие, сущность, цели следственного осмотра и освидетельствования. Первый советский учебник ...

Скачать
94155
10
7

... байта, содержание значения синего, зеленого и красного в том же порядке. Каждая строка дополняется нулями до границы 4 байт. Именно этот формат данных используется в разрабатываемой в подсистеме выделения текстильных волокон. 3.2 Преобразование изображения из RGB – представления в HSB Исходное изображение преобразуется из RGB – представления в HSB в случае выбора пунктов 2 либо 3 из главного ...

0 комментариев


Наверх