⟨/⟩ 60_Epics/PacketProcessing/EPIC_PacketProcessing.cs

100 строк · в начало

using Ban.Sdaid.Notation.Documents;

namespace Ban.Sdaid.Icd.Epics.PacketProcessing
{
    /// <summary>Эпик «Обработка пакета» — от постановки в очередь до создания электронной ИК.</summary>
    public class EPIC_PacketProcessing : IEpicDocument
    {
        public static string _refName = "эпик «Обработка пакетов»";

        public string Name => "Обработка пакета";

        public string Description =>
            @"Пакет проходит автоматическую обработку с определением вида ИК и извлечением значений, затем проверку пользователем на двух вкладках, завершающуюся созданием электронной информационной карты.";

        public string Version => "0.2";
        public string Status => "draft";
        public string[] Comments => new string[0];

        public static string S1_Goal = """
            ## Цель

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

        public static string S2_Actors = """
            ## Акторы

            | Актор | Роль в эпике |
            |---|---|
            | Сервис | предобработка, распознавание, извлечение атрибутов, оценка уверенности |
            | Хранитель | сверяет исходные данные и разбор, правит значения, сверяет состав экспертов, создаёт ИК |
            """;

        public static string S3_Scope = """
            ## Границы

            **Входит:** очередь пакетов и её фильтры по состояниям, назначение пакета пользователю,
            определение вида ИК и формы, распределение кадров по страницам, проверка на двух вкладках,
            отклонение вида с возвратом в очередь, создание электронной ИК.

            **Не входит:** сбор материалов (эпик ввода), реестр готовых карт и выгрузка в АБИС.

            Требования: «Распознавание текста», «Сегментация и извлечение атрибутов», «Оценка достоверности распознавания»,
            «Верификация и корректировка данных», «Формирование электронной информационной карты», «Очередь обработки пакетов».
            """;

        public static string S4_AcceptanceCriteria = """
            ## Критерии приёмки

            1. Очередь фильтруется по четырём состояниям пакета: в очереди, проверка, завершён, ошибка.
            2. Поиск в очереди работает по номеру пакета, шифру, инвентарному номеру и заглавию.
            3. Опознанный вид ИК и форма показаны явно; видно, сколько кадров отнесено к страницам
               формы и сколько осталось лишними.
            4. Кадр открывается в полном размере с лупой и переключателем «оригинал / обработанное».
            5. Соответствие кадра странице формы можно изменить; изменение делает результаты
               распознавания недействительными, и это показано.
            6. Пакет возвращается в очередь только по команде пользователя, но не сам.
            7. Уверенность распознавания показана по пакету и по каждому полю; до обработки её нет,
               и это показано явно, а не нулём.
            8. Выбор поля показывает страницу-источник с подсвеченной областью.
            9. Исправленное пользователем значение не затирается повторной обработкой; распознанное
               остаётся видимым рядом с исправленным.
            10. Отклонение вида ИК позволяет указать верный; пакет с неопознанным видом помечается
                ошибочным и остаётся в очереди.
            11. Правку пакета ведёт только тот, кто взял его в работу.
            12. Создание ИК недоступно, пока не заполнены обязательные поля; состав кадров на это
                не влияет.
            """;

        public static string S5_OpenQuestions = """
            ## Открытые вопросы

            | № | Вопрос |
            |---|---|
            | OQ-PP-1 | Пороги уверенности для цветовой индикации и, возможно, для автопропуска проверки не заданы |
            | OQ-PP-2 | Порог уверенности определения вида ИК, ниже которого Сервис сам просит подтверждения, не задан |
            | ~~OQ-PP-3~~ | Снят: привязка карты к экземпляру фонда в состав Сервиса не входит, реестра документов нет |
            | OQ-PP-4 | Раздача пакетов операторам: ручной выбор либо автоматическое назначение (OQ-V-6) |
            | OQ-PP-5 | Ошибка самой обработки — не распознавания, а сбоя: повтор, ручное вмешательство, отбраковка пакета |
            | OQ-PP-6 | Сколько раз пакет может вернуться в очередь после отклонения вида, прежде чем потребуется ручной разбор |
            | OQ-PP-7 | Может ли другой оператор подхватить пакет, взятый в работу и отложенный до дозаполнения, и через сколько; продолжение OQ-PP-4 |
            """;

        public static string S99_Related = $"""
            ## Связанные артефакты

            - {nameof(Ban.Sdaid.Icd.Arch.Adr.ADR_008_PacketStatesAndTwoTabs)} — решение о четырёх состояниях и двух вкладках
            - {nameof(Ban.Sdaid.Icd.Arch.Adr.ADR_005_FieldValueSourceBinding)} — привязка значения к странице формы и области
            - {nameof(Ban.Sdaid.Icd.Requirements.FR_002_TextRecognition)} — Распознавание текста
            - {nameof(Ban.Sdaid.Icd.Requirements.FR_003_AttributeExtraction)} — Сегментация и извлечение атрибутов
            - {nameof(Ban.Sdaid.Icd.Requirements.FR_004_ConfidenceScoring)} — Оценка достоверности распознавания
            - {nameof(Ban.Sdaid.Icd.Requirements.FR_005_Verification)} — Верификация и корректировка данных
            - {nameof(Ban.Sdaid.Icd.Requirements.FR_006_CardCreation)} — Формирование электронной информационной карты
            - {nameof(Ban.Sdaid.Icd.Requirements.FR_009_PacketQueue)} — Очередь обработки пакетов
            """;
    }
}