- •Аннотация
- •Введение
- •2.1.2.Используемое на предприятии по
- •2.1.3.Полный цикл строительных работ по объекту
- •2.1.4.Аналоги проектируемого программного продукта
- •2.1.5.Итог анализа предпроектной ситуации
- •2.2.Выбор и обоснование средств разработки
- •2.2.1.Выбор языка программирования для сервера
- •2.2.2.Выбор субд sql
- •2.2.3.Выбор Web-сервера
- •2.2.4.Выбор хостинга
- •2.2.5.Выбор интегрированной среды разработки
- •2.2.6.Выбор вспомогательных программных средств
- •2.2.7.Обход недостатков php как динамически типизированного языка
- •2.2.8.Работа с базой данных.
- •3.1.2.2.Таблица nodes
- •3.1.2.3.Таблица nodes_versions
- •3.1.2.4.Таблица chat_messages
- •3.1.2.5.Таблица news
- •3.1.2.6.Таблица made_projects
- •3.1.2.7.Таблица uploaded files
- •3.1.2.8.Таблица uploaded_files_versions
- •3.1.2.9.Таблица attached_files
- •3.1.2.10.Таблица made_projects
- •3.1.2.11.Таблица projects
- •3.1.2.12.Таблица service_groups
- •3.1.2.13.Таблица services
- •3.1.2.14.Таблица calculations
- •3.1.2.15.Таблица calculation_items
- •3.1.2.16.Таблица calculation_items
- •3.1.2.17.Таблица menu_groups
- •3.1.2.18.Таблица menu_items
- •3.1.2.19.Таблица pages
- •3.1.2.20.Таблица special_pages_settings
- •3.2.Разработка модулей сайта
- •3.2.1.Главный модуль
- •3.2.2.Модуль показа новостей
- •5.Тестирование и отладка web-сайта
- •5.1.Модульное тестирование
- •5.2.Проверка работы сайта в разных браузерах. Тестирование web-сайта в целом
- •5.3.Проверка на устойчивость к проникновению
- •6.Безопасность при работе за компьютером
- •6.1.Особенности работы с компьютерами
- •6.2.Основные вредные и опасные факторы при работе с компьютером
- •6.2.1.Повышенное зрительное напряжение
- •6.2.2.Нервное напряжение
- •6.2.3.Костно-мышечные напряжения
- •6.2.4.Электромагнитные поля и последствия их воздействия
- •6.2.5.Шум, выделение вредных веществ, тепловыделение, опасность поражения электрическим током, риск возгорания
- •6.3.Меры безопасности при работе с пэвм
- •6.3.1.Факторы охраны труда на рабочем месте
- •6.3.2.Требования к параметрам излучений дисплеев
- •6.3.3.Требования к цветовым параметрам дисплеев
- •6.3.4.Электромагнитное излучение на рабочем месте
- •6.3.5.Жидкокристаллические мониторы
- •6.3.6.Оптимизация визуальных характеристик дисплеев
- •6.3.7.Освещение и организация рабочего места
- •6.3.8.Режим труда и отдыха
- •6.3.9.Электробезопасность при работе с пэвм
- •6.3.10.Пожарная безопасность
- •6.3.11.Микроклимат на рабочем месте
- •7.Экономическая часть
- •7.1.Определение затрат на разработку и создание программных средств.
- •7.1.1.Затраты на оплату труда
- •7.1.2.Затраты на материалы
- •7.1.3.Затраты на аренду
- •7.1.4.Затраты на электроэнергию
- •7.1.5.Затраты на внедрение
- •7.2.Затраты на эксплуатацию системы
- •7.3.Годовой экономический эффект от применения.
- •7.4.Срок окупаемости затрат.
- •7.5.Итоговые экономические показатели проекта.
- •Заключение
- •Список литературы и прочих источников информации
- •П. 3.2 модуль подключаемых заголовков header.Inc.Php
- •П. 3.3 модуль fглобальных переменных gvars.Inc.Php
2.2.Выбор и обоснование средств разработки
2.2.1.Выбор языка программирования для сервера
Наиболее приемлимым языком для выполнения задания является PHP. К его неоспоримым достоинствам стоит отнести:
Язык разработан и предназначен специально для работы с гипертекстовыми документами.
Хорошие встроенные функции для работы со строками, аутентификацией, cookies, sql-запросами, кодировкой, сессиями, почтой.
В языке с 5-й версии полностью реализовано Объектно-ориентированное программирование и ссылки на объекты.
Популярность языка. Большое число выполненных проектов, фреймворков, CMS и модулей для них. Развитые сообщества пользователей.
Низкие требования к ресурсам сервера.
2.2.2.Выбор субд sql
MariaDB- бесплатный форк MySQL. (http://mariadb.org)
Является полностью заменимой версией MySQL и в отличие от него не имеет лицензионных ограничений.
2.2.3.Выбор Web-сервера
LAMP – Linux + Apache + MySQL + PHP
2.2.4.Выбор хостинга
http://masterhost.ru/ (тариф «Аспирант» - 200 р./мес.)
до пяти сайтов на одном аккаунте
хорошая техническая поддержка
хороший аптайм, гарантия надёжности
минимум настроек
Альтернатива – http://firstvds.ru/ (тариф VDS-отрыв 400 р./мес.)
Виртуальный выделенный сервер с характеристиками CPU 1.8 GHz, 1.5 GB RAM, 24 GB HDD (неплохо в сравнении с 3 GB на masterhost'е)
Дистрибутив Debian-6-i386-ISPmanager, виртуализуемый в OpenVZ. ISPManager - это web-интерфейс, позволяющий быстро и удобно изменять все важные настройки, не копаясь в тестовых конфигах. Доступ к консоли и тонкая настройка осуществляется по ssh, например, из-под Windows Xp с помощью ssh-клиента PuTTY (http://www.putty.org/) либо утилиты ssh, входящей в пакет unix-подобных утилит для windows Cygwin (http://www.cygwin.com/).
Безлимитный трафик.
Возможность тонкой ручной настройки LAMP-сервера, автоматизации бэкапов, доступ по FTP. Возможность обработки загружаемых файлов любыми приложениями и утилитами.
Возможность размещения неограниченного числа будущих проектов на этом же хостинге.
2.2.5.Выбор интегрированной среды разработки
IDE NetBeans (http://netbeans.org/):
Достоинства:
кросплатформенность (IDE написана на Java)
заточенность на работу с web-проектами
подсветка и автодополнение php, html, css, js
удобный текстовый редактор
система встраиваемых плагинов, расширяющих IDE
огромное сообщество пользователей
Недостатки:
высокие системные требования
нестабильная работа
2.2.6.Выбор вспомогательных программных средств
Gimp – бесплатный растровый графический редактор.
InkScape – бесплатный векторный графический редактор.
Mercurial – простая и удобная бесплатная кроссплатформенная система контроля версий на Python, не требующая дополнительной конфигурации.
MySQL Workbench – визуальное проектирование базы данных и экспорт структуры таблиц в исполняемый sql-скрипт.
Oracle VirtualBox 4 – виртуальная машина для проверки работы linux-хостинга
2.2.7.Обход недостатков php как динамически типизированного языка
Как известно, PHP является динамически типизированным объектно-ориентированным языком. В статически типизированных языках ещё на этапе компиляции предупреждается о многих возможных ошибках, например, нельзя передать в функцию число вместо строки, а к фамилии прибавить дату рождения. В PHP же такое очень даже возможно, типы входных параметров функций разрешено указывать только для сложных объектов. Поэтому планируется использовать систему автоматизированного модульного тестирования SimpleTest а также включить в цикл разработки некоторые приёмы из практики TDD (Test-Driven Development).