1) Хотел бы добавить, что мы, по крайней мере, заявляем :-), что работаем в соответствии с RUP. А там все же основным артефактом, который фиксирует фунциональные требования, является юзкейс(ы). Получается, у меня выбора нет. Исправьте меня, если считаете, что я что-то не правильно понимаю.
2) Есть такая книжка: Use Cases Patterns and Blueprints, By Gunnar Övergaard, Karin Palmkvist, ISBN : 0-13-145134-0
Так вот там тоже упоминается этот CRUD pattern. Но там (в этой же книжке) упоминается такой Common Mistake, как "Modeling a business process as a system use case". Там есть пример:
"An example of a business use case that will be supported to a high degree by a software system is Manage Order in a warehouse business. The flow comprises among other things the registration of an order, the generation of a pick-list for the assembly of the shipment, the generation of an invoice when the order has been shipped, and finally the registration of the payment from the customer. It should also comprise the possibility to change or to delete a registered order.
Why not capture this as a single use case in the system use-case model? The problem is that this use case does not model one usage of the software; it models one usage of the business. The flow consists of several subflows that will be performed at different points in time, at irregular time intervals, and possibly initiated by different persons. Furthermore, each of these subflows provides a value to someone inside the warehouse. Hence, every subflow constitutes a use case in the software; that is, they are complete usages of the software. If we change focus and study the entire warehouse, however, none of them constitutes a use case on its own; they are only fragments in the usage of the warehouse business. The key here is the subject of the model: Is it the software system or is it the business?"
Еще там пишется про "Pauses in Use Cases
A somewhat related situation is when the performance of a use case includes a scheduled pause. A typical example is the telephone exchange system supporting a hotel, where one important service to the customers is to offer automatic wake-up calls. From the business perspective, the complete flow starts when a customer requests a wake-up call at some future point in time and ends when the wake-up call has been performed the next morning.
It is tempting to model this flow as one use case, but this is not the best way to do it. First, there is a long period of time during this process when nothing happens, and it is generally considered bad practice to model use cases whose execution largely consists of doing nothing. Second, it may be the case that the wake-up call is never performed at all (for example, if the customer cancels the request or decides to check out before the wake-up time). In this case, the use case has been waiting for a long time for nothing (see also Chapter 28, "Future Task")."
Отсюда и возникли мои сомнения, а не повторю ли я эту ошибку у себя в юзкейсе, если сделаю его единым, как описывал. И, соответственно, для меня не понятно, почему CRUD не подпадает под эту ошибку?
3) Что вы думаете про Pluggable use cases
http://alistair.cockburn.us/index.php/Pluggable_use_cases