Разработка Web-сервиса консультационных услуг ИП Бетадзе

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

Разработка Web-сервиса консультационных услуг ИП Бетадзе

Содержание

Список сокращений

Введение

. Описание предметной области Web-сервиса

1.1 Анализ существующих решений

.2 Анализ предметной области

.3 Сбор и моделирование требований

.4 Спецификация требований

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

2.1 Архитектура сервиса

.2 Проектирование интерфейса

.3 Проектирование и разработка БД сервиса

.4 Структура проекта

.5 Клиентская часть

.6 Организация взаимодействия с БД

.7 Развертывание сервиса

3. Эффективность Web-сервиса

3.1 Оценка стоимости проекта

.2 Создание пооперационного перечня работ

.3 Эффективность проекта

Заключение

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

Приложение А. Техническое задание

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

Приложение В. DDL сценарий создания объектов базы данных

Приложение Г. Структура концептуальной модели на основе DSL

Приложение Д. Обоснование модели выбора жизненного цикла

СПИСОК СОКРАЩЕНИЙ

- Entity Data Model, модель «сущность-связь»;- доменный языка;- язык DSL на основе XML;

БД - база данных;

ВКР - выпускная квалификационная работа;

ЖЦ - жизненный цикл;

ПП - программный продукт;

ТЗ - техническое задание;

 

 


Введение


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

В ВКР рассматривается разработка Web-сервиса для предприятияпо обслуживанию компьютерной техники ИП Беридзе. Предприятие занимается как обслуживанием индивидуальных клиентов, так и предоставлением аутсорсинговых услуг. При работе с клиентами по договору одной из важнейших задач бизнеса является своевременное предоставление услуги. Традиционно связь с клиентом поддерживается по телефону. Однако требования развития клиентской сети, расширения бизнеса за счет пользователей Интернет требуют разработки и внедрения сайта компании и Web-сервисов консультирования клиентов и управления заказами.

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

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

Для достижения поставленной цели необходимо решить следующие задачи:

–  провести обследование предметной области;

–       построить модель предметной области «как есть» и выявить существующие недостатки;

–       построить модель «как будет» и предложить рекомендации по устранению выявленных недостатков предприятия;

–       разработать базу данных (БД) Web-сервиса для обеспечения функциональности работы сервиса;

–       провести отладку;

–       провести оценку эффективности принятых решений, и реализованного сервиса.

1.
Описание предметной области Web-сервиса

 

1.1 Анализ существующих решений


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

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

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

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

Компания обеспечивает выполнение следующего перечня услуг:

–  ИТ аутсорсинг;

–       ремонт компьютеров;

–       создание Web-сайтов;

–       продвижение или SEOоптимизация сайта;

–       маркетинг;

–       контекстная реклама.

Рисунок 1.1 - Главная страница компании «Эскулап ИТ-Сервис»

Рисунок 1.2 - Контактная страница компании «Эскулап ИТ-Сервис»

Более традиционным дизайнерским решением является сайт группы компаний «ГУDLINE» [2]. Страница, связанная с абонентским обслуживанием компьютерной техники, представлена на рисунке 1.3. На данной странице присутствует окно, обеспечивающее of-line связь с представителем компании.

Рисунок 1.3 - Контактная страницагруппы компаний «ГУDLINE»

1.2 Анализ предметной области


Предприятие ИП Беридзе предоставляет следующими виды услуг:

–  ремонт персональных компьютеров и ноутбуков;

–       установкой и настройкой ОС;

–       установкой и настройкой программ:

–       подключение и настройка сети;

–       антивирусная профилактика.

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

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

Рисунок 1.4 - Диаграмма вариантов основных категорий работников компании по оказанию ИТ услуг

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

Рассмотрим более подробно деятельность менеджера компании (см. рисунок 1.6). Офис менеджер обеспечивает:

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

–       прием заявок на аутсорсинг, сопровождение подписания договоров, сопровождение договоров аутсорсинга;

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

–       контроль деятельности исполнителей.

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

Рисунок 1.5 Диаграмма вариантов использования компании по оказанию ИТ услуг

Рисунок 1.6 Диаграмма вариантов использования менеджера компании

Рисунок 1.6 Диаграмма вариантов использования инженерной службы

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

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

Рассмотренные виды работ требуют разработки Web-сервиса учета, контроля и реагирования на запросы клиентов. Концептуальная схема такого сервиса представлена на рисунке 1.8 и включает подсистемы:

–  приема и обработки заказов;

–       обслуживания компьютерной техники;

–       администрирования ИТ парка заказчиков.

Рисунок 1.7 - Диаграмма вариантов использования службы аутсорсинга

Рисунок 1.8 - Подсистемы Web-сервиса

 

1.3 Сбор и моделирование требований


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

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

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

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

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

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

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

Рисунок 1.9 - Диаграмма вариантов использования актора Гость

Рисунок 1.10 - Диаграмма вариантов использования актора Зарегистрированный пользователь

У актора Клиент в добавление к личному кабинету появляется подсистема управления конфигурацией ИТ-оборудования и программного обеспечения. Диаграмма вариантов использования актора Зарегистрированный пользователь для подсистемы Управление конфигурацией представлена на рисунке 1.11.

Рисунок 1.11 - Диаграмма вариантов использования актора Клиент

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

–  Гость;

–       Зарег. пользователь;

–       Администратор;

–       Менеджер.

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

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

Рисунок 1.12 - Диаграмма классов акторов предметной области

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

1.4 Спецификация требований


Техническое задание (ТЗ) на реализацию Web-сервиса консультационных услуг представлено в приложении А.

Данное ТЗ разработано на основе предположения, что реализация сервиса будет происходить в несколько этапов. На первом этапе разрабатывается:

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

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

–       карта сервиса,

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

Выводы

На базе объектно-ориентированного подхода проведен анализ предметной области деятельности ИП Бетадзе - предприятия осуществляющего комплекс услуг по ремонту и обслуживанию компьютерной техники. Выявлены основные требования к Web-сервису консультационных услуг для клиентов предприятия. Определены основные подсистемы сервиса и выявлены его пользователи.

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


2. Проектирование и разработка сервиса консультационных услуг

 

.1 Архитектура сервиса


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

–  Представление клиентов;

–       Представление менеджера;

–       Представление администратора.

Рисунок 2.1 - Концептуальная архитектура Web-сервиса

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

Рисунок 2.2 - Базовая архитектура трехуровневогоWeb-приложения

Реализация такой трехуровневой структуры определяется выборомWeb-сервера. Основными типамиWeb-серверов представленных сегодня на рынке являются HTTP-сервера Apache, Nginxи IIS (Internet Information Services).сервер Apache является кроссплатформенным программным обеспечением, поддерживаемым операционными системами Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Доля этих серверов на рынке превышает 50%. NginxHTTP-сервер и IISделят рынок примерно поровну, находясь на уровне 12%.

Для реализации Web-сервиса консультационных услуг выбран сервер IIS 7.0с операционной системой Windows Server 2008 R2.IIS 7.0 поставляется вместе с библиотекой. NET Framework.

Шаблоном архитектуры программного обеспечения выбрана технология MVC .Net. Данный паттерн обеспечивает разделение данных, логики и интерфейса (см. рисунок 2.3):

–  Model - часть приложения, содержащая в себе бизнес-логику, описывающую предметную область. Модель знает, как устроены данные и как с ними работать;

–       Controller. - контролирует части программы, реагирует на какие-то события и, исходя из этого, влияет на модель или представление;

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

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

Рисунок 2.3 - Структура шаблона MVC

В инфраструктуре MVC .Net контроллеры - это классы C#, производные от класса System.Web.Mvc.Controller. Каждый открытый метод в классе, производном от Controller, является методом действия, который посредством системы маршрутизации ASP.NET ассоциируется с конфигурируемым URL. Когда запрос отправляется по URL, связанному с методом действия, операторы в классе контроллера выполняются, чтобы провести некоторую операцию над моделью предметной области и затем выбрать представление для отображения клиенту.

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

Рисунок 2.4 - Взаимодействия в приложении MVC

2.4 Проектирование интерфейса


Уровень представления Web-приложения критически важен при разработке системы и оказывает значительное влияние на степень принятия приложения пользователями. Он обеспечивает выполнение бизнес-функций, представляемых приложением пользователям, а также визуальное представление информации, которой управляет приложение. Эффективность пользовательского интерфейса значительно влияет на успех приложения в целом [6].

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

.   Производительность - главное требованием к Web-приложению. Максимальное время выполнения операций не должно превышать 3-10 с.

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

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

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

Для структуры макета Web-сервиса консультационных услугбыла принята концепция «резинового» макета, который подразумевает, что информация будет занимать пространство, подстраиваясь под разрешение монитора. Используется решение с адаптивным web-дизайном, когда определены основные разрешения (размеры экрана), под которые адаптируется контент

Структура макета главной страницы сервиса для мониторов с большим разрешением, представлена на рисунке 2.4. Макет включает области заголовка (heder), навигации (sidebar), контента страницы (content) и нижнего колонтитула (footer). Для главной страницы введено понятие максимальной ширины в 1280 пикселов, что обусловлено удобством восприятия информации на больших мониторах. В этом случае информация не будет растягиваться так, что её неудобно будет читать.

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

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

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

Рисунок 2.4 - Структура макета главной страницы

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

Листинг 2.1 - Реализация структуры проекта

 

.3 Проектирование и разработка БД сервиса


При проектировании базы (БД) данных создаются два уровня модели - логический и физический. Логический уровень - это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире, и могут называться так, как они называются в реальном мире[6].

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

Представленные на рисунке 2.9 сущности UserProfile, webpages_Roles и webpages_Membership определяют роль пользователя системы, справочник ролей (Гость, Студент, Преподаватель или Администратор) и параметры входа пользователя в систему. Данные сущности создаются автоматически при использовании шаблона приложения MVC в среде VisualStudio.

Рисунок 2.9 - Концептуальная модель БД подсистемы администрирования

Разработка модели БД проводилась средствами MSVisualStudio2013 с использованием на модели ADO.NetEDM[9]. Данная модель - это модель "сущность-связь" - Entity Data Model (EDM), описанная Питером Ченом в 1976 году. EDM модель представляет собой набор основных понятий, которые описывают структуру данных независимо от формы хранения.

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

В состав средств для работы с моделями EDM входят следующие объекты.

.   Конструктор моделей EDM ADO.NET (конструктор сущностей) позволяет с помощью визуальных средств создавать и изменять сущности, ассоциации, сопоставления и связи наследования. Конструктор сущностей также формирует код уровня объекта на языке C# или Visual Basic.

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

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

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

На основе концептуальной модели создана БД проекта, реализованная в MSSQLServer 2008 R2. Структура и связи таблиц представлены рисунке 2.10.

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

Рисунок 2.10 - Структура таблиц подсистемы администрирования

 

2.4 Структура проекта


Web-сервис разрабатывается в VisualStudio 2013, как проектAdvice.Разработка проекта осуществлялась на основе мастера Веб-приложенийASP.NetMVC 4. На рисунке 2.11 представлена страница выбора данной категории проекта. На рисунке 2.12 представлен выбор шаблона проекта: Интернет-приложение на базе обработчика представлений Razorс созданием проекта разработки модульных тестов - Advice.Tests.

Полученная структура проекта представлена на рисунке 2.13.

Рисунок 2.11 - Открытие шаблона создания проекта Advice

Рисунок 2.12 - Открытие шаблона создания проекта Advice

Рисунок 2.13 Структура проекта Advice

Данный проект, как и все проекты MVC содержит следующие папки: App_Data, Content, Controllers, Models, Scripts и Views. В дополнение к данным папкам сгенерированное веб-приложение MVC использует код в файле Global.asax для установки глобальных параметров маршрутизации URL-адресов по умолчанию, а также использует файл Web.config для настройки приложения._Data - папка области физического хранилища данных. Эта папка выполняет те же функции, что и для веб-сайтов ASP.NET, которые используют страницы веб-форм.- папка для рекомендуемого расположения файлов содержимого (например, файлов каскадных таблиц стилей, изображений и пр.). В общем случае папка Content предназначена для статических файлов.- папка для рекомендуемого расположения контроллеров. Имена контроллеров в платформе MVC должны оканчиваться на "Controller", например Home Controller, Login Controller или Product Controller.- предназначена для классов, которые представляют модель приложения для веб-приложения MVC. Эта папка обычно содержит код, который определяет объекты и логику взаимодействия с хранилищем данных. Сами объекты модели обычно располагаются в отдельных библиотеках классов. Тем не менее, при создании нового приложения классы можно расположить в этой папке, чтобы переместить их в отдельные библиотеки на более поздней стадии разработки.- рекомендуемое расположение для файлов скриптов, поддерживающих приложение. Эта папка по умолчанию содержит файлы платформы ASP.NET Ajax и библиотеку jQuery.- рекомендуемое расположение для представлений. Представления используют файлы ViewPage (ASPX), ViewUserControl (ASCX) и ViewMasterPage (MASTER) в дополнение к остальным файлам, которые связаны с отображением представлений. Папка Views содержит папки для всех контроллеров. Название папки состоит из префикса имени контроллера. Например, если существует контроллер с именем HomeController, то в папке Views будет вложенная папка с именем Home. При загрузке представления платформой ASP.NET MVC в папке "Views\имя_контроллера" по умолчанию выполняется поиск файла ViewPage (ASPX), который имеет имя требуемого представления. По умолчанию в папке Views находится папка Shared, которая не соответствует ни одному контроллеру. Папка Shared используется для представлений, которые используются на нескольких контроллерах. Например, главную страницу веб-приложения можно поместить в папку Shared.

2.5 Клиентская часть


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

2.6 Организация взаимодействия с БД


Как указывалось, в разделе 2.3 взаимодействие с источником данных MVCприложения базируется на модели EDM. Модель EDM представляет набор основных понятий, которые описывают структуру данных независимо от формы хранения. Данные Web-сервиса хранятся на SQLServer.В результате такого подхода, форма хранения данных отделена от приложения и не влияет на его разработку. Это обеспечивается тем, что сущности и связи описывают структуру данных так, как она используется в приложении. Модель EDM использует три основных понятия для описания структуры данных:

–  тип сущности;

–       тип ассоциации;

–       свойство.

Структура концептуальной модели передаётся при помощи доменного языка (DSL).Платформа ADO.NET Entity Framework использует язык DSL на основе XML, называемый языком CSDL, для определения концептуальных моделей. Файл метаданных концептуальной модели представлен в Приложении В.

Структура модели данных представлена на рисунке 2.14.

В проекте автоматически сгенерируется класс enterprise_order Entities1, который наследуется от класса Object Context, представляет сущности базы данных Know it All Order, содержит свойства, моделирующие таблицы sh_Three и Title, связи между таблицами.

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

Рисунок 2.14 - Модель данных Entity Framework

 

2.7 Развертывание сервиса


Завершающим и критически важным шагом разработки веб-приложений является развертывание. Рассмотрим развертывание приложения Advice.

Существует множество разнообразных способов развертывания приложений MVC Framework, а также широкий спектр целевых платформ, предназначенных для развертывания. Приложение может быть развернуто:

–  на машине Windows Server с Internet Information Services (IIS), что предполагает локальное управление,

–       с помощью службы удаленного хостинга, самостоятельно управляющей серверами,

–       в облачной инфраструктуре, обеспечивающей работу и масштабирование приложения.

Тестовая версия разработанного Web-сервиса была размещена на виртуальном сервере (VPS) компании Info Box. Windows VPSсервера данной компании располагаются в Амстердаме и Санкт-Петербурге, имеют архитектуру на быстрых SSD (сверхпроизводительных твердотельных накопителях), имеют минимальный ping до городов России и СНГ. На серверах устанавливается лицензионная ОС Windows Server. На VPS установлена ОС Windows Server 2012 r2, веб-сервер IIS 7.0, СУБД MSSQL Server 2008 r2.

Управление данным сервером осуществляется через удаленный рабочий стол.

Web-сервис публикуется на веб-сервере IIS. Вначале осуществляется конфигурирование веб-сервер. Для этого открывается средство администрирования IIS. Необходимо зайти в Панель управления, затем выбрать Администрирование->Диспетчер служб IIS. Откроется консоль управления IIS, представленная на рисунке 2.15.

Рисунок 2.15 Консоль управления IIS

Вначале происходит настройка пула приложений. Для этого вызывается функция добавления пула приложений, как показано на рисунке 2.16. В окне добавления пула приложений указывается имя Web-приложения и версия среды .Net Frame Work. Для устанавливаемого Web-сервиса это .Net Frame Work версии 4.0.

Рисунок 2.16 Добавление пула приложений

Следующим шагом является добавление сайта Advice, как показано на рисунке 2.17.

Рисунок 2.17 Добавление нового Web-приложения

После введения параметров нового Web-приложения можно переходить к опубликованию приложения в Visual Studio. Для этого необходимо нажать правой кнопкой на название проекта и в появившемся меню выбрать Опубликовать, как показано на рисунке 2.18.

Рисунок 2.18 Выбор меню Опубликовать

Открывается мастер публикации, который предложит пройти несколько этапов. Вначале выбираем профиль, как представлено на рисунке 2.19. Так как профиль новый, то определяем имя профиля. В нашем случае публикация осуществляется в локальной системе и, лишь, потом папка с опубликованными файлами переносится на удаленный сервер. Поэтом далее осуществляем выбор или создание папки для размещения файлов. На диске C:// создаём папку Advice,как показано на рисунке 2.20.

На вкладке Подключение определяем тип подключения как файловую систему и указываем целевое назначение (см. рисунок 2.21). На рисунке 2.23 показан последний шаг - это просмотр полученных файлов в созданной папке.

Рисунок 2.19 Выбор профиля публикации

Рисунок 2.20 Создание папки для размещения публикуемых файлов

Рисунок 2.21 Определение типа размещения файлов

Рисунок 2.22 Просмотр содержимого подключения

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

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

Выводы

Проведен выбор архитектуры Информационный портала Управление ИТ как трехуровневого Web-приложения. Проведена разработка интерфейса портала. Разработана база данных проекта для подсистемы администрирования портала.

Разработано Web-приложение Adviceна базе шаблона MVC .Net 4.0. Рассмотрены основные аспекты программирования данного приложения. Проведено развертывание портала на Web-сервере.

3. Эффективность Web-сервиса


3.1 Оценка стоимости проекта


Для оценки стоимости проекта необходимо определить модель жизненного цикла (ЖЦ) программного продукта.

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

Модель ЖЦ может быть определена на основе методики предложенной в работе Т. Фатрелла [10]. Таблицы обоснования выбора модели представлены в приложении Д. Сводные данные на основе методики определения модели ЖЦ приведены в таблице 3.1.

Таблица 3.1

Определение оптимальной модели жизненного цикла, в баллах

Характеристика

Каскадная

V-образная

Прото-типирование

Спиральная

RAD

Инкрементная

Требования

4

4

3

1

5

3

Участники команды разработчиков

4

5

5

2

8

5

Коллектив пользователей

4

7

6

9

8

7

Типы проектов и рисков

2

2

4

2

5

4

Итого

14

18

18

14

26

19


Из приведенных данных можно сделать следующие выводы. Для разрабатываемого Web-сервиса, наиболее подходящей моделью ЖЦ является метод быстрой разработки приложений «RAD».

Характерной чертой «RAD» является короткое время перехода от определения требований до создания полной системы. Метод основывается на последовательности итераций эволюционной системы или прототипов, критический анализ которых обсуждается с заказчиком. В процессе такого анализа формируются требования к продукту. Разработка каждого интегрированного продукта ограничивается четко определенным периодом времени, который, как правило, составляет 60 дней и называется временным блоком. Факторы, позволяющие создать систему за 60 дней, причем без ущерба качеству, включает в себя использование мощных инструментальных средств разработки, высокий уровень фактора повторного использования, а также осмысления и выделенные ресурсы.

При выполнении нашего проекта, для которого модель «RAD» подходит в достаточной мере, появляются следующие преимущества:

–  время цикла разработки для всего проекта можно сократить благодаря использованию мощных инструментальных средств;

–       существует возможность произвести быстрый изначальный просмотр продукта;

–       благодаря принципу временного бока уменьшаются затраты и риск, связанный с соблюдением графика;

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

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

–       привлечение заказчика на постоянной основе сводит до минимума риск того, что он не будет удовлетворен разработанным продуктом, кроме того, это гарантирует, что система будет соответствовать коммерческим потребностям, а сам программный продукт будет надежен в эксплуатации;

–       в состав каждого временного блока входит анализ, проектирование и внедрение (фазы отделены от действий);

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

–       основное внимание переносится с документации на код, причем соблюдая принцип «получите то, что видите»;

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

–       в модели повторно используются компоненты уже существующих программ.

3.2 Создание пооперационного перечня работ


Для успешного создания уникального продукта или услугу необходимо, прежде всего, осуществить некоторую последовательность работ. Основная задача планирования проекта заключается в достаточно точной оценке сроков исполнения и стоимости этих работ. Чтобы добиться наивысшего качества плана проекта необходимо дать как можно более точную оценку сроков исполнения и стоимости работ. Точную оценку можно дать только в том случае, если хорошо представлен состав работ по выполнению проекта, то есть те работы, которые необходимо выполнить для получения необходимого результата. Как только мы составили список всех проектных работ, производится оценка длительности каждой из них, а также выделяются необходимые ресурсы для их выполнения. И только после всего этого можно будет оценить стоимость и сроки выполнения проекта. Именно поэтому определение состава работ является первым и наиболее важным шагом при планировании проекта. Модель RAD, представляет собой специальный случай линейной модели. Главной отличительной чертой этой модели является то, что для нее присущ чрезвычайно короткий цикл разработки ПО, при осуществлении которого используется конструкция, основанная на компонентах. Для данного ВКР была выбрана модель RAD и посредством ее показана версия задач и действий, необходимых для построения жизненного цикла Web-сервиса кафедры физкультуры.

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

–  планирование и активизация проекта;

–       фаза планирования требований;

–       фаза описания пользователя;

–       фаза «расчистки».

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

процесс разработки проекта;

процесс внедрения.

Рисунок 3.1 - Пооперационный перечень

Диаграмма Ганта проекта представлена на рисунке 3.2.

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

–  Руководитель проекта;

–       Аналитик;

–       Разработчик;

–       Тестировщик

В среде MS Project определены стоимость часа работ данных трудовых ресурсов. Для ресурсов определен процент загрузки времени от общей продолжительности рабочего дня. Результаты расчета затрат для трудовых ресурсов представлены на рисунке 3.3:

Рисунок 3.2 - Диаграмма Ганта

Рисунок 3.3 - Затраты на трудовые ресурсы

Итоговая сумма затрат на трудовые ресурсы составила 58 100руб (см. таблицу 3.2).

Отчисление на социальное страхование вычисляем по формуле (3)

, (3.1)

где  - сумма идущая на социальное страхование, руб.;

 - заработная плата проекта, руб.;

Амортизация оборудования рассчитывается по формуле (3.2)

, (3.2)

где - амортизация аппаратных средств, руб;

- число часов в году, ч;

- число лет работы оборудования;

 - потраченное время, ч

Расчеты по основным затратным статьям представлены в таблице 3.2.

Таблица 3.2

Затраты на проект


Название ресурса

Макс. единиц

Пиковая загрузка

Стандартная ставка

Ставка сверхурочных

Затраты

Труд. затраты, ч

Трудо-затраты

Руководитель проекта

20%

19%

400,00р./ч

0,00р./ч

10 400,00р.

50,4


Аналитик

50%

300,00р./ч

0,00р./ч

17 400,00р.

57,6


Разработчик

50%

50%

300,00р./ч

0,00р./ч

15 900,00р.

55,2


Тестировщик

50%

50%

300,00р./ч

0,00р./ч

14 400,00р.

21,6


Итого

58 100,00р.

184,80




Затраты



Соц. Страхование

30%




17 430,00р.


Мат. Затр.



Срок окупаемости, лет

Цена


Амортиз.



Компьютер


5

42 000,00р.


537,51р.



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


5

0,00р.


0,00р.



Итого общее

76 067,51р.



Итоговая стоимость проекта составила 76 067,51 руб.

3.3 Эффективность проекта


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

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

Самым распространенным показателем эффективности проекта является чистый приведенный доход (Net Present Value, NPV). Это суммарная дисконтированная стоимость всех платежей проекта:

 (3.3)

Где  - (Cash Flow) денежный поток в k-й период, k = 1, 2, n;горизонт расчета проекта = 2 года;- (Invested Capital) стартовая инвестиция в проект;- ставка дисконтирования.

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

Ставка дисконтирования - переменная величина, зависящая от ряда факторов

,

где - факторы, влияющие на будущие денежные потоки, которые определяются индивидуально для каждого инвестиционного проекта.

Для нашего проекта свяжем ставку дисконтирования с размером процентов в годовом исчислении, подлежащий уплате центральному банку страны за кредиты, которые центральный банк предоставил кредитным организациям - со ставкой рефинансирования. В 2016 году ставка рефинансирования составляет 8,25%.

Таким образом i = 8,25%.

Денежный поток рассчитывается по формуле 3.4

 (3.4)

где - ожидаемый приток средств (результаты) от реализации проектав k-й период;

 - ожидаемый отток средств (затраты) на реализацию проекта в k-й период.

Оценка стоимости разработки информационного портала проведена в разделе 3.2 и составляет примерно 65 000 руб. Данная сумма представляет собой единовременные затраты. Затраты на текущие расходы, связанные с эксплуатацией сервиса (предположительно на 5 лет), приведены в таблице 3.3 и составляют 5800 руб./мес.

Таблица 3.3

Расчет затрат на эксплуатацию сервиса

Расходы

Цена

Кол-во, лет

Итог

Оплата доменного имени, год

600,00р.

5

3 000,00р.

Оплата VPS сервера, год

9 000,00р.

5

45 000,00р.

Обновление номенклатуры, год

5 000,00р.

5

25 000,00р.

Итого за период

73 000,00р.

Итого в месяц

5 800,00р.


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

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

Коэффициент возврата инвестиций ROI (Return of Investment) позволяет оценить прибыльность инвестиций, вложенных в проект (формула 3ю5):

 (3.5)

Где NPV - чистый приведенный доход;

IC - стартовая инвестиция в проект.

Таблица 3.4

Расчет денежных потоков

Месяц

DP

Z

CF

Доход /расход

Нарастающий итог

1

87 000,00р.

69 600,00р.

17 400,00р.

1,085

16 036,87р.

-48 850,64р.

2

156 000,00р.

69 600,00р.

86 400,00р.

1,177225

73 392,94р.

24 542,29р.

3

192 000,00р.

69 600,00р.

122 400,00р.

1,277289

95 827,95р.

120 370,24р.

Таким образом, коэффициент возврата инвестиций равен:

Индекс рентабельности PI (Profitability Index) показывает, сколько инвестор заработает денег с каждого вложенного в проект рубля (формула 3.6):

 (3.6)

Где  - (Cash Flow) денежный поток в k-й период, k = 1, 2, n;- горизонт расчета проекта = 30 месяцев;- (Invested Capital) стартовая инвестиция в проект;- ставка дисконтирования. После произведенных вычислений получается, что индекс прибыльности равен:

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

Для анализа инвестиций применяют и такой показатель, как срок окупаемости PBP (payback period method) - продолжительность времени, в течение которого дисконтированные на момент завершения инвестиций прогнозируемые денежные поступления равны сумме инвестиций. Иными словами - это период, необходимый для возмещения стартовых инвестиций.

Исходя из данных таблицы 3.4 построим график, на котором точка пересечения осей X и Y является сроком окупаемости проекта (рисунок 3.6).

Рисунок 3.6 - График срока окупаемости

В результате проведенного нами расчета окупаемость Web-сервиса составила 1 год и 3 месяца, после внедрения в деятельность компании.

Выводы

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

web сервис база данный кафедра физкультура

 


Заключение


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

В ходе выполнения ВКР был спроектирован и разработанWeb-сервис предоставления консультационных услуг компьютерной фирмы. Для этого:

)   был проведен анализ бизнес-процессов по предоставлению консультационных услуг;

2)      был выбран объектно-ориентированный подход к реализации приложения;

)        были выбраны следующие программные продукты для разработки приложения:

–  Microsoft Visual Studio 2013;

–       Microsoft SQL Server 2008;

–       MS Project 2010;

–       MS Word 2010;

–       MS Power Point 2010.

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

Во втором были проведены:

)   выбор технология реализации сервиса - шаблон MVC 4.0 .Net, обеспечивающий единую среду реализации проекта;

2)      разработан интерфейс сервиса;

)        проведено моделирование структуры данных средствами MSVisualStudio2013 с использованием на модели ADO.NetEDM.

)        разработано приложение;

)        определена методология развертывания сервиса.

Произведено тестирование приложения по методу «белого ящика», которое показало, что приложение работает корректно.

В третьем разделе ВКР была определена модель жизненного цикла приложения. Проанализировав основные отличительные категории проекта, был выбран метод быстрой разработки приложений «RAD».

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

Расчет эффективности проекта осуществлен методом расчета чистого приведенного дохода.

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

 

 


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


1. «Эскулап ИТ-Сервис» [Электронный ресурс]

2.      ГУDLINE[Электронный ресурс]

.        Методические основы управления ИТ-проектами: учебник / В.И. Грекул, Н.Л. Коровкина, Ю.В. Куприянов. - М.: Интернет Университет Информационных Технологий: БИНОМ. Лаборатория знаний, 2010. - 391 с.

.        Вигерс, К. Разработка требований к программному обеспечению./ Пер. с англ. М.: Издательско-торговый дом «Русская редакция», 2004.

5.      Infobox. [Электронный ресурс]

.        Создание Web-страниц и Web-сайтов. Самоучитель: [учеб. пособие] / под ред. В.Н. Печникова. - М.: Изд-во Триумф, 2006.-- 464 с.

.        Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. Учебник для вузов // Издание: Корона-принт, 2004 г.

.        Средства модели ADO.NETEDM. Microsoft Developer Network.

9.      Фатрелл, Т. Управление программными проектами: достижение оптимального качества при минимуме затрат: Пер. с англ. / Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. - М.: Издательский дом «Вильямс», 2003

.        Касатов А.Д. Развитие экономических методов управления интегрированными корпоративными структурами в промышленности: инвестиционный аспект. М.: Изд. Дом «Экономическая газета», 2010. 324 с.

 


Приложение А

 

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

Введение

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

1. Назначение разработки

1.1 Функциональным назначением СЕРВИСА является учёт:

–  учет пользователей системы;

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

–       ведение учебных и тренировочных материалов;

–       мониторинг физического состояния студента;

–       расписание обязательных и секционных занятий;

–       анализ физического состояния студентов.

1.1.    Эксплуатационное назначение СЕРВИСА

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

2. Требования к программе или программному изделию

2.1 Требования к функциональным характеристикам

Категории описания требований приведены в таблице 1.1.

Таблица 1

Категории описания требований

Категория

Описание

F

Функциональные требования, описывающие требуемую функциональность или прецеденты системы

C

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

P

Требования к представлению

R

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


2.1.2  Требования к составу выполняемых функций

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

Таблица 2

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

Требование

Тип

Описание

Пользователь

Авторизация

F

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

Редактирование собственных учетных данных

F

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

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

F

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

Администратор системы

Регистрация пользователей

F

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

Редактирование учетных данных выбранного пользователя

F

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

Определение типа пользователя

F

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

Задание свойств пользователя

F

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

Связь между функциями и свойствами

F

Система должна осуществлять связь с функциями, реализующими свойства пользователя

Удаление пользователя

F

Система должна осуществлять уничтожение учетной записи пользователя либо перенос её в архив

Блокировка пользователя

F

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

Резервное копирование

F

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

Восстановление данных

F

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


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

Для СЕРВИСА должна быть обеспечена отказоустойчивость, в том числе за счет распределения нагрузки и резервирования критических точек отказов.

СЕРВИС должна обеспечивать устойчивость к ситуациям отказа оборудования на стороне сервера за счет использования механизмов восстановления баз данных и процессов.

СЕРВИС должен предусматривать применение стандартных средств предотвращения потери данных и их восстановления в случае возможных сбоев оборудования. Применяемые при эксплуатации СЕРВИСА средства резервного копирования и восстановления должны предоставлять пользователям возможность выбора различных стратегий резервного копирования, обеспечивающих необходимый уровень защиты данных в случае возникновения сбоев в работе системы, при этом администратору должна предоставляться возможность выполнения резервного копирования, как на съемные, так и на несъемные устройства хранения. Функциональные возможности примененной системы резервного копирования и восстановления СЕРВИСА должны позволять возвращать систему в состояние, предшествующее сбою. При этом в системе не должно происходить потери и искажения данных.

.2.2    Надежность СЕРВИСА на стороне сервера должна обеспечиваться следующими способами:

.2.2.1 Требованиями по надежности системы электропитания. Допустимая продолжительность отсутствия электропитания определяется на этапе проектирования проекта внедрения СЕРВИСА. Должно быть сформулировано требование обеспечения вычислительного комплекса средствами стабилизации напряжения и источниками резервного и бесперебойного питания с тем, чтобы при аварийном отключении электроэнергии обеспечить его работоспособность на время, достаточное для корректного завершения работы; средствами последующего автоматического возобновления работы в штатном режиме.

2.2.2.2        Надежностью выбираемых технических средств путем формулирования разработчиками СЕРВИСА четких требований к надежности оборудования и ЛВС, включая:

–  требования по применению дисковых массивов серверов технологии RAID;

–       использование резервирования аппаратных компонентов системы;

–       возможность «горячей» замены отдельных узлов на серверах (вентиляторы, блоки питания, накопители на жестких дисках);

–       возможность реализация механизма восстановления баз данных.

2.2.2.3 Соблюдением условий эксплуатации оборудования в соответствии с техническими (паспортными) нормами, установленными разработчиком СЕРВИСА.

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

.2.2.5 Требованием сохранения резервных копий базы на независимые носители информации.

2.2.3  Надежность СЕРВИСА на стороне клиента обеспечивается:

–  использованием лицензионного программного обеспечения;

–       испытанием программных средств на наличие компьютерных вирусов

2.2.4  Время восстановление после отказа

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

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

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

.2.5    Отказы из-за некорректных действий оператора

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

.3 Условия эксплуатации

.3.2    Климатические условия эксплуатации

Климатические условия эксплуатации СЕРВИСА на стороне сервера, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации.

.3.3    Требования к составу и параметрам технических средств

В состав технических средств сервера должен входить IBM-совместимый персональный компьютер, включающий в себя:

Intel(R) Core(TM) i5-2500K

32-разрядную операционную систему

материнскую плату с FSB, ГГц-5

.4 Требования к информационной и программной совместимости

.4.2    Требования к информационным структурам и методом решения

Требования к информационным структурам (файлов) на входе и на выходе, а также к методам решения не предъявляются.

.4.3    Требования к исходным кодам и языкам программирования

Исходные коды должны быть реализованы на языке С#. В качестве интегрированной среды разработки программы должна быть использована среда Microsoft Visual Studio. Шаблон проектирования MVC 4.

3. Требования к программной документации

В состав программной документации должны входить:

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

–       Программный продукт;

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

4. Технико-экономические показатели

Ориентировочная экономическая эффективность не рассчитывается. Предполагаемое число использования программы в год- 365 сеансов работы на одном рабочем месте.

5. Стадии и этапы разработки

5.1 Стадии и этапы

Разработка должна быть проведена в три стадии:

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

–       Технический (и рабочий) проекты;

–       Внедрение.

На стадии «Техническое задание» должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.

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

На стадии «Внедрение» должен быть выполнен этап разработки «Подготовка и передача программы».

.2 Содержание работ по этапам

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

. Постановка задачи;

. Определение и уточнение к техническим средствам;

. определение требований к программе;

. определение стадий, этапов и сроков разработки программы и документации на неё;

. согласование и утверждение технического задания.

На этапе разработки программы должна быть выполнена работа по программированию (кодированию) и отладке программы.

На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями ГОСТ 19.101-77 с требованием п. Предварительный состав программной документации настоящего технического задания.

На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:

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

. проведение приемо-сдаточных испытаний;

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

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

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

6.1 Виды испытаний

Приемо-сдаточные испытания должны проводиться на объекте Заказчика в оговоренные сроки.

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

Ход проведения приемо-сдаточных испытаний Заказчик и Исполнитель документируют в Протоколе проведения испытаний.

.2 Общие требования к приемке работ

На основании Протокола проведения испытаний Исполнитель совместно с Заказчиком подписывает Акт приемки-сдачи программы в эксплуатацию.

 

 


Приложение Б

 

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

 

Ключ

Имя столбца

Тип данных

Значение NULL

Примечание

User Profile

PK

UserId

int


Ключевое поле, идентификатор пользователя


User Namt

nvarchar (56)


Логин пользователя

webpages_Membership

PK

UserId

int


Ключевое поле, идентификатор пользователя


Create Date

datetime

да

Дата регистрации


Confirmation Token

nvarchar (128)

да



Is Confirmed

bit

да



Last Password Failure Date

datetime

да

Дата последней смены пароля


Password Failures Since Last Success

int




Password

nvarchar (128)


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


Password Changed Date

datetime

да



Password Salt

nvarchar (128)




Password Verification Token

nvarchar (128)

да



Password Verification Token Expiration Date

да


webpages_Roles

PK

RoleId

int


Ключевое поле, идентификатор категории пользователя


Role Name

nvarchar (256)


Наименование категории пользователя

webpages_UsersIn Roles

PK

UserId

int


Ключевое поле, идентификатор пользователя

PK

RoleId

int


Ключевое поле, идентификатор категории пользователя

Лицо

PK

ID_Лица

int


Ключевое поле, идентификатор пользователя


Имя

nvarchar(50)




Отчество

nvarchar(50)




Фамилия

nvarchar(50)




ID_Паспорт





ID_Пол





 


Приложение В

 

DDL сценарий создания объектов базы данных


USE [master]

/****** Object: Database [Advice] Script Date: 06/01/2016 05:26:23

******/DATABASE [Advice] ON PRIMARY

( NAME = N'Advice', FILENAME = N'C:\Program Files\Microsoft SQL \MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Advice.mdf' , SIZE

= 6144KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )ON

( NAME = N'Advice_log', FILENAME = N'C:\Program Files\Microsoft \MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Advice_log.ldf' , = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)DATABASE [Advice] SET COMPATIBILITY_LEVEL = 100(1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))[Advice].[dbo].[sp_fulltext_database] @action = 'enable'DATABASE [Advice] SET ANSI_NULL_DEFAULT OFFDATABASE [Advice] SET ANSI_NULLS OFFDATABASE [Advice] SET ANSI_PADDING OFFDATABASE [Advice] SET ANSI_WARNINGS OFFDATABASE [Advice] SET ARITHABORT OFFDATABASE [Advice] SET AUTO_CLOSE OFFDATABASE [Advice] SET AUTO_CREATE_STATISTICS ONDATABASE [Advice] SET AUTO_SHRINK OFFDATABASE [Advice] SET AUTO_UPDATE_STATISTICS ONDATABASE [Advice] SET CURSOR_CLOSE_ON_COMMIT DATABASE [Advice] SET CURSOR_DEFAULT GLOBALDATABASE [Advice] SET CONCAT_NULL_YIELDS_NULL DATABASE [Advice] SET NUMERIC_ROUNDABORT OFFDATABASE [Advice] SET QUOTED_IDENTIFIER OFFDATABASE [Advice] SET RECURSIVE_TRIGGERS OFFDATABASE [Advice] SET DISABLE_BROKERDATABASE [Advice] SET _UPDATE_STATISTICS_ASYNC OFFDATABASE [Advice] SET _CORRELATION_OPTIMIZATION OFFDATABASE [Advice] SET TRUSTWORTHY OFFDATABASE [Advice] SET ALLOW_SNAPSHOT_ISOLATION DATABASE [Advice] SET PARAMETERIZATION SIMPLEDATABASE [Advice] SET READ_COMMITTED_SNAPSHOT DATABASE [Advice] SET HONOR_BROKER_PRIORITY OFFDATABASE [Advice] SET READ_WRITEDATABASE [Advice] SET RECOVERY FULLDATABASE [Advice] SET MULTI_USERDATABASE [Advice] SET PAGE_VERIFY CHECKSUMDATABASE [Advice] SET DB_CHAINING OFFsys.sp_db_vardecimal_storage_format N'Advice', N'ON'[Advice]

/****** Object: Table [dbo].[Факультет] Script Date: 06/01/2016 05:26:23

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Факультет](

[ID_Факультет] [int] IDENTITY(1,1) NOT NULL,

[Наименование] [nvarchar](80) NOT NULL,[PK_Факультет] PRIMARY KEY CLUSTERED

(

[ID_Факультет] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Типобучения] Script Date: 06/01/2016

:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Типобучения](

[ID_Тип] [int] IDENTITY(1,1) NOT NULL,

[Наименование] [nvarchar](50) NULL,

[Кол_лет] [real] NULL,[PK_Типобучения] PRIMARY KEY CLUSTERED

(

[ID_Тип] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Специальность] Script Date: 06/01/2016

:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Специальность](

[ID_Специальность] [int] IDENTITY(1,1) NOT NULL,

[Наименование] [nvarchar](80) NOT NULL,

[Код] [nvarchar](50) NULL,[PK_Специальность] PRIMARY KEY CLUSTERED

(

[ID_Специальность] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Пол] Script Date: 06/01/2016 05:26:23

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Пол](

[ID] [smallint] NOT NULL,

[Пол] [nchar](10) NULL,

[Краткое] [nchar](1) NULL,[PK_Пол] PRIMARY KEY CLUSTERED

(

[ID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Паспорт] Script Date: 06/01/2016 05:26:23

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Паспорт](

[ID] [int] NOT NULL,

[Серия] [nchar](5) NOT NULL,

[N паспорта] [nvarchar](20) NOT NULL,

[Когдавыдан] [datetime] NULL,

[Кемвыдан] [nvarchar](50) NULL,[PK_Паспорт] PRIMARY KEY CLUSTERED

(

[ID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Должность] Script Date: 06/01/2016 05:26:23

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Должность](

[ID_должность] [int] IDENTITY(1,1) NOT NULL,

[Должность_] [nvarchar](50) NOT NULL,[PK_Должность] PRIMARY KEY CLUSTERED

(

[ID_должность] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[UserProfile] Script Date: 06/01/2016 05:26:23

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[UserProfile](

[UserId] [int] NOT NULL,

[UserName] [nvarchar](56) NOT NULL,[PK_UserProfile] PRIMARY KEY CLUSTERED

(

[UserId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[webpages_Roles] Script Date: 06/01/2016

:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[webpages_Roles](

[RoleId] [int] NOT NULL,

[RoleName] [nvarchar](256) NOT NULL,[PK_webpages_Roles] PRIMARY KEY CLUSTERED

(

[RoleId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[webpages_OAuthMembership] Script Date:

/01/2016 05:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[webpages_OAuthMembership](

[Provider] [nvarchar](30) NOT NULL,

[ProviderUserId] [nvarchar](100) NOT NULL,

[UserId] [int] NOT NULL

) ON [PRIMARY]

/****** Object: Table [dbo].[webpages_Membership] Script Date:

/01/2016 05:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[webpages_Membership](

[UserId] [int] NOT NULL,

[CreateDate] [datetime] NULL,

[ConfirmationToken] [nvarchar](128) NULL,

[IsConfirmed] [bit] NULL,

[LastPasswordFailureDate] [datetime] NULL,

[PasswordFailuresSinceLastSuccess] [int] NOT NULL,

[Password] [nvarchar](128) NOT NULL,

[PasswordChangedDate] [datetime] NULL,

[PasswordSalt] [nvarchar](128) NOT NULL,

[PasswordVerificationToken] [nvarchar](128) NULL,

[PasswordVerificationTokenExpirationDate] [datetime] NULL,[PK_webpages_Membership] PRIMARY KEY

(

[UserId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Группа] Script Date: 06/01/2016 05:26:23

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Группа](

[ID_Группа] [int] IDENTITY(1,1) NOT NULL,

[Наименование] [nvarchar](12) NOT NULL,

[Специальность] [int] NOT NULL,

[Типобучения] [int] NOT NULL,

[Годобучения] [nchar](10) NOT NULL,[PK_Группа] PRIMARY KEY CLUSTERED

(

[ID_Группа] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[webpages_UsersInRoles] Script Date:

/01/2016 05:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[webpages_UsersInRoles](

[UserId] [int] NOT NULL,

[RoleId] [int] NOT NULL,[PK_webpages_UsersInRoles] PRIMARY KEY

(

[UserId] ASC,

[RoleId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Факультет_Специальность] Script Date:

/01/2016 05:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Факультет_Специальность](

[ID_Факультет] [int] NOT NULL,

[ID_Специальность] [int] NOT NULL,[PK_Факультет_Спкциальность] PRIMARY KEY

(

[ID_Факультет] ASC,

[ID_Специальность] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Студент] Script Date: 06/01/2016 05:26:23

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Студент](

[ID_Студент] [int] NOT NULL,

[N_ЗачКН] [int] NOT NULL,

[Год поступления] [date] NULL,

[ID_Специальность] [int] NULL,

[ID_ТипОбучения] [int] NULL,[PK_Студент] PRIMARY KEY CLUSTERED

(

[ID_Студент] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[Преподаватель] Script Date: 06/01/2016

:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Преподаватель](

[ID_Преподаватель] [int] NOT NULL,

[ID_Должность] [int] NULL,[PK_Преподаватель] PRIMARY KEY CLUSTERED

(

[ID_Преподаватель] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: Table [dbo].[СтудентГруппа] Script Date: 06/01/2016

:26:23 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[СтудентГруппа](

[ID_Студент] [int] NOT NULL,

[ID_Группа] [int] NOT NULL,[PK_СтудентГруппа] PRIMARY KEY CLUSTERED

(

[ID_Студент] ASC,

[ID_Группа] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: StoredProcedure [dbo].[Пользователь] Script Date:

/01/2016 05:26:24 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ON

- =============================================

- Author:<Author,,Name>

- Create date: <Create Date,,>

- Description:<Description,,>

- =============================================PROCEDURE [dbo].[Пользователь]

- SET NOCOUNT ON added to prevent extra result sets from

- interfering with SELECT statements.NOCOUNT ON;

- Insert statements for procedure heredbo.UserProfile.UserId AS Номер, dbo.UserProfile.UserName AS Логин, dbo.webpages_Membership.CreateDate AS [Датасоздания]dbo.UserProfile INNER JOIN.webpages_Membership ON dbo.UserProfile.UserId = dbo.webpages_Membership.UserId

/****** Object: Table [dbo].[Лицо] Script Date: 06/01/2016 05:26:24

******/ANSI_NULLS ONQUOTED_IDENTIFIER ONTABLE [dbo].[Лицо](

[ID_Лица] [int] NOT NULL,

[Имя] [nvarchar](50) NOT NULL,

[Отчество] [nvarchar](50) NOT NULL,

[Фамилия] [nvarchar](50) NOT NULL,

[ID_Паспорт] [int] NULL,

[ID_Адрес] [int] NULL,

[ID_Пол] [smallint] NULL,

[Дата_рождения] [date] NULL,[PK_Лицо] PRIMARY KEY CLUSTERED

(

[ID_Лица] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, _DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, _PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

/****** Object: ForeignKey [FK_webpages_Membership_UserProfile] Date: 06/01/2016 05:26:23 ******/TABLE [dbo].[webpages_Membership] WITH CHECK ADD [FK_webpages_Membership_UserProfile] FOREIGN ([UserId])[dbo].[UserProfile] ([UserId])TABLE [dbo].[webpages_Membership] CHECK CONSTRAINT

[FK_webpages_Membership_UserProfile]

/****** Object: ForeignKey [FK_Группа_Специальность] Script Date:

/01/2016 05:26:23 ******/TABLE [dbo].[Группа] WITH CHECK ADD CONSTRAINT

[FK_Группа_Специальность] FOREIGN KEY([Специальность])[dbo].[Специальность] ([ID_Специальность])

GOTABLE [dbo].[Группа] CHECK CONSTRAINT

[FK_Группа_Специальность]

/****** Object: ForeignKey [FK_Группа_Типобучения] Script Date:

/01/2016 05:26:23 ******/TABLE [dbo].[Группа] WITH CHECK ADD CONSTRAINT

[FK_Группа_Типобучения] FOREIGN KEY([Типобучения])

REFERENCES [dbo].[Типобучения] ([ID_Тип])TABLE [dbo].[Группа] CHECK CONSTRAINT

[FK_Группа_Типобучения]

/****** Object: ForeignKey [FK_webpages_UsersInRoles_UserProfile] Date: 06/01/2016 05:26:23 ******/TABLE [dbo].[webpages_UsersInRoles] WITH CHECK ADD [FK_webpages_UsersInRoles_UserProfile] FOREIGN ([UserId])[dbo].[UserProfile] ([UserId])TABLE [dbo].[webpages_UsersInRoles] CHECK CONSTRAINT

[FK_webpages_UsersInRoles_UserProfile]

/****** Object: ForeignKey

[FK_webpages_UsersInRoles_webpages_Roles] Script Date: 06/01/2016

:26:23 ******/TABLE [dbo].[webpages_UsersInRoles] WITH CHECK ADD [FK_webpages_UsersInRoles_webpages_Roles] FOREIGN ([RoleId])[dbo].[webpages_Roles] ([RoleId])TABLE [dbo].[webpages_UsersInRoles] CHECK CONSTRAINT

[FK_webpages_UsersInRoles_webpages_Roles]

/****** Object: ForeignKey

[FK_Факультет_Спкциальность_Специальность] Script Date: 06/01/2016

:26:23 ******/TABLE [dbo].[Факультет_Специальность] WITH CHECK ADD  [FK_Факультет_Спкциальность_Специальность]

FOREIGN KEY([ID_Специальность])[dbo].[Специальность] ([ID_Специальность])TABLE [dbo].[Факультет_Специальность] CHECK [FK_Факультет_Спкциальность_Специальность]

GO

/****** Object: ForeignKey [FK_Факультет_Спкциальность_Факультет]

Script Date: 06/01/2016 05:26:23 ******/TABLE [dbo].[Факультет_Специальность] WITH CHECK ADD  [FK_Факультет_Спкциальность_Факультет] FOREIGN

KEY([ID_Факультет])

REFERENCES [dbo].[Факультет] ([ID_Факультет])

GO

ALTER TABLE [dbo].[Факультет_Специальность] CHECK

CONSTRAINT [FK_Факультет_Спкциальность_Факультет]

GO

/****** Object: ForeignKey [FK_Студент_Специальность] Script Date:

/01/2016 05:26:23 ******/TABLE [dbo].[Студент] WITH CHECK ADD CONSTRAINT

[FK_Студент_Специальность] FOREIGN KEY([ID_Специальность])[dbo].[Специальность] ([ID_Специальность])

GOTABLE [dbo].[Студент] CHECK CONSTRAINT

[FK_Студент_Специальность]

/****** Object: ForeignKey [FK_Студент_Типобучения] Script Date:

/01/2016 05:26:23 ******/TABLE [dbo].[Студент] WITH CHECK ADD CONSTRAINT

[FK_Студент_Типобучения] FOREIGN KEY([ID_ТипОбучения])[dbo].[Типобучения] ([ID_Тип])TABLE [dbo].[Студент] CHECK CONSTRAINT

[FK_Студент_Типобучения]

/****** Object: ForeignKey [FK_Преподаватель_Должность] Script : 06/01/2016 05:26:23 ******/TABLE [dbo].[Преподаватель] WITH CHECK ADD  [FK_Преподаватель_Должность] FOREIGN

KEY([ID_Должность])[dbo].[Должность] ([ID_должность])

GOTABLE [dbo].[Преподаватель] CHECK CONSTRAINT

[FK_Преподаватель_Должность]

/****** Object: ForeignKey [FK_СтудентГруппа_Группа] Script Date:

/01/2016 05:26:23 ******/TABLE [dbo].[СтудентГруппа] WITH CHECK ADD [FK_СтудентГруппа_Группа] FOREIGN ([ID_Группа])[dbo].[Группа] ([ID_Группа])TABLE [dbo].[СтудентГруппа] CHECK CONSTRAINT

[FK_СтудентГруппа_Группа]

/****** Object: ForeignKey [FK_СтудентГруппа_Студент] Script Date:

/01/2016 05:26:23 ******/TABLE [dbo].[СтудентГруппа] WITH CHECK ADD [FK_СтудентГруппа_Студент] FOREIGN ([ID_Студент])[dbo].[Студент] ([ID_Студент])TABLE [dbo].[СтудентГруппа] CHECK CONSTRAINT

[FK_СтудентГруппа_Студент]

/****** Object: ForeignKey [FK_Лицо_UserProfile] Script Date:

/01/2016 05:26:24 ******/TABLE [dbo].[Лицо] WITH CHECK ADD CONSTRAINT

[FK_Лицо_UserProfile] FOREIGN KEY([ID_Лица])[dbo].[UserProfile] ([UserId])TABLE [dbo].[Лицо] CHECK CONSTRAINT

[FK_Лицо_UserProfile]

/****** Object: ForeignKey [FK_Лицо_Паспорт] Script Date: 06/01/2016

:26:24 ******/TABLE [dbo].[Лицо] WITH CHECK ADD CONSTRAINT

[FK_Лицо_Паспорт] FOREIGN KEY([ID_Паспорт])

REFERENCES [dbo].[Паспорт] ([ID])TABLE [dbo].[Лицо] CHECK CONSTRAINT

[FK_Лицо_Паспорт]

/****** Object: ForeignKey [FK_Лицо_Пол] Script Date: 06/01/2016

:26:24 ******/TABLE [dbo].[Лицо] WITH CHECK ADD CONSTRAINT

[FK_Лицо_Пол] FOREIGN KEY([ID_Пол])[dbo].[Пол] ([ID])TABLE [dbo].[Лицо] CHECK CONSTRAINT [FK_Лицо_Пол]

/****** Object: ForeignKey [FK_Лицо_Преподаватель] Script Date:

/01/2016 05:26:24 ******/TABLE [dbo].[Лицо] WITH CHECK ADD CONSTRAINT

[FK_Лицо_Преподаватель] FOREIGN KEY([ID_Лица])[dbo].[Преподаватель] ([ID_Преподаватель])

GOTABLE [dbo].[Лицо] CHECK CONSTRAINT

[FK_Лицо_Преподаватель]

/****** Object: ForeignKey [FK_Лицо_Студент] Script Date: 06/01/2016

:26:24 ******/TABLE [dbo].[Лицо] WITH CHECK ADD CONSTRAINT

[FK_Лицо_Студент] FOREIGN KEY([ID_Лица])[dbo].[Студент] ([ID_Студент])TABLE [dbo].[Лицо] CHECK CONSTRAINT

[FK_Лицо_Студент]

 

 


Приложение Г

 

Структура концептуальной модели на основе DSL


<?xmlversion="1.0"encoding="utf-8"?>

<edmx:EdmxVersion="3.0"xmlns:edmx="http://schemas.microsoft.com/ado

/2009/11/edmx">

<!-- EF Runtime content -->

<edmx:Runtime>

<!-- SSDL content -->

<edmx:StorageModels>

<SchemaNamespace="ХранилищеAdviceModel"Provider="System.Data.S"ProviderManifestToken="2008"Alias="Self"xmlns:store="http://sc.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator"xmlns

="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">

<EntityTypeName="Группа">

<Key>

<PropertyRefName="ID_Группа" />

</Key>

<PropertyName="ID_Группа"Type="int"StoreGeneratedPattern="Identity"="false" />

<PropertyName="Наименование"Type="nvarchar"MaxLength="12"Nullab="false" />

<PropertyName="Специальность"Type="int"Nullable="false" />

<PropertyName="Типобучения"Type="int"Nullable="false" />

<PropertyName="Годобучения"Type="nchar"MaxLength="10"Nullable="f" />

</EntityType>

<EntityTypeName="Должность">

<Key>

<PropertyRefName="ID_должность" />

</Key>

<PropertyName="ID_должность"Type="int"StoreGeneratedPattern="Identi"Nullable="false" />

<PropertyName="Должность_"Type="nvarchar"MaxLength="50"Nullable

="false" />

</EntityType>

<EntityTypeName="Лицо">

<Key>

<PropertyRefName="ID_Лица" />

</Key>

<PropertyName="ID_Лица"Type="int"Nullable="false" />

<PropertyName="Имя"Type="nvarchar"MaxLength="50"Nullable="false"

/>

<PropertyName="Отчество"Type="nvarchar"MaxLength="50"Nullable="f" />

<PropertyName="Фамилия"Type="nvarchar"MaxLength="50"Nullable="fa" />

<PropertyName="ID_Паспорт"Type="int" />

<PropertyName="ID_Адрес"Type="int" />

<PropertyName="ID_Пол"Type="smallint" />

<PropertyName="Дата_рождения"Type="date" />

</EntityType>

<EntityTypeName="Паспорт">

<Key>

<PropertyRefName="ID" />

</Key>

<PropertyName="ID"Type="int"Nullable="false" />

<PropertyName="Серия"Type="nchar"MaxLength="5"Nullable="false" />

<PropertyName="N

паспорта"Type="nvarchar"MaxLength="20"Nullable="false" />

<PropertyName="Когдавыдан"Type="datetime" />

<PropertyName="Кемвыдан"Type="nvarchar"MaxLength="50" />

</EntityType>

<EntityTypeName="Пол">

<Key>

<PropertyRefName="ID" />

</Key>

<PropertyName="ID"Type="smallint"Nullable="false" />

<PropertyName="Пол"Type="nchar"MaxLength="10" />

<PropertyName="Краткое"Type="nchar"MaxLength="1" />

</EntityType>

<EntityTypeName="Преподаватель">

<Key>

<PropertyRefName="ID_Преподаватель" />

</Key>

<PropertyName="ID_Преподаватель"Type="int"Nullable="false" />

<PropertyName="ID_Должность"Type="int" />

</EntityType>

<EntityTypeName="Специальность">

<PropertyRefName="ID_Специальность" />

</Key>

<PropertyName="ID_Специальность"Type="int"StoreGeneratedPattern="I"Nullable="false" />

<PropertyName="Наименование"Type="nvarchar"MaxLength="80"Nullab="false" />

<PropertyName="Код"Type="nvarchar"MaxLength="50" />

</EntityType>

<EntityTypeName="Студент">

<Key>

<PropertyRefName="ID_Студент" />

</Key>

<PropertyName="ID_Студент"Type="int"Nullable="false" />

<PropertyName="N_ЗачКН"Type="int"Nullable="false" />

<PropertyName="Годпоступления"Type="date" />

<PropertyName="ID_Специальность"Type="int" />

<PropertyName="ID_ТипОбучения"Type="int" />

</EntityType>

<EntityTypeName="СтудентГруппа">

<Key>

<PropertyRefName="ID_Студент" />

<PropertyRefName="ID_Группа" />

</Key>

<PropertyName="ID_Студент"Type="int"Nullable="false" />

<PropertyName="ID_Группа"Type="int"Nullable="false" />

</EntityType>

<EntityTypeName="Типобучения">

<Key>

<PropertyRefName="ID_Тип" />

</Key>

<PropertyName="ID_Тип"Type="int"StoreGeneratedPattern="Identity"Null="false" />

<PropertyName="Наименование"Type="nvarchar"MaxLength="50" />

<PropertyName="Кол_лет"Type="real" />

</EntityType>

<EntityTypeName="Факультет">

<Key>

<PropertyRefName="ID_Факультет" />

</Key>

<PropertyName="ID_Факультет"Type="int"StoreGeneratedPattern="Identi"Nullable="false" />

<PropertyName="Наименование"Type="nvarchar"MaxLength="80"Nullab="false" />

</EntityType>

<EntityTypeName="Факультет_Специальность">

<Key>

<PropertyRefName="ID_Факультет" />

<PropertyRefName="ID_Специальность" />

</Key>

<PropertyName="ID_Факультет"Type="int"Nullable="false" />

<PropertyName="ID_Специальность"Type="int"Nullable="false" />

</EntityType>

<AssociationName="FK_Группа_Специальность">

<EndRole="Специальность"Type="Self.Специальность"Multiplicity="1"

/>

<EndRole="Группа"Type="Self.Группа"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Специальность">

<PropertyRefName="ID_Специальность" />

</Principal>

<DependentRole="Группа">

<PropertyRefName="Специальность" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Группа_Типобучения">

<EndRole="Типобучения"Type="Self.Типобучения"Multiplicity="1" />

<EndRole="Группа"Type="Self.Группа"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Типобучения">

<PropertyRefName="ID_Тип" />

</Principal>

<DependentRole="Группа">

<PropertyRefName="Типобучения" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Лицо_Паспорт">

<EndRole="Паспорт"Type="Self.Паспорт"Multiplicity="0..1" />

<EndRole="Лицо"Type="Self.Лицо"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Паспорт">

<PropertyRefName="ID" />

</Principal>

<DependentRole="Лицо">

<PropertyRefName="ID_Паспорт" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Лицо_Пол">

<EndRole="Пол"Type="Self.Пол"Multiplicity="0..1" />

<EndRole="Лицо"Type="Self.Лицо"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Пол">

<PropertyRefName="ID" />

</Principal>

<DependentRole="Лицо">

<PropertyRefName="ID_Пол" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Лицо_Преподаватель">

<EndRole="Преподаватель"Type="Self.Преподаватель"Multiplicity="1"

/>

<EndRole="Лицо"Type="Self.Лицо"Multiplicity="0..1" />

<ReferentialConstraint>

<PrincipalRole="Преподаватель">

<PropertyRefName="ID_Преподаватель" />

</Principal>

<DependentRole="Лицо">

<PropertyRefName="ID_Лица" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Лицо_Студент">

<EndRole="Студент"Type="Self.Студент"Multiplicity="1" />

<EndRole="Лицо"Type="Self.Лицо"Multiplicity="0..1" />

<ReferentialConstraint>

<PrincipalRole="Студент">

<PropertyRefName="ID_Студент" />

</Principal>

<DependentRole="Лицо">

<PropertyRefName="ID_Лица" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Преподаватель_Должность">

<EndRole="Должность"Type="Self.Должность"Multiplicity="0..1" />

<EndRole="Преподаватель"Type="Self.Преподаватель"Multiplicity="*"

/>

<ReferentialConstraint>

<PrincipalRole="Должность">

<PropertyRefName="ID_должность" />

</Principal>

<DependentRole="Преподаватель">

<PropertyRefName="ID_Должность" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Студент_Специальность">

<EndRole="Специальность"Type="Self.Специальность"Multiplicity="0..

" />

<EndRole="Студент"Type="Self.Студент"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Специальность">

<PropertyRefName="ID_Специальность" />

</Principal>

<DependentRole="Студент">

<PropertyRefName="ID_Специальность" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Студент_Типобучения">

<EndRole="Типобучения"Type="Self.Типобучения"Multiplicity="0..1" />

<EndRole="Студент"Type="Self.Студент"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Типобучения">

<PropertyRefName="ID_Тип" />

</Principal>

<DependentRole="Студент">

<PropertyRefName="ID_ТипОбучения" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_СтудентГруппа_Группа">

<EndRole="Группа"Type="Self.Группа"Multiplicity="1" />

<EndRole="СтудентГруппа"Type="Self.СтудентГруппа"Multiplicity="*"

/>

<ReferentialConstraint>

<PrincipalRole="Группа">

<PropertyRefName="ID_Группа" />

</Principal>

<DependentRole="СтудентГруппа">

<PropertyRefName="ID_Группа" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_СтудентГруппа_Студент">

<EndRole="Студент"Type="Self.Студент"Multiplicity="1" />

<EndRole="СтудентГруппа"Type="Self.СтудентГруппа"Multiplicity="*"

/>

<ReferentialConstraint>

<PrincipalRole="Студент">

<PropertyRefName="ID_Студент" />

</Principal>

<DependentRole="СтудентГруппа">

<PropertyRefName="ID_Студент" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Факультет_Спкциальность_Специальность">

<EndRole="Специальность"Type="Self.Специальность"Multiplicity="1"

/>

<EndRole="Факультет_Специальность"Type="Self.Факультет_Специал

ьность"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Специальность">

<PropertyRefName="ID_Специальность" />

</Principal>

<DependentRole="Факультет_Специальность">

<PropertyRefName="ID_Специальность" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Факультет_Спкциальность_Факультет">

<EndRole="Факультет"Type="Self.Факультет"Multiplicity="1" />

<EndRole="Факультет_Специальность"Type="Self.Факультет_Специал

ьность"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Факультет">

<PropertyRefName="ID_Факультет" />

</Principal>

<DependentRole="Факультет_Специальность">

<PropertyRefName="ID_Факультет" />

</Dependent>

</ReferentialConstraint>

</Association>

<FunctionName="Пользователь"Aggregate="false"BuiltIn="false"NiladicF="false"IsComposable="false"ParameterTypeSemantics="AllowImpl"Schema="dbo" />

<EntityContainerName="ХранилищеAdviceModelContainer">

<EntitySetName="Группа"EntityType="Self.Группа"Schema="dbo"store:T="Tables" />

<EntitySetName="Должность"EntityType="Self.Должность"Schema="db"store:Type="Tables" />

<EntitySetName="Лицо"EntityType="Self.Лицо"Schema="dbo"store:Type

="Tables" />

<EntitySetName="Паспорт"EntityType="Self.Паспорт"Schema="dbo"stor:Type="Tables" />

<EntitySetName="Пол"EntityType="Self.Пол"Schema="dbo"store:Type="" />

<EntitySetName="Преподаватель"EntityType="Self.Преподаватель"Sche="dbo"store:Type="Tables" />

<EntitySetName="Специальность"EntityType="Self.Специальность"Sche="dbo"store:Type="Tables" />

<EntitySetName="Студент"EntityType="Self.Студент"Schema="dbo"store

:Type="Tables" />

<EntitySetName="СтудентГруппа"EntityType="Self.СтудентГруппа"Sch="dbo"store:Type="Tables" />

<EntitySetName="Типобучения"EntityType="Self.Типобучения"Schema=

"dbo"store:Type="Tables" />

<EntitySetName="Факультет"EntityType="Self.Факультет"Schema="dbo":Type="Tables" />

<EntitySetName="Факультет_Специальность"EntityType="Self.Факульт

ет_Специальность"Schema="dbo"store:Type="Tables" />

<AssociationSetName="FK_Группа_Специальность"Association="Self.F_Группа_Специальность">

<EndRole="Специальность"EntitySet="Специальность" />

<EndRole="Группа"EntitySet="Группа" />

</AssociationSet>

<AssociationSetName="FK_Группа_Типобучения"Association="Self.FK_

Группа_Типобучения">

<EndRole="Типобучения"EntitySet="Типобучения" />

<EndRole="Группа"EntitySet="Группа" />

</AssociationSet>

<AssociationSetName="FK_Лицо_Паспорт"Association="Self.FK_Лицо_

Паспорт">

<EndRole="Паспорт"EntitySet="Паспорт" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<AssociationSetName="FK_Лицо_Пол"Association="Self.FK_Лицо_Пол"

<EndRole="Пол"EntitySet="Пол" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<AssociationSetName="FK_Лицо_Преподаватель"Association="Self.FK_

Лицо_Преподаватель">

<EndRole="Преподаватель"EntitySet="Преподаватель" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<AssociationSetName="FK_Лицо_Студент"Association="Self.FK_Лицо_

Студент">

<EndRole="Студент"EntitySet="Студент" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<AssociationSetName="FK_Преподаватель_Должность"Association="Sel.FK_Преподаватель_Должность">

<EndRole="Должность"EntitySet="Должность" />

<EndRole="Преподаватель"EntitySet="Преподаватель" />

</AssociationSet>

<AssociationSetName="FK_Студент_Специальность"Association="Self.F_Студент_Специальность">

<EndRole="Специальность"EntitySet="Специальность" />

<EndRole="Студент"EntitySet="Студент" />

</AssociationSet>

<AssociationSetName="FK_Студент_Типобучения"Association="Self.FK

_Студент_Типобучения">

<EndRole="Типобучения"EntitySet="Типобучения" />

<EndRole="Студент"EntitySet="Студент" />

</AssociationSet>

<AssociationSetName="FK_СтудентГруппа_Группа"Association="Self.F_СтудентГруппа_Группа">

<EndRole="Группа"EntitySet="Группа" />

<EndRole="СтудентГруппа"EntitySet="СтудентГруппа" />

</AssociationSet>

<AssociationSetName="FK_СтудентГруппа_Студент"Association="Self.F_СтудентГруппа_Студент">

<EndRole="Студент"EntitySet="Студент" />

<EndRole="СтудентГруппа"EntitySet="СтудентГруппа" />

</AssociationSet>

<AssociationSetName="FK_Факультет_Спкциальность_Специальность"

Association="Self.FK_Факультет_Спкциальность_Специальность">

<EndRole="Специальность"EntitySet="Специальность" />

<EndRole="Факультет_Специальность"EntitySet="Факультет_Специаль

ность" />

</AssociationSet>

<AssociationSetName="FK_Факультет_Спкциальность_Факультет"Asso

ciation="Self.FK_Факультет_Спкциальность_Факультет">

<EndRole="Факультет"EntitySet="Факультет" />

<EndRole="Факультет_Специальность"EntitySet="Факультет_Специаль

ность" />

</AssociationSet>

</EntityContainer>

</Schema></edmx:StorageModels>

<!-- CSDL content -->

<edmx:ConceptualModels>

<SchemaNamespace="AdviceModel"Alias="Self"annotation:UseStrongSpat="false"xmlns:annotation="http://schemas.microsoft.com/ado/2009/

/edm/annotation"xmlns=http://schemas.microsoft.com/ado/2009/11/edm

<EntityTypeName="Лицо">

<Key>

<PropertyRefName="ID_Лица" />

</Key>

<PropertyName="ID_Лица"Type="Int32"Nullable="false" />

<PropertyName="Имя"Type="String"MaxLength="50"FixedLength="false

"Unicode="true"Nullable="false" />

<PropertyName="Отчество"Type="String"MaxLength="50"FixedLength=""Unicode="true"Nullable="false" />

<PropertyName="Фамилия"Type="String"MaxLength="50"FixedLength=""Unicode="true"Nullable="false" />

<PropertyName="ID_Паспорт"Type="Int32" />

<PropertyName="ID_Адрес"Type="Int32" />

<PropertyName="ID_Пол"Type="Int16" />

<PropertyName="Дата_рождения"Type="DateTime"Precision="0" />

<NavigationPropertyName="Паспорт"Relationship="Self.FK_Лицо_Паспо

рт"FromRole="Лицо"ToRole="Паспорт" />

<NavigationPropertyName="Пол"Relationship="Self.FK_Лицо_Пол"From="Лицо"ToRole="Пол" />

<NavigationPropertyName="Преподаватель"Relationship="AdviceModel._Лицо_Преподаватель"FromRole="Лицо"ToRole="Преподаватель"

/>

<NavigationPropertyName="Студент"Relationship="AdviceModel.FK_Ли

цо_Студент"FromRole="Лицо"ToRole="Студент" />

</EntityType>

<EntityTypeName="Паспорт">

<Key>

<PropertyRefName="ID" />

</Key>

<PropertyName="ID"Type="Int32"Nullable="false" />

<PropertyName="Серия"Type="String"MaxLength="5"FixedLength="true"="true"Nullable="false" />

<PropertyName="N_паспорта"Type="String"MaxLength="20"FixedLength

="false"Unicode="true"Nullable="false" />

<PropertyName="Когда_выдан"Type="DateTime"Precision="3" />

<PropertyName="Кем_выдан"Type="String"MaxLength="50"FixedLength

="false"Unicode="true" />

<NavigationPropertyName="Лицо"Relationship="Self.FK_Лицо_Паспорт"="Паспорт"ToRole="Лицо" />

</EntityType>

<EntityTypeName="Пол">

<Key>

<PropertyRefName="ID" />

</Key>

<PropertyName="ID"Type="Int16"Nullable="false" />

<PropertyName="Пол1"Type="String"MaxLength="10"FixedLength="true

"Unicode="true" />

<PropertyName="Краткое"Type="String"MaxLength="1"FixedLength="tru"Unicode="true" />

<NavigationPropertyName="Лицо"Relationship="Self.FK_Лицо_Пол"Fro="Пол"ToRole="Лицо" />

</EntityType>

<AssociationName="FK_Лицо_Паспорт">

<EndRole="Паспорт"Type="Self.Паспорт"Multiplicity="0..1" />

<EndRole="Лицо"Type="Self.Лицо"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Паспорт">

<PropertyRefName="ID" />

</Principal>

<PropertyRefName="ID_Паспорт" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Лицо_Пол">

<EndRole="Пол"Type="Self.Пол"Multiplicity="0..1" />

<EndRole="Лицо"Type="Self.Лицо"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Пол">

<PropertyRefName="ID" />

</Principal>

<DependentRole="Лицо">

<PropertyRefName="ID_Пол" />

</Dependent>

</ReferentialConstraint>

</Association>

<EntityContainerName="AdviceEntities"annotation:LazyLoadingEnabled="">

<EntitySetName="Лицо"EntityType="Self.Лицо" />

<EntitySetName="Паспорт"EntityType="Self.Паспорт" />

<EntitySetName="Пол"EntityType="Self.Пол" />

<AssociationSetName="FK_Лицо_Паспорт"Association="Self.FK_Лицо_

Паспорт">

<EndRole="Паспорт"EntitySet="Паспорт" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<AssociationSetName="FK_Лицо_Пол"Association="Self.FK_Лицо_Пол"

<EndRole="Пол"EntitySet="Пол" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<EntitySetName="Группа"EntityType="AdviceModel.Группа" />

<EntitySetName="Преподаватель"EntityType="AdviceModel.Преподават

ель" />

<EntitySetName="Специальность"EntityType="AdviceModel.Специальн

ость" />

<EntitySetName="Студент"EntityType="AdviceModel.Студент" />

<EntitySetName="Тип_обучения"EntityType="AdviceModel.Тип_обучен

ия" />

<EntitySetName="Факультет"EntityType="AdviceModel.Факультет" />

<AssociationSetName="FK_Группа_Специальность"Association="Advice.FK_Группа_Специальность">

<EndRole="Специальность"EntitySet="Специальность" />

<EndRole="Группа"EntitySet="Группа" />

</AssociationSet>

<AssociationSetName="FK_Группа_Тип_обучения"Association="Advice.FK_Группа_Тип_обучения">

<EndRole="Тип_обучения"EntitySet="Тип_обучения" />

<EndRole="Группа"EntitySet="Группа" />

</AssociationSet>

<AssociationSetName="FK_Лицо_Преподаватель"Association="AdviceM.FK_Лицо_Преподаватель">

<EndRole="Преподаватель"EntitySet="Преподаватель" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<AssociationSetName="FK_Лицо_Студент"Association="AdviceModel.F_Лицо_Студент">

<EndRole="Студент"EntitySet="Студент" />

<EndRole="Лицо"EntitySet="Лицо" />

</AssociationSet>

<AssociationSetName="FK_Студент_Специальность"Association="Advic.FK_Студент_Специальность">

<EndRole="Специальность"EntitySet="Специальность" />

<EndRole="Студент"EntitySet="Студент" />

</AssociationSet>

<AssociationSetName="FK_Студент_Тип_обучения"Association="Advic.FK_Студент_Тип_обучения">

<EndRole="Тип_обучения"EntitySet="Тип_обучения" />

<EndRole="Студент"EntitySet="Студент" />

</AssociationSet>

<AssociationSetName="Факультет_Специальность"Association="Advice.Факультет_Специальность">

<EndRole="Специальность"EntitySet="Специальность" />

<EndRole="Факультет"EntitySet="Факультет" />

</AssociationSet>

<FunctionImportName="Пользователь"ReturnType="Collection(AdviceM.Пользователь_Result)" />

<EntitySetName="Должность"EntityType="AdviceModel.Должность" />

<AssociationSetName="FK_Преподаватель_Должность"Association="Ad.FK_Преподаватель_Должность">

<EndRole="Должность"EntitySet="Должность" />

<EndRole="Преподаватель"EntitySet="Преподаватель" />

</AssociationSet>

<AssociationSetName="СтудентГруппа"Association="AdviceModel.Студ

ентГруппа">

<EndRole="Группа"EntitySet="Группа" />

<EndRole="Студент"EntitySet="Студент" />

</AssociationSet>

</EntityContainer>

<EntityTypeName="Группа">

<Key>

<PropertyRefName="ID_Группа" />

</Key>

<PropertyName="ID_Группа"Type="Int32"Nullable="false"annotation:Stor="Identity" />

<PropertyName="Наименование"Type="String"Nullable="false"MaxLengt="12"FixedLength="false"Unicode="true" />

<PropertyName="Специальность"Type="Int32"Nullable="false" />

<PropertyName="Тип_обучения"Type="Int32"Nullable="false" />

<PropertyName="Год_обучения"Type="String"Nullable="false"MaxLengt="10"FixedLength="true"Unicode="true" />

<NavigationPropertyName="Специальность1"Relationship="AdviceModel

.FK_Группа_Специальность"FromRole="Группа"ToRole="Специальнос

ть" />

<NavigationPropertyName="Тип_обучения1"Relationship="AdviceModel._Группа_Тип_обучения"FromRole="Группа"ToRole="Тип_обучения

" />

<NavigationPropertyName="Студент1"Relationship="AdviceModel.Студе

нтГруппа"FromRole="Группа"ToRole="Студент" />

</EntityType>

<EntityTypeName="Преподаватель">

<Key>

<PropertyRefName="ID_Преподаватель" />

</Key>

<PropertyName="ID_Преподаватель"Type="Int32"Nullable="false" />

<PropertyName="ID_Должность"Type="Int32" />

<NavigationPropertyName="Лицо"Relationship="AdviceModel.FK_Лицо_

Преподаватель"FromRole="Преподаватель"ToRole="Лицо" />

<NavigationPropertyName="Должность"Relationship="AdviceModel.FK_

Преподаватель_Должность"FromRole="Преподаватель"ToRole="Должн

ость" />

</EntityType>

<EntityTypeName="Специальность">

<Key>

<PropertyRefName="ID_Специальность" />

</Key>

<PropertyName="ID_Специальность"Type="Int32"Nullable="false"annota:StoreGeneratedPattern="Identity" />

<PropertyName="Наименование"Type="String"Nullable="false"MaxLengt="80"FixedLength="false"Unicode="true" />

<PropertyName="Код"Type="String"MaxLength="50"FixedLength="false"="true" />

<NavigationPropertyName="Группа"Relationship="AdviceModel.FK_Гру

ппа_Специальность"FromRole="Специальность"ToRole="Группа" />

<NavigationPropertyName="Студент"Relationship="AdviceModel.FK_Ст

удент_Специальность"FromRole="Специальность"ToRole="Студент" />

<NavigationPropertyName="Факультет"Relationship="AdviceModel.Факу

льтет_Специальность"FromRole="Специальность"ToRole="Факультет"

/>

</EntityType>

<EntityTypeName="Студент">

<Key>

<PropertyRefName="ID_Студент" />

</Key>

<PropertyName="ID_Студент"Type="Int32"Nullable="false" />

<PropertyName="N_ЗачКН"Type="Int32"Nullable="false" />

<PropertyName="Год_поступления"Type="DateTime"Precision="0" />

<PropertyName="ID_Специальность"Type="Int32" />

<PropertyName="ID_ТипОбучения"Type="Int32" />

<NavigationPropertyName="Лицо"Relationship="AdviceModel.FK_Лицо_

Студент"FromRole="Студент"ToRole="Лицо" />

<NavigationPropertyName="Специальность"Relationship="AdviceModel._Студент_Специальность"FromRole="Студент"ToRole="Специально

сть" />

<NavigationPropertyName="Тип_обучения"Relationship="AdviceModel.F_Студент_Тип_обучения"FromRole="Студент"ToRole="Тип_обучени

я" />

</EntityType>

<EntityTypeName="Тип_обучения">

<Key>

<PropertyRefName="ID_Тип" />

</Key>

<PropertyName="ID_Тип"Type="Int32"Nullable="false"annotation:StoreG="Identity" />

<PropertyName="Наименование"Type="String"MaxLength="50"FixedLen="false"Unicode="true" />

<PropertyName="Кол_лет"Type="Single" />

<NavigationPropertyName="Группа"Relationship="AdviceModel.FK_Гру

ппа_Тип_обучения"FromRole="Тип_обучения"ToRole="Группа" />

<NavigationPropertyName="Студент"Relationship="AdviceModel.FK_Ст

удент_Тип_обучения"FromRole="Тип_обучения"ToRole="Студент" />

</EntityType>

<EntityTypeName="Факультет">

<Key>

<PropertyRefName="ID_Факультет" />

</Key>

<PropertyName="ID_Факультет"Type="Int32"Nullable="false"annotation:="Identity" />

<PropertyName="Наименование"Type="String"Nullable="false"MaxLengt="80"FixedLength="false"Unicode="true" />

<NavigationPropertyName="Специальность"Relationship="AdviceModel.

Факультет_Специальность"FromRole="Факультет"ToRole="Специальн

ость" />

</EntityType>

<AssociationName="FK_Группа_Специальность">

<EndType="AdviceModel.Специальность"Role="Специальность"Multipl="1" />

<EndType="AdviceModel.Группа"Role="Группа"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Специальность">

<PropertyRefName="ID_Специальность" />

</Principal>

<DependentRole="Группа">

<PropertyRefName="Специальность" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Группа_Тип_обучения">

<EndType="AdviceModel.Тип_обучения"Role="Тип_обучения"Multiplic="1" />

<EndType="AdviceModel.Группа"Role="Группа"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Тип_обучения">

<PropertyRefName="ID_Тип" />

</Principal>

<DependentRole="Группа">

<PropertyRefName="Тип_обучения" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Лицо_Преподаватель">

<EndType="AdviceModel.Преподаватель"Role="Преподаватель"Multipli="1" />

<EndType="AdviceModel.Лицо"Role="Лицо"Multiplicity="0..1" />

<ReferentialConstraint>

<PrincipalRole="Преподаватель">

<PropertyRefName="ID_Преподаватель" />

</Principal>

<DependentRole="Лицо">

<PropertyRefName="ID_Лица" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Лицо_Студент">

<EndType="AdviceModel.Студент"Role="Студент"Multiplicity="1" />

<EndType="AdviceModel.Лицо"Role="Лицо"Multiplicity="0..1" />

<ReferentialConstraint>

<PrincipalRole="Студент">

<PropertyRefName="ID_Студент" />

</Principal>

<DependentRole="Лицо">

<PropertyRefName="ID_Лица" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Студент_Специальность">

<EndType="AdviceModel.Специальность"Role="Специальность"Multipl="0..1" />

<EndType="AdviceModel.Студент"Role="Студент"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Специальность">

<PropertyRefName="ID_Специальность" />

</Principal>

<DependentRole="Студент">

<PropertyRefName="ID_Специальность" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="FK_Студент_Тип_обучения">

<EndType="AdviceModel.Тип_обучения"Role="Тип_обучения"Multiplic="0..1" />

<EndType="AdviceModel.Студент"Role="Студент"Multiplicity="*" />

<ReferentialConstraint>

<PrincipalRole="Тип_обучения">

<PropertyRefName="ID_Тип" />

</Principal>

<DependentRole="Студент">

<PropertyRefName="ID_ТипОбучения" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="Факультет_Специальность">

<EndType="AdviceModel.Специальность"Role="Специальность"Multipl="*" />

<EndType="AdviceModel.Факультет"Role="Факультет"Multiplicity="*"

/>

</Association>

<ComplexTypeName="Пользователь_Result">

<PropertyType="Int32"Name="Номер"Nullable="false" />

<PropertyType="String"Name="Логин"Nullable="false"MaxLength="56"

/>

<PropertyType="DateTime"Name="Дата_создания"Nullable="true"Precisi="23" />

</ComplexType>

<EntityTypeName="Должность">

<Key>

<PropertyRefName="ID_должность" />

</Key>

<PropertyName="ID_должность"Type="Int32"Nullable="false"annotation:="Identity" />

<PropertyName="Должность_"Type="String"Nullable="false"MaxLength=

"50"FixedLength="false"Unicode="true" />

<NavigationPropertyName="Преподаватель"Relationship="AdviceModel._Преподаватель_Должность"FromRole="Должность"ToRole="Препо

даватель" />

</EntityType>

<AssociationName="FK_Преподаватель_Должность">

<EndType="AdviceModel.Должность"Role="Должность"Multiplicity="0..

" />

<EndType="AdviceModel.Преподаватель"Role="Преподаватель"Multipli="*" />

<ReferentialConstraint>

<PrincipalRole="Должность">

<PropertyRefName="ID_должность" />

</Principal>

<DependentRole="Преподаватель">

<PropertyRefName="ID_Должность" />

</Dependent>

</ReferentialConstraint>

</Association>

<AssociationName="СтудентГруппа">

<EndType="AdviceModel.Группа"Role="Группа"Multiplicity="*" />

<EndType="AdviceModel.Студент"Role="Студент"Multiplicity="*" />

</Association>

</Schema>

</edmx:ConceptualModels>

<!-- C-S mapping content -->

<edmx:Mappings>

<MappingSpace="C-"xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">

<EntityContainerMappingStorageEntityContainer="ХранилищеAdviceMod"CdmEntityContainer="AdviceEntities">

<EntitySetMappingName="Лицо">

<EntityTypeMappingTypeName="AdviceModel.Лицо">

<MappingFragmentStoreEntitySet="Лицо">

<ScalarPropertyName="ID_Лица"ColumnName="ID_Лица" />

<ScalarPropertyName="Имя"ColumnName="Имя" />

<ScalarPropertyName="Отчество"ColumnName="Отчество" />

<ScalarPropertyName="Фамилия"ColumnName="Фамилия" />

<ScalarPropertyName="ID_Паспорт"ColumnName="ID_Паспорт" />

<ScalarPropertyName="ID_Адрес"ColumnName="ID_Адрес" />

<ScalarPropertyName="ID_Пол"ColumnName="ID_Пол" />

<ScalarPropertyName="Дата_рождения"ColumnName="Дата_рождения"

/>

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Паспорт">

<EntityTypeMappingTypeName="AdviceModel.Паспорт">

<MappingFragmentStoreEntitySet="Паспорт">

<ScalarPropertyName="ID"ColumnName="ID" />

<ScalarPropertyName="Серия"ColumnName="Серия" />

<ScalarPropertyName="N_паспорта"ColumnName="N паспорта" />

<ScalarPropertyName="Когда_выдан"ColumnName="Когдавыдан" />

<ScalarPropertyName="Кем_выдан"ColumnName="Кемвыдан" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Пол">

<EntityTypeMappingTypeName="AdviceModel.Пол">

<MappingFragmentStoreEntitySet="Пол">

<ScalarPropertyName="ID"ColumnName="ID" />

<ScalarPropertyName="Пол1"ColumnName="Пол" />

<ScalarPropertyName="Краткое"ColumnName="Краткое" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Группа">

<EntityTypeMappingTypeName="AdviceModel.Группа">

<MappingFragmentStoreEntitySet="Группа">

<ScalarPropertyName="Год_обучения"ColumnName="Годобучения" />

<ScalarPropertyName="Тип_обучения"ColumnName="Типобучения" />

<ScalarPropertyName="Специальность"ColumnName="Специальность"

/>

<ScalarPropertyName="Наименование"ColumnName="Наименование" />

<ScalarPropertyName="ID_Группа"ColumnName="ID_Группа" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Преподаватель">

<EntityTypeMappingTypeName="AdviceModel.Преподаватель">

<MappingFragmentStoreEntitySet="Преподаватель">

<ScalarPropertyName="ID_Должность"ColumnName="ID_Должность"

/>

<ScalarPropertyName="ID_Преподаватель"ColumnName="ID_Преподав

атель" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Специальность">

<EntityTypeMappingTypeName="AdviceModel.Специальность">

<MappingFragmentStoreEntitySet="Специальность">

<ScalarPropertyName="Код"ColumnName="Код" />

<ScalarPropertyName="Наименование"ColumnName="Наименование" />

<ScalarPropertyName="ID_Специальность"ColumnName="ID_Специаль

ность" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Студент">

<EntityTypeMappingTypeName="AdviceModel.Студент">

<MappingFragmentStoreEntitySet="Студент">

<ScalarPropertyName="ID_ТипОбучения"ColumnName="ID_ТипОбучен

ия" />

<ScalarPropertyName="ID_Специальность"ColumnName="ID_Специаль

<ScalarPropertyName="Год_поступления"ColumnName="Годпоступлен

ия" />

<ScalarPropertyName="N_ЗачКН"ColumnName="N_ЗачКН" />

<ScalarPropertyName="ID_Студент"ColumnName="ID_Студент" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Тип_обучения">

<EntityTypeMappingTypeName="AdviceModel.Тип_обучения">

<MappingFragmentStoreEntitySet="Типобучения">

<ScalarPropertyName="Кол_лет"ColumnName="Кол_лет" />

<ScalarPropertyName="Наименование"ColumnName="Наименование" />

<ScalarPropertyName="ID_Тип"ColumnName="ID_Тип" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<EntitySetMappingName="Факультет">

<EntityTypeMappingTypeName="AdviceModel.Факультет">

<MappingFragmentStoreEntitySet="Факультет">

<ScalarPropertyName="Наименование"ColumnName="Наименование" />

<ScalarPropertyName="ID_Факультет"ColumnName="ID_Факультет" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<AssociationSetMappingName="Факультет_Специальность"TypeName=".Факультет_Специальность"StoreEntitySet="Факультет_Сп

ециальность">

<EndPropertyName="Факультет">

<ScalarPropertyName="ID_Факультет"ColumnName="ID_Факультет" />

</EndProperty>

<EndPropertyName="Специальность">

<ScalarPropertyName="ID_Специальность"ColumnName="ID_Специаль

ность" />

</EndProperty>

</AssociationSetMapping>

<FunctionImportMappingFunctionImportName="Пользователь"FunctionN="ХранилищеAdviceModel.Пользователь">

<ResultMapping>

<ComplexTypeMappingTypeName="AdviceModel.Пользователь_Result"

<ScalarPropertyName="Номер"ColumnName="Номер" />

<ScalarPropertyName="Логин"ColumnName="Логин" />

<ScalarPropertyName="Дата_создания"ColumnName="Датасоздания" />

</ComplexTypeMapping>

</ResultMapping>

</FunctionImportMapping>

<EntitySetMappingName="Должность">

<EntityTypeMappingTypeName="AdviceModel.Должность">

<MappingFragmentStoreEntitySet="Должность">

<ScalarPropertyName="Должность_"ColumnName="Должность_" />

<ScalarPropertyName="ID_должность"ColumnName="ID_должность" />

</MappingFragment>

</EntityTypeMapping>

</EntitySetMapping>

<AssociationSetMappingName="СтудентГруппа"TypeName="AdviceMod.СтудентГруппа"StoreEntitySet="СтудентГруппа">

<EndPropertyName="Студент">

<ScalarPropertyName="ID_Студент"ColumnName="ID_Студент" />

</EndProperty>

<EndPropertyName="Группа">

<ScalarPropertyName="ID_Группа"ColumnName="ID_Группа" />

</EndProperty>

</AssociationSetMapping>

</EntityContainerMapping>

</Mapping>

</edmx:Mappings>

</edmx:Runtime>

<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -

<Designerxmlns="http://schemas.microsoft.com/ado/2009/11/edmx">

<Connection>

<DesignerInfoPropertySet>

<DesignerPropertyName="MetadataArtifactProcessing"Value="EmbedInOu" />

</DesignerInfoPropertySet>

</Connection>

<Options>

<DesignerInfoPropertySet>

<DesignerPropertyName="ValidateOnBuild"Value="true" />

<DesignerPropertyName="EnablePluralization"Value="false" />

<DesignerPropertyName="IncludeForeignKeysInModel"Value="true" />

<DesignerPropertyName="UseLegacyProvider"Value="true" />

<DesignerPropertyName="CodeGenerationStrategy"Value="Нет" />

</DesignerInfoPropertySet>

</Options>

<!-- Diagram content (shape and connector positions) -->

<Diagrams></Diagrams>

</Designer>

</edmx:Edmx>

 

 


Приложение Д

 

Обоснование модели выбора жизненного цикла


Таблица Д.1

Выбор модели ЖЦ на основе характеристик требований

Требования

Каскадная

V-образная

Прото-типирование

Спиральная

RAD

Инкре-ментная

Являются ли требования легко определимыми и/или хорошо известн.

Да

Да

Нет

Нет

Да

Нет

Могут ли требования заранее определятся в цикле

Да

Да

Нет

Нет

Да

Да

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

Нет

Нет

Да

Да

Да

Нет

Нужно ли демонстрировать требования с целью определения

Нет

Нет

Да

Да

Да

Нет

Требуется ли демонстрация возможностей проверка концепции

Нет

Нет

Да

Да

Да

Нет

Будут ли требования отражать сложность системы

Нет

Нет

Да

Да

Нет

Да

Обладает ли требование функциональными свойствами на раннем этапе

Нет

Нет

Да

Да

Да

Да


Таблица Д.2

Выбор модели ЖЦ на основе характеристик участников команды разработчиков

Команда разработчиков проекта

Каскадная

V-образная

Прототипи-рование

Спиральная

RAD

Инкре ментная

Являются ли проблемы предметной области проекта новыми для большинства разработчиков

Нет

Нет

Да

Да

Нет

Нет

Является ли технология предметной области проекта новой для большинства разработчиков

Да

Да

Нет

Да

Нет

Да

Являются ли инструменты, используемые проектом, новыми для большинства разработчиков

Да

Да

Нет

Да

Нет

Нет

Изменяются ли роли участников проекта во время ЖЦ

Нет

Нет

Да

Да

Нет

Да

Могут ли разработчики проекта пройти обучение

Нет

Да

Нет

Нет

Да

Да

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

Да

Да

Нет

Нет

Нет

Да

Будет ли менеджер проекта строго отслеживать прогресс проекта

Да

Да

Нет

Да

Нет

Да

Важна легкость распределения ресурсов

Да

Да

Нет

Нет

Да

Да

Приемлет ли команда равноправные обзоры инспекций, менеджмент/обзоры заказчиков, а так же стадии

Да

Да

Да

Да

Нет

Да


Таблица Д.З

Выбор модели ЖЦ на основе характеристик типа проектов и рисков

Тип проекта и риски

Каскадная

V-образная

Прототи-пирование

Спиральная

RAD

Инкре-ментная

Будет ли проект идентифицировать новое направление продукта для организации

Нет

Нет

Да

Да

Нет

Да

Будет ли проект иметь тип системной интеграции

Нет

Да

Да

Да

Да

Да

Будет ли проект являться расширением существующей системы

Нет

Да

Нет

Нет

Да

Да

Будет ли финансирование проекта стабильным на всем протяжении ЖЦ

Да

Да

Да

Нет

Да

Нет

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

Да

Да

Нет

Да

Нет

Да

Должна ли быть высокая степень надежности

Нет

Да

Нет

Да

Нет

Да

Будет ли система изменяться, возможно, с применением непредвиденных методов, на этапе сопровождения

Нет

Нет

Да

Да

Нет

Да

Является ли график ограниченным

Нет

Нет

Да

Да

Да

Да

Являются ли «прозрачными» интерфейсные модули

Да

Да

Нет

Нет

Нет

Да

Доступны ли повторно используемые компоненты

Нет

Нет

Да

Да

Да

Нет

Являются ли достаточными ресурсы (время, деньги, инструменты, персонал)

Нет

Нет

Да

Да

Нет

Нет

Таблица Д.4

Выбор модели ЖЦ на основе характеристик пользователей

Коллектив пользователей

Каскадная

V-образная

Прото-типирование

Спиральная

RAD

Инкре-ментная

Будет ли присутствие пользователей ограниченно в ЖЦ

Да

Да

Нет

Да

Нет

Да

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

Нет

Нет

Да

Да

Нет

Да

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

Нет

Нет

Да

Нет

Да

Да

Будут ли пользователи вовлечены во все фазы ЖЦ

Нет

Нет

Да

Нет

Да

Нет

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

Нет

Нет

Да

Да

Нет

Нет


Похожие работы на - Разработка Web-сервиса консультационных услуг ИП Бетадзе

 

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