Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller




Скачать 91.67 Kb.
НазваниеОбщая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller
Дата публикации25.06.2013
Размер91.67 Kb.
ТипПрограмма
vbibl.ru > Информатика > Программа
Общая структура программы
Программа использует классический шаблон MVC (Model View Controller).
Model-view-controller (MVC, «Модель-представление-поведение», «Модель-представление-контроллер») — архитектура программного обеспечения, в которой модель данныхприложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.

Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента

  • Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контроллера), изменяя свое состояние.

  • Представление (View). Отвечает за отображение информации (пользовательский интерфейс).

  • Поведение (Controller). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции.



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

В данном проекте шаблон MVC реализован следующим образом:

  • View – представлен файлами в корневом каталоге сайта с расширением php, которые используют php как шаблонизатор + классы для отображения общих элементов интерфейса (table, combobox и т.д.) в файле view.php;

  • Model – классы предметной области, например Order (заявка), размещены в подкаталоге model сайта;

  • Contoller – контроль доступа обеспечивается классом User.

Используемые библиотеки

  • Для модульного тестирования (unit-tests) используется библиотека simpletest. Её можно бесплатно скачать с сайта разработчиков http://www.simpletest.org.

  • Для доступа к базе данных MySQL с фильтрацией параметров для защиты от SQL-Injection атак используется библиотека DbSimple с сайта http://dklab.ru/lib/DbSimple/. Библиотека идёт под лицензией LGPL.

  • Для резервного копирования и восстановления базы данных MySQL используется бесплатный свободно распространяемый скрипт Sypex Dumper. Сайт разработчиков - http://sypex.net.


^ Защита информации

Безопасность сайта обеспечивается механизмами авторизации и аутентификации при помощи использования стандартного механизма сессий PHP.

Объект (экземпляр класса User описанного в user.php) с данными текущего пользователя и его правами хранится в переменной сессии с именем - user.

Класс User содержит логин текущего пользователя и его группу.

Когда пользователь не авторизован в системе, переменная $_SESSION[‘user’] не установлена, при пользователя со всех страниц требующих авторизацию (требуют авторизации все страницы кроме формы входа index.php и формы регистрации reg.php) перекидывает на страницу index.php, где находится форма входа в систему.
Виды пользователей

  • неавторизованный пользователь – до входа в систему, может использовать только:

    • форму входа – index.php;

    • форму регистрации – reg.php;

  • обычный пользователь (user) – пользователь, прошедший регистрацию, имеет доступ к страницам:

    • send.php – отправка заявки;

    • myorders.php – просмотр отставленных этим пользователем заявок, возможно также удаление (отзыв) заявок до того, как они будут обработаны администратором;

    • profile.php – информация о текущем авторизованном пользователе введенная им при регистрации и информация о его текущем уровне (red, yellow, green), установленном по правилам;

    • program_usage.php – загрузка информации о частоте использования программ на данном компьютере данным пользователем при помощи специальной утилиты;

  • администратор (admin) – системный администратор, обрабатывающий заявки, имеет доступ к страницам:

    • orders.php – заявки на рассмотрение, в этой же форме администратор может указать сложность (по его мнению) заявки, повторяется ли она и т.д.

    • rules.php – редактирование правил принятия решения об уровне пользователя;

    • stat.php – статистика по пользователям (подсчитанные параметры).


^ Анализ активности пользователя

Для анализа активности пользователя собирается информация о частоте использования им программ (приложений) в Windows. Для этого пользователь запускает специальную небольшую программку, обращающуюся через WinAPI к операционной системе, получающей требуемую информацию и сохраняющей её в виде XML-файла, который надо загрузить странице program_usage.php.

Для изучения требуемых WinAPI-функций обратимся к сайту MSDN.
При определении уровня пользователя учитываются следующие параметры:

  • Количество заявок за последний месяц

  • Суммарный уровень сложности заявок

  • Повторение ошибок за месяц


Все пользователи системы разделены на группы:

  • Администраторы (admin)

  • Пользователи (user)

    • Красный уровень (red)

    • Желтый уровень (yellow)

    • Зелёный уровень (green)


Основной сценарий работы системы:

  • Пользователь (user) заполняет заявку на сайте. Заявка – произвольный текст, например “В принтере закончилась бумага ”. Заявка получает ID (очередной номер в БД), статус новая (new) и сохраняется в БД на сервере.

  • Заявка отображается в списке у системного администратора на странице orders.php.

  • Системный администратор классифицирует заявку, устанавливает её уровень сложности (Сложность заявок - DifOfOrder – целое число в диапазоне 1..100).

  • Администратор обрабатывает заявку и заполняет про неё анкету.

  • Запускаются правила классификации пользователей для данного пользователя. Пользователь, приславший новую заявку получает новый статус (red, yellow, green).


Примеры правил:

If(NumOrders /* Кол-во заявок за месяц */ > 5) Level = red;

If(NumOrder > 10 & SumDifOfOrder > 50 /* Суммарная сложность заявок */ ) Level = green;
Показатели:

  • NumOrders – количество заявок в месяц

  • SumDifOfOrder – суммарная сложность заявок за последний месяц

  • RepeatedOrders – повторение ошибок в месяц (администратор проставляет флажок – является повторной заявкой).

  • Сложность ???


Описание работы со всеми формами

Форма входа – index.php

При открытии системы пользователю предлагается форма входа, где нужно ввести логин и пароль:



Если пользователь пока не зарегистрирован в системе, прямо с формы входа он может перейти по ссылке на форму регистрации (reg.php) нажав на ссылку “Зарегистрироваться”.

^ Общая последовательность действий пользователя при работе в системе

Присваивание пользователям уровней



^ Сбор информации об используемых программах



Хранение правил в базе данных

Получение информации об активности использования компьютера

Для получения списка установленных программ используется утилита командной строки ^ WMIC.

Запускается команда:

wmic product get name

и выводится список установленных программ, как показано на рисунке:

Name

Microsoft .NET Framework 3.0 Service Pack 2

Microsoft SQL Server 2008 Management Objects

Microsoft .NET Framework 3.5 SP1
...и так далее...

Microsoft .NET Framework 3.5 Language Pack SP1 - rus

Microsoft Windows SDK for Visual Studio 2008 SP1 Express Tools for .NET Framewor

k - rus
При этом доступны следующие свойства установленных программ:

Свойство Тип Операция

======== ==== =========

Description N/A N/A

IdentifyingNumber N/A N/A

InstallDate N/A N/A

InstallLocation N/A N/A

InstallState N/A N/A

Name N/A N/A

PackageCache N/A N/A

SKUNumber N/A N/A

Vendor N/A N/A

Version N/A N/A
Кроме того, используется системная утилита systeminfo для выяснения общего времени работы операционной системы Windows:

C:\Documents and Settings\Администратор> cmd /c systeminfo
Имя узла: NEWPC

Название ОС: Microsoft Windows XP Professional

Версия ОС: 5.1.2600 Service Pack 2 сборка 2600

Изготовитель ОС: Microsoft Corporation

Параметры ОС: Изолированная рабочая станция

Сборка ОС: Uniprocessor Free

Зарегистрированный владелец: ВМ-2

Зарегистрированная организация: СПбГЭТУ

Код продукта: 55683-640-7090775-23275

Дата установки: 16.01.2007, 20:59:08

Время работы системы: 0 дн., 5 час., 39 мин, 13 сек.

Изготовитель системы: MSI

Модель системы: MS-7267

Тип системы: X86-based PC

Процессор(ы): Число процессоров - 1.

Запуск системы

  1. Для функционирования системы нужен сервер Apache, база данных MySQL и интерпретатор PHP, настроенные и готовые к совместной работе. Чтобы уменьшить затраты на настойку этих программ рекомендуется скачать “Джентельменский Набор Веб Разработчика” (Д.Н.В.Р.) с сайта http://denwer.ru и установить его.

  2. После установки denwer следует скопировать систему в каталог:

<Каталог установки denwer>\home\localhost\www

  1. Для запуска denwer запустите файл:

<Каталог установки denwer>\denwer\Run.exe

  1. Для установки базы данных в начальное состояние нужно воспользоваться утилитой Sypex Dumper.

  2. После установки системы следует настроить denwer и Windows Firewall таким образом, чтобы система была видна на других компьютерах в сети. Для настройки denwer следует выяснить свой IP-адрес в локальной сети, для этого можно открыть свойства сетевого соединения и посмотреть там.


^ Установка и настройка denwer

  1. Скачиваете denwer с сайта http://www.denwer.ru. Захожу на сайт, нажимаю "Скачать". Ввожу имя, фамилию и e-mail и мне присылают на e-mail ссылку для скачивания. Перехожу по ссылке. Скачиваю.

  2. Запускаю скачанный пакет Denwer3_Base_2008-01-13_a2.2.4_p5.2.4_m5.0.45_pma2.6.1.exe - у вас версия может отличаться :)

  3. Внимательно читаю текст и ввожу цифры. Вы действительно хотите установить базовый пакет? Да! Закрываю окно браузера.

    • "Для продолжения нажмите Enter." <Нажимаю Enter>

    • > Имя директории или буква флэш-накопителя C:\WebServers: C:\www. Ставить в любой удобный для вас каталог, я ставлю в "C:\www"

    • > Установить в директорию C:\www (y/n)? y

    • "Для продолжения нажмите Enter." <Нажимаю Enter>

    • > Введите букву будущего виртуального диска Z?: W

    • "Для продолжения нажмите Enter." <Нажимаю Enter>

    • > Введите 1 или 2 1?: 1

    • > Создать ярлыки на Рабочем столе для запуска Денвера (y/n)? y

    • Должно появится окно браузера "Денвер успешно установлен"

Настройка denwer для видимости из локальной сети
^

Определение вашего IP-адреса


Для начала следует узнать, какой IP-адрес назначен вам в локальной сети или Интернете. Проще всего это сделать, открыв Командную строку Windows и набрав там:

ipconfig

Вы увидите что-то типа следующего:

Настройка протокола IP для Windows

WiFi - Ethernet адаптер:

DNS-суффикс этого подключения . . :

IP-адрес . . . . . . . . . . . . : 192.168.0.49

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.0.1

В данном случае внешний IP-адрес машины в локальной сети — 192.168.0.49. В списке могут быть перечислены сразу несколько сетевых интерфейсов (если ваш компьютер оборудован несколькими сетевыми картами или беспроводными устройствами). В этом случае вам нужно определить, какой из интерфейсов является внешним, доступным из локальной сети. (IP-адреса, начинающиеся с 192.168 или 10, зарезервированы только для доступа из локальной сети, но не из Интернета. Т.е. они являются "приватными".)

Убедитесь, что ваш IP-адрес является статическим, т.е. не меняется при следующем включении машины или перезагрузке. Если IP-адрес выдается динамически, то не существует простого способа, позволяющего подключить к нему Денвер.
^

Настройка межсетевого экрана (брандмауэра, фаервола) Windows


В большинстве Windows-систем встроенный (либо установленный вами вручную) межсетевой экран или антивирус блокируют подключения с внешних машин к текущей. Это сделано по соображениям безопасности. Конечно, в случае, если вы открываете сайт наружу, эту блокировку следует отключить, в противном случае сайт никто не увидит.

Наша цель — разрешить Windows подключения к порту 80 (протокол HTTP) вашего IP-адреса 192.168.0.49, на котором будет "висеть" Apache. Приведем инструкции, как это сделать в Windows XP:

  1. Откройте Пуск — Панель управления, выберите Брандмауэр Windows.

  2. Перейдите на вкладку Исключения.

  3. Нажмите кнопку Добавить порт, в поле Имя введите ваш IP-адрес, а в поле Номер порта укажите 80.

Если вы устанавливали свой собственный брандмауэр или антивирус, то, конечно, вам придется обратиться к их документации.

Предположим, что ваш хост хранится в директории /home/mysupersite/www. Чтобы назначить ему IP-адрес 192.168.0.49, необходимо создать файл  /home/mysupersite/.htaccess и добавить в него строчки:

## Файл /home/mysupersite/.htaccess

## Укажите здесь ваш внешний IP-адрес, а не 192.168.0.49!

# dnwr_ip 192.168.0.49

Кстати, вы можете узнать, какие еще существуют директивы, заглянув в файл /home/custom/.htaccess.

Перезапустите Денвер. Проверьте, что по адресу  http://192.168.0.49  (вместо 192.168.0.49, конечно, нужно подставить ваш собственный IP-адрес) открывается ваш сайт /home/mysupersite/www.

Загрузка исходной версии базы данных при помощи DbForgeStudio



Сайт по эргономике - shahrizade@mail.ru

Добавить документ в свой блог или на сайт

Похожие:

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconПрограмма построена согласно архитектуре mvc (Model-View-Controller)...
В этом разделе описывается разработка программной системы – от проектирования структурных, функциональных и принципиальных схем и...

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconModel/View-архитектура case-пакета real-mv
Те же, что являются свободно распространяемыми, либо недостаточно зрелы, имеют довольно ограниченный набор графических редакторов...

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconРегиональный конкурс моделей
Конкурс «Best Child Model of Donbass» это лицензированный конкурс для детей и подростков на территории Донецкой области, который...

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconАрхитектура построения приложения (блок Applications) представляет...
Однако модель не зависит ни от представления, ни от поведения [8]. Это позволяет строить модель независимо от визуального представления,...

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconИмитационное моделирование построения мотивационно-волевого компонента...
Мпонента в модуле управления учебным процессом. Во второй части излагаются особенности реализации процедуры имитационного моделирования...

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconModel Release

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconModel Release

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconПлан 1 июня 2011 г. 1: 35   Структура приложения(mvc) База данных Использованные технологии
«Модель-представление-контроллер»  — шаблон проектирования, в котором модель данных приложения,пользовательский интерфейс и управляющая...

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller icon4. 3 Подключение к пк 12 0 Часто задаваемые вопросы 13
Краткое руководство пользователя PlayTab Pro Point of View Android 0 Tablet

Общая структура программы Программа использует классический шаблон mvc (Model View Controller). Model-view-controller iconТехнологии компонентного программирования
Технология com (Component Object Model компонентная объектная модель) от Microsoft

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
vbibl.ru
Главная страница