{"id":776,"date":"2026-02-25T10:24:30","date_gmt":"2026-02-25T10:24:30","guid":{"rendered":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/"},"modified":"2026-02-25T10:24:30","modified_gmt":"2026-02-25T10:24:30","slug":"convert-crc-to-uml-class-diagram","status":"publish","type":"docs","link":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/","title":{"rendered":"From CRC Cards to Class Diagrams"},"content":{"rendered":"<p>Imagine you\u2019ve just wrapped up a lively CRC session for a student grading system. You\u2019ve identified classes like Student, Grade, and Course, outlined their responsibilities, and mapped out how they collaborate. The cards are scattered across the table \u2014 a visual map of your design intent. But now, you need to move from informal sketching to a formal, shareable, and extensible model. That\u2019s where converting CRC to UML becomes essential.<\/p>\n<p>The leap from CRC cards to UML class diagrams isn\u2019t a leap in complexity \u2014 it\u2019s a leap in clarity. Your CRC session already contains all the ingredients: classes, responsibilities, collaborations, and dependencies. The challenge isn\u2019t learning new theory; it\u2019s organizing existing insights into a standardized format that tools and teams can use.<\/p>\n<p>This chapter walks you through a step-by-step process to transform your CRC modeling output into a clean, accurate UML class diagram. You\u2019ll learn how to extract structure, define visibility, assign attributes and methods, and validate relationships. These aren\u2019t abstract rules \u2014 they\u2019re practical decisions I\u2019ve made on dozens of projects, from education platforms to enterprise systems.<\/p>\n<h2>Why Convert CRC to UML? The Practical Benefits<\/h2>\n<p>While CRC cards are excellent for early-stage brainstorming, UML class diagrams serve as a bridge to implementation. They formalize your design decisions and make them accessible to developers, architects, and even testers.<\/p>\n<p>Converting CRC to UML isn\u2019t about replacing one tool with another. It\u2019s about evolving from a conversational model to a documented one \u2014 one that supports code generation, documentation, and team alignment.<\/p>\n<p>Here\u2019s what you gain when you make the transition:<\/p>\n<ul>\n<li><strong>Consistency across teams<\/strong> \u2014 A shared class diagram reduces misinterpretation between developers and designers.<\/li>\n<li><strong>Integration with UML tools<\/strong> \u2014 Platforms like Visual Paradigm accept UML diagrams natively.<\/li>\n<li><strong>Foundation for code generation<\/strong> \u2014 Many IDEs can generate skeleton classes from UML diagrams.<\/li>\n<li><strong>Scalability<\/strong> \u2014 Formal diagrams handle large systems better than stacks of cards.<\/li>\n<\/ul>\n<h2>Step-by-Step: From CRC Cards to UML Class Diagram<\/h2>\n<h3>Step 1: Extract the Core Classes<\/h3>\n<p>Start by listing every class from your CRC cards. These are the foundation of your diagram.<\/p>\n<p>For example, in a grading system, your classes might be:<\/p>\n<ul>\n<li>Student<\/li>\n<li>Course<\/li>\n<li>Grade<\/li>\n<li>GradingSystem<\/li>\n<\/ul>\n<p>Each becomes a class box in your UML diagram.<\/p>\n<h3>Step 2: Assign Attributes from Responsibilities<\/h3>\n<p>Each responsibility often implies a data need. \u201cCalculate final grade\u201d suggests a method that depends on attributes like <code>homeworkScore<\/code>, <code>examScore<\/code>, and <code>weighting<\/code>.<\/p>\n<p>Go through each class\u2019s responsibilities and extract attributes. Ask: \u201cWhat data does this class need to fulfill this responsibility?\u201d<\/p>\n<h3>Step 3: Define Methods from Responsibilities<\/h3>\n<p>Responsibilities phrased as verbs (e.g., \u201ccalculate final grade\u201d) become methods.<\/p>\n<p>Turn \u201cnotify student of pending grade\u201d into a method: <code>notifyStudent()<\/code>.<\/p>\n<p>Be careful not to overfill methods. A single responsibility should map to one or two methods max.<\/p>\n<h3>Step 4: Map Collaborations as Associations<\/h3>\n<p>Each collaboration in CRC \u2014 \u201cStudent uses Grade to record a score\u201d \u2014 becomes an association in UML.<\/p>\n<p>Draw a line between the two classes, and label it if needed. Use arrows to indicate directionality.<\/p>\n<p>Example:<\/p>\n<pre><code>Student o-- Grade\nCourse o-- Grade\n<\/code><\/pre>\n<h3>Step 5: Add Multiplicity and Constraints<\/h3>\n<p>Go back to your CRC cards. If a Student can have multiple Grades, add multiplicity: <code>1..*<\/code> on the Grade side.<\/p>\n<p>Use constraints to capture rules:<\/p>\n<ul>\n<li><code>{must have valid score between 0 and 100}<\/code><\/li>\n<li><code>{must be assigned by a Course}<\/code><\/li>\n<\/ul>\n<p>These ensure your class diagram isn\u2019t just visual \u2014 it\u2019s semantically rich.<\/p>\n<h3>Step 6: Refactor and Validate<\/h3>\n<p>Now, step back. Ask:<\/p>\n<ul>\n<li>Are there duplicate responsibilities across classes?<\/li>\n<li>Can any class be merged or split for better cohesion?<\/li>\n<li>Do associations make sense in the real domain?<\/li>\n<\/ul>\n<p>Use this moment to refine. A good class diagram is not just accurate \u2014 it\u2019s readable and maintainable.<\/p>\n<h2>Common Pitfalls in the Class Diagram Transition<\/h2>\n<p>Even when you\u2019ve done a solid CRC session, transitions to UML can falter. Here are the most common mistakes and how to fix them:<\/p>\n<table>\n<tbody>\n<tr>\n<th>Mistake<\/th>\n<th>Why It Happens<\/th>\n<th>Fix<\/th>\n<\/tr>\n<tr>\n<td>Overloading class boxes with too many methods<\/td>\n<td>One class taking on too many responsibilities<\/td>\n<td>Split into smaller, focused classes using the Single Responsibility Principle<\/td>\n<\/tr>\n<tr>\n<td>Missing multiplicity on associations<\/td>\n<td>Assuming relationships are bidirectional without checking<\/td>\n<td>Revisit CRC collaborations \u2014 clarify who depends on whom<\/td>\n<\/tr>\n<tr>\n<td>Confusing attributes and methods<\/td>\n<td>Blending data and behavior without separation<\/td>\n<td>Ensure methods are verbs and attributes are nouns; use UML\u2019s separation of fields and operations<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Real-World Example: From CRC to UML in a Library System<\/h2>\n<p>Let\u2019s walk through a small example.<\/p>\n<p>From your CRC cards, you\u2019ve identified:<\/p>\n<ul>\n<li><strong>Book<\/strong>: \u201cTrack title, author, and availability status\u201d<\/li>\n<li><strong>Member<\/strong>: \u201cRequest a book\u201d<\/li>\n<li><strong>Loan<\/strong>: \u201cRecord check-out and due date\u201d<\/li>\n<li><strong>Library<\/strong>: \u201cManage all books and loans\u201d<\/li>\n<\/ul>\n<p>Now, build the UML class diagram:<\/p>\n<ul>\n<li>Each class has a box with three sections: name, attributes, methods.<\/li>\n<li>Attributes: <code>title: String<\/code>, <code>author: String<\/code>, <code>isAvailable: Boolean<\/code><\/li>\n<li>Methods: <code>checkOut()<\/code>, <code>returnBook()<\/code><\/li>\n<li>Associations:\n<ul>\n<li>Member o&#8211; Loan (1..*)\n      <\/li>\n<li>Book o&#8211; Loan (1..*)\n      <\/li>\n<li>Library o&#8211; Book (1..*)\n      <\/li>\n<li>Library o&#8211; Loan (1..*)\n    <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>This output is now a valid, shareable UML class diagram ready for review or code generation.<\/p>\n<h2>Best Practices for a Smooth Transition<\/h2>\n<p>Here\u2019s what has worked consistently across teams:<\/p>\n<ol>\n<li><strong>Start with a clean canvas<\/strong> \u2014 Don\u2019t try to copy CRC cards directly. Rebuild the diagram from scratch in UML.<\/li>\n<li><strong>Group related classes<\/strong> \u2014 Use packages or subsystems to organize the diagram, especially in larger systems.<\/li>\n<li><strong>Label associations clearly<\/strong> \u2014 \u201cborrows\u201d or \u201cissues\u201d make intent clearer than generic lines.<\/li>\n<li><strong>Use stereotypes sparingly<\/strong> \u2014 <code>&lt;&lt;entity&gt;&gt;<\/code>, <code>&lt;&lt;business&gt;&gt;<\/code> only if they add value.<\/li>\n<li><strong>Review with a pair<\/strong> \u2014 Have someone else validate your diagram. Fresh eyes catch missing constraints and inconsistent multiplicity.<\/li>\n<\/ol>\n<h2>Frequently Asked Questions<\/h2>\n<h3>How do I convert CRC to UML when the responsibilities are vague?<\/h3>\n<p>Start by rephrasing responsibilities into active, measurable actions. \u201cManage grades\u201d becomes \u201ccalculate final grade\u201d or \u201cassign a score.\u201d This clarity directly translates to a method in the class diagram.<\/p>\n<h3>Can I use CRC modeling output to generate code automatically?<\/h3>\n<p>Yes, if your class diagram is well-structured, modern tools like Visual Paradigm or IntelliJ can generate class skeletons in Java, C#, or Python. But only if attributes and methods are properly defined from the start.<\/p>\n<h3>Do I need to convert every CRC card into a UML class diagram?<\/h3>\n<p>No. Prioritize classes that are central to the system \u2014 those used in multiple collaborations. Less critical classes can remain as CRC cards or be merged later.<\/p>\n<h3>What if my CRC session had too many classes?<\/h3>\n<p>Use the \u201cCohesion Rule\u201d: if a class has more than 5 responsibilities, split it. Then re-evaluate the diagram. The goal is balance \u2014 not completeness.<\/p>\n<h3>How detailed should the UML class diagram be?<\/h3>\n<p>Focus on domain-level detail. Avoid internal implementation details like private helper methods unless they impact collaboration. Keep the diagram readable for both developers and stakeholders.<\/p>\n<h3>Is it acceptable to skip UML and just use CRC cards in production?<\/h3>\n<p>For small teams or prototypes, yes. But for long-term projects, UML is essential. It enables documentation, code review, and maintenance \u2014 things CRC cards alone can\u2019t support.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imagine you\u2019ve just wrapped up a lively CRC session for a student grading system. You\u2019ve identified classes like Student, Grade, and Course, outlined their responsibilities, and mapped out how they collaborate. The cards are scattered across the table \u2014 a visual map of your design intent. But now, you need to move from informal sketching [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":772,"menu_order":3,"template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_tag":[],"class_list":["post-776","docs","type-docs","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Convert CRC to UML: Build Class Diagrams from CRC Cards<\/title>\n<meta name=\"description\" content=\"Learn how to convert CRC cards to UML class diagrams with confidence. Transform your CRC modeling output into clean, formal UML designs using proven techniques and real examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Convert CRC to UML: Build Class Diagrams from CRC Cards\" \/>\n<meta property=\"og:description\" content=\"Learn how to convert CRC cards to UML class diagrams with confidence. Transform your CRC modeling output into clean, formal UML designs using proven techniques and real examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/\",\"url\":\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/\",\"name\":\"Convert CRC to UML: Build Class Diagrams from CRC Cards\",\"isPartOf\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/#website\"},\"datePublished\":\"2026-02-25T10:24:30+00:00\",\"description\":\"Learn how to convert CRC cards to UML class diagrams with confidence. Transform your CRC modeling output into clean, formal UML designs using proven techniques and real examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/skills.visual-paradigm.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CRC Cards Explained: A Beginner\u2019s Modeling Guide\",\"item\":\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Thinking in Responsibilities\",\"item\":\"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"From CRC Cards to Class Diagrams\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/#website\",\"url\":\"https:\/\/skills.visual-paradigm.com\/vn\/\",\"name\":\"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/skills.visual-paradigm.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/#organization\",\"name\":\"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t\",\"url\":\"https:\/\/skills.visual-paradigm.com\/vn\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/skills.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/11\/2026\/02\/favicon.svg\",\"contentUrl\":\"https:\/\/skills.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/11\/2026\/02\/favicon.svg\",\"width\":70,\"height\":70,\"caption\":\"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t\"},\"image\":{\"@id\":\"https:\/\/skills.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Convert CRC to UML: Build Class Diagrams from CRC Cards","description":"Learn how to convert CRC cards to UML class diagrams with confidence. Transform your CRC modeling output into clean, formal UML designs using proven techniques and real examples.","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:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/","og_locale":"vi_VN","og_type":"article","og_title":"Convert CRC to UML: Build Class Diagrams from CRC Cards","og_description":"Learn how to convert CRC cards to UML class diagrams with confidence. Transform your CRC modeling output into clean, formal UML designs using proven techniques and real examples.","og_url":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/","og_site_name":"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t","twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"6 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/","url":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/","name":"Convert CRC to UML: Build Class Diagrams from CRC Cards","isPartOf":{"@id":"https:\/\/skills.visual-paradigm.com\/vn\/#website"},"datePublished":"2026-02-25T10:24:30+00:00","description":"Learn how to convert CRC cards to UML class diagrams with confidence. Transform your CRC modeling output into clean, formal UML designs using proven techniques and real examples.","breadcrumb":{"@id":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/convert-crc-to-uml-class-diagram\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/skills.visual-paradigm.com\/vn\/"},{"@type":"ListItem","position":2,"name":"CRC Cards Explained: A Beginner\u2019s Modeling Guide","item":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/"},{"@type":"ListItem","position":3,"name":"Thinking in Responsibilities","item":"https:\/\/skills.visual-paradigm.com\/vn\/docs\/crc-cards-explained\/thinking-in-responsibilities\/"},{"@type":"ListItem","position":4,"name":"From CRC Cards to Class Diagrams"}]},{"@type":"WebSite","@id":"https:\/\/skills.visual-paradigm.com\/vn\/#website","url":"https:\/\/skills.visual-paradigm.com\/vn\/","name":"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t","description":"","publisher":{"@id":"https:\/\/skills.visual-paradigm.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/skills.visual-paradigm.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/skills.visual-paradigm.com\/vn\/#organization","name":"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t","url":"https:\/\/skills.visual-paradigm.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/skills.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/skills.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/11\/2026\/02\/favicon.svg","contentUrl":"https:\/\/skills.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/11\/2026\/02\/favicon.svg","width":70,"height":70,"caption":"Visual Paradigm Skills Ti\u1ebfng Vi\u1ec7t"},"image":{"@id":"https:\/\/skills.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/docs\/776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/docs\/776\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/docs\/772"}],"wp:attachment":[{"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media?parent=776"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/skills.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/doc_tag?post=776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}