Здесь и
здесь началась и может быть ЗДЕСЬ будет продолжена дискуссия про абстрактные ВИ.
Нужно признать, что мои представления об абстрактности несколько иные, чем у изобретателей UML и, в частности, use cases.
Действительно, кто же как не Ивар должен значть все об абстракции ВИ. Он же их придумал, он же их развивал.
Правда есть другой центр влияния. Он известен нам под именем Алистера Коберна. В русском издании на слово абстрактный нет ни одного совпадения. В английском издании мне встретилось только четыре совпадения, ничего собственно не проясняющие по данному поводу. Правда в русском переводе часто встречается термин обобщение. Что соответствует термину summary level, но никак не abstract.
Насчет понятия абстракция почитайте
здесь. И начнем дискуссию
Я пока начинаю собирать коллекцию определений:
1.
Essential (Abstract) Use CasesAn essential use case (Constantine and Lockwood 1999), sometimes called a business use case, is a simplified, abstract, generalized use case that captures the intentions of a user in a technology and implementation independent manner. A fully documented essential use case is a structured narrative, expressed in the language of the application domain and of users, comprising a simplified, abstract, technology-free and implementation-independent description of one task or interaction. An essential use case is complete, meaningful, and well designed from the point-of-view of users in some role or roles in relation to a system and that embodies the purpose or intentions underlying the interaction.
2.
Abstract and Concrete Use Cases concrete use case is a particular type of use case that is directly invoked by an actor and achieves a specific goal. It is self-contained and illustrates a complete flow of events. A concrete use case is a specific instance of using a common set of steps referred to as an abstract use case.
An abstract use case is a particular type of use case that is not directly invoked by an actor but is called by another use case.
3.
Concrete and Abstract Use CasesThere is a distinction between concrete and abstract use cases. A concrete use case is initiated by an actor and constitutes a complete flow of events. "Complete" means that an instance of the use case performs the entire operation called for by the actor.
An abstract use case is never instantiated in itself. Abstract use cases are included in, extend into, or generalize other use cases. When a concrete use case is initiated, an instance of the use case is created. This instance also exhibits the behavior specified by its associated abstract use cases. Thus, no separate instances are created from abstract use cases.
The distinction between the two is important, because it is concrete use cases the actors will "see" and initiate in the system.
You indicate that a use case is abstract by writing its name in italics.
Впрочем это Виталий приводил. Собственно больше не нашел.