{"id":4387,"date":"2026-01-19T11:44:56","date_gmt":"2026-01-19T03:44:56","guid":{"rendered":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/"},"modified":"2026-01-26T14:47:12","modified_gmt":"2026-01-26T06:47:12","slug":"practical-3-structural-implementation","status":"publish","type":"docs","link":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/","title":{"rendered":"Practical 3: Structural Implementation"},"content":{"rendered":"<p>In this practical session, you&#8217;ll apply structural UML modeling to realize the domain and implementation architecture of our Library Management System. We&#8217;ll start with the <strong>domain model<\/strong> using a Class Diagram (generated via AI and refined manually), then build a simple Component Diagram manually, and finally create a Deployment Diagram that reuses components from the previous step.<\/p>\n<p>By the end, you&#8217;ll see how use cases drive structural design: nouns from flows (Book, Member, Loan\u2026) become classes; modules become components; and runtime nodes show deployment.<\/p>\n<h2>Generating a Class Diagram (Domain Model) with AI<\/h2>\n<p>Visual Paradigm&#8217;s AI can quickly draft a domain-focused class diagram from a description \u2014 perfect for bootstrapping from use cases.<\/p>\n<ol>\n<li>Select <strong>Tools &gt; AI Diagram Generation<\/strong> from the main menu.\n<p id=\"VVTCwif\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-5218 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e70e8e754.png\" alt=\"To generate diagram with AI\" width=\"672\" height=\"138\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e70e8e754.png 672w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e70e8e754-300x62.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e70e8e754-150x31.png 150w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><\/p>\n<\/li>\n<li>In the AI Diagram Generation window, select <strong>Class Diagram<\/strong> as the type. In the Topic field, enter a clear description, e.g.:<br \/>\n<em>&#8220;Domain model for a Library Management System: include key entities like Member, Book, Loan, Reservation, Librarian, Fine; show attributes, basic relationships (associations, multiplicities), and inheritance if applicable. Focus on conceptual domain, no operations yet.&#8221;<\/em><br \/>\nThen click <strong>OK<\/strong>.<\/p>\n<p id=\"PxpWgAd\"><img decoding=\"async\" class=\"alignnone wp-image-5219 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e72f6ab67.png\" alt=\"Entered the prompt for generating a class diagram with AI\" width=\"486\" height=\"293\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e72f6ab67.png 486w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e72f6ab67-300x181.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e72f6ab67-150x90.png 150w\" sizes=\"(max-width: 486px) 100vw, 486px\" \/><\/p>\n<\/li>\n<li>The AI generates a class diagram based on your description. Review the classes, attributes, and relationships.\n<p id=\"QIPgGNC\"><img decoding=\"async\" class=\"alignnone wp-image-5220 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e7d449856.png\" alt=\"A class diagram generated by AI\" width=\"794\" height=\"324\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e7d449856.png 794w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e7d449856-300x122.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e7d449856-768x313.png 768w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e7d449856-150x61.png 150w\" sizes=\"(max-width: 794px) 100vw, 794px\" \/><\/p>\n<\/li>\n<li>Refine manually: rename classes\/attributes for clarity, adjust multiplicities, add missing associations, or delete irrelevant elements. We&#8217;ll cover detailed editing next.<\/li>\n<\/ol>\n<h2>Drawing a Class Diagram Manually (Domain Model)<\/h2>\n<p>For full control or when refining the AI draft, create the class diagram manually. We&#8217;ll build the same Library Management domain model.<\/p>\n<ol>\n<li>Select <strong>Diagram &gt; New<\/strong> from the main menu.\n<p id=\"KhFtnLq\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5221 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e81a25fd5.png\" alt=\"To create a new diagram\" width=\"494\" height=\"136\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e81a25fd5.png 494w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e81a25fd5-300x83.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e81a25fd5-150x41.png 150w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/><\/p>\n<\/li>\n<li>Choose <strong>Class Diagram<\/strong> and click <strong>Next<\/strong>.\n<p id=\"zbtNwHR\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5222 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e82e465df.png\" alt=\"Select a class diagram to create with\" width=\"626\" height=\"553\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e82e465df.png 626w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e82e465df-300x265.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e82e465df-150x133.png 150w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/p>\n<\/li>\n<li>Select <strong>Blank<\/strong> and click <strong>Next<\/strong>.\n<p id=\"vJithbv\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5223 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e83dbe990.png\" alt=\"Create a blank class diagram\" width=\"626\" height=\"553\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e83dbe990.png 626w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e83dbe990-300x265.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e83dbe990-150x133.png 150w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/p>\n<\/li>\n<li>Name the diagram (e.g., \u201cLibrary Domain Model\u201d) and click <strong>OK<\/strong>.\n<p id=\"bfwAVCk\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5224 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e857ac755.png\" alt=\"To name the class diagram to be created\" width=\"626\" height=\"330\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e857ac755.png 626w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e857ac755-300x158.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e857ac755-150x79.png 150w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/p>\n<\/li>\n<li>Create the first class: From the toolbar (left), click <strong>Class<\/strong>, then click on the canvas. Name it <strong>Book<\/strong>. Double-click to open specification and add attributes (e.g., ISBN: String, title: String, author: String, copiesAvailable: int).\n<p id=\"VkIQArL\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5225 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e87381fde.png\" alt=\"Drag a class from the diagram palette onto the diagram\" width=\"574\" height=\"212\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e87381fde.png 574w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e87381fde-300x111.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e87381fde-150x55.png 150w\" sizes=\"(max-width: 574px) 100vw, 574px\" \/><\/p>\n<\/li>\n<li>Add more classes using the same method: <strong>Member<\/strong>, <strong>Loan<\/strong>, <strong>Librarian<\/strong>, <strong>Fine<\/strong>.\n<p id=\"VvMcwUU\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5227 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9a2a8109.png\" alt=\"A UML class diagram with classes (not yet have relationships)\" width=\"564\" height=\"304\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9a2a8109.png 564w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9a2a8109-300x162.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9a2a8109-150x81.png 150w\" sizes=\"(max-width: 564px) 100vw, 564px\" \/><\/p>\n<\/li>\n<li>Create associations: Hover over Member, drag <strong>Resource Catalog<\/strong> icon \u2192 Loan class.\n<p id=\"JxFyqeQ\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5228 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9ba73c5c.png\" alt=\"To create a relationship among two classes using Resource Catalog\" width=\"359\" height=\"144\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9ba73c5c.png 359w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9ba73c5c-300x120.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9ba73c5c-150x60.png 150w\" sizes=\"(max-width: 359px) 100vw, 359px\" \/><\/p>\n<\/li>\n<li>Select <strong>Association<\/strong>.\n<p id=\"zBzCxeN\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5229 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9eaa25f3.png\" alt=\"To create an association between classes\" width=\"515\" height=\"254\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9eaa25f3.png 515w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9eaa25f3-300x148.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976e9eaa25f3-150x74.png 150w\" sizes=\"(max-width: 515px) 100vw, 515px\" \/><\/p>\n<\/li>\n<li>Set multiplicity (Member 1 \u2192 Loan 0..*).\n<p id=\"HBLXpoW\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5230 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976ea073ae85.png\" alt=\"Enter the multiplicities for and association\" width=\"353\" height=\"115\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976ea073ae85.png 353w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976ea073ae85-300x98.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976ea073ae85-150x49.png 150w\" sizes=\"(max-width: 353px) 100vw, 353px\" \/><\/p>\n<\/li>\n<li>Continue building relationships: Loan references Book (1 Loan \u2192 1 Book), Member pays Fine (optional extend-like), Librarian manages Loan.<\/li>\n<li>Finalize and layout: Use auto-layout or drag to arrange. Your diagram should look like this (conceptual domain model):\n<p id=\"wfCzPJD\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5231 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976eaa306310.png\" alt=\"A UML class diagram is created\" width=\"612\" height=\"293\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976eaa306310.png 612w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976eaa306310-300x144.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976eaa306310-150x72.png 150w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/><\/p>\n<\/li>\n<\/ol>\n<h2>Drawing a Component Diagram Manually<\/h2>\n<p>Now model the modular implementation. We&#8217;ll keep it simple: major subsystems realizing the domain\/use cases. Create manually for control.<\/p>\n<ol>\n<li>Create new diagram: <strong>Diagram &gt; New<\/strong>.\n<p id=\"pkNZjBu\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5232 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976f722b68ab.png\" alt=\"To create a new diagram again (Component Diagram this time)\" width=\"621\" height=\"241\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976f722b68ab.png 621w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976f722b68ab-300x116.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6976f722b68ab-150x58.png 150w\" sizes=\"(max-width: 621px) 100vw, 621px\" \/><\/p>\n<\/li>\n<li>Choose <strong>Component Diagram<\/strong> and click <strong>Next<\/strong>.<\/li>\n<li>Select <strong>Blank<\/strong> and click <strong>Next<\/strong>.<\/li>\n<li>Name the diagram (e.g., \u201cLibrary Components\u201d) and click <strong>OK<\/strong>.<\/li>\n<li>From toolbar, click <strong>Component<\/strong>, draw on canvas, name it <strong>CatalogService<\/strong> (provides book search\/browse).\n<p id=\"GupTfba\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5236 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977015f89749.png\" alt=\"Drag and drop to create a component from the palette on the diagram\" width=\"445\" height=\"190\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977015f89749.png 445w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977015f89749-300x128.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977015f89749-150x64.png 150w\" sizes=\"(max-width: 445px) 100vw, 445px\" \/><\/p>\n<\/li>\n<li>Add more components: <strong>LoanService<\/strong>, <strong>MemberService<\/strong>, <strong>NotificationService<\/strong>.\n<p id=\"DfwDQRA\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5237 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770909d6784.png\" alt=\"Components are created\" width=\"370\" height=\"191\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770909d6784.png 370w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770909d6784-300x155.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770909d6784-150x77.png 150w\" sizes=\"(max-width: 370px) 100vw, 370px\" \/><\/p>\n<\/li>\n<li>Add interfaces: Hover over CatalogService, drag Resource Catalog to the left.\n<p id=\"BJnznNE\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5238 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770937d9fa6.png\" alt=\"Try to create an interface from a component via the Resource Catalog\" width=\"468\" height=\"91\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770937d9fa6.png 468w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770937d9fa6-300x58.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770937d9fa6-150x29.png 150w\" sizes=\"(max-width: 468px) 100vw, 468px\" \/><\/p>\n<\/li>\n<li>Select <strong>Realization -&gt; Interface<\/strong>.\n<p id=\"BSneSHI\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5239 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770944c12d9.png\" alt=\"To create a Provided relationship from the Component to the Interface\" width=\"291\" height=\"242\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770944c12d9.png 291w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770944c12d9-150x125.png 150w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/p>\n<\/li>\n<li>Name the interface <em>SearchAPI<\/em>.\n<p id=\"EGWSVqz\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5240 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709681ca97.png\" alt=\"An interface SearchAPI is created\" width=\"247\" height=\"43\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709681ca97.png 247w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709681ca97-150x26.png 150w\" sizes=\"(max-width: 247px) 100vw, 247px\" \/><\/p>\n<\/li>\n<li>Connect the interface from LoanService. First, move LoanService to the left of SearchAPI.\n<p id=\"utYLWJs\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5241 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977099b5fc5c.png\" alt=\"Component LoanService is moved to the left of the interface\" width=\"461\" height=\"52\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977099b5fc5c.png 461w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977099b5fc5c-300x34.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_6977099b5fc5c-150x17.png 150w\" sizes=\"(max-width: 461px) 100vw, 461px\" \/><\/p>\n<\/li>\n<li>Press on <strong>Resource Catalog<\/strong> and drag to the Interface ball.\n<p id=\"PJeFDua\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5242 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709b302e89.png\" alt=\"To create a required interface between a component and an interface\" width=\"461\" height=\"70\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709b302e89.png 461w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709b302e89-300x46.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709b302e89-150x23.png 150w\" sizes=\"(max-width: 461px) 100vw, 461px\" \/><\/p>\n<\/li>\n<li>Select Usage.\n<p id=\"NVeHQUi\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5243 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709c375c0b.png\" alt=\"To create a required interface by creating a Usage relationship\" width=\"291\" height=\"242\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709c375c0b.png 291w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709c375c0b-150x125.png 150w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/p>\n<\/li>\n<li>Release the mouse button. A ball-and-socket joint is formed.\n<p id=\"tBBDfOh\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5244 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709e3b14e9.png\" alt=\"A ball and socket joint of a component diagram\" width=\"451\" height=\"43\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709e3b14e9.png 451w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709e3b14e9-300x29.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_697709e3b14e9-150x14.png 150w\" sizes=\"(max-width: 451px) 100vw, 451px\" \/><\/p>\n<\/li>\n<li>Complete simple wiring: LoanService provides LoanStatusAPI (used by NotificationService for due reminders).\n<p id=\"GtYpeLl\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5248 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b980206c.png\" alt=\"UML deployment diagram with components, required and provided interfaces\" width=\"869\" height=\"210\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b980206c.png 869w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b980206c-300x72.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b980206c-768x186.png 768w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b980206c-150x36.png 150w\" sizes=\"(max-width: 869px) 100vw, 869px\" \/><\/p>\n<\/li>\n<\/ol>\n<h2>Creating a Deployment Diagram (Reusing Components)<\/h2>\n<p>Finally, show runtime deployment. Reuse the components from above as artifacts deployed on nodes.<\/p>\n<ol>\n<li>Create new diagram: <strong>Diagram &gt; New<\/strong>.<\/li>\n<li>Choose <strong>Deployment Diagram<\/strong> and click <strong>Next<\/strong>.<\/li>\n<li>Select <strong>Blank<\/strong> and click <strong>Next<\/strong>.<\/li>\n<li>Name the diagram (e.g., \u201cLibrary Deployment\u201d) and click <strong>OK<\/strong>.<\/li>\n<li>Add nodes: Toolbar \u2192 <strong>Node<\/strong> \u2192 draw <strong>Web Server<\/strong>, <strong>Application Server<\/strong>, <strong>Database Server<\/strong>.\n<p id=\"IRcVEUQ\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5247 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b4623f14.png\" alt=\"To create nodes in a deployment diagram\" width=\"539\" height=\"245\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b4623f14.png 539w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b4623f14-300x136.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770b4623f14-150x68.png 150w\" sizes=\"(max-width: 539px) 100vw, 539px\" \/><\/p>\n<\/li>\n<li>Reuse components: From Model Explorer (left pane), drag CatalogService, LoanService, etc., onto appropriate nodes (e.g., LoanService and MemberService on Application Server).\n<p id=\"GgksPGu\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5250 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bc552ad4.png\" alt=\"To reuse components created in a component in a deployment diagram\" width=\"825\" height=\"594\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bc552ad4.png 825w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bc552ad4-300x216.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bc552ad4-768x553.png 768w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bc552ad4-150x108.png 150w\" sizes=\"(max-width: 825px) 100vw, 825px\" \/><\/p>\n<\/li>\n<li>Add artifacts if needed (e.g., &lt;&gt; LibraryDB on Database Server).\n<p id=\"BGkNAEQ\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5251 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bfda3960.png\" alt=\"To create an artifact inside a node in deployment diagram\" width=\"639\" height=\"443\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bfda3960.png 639w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bfda3960-300x208.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770bfda3960-150x104.png 150w\" sizes=\"(max-width: 639px) 100vw, 639px\" \/><\/p>\n<\/li>\n<li>Show communication: Connect nodes with <strong>Association<\/strong> or <strong>Communication Path<\/strong> (e.g., Web Server \u2192 Application Server \u2192 Database Server).<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5252 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c1b1964f.png\" alt=\"To connect nodes with an association\" width=\"496\" height=\"382\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c1b1964f.png 496w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c1b1964f-300x231.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c1b1964f-150x116.png 150w\" sizes=\"(max-width: 496px) 100vw, 496px\" \/><br \/>\nHere is the final Deployment Diagram:<\/p>\n<p id=\"sxaMeXI\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5253 size-full\" src=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png\" alt=\"Deployment diagram created\" width=\"391\" height=\"341\" srcset=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png 391w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c-300x262.png 300w, https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c-150x131.png 150w\" sizes=\"(max-width: 391px) 100vw, 391px\" \/><\/p>\n<\/li>\n<\/ol>\n<p>Well done! You&#8217;ve now modeled structure from domain (classes) to modules (components) to runtime (deployment) \u2014 all driven by the use cases from Module 2.<\/p>\n","protected":false},"featured_media":5253,"parent":4377,"menu_order":6,"comment_status":"open","ping_status":"closed","template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_eb_attr":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":""},"doc_tag":[],"class_list":["post-4387","docs","type-docs","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Practical 3: Structural Implementation - Visual Paradigm Guides Russian<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Practical 3: Structural Implementation - Visual Paradigm Guides Russian\" \/>\n<meta property=\"og:description\" content=\"In this practical session, you&#8217;ll apply structural UML modeling to realize the domain and implementation architecture of our Library Management System. We&#8217;ll start with the domain model using a Class Diagram (generated via AI and refined manually), then build a simple Component Diagram manually, and finally create a Deployment Diagram that reuses components from the previous step. By the end, you&#8217;ll see how use cases drive structural design: nouns from flows (Book, Member, Loan\u2026) become classes; modules become components; and runtime nodes show deployment. Generating a Class Diagram (Domain Model) with AI Visual Paradigm&#8217;s AI can quickly draft a domain-focused class diagram from a description \u2014 perfect for bootstrapping from use cases. Select Tools &gt; AI Diagram Generation from the main menu. In the AI Diagram Generation window, select Class Diagram as the type. In the Topic field, enter a clear description, e.g.: &#8220;Domain model for a Library Management System: include key entities like Member, Book, Loan, Reservation, Librarian, Fine; show attributes, basic relationships (associations, multiplicities), and inheritance if applicable. Focus on conceptual domain, no operations yet.&#8221; Then click OK. The AI generates a class diagram based on your description. Review the classes, attributes, and relationships. Refine manually: rename classes\/attributes for clarity, adjust multiplicities, add missing associations, or delete irrelevant elements. We&#8217;ll cover detailed editing next. Drawing a Class Diagram Manually (Domain Model) For full control or when refining the AI draft, create the class diagram manually. We&#8217;ll build the same Library Management domain model. Select Diagram &gt; New from the main menu. Choose Class Diagram and click Next. Select Blank and click Next. Name the diagram (e.g., \u201cLibrary Domain Model\u201d) and click OK. Create the first class: From the toolbar (left), click Class, then click on the canvas. Name it Book. Double-click to open specification and add attributes (e.g., ISBN: String, title: String, author: String, copiesAvailable: int). Add more classes using the same method: Member, Loan, Librarian, Fine. Create associations: Hover over Member, drag Resource Catalog icon \u2192 Loan class. Select Association. Set multiplicity (Member 1 \u2192 Loan 0..*). Continue building relationships: Loan references Book (1 Loan \u2192 1 Book), Member pays Fine (optional extend-like), Librarian manages Loan. Finalize and layout: Use auto-layout or drag to arrange. Your diagram should look like this (conceptual domain model): Drawing a Component Diagram Manually Now model the modular implementation. We&#8217;ll keep it simple: major subsystems realizing the domain\/use cases. Create manually for control. Create new diagram: Diagram &gt; New. Choose Component Diagram and click Next. Select Blank and click Next. Name the diagram (e.g., \u201cLibrary Components\u201d) and click OK. From toolbar, click Component, draw on canvas, name it CatalogService (provides book search\/browse). Add more components: LoanService, MemberService, NotificationService. Add interfaces: Hover over CatalogService, drag Resource Catalog to the left. Select Realization -&gt; Interface. Name the interface SearchAPI. Connect the interface from LoanService. First, move LoanService to the left of SearchAPI. Press on Resource Catalog and drag to the Interface ball. Select Usage. Release the mouse button. A ball-and-socket joint is formed. Complete simple wiring: LoanService provides LoanStatusAPI (used by NotificationService for due reminders). Creating a Deployment Diagram (Reusing Components) Finally, show runtime deployment. Reuse the components from above as artifacts deployed on nodes. Create new diagram: Diagram &gt; New. Choose Deployment Diagram and click Next. Select Blank and click Next. Name the diagram (e.g., \u201cLibrary Deployment\u201d) and click OK. Add nodes: Toolbar \u2192 Node \u2192 draw Web Server, Application Server, Database Server. Reuse components: From Model Explorer (left pane), drag CatalogService, LoanService, etc., onto appropriate nodes (e.g., LoanService and MemberService on Application Server). Add artifacts if needed (e.g., &lt;&gt; LibraryDB on Database Server). Show communication: Connect nodes with Association or Communication Path (e.g., Web Server \u2192 Application Server \u2192 Database Server). Here is the final Deployment Diagram: Well done! You&#8217;ve now modeled structure from domain (classes) to modules (components) to runtime (deployment) \u2014 all driven by the use cases from Module 2.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Guides Russian\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-26T06:47:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png\" \/>\n\t<meta property=\"og:image:width\" content=\"391\" \/>\n\t<meta property=\"og:image:height\" content=\"341\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/\",\"url\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/\",\"name\":\"Practical 3: Structural Implementation - Visual Paradigm Guides Russian\",\"isPartOf\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png\",\"datePublished\":\"2026-01-19T03:44:56+00:00\",\"dateModified\":\"2026-01-26T06:47:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#primaryimage\",\"url\":\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png\",\"contentUrl\":\"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png\",\"width\":391,\"height\":341},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/guides.visual-paradigm.com\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mastering UML 2.5: A Use Case Driven Approach to Agile Modeling\",\"item\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Module 3: The Skeleton \u2013 The 7 Structural UML Diagrams\",\"item\":\"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Practical 3: Structural Implementation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/ru\/#website\",\"url\":\"https:\/\/guides.visual-paradigm.com\/ru\/\",\"name\":\"Visual Paradigm Guides Russian\",\"description\":\"Smart guides for an AI-driven world\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/guides.visual-paradigm.com\/ru\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Practical 3: Structural Implementation - Visual Paradigm Guides Russian","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:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/","og_locale":"ru_RU","og_type":"article","og_title":"Practical 3: Structural Implementation - Visual Paradigm Guides Russian","og_description":"In this practical session, you&#8217;ll apply structural UML modeling to realize the domain and implementation architecture of our Library Management System. We&#8217;ll start with the domain model using a Class Diagram (generated via AI and refined manually), then build a simple Component Diagram manually, and finally create a Deployment Diagram that reuses components from the previous step. By the end, you&#8217;ll see how use cases drive structural design: nouns from flows (Book, Member, Loan\u2026) become classes; modules become components; and runtime nodes show deployment. Generating a Class Diagram (Domain Model) with AI Visual Paradigm&#8217;s AI can quickly draft a domain-focused class diagram from a description \u2014 perfect for bootstrapping from use cases. Select Tools &gt; AI Diagram Generation from the main menu. In the AI Diagram Generation window, select Class Diagram as the type. In the Topic field, enter a clear description, e.g.: &#8220;Domain model for a Library Management System: include key entities like Member, Book, Loan, Reservation, Librarian, Fine; show attributes, basic relationships (associations, multiplicities), and inheritance if applicable. Focus on conceptual domain, no operations yet.&#8221; Then click OK. The AI generates a class diagram based on your description. Review the classes, attributes, and relationships. Refine manually: rename classes\/attributes for clarity, adjust multiplicities, add missing associations, or delete irrelevant elements. We&#8217;ll cover detailed editing next. Drawing a Class Diagram Manually (Domain Model) For full control or when refining the AI draft, create the class diagram manually. We&#8217;ll build the same Library Management domain model. Select Diagram &gt; New from the main menu. Choose Class Diagram and click Next. Select Blank and click Next. Name the diagram (e.g., \u201cLibrary Domain Model\u201d) and click OK. Create the first class: From the toolbar (left), click Class, then click on the canvas. Name it Book. Double-click to open specification and add attributes (e.g., ISBN: String, title: String, author: String, copiesAvailable: int). Add more classes using the same method: Member, Loan, Librarian, Fine. Create associations: Hover over Member, drag Resource Catalog icon \u2192 Loan class. Select Association. Set multiplicity (Member 1 \u2192 Loan 0..*). Continue building relationships: Loan references Book (1 Loan \u2192 1 Book), Member pays Fine (optional extend-like), Librarian manages Loan. Finalize and layout: Use auto-layout or drag to arrange. Your diagram should look like this (conceptual domain model): Drawing a Component Diagram Manually Now model the modular implementation. We&#8217;ll keep it simple: major subsystems realizing the domain\/use cases. Create manually for control. Create new diagram: Diagram &gt; New. Choose Component Diagram and click Next. Select Blank and click Next. Name the diagram (e.g., \u201cLibrary Components\u201d) and click OK. From toolbar, click Component, draw on canvas, name it CatalogService (provides book search\/browse). Add more components: LoanService, MemberService, NotificationService. Add interfaces: Hover over CatalogService, drag Resource Catalog to the left. Select Realization -&gt; Interface. Name the interface SearchAPI. Connect the interface from LoanService. First, move LoanService to the left of SearchAPI. Press on Resource Catalog and drag to the Interface ball. Select Usage. Release the mouse button. A ball-and-socket joint is formed. Complete simple wiring: LoanService provides LoanStatusAPI (used by NotificationService for due reminders). Creating a Deployment Diagram (Reusing Components) Finally, show runtime deployment. Reuse the components from above as artifacts deployed on nodes. Create new diagram: Diagram &gt; New. Choose Deployment Diagram and click Next. Select Blank and click Next. Name the diagram (e.g., \u201cLibrary Deployment\u201d) and click OK. Add nodes: Toolbar \u2192 Node \u2192 draw Web Server, Application Server, Database Server. Reuse components: From Model Explorer (left pane), drag CatalogService, LoanService, etc., onto appropriate nodes (e.g., LoanService and MemberService on Application Server). Add artifacts if needed (e.g., &lt;&gt; LibraryDB on Database Server). Show communication: Connect nodes with Association or Communication Path (e.g., Web Server \u2192 Application Server \u2192 Database Server). Here is the final Deployment Diagram: Well done! You&#8217;ve now modeled structure from domain (classes) to modules (components) to runtime (deployment) \u2014 all driven by the use cases from Module 2.","og_url":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/","og_site_name":"Visual Paradigm Guides Russian","article_modified_time":"2026-01-26T06:47:12+00:00","og_image":[{"width":391,"height":341,"url":"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"9 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/","url":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/","name":"Practical 3: Structural Implementation - Visual Paradigm Guides Russian","isPartOf":{"@id":"https:\/\/guides.visual-paradigm.com\/ru\/#website"},"primaryImageOfPage":{"@id":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#primaryimage"},"image":{"@id":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#primaryimage"},"thumbnailUrl":"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png","datePublished":"2026-01-19T03:44:56+00:00","dateModified":"2026-01-26T06:47:12+00:00","breadcrumb":{"@id":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#primaryimage","url":"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png","contentUrl":"https:\/\/guides.visual-paradigm.com\/ru\/wp-content\/uploads\/sites\/7\/2026\/01\/img_69770c44a373c.png","width":391,"height":341},{"@type":"BreadcrumbList","@id":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/practical-3-structural-implementation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/guides.visual-paradigm.com\/ru\/"},{"@type":"ListItem","position":2,"name":"Mastering UML 2.5: A Use Case Driven Approach to Agile Modeling","item":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/"},{"@type":"ListItem","position":3,"name":"Module 3: The Skeleton \u2013 The 7 Structural UML Diagrams","item":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/"},{"@type":"ListItem","position":4,"name":"Practical 3: Structural Implementation"}]},{"@type":"WebSite","@id":"https:\/\/guides.visual-paradigm.com\/ru\/#website","url":"https:\/\/guides.visual-paradigm.com\/ru\/","name":"Visual Paradigm Guides Russian","description":"Smart guides for an AI-driven world","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/guides.visual-paradigm.com\/ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"}]}},"comment_count":0,"_links":{"self":[{"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/docs\/4387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/comments?post=4387"}],"version-history":[{"count":5,"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/docs\/4387\/revisions"}],"predecessor-version":[{"id":5255,"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/docs\/4387\/revisions\/5255"}],"up":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/docs\/4377"}],"prev":[{"title":"Profile Diagrams","link":"https:\/\/guides.visual-paradigm.com\/ru\/docs\/mastering-uml-2-5-a-use-case-driven-approach-to-agile-modeling\/module-3-the-skeleton-the-7-structural-uml-diagrams\/profile-diagrams\/","href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/docs\/4384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/media\/5253"}],"wp:attachment":[{"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/media?parent=4387"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/ru\/wp-json\/wp\/v2\/doc_tag?post=4387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}