Создание подсистемы "WebList" для виртуального бизнес-проекта "Proffis"

Создание виртуального бизнес-центра в виде портала "Proffis". Реализация потребности вести единые списки объектов бизнеса у множества компаний. Проектирование архитектуры подсистемы WebList. Типы пользователей системы: администратор, лидеры и операторы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.03.2012
Размер файла 2,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Создание подсистемы "WebList" для виртуального бизнес-проекта "ПРОФИС"

Содержание

  • Введение
  • 1. Постановка задачи. Описание предметной области
  • 1.1 Пользователи подсистемы WebList
  • 1.2 Функции системы, выполняемые в интересах пользователя
  • 1.2.1 Возможности Администратора
  • 1.2.2 Возможности Оператора
  • 1.2.3 Возможности Лидера
  • 1.3 Бизнес процесс подсистемы WebList
  • 1.4 Структура “proffis”
  • 1.4.1 Функциональные требования к подсистемам проекта “proffis”
  • 1.4.2 Архитектура “proffis”
  • 1.5 Исследовательская часть
  • 1.5.1 Язык запросов
  • 1.5.2 Что было поставлено на предмет исследования
  • 1.5.4 Описание семантической темпоральной базы данных
  • 1.5.4.1 Кратко о семантической базе данных
  • 1.5.4.2 Что такое темпоральные базы данных (ТБД)?
  • 1.5.4.3 Описание структуры Виртуальных Объектов
  • 1.6 Предложения по реализации
  • 1.6.1 Первый способ реализации - PHP-клиент
  • 1.6.1.1 Архитектура
  • 1.6.1.2 Взаимодействие между компонентами
  • 1.6.2 Второй способ реализации
  • 1.6.2.1 Архитектура
  • 1.6.2.2 Взаимодействие между компонентами
  • 1.6.3 Третий способ реализации.
  • 1.6.3.1 Архитектура
  • 1.6.3.2 Взаимодействие между компонентами
  • 1.7 Характеристика выбранных программных сред и средств
  • 1.7.1 Постреляционная СУБД Cache
  • 2. Описание данных
  • 2.1 Инфологическая модель данных
  • 3. Описание базы данных
  • 4. описание CSP страниц
  • 4.1 Страницы по пользователям и по назначению
  • 4.1.1 Взаимодействие между CSP страницами Оператора
  • 4.1.2 Взаимодействие между CSP страницами Лидера
  • 4.2 Страницы по функциям
  • 5. Схема функционирования программного средства
  • 5.1 Первая часть.
  • 5.2 Вторая часть.
  • 6. Руководство пользователя
  • 6.1 Руководство Администратора
  • 6.2 Руководство Оператора
  • 7. Заключение
  • 8. Список литературы
  • Приложения

Введение

Данный дипломный проект выполнялся в рамках системы “proffis” (professional office) под руководством Лагутина А.В. и Иваньчевой Т. А.

Так как моя программа это часть системы “proffis” я считаю необходимым осветить основную цель этой системы.

Ключевая идея этого проекта заключается в создании виртуального бизнес центра в виде портала “proffis”. В нем могут сдаваться в аренду персональные кабинеты, расположенные в виртуальном пространстве этого портала. Отдельные компании, арендующие кабинеты могут выдавать их своим сотрудникам для совместного ведения бизнеса. Через этот портал доступны информационные услуги и ресурсы. В зависимости от договора, кабинет может дополнительно оснащаться различными сервисами. Именно такой сервис и представляет собой разработанная мной программа WebList.

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

Цель проекта - реализация потребности вести единые списки каких-либо (произвольных) объектов бизнеса у множества компаний, распределенных по разным городам, находящихся в разных часовых поясах. Этими объектами могут быть: живая очередь на получение услуг, тарифы и прайсы, членские списки, платежи и т.д.

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

портал бизнес центр виртуальный

В системе выделяются три типа пользователей: администратор, лидеры и операторы.

Программа WebList (далее подсистема) может использоваться для компаний всего мира но, прежде всего предназначена для России, с ее ярко выраженной территориальной особенностью. Как известно некоторые компании имеют представительства во многих городах, часто они расположены далеко друг от друга, им нужно связываться между собой, обмениваться информацией, вместе вести общие объекты бизнеса. Для решения этой задачи и предназначена система “proffis”, а в частности подсистема WebList.

Чтобы достичь этой цели я выполнил следующую работу:

Изучил проблему и предметную область, а так же архитектуру и ядро системы “Proffis”.

Исследовал структуру семантической темперальной базы данных (далее СТБД), изучил систему управления СТБД (далее СУ СТБД).

Выявлены основные функции и требования к создаваемой системе, создана спецификация требований к системе. Сделана детальная постановка задачи и спроектирована архитектура WebList. Разработаны проектные решения на основе спецификации требований. Для этого были изучены Web-сервисы Cache`, XML и XSLT.

Более глубоко изучено выбранное программное средство

Спроектирован удобный и простой интерфейс пользователей системы.

Выполнена реализация системы.

Проведена отладка программы.

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

Используемые операционные, программные средства

Использовалась операционная система WinXP. Так же Cache`5.0.9.5202.2, Internet Explorer 6.0, Mozilla Firefox, Stylus Studio 2006, Far Manager 1.70 beta 5 build 1634.

1. Постановка задачи. Описание предметной области

Данная система решает задачу оперативной деловой коммуникации между различными субъектами и объектами бизнеса. Основная проблема заказчика заключалась в отсутствии возможности on-line доступа и ведения единой базы данных. Эта проблема является весьма актуальной в связи с возникновением нового типа организационной структуры, так называемой организации "без границ". Для этого типа структуры характерной чертой является обширное территориальное покрытие. Организации "без границ" базируются на интенсивных коммуникациях, требующих в свою очередь развития динамических распределенных информационных систем. Разрозненные организационные единицы вступают в активный информационный обмен и взаимодействие, охватывая субъекты и объекты бизнеса. Такие организации способствуют углублению инновационного процесса в бизнесе, так как усиливают гибкость и активное участие подразделений. Для того чтобы привести эти процессы в движение, необходимо наличие инфраструктуры IT.

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

Список - это набор атрибутов, каждый атрибут принадлежит к конкретному Классу атрибуту. А каждый Класс атрибут принадлежит к конкретному Классу объектов. Под структурой списка понимается набор атрибутов, из которых он состоит.

Изменение структуры списка это добавление, удаление, изменение атрибутов, входящих в состав списка.

1.1 Пользователи подсистемы WebList

1. Администратор - отв. за работоспособность системы.

2. Оператор - лицо, осуществляющее манипулирование данными конкретной организации.

3. Лидер - региональный представитель конкретной организации, ответственный за добавление своих записей в список.

Основное назначение WebList - ведение единого списка в сети множеством назначенных Оператором людей из разных регионов.

1.2 Функции системы, выполняемые в интересах пользователя

1.2.1 Возможности Администратора

1.2.2 Возможности Оператора

1.2.3 Возможности Лидера

1.2.4 Общие возможности подсистемы

1. Веб интерфейс, тонкий клиент

2. Создание групп связей

3. Ведение групп и связей

4. Временные срезы

5. Сортировка по любому полю

6. Выборки

1.3 Бизнес процесс подсистемы WebList

1. Администратор

На основании Договора, заводит в Системе “proffis” именованный Кабинет и выдает права доступа одному Оператору как представителю Компании.

2. Оператор

a. определяет состав списков, структуру каждого

b. заводит в качестве пользователей Лидеров

c. выдает им права доступа

d. Изменение структуры списка доступно только оператору

e. Оператор видит авторов каждой записи Списка, но исправлять не может

2. Лидер

a. вводит записи в Общий список

b. может их редактировать

c. видит только свои записи

Система ведет журнал изменений и позволяет посмотреть состояние списка на любую дату.

1.4 Структура “proffis”

1. Компании

2. Пользователи

3. ПортМонет

4. Ресурсы (Common)

4.1 ВебПочта

4.2 Фильмы (MPEG4)

4.3 Голос-Музыка (MP3)

4.4 Файлы

4.5 Фото-Картинки (JPG)

4.6 Форум

4.7 Радио

4.8 IP-TV

4.9 IP-РС-Phone

4.10. Карты

4.11. Игры

4.12. Словарь (Glosary)

5. Кабинет

5.1 ПортМонет

5.2 Органайзер (Все ресурсы Commоn, Group, Privat)

5.3 Совещание (MitingRoom)

5.4 Дневник (PrivatJournal)

5.5 Контакты

5.6 WebList

5.7 VideoChat

5.8 БПланшет

i. Конструктор Бизнес-Объектов

ii. Конструктор БизнесПроцессов

iii. Менеджер Бизнес Процессов

iv. Редактор Сбалансированных Показателей

v. Редактор Проектов

1. Спецификация

2. План работ, смета работ

3. Бюджет

vi. Редактор Бюджетов

vii. Редактор Базы Знаний

viii. Менеджер мониторинга и анализа

В этой структуре показываются всевозможные подсистемы “proffis”. Темным выделены задачи на стадии реализации.

1.4.1 Функциональные требования к подсистемам проекта “proffis”

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

Приложения обращаются к Серверу на едином языке запросов (Веб-службы)

Сервер транслирует запросы в БД, возвращает данные в приложение

БД хранит Данные и методы в Объектах

Размещено на http://www.allbest.ru/

Схема 1.4.1 Трехзвенная структура системы “proffis”

1.4.2 Архитектура “proffis”

Размещено на http://www.allbest.ru/

Схема 1.4.2 Архитектура “proffis”

Пользователь по средствам программы Internet Explorer заходит на хостинговую машину www.proffis.ru и получает доступ к списку компаний участников системы “proffis”, далее, авторизируясь, он заходит в персональный кабинет своей компании. Из персонального кабинета он получает доступ к различным ресурсам и сервисам (схема 1).

1.5 Исследовательская часть

Была изучена структура виртуальных объектов (ядро системы “proffis”), она представлена ниже. Так же изучен инструментарий работы с этой структурой, а именно основные методы и запросы (см. приложение).

Прежде чем переходить к исследовательской части необходимо определить понятие "виртуальный объект" (ВО). Виртуальные объекты реализованы на основе семантической модели Агафонова В.И. Виртуальные объекты имеют структуру, описанную в таблице (табл.1).

Особенно хотелось бы отметить, что классы, объекты и их атрибуты в данной модели имеют дату рождения и дату смерти, предоставляя механизм временных срезов, что позволяет накапливать и обрабатывать информацию за всё время работы системы, в этом случае модель ВО (Виртуальных объектов) может рассматриваться как темпоральная БД.

1.5.1 Язык запросов

Приведённая выше модель, как сетевая в принципе предоставляет только навигационный доступ к данным. Поэтому для удобства доступа к ВО был изучен язык запросов, синтаксис и грамматика которого приведены приложении. Особенности и отличия от SQL:

1) ориентированного на сетевую модель.

2) поддерживающего механизм временных срезов.

В результате работы была изучена:

новая предметная область

более глубоко изучено выбранное программное средство;

структура виртуальных объектов, которая будет представлена ниже

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

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

1.5.2 Что было поставлено на предмет исследования

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

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

1.5.4 Описание семантической темпоральной базы данных

1.5.4.1 Кратко о семантической базе данных

Преимущества семантической БД заключается в поиске или сборе необходимых объектов. База состоит из объектов, каждый из которых принадлежит одному из классов. Классы разбивают все множество объектов по структурному признаку, т.е. все объекты одного класса имеют одинаковый набор атрибутов и методов.

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

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

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

Атрибутом объекта может быть строка, число, файл, изображение, звук, видеоклип.

1.5.4.2 Что такое темпоральные базы данных (ТБД)?

Традиционные базы данных хранят мгновенный снимок объектов модели предметной области, т.е. любое изменение объекта в базе данных приводит к тому, что предыдущее состояние объекта становится недоступным. В отличие от традиционных систем, ТБД позволяют сохранить информацию об эволюции объектов предметной области: для любого объекта, который был создан в момент времени tstart и закончил свое существование в момент времени tend, в базе данных будут сохранены все его состояния на временном интервале [tstart,tend]. Таким образом, в ТБД при каждом изменении состояния объекта будет сохраняться запись в базе данных. Ещё один критерий использования ТБД (Защита и целостность данных).

1.5.4.3 Описание структуры Виртуальных Объектов

Общую теорию и математическую модель можно найти в публикациях Агафонова И.В., однако ниже описана конкретная реализация его семантической модели. Также суть семантической сетевой базы данных более подробно изложена в публикации "Применение SeND технологии в гуманитарных исследованиях" Лагутина А. В.

Ниже представлена структура виртуальных объектов. В ней описываются сущности и сами виртуальные объекты. Каждая сущность имеет жестко заданную структуру, общими для всех сущностей являются поля ID (Уникальный номер), Dborn (Дата рождения), Ddeth (Дата смерти), Autor (Автор - создатель сущности). Каждая сущность имеет тип. Типы сущ ностей:

CO (ClassObject) - Класс объекта,

CA (ClassAttribute) - Класс атрибута,

CG (ClassGroup) - Класс группы,

CS-Класс связи.

У каждого класса могут создаваться экземпляры (объекты). Ключевым классом является Класс объект CO, так как именно он порождает объект O - виртуальный объект. Для понимания способа работы рассмотрим пример.

Пример. Пусть нам уже задана структура конкретнойтаблицы "Люди". Нам надо создать аналогичный виртуальный объект. Таблица "Люди" имеет поля "Имя" и "Фамилия".

Первым делом мы должны создать и соединить классы таким образом, чтобы получить заданную структуру. Создаем Класс объект - в поле Name (имя класса объекта) пишем "Люди". К данному классу надо привязать два класса атрибута обозначающие поля "Имя" и "Фамилия" соответственно.

В поле IDBOC (ID класса объекта) Классов атрибутов указываем ID нашего Класса объекта "Люди".

При создании экземпляра Класса объекта "Люди" мы получим виртуальные объекты (O) требуемой структуры.

Размещено на http://www.allbest.ru/

На данном рисунке изображены логические связи при инстанцировании (получении объекта от класса).

Табл.1.5.4.3.1 Структура виртуальных объектов

Сущность

Класс объекта

Класс атрибута

Класс группы

Класс связи

Виртуальный объект

Атрибут виртуального объекта

Вхождение в группу

Связка

Метод

Поле

ID

Уникальный номер

DBorn

Дата рождения

DDeth

Дата смерти

Autor

Автор

Type

CO

CA

CG

CS

O

A

G

S

M

Name

Имя класса

Имя атрибута

Имя группы

Имя связки

Имя вхождения

Имя связки

Имя метода

IDBOC

ID класса объекта

ID класса объекта

ID класса атрибута

ID класса группы

ID класса связки

ID класса объекта

IDBO1

ID класса объекта

ID класса объекта1

ID экземпляра объекта

ID экземпляра объекта включённого в группу

ID экземпляра объекта1

IDBO2

ID класса объекта2

ID экземпляра объекта2

Description

Текстовое описание класса

Текстовое описание метода

1.6 Предложения по реализации

1.6.1 Первый способ реализации - PHP-клиент

1.6.1.1 Архитектура

Принята трех уровневая архитектура в проекте:

1. Движок (семантическая БД)

2. Функция WebList (базируется на движке "надстройка")

3. PHP-клиент (оболочка, интерфейс)

1.6.1.2 Взаимодействие между компонентами

Система "Черный ящик" т.е. клиентское приложение не имеет представления о способе представления и реализации данных внутри системы WebList. Система предоставляет клиенту заранее определенные методы, реализующие функции системы. Только посредствам этих методов может клиент обращаться к системе.

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

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

1.6.2 Второй способ реализации

1.6.2.1 Архитектура

Используется двух уровневая реализация.

1. Движок (семантическая БД)

2. Функция WebList

1.6.2.2 Взаимодействие между компонентами

Этот способ реализации использует шаблоны (template). Для каждой функции в системе реализуется свой шаблон с заранее определенными тэгами. Тэги в данном случае это классы, унаследованные от класса %RegisteredObject. Каждый шаблон добавляется в систему, где он анализируется. Каждый тэг заменяется экземплярами классов тэгов и этому шаблону сопоставляется класс, унаследованный от %CSP. Page.

Преимущества данного способа заключаются в том, что можно легко создавать и интегрировать новые темы в систему и высокая скорость выполнения. Недостаток этого способа в проблематичности реализации.

1.6.3 Третий способ реализации.

1.6.3.1 Архитектура

Используется трех уровневая реализация.

1. Движок (семантическая БД)

2. CSP страницы, возвращают определенную структуру XML

3. XSLT для применения языка стилей XSL для XML

1.6.3.2 Взаимодействие между компонентами

В данном случае CSP страница является функционалом по непосредственной работе с базой данных, т.е. результатом этой работы будут сами данные. Эти данные представляются на языке структурной разметки (XML) определенным способом.

XSLT - eXtensible Style Sheets Language Transformations. Смысл технологии заключается в том, чтобы разделить представление документа от его содержания. Содержанием является XML-документ, который может по-разному представляться пользователю (или другой системе). Представление описывается XSL-шаблоном (или шаблонами) и может представлять собой HTML, Plain Text, XML другой структуры и т.п.

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

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

Для реализации был выбран именно этот способ, ввиду его оптимальности для нашей задачи.

1.7 Характеристика выбранных программных сред и средств

Для реализации программы была выбрана СУБД Cache. Выбор программного средства в основном обусловлен требованиями компании-заказчика.

1.7.1 Постреляционная СУБД Cache

Высокопроизводительная постреляционная СУБД Cache появилась в 1997 году, фирмой разработчиком является компания InterSystems. В настоящее время вышла новая версия Cache 5.0.14.

Компания основана в 1978 году. По данным независимого исследования, проведенного компанией IDC, InterSystems входит в десятку ведущих поставщиков СУБД и в сотню ведущих независимых разработчиков программного обеспечения. В числе клиентов компании - крупнейшие финансовые компании, такие как Chase Manhattan, Lloyd Bank, большинство крупнейших госпиталей Америки, телекоммуникационные и промышленные компании. В России продукты InterSystems получили наибольшее распространение в телекоммуникационной и банковской сферах.

К достоинствам СУБД Cache можно отнести следующие:

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

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

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

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

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

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

Оригинальная технология CSP для быстрой разработки Web-приложений.

2. Описание данных

2.1 Инфологическая модель данных

Инфологическую модель данных можно представить в виде схемы (ER-модели предметной области). С помощью данной архитектуры данных можно создать сущности любой структуры. Покажем какая структура данных будут сгенерированна на примере классов типа сущностей Люди (Peope) и Города (Town) и класса связи Кто|Где (Who&Where).

Рис 2.1 Инфологическая модель данных

связь “один ко многим”

связь “один к одному”

В предметной области выделяются следующие классы метасущностей:

Класс Объекта может иметь произвольное количество атрибутов, относящихся к людям

Табл.2.1.1 Свойства Класс Объекта People

Свойства

Значения

UID (Уникальный номер)

190

Название класса

People

Описание класса

Люди, записанные в список

Метасущность "Города" (Town)

Класс Объекта иметь произвольное количество атрибутов, относящихся к городам

Табл.2.1.2 Свойства Класс Объекта Town

Свойства

Значения

UID (Уникальный номер)

191

Название класса

Town

Описание класса

Города

Метасущность "Кто|Где" (Who&Where)

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

Табл.2.1.3 Свойства Класс Объекта Who&Where

Свойства

Значения

UID (Уникальный номер)

200

Название класса

Who&Where

Класс объекта1

People

Класс объекта2

Town

Описание класса

распределение людей по городам

Также в предметной области выделяется произвольное количество классов групп. Их создание происходит программно. Назначение - объединение людей по месту жительства - Городам.

3. Описание базы данных

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

Класс объект "People" может содержать все, что связано с людьми, на данный момент имеет следующую структуру:

Табл.3.1 Описание атрибутов класса "People"

Представление

Название

Тип

Описание

Атрибут

Фамилия

SecondName

Строка

Фамилия человека. Идентификационный атрибут

Атрибут

Имя

Name

Строка

Имя человека

Идентификационный атрибут

Атрибут

Отчество

ThirdName

Строка

Отчество человека

Идентификационный атрибут

Атрибут

Паспорт

Passport

Число

Номер паспорта

Свойство

Автор

Autor

Строка

Автор записи, уникальный логин пользователя системы. Заполняется программно.

Свойство

UID

Число

Порядковый, уникальный номер объекта, скрыт от пользователя.

Свойство

DBorn

Дата

Дата создания объекта. Скрыто от пользователя.

Свойство

DDeth

Дата

Дата "смерти" объекта. Скрыто от пользователя

Класс объект "Town" может содержать все, что связано с городами, на данный момент имеет следующие атрибуты.

Табл.3.2 Описание атрибутов класса "Town"

Представление

Название

Тип

Описание

Атрибут

Город

Town

Строка

Город в котором жувут люди

Свойство

Autor

Строка

Автор записи, уникальный логин пользователя системы. Заполняется программно. Скрыт от пользователя.

Свойство

UID

Число

Порядковый, уникальный номер объекта, скрыт от пользователя.

Свойство

DBorn

Дата

Дата создания объекта. Скрыто от пользователя.

Свойство

DDeth

Дата

Дата "смерти" объекта. Скрыто от пользователя

4. описание CSP страниц

В приложении CSP страницы не имеют четкого разделения по пользователям. Т.е. каждая CSP страница может использоваться несколькими типами пользователей.

4.1 Страницы по пользователям и по назначению

Администратор:

Табл.4.1.1 CSP страницы Администратора

Название csp страницы

Назначение

OperatorControl1. csp

Страница управления операторами списка

Оператор:

Возможности оператора разделены на 3 "глобальных функции":

1. Список людей

2. Изменение структуры

3. Назначение лидеров

Страницы по "глобальным функциям":

Табл.4.1.2 CSP страницы Оператора

"глобальная функция"

Название

назначение

Список людей

WebList1. csp

Общее представление списка работа с записями.

AddTWebList1. csp

Форма для добавления Классов групп.

EditWebList1. csp

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

Изменение структуры

ListEditor1. csp

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

frmListEditor1. csp

Форма добавления удаления и редактирования атрибутов

Назначение лидеров

LiderControl1. csp

Страница управления лидерами списка

4.1.1 Взаимодействие между CSP страницами Оператора

Рис 4.1.1.1 Схема взаимодействия csp страниц Оператора.

Лидер:

Возможности лидера разделены на одну "глобальную функцию":

1. Список людей

Табл.4.1.3 CSP страницы Лидера

"глобальная функция"

название

назначение

Список людей

WebList1. csp

Общее представление списка работа с записями. Лидер видит только свои записи.

AddTWebList1. csp

Форма для добавления Классов групп.

EditWebList1. csp

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

4.1.2 Взаимодействие между CSP страницами Лидера

Рис 4.1.2 Схема взаимодействия csp страниц Лидера

4.2 Страницы по функциям

Функции на странице WebList1. csp:

1. Информация о текущем срезе

2. Возможность временного среза

3. Отображение произвольного объединенного списка в виде таблицы

4. Сортировки: по убыванию и по возрастанию на каждый столбец таблицы

5. Выборка по группе

6. Защита авторских записей (пользователь списка может редактировать либо удалять только свои записи)

7. Запрет на редактирование списка во время временного среза

Функции на странице EditWebList1. csp:

Данная страница имеет два состояния:

Создание

1. Возможность заполнения всех атрибутов списка

2. Создание записи

Редактирование

1. Редактирование текущей записи

2. Изменение

3. Создание новой записи

4. Удаление текущей записи

Функции на странице AddTWebList1. csp:

1. Создание уникальных классов групп

Функции на странице ListEditor1. csp:

1. Просмотр атрибутов и их свойств

Функции на странице frmListEditor1. csp:

Данная страница имеет два состояния:

Создание атрибута:

1. Заполнение свойств атрибута

2. Создание

Редактирование атрибута:

1. Просмотр и редактирование свойств атрибута

2. Удаление текущего атрибута

3. Сохранение изменений свойств атрибута

Функции на странице LiderControl1. csp

1. Выборка всех доступных лидеров

2. Просмотр персональных данных (Логин, ФИО)

3. Назначение списка лидерам

4. Просмотр назначенных лидеров

5. Схема функционирования программного средства

Логику работы программы можно разбить на две части, эти части представлены в виде диаграмм и описаны ниже.

5.1 Первая часть.

Рис 5.1.1

На этой диаграмме представлен первый этап функционирования программного средства. Проделанная мной работа выделяется овалом. Здесь показано взаимодействие CSP страниц и скрипов на COS с СТБД, результатом этого взаимодействия является структурированный определенным образом XML файл.

5.2 Вторая часть.

Рис 5.2.1

Данная диаграмма иллюстрирует процесс создания представления пользователя. На вход подается XML документ, далее он обрабатывается XSLT - расширяемого языка стилей для преобразований, при помощи стандартного процессора.

CSP:

1. выборка из СТБД с помощью запросов и методов.

2. Обработка событий пользователей

3. генерация XML страницы

4. специфическая функциональность (Своя для каждой страницы)

XML:

1. специфическая структура XML

2. передача событий пользователя

XSLT:

1. некоторый функционал, выполняемый на клиенте

2. преобразования для каждого XML документа

HTML:

1. интерфейс пользователя

Итого были проделаны следующие виды работ:

1. написаны CSP страницы

2. создана структура XML

3. спроектировано преобразование XSLT

Рис 5.2.2 Общая схема функционирования

6. Руководство пользователя

6.1 Руководство Администратора

Основной функцией администратора в моей подсистеме является возможность назначения операторов списка. Администратору показываются учетные записи пользователей “proffis”. Назначение нового оператора производится кликом мыши на нужной учетной записи. Действующие операторы выделяются жирным шрифтом. Увольнение оператора проводится той же операцией, что и назначение. Назначенному оператору передаются все необходимые функции по управлению Лидерами и списком.

Рис 6.1.1 Управление Операторами списка.

6.2 Руководство Оператора

Назначение Лидеров списка

Интерфейс управлениями Лидерами списка аналогичен интерфейсу управление Операторами. Оператор видит всех доступных пользователей “proffis”, в выделении видит себя и всех лидеров своего списка. Назначение и удаление лидеров производится кликом мыши по учетной записи пользователя.

Рис 6.2.1 Управление Лидерами списка.

Работа со списком

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

Рис 6.2.2 Ведение списка. Общий вид.

Рис 6.2.3 Список. Редактирование записи.

Рис 6.2.4 Список. Добавление нового Класса-Группы.

Рис 6.2.4 Список. Выборка по группе.

Руководство Лидера

Все возможности работы со списком у Лидера аналогичны возможностям Оператора.

Рис 6.2.5 Список. Темпоральный срез.

Рис 6.2.6 Изменение структуры списка.

7. Заключение

Задача, поставленная передо мной, была реализована полностью. В настоящее время программа введена в эксплуатацию и успешно используется. На данный момент программа состоит из восьми CSP (WEB) - страниц. Все реализованные элементы проекта отлажены и работают корректно.

Объем программного кода составляет:

Интерфейс 602 строк 25.844 байт кода:

1. default. xsl

2. WebList1. xsl

3. EditWebList1. xsl

4. addTWebList1. xsl

5. LiderControl1. xsl

6. OperatorControl1. xsl

7. ListEditor. xsl

8. frmListEditor. xsl

Работа с базой (csp страницы) 781 строк 24.921 байта кода:

1. WebList1. csp

2. EditWebList1. csp

3. AddTWebList1. csp

4. LiderControl1. csp

5. OperatorControl1. csp

6. ListEditor. csp

7. frmListEditor. csp

Итого 1383 строк 50.765 байт кода

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

В процессе выполнения данного проекта были проделаны следующие виды работ:

Изучена проблема и предметная область, а так же архитектура и ядро системы “Proffis”.

Исследована структура семантической темпоральной базы данных, изучена система управления СТБД.

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

Сделана детальная постановка задачи и спроектирована архитектура WebList.

Разработаны проектные решения на основе спецификации требований. Для этого были изучены Web-сервисы Cache`, XML и XSLT.

более глубоко изучено выбранное программное средство СУБД Cache`.

Спроектирован удобный и простой интерфейс пользователей системы.

Выполнена реализация системы.

Проведена отладка программы.

Проведен анализ и оценка полученных результатов.

8. Список литературы

1. www.intersystems.ru

2. Иваньчева Т.А., Иваньчева Н.А. "Постреляционная СУБД Cache", 2004 год, изд-во НГУ

3. Постреляционная технология Cachй для реализации объектных приложений / Кречетов Н.Е., Петухов Е.А., Скворцов В.И., Умников А.В., Щукин Б.А., МИФИ, 2001

4. Документация по СУБД Cachй 5.0.

5. СУБД Cachй, объектно-ориентированная разработка приложений, Кирстен В., Ирингер М., Рёриг В., Шульте П., С-Пб, 2005

6. "Дизайн пользовательского интерфейса" Влад.В. Головач

7. Сайт разработчиков компании Сибелтелеком http://DevelEdge/

8. "Применение SeND технологии в гуманитарных исследованиях" Лагутина А. В.

Приложения

Приложение 1

Описание используемых методов для работы с виртуальными объектами СТБД

InstalVO () - метод подготавливает базу для работы с виртуальными объектами. При этом все виртуальные объекты созданные до этого момента безвозвратно удаляются.

http://10.168.15.2/CreateCO () - метод создаёт класс объекта. Возвращает Id класса, если создание прошло успешно и 0 в противном случае.

CreateCA () - метод создаёт класс атрибута. Возвращает Id класса, если создание прошло успешно и 0 в противном случае.

CreateCG () - метод создаёт класс группы. Возвращает Id класса, если создание прошло успешно и 0 в противном случае.

CreateCS () - метод создаёт класс связи. Возвращает Id класса, если создание прошло успешно и 0 в противном случае.

CreateM () - метод создаёт метод класса. Возвращает Id метода, если создание прошло успешно и 0 в противном случае.

CreateO () - метод создаёт объект. Возвращает Id объекта, если создание прошло успешно и 0 в противном случае.

CreateG () - метод создаёт вхождение объекта в группу. Возвращает Id вхождения, если создание прошло успешно и 0 в противном случае.

CreateS () - Метод создаёт связку между двумя объектами. Возвращает Id связки, если создание прошло успешно и 0 в противном случае.

DeleteCO () - методы удаления класса объекта (DeleteCO), класса атрибута (DeleteCA), класса группы (DeleteCG), класса связи (DeleteCS), метода (DeleteM), объекта (DeleteO), вхождения в группу (DeleteG) и связки (DeleteS). Возвращает 1, если удаление прошло успешно и 0 в противном случае. Удаление всегда сохраняет целостность. Т.е. если удалить класс объекта, удалятся также объекты этого класса, методы, классы его атрибутов и т.д.

Размещено на Allbest.ru


Подобные документы

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

    дипломная работа [3,0 M], добавлен 13.10.2016

  • Основные принципы ведения электронного бизнеса и коммерции. Инструменты экономической безопасности виртуального бизнеса. Современные тенденции и перспективы развития облачных технологий. Виды мошеннических действий. Сущность виртуального маркетинга.

    дипломная работа [1,3 M], добавлен 17.02.2014

  • Развитие информационного бизнеса, электронной коммерции на основе Интернет. Описание предметной области, процессов и типичного хода событий при создании информационной системы виртуального предприятия. Калькуляция разработки электронной торговли.

    курсовая работа [872,8 K], добавлен 22.05.2015

  • Обзор программ для сшивания фотопанорам. Создание фотопанорам для виртуального тура. Выбор и загрузка изображений. Автоматическое склеивание снимков. Указание дополнительных контрольных точек. Объединение панорам в виртуальный тур, его реализация.

    курсовая работа [3,5 M], добавлен 22.01.2016

  • Проектирование и реализация программы, запускающей создание и взаимодействие группы объектов. Разработка компьютерного приложения "Устный счет" для проверки знания математики, стиль ее оформления и наявность справочной подсистемы с указанием возможностей.

    курсовая работа [486,4 K], добавлен 14.01.2011

  • Характеристика основных методов проектирования: в SADT, UML. Техническое задание на информационную систему. Создание модели в стандарте SADT (IDEF0). Декомпозиция родительской модели. Создание таблиц базы данных и связей между ними, бизнес логики.

    курсовая работа [1,0 M], добавлен 14.11.2017

  • Создание образа диска с помощью программного продукта Nero для резервного копирования, распространения программного обеспечения, виртуальных дисков, тиражирования однотипных систем. Возможности Alcohol 120%, Daemon Tools для эмуляции виртуального привода.

    курсовая работа [188,9 K], добавлен 07.12.2009

  • Функциональная модель информационной подсистемы документооборота организаций. Автоматическая генерация модели сущность-связь в базе данных Microsoft Access. Проектирование подсистемы документооборота в BPWin. Создание формы для внесения информации в БД.

    курсовая работа [1,4 M], добавлен 16.03.2012

  • Разработка языка для моделирования учебных бизнес-процессов в рамках проекта "Студия компетентностных деловых игр", требования к ним. Практическая реализация разработанного языка на DSM-платформе MetaEdit+. Создание визуальных представлений объектов.

    курсовая работа [2,1 M], добавлен 06.10.2014

  • Назначение и цели создания информационной подсистемы. Создание проекта и модулей Borland Delphi 7 для реализации информационной подсистемы "TradeBusiness". Компиляция и отладка проекта, требования к обеспечению и оценка экономической эффективности.

    дипломная работа [2,7 M], добавлен 24.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.