Диаграмма 6. Работа с Клиентами и Сотрудниками

Use case 6.1. Просмотр списка Администраторов Клиента

Предусловия

1. Должен быть выполнен UC "0. Аутентификация"


Постусловия

1. Сотрудник ТЛХ может просматривать список всех Администраторов Клиентов.

2. Сотрудник ТЛХ может назначить до двух Администраторов Клиентов из числа Сотрудников Клиента.

3. Сотрудник ТЛХ может создавать новых Сотрудников Клиента для последующего выбора Администратором Клиента.


Требования

1. Экран Администраторы Клиентов:

1.1. Внешний вид должен соответствовать эскизу экрана Просмотр списка Администраторов.

1.2. Должен содержать следующие элементы:

1.2.1. Заголовок Клиенты и Cотрудники.

1.2.2.Название вкладки Администраторы.

1.2.3. Таблицу карточек Контакт-фирм Клиентов, столбцы которой соответствуют атрибутам класса CNTAdminView (по умолчанию сортировка таблицы должна производиться по столбцу Наименование от А до Я):

1.2.3.1. Номер (атрибут Номер):

· Должна быть предусмотрена фильтрация столбца по содержанию.

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

1.2.3.2. Наименование (атрибут Наименование):

· Должна быть предусмотрена фильтрация столбца по содержанию.

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

1.2.3.3. Администратор 1 – поле с выпадающим списком (атрибут Администратор 1).

1.2.3.4. Администратор 2 – поле с выпадающим списком (атрибут Администратор 2).

1.2.3.5. Кнопка Создать. Кнопка должна быть активна всегда. По факту нажатия вместо выбранной строки для редактирования должна отображаться форма регистрации Сотрудника. Требования описаны в UseCase «6.1.2. Регистрация Сотрудника».

1.2.3.6. Столбцы Номер и Наименование должны быть сгруппированы, название группы – Клиент. Столбцы Администратор 1, Администратор 2, кнопка Создать должны быть сгруппированы, название группы – Администраторы.

1.2.4. Полосу прокрутки (в соответствии с эскизом полосы прокрутки).


Связанные объекты

Linked Object

Linked Object Type

Linked Model

Linked Package

CNTAdminView

Class

Техническая модель MAP 2-0

Administration


List of dependent objects of the use case 6.1. Просмотр списка Администраторов Клиента

Dependent Object

Stereotype

Name

Object Location

6. Работа с Клиентами и Сотрудниками

include

Dependency_1

<Model>::Major::MAP::Administration

6.1.1. Выбор Администратора Клиента

extend

Dependency_3

<Model>::Major::MAP::Administration

6.1.2. Регистрация Сотрудника

extend

Dependency_5

<Model>::Major::MAP::Administration


Use case 6.1.1. Выбор Администратора Клиента

Предусловия

1. Должен быть выполнен UC "0. Аутентификация".


Постусловия

1. Сотрудник ТЛХ может назначить до двух Администраторов Клиента из числа Сотрудников Клиента.


Требования

  1. Выбор Администраторов Клиента может осуществляться из просмотра списка Администраторов Клиента (требования описаны в UseCase «6.1. Просмотр списка Администраторов Клиента») путем выбора из поля с выпадающим списком Администратор 1 или Администратор 2 Сотрудников соответствующего Клиента.

  2. Права Администратора Клиента у Сотрудника можно убрать, нажав на кнопку с пикрограммой «х» (удалить значение). После нажатия на кнопку в очищенном поле должен отображаться текст «Выберите…».

  3. Выбор Администраторов Клиента должен соответствовать эскизу экрана «Выбор Администратора».


Use case 6.1.2. Регистрация Сотрудника

Предусловия

1. Должен быть выполнен UC "0. Аутентификация".


Постусловия

1. Сотрудник ТЛХ может зарегистрировать Сотрудника Клиента.


Требования

1. По факту нажатия на кнопку Создать должна отображаться форма создания нового Сотрудника.

1.1. Внешний вид должен соответствовать эскизу «Регистрация Сотрудника».

1.2. Форма должна содержать следующие элементы, соответствующие атрибутам класса Данные Сотрудника для ввода:

1.2.1. Заголовок Регистрация сотрудника:

1.2.2. Поле ввода Фамилия:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Фамилия.

  • Индекс табуляции 1.

1.2.3. Поле ввода Имя:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Имя.

  • Индекс табуляции 2.

1.2.4. Поле ввода Отчество:

  • Формат должен соответствовать свойствам атрибута Отчество.

  • Индекс табуляции 3.

1.2.5. Поле ввода Должность:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Должность.

  • Индекс табуляции 4.

1.2.6.Поле ввода Город:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Город.

  • Индекс табуляции 5.

1.2.7.Поле ввода E-mail:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Адрес электронной почты.

  • Индекс табуляции 6.

1.2.8. Поле ввода Мобильный телефон:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Мобильный телефон.

  • Индекс табуляции 7.

1.2.9.Поле ввода Рабочий телефон:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Рабочий телефон.

  • Индекс табуляции 8.

1.2.10. Кнопку Сохранить:

· Должна быть активной всегда.

· По факту нажатия:

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

  • Если хотя бы одно из обязательных полей не было заполнено, то такие поля должны выделяться в соответствии с эскизом отображения ошибок. Текст ошибки "Поле обязательно к заполнению".

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

«Допустимы:

- {Комментарий к формату}

- Количество вводимых символов от X до Y символов»,

где X - минимальное количество символов, Y - максимальное количество символов.

· Индекс табуляции 9

1.2.11. Кнопку Отменить:

  • Должна быть активна всегда.

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

  • Индекс табуляции 10.


Связанные объекты

Linked Object

Linked Object Type

Linked Model

Linked Package

Данные Сотрудника для ввода

Class

Техническая модель MAP 2-0

Administration


Use case 6.2. Просмотр списка Сотрудников

Предусловия

1. Должен быть выполнен UC "0. Аутентификация"


Постусловия

1. Сотрудник ТЛХ может просматривать список всех Сотрудников Клиентов

2. Сотрудник ТЛХ может отредактировать данные любого Клиента

3. Сотрудник ТЛХ может отредактировать данные любого Сотрудника Клиента


Требования

1. Требования к отображению данных:

1.1. Внешний вид должен соответствовать эскизу экрана Просмотр списка Сотрудников.

1.2. Должен содержать следующие элементы:

1.2.1. Заголовок Клиенты и Сотрудники.

1.2.2.Название вкладки Сотрудники.

1.2.3.Таблицу, столбцы которой соответствуют атрибутам класса «Данные Сотрудника для отображения»:

1.2.3.1. ФИО (атрибут ФИО):

· Должна быть предусмотрена фильтрация столбца по содержанию.

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

1.2.3.2. Должность (атрибут Должность):

· Должна быть предусмотрена фильтрация столбца по содержанию.

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

1.2.3.3. Город (атрибут Город).

· Должна быть предусмотрена фильтрация столбца по содержанию.

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

1.2.3.4. Мобильный телефон (атрибут Мобильный телефон):

· Должна быть предусмотрена фильтрация столбца по содержанию.

1.2.3.4. Рабочий телефон (атрибут Рабочий телефон):

· Должна быть предусмотрена фильтрация столбца по содержанию.

1.2.3.5. Адрес электронной почты (атрибут Адрес электронной почты):

· Должна быть предусмотрена фильтрация столбца по содержанию.

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

1.2.3.6. Кнопка Редактировать. Кнопка должна быть активна всегда. По факту нажатия вместо выбранной строки для редактирования должна отображаться форма регистрации Сотрудника. Требования описаны в Use Case «6.2.2. Редактирование Сотрудника».

1.2.4. Элементы таблицы должны быть объединены в группы, объединяющие Сотрудников по Клиентам (пример: https://js.devexpress.com/Demos/WidgetsGallery/Demo/DataGrid/RecordGrouping/jQuery/Light/). Строка с данными Клиента должна соответствовать атрибутам класса Данные Клиента для отображения и содержать следующие элементы:

1.2.4.1. Наименование Клиента в формате {Номер (атрибут Номер)+Наименование (атрибут Наименование)}.

1.2.5. Кнопку Клиенты, при нажатии на которую производится сортировка значений по атрибуту Наименование класса Данные Клиента для отображения.

1.2.6. Полосу прокрутки (в соответствии с эскизом полосы прокрутки).


Связанные объекты

Linked Object

Linked Object Type

Linked Model

Linked Package

Данные Клиента для отображения

Class

Техническая модель MAP 2-0

Administration

Данные Сотрудника для отображения

Class

Техническая модель MAP 2-0

Administration


List of dependent objects of the use case 6.2. Просмотр списка Сотрудников

Dependent Object

Stereotype

Name

Object Location

6. Работа с Клиентами и Сотрудниками

include

Dependency_4

<Model>::Major::MAP::Administration

6.2.1. Редактирование Клиента

extend

Dependency_6

<Model>::Major::MAP::Administration

6.2.2. Редактирование Сотрудника

extend

Dependency_7

<Model>::Major::MAP::Administration


Use case 6.2.1. Редактирование Клиента

Предусловия

1. Должен быть выполнен UC "0. Аутентификация".


Постусловия

1. Сотрудник ТЛХ может отредактировать данные любого Клиента


Требования

1. По факту нажатия на кнопку Редактировать в строке с названием Клиента должна отображаться форма редактирования данных Клиента:

1.1. Внешний вид должен соответствовать эскизу «Редактирование Клиента».

1.2. Форма должна содержать следующие элементы, соответствующие атрибутам класса Данные Клиента для ввода:

1.2.1. Заголовок Редактирование Клиента:

1.2.2. Поле ввода Наименование:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Наименование.

  • Индекс табуляции 1.

1.2.3. Поле ввода Юридический адрес:

  • Должно быть обязательным для заполнения.

  • Формат должен соответствовать свойствам атрибута Адрес.

  • Индекс табуляции 2.

1.2.4. Кнопку Сохранить:

· Должна быть активной всегда.

· По факту нажатия:

· Если были заполнены все обязательные поля в корректном формате, то должна быть скрыта форма редактирования Клиента, должна быть отредактирована запись в БД о Клиенте.

· Если хотя бы одно из обязательных полей не было заполнено, то такие поля должны выделяться в соответствии с эскизом отображения ошибок. Текст ошибки "Поле обязательно к заполнению".

· Если формат заполненных полей не проходит проверку, то такие поля должны выделяться в соответствии с эскизом отображения ошибок. Текст ошибок: 1) в случае, если количество введенных символов не соответствует формату – «Длина поля {Название поля} должна составлять от X до Y символов», где X - минимальное количество символом, Y - максимальное количество символов; 2) в случае, если введенные символы недопустимы для ввода – «Поле {Название поля} может содержать {список символов в зависимости от формата поля}»

· Индекс табуляции 3

1.2.5. Кнопку Отменить:

  • Должна быть активна всегда.

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

  • Индекс табуляции 4.


Связанные объекты

Linked Object

Linked Object Type

Linked Model

Linked Package

Данные Клиента для ввода

Class

Техническая модель MAP 2-0

Administration


Use case 6.2.2. Редактирование Сотрудника

Предусловия

1. Должен быть выполнен UC "0. Аутентификация".


Постусловия

1. Сотрудник ТЛХ может отредактировать данные любого Сотрудника Клиента


Требования

  1. Редактирование Сотрудника может осуществляться из просмотра списка Сотрудников (требования описаны в UseCase «6.2. Просмотр списка Сотрудников») путем нажатия на кнопку «Редактировать» в строке с данными Сотрудника.

  2. Внешний вид должен соответствовать эскизу «Редактирование Сотрудника».

  3. При нажатии на кнопку Редактировать открывается предзаполненная форма регистрации Сотрудника, описанная в Use Case 6.1.2. Регистрация Сотрудника. Изменяется заголовок формы регистрации Сотрудника. Заголовок - Редактирование Сотрудника.


Диаграмма ClassDiagram_1

Класс DataFlowInfo

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

_dateFormat

_dateFormat

string

private

"dd.MM.yyyy HH:mm:ss"

 

 

 

_emitterText

_emitterText

string

private

"Источник"

 

 

 

_recipientText

_recipientText

string

private

"Получатель"

 

 

 

emittorProvider

emittorProvider

SqlSyncProvider

private

 

 

 

 

recipientProvider

recipientProvider

SqlSyncProvider

private

 

 

 

 

ID

DataFlowID

int

public

 

 

 

 

Название

DataFlowName

string

public

 

Название

 

 

Источник

Emitter

DataFlowPoint

public

 

 

 

 

Получатель

Recipient

DataFlowPoint

public

 

 

 

 

Период запуска

StartPeriod

int

public

 

 

 

 

Дата и время следующего запуска

NextStartDateTime

DateTime

public

 

 

 

 

Состояние

DataFlowStatus

DataFlowStatuses

public

 

 

 

 

resolveConflictScript

resolveConflictScript

String

private

 

 

 

 

Скрипт обработки конфликтов

ResolveConflictScript

String

public

 

 

 

 

ConflictResolve

ConflictResolve

IConflictResolver

public

 

 

 

 

EmitterID

EmitterID

int

public

 

 

 

 

RecipientID

RecipientID

int

public

 

 

 

 

syncOrchestrator

syncOrchestrator

SyncOrchestrator

private

new SyncOrchestrator()

 

 

 

cResolver

cResolver

IConflictResolver

private

 

 

 

 


Класс DataFlowPoint

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

ID

DataFlowPointID

int?

public

 

 

 

 

Scope name

ScopeName

String

public

 

Только Латиница

3

64

Prefix

ObjectPrefix

String

public

 

Только Латиница

3

32

Код адаптера

Code_ETL_Adapter

String

public

 

Только Латиница

2

32

Код провайдера

Code_EmmitorProviderExtend

String

public

 

Только Латиница

2

33

Read uncommitted

IsIsolatiolationLevelRequard

Boolean

public

 

 

 

 

ID подключения

ConnectionStringID

int

public

 

 

 

 

ConnectionString

ConnectionString

DBConnection

public

 

 

 

 

TablesInConfig

TablesInConfig

List<TableInfo>

public

 

 

 

 

TablesInDB

TablesInDB

List<TableInfo>

public

 

 

 

 


Класс DBConnection

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

connStringID

connStringID

int?

private

 

 

 

 

name

name

string

private

 

 

 

 

dataSource

dataSource

string

private

 

 

 

 

initialCatalog

initialCatalog

string

private

 

 

 

 

userID

userID

string

private

 

 

 

 

password

password

string

private

 

 

 

 

syncManager

syncManager

SyncManager

private

new SyncManager()

 

 

 

ID

ConnStringID

int

public

 

 

 

 

Название

Name

String

public

 

Название

1

32

Сервер

DataSource

String

public

 

Сервер и БД

1

64

База данных

InitialCatalog

String

public

 

Сервер и БД

1

64

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

UserID

String

public

 

Название

1

64

Пароль

Password

String

public

 

Название

1

64


Класс TableInfo

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

Идентификатор

TableID

int

public

 

 

 

 

Наименование таблицы

Name

String

public

 

 

 

 

columnInfo

_columnInfo

List<ColumnInfo>

public

 

 

 

 


Класс ColumnInfo

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

Идентификатор

ColumnID

int

public

 

 

 

 

Наименование колонки

Name

String

public

 

 

1

126

Тип действия

ActionType

ColumnActionTypes

public

 

 

 

 

Оператор

Operator

String

public

 

 

 

 

Фильтрующее Выражение

FilterExpression

String

public

 

Пароль

0

512


Класс ColumnActionTypes

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

none

none

int

public

 

 

 

 

Удаляется из синхронизации

RemoveFromSync

int

public

1

 

 

 

Добавляется фильтрующее условие

AddFilterCondition

int

public

2

 

 

 

Настройки столбца не применяются

NotApply

int

public

3

 

 

 


Класс Event

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

Идентификатор события потока данных

EventID

int

public

 

 

 

 

Дата и время события

EventDate

String

public

 

 

 

 

Тип события

EventType

ТипСобытия

public

 

 

 

 

Данные потока для отображения

данныеПотокаДляОтображения

ДанныеПотокаДляОтображения

public

 

 

 

 

Роль точки

DataPointRole

DataFlowPointRole

public

 

 

 

 

Данные точки для отображения

данныеТочкиДляОтображения

ДанныеТочкиДляОтображения

public

 

 

 

 

Наименование таблицы

TableName

String

public

 

 

 

 

Текст сообщения

Message

String

public

 

 

 

 


Класс Тип события

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

Error

error

String

public

 

 

 

 

Debug

debug

String

public

 

 

 

 

Trace

trace

String

public

 

 

 

 

Info

info

String

public

 

 

 

 

Warn

warn

String

public

 

 

 

 


Класс Роль точки

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

Источник

Source

String

public

 

 

 

 

Получатель

Recipient

String

public

 

 

 

 


Класс Оператор

Name

Code

Data Type

Visibility

Initial Value

Format

Minimum Value

Maximum Value

=

Equalto

String

public

 

 

 

 

>

Greaterthan

String

public

 

 

 

 

<

Lessthan

String

public

 

 

 

 

>=

Greaterthanorequalto

String

public

 

 

 

 

<=

Lessthanorequalto

String

public

 

 

 

 

<>

Notequalto

String

public

 

 

 

 

BETWEEN

between

String

public

 

 

 

 

EXISTS

exists

String

public

 

 

 

 

IN

in

String

public

 

 

 

 

LIKE

like

String

public