-
Экскурсий,
ознакомительных поездок, организованных для иностранных студентов
|
int
|
Числовой
|
-
|
Совместных
мероприятий российских и иностранных студентов
|
int
|
Числовой
|
-
|
Землячеств
иностранных студентов
|
int
|
Числовой
|
-
|
Количество
маркетинговых исследований рынка образовательных услуг
|
int
|
Числовой
|
-
|
Таблица 3.2 - Исполнитель
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Код исполнителя
|
int
|
Целочисленные
данные
|
-
|
Наименование
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Краткое
наименование
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Экономический
район
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Субъект
федерации
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Руководитель
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Ученая
степень
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Ученое
звание
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Адрес
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Интернет-адрес
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Телефон
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Таблица 3.2 - Исполнитель
e-mail
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Вид
|
int
|
Числовой
|
[Классификатор исполнителей].
Вид
|
Профиль
|
int
|
Числовой
|
[Специализация исполнителей].
Профиль
|
Таблица 3.3 - Заказчик
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Код заказчика
|
int
|
Целочисленные
данные
|
-
|
Наименование
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Страна
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Регион
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Руководитель
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Адрес
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Интернет-адрес
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Телефон
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
e-mail
|
nvarchar
|
Символьные
данные (Unicode)
|
-
|
Вид
|
int
|
Числовой
|
[Классификатор исполнителей].
Вид
|
Профиль
|
int
|
Числовой
|
[Специализация исполнителей].
Профиль
|
Таблица 3.4 - Классификатор исполнителей
Имя
поля
|
Тип
данных
|
Класс
данных
|
Вид
|
int
|
Целочисленные
данные
|
Название
|
nvarchar
|
Символьные
данные (Unicode)
|
Описание
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.5
-
Специализация исполнителей
Имя
поля
|
Тип
данных
|
Класс
данных
|
Профиль
|
int
|
Целочисленные
данные
|
Название
|
nvarchar
|
Символьные
данные (Unicode)
|
Описание
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.6 - Российская статистика вузовского
обучения
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Год
|
int
|
Числовой
|
-
|
Код ВУЗа
|
nvarchar
|
Символьные
данные (Unicode)
|
Исполнитель.[
Код исполнителя]
|
Код специальности ОКСО
|
nvarchar
|
Символьные
данные (Unicode)
|
[Специальности ОКСО].[
Код
специальности]
|
Код квалификации
|
int
|
Числовой
|
[Квалификация
по ОКСО].[ Код квалификации]
|
Код формы обучения
|
int
|
Числовой
|
[Форма
обучения].[ Код формы обучения]
|
Номер страны
|
int
|
Числовой
|
Страны.
Номер
|
Всего_бюджет
|
int
|
Числовой
|
-
|
Всего_контракт
|
int
|
Числовой
|
-
|
На
включенном обучении
|
int
|
Числовой
|
-
|
Выпуск_бюджет
|
int
|
Числовой
|
-
|
Выпуск_контракт
|
int
|
Числовой
|
-
|
Отчисление_бюджет
|
int
|
Числовой
|
-
|
Таблица 3.7 - Российская статистика довузовского
обучения
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Год
|
int
|
Числовой
|
-
|
Код вуза
|
int
|
Числовой
|
Исполнитель.[
Код исполнителя]
|
Номер страны
|
int
|
Числовой
|
Страны.
Номер
|
ПО_бюджет
|
int
|
Числовой
|
-
|
ПО_контракт
|
int
|
Числовой
|
-
|
Поступившие_бюджет
|
int
|
Числовой
|
-
|
Таблица 3.8 - Российская статистика
послевузовского обучения
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Год
|
int
|
Числовой
|
-
|
Код вуза
|
nvarchar
|
Символьные
данные (Unicode)
|
Исполнитель.[
Код исполнителя]
|
Шифр специальности ВАК
|
int
|
Числовой
|
[Специальности
ВАК].[ Шифр специальности]
|
Форма обучения
|
int
|
Числовой
|
[Форма
обучения].[Код формы обучения]
|
Номер страны
|
int
|
Числовой
|
Страны.
Номер
|
Всего_бюджет
|
int
|
Числовой
|
-
|
Всего_контракт
|
int
|
Числовой
|
-
|
Защитившихся_бюджет
|
int
|
Числовой
|
-
|
Отчисленных_бюджет
|
int
|
Числовой
|
-
|
Защитившихся_контракт
|
int
|
Числовой
|
-
|
Таблица 3.9 - Зарубежная статистика вузовского
обучения
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Год
|
int
|
Числовой
|
-
|
Код ВУЗа
|
nvarchar
|
Символьные
данные (Unicode)
|
Исполнитель.[
Код исполни-теля]
|
Таблица 3.9 - Зарубежная статистика вузовского
обучения
Код специальности ОКСОnvarcharСимвольные
данные (Unicode)[Специальности ОКСО].[ Код специальности]
|
|
|
|
Код квалификации
|
int
|
Числовой
|
[Квалификация
по ОКСО].[ Код квалификации]
|
Код формы обучения
|
int
|
Числовой
|
[Форма
обучения].[ Код формы обучения]
|
Код зарубежного вуза
|
int
|
Числовой
|
Заказчик.[Код
заказчика]
|
Номер страны
|
int
|
Числовой
|
Страны.
Номер
|
Всего
|
int
|
Числовой
|
-
|
На
включенном обучении
|
int
|
Числовой
|
-
|
По
приглашениям
|
int
|
Числовой
|
-
|
Таблица 3.10 - Зарубежная статистика
послевузовского обучения
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Год
|
int
|
Числовой
|
-
|
Код вуза
|
nvarchar
|
Символьные
данные (Unicode)
|
Исполнитель.[
Код исполнителя]
|
Шифр специальности ВАК
|
int
|
Числовой
|
[Специальности
ВАК].[ Шифр специальности]
|
Форма обучения
|
int
|
Числовой
|
[Форма
обучения].[ Код формы обучения]
|
Номер страны
|
int
|
Числовой
|
Страны.
Номер
|
Код зарубежной организации
|
int
|
Заказчик.[Код
заказчика]
|
Всего
|
int
|
Числовой
|
-
|
По
приглашениям
|
int
|
Числовой
|
-
|
Таблица 3.11 - Зарубежная статистика сотрудников
вузов
Имя
поля
|
Тип
данных
|
Класс
данных
|
Связанное
поле
|
Год
|
int
|
Числовой
|
-
|
Код вуза
|
nvarchar
|
Символьные
данные (Unicode)
|
Исполнитель.[
Код исполнителя]
|
Должность
|
int
|
Числовой
|
-
|
Таблица 3.11 - Зарубежная статистика сотрудников
вузов
Ученое
званиеnvarcharСимвольные данные (Unicode)-
|
|
|
|
Ученая
степень
|
int
|
Числовой
|
-
|
Номер страны
|
int
|
Числовой
|
Страны.
Номер
|
Код зарубежной организации
|
int
|
Числовой
|
Заказчик.[Код
заказчика]
|
Всего
|
int
|
Числовой
|
-
|
По
приглашениям
|
int
|
Числовой
|
-
|
По
межвузовским договорам
|
int
|
Числовой
|
-
|
Таблица 3.12-
Направления
ВАК
Имя
поля
|
Тип
данных
|
Класс
данных
|
Код
|
nvarchar
|
Символьные
данные (Unicode)
|
Направление
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.13 - Направления ОКСО
Имя
поля
|
Тип
данных
|
Класс
данных
|
Код направления
|
nvarchar
|
Символьные
данные (Unicode)
|
Название
направления
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.14 - Специальности ВАК
Имя
поля
|
Тип
данных
|
Класс
данных
|
Шифр специальности
|
nvarchar
|
Символьные
данные (Unicode)
|
Специальность
|
nvarchar
|
Символьные
данные (Unicode)
|
Группа
специальности
|
nvarchar
|
Символьные
данные (Unicode)
|
Направление
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.15 - Квалификация по ОКСО
Имя
поля
|
Тип
данных
|
Класс
данных
|
Код квалификации
|
nvarchar
|
Символьные
данные (Unicode)
|
Квалификация
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.16 - Форма обучения
Имя
поляТип данныхКласс данных
|
|
|
Код формы обучения
|
int
|
Числовой
|
Название
|
nvarchar
|
Символьные
данные (Unicode)
|
Описание
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.17 - Страны
Имя
поляТип данныхКласс данных
|
|
|
Номер
|
int
|
Числовой
|
Код
|
nvarchar
|
Символьные
данные (Unicode)
|
Alpha2
|
nvarchar
|
Символьные
данные (Unicode)
|
Alpha3
|
nvarchar
|
Символьные
данные (Unicode)
|
Название
на английском
|
nvarchar
|
Символьные
данные (Unicode)
|
Краткое
название
|
nvarchar
|
Символьные
данные (Unicode)
|
Полное
название
|
nvarchar
|
Символьные
данные (Unicode)
|
Форма
правления
|
nvarchar
|
Символьные
данные (Unicode)
|
Экономический
уровень
|
nvarchar
|
Символьные
данные (Unicode)
|
Регион
|
nvarchar
|
Символьные
данные (Unicode)
|
Субрегион
|
nvarchar
|
Символьные
данные (Unicode)
|
Дата
обновления
|
smalldatetime
|
Дата/время
|
Дата
отмены
|
nvarchar
|
Символьные
данные (Unicode)
|
Таблица 3.18 - Международные организации
Имя
поляТип данныхКласс данных
|
|
|
Code
|
int
|
Числовой
|
Name
|
nvarchar
|
Символьные
данные (Unicode)
|
Alpha
|
nvarchar
|
Символьные
данные (Unicode)
|
Established
|
ntext
|
Символьные
данные (Unicode)
|
Note
|
ntext
|
Символьные
данные (Unicode)
|
Aim
|
ntext
|
Символьные
данные (Unicode)
|
3.3
Многомерная модель данных для построения OLAP-куба по международному
научно-техническому сотрудничеству вузов и научных организаций России
В процессе принятия решений пользователь
генерирует некоторые гипотезы, которые необходимо проверять. Проверка гипотезы
может быть осуществлена на основе информации об анализируемой предметной
области. Причем не представляется возможным заранее предусмотреть, какие
запросы будет формировать пользователь, т.к. генерация этих запросов
производится «на лету».
К тому же требуется, чтобы анализ данных можно
было осуществлять по множеству параметров, т.е. должна быть предусмотрена
возможность выполнения многомерного анализа данных.
В связи с этим встает вопрос о том, как
организовать данные, описывающие предметную область так, чтобы по ним было
удобно проводить многомерный анализ.
Такой анализ данных целесообразно проводить на
основе многомерной модели данных, которая лежит в основе построения большинства
хранилищ данных.
Многомерная модель данных - это информационное
содержимое предметной области в виде N-мерного
куба (гиперкуба), где каждая ось соответствует измерению, представлено на
рисунке 3.3.1
Измерение - это последовательность значений
одного из анализируемых параметров.
На пересечении осей измерений находятся факты
(меры), количественно характеризующие события, описываемые значениями
измерений.
Рисунок 3.3.1 - Графическое представление
многомерной модели данных
Многомерное представление данных позволяет легко
выполнять ряд операций.
1. Срез
- формирование подмножества данных, соответствующих фиксированному значению
одного или нескольких измерений, т.е. построение проекции гиперкуба ,
представлено на рисунке 3.3.2.
.
Рисунок 3.3.2 - Операция среза многомерной
модели данных
. Вращение - изменение расположения измерений в
представлении данных многомерной модели , представлено на рисунке 3.3.3.
Рисунок 3.3.3 - Операция вращения многомерной
модели данных
Операция вращения обычно применяется при
отображении многомерных данных в отчете в виде кросс-таблиц или кросс-диаграмм.
Кросс-таблица представляет собой размещение
многомерных данных на плоскости в виде сводной таблицы.
Измерения могут быть в строках и столбцах
кросс-таблицы, а факты с применением какой-либо агрегирующей функции
отображаются на пересечении измерений, т.е. на пересечении строк и столбцов.
В качестве агрегирующих функций чаще всего
используются: минимум (min),
максимум (max), сумма(sum),
среднее (average),
количество(count).
Кросс-таблица состоит из следующих элементов:
· заголовки строк;
· заголовки столбцов;
· матрица с фактами.
Изобразить геометрическую интерпретацию
гиперкуба с размерностью более 3-х не представляется возможным. Но в принципе
число используемых измерений может быть любым.
Однако следует помнить, что использование
большого числа измерений не рекомендуется, в первую очередь потому, что
осмысление и интерпретация результатов аналитиком в этом случае могут быть
затруднены.
. Консолидация и детализация - переход от
детального представления данных к агрегированному (обобщенному) и наоборот ,
отражено на рисунке 3.3.4 и рисунке 3.3.5.
При выполнении операции детализации отображаются
все записи, которые вносят свой вклад в формирование значения выделенной
ячейки, имеющей агрегированное значение в многомерной модели.
Рисунок 3.3.4 - Операция консолидации
многомерной модели данных
Рисунок 3.3.5 - Операция детализации
многомерной модели данных
По кросс-таблицам, полученным в результате
консолидации, строятся кросс-диаграммы, позволяющие анализировать тренд.
Тренд позволяет увидеть тенденции, которые
обычно скрыты из-за большого разброса значений, наличия отклонений, не типичных
для отображаемого процесса.
Таким образом, представленные операции
многомерной модели данных предоставляют конечному пользователю ряд
аналитических и навигационных функций:
· расчеты и вычисления по нескольким измерениям;
· анализ трендов;
· выборка подмножеств данных для
просмотра;
· получение обобщенных
(агрегированных) значений;
· переход к детальным данным, лежащим
в основе анализа;
· вращение кросс-таблиц отображаемых данных.
Легкость проводимых манипуляций с гиперкубом
обеспечивает возможность формирования запросов «на лету».
Есть два основных подхода к реализации
многомерной модели данных:
· Multidimensional OLAP (MOLAP) - реализация
механизма при помощи многомерной базы данных на стороне сервера, т.е.
использование специализированных OLAP-средств.
· Relational OLAP (ROLAP) - построение
кубов «на лету» на основе SQL запросов к реляционной СУБД, т.е. внедрение
средств OLAP в реляционную СУБД.
Каждый из этих подходов имеет свои плюсы и
минусы.
MOLAP использует
для хранения и управления данными многомерные базы данных. При этом данные
хранятся в виде упорядоченных многомерных массивов.
Физически данные, представленные в многомерном
виде, хранятся в плоских файлах. При этом куб представляется в виде одной
плоской таблицы, в которую построчно вписываются все комбинации всех измерений
с соответствующими им значениями фактов.
ROLAP использует
для хранения и управления данными реляционные базы данных.
В таблице 3.19 представлена сравнительная
характеристика ROLAP
и MOLAP, из которой видно,
что по многим параметрам ROLAP
превосходит MOLAP.
Таблица 3.19 - Сравнительные характеристики ROLAP
и MOLAP
Характеристики
|
ROLAP
|
MOLAP
|
Производительность
|
Ниже
|
Выше
|
Требуемый
объем памяти
|
Меньший
|
Больший
|
Обработка
разреженных данных
|
Лучше
|
Хуже
|
Обработка
детализированных данных
|
Лучше
|
Хуже
|
Функциональная
гибкость
|
Выше
|
Ниже
|
Уровень
защиты данных
|
Выше
|
Ниже
|
В связи с тем, что рабочее место аналитика
(аналитические возможности) разрабатываются для системы, которая уже
реализована средствами реляционной СУБД, то целесообразно выбрать в качестве
способа реализации многомерной модели данных модель ROLAP.
В этом случае построение кубов производится «на
лету» на основе SQL запросов к имеющейся реляционной БД.
В настоящее время распространены две основные
схемы реализации многомерного представления данных с помощью реляционных
таблиц: схема «звезда» и схема «снежинка».
Наибольшее распространение получила схема
«звезда» ввиду простоты ее реализации и более высокого быстродействия.
На рисунке 3.3.6 изображена схема, в центре
которой располагаются факты и агрегатные данные, а «лучами» являются измерения.
Каждая звезда описывает определенное действие (процесс), например,
финансирование.
Рисунок 3.3.6 - Пример схемы «звезда»
Схема «звезда» предполагает выделение таблиц
фактов и таблиц измерений. Каждая таблица фактов содержит детальные данные и
внешние ключи на таблицы измерений.
Таблица фактов содержит уникальный составной
ключ, объединяющий первичные ключи таблиц измерений.
Таблицы измерений содержат неизменяемые либо
редко изменяемые данные. Обычно для однозначной идентификации члена измерения
используется суррогатный ключ и как минимум одно описательное поле (обычно имя
члена измерения).
Каждая таблица измерений должна находиться в
отношении «один-ко-многим» с таблицей фактов.
При реализация многомерного
представления данных в дипломном проекте также используется схема «снежинка».
Как и в схеме «звезды
<#"656446.files/image015.gif">
Рисунок 3.3.7 - Пример схемы
«снежинка»
На основании вышесказанного для
предварительной подготовки данных с целью их оптимизации были разработаны
многомерные модели данных в виде схем «звезда» и «снежинка».
Схема реализации многомерного
представления данных для формирования гиперкуба «сводные данные по
исполнителям» представлена на рисунке 3.3.8.
Рисунок 3.3.8 - Многомерная модель
данных для гиперкуба «Сводные данные по исполнителям»
В представленной на рисунке 3.3.8
схеме основными таблицами измерений являются таблицы «Общий фонд по каждому
договору», «Участники научного исследования », «Заказчики научного
исследования», «Научное исследование». Таблица «Распределение средств» является
таблицей фактов, связанной с таблицами измерений отношениями «один-ко-многим».
При формировании запросов к базе данных пользователю будут предложены следующие
измерения: область знания, экономический район, профиль вуза, вид вуза, регион
заказчика, страна заказчика, форма исследования, вид исследования.
Схема реализации многомерного
представления данных для формирования гиперкуба «сводные данные по регионам
мира» представлена на рисунке 3.3.9.
Рисунок 3.3.9 - Многомерная модель
данных для гиперкуба «Сводные данные по регионам мира»
В схеме представленной на рисунке
3.3.9 таблицами измерений являются таблицы «Классификатор исполнителей»,
«Заказчик», «Исполнитель», «Специализация исполнителей».
При формировании запросов к базе
данных пользователю будут предложены следующие измерения: наименование
заказчика, наименование вуза, вид вуза, профиль вуза, год.
Схема реализации многомерного
представления данных для формирования гиперкуба «Российская статистика
довузовского обучения» представлена на рисунке 3.3.10.
Рисунок 3.3.10 - Многомерная модель
данных для гиперкуба «Российская статистика довузовского обучения»
Схема реализации многомерного
представления данных для формирования гиперкуба «Российская статистика
послевузовского обучения» представлена на рисунке 3.3.11.
Рисунок 3.3.11 - Многомерная модель
данных для гиперкуба «Российская статистика послевузовского обучения»
Схема реализации многомерного
представления данных для формирования гиперкуба «Российская статистика
вузовского обучения» представлена на рисунке 3.3.12.
Рисунок 3.3.12 - Многомерная модель
данных для гиперкуба «Российская статистика вузовского обучения»
Схема реализации многомерного
представления данных для формирования гиперкуба «Зарубежная статистика
послевузовского обучения» представлена на рисунке 3.3.13.
Рисунок 3.3.13 - Многомерная модель
данных для гиперкуба «Зарубежная статистика послевузовского обучения»
Схема реализации многомерного
представления данных для формирования гиперкуба «Зарубежная статистика
сотрудников вузов» представлена на рисунке 3.3.14.
Рисунок 3.3.14 - Многомерная модель
данных для гиперкуба «Зарубежная статистика сотрудников вузов»
Схема реализации многомерного
представления данных для формирования гиперкуба «Зарубежная статистика
вузовского обучения» представлена на рисунке 3.3.15.
Рисунок 3.3.15 - Многомерная модель
данных для гиперкуба «Зарубежная статистика вузовского обучения»
4.
Разработка интерфейса WEB-приложения для аналитической обработки данных
Основной задачей дипломного проекта является
разработка программного обеспечения для аналитической обработки информации о
международном и научно-техническом и образовательном сотрудничестве вузов
России на основе технологии OLAP.
Разработанный интерфейс предоставляет конечному пользователю возможность
определения структуры OLAP-куба,
с которым он хочет работать и в графической форме результаты выводятся в виде
таблиц и диаграмм. При запуске приложения оператор попадает на форму
представленную на рисунке 4.1.1.
Рисунок 4.1.1 - Главная страница приложения
На основе рассмотренных в предыдущей главе
многомерных моделей данных пользователь выбирает куб, с которым будет работать,
руководствуясь желаемой областью анализа данных.
После выбора оператор попадает на одну из форм,
общий вид которых рассмотрим на примере формы «Сводные данные по исполнителям»,
представленной на рисунке 4.1.2.
Рисунок 4.1.2 - Форма «Сводные данные по
исполнителям»
По оси X
и Y пользователь
выбирает структуру формируемого куба. Выпадающие списки обеспечивают
возможность выбора измерений, по которым будут формироваться результирующая
таблица и гистограмма. Топология таблиц сложна, число связей велико, поэтому
пользователю предлагается дополнительно выбрать значения выводимых полей таблиц
измерений. На рисунке 4.1.3 продемонстрирован процесс выбора оператора. Для
полноты информации при формировании запроса пользователю необходимо выбрать
«меру», то есть непосредственно критерий, по которому будет заполняться матрица
фактов выводимой таблицы. За это действие отвечает выпадающий список «Вывести».
Рисунок 4.1.3 - Выпадающие списки на формах
Обработчик кнопки «Сформировать» формирует и
отсылает запрос к SQL
серверу, результатом которого является получение необходимого среза OLAP
куба. На рисунке 4.1.4 представлен вариант отображения этого среза в виде
таблицы, а на рисунке 4.1.5 в виде гистограммы.
Рисунок 4.1.4 - Табличный вид отображения данных
Рисунок 4.1.5 - Отображение данных в виде
гистограммы
В качестве примера рассмотрим следующую
ситуацию. Пользователю необходимо получить информацию о финансировании
исследований, связанных с регионом заказчика и профилями вузов. Изначально
оператора интересуют регионы мира с наибольшим финансированием по
естественно-научному и гуманитарному профилям.
Порядок действий:
1. Запускаем приложение, выбираем «сводные
данные по исполнителям».
2. По оси Х выбираем в качестве измерения
«Регион заказчика», по оси Y
выбираем в первом списке «Профиль вуза», во втором конкретизируем до
«естественно-научный и гуманитарный».
. В качестве меры нас интересует
финансирование, поэтому в списке «Вывести» выбираем соответствующее поле.
. Нажимаем кнопку «Сформировать».
Результат в виде таблицы и диаграммы на рисунке 4.1.6.
Рисунок 4.1.6 - Результат работы программы при
выводе финансирования по регионам заказчиков и естественно-научным и
гуманитарным профилям вузов
В рассматриваемом примере Южная Америка занимает
лидирующую позицию по критерию финансирования.
Предположим, что теперь необходимо просмотреть
информацию по финансированию проектов по регионам заказчиков по всем профилям
вузов. Для этого будет достаточным в дополнительном выпадающем списке напротив
оси Y сменить вариант
«естественно-научный и гуманитарный» на «название». После этого получим
результат в виде таблицы, представленной на рисунке 4.1.7 и в виде диаграммы,
представленной на рисунке 4.1.8.
Рисунок 4.1.7 - Табличный вывод данных по
регионам заказчиков и профилям вузов
Рисунок 4.1.8 - Вывод данных в виде гистограммы
по регионам заказчиков и профилям вузов
Для визуализации выборок при объемных таблицах
данных на форме диаграммы предусмотрена легенда, благодаря которой значительно
упрощается восприятие результирующей информации конечным пользователем. В
рассматриваемом нами примере на диаграмме на рисунке 4.1.8 коричневым цветом
обозначена Европа, которая занимает лидирующие позиции по финансированию в
областях: исследование и разработка, научно-методическая, прикладная.
Для более детальной информации по финансируемым
видам исследований в Европе достаточно просто подкорректировать измерения
нового куба и получим результат на рисунке 4.1.9.
Рисунок 4.1.9 - Финансирование по видам
исследований в Европе
Теперь пользователь может подробно ознакомиться
с распределением финансирования средств по интересующему его региону по видам
исследований.
Так как прикладной тип исследования является
одним из доминирующих в данном примере, может появиться необходимость в
просмотре профилей вузов, финансируемых по данному типу. Результаты подобной
пользовательской выборки также легко получаются при смене формируемых измерений
OLAP куба и
представлены на рисунке 4.1.10
Рисунок 4.1.10 - Финансирование по профилям
вузов в области прикладных исследований
Разработанный интерфейс предлагает пользователю
обширный выбор вариантов формирования измерений гиперкуба для последующего
вывода результатов в графической форме. Визуализация происходит как в масштабах
всего множества полученных данных, так и локально в пределах среза куба для
более детального рассмотрения. Использование легенд, цифровых сеток,
отображений значений столбцов на диаграмме направлены на улучшение восприятия
конечного оператора и оптимизации его дальнейшего принятия решений. Мягкий
цветовой фон и отсутствие необходимости перезагрузки страницы направлены на
повышение концентрации при работе пользователя. Интерфейс предельно прост и
интуитивно понятен, полностью оптимизирован под выполняемые задачи. Решение
отказаться от нагроможденности форм несколько лишило его гибкости, но привело к
повышению скорости обработки действий оператора.
Разработка интерфейса осуществлена на базе
технологии ASP.NET
и компонентов библиотеки MS
OWC. Реализация
отображения графических изображений формируемых при помощи MS OWC происходит
при помощи встроенного в ASP.NET обработчика HTTPhendler, которая компилируется
при вызове этого файла во время формирования изображения в объекте Image. Таким
образом, формирование картинки происходит “налету” и не требует
предварительного формирования файла. После того как экземпляр класса библиотеки
OWC11 сформирует графическое представление переданных результатов, он
возвращает изображение вызывающему его объекту. В случае если построение
графика не было завершено, программа не выполняет прорисовку графики, а в
сессию передается сообщение об ошибке.
5.
Разработка программного обеспечения WEB-приложения для аналитической обработки
данных
5.1
Реализация подключения к источнику данных
Разработка программного обеспечения в дипломном
проекте имеет следующие основные направления:
) Cоздание пользовательского OLAP клиента
для доступа к SQL серверу при использовании технологии ADO MD на платформе
.NET.
) Формирование запросов к OLAP
кубам на языке MDX
Остановим свое внимание на решении первой
задачи.
Общая структура доступа к данным на основе
модели «клиент-сервер» изображена на рисунке 5.1.1.
Рисунок 5.1.1 - Структура доступа к данным на
основе модели «клиент-сервер»
Для подключения к SQL
серверу используется объект AdomdConnection
Объект AdomdConnection используется в ADOMD.NET
для установления соединений с источниками аналитических данных, например базами
данных служб Analysis Services. Объект AdomdConnection можно использовать для
выполнения команд, получения данных и метаданных из источника аналитических
данных.
Конструкторы объекта AdomdConnection:
§ AdomdConnection(String) - инициализация нового
экземпляра AdomdConnection класса, используя указанную строку соединения
§ AdomdConnection(AdomdConnection) - инициализация
нового экземпляра AdomdConnection класса, используя значения из указанного
AdomdConnection класса
Свойства объекта AdomdConnection:
§ ConnectionString - задает строку, которая
используется для открытия источника аналитических данных
§ Cubes - представляет коллекцию кубов источника
аналитических данных
§ SessionID - идентификатор сессии
§ State - текущее состояние соединения
Методы объекта AdomdConnection:
§ Open(String) - открытие соединения с
аналитическим источником данных
§ CreateCommand - создает и возвращает
AdomdCommand, который связан с AdomdConnection
§ GetType - возвращает объект Type
для текущего экземпляра
§ Close(Boolean) - закрывает подключение к базе
данных
Рассмотрим основные свойства объектов CubeDef:
§ Caption -заголовок CubeDef
§ Description
- описание
§ Dimensions - экземпляр DimensionCollection
класса, который содержит измерения CubeDef класса
§ Measures - экземпляр MeasureCollection класс,
который содержит меры по CubeDef
5.2
Реализация получения данных из источника аналитических данных
При извлечении аналитических данных объект
AdomdDataReader обеспечивает хороший баланс между затратами и интерактивностью.
Объект AdomdDataReader извлекает из источника аналитических данных плоский
поток данных, доступных только для чтения и последовательного доступа. Этот
небуферизованный поток данных позволяет процедурам последовательно обрабатывать
получаемые из источника данных результаты с высокой эффективностью. Благодаря
этому объект AdomdDataReader хорошо подходит для извлечения больших объемов
данных в целях отображения, поскольку данные не кэшируются в памяти.
Кроме того, объект AdomdDataReader также может
повышать производительность приложения за счет извлечения данных по мере их
поступления, не дожидаясь возвращения полных результатов запроса. Объект
AdomdDataReader также сокращает затраты системных ресурсов, так как, по
умолчанию, этот модуль чтения хранит в памяти только одну строку за раз.
Платой за оптимизированную производительность
является то, что объект AdomdDataReader предоставляет меньше сведений об
извечных данных, чем другие методы получения данных. Объект AdomdDataReader не
поддерживает большие модели объектов для представления данных или метаданных,
кроме того, эта модель объекта также не позволяет использовать более сложные
аналитические функции, как, например обратная запись в ячейку. Однако объект
AdomdDataReader все же предоставляет набор строго типизированных методов для
извлечения данных набора ячеек, а также метод для извлечения метаданных набора
ячеек в табличном формате. Кроме того, объект AdomdDataReader реализует
интерфейс IDbDataReader для поддержки привязки данных и извлечения данных при
помощи метода SelectCommand из пространства имен System.Data библиотеки классов
платформы Microsoft .NET Framework.
Для формирования запросов к базе данных
используется язык MDX.
Назначение языка MDX (Multidimensional Expressions) - предоставить в
распоряжение разработчиков средство для более простого и эффективного доступа к
многомерным структурам данных. В Microsoft SQL Server 2000 Analysis Services
язык MDX используется для формирования запросов и описания алгоритмов получения
вычисляемых значений.
В языке MDX выражение SELECT используется для
задания набора данных, содержащего подмножество многомерных данных. запрос
содержит следующую информацию:
§ число осей (в одном запросе можно указать до 128
осей)
§ список членов измерения, которые должны быть
включены для каждой оси;
§ имя куба, к которому производится запрос;
§ список членов среза.
.3 Пространство имен System.Web
Пространства имен System.Web содержат типы,
обеспечивающие возможности взаимодействия между браузером и сервером. Дочерние
пространства имен включают типы, поддерживающие проверку подлинности с помощью
форм ASP.NET, службы приложений, кэширование данных на сервере, настройку
приложений ASP.NET, динамические данные, обработчики HTTP-данных, сериализацию
JSON, встраивание функций AJAX в ASP.NET, безопасность ASP.NET и веб-службы.
Классы:
§ DefaultHttpHandler - представляет свойства и
методы обработчика HTTP-данных, заданного по умолчанию
§ HttpApplication - определяет методы, свойства и
события, являющиеся обычными для всех объектов приложений ASP.NET
§ HttpApplicationState - позволяет обмен общими
сведениями между несколькими сеансами и запросами в приложении ASP.NET
§ HttpServerUtility - предоставляет
вспомогательные методы для обработки веб-запросов
§ TraceContext - получает и представляет подробности
выполнения веб-запроса
Пространства имен System.Web.UI,
System.Web.UI.WebControls, System.Web.UI.WebControls,
System.Web.UI.HtmlControls необходимы для создания элементов web-интерфейса
и содержат следующие классы:
§ HtmlForm - предоставляет программный доступ к
элементу HTML <form> на сервере
§ HtmlTable - разрешает программный доступ к
элементу HTML <table> на сервере
§ Control - определяет свойства, методы и события,
общие для всех ASP.NET серверных элементов управления
§ BaseTemplateParser - инфраструктура, реализует
синтаксический анализ шаблона ASP.NET для файлов шаблонов
§ Button - отображает элемент управления
"Кнопка" на web-странице
§ ListBox - представляет элемент управления
списком, позволяющий выбрать один или несколько его элементов
§ DropDownList - представляет элемент управления,
позволяющий пользователю выбрать один элемент из раскрывающегося списка
§ GridView - отображает значения источника данных
в таблице, где каждый столбец представляет поле, а каждая строка - запись.
Элемент управления GridView позволяет выбирать, сортировать и изменять эти
записи
§ Image - отображает изображение на веб-странице
§ Page - представляет файл ASPX,
называемый также страницей веб-формы, запрашиваемый с сервера, где выполняется
веб-приложение ASP.NET
5.4 Пространство имен System.Data
В рамках дипломного проекта пространство имен System.Data
используется для построения и работы с таблицами. Содержит в себе следующие
классы:
§ DataTable - представляет одну таблицу с данными
в памяти
§ DataColumn - представляет схему столбца в
DataTable
§ DataRow - представляет строку данных в DataTable
§ DataView - представляет настраиваемое и
допускающее привязку данных представление объекта DataTable для сортировки,
фильтрации, поиска, изменения и навигации
В свою очередь класс DataTable
имеет следующие конструкторы:
§ DataTable - инициализирует новый экземпляр
класса DataTable, не передавая ему никаких аргументов
§ DataTable(String) - инициализирует новый
экземпляр класса DataTable с указанным именем таблицы
Свойства класса DataTable:
§ Columns - получает коллекцию столбцов,
принадлежащих данной таблице
§ Rows - получает коллекцию строк, принадлежащих
данной таблице
§ MinimumCapacity - возвращает или задает
начальный размер таблицы
Методы класса DataTable:
§ BeginInit - начинает инициализацию класса
DataTable, используемого в форме или другим компонентом. Инициализация
осуществляется во время выполнения
§ Copy - копирует структуру и данные для DataTable
§ Equals(Object) - определяет, равен ли заданный
объект Object текущему объекту Object
§ NewRow - создает новый класс DataRow, имеющий ту
же схему, что и таблица
§ Select(String) - получает массив всех объектов
DataRow, отвечающих условиям фильтра в порядке первичного ключа (если ключ
отсутствует, то в порядке их добавления)
§ GetRowType - получение типа строки
В данной главе были рассмотрены
основые классы, методы, структуры, используемые для реализации программного
обеспечения web-приложения. Также стоит упомянуть об использовании пространства
имён System.Security.Cryptography, а точнее класса RandomNumberGenerator
<#"656446.files/image035.gif">,
где:
- затраты на материалы, руб.
- норматив
транспортно-заготовительных расходов, 15%.
Затраты по статье “материалы” приведены в
таблице 6.2.
Таблица 6.2 - Затраты по статье “материалы”
Материалы
|
Единица
измерения
|
Количество
|
Цена,
руб.
|
Сумма,
руб.
|
Бумага
писчая
|
Пачка
|
1
|
199
|
199
|
Картридж
для принтера
|
шт.
|
1
|
2
205
|
2
205
|
Таблица 6.2 - Затраты по статье “материалы”
Компакт
диск CD-Rшт.22550
|
|
|
|
|
Флэш-накопитель
|
шт.
|
1
|
499
|
499
|
Канцелярские
товары
|
шт.
|
2
|
25
|
50
|
Итого
|
3
003
|
Транспортные
расходы, 10%
|
450
|
Всего:
|
3
453
|
Спецоборудование.
Дополнительное спецоборудование не требуется
Расходы на оплату труда.
Средняя з/пл за 1 рабочий день для каждой
категории исполнителей определяется исходя из месячного оклада и среднего
количества рабочих дней в месяц принимаемого за 22 дня.
Расходы на оплату труда разработчиков
рассчитывается по формуле:
,
где :
Т1
- трудоёмкости выполнения работ по разработке проектируемой системы управления
по каждой специальности;
С30мес -
месячные оклады по каждой специальности;
Hнач
- норматив начислений, устанавливаемый на данном конкретном предприятии, %;
t
-
среднее количество рабочих дней в месяц (22 дня).
«Отчисления на социальные нужды» рассчитывается
пропорционально з/пл разработчиков в размере 26,2%:
федеральный бюджет − 20%;
фонд социального страхования − 3,2%;
фонд обязательного медицинского страхования −
2,8%;
страхование от несчастных случаев − 0,2%
ССН = СЗО
НСН/100,
где НСН - суммарный норматив
отчислений на социальные нужды, устанавливаемый законодательно (Налоговый
кодекс РФ).
Таблица 6.3 - Затраты по статьям: “расходы на
оплату труда”
№
|
Специальность
|
Месячный
оклад, руб.
|
Дневная
ставка, руб.
|
Трудоемкость,
дней.
|
Расходы
по з/пл., руб.
|
1
|
Инженер
|
15
000
|
681
|
76
|
51
756
|
2
|
Главный
спец.
|
25
000
|
1
136
|
4
|
4
544
|
Итого,
з/пл.
|
56
300
|
Отчисления
на социальные нужды, 26.2%
|
14
750
|
Затраты по работам, выполняемым сторонними
организациями.
В качестве расходов на оплату услуг сторонних
организаций условно выступают затраты на аренду машинного времени. Сумма
арендной платы рассчитывается по формуле:
,
где -
часовая ставка арендной платы - 25 рублей,
- время аренды ЭВМ
- примем равным 504 часам (с учетом 8-ми часового рабочего дня)
Командировочные расходы.
Командировки специалистов, проводящих разработку
программного обеспечения, не предусмотрены.
Прочие прямые расходы.
Смета по статье “прочие прямые расходы”,
включающая затраты связанные с получением специальной научно-технической
литературы, а также платежи за использование средств связи и коммуникации
приведены в таблице 6.4.
Таблица 6.4 - Затраты по статье “прочие прямые
расходы”
Наименование
|
Единица
измерения
|
Количество
|
Цена,
руб.
|
Сумма,
руб.
|
Средства
связи и коммуникации
|
Доступ
в интернет
|
мес.
|
2
|
500
|
1000
|
Научно-техническая
литература
|
Мэтью
Мак-Дональд, Марио Шпушта «Microsoft ASP.NET 2.0 с
примерами на C#», Москва «Вильямс», 2007
|
шт.
|
1
|
773
|
773
|
Эндрю
Троэлсен «Язык программирования C# 2005 », Москва «Вильямс», 2007
|
шт.
|
1
|
850
|
850
|
Сахил
Малик «Microsoft ADO.NET 2.0 », Москва «Вильямс»,
2007
|
шт.
|
1
|
440
|
440
|
Роберт
Виейра «Программирование баз данных Microsoft SQL Server 2005 », Москва
«Диалектика», 2007
|
шт.
|
1
|
552
|
552
|
Итого
|
3 615
|
Накладные расходы.
В эту статью включаются расходы на управление и
хозяйственное обслуживание проектной команды.
,
Где ННР - норматив накладных
расходов, составляет 20%.
Смета затрат на НИР.
Смета затрат на НИР, основанная затратах, по
статьям расходов, приведенных выше, представлена в таблице 6.5.
Таблица 6.5 - Смета затрат на НИР
№
|
Статья
затрат
|
Сумма,
руб.
|
1
|
Материалы
|
3
453
|
2
|
Спецоборудование
|
0
|
3
|
Расходы
на оплату труда
|
56
300
|
4
|
Отчисления
на социальные нужды
|
14
750
|
5
|
Затраты
по работам, выполняемым сторонними организациями
|
12
600
|
6
|
Командировочные
расходы
|
0
|
7
|
Прочие
прямые расходы
|
3 615
|
8
|
Накладные
расходы
|
11
260
|
Итого
себестоимость разработки
|
101 978
|
Определение потребности в начальном капитале.
Потребность в начальном капитале формируется за
счет средств затраченных на НИР - 101 978 руб., а также дополнительных средств,
необходимых для приобретения ПО для разработки и других дополнительных средств.
Потребность в начальном капитале по каждой из
перечисленных выше позиций рассчитывается по формуле:
где:
- цена i-го
вида оборудования (программы),
- cрок
службы i-го вида
оборудования (программы), принимается равным пяти годам,
k
-
число рабочих часов в году, 1986 часов.
- время
использования i-го вида
оборудования (программы), принимается равным произведению количества дней
затраченных на проект на число рабочих часов в день, 504 часа
Расчеты по приведенной выше формуле, для
элементов списка представленного в начале параграфа, сведены в таблицу 6.6
Таблица 6.6 - Потребность в начальном капитале
№
|
Наименование
|
Цена,
руб.
|
Потребность
в начальном капитале, руб.
|
Компьютерная
техника
|
1
|
Принтер
HP LaserJet 1018
|
4
190.00
|
284
|
Информационные
системы, системы обработки данных
|
1
|
Microsoft Visual Studio Pro 2008
English
|
28
350.00
|
1
920
|
2
|
Microsoft Office 2007
|
4 590.0
|
310
|
Итого
|
2
514
|
Итого суммарная потребность в начальном капитале
составила:
.4 Экономическая эффективность
проекта
Количественная оценка.
В данном разделе приводится расчет основных
показателей, характеризующих экономическую привлекательность проекта.
Данная разработка была выполнена по заказу
Минобрнауки России и полностью оплачена.
- цена продажи проекта, после
согласования с заказчиком была принята равной:
= 160 000 руб.
- начальные вложения, связанные с
реализацией проекта. = 104 492
руб.
Экономический эффект от продаж:
- прибыль, полученная от реализации
проекта, численно равна разнице между ценой продажи и капитальными вложениями,
связанными с реализацией проекта:
= - = 55 508
руб.
6.5 Рентабельность
Определение экономической
привлекательности проекта будет произведено на основе показателя рентабельности
инвестиций (ROI - Return on investments), который
можно определить как отношение прибыли полученного от проекта к начальным
инвестициям в него вложенным. Т.е. рентабельность инвестиций можно определить
по формуле:
Окончательно, основываясь на всех
приведенных выше данных, рентабельность проекта составит:
ROI =
Таким образом, рентабельность,
составляющая 53,12% процентов, позволяет говорить об экономической
целесообразности разработанного проекта.
.6 Качественная оценка
Разработанный программный модуль
позволяет оперативно выполнять поисковые выборки из базы данных и предоставлять
результаты в текстовой и графической формах, может быть использован для анализа
образовательной деятельности вузов России; для любого отдела, занимающегося
международной деятельностью научно-исследовательской части вузов России; для
аналитических оценок.
Анализ основных показателей международной
деятельности, проводимый по видам и профилям организаций, экономическим районам
страны, регионам мира, областям знаний, финансирующим организациям позволит
получить как обобщенную, так и сравнительную оценку современного состояния
вузовского сектора науки.
Главной целью системы является разработка
программного обеспечения для аналитической обработки информации о международном
научно-техническом и образовательном сотрудничестве вузов России.
Анализируя сравнительную оценку экономической
эффективности программного модуля, следует отметить, что автоматизированное
программное обеспечение позволит значительно упростить работу с данными:
· уменьшение времени обработки информации;
· уменьшение затрат на получение
информации;
· обеспечение быстрого доступа к
данным;
· увеличение достоверности информации;
· улучшение формы представления
результирующей информации
Исходным и важнейшим фактором, определяющим
конкурентоспособность товара, является уровень его качества.
Уровень качества товара - это относительная
характеристика качества продукции, полученная на основе сравнения совокупности
показателей качества оцениваемой продукции с соответствующей совокупностью
одноименных базовых показателей по формуле.
Показатели уровня качества разработанного
продукта, по отношению к базовому, приведены в таблице 6.7.
где:
- - значение i-го показателя,
определяется экспертным путем
- , - уровень характеристики
соответственно нового и базового НТПр
Таблица 6.7 - Показатели качества
№
п/п
|
Показатель
|
Бальная
оценка
|
Коэффициент
значимости,
|
|
|
Локальная
версия, Интернет версия,
|
|
|
1
|
Скорость
получения информации
|
1
|
10
|
0.2
|
2
|
Доступность
информации
|
2
|
5
|
0.2
|
3
|
Затраты
на получение информации
|
3
|
7
|
0.1
|
4
|
Форма
представления информации
|
2
|
6
|
0.2
|
5
|
Достоверность
информации
|
3
|
4
|
0.2
|
6
|
Полнота
информации
|
4
|
6
|
0.1
|
Таким образом, уровень качества равен: =
3,75.
6.7 Выводы
1) Трудоемкость НИР: инженера - 76 чел.-дней,
СНС - 4 чел.-дней.
) Себестоимость НИР составляет 101 978 руб.
3) Потребность в начальном капитале
= 104492
руб.
) Рентабельность проекта 53,12%, при
цене проекта 160 000 руб.
) Уровень качества продукта: = 3,75
Таким образом, реализация проекта экономически
целесообразна.
8. Охрана интеллектуальной
собственности
.1 Интеллектуальная собственность
Под интеллектуальной собственностью
понимают особый вид гражданских прав (исключительное право) в отношении
результатов интеллектуальной деятельности, таких как изобретения, промышленные
образцы (дизайн), компьютерные программы, другие произведения науки,
произведения литературы, искусства, которые принято называть объектами интеллектуальной
собственности, а также различных средств индивидуализации производителя
товаров и услуг, таких как товарные знаки, знаки обслуживания, фирменные
наименования и др. Основным содержанием таких прав является монополия их
владельца на использование этих объектов, включая право запретить или разрешить
их использование другим, а также право переуступить другому лицу эти правомочия
или отказаться от них вовсе.
Согласно определению интеллектуальной
собственности, принятому в российском законодательстве, а также на основании
определения Стокгольмской конференции от 14 июля 1967 г., программы для ЭВМ
(компьютерные программы) и базы данных относятся к объектам интеллектуальной
собственности. Программам для ЭВМ и базам данных предоставляется охрана нормами
авторского права как литературным произведениям в соответствии с Бернской
конвенцией, причем программы для ЭВМ охраняются как литературные произведения,
а базы данных - как сборники.
В Российской Федерации вопросы предоставления
правовой охраны программам для ЭВМ и базам данных регулируются 4-ой частью
Гражданского кодекса РФ.
8.2 Программа для ЭВМ
Под программой для ЭВМ понимается "...
представленная в объективной форме совокупность данных и команд,
предназначенных для функционирования ЭВМ и других компьютерных устройств в
целях получения определенного результата". Кроме того, в понятие
программы для ЭВМ входят "...подготовительные материалы, полученные в
ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные
отображения" [1, ст. 1261].
С точки зрения программистов и пользователей
программа для ЭВМ представляет собой детализацию алгоритма решения какой-либо
задачи и выражена в форме определенной последовательности предписаний,
обеспечивающих выполнение компьютером преобразования исходных данных в искомый
результат.
Можно выделить следующие объективные формы
представления программы для ЭВМ:
1 исходная
программа (или исходный текст) - последовательность
предписаний на алгоритмическом (понятном человеку) языке высокого уровня,
предназначенных для автоматизированного перевода этих предписаний в
последовательность команд в объектном коде;
2 рабочая
программа (или объектный код) - последовательность
машинных команд, т. е. команд, представленных на языке, понятном ЭВМ;
3 программа,
временно введенная в память ЭВМ, - совокупность
физических состояний элементов памяти запоминающего устройства ЭВМ (ОЗУ),
сохраняющихся до прекращения подачи электропитания к ЭВМ;
4 программа,
постоянно хранимая в памяти ЭВМ, - представленная
на языке машины команда (или серия команд), выполненная в виде физических
особенностей участка интегральной схемы, сохраняющихся независимо от подачи
электропитания.
Исходная и рабочая программы, как правило,
представляются в виде записи на том или ином языке, выполненной на бумаге или
машиночитаемом носителе данных: магнитном или оптическом диске, магнитной ленте
и т. п.
Предоставляемая законодательством правовая
охрана распространяется "... на все виды программ для ЭВМ (в том числе
на операционные системы и программные комплексы), которые могут быть выражены
на любом языке и в любой форме, включая исходный текст и объектный код …"
[1, ст.1261]. Так как преобразование исходного текста программы для ЭВМ в
объектный (машинный) код с помощью специальных программ-трансляторов не меняет
сущности данной программы как произведения, то если охраняется исходный текст
программы, значит, охране подлежит и соответствующий ей объектный код. Обратное
тоже справедливо.
Правовая охрана программ для ЭВМ
распространяется только в отношении формы их выражения и «… не
распространяется на идеи, концепции, принципы, методы, процессы, системы,
способы, решения технических, организационных или иных задач, открытия, факты,
языки программирования» [1, ст.1259, п. 5].
.3 Правообладатель
Программа разработана по личной инициативе
автора дипломного проекта. В соответствии с законом автор программы для ЭВМ,
разработанной в дипломном проекте, является ее правообладателем, т. к.
программный продукт, созданный в рамках учебного процесса, является объектом
интеллектуальной собственности, требующей официальной регистрации и подписания
лицензионного договора.
8.4 Официальная регистрация
Для официальной регистрации программы для ЭВМ
" WEB-приложение для аналитической обработки о международном
научно-техническом и образовательном сотрудничестве вузов России" были
оформлены следующие документы:
Титульный лист.
Описание состава регистрируемого объекта.
Реферат к программе для ЭВМ.
8.5 Лицензионный договор
Для передачи прав на использование программы для
ЭВМ " WEB-приложение для автоматизированной публикации ежегодных
статистических сборников о международном сотрудничестве вузов России в области
образования " необходимо подписание лицензионного договора, приведенного ниже.
Программа для ЭВМ “
WEB-приложение для аналитической обработки информации о международном
научно-техническом и образовательном сотрудничестве вузов России ”
Полный исходный текст программы
Всего 49 листов
Правообладатель: Прошунин Иван Сергеевич
Автор: Прошунин Иван Сергеевич
ãПрошунин И.С., 2011 г.
Санкт-Петербург
Состав программы
.Master - шаблон с набором правил для
формирования всех web
страниц приложения. .aspx - главная страница приложения, содержащая основное
меню .aspx - страница с конструктором запросов для получения аналитических
данных по Российской статистике довузовского обучения..aspx - страница с
конструктором запросов для получения аналитических данных по Российской
статистике послевузовского обучения..aspx - страница с конструктором запросов для
получения аналитических данных по Российской статистике вузовского
обучения..aspx - страница с конструктором запросов для получения аналитических
данных по общевузовской статистике..aspx - страница с конструктором запросов
для получения аналитических данных по исполнителям..aspx - страница с
конструктором запросов для получения аналитических данных по регионам
мира..aspx - страница с конструктором запросов для получения аналитических
данных по зарубежной статистике послевузовского обучения..aspx - страница с
конструктором запросов для получения аналитических данных по зарубежной
статистике вузовского обучения.
Реферат
Автор: Прошунин Иван Сергеевич
Правообладатель: Прошунин Иван Сергеевич
Программа для ЭВМ: “ Web-приложение
для аналитической обработки информации о международном научно-техническом и
образовательном сотрудничестве вузов России ”.
Аннотация: Программный модуль предназначен для
доступа к базе данных с целью оперативной обработки пользовательских запросов
на основе технологии OLAP.
Результатом работы программного модуля является
вывод на экран выборок данных, отвечающих изначально заданным пользователем
фильтрам в графической форме.
Программный модуль ориентирован на работников
Министерства образования и науки РФ и предназначен для оперативной
аналитической обработки информации о международном научно-техническом и
образовательном сотрудничестве вузов России.
Тип ЭВМ: IВM РС/АТ и
совместимые с ней
ОС: WINDOWS
2000/XP
Язык программирования: C#
Объем: 2 530 Кбайт.
Лицензионный договор на использование
программы для ЭВМ
Стороны в Договоре:
Гражданин Прошунин Иван Сергеевич, проживающий
по адресу: 194355, г. Санкт-Петербург, Суздальский проспект, д. 5, корп. 1, кв.
264, именуемый в дальнейшем “ЛИЦЕНЗИАР”, с одной стороны, и Государственное
образовательное учреждение высшего профессионального образования
“Санкт-петербургский государственный электротехнический университет “ЛЭТИ” им.
В.И. Ульянова (Ленина)”, именуемое в дальнейшем - “ЛИЦЕНЗИАТ”, в лице ректора
КУТУЗОВА В.М., действующего на основании Устава, с другой стороны,
принимая во внимание, что:
1) Лицензиар является автором и правообладателем
программы для ЭВМ “ WEB-приложение для аналитической обработки
информации о международном научно-техническом и образовательном сотрудничестве
вузов России ”;
2) Лицензиат желает получить на условиях
настоящего Договора лицензию на использование упомянутой программы для ЭВМ с
целью возможности аналитической обработки информации о международном
научно-техническом и образовательном сотрудничестве вузов России
3) Лицензиар готов предоставить Лицензиату такую
лицензию;
договорились о следующем:
1 Термины и их определение
1.1 “ПРОГРАММА ДЛЯ ЭВМ” (ПрЭВМ) - Программное
обеспечение для аналитической обработки информации о международном
научно-техническом и образовательном сотрудничестве вузов России;
.2 “ДОКУМЕНТАЦИЯ” - комплект документов,
передаваемых Лицензиаром Лицензиату, включающий руководство пользователя по
применению и обслуживанию программы для ЭВМ.
.3 “ПРОИЗВОДСТВЕННАЯ ПЛОЩАДКА” - структурные
подразделения Лицензиата.
.4 “РАБОЧЕЕ МЕСТО” - конкретная ЭВМ, на которой
используется программа для ЭВМ.
2 Предмет Договора
2.1 Лицензиар предоставляет Лицензиату на срок
действия настоящего Договора и за вознаграждение, уплачиваемое Лицензиатом,
неисключительную лицензию на использование ПрЭВМ. При этом Лицензиату
предоставляется право на установку ПрЭВМ не более чем на 10 (десяти) Рабочих
местах.
.2 Лицензиар передает Лицензиату Документацию к
ПрЭВМ.
.3 Предоставленное Лицензиату в рамках
настоящего Договора право ограничено Производственной площадкой.
.4 Лицензиар осуществляет авторский контроль за
соблюдением объемов использования ПрЭВМ по настоящему Договору, при этом
Лицензиат обеспечивает возможность такого контроля.
.5 Лицензиар сохраняет за собой право самому
использовать ПрЭВМ и предоставлять неисключительные лицензии на право ее
использования третьим лицам.
3 Обеспечение Договора
3.1 Лицензиар передает Лицензиату ПрЭВМ в объеме
и виде, достаточном для ее использования, и Документацию в течение 15
(пятнадцати) дней со дня подписания настоящего Договора. ПрЭВМ передается
Лицензиату в виде CD-диска
в количестве 1 (одна) штука, содержащих ПрЭВМ. По факту передачи ПрЭВМ и
Документации составляется акт сдачи-приемки с перечнем переданных материалов,
подписываемый обеими Сторонами.
.2 Если Лицензиат установит неполноту или
неправильность полученных ПрЭВМ или Документации, то Лицензиар в течение 15
(пятнадцати) дней после сообщения ему об этом Лицензиатом обязан передать
недостающие материалы или устранить недостатки ранее переданных ПрЭВМ и
Документации.
.3 Для оказания помощи в освоении ПрЭВМ
Лицензиар по просьбе Лицензиата оказывает консультации пользователям ПрЭВМ.
.4 Для целей использования ПрЭВМ в объеме,
предусмотренном п. 2.1 настоящего Договора, Лицензиат может изготавливать в
необходимом ему количестве копии ПрЭВМ и копии Документации.
4 Усовершенствования
4.1 Лицензиар обязуется незамедлительно
информировать Лицензиата о всех произведенных им усовершенствованиях ПрЭВМ и,
при желании Лицензиата, передать ему в согласованные сроки новые варианты
ПрЭВМ. В отношении новых вариантов ПрЭВМ, переданных Лицензиаром Лицензиату,
распространяются все условия настоящего Договора.
.2 Лицензиат обязуется предоставлять Лицензиару
информацию об использовании ПрЭВМ, которая могла бы быть полезной для
усовершенствования ПрЭВМ.
5 Платежи
5.1 За предоставление прав, предусмотренных
настоящим Договором, Лицензиат выплачивает Лицензиару единовременное
вознаграждение в размере 10 000(десять тысяч) рублей.
.2 Вознаграждение, предусмотренное п.5.1
настоящего Договора, выплачивается Лицензиатом в течение 30 (тридцати) дней,
следующих после подписания акта приемки-сдачи.
6 Защита передаваемых прав
6.1 Лицензиат обязуется не вносить самовольно
каких-либо изменений в Программу ЭВМ и Документацию и не дополнять их
какими-либо комментариями. Подобные изменения или дополнения возможны только с
согласия Лицензиара.
6.2 Лицензиат обязуется предпринимать все
необходимые меры для предотвращения несанкционированного копирования ПрЭВМ и
Документации третьими лицами, а также несанкционированной передачи ПрЭВМ и
Документации работниками Лицензиата третьим лицам.
.3 Если Лицензиату станет известно о
противоправном использовании ПрЭВМ третьими лицами, то он незамедлительно
сообщит об этом Лицензиару.
7 Ответственность Сторон и
разрешение споров
7.1 За невыполнение или не надлежащее выполнение
обязательств по настоящему Договору Стороны несут имущественную ответственность
в соответствии с действующим законодательством.
.2 Стороны освобождаются от ответственности за
неисполнение или не надлежащее исполнение обязательств, принятых по настоящему
Договору, если неисполнение явилось следствием обстоятельств непреодолимой силы
(форс-мажор).
.3 Сторона, нарушившая свои обязательства по
настоящему Договору, освобождается от ответственности за неисполнение или
ненадлежащее исполнение этих обязательств, если это нарушение было вызвано
причинами, за которые отвечает другая Сторона.
7.4 В случае возникновения споров между
Лицензиаром и Лицензиатом по вопросам, предусмотренным настоящим Договором,
Стороны примут все меры к разрешению их путем переговоров между собой. В случае
невозможности разрешения указанных споров путем переговоров они будут
разрешаться в порядке, предусмотренном действующим законодательством.
8 Срок действия Договора и условия
его расторжения
8.1 Настоящий Договор заключен на срок 2 года и
вступает в силу с даты его подписания обеими Сторонами.
8.2 По истечении срока действия настоящего
Договора Лицензиат вправе использовать ПрЭВМ, включая усовершенствованные
варианты, на Производственной площадке на любом количестве Рабочих мест. При
этом обязательства Лицензиара, предусмотренные пп. 6.1 и 6.2 настоящего
Договора,
сохраняются бессрочно.
.3 Действие настоящего Договора по обоюдному
согласию Сторон может быть досрочно прекращено, но не ранее чем через три
месяца после предложения об этом одной из Сторон. При этом Лицензиат не
освобождается от обязательств по платежам, возникшим до расторжения настоящего
Договора.
.4 Настоящий Договор может быть досрочно расторгнут
в одностороннем порядке со стороны Лицензиара из-за невыполнения Лицензиатом
своих обязательств по пп. 6.1 или 6.2. В этом случае Лицензиат лишается права
дальнейшего использования ПрЭВМ в любой форме и обязан вернуть ее Лицензиару.
.5 Если Лицензиат откажется от дальнейшего
использования ПрЭВМ, то он уничтожит все имеющиеся у него копии ПрЭВМ.
9 Заключительные положения
9.1 Все изменения и дополнения к настоящему
Договору действительны только в тех случаях, если они совершены в письменной
форме и подписаны обеими Сторонами.
9.2 Стороны не имеют права передавать свои права
и обязательства по настоящему Договору третьим лицам без письменного согласия
на то другой Стороны. Во всем остальном, что не предусмотрено условиями
настоящего Договора, будут применяться нормы законодательства Российской
Федерации.
10 Адреса Сторон
10.1 ЛИЦЕНЗИАР: Прошунин Иван Сергеевич, адрес:
194355, г. Санкт-Петербург, Суздальский проспект, д. 5, корп. 1, кв. 264
.2 ЛИЦЕНЗИАТ: СПБГЭТУ, адрес: 197376,
Санкт-Петербург, ул. Проф. Попова, д. 5.
Настоящий Договор составлен в двух экземплярах
для каждой из Сторон и подписан “5” июня 2011 г. в г. Санкт-Петербурге.
Лицензиар:
Прошунин И.С.
Ректор
СПБГЭТУ В.М. Кутузов
Заключение
В дипломном были проекте решены следующие
задачи:
. Разработаны многомерные модели данных
для построения OLAP-кубов
с целью оптимизации данных, увеличения скорости обработки пользовательских
запросов, повышения гибкости системы, приобретения важного для анализа данных
свойства многомерности, то есть возможности представления анализируемых фактов
как функций от большого числа их характеризующих параметров.
. Разработан пользовательский интерфейс,
позволяющий формировать структуру OLAP-куба
в виде, соответствующем потребностям оператора. Реализованные формы оптимизированы
под запросы пользователя, интуитивно понятен их функционал, результаты работы
приложения выводятся в графической форме в виде таблиц и гистограмм.
. Разработано программное обеспечение при
поддержке технологии ADOMD.NET,
позволяющее реализовать подключение и формирование запросов на языке MDX
к разработанным OLAP-кубам.
На основе платформы .NET,
а точнее с использованием технологии ASP.NET
был разработан пользовательский интерфейс в виде web-приложения.
. Реализована работа приложения в среде
интернет для возможности многопользовательского доступа к данным из любой точки
мира без необходимости дополнительной установки клиентского программного
обеспечения и настройки соединения с базой.
Тестирование разработанного программного
обеспечения осуществлялось в разных интернет обозревателях, среди которых Opera,
Mozilla firefox,
Google Chrome,
Internet
Explorer.
Список используемых источников
1. Троэлсен Э. Язык
программирование C# 2005 и платформа .NET
2.0. - М.: Вильямс, 2009. - 1168 c.
2. Мак-Дональд М., Шпушта М. Microsoft
ASP.NET
2.0 с примерами на C# - М.: Вильямс, 2007. - 1408 c.
. Малик С. Microsoft
ADO.NET
2.0 - М.: Вильямс, 2010. - 560 c.
. Виейра Р. Программирование
баз данных Microsoft SQL Server 2005 - М.:Диалектика, 2007. - 832 c.
5. http://www.zedgraph.org
6. http://www.sourceforge.net/projects/zedgraph/
7. http://www.microsoft.com/downloads/details.aspx?FamilyId=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en
. http://www.lowagie.com/iText/
. http://www.itextsharp.sourceforge.net/
10. Lowagie B. iText in
Action. Creating and Manipulating PDF - NY.:Manning, 2007. - 686 p.
. http://msdn2.microsoft.com/en-us/library/aa213568(office.11).aspx
. http://msdn2.microsoft.com/en-us/library/aa141155(office.10).aspx
13. Гражданский Кодекс Российской
Федерации от 30.11.94 г. № 51-ФЗ. Ч. 1 // Российская газета №238-239 от
08.12.94 г.
. Гражданский Кодекс
Российской Федерации от 18.12.2006 г. № 230-ФЗ. Ч. 4 // Российская газета №289
от 22.12.2006 г.
Приложение
Листинг кода приложения на примере
реализации обработчика «сводные данные по исполнителям»
using
System;System.Collections.Generic;System.Web;System.Web.UI;System.Web.UI.WebControls;Microsoft.AnalysisServices.AdomdClient;System.Text;System.Web.UI.HtmlControls;System.Data;System.Collections;WebOLAP.Utils.Collection;Microsoft.Office.Interop.Owc11;System.Drawing;System.Security.Cryptography;WebOLAP
{partial class SymmeryByExecutive :
System.Web.UI.Page
{
#region Members
/// <summary>
/// Список содержащий значения измерений
/// </summary><DimentionItem>
dimentionTable = new List<DimentionItem>();
#endregionvoid Page_Load(object sender,
EventArgs e)
{
// загружаем измерения куба(AdomdConnection conn
= new AdomdConnection(@"Data Source=SOHATIK;Initial Catalog=FoodMart
2000;ConnectTo=8.0"))
{
// открываем соединение.Open();
// выбираем кубmcube =
conn.Cubes["SummeryByExecutive"];
// перебираем все измерения куба(Dimension dim
in mcube.Dimensions)
{(!this.IsPostBack)
{(dim.Name != "Measures")
{.ddlAxisX.Items.Add(dim.Name);.ddlAxisY.Items.Add(dim.Name);
}
}
// перебираем значения измерений(Hierarchy h in
dim.Hierarchies)
{
// просматриваем уровни иерархии(Level lv in
h.Levels)
{(lv.LevelNumber == 0 && dim.Name !=
"Measures")
{;
}
// заносим в хештайбл, для того чтобы можно было
вывести во второй список.Add(new DimentionItem(dim.Name, lv.Name,
lv.UniqueName, false));counter = 10;(Member mem in lv.GetMembers())
{-;(counter < 0)
{;
}(dim.Name == "Measures")
{(!this.IsPostBack)
{.ddlMeasures.Items.Add(mem.Name);
}
}.Add(new DimentionItem(dim.Name, mem.Name,
mem.UniqueName, true));
}
}
}
}
}
}
// Метод события при выборе измерения по оси
Хvoid ddlAxisX_SelectedIndexChanged(object sender, EventArgs e)
{.ddlAxisXHaracteries.Items.Clear();(DimentionItem
dim in this.dimentionTable)
{(this.ddlAxisX.Text == dim.DimentionName)
{.ddlAxisXHaracteries.Items.Add(dim.MemberName);
}
}
}
/// Метод события при выборе измерения по оси
Yvoid ddlAxisY_SelectedIndexChanged(object sender, EventArgs e)
{.ddlAxisYHaracteries.Items.Clear();(DimentionItem
dim in this.dimentionTable)
{(this.ddlAxisY.Text == dim.DimentionName)
{.ddlAxisYHaracteries.Items.Add(dim.MemberName);
}
}
}
/// Событие при нажатии на кнопку
"Сформировать"void btnGo_Click(object sender, EventArgs e)
{
#region Результат в виде таблицы
// ПРИМЕР ЗАПРОСА
//select [Год].[Год].Members on 0,
//[Вид вуза].[Название].Members on 1
//from SymmeryByRegionCube2
//where [Measures].[Финансирование]
// Найдем объекты описывающие измеренияdimAxisX
= null;dimAxisY = null;dimMeasures = null;(DimentionItem dim in
this.dimentionTable)
{(dim.DimentionName == this.ddlAxisX.Text
&& dim.MemberName == this.ddlAxisXHaracteries.Text)
{= dim;
}if (dim.DimentionName == this.ddlAxisY.Text
&& dim.MemberName == this.ddlAxisYHaracteries.Text)
{= dim;
}if (dim.DimentionName == "Measures"
&& dim.MemberName == this.ddlMeasures.Text)
{= dim;
}
}
// Должны быть инициализирвоаны всегда, если
нет- то ошибка(dimAxisX == null || dimAxisY == null || dimMeasures == null)
{
//Ошибка
}
// Формируем запрос к данным куба.
// Синтаксис MDXqueryText = string.Empty;
// Опередеяем в выбранных параметрах, имеется ли
срез по измерениям.
// Если есть, то строим запрос по варианту с о
срезом, иначе строим запрос для всех значений(dimAxisX.IsLastSheet ||
dimAxisY.IsLastSheet)
{= string.Format("SELECT @{0}# ON COLUMNS
,@{1}# ON ROWS FROM SummeryByExecutive WHERE {2}",.MemberScheme,
!dimAxisX.IsLastSheet ? dimAxisX.MemberScheme +
".Members" : dimAxisX.MemberScheme,.MemberScheme);=
queryText.Replace("@","{").Replace("#","}");
}
{= string.Format("SELECT {0}.Members ON
0,{1}.Members ON 1 FROM SummeryByExecutive WHERE
{2}",.MemberScheme,.MemberScheme,.MemberScheme);
}resultsInTable = null;(AdomdConnection conn =
new AdomdConnection(@"Data Source=SOHATIK;Initial Catalog=FoodMart
2000;ConnectTo=8.0"))
{
// открываем соединение.Open();command = new
AdomdCommand();.CommandType = CommandType.Text;.Connection = conn;.CommandText
= queryText;= new DataTable();dataAdapter = new
AdomdDataAdapter(command);.Fill(resultsInTable);
//преобразование колонок(int i=0;
i<resultsInTable.Columns.Count;i++)
{dtColumn = resultsInTable.Columns[i];colName =
string.Empty;baseName =
"current_";(!BaseDataList.IsBindableType(dtColumn.DataType))
{= dtColumn.ColumnName;.ColumnName = baseName +
i.ToString();col = new DataColumn(colName,
System.Type.GetType("System.String"), "Convert(" +
dtColumn.ColumnName + ", 'System.String')");.Columns.Add(col);
}
}
// если данные идут с нулями, то есть в валюте,
то надо убрать последние 4ре нудя(int j = 0; j < resultsInTable.Rows.Count;
j++)
{row = resultsInTable.Rows[j];str = null;(int
k=0; k<resultsInTable.Columns.Count;k++)
{= row[k].ToString();(string.IsNullOrEmpty(str))
{;
}(str.EndsWith("0000"))
{[k] = str.Substring(0, str.Length - 4);
}
}
}.gvDataView.DataSource =
resultsInTable;.gvDataView.DataBind();
#endregion
#region Результат в виде
гистограммыbarChartspace = new ChartSpaceClass();barChart =
barChartspace.Charts.Add(0);.Type =
ChartChartTypeEnum.chChartTypeColumnClustered;.HasLegend = true;.HasTitle =
true;.Title.Caption = "Аналитическая
гистограмма";.Axes[0].HasMajorGridlines = true;.Axes[0].HasTitle =
true;.Axes[0].Title.Caption = this.ddlAxisY.Text;.Axes[1].HasTitle =
true;.Axes[1].Title.Caption = this.ddlMeasures.Text;.PlotArea.Interior.Color =
"White";.PlotArea.Interior.SetPatterned(ChartPatternTypeEnum.chPattern80Percent,
"White", "Black");
barChart.Legend.Position
= ChartLegendPositionEnum.chLegendPositionTop;
// формируем значения измерений по оси
ХstdCategory = string.Empty;<string, string> stdTypesValues = new
Dictionary<string, string>(); ;
// сбор категории (int i = 0; i <
resultsInTable.Rows.Count; i++)
{row = resultsInTable.Rows[i];=
string.Concat(stdCategory, row[0].ToString(), ",");
}
// сбор типов (int i = 1; i < resultsInTable.Columns.Count;
i++)
{col =
resultsInTable.Columns[i];(!col.Caption.StartsWith("current"))
{
//сбор значенийstdValues = string.Empty;(int k =
1; k < resultsInTable.Rows.Count; k++)
{row = resultsInTable.Rows[k];=
string.Concat(stdValues, string.IsNullOrEmpty(row[i].ToString()) ?
"0" : row[i].ToString(), ",");
}(stdValues.Length > 0)
{= stdValues.Substring(0, stdValues.Length - 1);
// убираем последную запятую
}.Add(col.Caption, stdValues);
}
}= stdCategory.Substring(0, stdCategory.Length -
1); // убираем последную запятую idx = 0;(KeyValuePair<string,string>
item in stdTypesValues)
{.SeriesCollection.Add(idx);.SeriesCollection[idx].SetData(ChartDimensionsEnum.chDimCategories,
(int)ChartSpecialDataSourcesEnum.chDataLiteral, stdCategory);.SeriesCollection[idx].SetData(ChartDimensionsEnum.chDimValues,
(int)ChartSpecialDataSourcesEnum.chDataLiteral, item.Value);
{
barChart.SeriesCollection[idx].Interior.Color
= this.GetRandomColor().ToKnownColor().ToString();
}
{.SeriesCollection[idx].Interior.Color
= "red";
}.SeriesCollection[idx].Caption
= item.Key;chLblMaths =
barChart.SeriesCollection[idx].DataLabelsCollection.Add();
chLblMaths.HasValue = true;++;
}sFileName = DateTime.Now.Ticks.ToString() +
".gif";sPath = "C:\\OLAPProject\\WebOLAP\\WebOLAP\\" +
sFileName;sUrl = "http://localhost:81/olap/" +
sFileName;.ExportPicture(sPath, "gif", 900, 600);
//ну и нацеливаем картинку на Url.ImageUrl =
sUrl;
#endregion
}
}Color GetRandomColor()
{
KnownColor[] colors
= (KnownColor[])Enum.GetValues(typeof(KnownColor));
return
Color.FromKnownColor(colors[GetRandomNo(colors.Length)]);
}int GetRandomNo(int MaxValue)
{rng = RNGCryptoServiceProvider.Create();[]
bytes = new byte[4];.GetBytes(bytes);rndNum = BitConverter.ToInt32(bytes,
0);Math.Abs(rndNum % MaxValue);
}
}
}
Похожие работы на - Разработка Web-приложения для аналитической обработки информации о международном научно-техническом и образовательном сотрудничестве вузов России
|