Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Новий Документ Microsoft Word.doc
Скачиваний:
59
Добавлен:
03.03.2016
Размер:
465.92 Кб
Скачать

4 Проектирование системы

4.1 Анализ требований к системе управления контентом сайта

4.2 Описание предметной области с помощью интеллект карт

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

Работа с интеллект-картами представляет собой попытку отразить свое мышление.

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

Таким образом, интеллект-карты лучше воспринимаются мозгом и стимулируют его работу, то есть способствуют развитию мышления. При использовании интеллект-карты мы в буквальном смысле пытаемся нарисовать свое мышление.

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

Интеллект карта разработанная при проектировании системы управления контентом для Web-сайта приведена на рисунке 4.1.

Рисунок 4.1 Интеллект карта системы управлением контентом

4.1.2 Построение структурно-функциональной модели в нотации IDEF0

IDEF0 – Function Modeling – методология функционального моделирования и графи­ческая нотация, предназначенная для формализации и описания бизнес-процессов. Отличи­тельной особенностью IDEF0 является её акцент на соподчинённость объектов. В IDEF0 рассматривается логические отношения между работами, а не их временна́я последова­тель­ность. IDEF0-модель дает возможность получить точную спецификацию всех операций и действий, осуществляемых в бизнес-процессе, а также характер взаимосвязей между ними.

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

На рисунке 4.2. приведена структурно-функциональная модель системы управленим контента сайтом.

Рисунок 4.2 Модель системы управления контентом сайта в нотации IDEF0

На рисунке 4.3 изображена декомпозиция первого уровня диаграммы IDEF0.

Рисунок 4.3 Декомпозиция первого уровня

На рисунке 4.4 изображена декомпозиция второго уровня диаграммы IDEF0.

Рисунок 4.4 Декомпозиция второго уровня

4.3 Разработка базы данных

При написании данной работы было решено использовать реляционную модель базы данных.

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

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

В реляционных СУБД применяется язык SQL, позволяющий формулировать произвольные, нерегламентированные запросы. Это язык четвертого поколения, поэтому любой пользователь может быстро научиться составлять запросы. К тому же, существует множество приложений, позволяющих строить логические схемы запросов в графическом виде. Все это происходит за счет ужесточения требований к производительности компьютеров.

На рисунке 4.5 приведена реляционная модель данных, разработанная для системы управления контента Web-сайта.

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

  1. Content – таблица в которой расположены данные о блоках с информацией которая расположена на сайте. Поля таблицы Content:

  • id – порядковый номер блока;

  • flag – запрет/разрешение отображения блока на странице;

  • order_by – порядковый номер на странице;

  • page_id – номер страницы которой принадлежит блок;

  • type – тип блока;

  • name – заголовок блока;

  • info – информация блока;

  • cutline – краткая информация;

  • donedate – дата создания.

  • Pages – таблица в которой содержатся страницы сайта. Поля таблицы Pages:

    • id – порядковый номер страницы;

    • flag – запрет/разрешение отображения страницы на сайте;

    • order_by – порядковый номер страницы в меню;

    • menu_id – номер меню;

    • content_id – номер контента привязанного к странице;

    • page_id – номер страницы которой пренадлежит данныя страница, для реализации многоуровнего выпадающего меню;

    • name – название страницы.

  • Keywords – таблица в которой содержатся ключевые слова, описание страницы, которые располагаются в мета тегах страницы. Поля таблицы Keywords:

    • page_id – номер страницы к которой привязаны ключевые слова;

    • title – заголовок страницы;

    • meta – ключевые слова для страницы;

    • content – описание страницы;

    • page_keys – ключевые слова которые отображаются внизу страницы.

  • Content_info – таблица предназначенная для размещения дополнительной информации о блоке. Поля таблицы Content_info:

    • id – порядковый номер блока;

    • flag – запрет/разрешение использования дополнительной информации;

    • target – открытие ссылки картинки в новом или том же окне;

    • href – ссылка для картинки;

    • info – дополнительная информация.

  • Cutline – таблица для блока картинки с ссылкой. Поля таблицы Cutline:

    • id – порядковый номер блока;

    • content_id – номер контента к которомо прив’язана ;

    • cutline – ссылка;

    • info – дополнительная информация.

  • Images – информация об загружаемыж изображениях. Поля таблицы Images:

    • id – порядковый номер изображения;

    • content_id – номер контента, который привязан к странице;

    • big_id – номер большой картинки, которая привязана к маленькой;

    • name – название изображения;

    • type – тип изображения;

    • size – размер изображения;

    • Width – ширина изображения;

    • Height – высота изображения;

    • donedate – дата загрузки изображения.

  • Imageblks – таблица, которая предназначена для хранения содержимого изображения. Поля таблицы Imageblks:

    • id – порядковый номер;

    • image_id – номер изображения, которому принадлежит содержимое;

    • blk – содержимое изображения.

  • Files – данные о загружаемых файлах. Поля таблицы Files:

    • id – порядковый номер файла;

    • name – название файла;

    • type – тип файла;

    • size – размер файла;

    • donedate – дата загрузки файла;

    • сomment – комментарий к файлу.

  • Fileblks – таблица, которая предназначена для хранения содержимого изображения. Поля таблицы Fileblks:

    • id – порядковый номер;

    • file_id – номер файла, которому принадлежит содержимое;

    • blk – содержимое файла.

  • Tabletemplates – таблица в которой хранятся шаблоны оформления таблиц. Поля таблицы Tabletemplates:

    • id – порядковый номер шаблона;

    • name – название шаблона;

    • tablestruct – структура шаблона.

  • Users – информация об администраторах сайта. Поля таблицы Users:

    • id – порядковый номер администратора;

    • Flag – активный или неактивный администратор;

    • Login – логин администратора;

    • Password – пароль администратора;

    • Name – имя администратора;

    • date_date – дата добавления администратора.

    4.4 Объектно ориентированое проектирование

    Язык UML представляет собой общецелевой язык визуального моделирования, который разработан для спецификации, визуализации, проектирования и документирования компонентов программного обеспечения, бизнес-процессов и других систем. Язык UML одновременно является простым и мощным средством моделирования, который может быть эффективно использован для построения концептуальных, логических и графических моделей сложных систем самого различного целевого назначения. Этот язык вобрал в себя наилучшие качества методов программной инженерии, которые с успехом использовались на протяжении последних лет при моделировании больших и сложных систем.

    Язык UML основан на некотором числе базовых понятий, которые могут быть изучены и применены большинством программистов и разработчиков, знакомых с методами объектно-ориентированного анализа и проектирования. При этом базовые понятия могут комбинироваться и расширяться таким образом, что специалисты объектного моделирования получают возможность самостоятельно разрабатывать модели больших и сложных систем в самых различных областях приложений.

    Конструктивное использование языка UML основывается на понимании общих принципов моделирования сложных систем и особенностей процесса объектно-ориентированного анализа и проектирования в частности. Выбор выразительных средств для построения моделей сложных систем предопределяет те задачи, которые могут быть решены с использованием данных моделей. При этом одним из основных принципов построения моделей сложных систем является принцип абстрагирования, который предписывает включать в модель только те аспекты проектируемой системы, которые имеют непосредственное отношение к выполнению системой своих функций или своего целевого предназначения. При этом все второстепенные детали опускаются, чтобы чрезмерно не усложнять процесс анализа и исследования полученной модели.

    4.4.1 Диаграмма классов

    Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. На данной диаграмме не указывается информация о временных аспектах функционирования системы. С этой точки зрения диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы.

    На рисунке 4.6 изображена диаграмма классов для системы управления контентом сайта.

    Рисунок 4.6 Диаграмма классов

    В результате разработки диаграммы классов были выделены следующие классы.

    1. Класс cconnect – основной класс в котором находятся функции подключения к базе данных и работе с ней. Так же в данном классе находятся функции преобразования и обработки данных.

    Атрибуты класса:

    • Connection – переменная которая хранит в себе свойства текущего подключения к базе данных.

    Основные операции класса:

    • ConnectToDB() – функция в которой происходит подключение к базе данных и передача свойств подключения в атрибут Connection;

    • DeConnectDB() – функция отключения от бызы данных;

    • query() – функция выполнения запроса к базе данных;

    • ReadRow() – функция, которая читает из заданной таблицы строку с заданным номером и возвращает массив данных полученой строки;

    • ReadRows() – функция, которая читает из заданной таблицы заданное число строк по определённому условию;

    • Auth() – функция предназначенная для аунтификации администратора сайта;

    • GetValidPage() – проверяет существует ли запрашиваемая страница и возвращает информацию о ней если она существует иначе возвращает стандартную страницу.

  • Класс cmain – в этом классе находятся функции для работы с контентом, страницами, блоками и поиском. Данный класс является наследником класса cconnect.

    Основные операции класса:

    • ReadContent() – выводит на экран страницу и существующие на ней боки для обычного пользователя и позволяет добавлять, удалять, изменять информацию о блоках и странице в режиме администратора;

    • MakeAddContentTypeSelect() – формирует список существующих блоков;

    • ParseContentType1() – выводит информацию о текстовом блоке;

    • AddNewTypedContent() – добавляет новый блок на страницу;

    • AddNewPage() – добавляет новую страницу;

    • UpdatePage() – изменяет информацию о странице;

    • DeletePage() – удаляет страницу;

    • UpdateContent() – изменяет информацию о блоках;

    • DeleteContent() – удаляет блок;

    • MapSite() – выводит карту сайта.

    1. Класс cmenu – в этом классе располагаются функции формирования меню сайта.

    Операции класса:

    • MakeMainMenuTop() – формирует верхнее меню сайта;

    • MakeActionsMenu() – формирует правое меню сайта.

    1. Класс cforms – в этом классе располагаются функции для отправки сообщений с сайта и работы с ними.

    Операции класса:

    • SendMessage() – отправляет сообшение с сайта.

    4.2.2 Диаграмма взаимодействий

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

    На рисунке 4.7 изображена диаграмма взаимодействий системы управления контентом сайта.

    Рисунок 4.7 Диаграмма взаимодействий

    4.5 Эскизы структуры управления контентом сайта

    Для понятия структуры и схемы работы системы управления контентом разрабатываются эскизы системы управления контентом.

    На рисунке 4.8 изображён примерный эстиз системы управлением контента сайта.

    Рисунок 4.8 Эскиз структуры системы управления контентом сайт