Учет учебно-методической и научной деятельности сотрудников кафедры информационных технологий в бизнесе НИУ ВШЭ-Пермь

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    516,16 Кб
  • Опубликовано:
    2016-11-30
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Учет учебно-методической и научной деятельности сотрудников кафедры информационных технологий в бизнесе НИУ ВШЭ-Пермь

Введение

Результаты научной и учебно-методической деятельности университета являются важнейшей составляющей его успешности и конкурентоспособности на рынке образования. Над проблемой повышения результативности и эффективности деятельностей, приведенных выше, в последние годы работают не только различные государственные инстанции, но сотрудники различных вузов, в том числе и НИУ ВШЭ [4].

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

В настоящее время в НИУ ВШЭ существует корпоративный портал (на базе официального сайта <#"897558.files/image001.jpg">

Рисунок 1.1. Модели метаданных и компоненты METAS

Структурно-независимые базы данных (СНБД)

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

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

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

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

Невысокие требования к программно-аппаратной платформе.

Результаты сравнения конфигурируемых (адаптируемых) систем

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

Таблица 1.2. Результаты сравнения конфигурируемых систем


METAS

СНБД

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

+

+

Представление метаданных предметной области

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

Сроится по типу реляционной БД, где метаданные записываются в мета-уровень

Степень обратной связи

Сразу после внесения

Сразу после внесения


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

Выводы по главе

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

В рассмотренных системах, которые представлены в данной главе и включающие в себя автоматизацию учета научной и/или учебно-методической деятельности сотрудников также нашлись проблемы и недостатки, которые встречаются и в системе НИУ ВШЭ. Также из анализа видно, что ни одна система не предусматривает возможности гибкой настройки данных. Из анализа конфигурируемых технологий видно, что для данной работы выгодно использовать структурно-независимую базу данных, так как она проста в реализации и сохраняет достаточную производительность, что не менее важно для работы системы.

Тем самым видно, что многие системы рассчитаны на учет и анализ вуза в целом, а не на кафедры, факультеты и департаменты, поэтому, существует необходимость создания такой системы, которая была бы направлена на устранение проблем, которые существуют в действительности, и не была избыточной для кафедры «Информационных технологий в бизнесе». Однако, в таком случае может возникнуть проблема с дублированием данных, такой проблемы тоже необходимо избежать путем импорта данных[5], которые уже хранятся на сайте НИУ ВШЭ. Основной задачей выпускной квалификационной работы будет являться построение исследовательского прототипа для учета учебно-методической и научной деятельности сотрудников с возможностью гибкой настройки данных, с расширением и изменением структуры данных.

Проектирование системы для анализа учебно-методической и научной деятельности сотрудников

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

Описание объекта автоматизации и бизнес-процесса

Кафедра «Информационных технологий в бизнесе» - это кафедра Пермского кампуса НИУ ВШЭ, которая обеспечивает подготовку кадров высшей квалификации в области информационных технологий в экономике и бизнесе. Кафедра состоит, примерно, из 25 сотрудников и преподавателей.

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

Описание бизнес-процесса:

«Преподаватели кафедры заполняют формы по учебно-методической и научной работе в личном кабинете системы. Специалист по учебно-методической деятельности генерирует отчеты по введенным данным сотрудников кафедры».

Обзор существующих форм отчетов по научной и учебно-методической деятельности

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

Данный отчет представляет собой документ в формате doc/docx, состоящий из трех основных частей, которые в свою очередь, делятся на под части:

Учебно-методическая работа:

Подготовка учебно-методических материалов.

Подготовка учебно-методических пособий, учебников.

Разработка программ учебных дисциплин.

Разработка учебно-методических комплексов.

Научная работа преподавателей кафедры/департамента:

Публикации.

Участие в конференциях.

Работа по грантам.

Повышение квалификации.

Другие виды работ.

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

Выбор и разработка алгоритмов для реализации системы учета учебно-методической и научной деятельности

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

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

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

Рисунок 2.1. Концептуальная модель СНБД

Конфигурируемые информационно-справочные системы (КоИСС) - это класс информационных систем, обладающий функциями подстройки для достижения соответствия изменяющимся условиям использования [9, 10].

Согласно рисунку 2.1, для работы СНБД разработчику необходимо:

Модель предметной области преобразовать в форму представления СНБД.

Наполнить соответствующими справочниками, значениями логический уровень СНБД.

Преобразовать модель СНБД в реляционную форму, распределить метаданные и данные по соответствующим таблицам.

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

Для проектирования СНБД для данной предметной области были взяты за основу работы Кучерова С.А. [9] по разработке и исследовании моделей и метода проектирования структурно-независимых баз данных для конфигурируемых информационных систем. СНБД представляется системой

,

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

Манипуляция структурами данных происходит:

Добавление сущности:.

Добавление атрибута:.

Связывание сущности и атрибутов:.

Связывание сущностей:.

Удаление сущности:.

Удаление атрибута: .

Удаление связи сущность-атрибут: .

Удаление связи сущностей:.

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

Алгоритм проектирования схемы СНБД для конкретной предметной области:

В первую очередь необходимо четко определить набор и структуру метаданных конкретной предметной области (рисунок 2.2).

Шаг 1. Представить множество сущностей и множество атрибутов в виде схемы реляционной базы данных.

Шаг 2. Определить реализации для отношений «структура сущностей», «экземпляры сущностей» и «структура связей». Преобразовать реализации в соответствующие сущности модели.

Рисунок 2.2. Алгоритм проектирования подсхемы метаданных в СНБД

Далее определяются типы пользовательских данных и разрабатывается подсхема данных (рисунок 2.3).

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

Шаг 2. Определить количество типов данных (T)и реализовать соответствующее количество идентичных сущностей, являющихся реализацией отношения V.

Определить связи между сущностями из подсхемы метаданных и подсхемы данных (рисунок 2.4).

Шаг 1. Определить для полученных сущностей первичные ключи.

Шаг 2. На основе полученного набора сущностей с первичными ключами специфицировать связи между ними и организовать две подсхемы данных (метаданные и данные).

Рисунок 2.3. Алгоритм проектирования подсхемы данных для СНБД

Рисунок 2.4. Алгоритм определения и спецификации связей между сущностями метаданных и данных СНБД

Визуальное моделирование системы с помощью языка Unified Modeling Language (UML)

Модель вариантов использования включает в себя:

диаграмму прецедентов(рисунок 2.5);

файлы с описанием модели (таблица 2.1).

Модель вариантов использования определяет поведение системы с точки зрения пользователя.

Рисунок 2.5. Диаграмма прецедентов для системы учета учебно-методической и научной деятельности

Таблица 2.1. Распределение требований по прецедентам

Требование

Субъект

Прецедент


Система должна обеспечить возможность просмотра личной информации и ее изменения

Преподаватель, Специалист по учебно-методической работе

Просмотр личной информации


Система должна обеспечить возможность манипуляции над данными о научной и учебно-методической деятельности сотрудника (преподавателя)

Преподаватель

Манипуляция над данными об учебно-методической и научной деятельности


Система должна обеспечить возможность составления отчетов по кафедре

Специалист по учебно-методической работе

Составить отчет


Система должна обеспечить возможность составления отчета по личным данным пользователя

Преподаватель

Составить отчет


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

Специалист по учебно-методической работе

Изменить структуру отчета


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

Специалист по учебно-методической работе

Добавить нового сотрудника




Выбор и анализ используемых технологий

Для выбора инструментальных средств для разработки прототипа системы учета учебно-методической и научной деятельности были рассмотрены среды с поддержкой языков программирования C#, C++ и Java. А также при отборе данных систем учитывались ограничения по времени и знаниях исполнителя.

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

Таблица 2.2. Варианты технологий для реализации

Тип приложения

Технология

Язык программирования

Среда разработки

Настольное приложение

WindowsForms

C#

VisualStudio

Настольное приложение

Win32 API

С++

Visual Studio

Web-приложение

ASP.Net

C#, JS

Visual Studio

Web-приложение

Java

Java

Eclipse

Настольное приложение

JavaFX

JavaFX Script, Java

Eclipse


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

Критерии сравнения:

Скорость овладения технологией (требуется ли обучение?).

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

Стоимость лицензии данной технологии. ++ (технология Win32 API):++ - мощный язык, содержащий средства создания эффективных программ практически любого назначения, поэтому при правильном подходе с его помощью можно создать качественный программный продукт.

Данная технология рассматривалась в ознакомительных целях и при выборе данной технологии необходимо будет затратить дополнительное время на изучение возможностей C++.

Для студентов НИУ ВШЭ среда разработки Visual Studi oпредоставляется бесплатно.FXScript, Java:FX - это платформа для создания RIA, которые могут запускаться на персональных компьютерах и мобильных устройствах. Технология JavaFX позволяет создавать приложения для работы с мультимедийным содержимым, графические интерфейсы пользователя для бизнес-приложений, игры для персональных компьютеров и мобильных устройств, насыщенные графикой, мультимедиа веб-сайты и др. Приложения JavaFX создаются с помощью декларативного языка программирования JavaFX Script. Приложения, написанные на языке JavaFX Script могут запускаться на компьютерах с установленной средой исполнения Java 1.5 и выше.

Главное преимущество JavaFX - поддержка библиотек Java, получение компактного кода. Как и в случае с предыдущим вариантом (Win32 API), при знании возможностей технологии, проблем с качеством не возникнет. Однако, опять же существует проблема со знанием языка и технологии. FXможно скачать и установить бесплатно.Forms, C#Forms позволяет разрабатывать интеллектуальные клиенты. Интеллектуальный клиент - это приложение с полнофункциональным графическим интерфейсом, простое в развертывании и обновлении, способное работать при наличии или отсутствии подключения к Интернету и использующее более безопасный доступ к ресурсам на локальном компьютере по сравнению с традиционными приложениями Windows. С помощью языка C# можно создавать обычные приложения Windows, XML-веб-службы, распределенные компоненты, приложения "клиент-сервер", приложения баз данных и т. д. Visual C# предоставляет развитый редактор кода, конструкторы с удобным пользовательским интерфейсом, встроенный отладчик и множество других средств, упрощающих разработку приложений на базе языка C# и .NET Framework. Кроме этого, синтаксис языка выразительный и достаточно простой в изучении.

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

Поэтому, исходя из преимуществ и недостатков всех рассмотренных средств (таблица 2.3), было решено использовать для создания прототипа системы учета учебно-методической и научной деятельности сотрудников среду разработки VisualStudio, технологию WindowsForms, язык программирования VisualC#.

Таблица 2.3. Таблица сравнения средств разработки

Вариант реализации

Скорость овладения технологией

Качество ПО

Стоимость лицензии

Win32 API, C++

Требуется

+

VisualStudio: бесплатно для студентов НИУ ВШЭ

JavaFX Script, Java

Требуется

+

Eclipse: бесплатно

Windows Forms, C#

Не требуется

+

VisualStudio: бесплатно для студентов НИУ ВШЭ


Варианты СУБД:SQL.(язык PL/pgSQL).

Oracle Database (язык PL/SQL).

Для выбора СУБД решено было сравнить их по следующим критериям:

Поддерживаемая ОС. Идеальный вариант: Windows.

Стоимость лицензии. Идеальный вариант: бесплатно

Знание языка запросов, требуется ли обучение группы? Идеальный вариант: не требуется.

Таким образом, на основе сравнения СУБД по вышеуказанным критериям (таблица 2.4), было принято решение использовать СУБД Microsoft SQL Server [20].

Таблица 2.4 Сравнение СУБД

Название СУБД

Поддерживаемая ОС

Стоимость лицензии

Знание языка запросов

MicrosoftSQLServer

Windows, UNIX, OS/2

Бесплатно для студентов (DreamSpark)

Обучение не требуется

PostgreSQL

Кроссплатформенное ПО

Бесплатно

Обучение требуется

Oracle Database

Кроссплатформенное ПО

Коммерческая лицензия

Обучение требуется


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

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

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

Рисунок 2.6. Схема преобразования реляционной БД в СНБД

При проектировании базы данных, необходимые данные, которые должны храниться в ней [6,7], были условно поделены на четыре части: информация о пользователях,факультете и кафедре, об учебно-методической деятельности и информация о научной работе сотрудников. При проектировании базы данных использовался метод «восходящего проектирования БД», т.е. сначала определялись свойства (атрибуты) сущности, а затем группировались по таблицам на основе их взаимосвязей. Затем полученная БД проверялась на соответствие 3НФ, для исключения различных аномалий при работе с ней. После чего был использован метод нормализации БД.

Таким образом, для пользователей системы была выделена таблица «Person», куда будут включены как преподаватели вуза, так и специалисты по учебно-методической работе. В данную таблицу включена личная информация: ФИО, должность, контактные данные и т.п., также указана категория (тип) пользователя, логин и пароль для входа в систему, принадлежность к факультету и кафедре университета.

Информация о вузе подразделена на кафедры и факультеты соответственно на две таблицы «Faculty» и «Department».

Данные об учебно-методической деятельности разделялись на таблицы соответственно по шаблону отчета (приложениеA):

Подготовка учебно-методического материала - таблица «Material» включает информацию виды работ, ответственное лицо и срок исполнения.

Подготовка учебно-методических пособий, учебников - таблица «Textbook» включает информацию об авторе наименовании пособия, объеме работы и т.п.

Разработка программ учебных дисциплин - таблица «Subject» содержит информацию о дисциплине, направлении подготовки, для которой она преподается, авторе программы и сроках исполнения.

Разработка учебно-методических комплексов (УМК) - таблица «Complex» представлена информация о названии и авторах УМК, направлении подготовки и дисциплине, для которой они используются, объеме и сроках исполнения.

Так как любой из перечисленных выше видов работ может содержать одного и более автора, то появилась связь «многие-ко-многим» от таблиц «Material», «Textbook», «Subject», «Complex» к «Person». Для того чтобы решить проблему данной связи было принято решение о добавление в базу данных вспомогательных таблиц: «Material_Person», «Textbook_Person», «Subject_Person», «Complex_Person», в которые содержат поля «id_person» и идентификатор соответственного вида учебно-методической работы.

Данные о научной работе разделялись соответственно по шаблону отчета (приложение A) на таблицы:

Участие в конференциях - таблица «Conference»содержит информацию о названии, месте, тезисе и участнике конференции.

Работа по грантам - таблица «Grant» включает информацию названии, объеме, источнике финансирования гранта.

Повышение квалификации - таблица «Training» содержит информацию о преподавателе получившим повышение и номер полученного документа, месте, названии и виде повышения квалификации.

Публикации - таблица «Publication» содержит информацию о названии публикации и дате создания (опубликования).

Наследниками сущности «Publication» являются «Book» (представлена информация о книгах), «Chapter» (данные об опубликованных главах книг), «Article» (содержит информацию о статьях), «Preprint» (данные о препринтах). Так как данные типы публикаций могут содержать от одного и более авторов, данные таблица имели связь «многие-ко-многим» с таблицей «Person», поэтому для того чтобы ликвидировать данное отношение, было принято решение о создании вспомогательных таблицах: «Person_Book», «Person_Chapter», «Person_Article» и «Person_Preprint» в которые содержат поля «id_person» и идентификатор соответственного видапубликаций. Аналогичная ситуация сложилась и с отношениями в таблицах «Conference», «Grant» и «Training» к таблице «Person», для решения данной проблемы были созданы соответствующие таблицы «Conference_Person», «Grant_Person» и «Training_Person», которые содержат поля «id_person» и идентификатор соответственного вида научной деятельности.

Получившаяся схема БД представлена на рисунке 2.7.

Для проектирования СНБД для учета учебно-методической и научной деятельности использовался метод проектирования на основе концептуальной и математической модели структурно-независимых баз данных [21].

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

иерархический справочник в схеме СНБД представлена в виде таблицы «Structure_EA» и содержит информацию о сущностях и их атрибутах;

справочник структур представлен с помощью таблицы «Structure_link», которая содержит информацию об отношениях между сущностями, ключевых атрибутах и типах связей;

справочник экземпляров содержит набор экземпляров существующих сущностей.

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

Рисунок 2.7. Структурно-независимая база данных

Проектирование пользовательского интерфейса

Процесс создания пользовательского интерфейса начинается с анализа прецедентов системы (см. пункт 2.4), затем определяются кооперативные взаимодействия для реализации прецедентов, описывают то, какой будет видеть систему пользователь.

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

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


Рисунок 2.8. Схема реляционной базы данных

Рисунок 2.9. Экранная форма «Авторизация»

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

Рисунок 2.10. Экранная форма «Личный кабинет» для пользователя «Преподаватель»

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

При работе с приложением пользователь может просмотреть существующие в базе данных информацию о научной (рисунок 2.11) и учебно-методической деятельности (рисунок 2.12), а также изменить ее или дополнить новыми данными.

В окнах (рисунок 2.11-2.12) пользователю необходимо выбрать необходимые критерии для вывода данных и нажать кнопку «Поиск», после чего система в виде таблицы выведет запрашиваемые пользователем данные.

Рисунок 2.11. Экранная форма «Научная деятельность»

Рисунок 2.12. Экранная форма «Учебно-методическая деятельность»

Также пользователь «Преподаватель» имеет возможность сформировать персональный отчет по учебно-методической и научной деятельности. Для этого необходимо выбрать из меню пункт «Создать новую форму отчета», после чего открывается окно «Форма отчета», которое представлено на рисунке 2.13, в котором пользователь выбирается всю необходимую информацию за определенный период времени, которую нужно отразить в отчете и нажать на кнопку «Сгенерировать отчет».

Рисунок 2.13. Экранная форма «Новая форма отчета»

Экранные формы для пользователя «Специалист по учебно-методической работе» выглядят иначе, так, например, дизайн формы «Личный кабинет» представлен на рисунке 2.14.

На форме «Создать отчет» (рисунок 2.15) пользователь выбирает период формирования отчета и список преподавателей, информацию по которым необходимо внести в отчет.

Рисунок 2.14. Экранная форма «Личный кабинет»

Рисунок 2.15. Экранная форма «Создание отчета»

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

Рисунок 2.16. Экранная форма «Добавить сотрудника»

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

Рисунок 2.17. Экранная форма «Изменить структуру отчета»


Программная реализация системы учет учебно-методической и научной деятельности

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

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

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

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

Разработка функций CRUD метаданных для СНБД

ФункцииCRUD (Create, Read, Update, Delete) - функциипо созданию, чтению, обновлению и удалению данных. Для работы с СНБД стандартных функций, применимых к реляционной БД недостаточно, так как информация разделена по типам данных, метаданным и связям между ними.

Как и в реляционных данных, СНБД содержит сущности и атрибуты характеризующие предметную область, однако, в реляционной базе данных сущностями являются сами таблицы (их названия), а атрибутами - поля таблицы. В СНБД формат метаданных представлен иным способом, но с помощью реляционных таблиц. В таблицах «Entity» и«Attribute»идентифицируются названия сущностей и атрибутов, а в таблице «Structure_EA» представлено их отношение и тип данных, хранимых в атрибуте.

В окне «Изменить структуру отчета» доступном для пользователя «Специалист по учебно-методической деятельности» (рисунок 2.17) данные представляются с помощью иерархического дерева и подразделяются на два типа: данные по учебно-методической работе и данные по научной деятельности. Тем самым просматривается текущая структура отчета (Приложение С). Для того чтобы представить структуру отчета таким образом был использован элемент treeView, на котором корневой узел - это сущность, а дочерние узлы - это атрибуты, соответствующие данной сущности. Для того чтобы данные выводились таким образом была разработана функция обхода двух таблиц («Entity» и «Structure_EA»):

//Выбираем все существующие в бд сущности, соответствующие конкретному виду деятельности

SqlCommand cmd = newSqlCommand("Select Id_Entity From Entity Where typeEnt = 2", conn);(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{

//имя родительской сущности

string parent = MyReader["Id_Entity"].ToString().Trim();= newTreeNode(parent);.Nodes.Add(parent);

i++;.Open();

//запрос на выбор всех записей, принадлежащих выбранной сущности

SqlCommand cmd2 = newSqlCommand("Select id_attribute, type From Structure_EA Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", parent);(SqlDataReader MyReader2 = cmd2.ExecuteReader())

{(MyReader2.Read())

{

//Вывод атрибута и соответствующего типа

string child = MyReader2["id_attribute"].ToString().Trim() + " (" + MyReader2["type"].ToString().Trim() + ")";.Nodes[i].Nodes.Add(parent, child);

}

}.Close();

}

}.Close();

Для того чтобы добавить новую сущность необходимо на форме «Изменить структуру отчета» кликнуть на кнопку «Добавить новую сущность» внизу окна и откроется окно для добавления новой сущности в базу данных (рисунок 3.1), в которой необходимо ввести название новой сущности и выбрать к какому типу деятельности она относится.

Рисунок 3.1. Добавление новой сущности в БД

Для добавления новой сущности разработана функция InsertEntity:

publicvoidInsertEntity(stringentity)

{

//Оператор sqlcmd = newSqlCommand("INSERT INTO [Entity] ([Id_Entity]) VALUES (@entity)", conn);.Parameters.AddWithValue("@entity", entity);

cmd.ExecuteNonQuery();

}

Для добавления атрибута и связи его к определенной сущности, необходимо на форме «Изменить структуру отчета» в элементе treeViewдважды кликнуть на родительский элемент (сущность) к которой будет привязан добавленный атрибут, после чего откроется окно «Добавить атрибут» (рисунок 3.2), в которм необходимо ввести название атрибута и выбрать тип данных.

Рисунок 3.2. Добавление атрибута

Для добавления атрибута и привязка его к выбранной сущности разработана функции InsertAttrи InsertStructere_EA:

publicvoid InsertAttr (string attr)

{

//Оператор sqlcmd = newSqlCommand("INSERT INTO [Attribute] ([Id_attribute]) VALUES (@Id_attribute)", conn);.Parameters.AddWithValue("@Id_attribute", attr);.ExecuteNonQuery();

}

publicvoid InsertStructure_EA (string id_entity, string id_attribute, string type)

{cmd1 = newSqlCommand("Select Count(*) From Structure_EA", conn);getValue = cmd1.ExecuteScalar().ToString();i = Convert.ToInt32(getValue)+1;cmd = newSqlCommand("INSERT INTO [Structure_EA] ([Id_EA], [id_entity], [id_attribute], [type]) VALUES (@Id_EA, @id_entity, @id_attribute, @type)", conn);.Parameters.AddWithValue("@Id_EA", i);.Parameters.AddWithValue("@id_entity", id_entity);.Parameters.AddWithValue("@id_attribute", id_attribute);.Parameters.AddWithValue("@type", type);

cmd.ExecuteNonQuery();

}

Разработка функций CRUD пользовательских данных для СНБД

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

Идентификатор конференции - числовой тип, не задается пользователем, а генерируется автоматически и связывается с идентификатором участника конференции (преподавателя).

Название конференции - строковый тип;

Место проведения - строковый тип;

Дата проведения - тип дата;

Тема доклада (тезисы) - тип строковый.

Пользователю системы необходимо добавить новые данные о конференции: «ТРИС-2015, г. Геленджик, 20.09.2015, тезис «Защита документов и товаров с использованием электронной цифровой подписи». Таким образом, на форме «Добавить данные» (Рисунок 3.3) пользователь заполняет поля с соответствующими атрибутами (2-5) и выбрать имя участников (авторов/соавторов) данной темы и конференции, после чего система формирует в таблицах «Instance_entity» и«Relation» записи о новой сущности и ее связи с другими сущностями, а именно с Автором, по полю идентификатор. Затем, распределяет значения по соответствующим таблицам, соответствующим им типам, так, например, значения полей «название», «место», «тема доклада» запишутся в таблицу «String», «сроки» в таблицу «date».

Рисунок 3.3. Форма «Добавить данные»

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

Рисунок 3.4. Расположение данных в СНБД

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

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

Разработка программного заполнения формы элементами управления

Для экономии памяти (исключения дублирования кода) и увеличения производительности программы, была создана единая форма «добавить данные» (рисунок 3.3). Для создания элементов label (для подписи полей) и textbox (для ввода значений) была разработана функция:

privatevoid AddNewInstance_Load(object sender, EventArgs e)

{= Education.nameColumn; //значенияполей= newControl[nameColumns.Length];

entity = Education.entity; //для какой сущности происходит заполнение

for (int i = 0; i < nameColumns.Length; i++) //создание подписей для полей

{[i] = newLabel() { Name = "label" + name Columns[i].ToString(), Location = newPoint(20, (i + 1) * 30), Text = name Columns[i].ToString(), Visible = true };.Controls.Add(controlArray[i]);

}(int i = 0; i < nameColumns.Length; i++) //создание полей

{controlArray[i] = newTextBox() { Name = nameColumns[i].ToString(), Location = newPoint(150, (i + 1) * 30), Text = "", Size = newSize(300, 20) };.Controls.Add(controlArray[i]);

}

}

После заполнения формы, происходит считывание данных, определение их типов и запись по соответствующим таблицам подсхемы данных в СНБД:

//определяем тип атрибута и записываем в соответствующие таблицы

for (int j = 0; j < nameColumns.Length; j++)

{ SqlCommand cmd2 = newSqlCommand("Select typeAttr From Attribute where id_attribute = @attribute", conn2);.Parameters.AddWithValue("@attribute",nameColumns[j]);type = cmd2.ExecuteScalar().ToString();(type)

{ case"строковый": AddInstanceString(i, nameColumns[j], controlArray[j].Text.ToString()); break;"числовой": AddInstanceInteger(i, nameColumns[j], Convert.ToInt32(controlArray[j].Text)); break;"дата": AddInstanceDate(i, nameColumns[j], controlArray[j].Text.ToString()); break;

default: break;

}

}

Разработка функций генерации отчета по учебно-методической и научной деятельности

Как для пользователя Преподаватель, так и для Специалиста по учебно-методической работе в системе предусмотрены функции генерации отчета по учебно-методической и научной деятельности, отличаются они тем, что для преподавателя отчет генерируется индивидуально, а для специалиста по учебно-методической и научной работе отчет составляется по кафедре/департаменту в целом. Однако, предусмотрены настройки отчета, так для пользователя Преподаватель существуют функции выбора того или иного компонента работ (рисунок 3.6), а для пользователя Специалист по учебно-методической работе существуют функции выбора преподавателей, данные о которых включаются в отчет (рисунок 3.7).

Рисунок 3.6. Форма настроек отчета для Преподавателя


Рисунок 3.7. Форма настроек для Специалиста по учебно-методической работе

Выводы по главе

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

Заключение

учет научный справочный учебный

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

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

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

При проектировании системы были выявлены и изложены требования (ТЗ) к системе, смоделирована система с помощью языка Unified Modeling Language (UML), произведен анализ и выбор используемых технологий и выполнено проектирование пользовательского интерфейса.

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

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

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

В дальнейшем, прототип системы будет дорабатываться в соответствии с требованиями, будет внедрен на кафедру информационных технологий в бизнесе НИУ ВШЭ-Пермь, расширен до применения сотрудниками факультета или кампуса.

Список сокращений и условных обозначений

ППС

профессорско-преподавательский состав

БД

база данных

СНБД

структурно-независима база данных

ТЗ

техническое задание

НИУ ВШЭ

национальный исследовательский университет «Высшая школа экономики»

АСАВ

система «Абитуриент-Студент-Выпускник-Аспирант»

СУБД

система управления базами данных

КоИСС

конфигурируемые информационно-справочные системы

ПО

программное обеспечение

НФ

нормальная форма БД

УМК

учебно-методической комплекс



Библиографический список

Акимов А. А., Бурукина И. П. Формирование требований к информационно-аналитическим системам мониторинга деятельности кафедры // Современные научные исследования и инновации. Ноябрь, 2012. URL: http://web.snauka.ru/issues/2012/11/18511 (дата обращения 25.01.2016).

Акимов А. А. Критерии сравнения информационных систем мониторинга деятельности кафедры // Университетское образование: сборник статей XVI Международной научно-методической конференции. Пенза, 2012.

Беликов А.А. Достоинства и недостатки системы «Галактика» // Независимый ERP-портал. URL: http:// https://iias.petrsu.ru/portal/page/portal/portal_iais/about_iais (дата обращения: 03.12.15).

Высшее образование в XXI веке: подходы и практические меры / СГУ. - М., 1999. - 36 с.

Гойвертс Я., Левитан С. Регулярные выражения. Сборник рецептов. СПб.:Символ-Плюс, 2010. 230 с.

ГОСТ 7.5-98 Журналы, сборники, информационные издания. Издательское оформление публикуемых материалов. М., 1998. 9 с.

ГОСТ Р 7.0.5-2008. Библиографическая ссылка. Общие требования и правила составления. М., 2008. 19 с.

Заславская Е.А. Педагогическое проектирование учебно-методической деятельности технического вуза. Барнаул: Омский государственный педагогический университет, 2014. 98 с.

Кучеров С. А. Разработка и исследование моделей и метода проектирования структурно-независимых баз данных для конфигурируемых информационных систем. Автореферат дис. канд. техн. наук.:05.25.05. / С. А. Кучеров - Таганрог., 2013. 19 с.

Лядова Л.Н. Технология создания динамически адаптируемых информационных систем // Труды междунар. науч.-техн. конф. «Интеллектуальные системы» (AIS'07). Т. 2 - М.: Физматлит, 2007. 30 с.

Маланин В.В. Единая телеинформационная система Пермского государственного университета. URL: http://www.erp-online.ru/phparticles/show_news_one.php?n_id=264 (дата обращения: 03.12.15).

О системе ИАИАС вуза. // Технологии эффективного управления вузом. URL: http:// https://iias.petrsu.ru/portal/page/portal/portal_iais/about_iais (дата обращения: 03.12.15).

Писляков В. В. Основные методы оценки научного знания по показателям цитирования // Социологический журнал. 2007. № 1. С. 128-140.

Регламент оценки публикационной активности научных работников Национального исследовательского университета «Высшая школа экономики». - Москва: от 28.02.14. - 4 с.

Система управления учебным процессом (АСАВ). // Дирекция информационных технологий Национальный исследовательский университет «Высшая школа экономики». URL: <http://it.hse.ru/asav> (дата обращения: 25.01.2016).

Справочник по публикациям. // Национальный исследовательский университет «Высшая школа экономики»: сайт. Пермь, 2013. URL: http://portal.hse.ru/newp/ (дата обращения 05.12.15).

Информационная система университета. О системе. // Портал НГТУ. URL: http// http://ciu.nstu.ru/isu/isu_about (дата обращения 24.01.2016).

Ястребов О.К. Оценка качества образования как инструмент оценки деятельности вузов. М.: ЭКОРИС-НЭИ, 2009. 20 с.

Шаблон отчета по учебно-методической и научной деятельности

Учебно-методическая работа.

. Подготовка учебно-методических материалов

Вид работы

Ответственное лицо

Срок исполнения














. Подготовка учебно-методических пособий, учебников

Название

Автор

Срок исполнения

Гриф

Объем (п.л.)




















. Разработка программ учебных дисциплин

Код и название направления подготовки

Дисциплина

Автор программы

Срок исполнения

















. Разработка учебно-методических комплексов

Код и название направления подготовки

Дисциплина

Название УМК

Автор УМК

Объем п.л.

Срок исполнения






















Примечание. В отчете работы кафедры указывается фактическое количество физических печатных листов.

Научная работа преподавателей кафедры/департамента

1. Публикации

Наименование работы

Автор

Время сдачи работы

Объем работы (в п.л.)

Наличие рекомендации ВАК

Монографии







Статьи в зарубежных изданиях







Статьи, опубликованные в центральных изданиях







Статьи, опубликованные в вузовских изданиях








. Участие в конференциях

ФИО преподавателя

Название конференции

Место проведение конференции

Сроки проведение

Тема доклада (тезисы)

Выступление с докладом







Опубликование тезисов








. Работа по грантам

ФИО преподавателя

Название гранта

Объем финансирования

Источник финансирования







4. Повышение квалификации

ФИО преподавателя

Вид повышения квалификации

Название

Место проведения

Сроки проведения

Название и номер документа








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

. Другие виды работ.

Техническое задание

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

"НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

"ВЫСШАЯ ШКОЛА ЭКОНОМИКИ"

Пермский филиал

Факультет экономики, менеджмента и бизнес-информатики

СИСТЕМА УЧЕТА УЧЕБНО-МЕТОДИЧЕСКОЙ И НАУЧНОЙ ДЕЯТЕЛЬНОСТИ СОТРУДНИКОВ КАФЕДРЫ

Техническое задание

Пермь, 2016

Настоящее техническое задание (ТЗ) определяет назначение системы, общие и индивидуальные требования к информационной системе учета научной и учебно-методической деятельности сотрудников кафедры Информационных технологий в бизнесе НИУ ВШЭ-Пермь, предназначенной для автоматизации процесса учета учебно-методической и научной работы, создания единой гибкой системы документооборота по данным видам деятельностей.

.        Общие сведения

.1.     Наименование системы

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

.2.     Наименования Разработчика и Заказчика работ

Разработчик:

Золотарева Ксения Ивановна, студентка 4 курса НИУ ВШЭ-Пермь, направления «Программная инженерия».

Контактные данные: Losman-kseniya@mail.ru, 8-982-48-66-870

Заказчик:

Кафедра «Информационных технологий в бизнесе» НИУ ВШЭ-Пермь.

Адрес: г. Пермь, ул. Б. Гагарина 37 А.

.3.     Основание для проведения работ

Система разрабатывается на базе выпускной квалификационной работы и преддипломной практики, при их защите будут представлены результаты прототипа системы. Результатом работы будет являться выпускная квалификационная работа (ВКР).

.4.     Порядок оформления и предъявления Заказчику результатов работ

Работы по созданию Системы производятся и принимаются поэтапно.

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

Система разрабатывается на базе выпускной квалификационной работы и преддипломной практики, при их защите будут представлены результаты прототипа системы. Результатом работы будет являться выпускная квалификационная работа (ВКР).

.        Назначение и цели создания системы

.1.     Назначение системы:

Системы учета учебно-методической и научной деятельности сотрудников предназначено для:

Автоматизации процесса составления и сбора данных для отчета по учебно-методической и научной работе.

Сбора данных по учебно-методической работе.

Изменения структуры отчета.

.2.     Цели создания системы

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

Создание единой гибкой системы документооборота по учебно-методической и научной работе кафедры (департамента).

Создание механизма по формированию отчета для учебно-методической и научной.

Обеспечение возможности изменение структуры данных без дополнительных трудозатрат.

.        Требования к системе

.1.     Требования к системе в целом

.1.1.  Требования к структуре и функционированию системы

•        Система включает в себя два вида пользователей: Преподаватель и специалист по учебно-методической работе. Для Преподавателя характерны такие подсистемы как: Личный кабинет, Информация о персональной учебно-методической и научной деятельности (функции CRUD) и составление отчета за определенный период. Для Специалиста по учебно-методической работе характерны подсистемы: личный кабинет, информация об учебно-методической и научной работе кафедры, генерация отчета по кафедре в целом за определенный период (создание структуры отчета, генерация отчета), изменение структуры отчета и добавление новых пользователей в систему.

•        Требования к способам и средствам связи для информационного обмена между компонентами системы: на сервере НИУ ВШЭ - Пермь располагается база данных системы, на персональных компьютерах, имеющих доступ к серверу, устанавливается система и подключается к этой базе данных.

•        Перспективы развития системы: переход системы в web-приложение, тогда доступ к системе будет возможет с любого устройства при наличии интернета. Расширение системы для Пермского кампуса.

.1.2.  Требования к численности и квалификации персонала

Пользователями системы являются сотрудники кафедры «Информационных технологий в бизнесе» порядка 30, уверенные пользователями персонального компьютера (ПК).

Перед запуском системы в эксплуатацию пользователям рекомендуется ознакомиться с документом «Руководство пользователя».

.1.3.  Показатели назначения:

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

.1.4.  Требования к надежности

Показатели надежности будут определяться на этапе предпроектного обследования.

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

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

.1.5.  Требования к эргономике и технической эстетике

Требования к внешнему оформлению:

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

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

Требования к диалогу с пользователем:

Информационные сообщения или сообщения об ошибках должны выводиться либо на отдельной форме (message box), либо непосредственно около поля, где произошла ошибка, подробно описав причину появления сообщения;

При продолжительной работе системы (более 5 сек.) система должна оповестить пользователя о том, что система не зависла, а продолжает работать и необходимо подождать определенное время.

.1.6.  Требования к эксплуатации, техническому обслуживанию, ремонту и хранению компонентов системы

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

Для стабильного функционирования системы необходимо напряжение питания сети 220В, исправные аппаратные средства.

.1.7.  Требования по сохранности информации

Средствами обеспечения сохранности информации являются:

Носители информации.

Резервное копирование БД.

Резервная копия ПО.

Ситуации для обеспечения сохранности информации:

Поломка рабочей станции, сервера.

Отключение питания.

Поломка аппаратуры или его составляющих.

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

.2.     Функциональные требования

Система должна обеспечивать:

•        Работу для двух типов пользователей: Преподаватель и Специалист по учебно-методической работе.

•        Доступ к личному кабинету пользователя, где осуществляются функции CRUD (create, read, update, delete) над данными.

•        Доступ к персональной информации об учебно-методической и научной работе Преподавателя и доступ ко всей информации по кафедре для Специалиста по учебно-методической работе.

•        Осуществление функций CRUD над данными по учебно-методической и научной работе.

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

•        Генерация отчетов по актуальной информации из базы данных приложения по определенной дате.

.3.     Требования к входным/выходным данным:

•        Входные данные могут содержать персональную информацию о пользователе (ФИО, должность, контактные данные и т.п.), вводятся вручную непосредственно самим пользователем на формах приложения.

•        Входные данные об учебно-методической и научной работе сотрудника заполняются вручную на формах приложения или считываются с портала НИУ ВШЭ с персональной страницы пользователя.

•        Выходными данными является файл с отчетом в формате doc/docx или xls/xlsx.

.4.     Требования к видам обеспечения

.4.1.  Общие сведения

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

.4.2.  Требование к лингвистическому обеспечению

Языки программирования:

Разработка данной системы должна вестись на языках высокого уровня.

Языки взаимодействия с пользователем:

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

.4.3.  Требования к программному обеспечению:

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

Пакет файлов для установки системы и базы данных.

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

.        Состав и содержание работ по созданию (развитию) системы

Осуществление и порядок работ должен подразделяться на этапы, спецификация работ по созданию прототипа системы представлена в таблице В.1.

.        Порядок контроля и приемки системы

Приемку работ должна осуществлять приемочная комиссия:

Преподаватели кафедры «Информационных технологий в бизнесе».

Иные представители.

Таблица B.1. Спецификация работ по созданию прототипа системы

Стадия работ

Выполняемые работы

Итоги выполнения

Формирование требований

Исследование предметной области Исследование объектов автоматизации

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

Проектирование

Разработка технического задания Проектирование системы Разработка графического интерфейса

Техническое задание, диаграммы UML Пользовательский интерфейс, утвержденный заказчиком.

Разработка

Разработка прототипа системы

Прототип системы

Приемка работ

Представление результатов работы

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

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

После проведения контроля и приемки системы пункты ТЗ могут изменяться.

.        Требования к документированию

Документы должны быть представлены в печатном и электроном виде. Код программ в печатном виде и на flefh-носителе.

Документы должны быть оформлены на русском языке по стандартам НИУ ВШЭ.

Перечень подлежащих разработке документов:

Проект выпускной квалификационной работы.

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

Отчет по тестированию системы.

.        Порядок внесения изменений

Настоящее Техническое Задание может дополняться и редактироваться в процессе создания системы по взаимному соглашению Заказчика и Разработчика.

Код программы

Форма «Авторизация»:

conn.Open();cmd = newSqlCommand("Select Teacher.Id_teacher From Teacher Where password = @password and login = @login", conn);.Parameters.AddWithValue("@password", password.Text);.Parameters.AddWithValue("@login", login.Text);flag = false;(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{_person = Convert.ToInt32(MyReader[0].ToString().Trim());= true;

}

}(flag == true)

{.Close();form = newPersonalAccountTeacher();.ShowDialog();

}

{cmd2 = newSqlCommand("Select [Training_directorate].Id_training From Training_directorate Where password = @password and login = @login", conn);.Parameters.AddWithValue("@password", password.Text);.Parameters.AddWithValue("@login", login.Text);= false;(SqlDataReader MyReader = cmd2.ExecuteReader())

{(MyReader.Read())

{_person = Convert.ToInt32(MyReader[0].ToString().Trim());= true;

}

}(flag == true)

{.Close();form = newPersonalAccountTD();.ShowDialog();

}

{.Close();.Show("Неверныйлогинилипароль", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

}

Форма «Личный кабинет»

conn.Open();

SqlCommand cmd = newSqlCommand("Select * From Person Where Id_person = @id_person", conn);.Parameters.AddWithValue("@id_person", id_training);(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{_user = MyReader["f_name"].ToString().Trim() + " " + MyReader["i_name"].ToString().Trim() + " " + MyReader["o_name"].ToString().Trim();.Text = MyReader["f_name"].ToString().Trim() + " "+MyReader["i_name"].ToString().Trim() + " " + MyReader["o_name"].ToString().Trim();.Text = labelPost.Text+ " " + MyReader["post"].ToString().Trim();.Text = labelPhone.Text + " " + MyReader["phone"].ToString().Trim();.Text = labelEmail.Text + " " + MyReader["email"].ToString().Trim();.Text = labelAdress.Text + " " + MyReader["adress"].ToString().Trim();

}

}.Close();

Форма «Научная деятельность»

privatevoid ScienceActivity_Load(object sender, EventArgs e)

{.Open();cmd = newSqlCommand("Select * From Person Where Id_person = @id_person", conn);.Parameters.AddWithValue("@id_person", id_teacher);(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{.Text = MyReader["f_name"].ToString().Trim() + " " + MyReader["i_name"].ToString().Trim() + " " + MyReader["o_name"].ToString().Trim();

}

}.Close();.Open();

//Выбираем все существующие в бд сущности, соответствующие конкретному виду деятельности

SqlCommand cmd1 = newSqlCommand("Select Id_Entity From Entity Where typeEnt = 1", conn2);(SqlDataReader MyReader = cmd1.ExecuteReader())

{(MyReader.Read())

{

//имясущностиparent = MyReader["Id_Entity"].ToString().Trim();.Items.Add(parent);

}

}.Close();

}buttSearch_Click(object sender, EventArgs e)

{.Rows.Clear();= comboBoxType.Text;i = 0;.Open();cmd = newSqlCommand("Select Count(*) From Structure_EA Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", entity);(SqlDataReader MyRead = cmd.ExecuteReader())

{(MyRead.Read())

{s = MyRead[0].ToString().Trim();.ColumnCount = Convert.ToInt32(s);.ColumnHeadersVisible = true;

}

}.Close();

conn2.Open();

//запрос на выбор всех записей, принадлежащих выбранной сущности

SqlCommand cmd2 = newSqlCommand("Select id_attribute, type From Structure_EA Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", entity);(SqlDataReader MyReader = cmd2.ExecuteReader())

{(MyReader.Read())

{

//Заполнениешапкитаблицыattr = MyReader["id_attribute"].ToString().Trim();.Columns[i].Name = attr;

i++;

}

}.Close();

//Вывод данных в таблицу

conn2.Open();cmd3 = newSqlCommand("Select Id_instance From Instance_Entity Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", entity);type;[] row = newstring[dataPublication.ColumnCount]; //собираемстрокуэкземпляра

int iRow = 0; //счетчик для масситва row

using (SqlDataReader MyRead = cmd3.ExecuteReader())

{:(MyRead.Read())

{= 0;instance = Convert.ToInt32(MyRead["Id_instance"].ToString().Trim());(int j = 0; j < dataPublication.ColumnCount; j++)

{attr = dataPublication.Columns[j].Name;connection3 = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\комп1\Dropbox\HSE(4курс)\ВКР\Record System\Record System\SNBD.mdf;Integrated Security=True";conn3 = newSqlConnection(connection3);.Open();cmd4 = newSqlCommand("Select typeAttr From Attribute Where Id_attribute = @nameColumn", conn3);.Parameters.AddWithValue("@nameColumn", attr);(SqlDataReader MyReader = cmd4.ExecuteReader())

{.Read();= MyReader["typeAttr"].ToString().Trim();

}.Close();(type == "строковый")

{.Open();cmd5 = newSqlCommand("Select value from String Where id_instance = @instance and id_attribute = @attribute", conn3);.Parameters.AddWithValue("@instance", instance);.Parameters.AddWithValue("@attribute", attr);(SqlDataReader MyReader = cmd5.ExecuteReader())

{.Read();[iRow] = MyReader["value"].ToString().Trim();++;

}

}(type == "числовой")

{.Open();cmd5 = newSqlCommand("Select value from Integer Where id_instance = @instance and id_attribute = @attribute", conn3);.Parameters.AddWithValue("@instance", instance);.Parameters.AddWithValue("@attribute", attr);(SqlDataReader MyReader = cmd5.ExecuteReader())

{.Read();(attr != "Автор")

{[iRow] = MyReader["value"].ToString().Trim();++;

}

{(attr == "Автор"&&Convert.ToInt32(MyReader["value"].ToString().Trim()) == id_teacher)

{[iRow] = labelName.Text;++;

}First;

}

}

}(type == "дата")

{.Open();cmd5 = newSqlCommand("Select value from Date Where id_instance = @instance and id_attribute = @attribute", conn3);.Parameters.AddWithValue("@instance", instance);.Parameters.AddWithValue("@attribute", attr);(SqlDataReader MyReader = cmd5.ExecuteReader())

{.Read();[iRow] = MyReader["value"].ToString().Trim();++;

}

}

}.Rows.Add(row);

}.Close();

}

}butAdd_Click(object sender, EventArgs e)

{

//создаем массив, в котором содержатся названия столбцов в таблице

nameColumn = newstring[dataPublication.ColumnCount];(int i = 0; i < dataPublication.ColumnCount; i++)[i] = dataPublication.Columns[i].Name;.Hide();form = newAddScienceActivity();

form.ShowDialog();

}

Форма «Учебно-методическаядеятельность»

privatevoid Education_Load(object sender, EventArgs e)

{.Open();cmd = newSqlCommand("Select * From Person Where Id_person = @id_person", conn);.Parameters.AddWithValue("@id_person", id_teacher);(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{.Text = MyReader["f_name"].ToString().Trim() + " " + MyReader["i_name"].ToString().Trim() + " " + MyReader["o_name"].ToString().Trim();

}

}.Open();

//Выбираем все существующие в бд сущности, соответствующие конкретному виду деятельности

{(MyReader.Read())

{

//имясущностиparent = MyReader["Id_Entity"].ToString().Trim();.Items.Add(parent);

}

}.Close();.Close();

}comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

}buttSearch_Click(object sender, EventArgs e)

{.Rows.Clear();= comboBox1.Text;i = 0;

.Open();cmd = newSqlCommand("Select Count(*) From Structure_EA Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", entity);(SqlDataReader MyRead = cmd.ExecuteReader())

{(MyRead.Read())

{

s = MyRead[0].ToString().Trim();.ColumnCount = Convert.ToInt32(s);.ColumnHeadersVisible = true;

}

}.Close();

conn2.Open();

//запрос на выбор всех записей, принадлежащих выбранной сущности

SqlCommand cmd2 = newSqlCommand("Select id_attribute, type From Structure_EA Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", entity);(SqlDataReader MyReader = cmd2.ExecuteReader())

{(MyReader.Read())

{

//Заполнениешапкитаблицыattr = MyReader["id_attribute"].ToString().Trim();.Columns[i].Name = attr;

i++;

}

}.Close();

//Вывод данных в таблицу

conn2.Open();cmd3 = newSqlCommand("Select Id_instance From Instance_Entity Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", entity);type;[] row = newstring [Tabledata.ColumnCount]; //собираемстрокуэкземпляра

int iRow = 0; //счетчик для масситва row

using (SqlDataReader MyRead = cmd3.ExecuteReader())

{:(MyRead.Read())

{= 0;instance = Convert.ToInt32(MyRead["Id_instance"].ToString().Trim());(int j = 0; j < Tabledata.ColumnCount; j++)

{

attr = Tabledata.Columns[j].Name;connection3 = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\комп1\Dropbox\HSE(4курс)\ВКР\Record System\Record System\SNBD.mdf;Integrated Security=True";conn3 = newSqlConnection(connection3);.Open();cmd4 = newSqlCommand("Select typeAttr From Attribute Where Id_attribute = @nameColumn", conn3);.Parameters.AddWithValue("@nameColumn", attr);(SqlDataReader MyReader = cmd4.ExecuteReader())

{.Read();= MyReader["typeAttr"].ToString().Trim();

}.Close();(type == "строковый")

{.Open();cmd5 = newSqlCommand("Select value from String Where id_instance = @instance and id_attribute = @attribute", conn3);.Parameters.AddWithValue("@instance", instance);.Parameters.AddWithValue("@attribute", attr);(SqlDataReader MyReader = cmd5.ExecuteReader())

{.Read();[iRow] = MyReader["value"].ToString().Trim();++;

}

}(type == "числовой")

{.Open();cmd5 = newSqlCommand("Select value from Integer Where id_instance = @instance and id_attribute = @attribute", conn3);.Parameters.AddWithValue("@instance", instance);.Parameters.AddWithValue("@attribute", attr);(SqlDataReader MyReader = cmd5.ExecuteReader())

{.Read();(attr == "Автор"&&Convert.ToInt32(MyReader["value"].ToString().Trim()) == id_teacher)

{[iRow] = labelFio.Text;++;

}First;

}

}(type == "дата")

{.Open();cmd5 = newSqlCommand("Select value from Date Where id_instance = @instance and id_attribute = @attribute", conn3);.Parameters.AddWithValue("@instance", instance);.Parameters.AddWithValue("@attribute", attr);(SqlDataReader MyReader = cmd5.ExecuteReader())

{.Read();[iRow] = MyReader["value"].ToString().Trim();++;

}

}

}.Rows.Add(row);

}.Close();

}

Форма «Добавитьновуюзапись»

privatevoid AddNewInstance_Load(object sender, EventArgs e)

{= Education.nameColumn; //значенияполей= newControl[nameColumns.Length];

entity = Education.entity; //для какой сущности происходит заполнение

for (int i = 0; i < nameColumns.Length; i++) //созданиеподписейдляполей

{[i] = newLabel() { Name = "label" + nameColumns[i].ToString(), Location = newPoint(20, (i + 1) * 30), Text = nameColumns[i].ToString(), Visible = true };.Controls.Add(controlArray[i]);

}(int i = 0; i < nameColumns.Length; i++) //созданиеполей

{(nameColumns[i] == "Автор")

{.Open();cbAutor = newComboBox();.Location = newPoint(150, (i + 1) * 30);.Size = newSize(300, 20);[i] = cbAutor;.Controls.Add(controlArray[i]);cmd = newSqlCommand("Select f_name, i_name, o_name From Person", conn);(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{

//именавсехавторовautor = MyReader["f_name"].ToString().Trim() + " " + MyReader["i_name"].ToString().Trim() + " " + MyReader["o_name"].ToString().Trim();.Items.Add(autor);

}

}.Close();

}

{[i] = newTextBox() { Name = nameColumns[i].ToString(), Location = newPoint(150, (i + 1) * 30), Text = "", Size = newSize(300, 20) };.Controls.Add(controlArray[i]);

}

}

}butAdd_Click(object sender, EventArgs e)

{.Close();

//добавление id нового экземпляра класса

conn2.Open();cmd1 = newSqlCommand("Select Count(*) From Instance_Entity", conn2);getValue = cmd1.ExecuteScalar().ToString();i = Convert.ToInt32(getValue) + 1;cmd = newSqlCommand("Insert Into [Instance_Entity] (Id_instance, id_entity) VALUES (@Id_instance, @entity)", conn2);.Parameters.AddWithValue("@entity", entity);.Parameters.AddWithValue("@Id_instance", i);

cmd.ExecuteNonQuery();

//определяем тип атрибута и записываем в соответствующие таблицы

for (int j = 0; j < nameColumns.Length; j++)

{cmd2 = newSqlCommand("Select typeAttr From Attribute where id_attribute = @attribute", conn2);.Parameters.AddWithValue("@attribute",nameColumns[j]);(nameColumns[j] == "Автор")

{ [] nameAutor = controlArray[j].Text.Split(' ');.Open();cmd3 = newSqlCommand("Select Id_person From Person Where f_name = @f and i_name = @i and o_name = @o",conn);.Parameters.AddWithValue("@f", nameAutor[0]);.Parameters.AddWithValue("@i", nameAutor[1]);.Parameters.AddWithValue("@o", nameAutor[2]);idAutor = Convert.ToInt32(cmd3.ExecuteScalar().ToString());//id автора(i, nameColumns[j], idAutor);

}

{type = cmd2.ExecuteScalar().ToString();(type)

{"строковый": AddInstanceString(i, nameColumns[j], controlArray[j].Text.ToString()); break;"числовой": AddInstanceInteger(i, nameColumns[j], Convert.ToInt32(controlArray[j].Text)); break;"дата": AddInstanceDate(i, nameColumns[j], controlArray[j].Text.ToString()); break;: break;

}

}

}.Close();.Hide();form = newEducation();.ShowDialog();

}

///<summary>

///ДобавлениезначенияэкземпляравтаблицуString

///</summary>

///<param name="instance">id экзепмляра</param>

///<param name="attribute">атрибут</param>

///<param name="value">значение</param>AddInstanceString (int instance, string attribute, string value)

{cmd1 = newSqlCommand("Select Count(*) From String", conn2);getValue = cmd1.ExecuteScalar().ToString();

int i = Convert.ToInt32(getValue); //количество строк в таблице, для определения ключа

SqlCommand cmd = newSqlCommand("Insert Into String (Id_value, id_instance, id_attribute, value) Values (@Id_value, @id_instance, @id_attribute, @value)", conn2);.Parameters.AddWithValue("@Id_value", i);.Parameters.AddWithValue("@id_instance", instance);.Parameters.AddWithValue("@id_attribute", attribute);.Parameters.AddWithValue("@value", value);.ExecuteNonQuery();

}

///<summary>

///Добавлениезначенияэкземпляравтаблицу Integer

///</summary>

///<param name="instance">id экзепмляра</param>

///<param name="attribute">атрибут</param>

///<param name="value">значение</param>AddInstanceInteger(int instance, string attribute, int value)

{cmd1 = newSqlCommand("Select Count(*) From Integer", conn2);getValue = cmd1.ExecuteScalar().ToString();

int i = Convert.ToInt32(getValue); //количество строк в таблице, для определения ключа

SqlCommand cmd = newSqlCommand("Insert Into Integer (Id_value, id_instance, id_attribute, value) Values (@Id_value, @id_instance, @id_attribute, @value)", conn2);.Parameters.AddWithValue("@Id_value", i);.Parameters.AddWithValue("@id_instance", instance);.Parameters.AddWithValue("@id_attribute", attribute);.Parameters.AddWithValue("@value", value);.ExecuteNonQuery();

}

///<summary>

///Добавлениезначенияэкземпляравтаблицу Date

///</summary>

///<param name="instance">id экзепмляра</param>

///<param name="attribute">атрибут</param>

///<param name="value">значение</param>AddInstanceDate(int instance, string attribute, string value)

{[] dateValue = value.Split('.');[] dateInt = newint [dateValue.Length];(int j = 0; j < dateValue.Length; j++)

{[j] = Convert.ToInt32(dateValue[j]);

}date = newDateTime(dateInt[2], dateInt[1], dateInt[0]);cmd1 = newSqlCommand("Select Count(*) From Date", conn2);getValue = cmd1.ExecuteScalar().ToString();

int i = Convert.ToInt32(getValue); //количество строк в таблице, для определения ключа

SqlCommand cmd = newSqlCommand("Insert Into Date (Id_value, id_instance, id_attribute, value) Values (@Id_value, @id_instance, @id_attribute, @value)", conn2);.Parameters.AddWithValue("@Id_value", i);.Parameters.AddWithValue("@id_instance", instance);.Parameters.AddWithValue("@id_attribute", attribute);.Parameters.AddWithValue("@value", date);.ExecuteNonQuery();

}

Форма «Изменитьструктуруотчета»

privatevoid ChangeStructure_Load(object sender, EventArgs e)

{.Text = PersonalAccountTD.name_user;

//подключаемся к бд.Open();

TreeNode tree = newTreeNode();.ExpandAll();

int i = -1;

//Выбираем все существующие в бд сущности, соответствующие конкретному виду деятельности

SqlCommand cmd = newSqlCommand("Select Id_Entity From Entity Where typeEnt = 2", conn);(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{

//имя родительской сущности

string parent = MyReader["Id_Entity"].ToString().Trim();= newTreeNode(parent);.Nodes.Add(parent);

//treeView1.ExpandAll();++;.Open();

//запрос на выбор всех записей, принадлежащих выбранной сущности

SqlCommand cmd2 = newSqlCommand("Select id_attribute, type From Structure_EA Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", parent);(SqlDataReader MyReader2 = cmd2.ExecuteReader())

{(MyReader2.Read())

{

//Вывод атрибута и соответствующего типа

string child = MyReader2["id_attribute"].ToString().Trim() + " (" + MyReader2["type"].ToString().Trim() + ")";.Nodes[i].Nodes.Add(parent, child);

}

}.Close();

}

}.Close();= -1;

conn.Open();

//Выбираем все существующие в бд сущности

SqlCommand cmd3 = newSqlCommand("Select Id_Entity From Entity Where typeEnt = 1", conn);(SqlDataReader MyReader = cmd3.ExecuteReader())

{(MyReader.Read())

{parent = MyReader["Id_Entity"].ToString().Trim();= newTreeNode(parent);.Nodes.Add(parent);++;.Open();cmd4 = newSqlCommand("Select id_attribute, type From Structure_EA Where id_entity = @entity", conn2);.Parameters.AddWithValue("@entity", parent);(SqlDataReader MyReader2 = cmd4.ExecuteReader())

{(MyReader2.Read())

{child = MyReader2["id_attribute"].ToString().Trim() + " (" + MyReader2["type"].ToString().Trim() + ")";

//treeView1.Nodes.Add(parent, child);

//treeView1.Nodes.Add(parent, child, 0, 1);.Nodes[i].Nodes.Add(parent, child);

//treeView2.ExpandAll();

}

}.Close();

}

}.Close();

}

Форма «Добавитьновуюсущность»

publicvoid InsertEntity(string entity, int typeEnt)

{

//Оператор sqlcmd = newSqlCommand("INSERT INTO [Entity] ([Id_Entity], [typeEnt]) VALUES (@entity, @typeEnt)", conn);.Parameters.AddWithValue("@entity", entity);.Parameters.AddWithValue("@typeEnt", typeEnt);.ExecuteNonQuery();

}butAddEntity_Click(object sender, EventArgs e)

{.Open();typeEnt;(change.Text == "Учебно-методическаядеятельность")= 2;typeEnt = 1;(textBox1.Text, typeEnt);.Close();.Show("Добавлениесущностизавершено", "", MessageBoxButtons.OK, MessageBoxIcon.None);

}

Форма «Добавитьновыйатрибут»

publicvoid InsertStructure_EA (string id_entity, string id_attribute, string type)

{cmd1 = newSqlCommand("Select Count(*) From Structure_EA", conn);getValue = cmd1.ExecuteScalar().ToString();i = Convert.ToInt32(getValue)+1;cmd = newSqlCommand("INSERT INTO [Structure_EA] ([Id_EA], [id_entity], [id_attribute], [type]) VALUES (@Id_EA, @id_entity, @id_attribute, @type)", conn);.Parameters.AddWithValue("@Id_EA", i);.Parameters.AddWithValue("@id_entity", id_entity);.Parameters.AddWithValue("@id_attribute", id_attribute);.Parameters.AddWithValue("@type", type);.ExecuteNonQuery();

}AddAttribute_Load(object sender, EventArgs e)

{

.Text = labEntity.Text + ChangeStructure.selItem + "\":";

}butAddAttr_Click(object sender, EventArgs e)

{.Open();(tbAttr.Text, cbType.Text);_EA(ChangeStructure.selItem, tbAttr.Text, cbType.Text);.Close();.Show("Добавлениеатрибутазавершено","", MessageBoxButtons.OK, MessageBoxIcon.None);

}

Форма «Создатьотчет»

privatevoidCreateReport()

{

//созданиедокумента.Office.Interop.Word._Application app = new Microsoft.Office.Interop.Word.Application();

//загрузкадокумента.Office.Interop.Word._Document doc = null;fileName = "C:\\Users\\комп1\\Dropbox\\HSE(4курс)\\ВКР\\Record System\\doc.doc";falseValue = false;trueValue = true;missing = Type.Missing;= app.Documents.Open(ref fileName, ref missing, ref trueValue, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

//Открываем документ для просмотра..Visible = true;

}

privatevoid NewReportTeach_Load(object sender, EventArgs e)

{.Open();cmd = newSqlCommand("Select * From Person Where Id_person = @id_person", conn);.Parameters.AddWithValue("@id_person", id_teacher);(SqlDataReader MyReader = cmd.ExecuteReader())

{(MyReader.Read())

{.Text = MyReader["f_name"].ToString().Trim() + " " + MyReader["i_name"].ToString().Trim() + " " + MyReader["o_name"].ToString().Trim();

}

}.Close();.Items.Clear();.Items.Clear();.Open();

//Выбираем все существующие в бд сущности, соответствующие учебно-методической деятельности

SqlCommand cmd1 = newSqlCommand("Select Id_Entity From Entity Where typeEnt = 2", conn2);(SqlDataReader MyReader = cmd1.ExecuteReader())

{(MyReader.Read())

{.Items.Add(MyReader["Id_Entity"].ToString().Trim());

}

}

//Выбираем все существующие в бд сущности, соответствующие научной деятельности

SqlCommand cmd2 = newSqlCommand("Select Id_Entity From Entity Where typeEnt = 1", conn2);(SqlDataReader MyReader = cmd2.ExecuteReader())

{(MyReader.Read())

{.Items.Add(MyReader["Id_Entity"].ToString().Trim());

}

}.Close();

}

Похожие работы на - Учет учебно-методической и научной деятельности сотрудников кафедры информационных технологий в бизнесе НИУ ВШЭ-Пермь

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!