#set text(size: 1.3em) #show raw.where(block: false): box.with( fill: luma(240), inset: (x: 3pt, y: 0pt), outset: (y: 3pt), radius: 2pt, ) #show raw.where(block: true): block.with( fill: luma(240), inset: 10pt, radius: 4pt, ) // title #align(center)[Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики] \ \ \ #align(center)[Факультет инфокоммуникационных технологий] #align(center)[Направление подготовки 11.03.02] \ \ #align(center)[Лабораторная работа №3] #align(center)[Создание требований к разрабатываемой информационной системе] \ \ \ //#align(center)[Вариант 19] \ \ \ \ \ \ \ #align(right)[Выполнил:] #align(right)[Дощенников Никита Андреевич] #align(right)[Группа: К3221] #align(right)[Проверил:] #align(right)[Иванов Сергей Евгеньевич] \ \ #align(center)[Санкт-Петербург] #align(center)[2025] #pagebreak() === Цель работы. Изучение и формализация функциональных и нефункциональных требований к ИС, использование методов выявления требований и оформление их в виде глоссария, концепции и дополнительных спецификаций в соответствии с положениями ГОСТ 19.201-78 и ГОСТ 34.602-89. === Краткая концепция системы Назначение системы: автоматизация процессов регистрации пациентов и учета их статуса в больнице, учёта платных услуг и ведения архива выписанных пациентов; формирование управленческих отчётов. Цели создания: cнизить время регистрации пациента и нагрузку на регистратуру; исключить бумажный учёт, обеспечить быстрый поиск и хранение истории пациентов; обеспечить возможность формирования отчётов и печати необходимых документов; повысить точность учёта платных услуг и операций. Пользователи: регистратура, лечащий врач, заведующий отделением, бухгалтер, администратор системы, медицинский архивариус. === Глоссарий - Пациент — физическое лицо, зарегистрированное в системе для получения медицинских услуг. - Регистратура — сотрудник, выполняющий первичную регистрацию и распределение пациентов. - Отделение — структурное подразделение больницы (кардиология, хирургия и т. п.). - Палата — место размещения пациента в отделении; имеет пол, количество коек. - Выписной эпикриз — документ, формируемый при выписке пациента, содержащий краткое описание лечения и результатов. - Диагноз — код/наименование диагноза, назначаемое врачом. - Статус больного — текущее состояние. - Платная услуга — услуга за отдельную плату. - Операция — хирургическое вмешательство; имеет дату/время, статус и осложнения. - Отчёт — данные по заданным метрикам. - Архив — данные о выписанных пациентах, сохраняемые для поиска и анализа. === Методы выявления требований Для построения требований рекомендуется использовать сочетание методов: - Интервью с сотрудниками регистратуры, врачами, заведующими. - Анкетирование персонала для сбора пожеланий по отчётности и интерфейсу. - Моделирование и анализ текущих бизнес-процессов (регистрация, перевод, выписка). - Сессии по выявлению требований (мозговой штурм с ключевыми стейкхолдерами). - Прототипирование (демонстрация работающих прототипов экранных форм и отчётов пользователям) — быстрая валидация интерфейса. === Функциональные требования ==== Общие функции системы - Учет и хранение данных пациентов. - Поиск пациента по различным критериям. - Журнал действий пользователей. - Печать стандартных форм. - Экспорт/импорт данных в стандартизованных форматах для обмена с другими системами. ==== Функции для регистратуры - Зарегистрировать нового пациента. - Определить пациента в отделение. - Перевести пациента в другое отделение. - Закрепить пациента в палате / койке. - Выставить счет за платные услуги. - Просмотр наличия свободных мест в палатах с возможностью фильтрации по отделению и дате. - Распечатать документы регистрации и направления. ==== Функции для лечащего врача - Назначить диагноз пациенту. - Изменить/установить статус больного. - Назначить лечение. - Назначить процедуры. - Назначить дату и время процедур. - Назначить операцию. - Назначить дату и время операции. - Проставить статус операции. - Назначить платные услуги. - Выписать лекарственные средства. - Выписать пациента. - Создать выписной эпикриз. ==== Функции для заведующего отделением / администратора - Сформировать отчёт о пропускной способности больницы. - Сформировать отчёт по среднему времени пребывания больных в стационаре. - Сформировать отчёт по операциям с осложнениями. - Просмотр загрузки палат/коек и прогноз заполнения. - Управление списком отделений, палат, типов процедур и платных услуг. - Права доступа: назначение ролей и прав пользователей. ==== Функции для бухгалтера / платёжной подсистемы - Вести учёт платных услуг, генерация счетов и историй оплат. - Экспорт данных по начислениям для бухгалтерии. - Маркировать оплату как оплачено/частично оплачено/отменено. ==== Архив и отчётность - Перенос выписанных пациентов в архив с возможностью поиска и восстановления. - Формирование стандартных и настраиваемых отчётов. - Сохранение истории изменений медицинской карты и назначений. === Нефункциональные требования ==== Требования к применению - Интерфейс должен быть доступен с минимальным обучением: обучение одного сотрудника — не более 4 часов базового курса. - Все основные операции — не более 5 кликов/шагов. - Формы ввода должны иметь валидацию и подсказки. ==== Требования к производительности - Время отклика на основные операции — не более 1.5 секунды при нагрузке до 50 одновременных пользователей. - Поддержка одновременной работы до 200 пользователей в масштабируемой конфигурации при условии горизонтального масштабирования сервера. - Формирование отчёта по пропускной способности за период до года — не более 10 секунд. ==== Требования к надёжности и доступности - Доступность системы 99.5%. - Время восстановления после отказа — не более 2 часов при наличии резервного оборудования/контейнеров. - Потеря данных — не более 15 минут. - Логирование всех критических событий и операций. ==== Требования к безопасности и конфиденциальности - Аутентификация пользователей по логину/паролю; поддержка двухфакторной аутентификации для администраторов. - Ролевой доступ: разграничение прав. - Шифрование данных в покое и при передаче. - Соответствие требованиям защиты персональных данных: журналы доступа, удаление персональных данных по запросу, хранение истории изменений. - Регулярное применение обновлений безопасности и патчей. ==== Требования к интерфейсу и совместимости - Веб-интерфейс, совместимый с современными браузерами — последние 2 версии. - API для интеграции с лабораторией, учетной системой и электронным архивом. - Экспорт/импорт данных в CSV/XML/JSON. ==== Требования к эксплуатации и поддержке - Документация: пользовательская инструкция, инструкция администратора, инструкция по резервному копированию/восстановлению. - Система должна поддерживаться командой с 1 системным администратором и 1-2 разработчиками для сопровождения. === Cтадии разработки 1. Подготовительный этап / ТЗ — сбор требований, разработка ТЗ, согласование. 2. Проектирование — архитектура системы, модель данных, UX/UI прототипы. 3. Разработка — разработка модулей регистрации, врачебных функций, отчётов, платёжной подсистемы. 4. Тестирование — модульное, интеграционное, приёмочное тестирование с участием пользователей. 5. Внедрение и обучение — развертывание в продуктиве, обучение персонала. 6. Сопровождение — поддержка, исправление ошибок, доработка по результатам эксплуатации. === Выводы: Проведён анализ предметной области и описание назначение ИC. Сформирован глоссарий терминов, определены роли пользователей. Составлены детальные функциональные требования по ролям. Описаны нефункциональные требования с конкретными метриками. Подготовлены дополнительные технические спецификации. Разработан план стадий разработки и критерии приёмки в соответствии с ГОСТ 19.201-78 и ГОСТ 34.602-89.