170 likes | 301 Vues
This lecture provides a comprehensive overview of use case diagrams, an essential component of software engineering that helps visualize user interactions with systems. It explains the significance of use cases as analysis tools that capture user-visible functions and goals. The session covers UML notation, the roles of actors, and relationships between use cases, such as associations and extensions. By understanding these elements, practitioners can effectively communicate system requirements and design frameworks that enhance user satisfaction.
E N D
Use Case Diagrams Lecture Oo14 Use Cases
References • Ambler, S., The Object Primer, Cambridge Univ. Press, 2001, Section 3.3, 6.1 • Fowler & Scott, UML Distilled Applying the Standard Object Modeling Language, AWL, 1997, Chapt 3
Teaching Points • What are Use Cases • Use Case Diagrams • Use Case Specifications
Review • What are the phases of our S/W Eng method? • What happens in each phase? • What are analysis and design?
Use Cases • Use cases are an analysis tool • They describe typical interactions between a user and the system • Capture some user-visible function • Achieve a discrete goal for the user • May be small or large
Use Cases • Every system function/requirement must stem from some user-visible function • Take each discrete thing they want to do, give it a name, and write up a short textual description (no more than a few paragraphs).
Use Case Diagrams • Used for visualizing use cases and helping to understand system interactions with the various kinds of users. • Part of the UML notation
Actors • An actor is a role a user plays with respect to the system • There may be many persons playing the same role • One person can play more than one role • Actors carry out use cases • Actors don’t need to be human
Use Case • Capture some user-visible function • Achieve a discrete goal for the user • A specification is attached to each use case
RelationshipsCommunication Associations • Also called “links” • Relates an actor to a use case it interacts with
Used when you have one use case that is similar to another use case but does a bit more Useful for capturing exceptions Used for describing a variation in normal behavior RelationshipsExtends Relationship
Uses Relationship • Used when you have similar behavior across a number of use cases • In this case one use case uses another • Used when you are repeating yourself in two or more separate use cases and you want to avoid repetition
Use Case Specifications Use Case name: Price Deal Category: Use Case View Documentation: This is some documentation for the Price Deal use case. You would provide one or two short paragraphs here. External Documents: Abstract: No State machine: No Generalization: Valuation (Uses) Associations: <no rolename> : Trader in association <no rolename> : Salesperson in association
Teaching Points • What are Use Cases • Use Case Diagrams • Use Case Specifications