{"id":830,"date":"2014-09-05T01:10:34","date_gmt":"2014-09-05T01:10:34","guid":{"rendered":"http:\/\/www.w3computing.com\/systemsanalysis\/?p=830"},"modified":"2021-05-18T19:41:19","modified_gmt":"2021-05-18T19:41:19","slug":"use-case-modeling","status":"publish","type":"post","link":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/","title":{"rendered":"Use Case Modeling"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">UML is fundamentally based on an object-oriented analysis technique known as use case modeling, which was introduced in Chapter &#8220;<a title=\"Understanding and Modeling Organizational Systems\" href=\"http:\/\/www.w3computing.com\/systemsanalysis\/understanding-modeling-organizational-systems\/\">Understanding and Modeling Organizational Systems<\/a>&#8220;. A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be used to analyze the use case model, and to derive system objects and their interactions with each other and with the users of the system. Using UML techniques, you further analyze the objects and their interactions to derive object behavior, attributes, and relationships.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A use case provides developers with a view of what the users want. It is free of technical or implementation details. We can think of a use case as a sequence of transactions in a system. The use case model is based on the interactions and relationships of individual use cases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A use case always describes three things: an actor that initiates an event; the event that triggers a use case; and the use case that performs the actions triggered by the event. In a use case, an actor using the system initiates an event that begins a related series of interactions in the system. Use cases are used to document a single transaction or event. An event is an input to the system that happens at a specific time and place and causes the system to do something. For more information about use case symbols and how to draw use case diagrams, see Chapter 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Figure shown below is a use case example of student enrollment at a university. Notice that only the most important functions are represented. The Add Student use case does not indicate how to add students, the method of implementation. Students could be added in person, using the Web, using a touch-tone telephone, or any combination of these methods. The Add Student use case includes the Verify Identity use case to verify the identity of the student. The Purchase Textbook use case extends the Enroll in Class use case, and may be part of a system to enroll students in an online course.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6.jpg\" rel=\"lightbox[830]\"><img loading=\"lazy\" decoding=\"async\" width=\"280\" height=\"300\" src=\"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6-280x300.jpg\" alt=\"A use case example of student enrollment.\" class=\"wp-image-789\" srcset=\"https:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6-280x300.jpg 280w, https:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6.jpg 687w\" sizes=\"auto, (max-width: 280px) 100vw, 280px\" \/><\/a><figcaption>A use case example of student enrollment.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It may seem as if the Change Student Information use case is a minor system feature and should not be included on the use case diagram, but because this information changes frequently, administration has a keen interest in allowing students to change their own personal information. The fact that the administrators deem this to be important not only justifies, but calls for, the use case to be written up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Students would not be allowed to change grade point average, outstanding fees, and other information. This use case also includes the Verify Identity use case, and in this situation, it means having the student enter a user ID and password before gaining access to the system. View Student Information allows students to view their personal information, as well as courses and grades. A use case scenario example is shown in the figure below.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.7.1.jpg\" rel=\"lightbox[830]\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"271\" src=\"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.7.1-300x271.jpg\" alt=\"A use case scenario is divided into three sections: identification and initiation, steps performed, and conditions, assumptions, and questions.\" class=\"wp-image-833\" srcset=\"https:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.7.1-300x271.jpg 300w, https:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.7.1.jpg 827w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption>A use case scenario is divided into three sections: identification and initiation, steps performed, and conditions, assumptions, and questions.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Some of the areas included are optional, and may not be used by all organizations. The three main areas are:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>A header area containing case identifiers and initiators.<\/li><li>Steps performed.<\/li><li>A footer area containing preconditions, assumptions, questions, and other information.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In the first area the use case is identified by its name, Change Student Information; the actor is identified as a Student; and the Use Case and Triggering Event are described. The second area contains a series of steps that are performed as long as no errors are encountered. Finally, in the third area, all of the pre- and postconditions and assumptions are identified. Some of these are obvious, such as the precondition that the student is on the correct Web page and the assumption that the student has a valid student ID and password. Others are not so obvious, such as the outstanding issue regarding how many times the student is allowed to log on to the system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use case diagrams provide the basis for creating other types of diagrams, such as class diagrams and activity diagrams. Use case scenarios are helpful in drawing sequence diagrams. Both use case diagrams and use case scenarios are powerful tools to help us understand how a system works in general.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UML is fundamentally based on an object-oriented analysis technique known as use case modeling, which was introduced in Chapter &#8220;Understanding and Modeling Organizational Systems&#8220;. A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be used [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[13],"tags":[],"class_list":["post-830","post","type-post","status-publish","format-standard","category-object-oriented-sad-using-uml","entry","has-post-thumbnail"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Use Case Modeling<\/title>\n<meta name=\"description\" content=\"A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use Case Modeling\" \/>\n<meta property=\"og:description\" content=\"A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/w3computing\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-05T01:10:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-18T19:41:19+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6-280x300.jpg\" \/>\n<meta name=\"author\" content=\"w3computing.com\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"w3computing.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/\"},\"author\":{\"name\":\"w3computing.com\",\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/#\\\/schema\\\/person\\\/8395166dc0b94b38a3aeb88dafbd63ce\"},\"headline\":\"Use Case Modeling\",\"datePublished\":\"2014-09-05T01:10:34+00:00\",\"dateModified\":\"2021-05-18T19:41:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/\"},\"wordCount\":733,\"image\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/10.6-280x300.jpg\",\"articleSection\":[\"Object-Oriented Systems Analysis and Design Using UML\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/\",\"url\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/\",\"name\":\"Use Case Modeling\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/10.6-280x300.jpg\",\"datePublished\":\"2014-09-05T01:10:34+00:00\",\"dateModified\":\"2021-05-18T19:41:19+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/#\\\/schema\\\/person\\\/8395166dc0b94b38a3aeb88dafbd63ce\"},\"description\":\"A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/10.6.jpg\",\"contentUrl\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/10.6.jpg\",\"width\":687,\"height\":736,\"caption\":\"A use case example of student enrollment.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/use-case-modeling\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Systems Analysis\",\"item\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Object-Oriented Systems Analysis and Design Using UML\",\"item\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/object-oriented-sad-using-uml\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Use Case Modeling\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/#website\",\"url\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.w3computing.com\\\/systemsanalysis\\\/#\\\/schema\\\/person\\\/8395166dc0b94b38a3aeb88dafbd63ce\",\"name\":\"w3computing.com\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Use Case Modeling","description":"A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/","og_locale":"en_US","og_type":"article","og_title":"Use Case Modeling","og_description":"A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be","og_url":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/","article_publisher":"https:\/\/www.facebook.com\/w3computing","article_published_time":"2014-09-05T01:10:34+00:00","article_modified_time":"2021-05-18T19:41:19+00:00","og_image":[{"url":"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6-280x300.jpg","type":"","width":"","height":""}],"author":"w3computing.com","twitter_misc":{"Written by":"w3computing.com","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/#article","isPartOf":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/"},"author":{"name":"w3computing.com","@id":"https:\/\/www.w3computing.com\/systemsanalysis\/#\/schema\/person\/8395166dc0b94b38a3aeb88dafbd63ce"},"headline":"Use Case Modeling","datePublished":"2014-09-05T01:10:34+00:00","dateModified":"2021-05-18T19:41:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/"},"wordCount":733,"image":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/#primaryimage"},"thumbnailUrl":"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6-280x300.jpg","articleSection":["Object-Oriented Systems Analysis and Design Using UML"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/","url":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/","name":"Use Case Modeling","isPartOf":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/#primaryimage"},"image":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/#primaryimage"},"thumbnailUrl":"http:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6-280x300.jpg","datePublished":"2014-09-05T01:10:34+00:00","dateModified":"2021-05-18T19:41:19+00:00","author":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/#\/schema\/person\/8395166dc0b94b38a3aeb88dafbd63ce"},"description":"A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be","breadcrumb":{"@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/#primaryimage","url":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6.jpg","contentUrl":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-content\/uploads\/2014\/09\/10.6.jpg","width":687,"height":736,"caption":"A use case example of student enrollment."},{"@type":"BreadcrumbList","@id":"https:\/\/www.w3computing.com\/systemsanalysis\/use-case-modeling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Systems Analysis","item":"https:\/\/www.w3computing.com\/systemsanalysis\/"},{"@type":"ListItem","position":2,"name":"Object-Oriented Systems Analysis and Design Using UML","item":"https:\/\/www.w3computing.com\/systemsanalysis\/object-oriented-sad-using-uml\/"},{"@type":"ListItem","position":3,"name":"Use Case Modeling"}]},{"@type":"WebSite","@id":"https:\/\/www.w3computing.com\/systemsanalysis\/#website","url":"https:\/\/www.w3computing.com\/systemsanalysis\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.w3computing.com\/systemsanalysis\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.w3computing.com\/systemsanalysis\/#\/schema\/person\/8395166dc0b94b38a3aeb88dafbd63ce","name":"w3computing.com"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4NNeA-do","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/posts\/830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/comments?post=830"}],"version-history":[{"count":0,"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/posts\/830\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/media?parent=830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/categories?post=830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.w3computing.com\/systemsanalysis\/wp-json\/wp\/v2\/tags?post=830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}