Хочу обновить эту тему.
Поскольку все равно до конца не укладывается как правильно и корректно применять подход к написанию CRUD ВИ, стоит ли связываться.
Есть паттерн, описанный в названной в данной теме книге Gunnar Övergaard, Karin Palmkvist - "Use-Cases Patterns and Blueprints", глава 20. CRUD.
Пример не плох, но не идеален. Не рассказано как описывать исключения и альтернативные ситуации с если.
ниже пример, который содержит определенные неточности, но который может послужить темой обсуждения. Как бы вы его реализовали?
Имя: Изменить записи о читателях
ID: 1
Краткое описание: Вариант использования описывает операции с
регистрационным
списком
Действующие лица: Библиотекарь
Предусловие: -
Постусловие: Записи читателя изменятся в соответствие с выполненным
действием
Основной поток:
• Система запрашивает требуемое действие
• Библиотекарь выбирает действие, после чего выполняется один из подчиненных потоков (Добавить/Удалить/Изменить/Перерегистрация читателя)
ID: 1.1 Добавить читателя
• Система запрашивает фамилию, имя и отчество читателя
• Библиотекарь вводит запрашиваемые данные
• Система создает новую запись о читателе в регистрационном списке
• Система возвращает номер читательского билета зарегистрированного читателя
ID: 1.2 Удалить читателя
• Система запрашивает номер читательского билета
• Библиотекарь вводит номер
• Система ищет читателя в регистрационном списке, после чего удаляет записи, ему соответствующие
ID: 1.3 Изменить данные читателя
• Система запрашивает номер читательского билета
• Библиотекарь вводит номер
• Система ищет читателя в регистрационном списке, после чего запрашивает новые данные
• Библиотекарь вводит новые данные о пользователе
• Система сохраняет изменения
ID: 1.4 Перерегистрация читателя
• Система запрашивает номер читательского билета
• Библиотекарь вводит номер
• Система ищет читателя в регистрационном списке, после чего обновляет его дату регистрации
Альтернативный поток событий
ID: 1.5 Читатель не найден
Если обнаруживается, что введенный номер читательского билета не соответствует ни одному читателю, то система выдаст сообщение об ошибке и предложит ввести номер заново либо отменить действие. При отмене выполнение варианта использования завершается