de_DEen_USen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

🧠 Tutorial: Using Visual Paradigm’s AI-Powered Textual Analysis for Software Design

From messy problem statements to clean, actionable class diagrams—in minutes.


🎯 What Is AI-Powered Textual Analysis?

Visual Paradigm’s AI-Powered Textual Analysis is an intelligent modeling assistant that helps product managers, software architects, and developers translate unstructured natural language (e.g., user stories, requirements, or system descriptions) into a structured domain model — specifically, a UML Class Diagram.

Instead of manually identifying entities, attributes, and relationships, the AI parses the text, extracts relevant design elements, and proposes a visual model you can refine.

🔍 Core Idea: Turn narrative → nouns → classes → relationships → diagram — automatically.


✅ Key Advantages

Benefit Description
Speed & Efficiency Reduces initial modeling time from hours to minutes.
Consistency Minimizes subjective interpretation across teams.
Learning Aid Great for junior developers learning object-oriented design.
Traceability Every suggestion includes a reason — transparent and auditable.
Iterative Refinement Start with AI → edit freely in VP Online → export to code or docs.
Domain Discovery Surfaces hidden concepts (e.g., TransactionAuditLog) you might overlook.

🛠️ Step-by-Step Tutorial (With Real Examples)

Let’s walk through three progressively complex examples, from simple to enterprise-grade.

Step-by-Step Use Case Creation


📘 Example 1: Library Management System (Starter)

📝 Step 1: Provide Problem Description

  • Go to Tools > Apps > Textual Analysis > Start Now
  • Enter: Library Management System
  • Click [Generate Problem Description]

👉 AI generates:

“A library management system allows librarians to manage books, members, and loans. Members can search for books, borrow up to 5 items at a time, and return them. Overdue books incur fines. Each book has a title, author, ISBN, and availability status. Librarians can add/remove books and view loan history.”

✅ Edit if needed — e.g., add: “Supports digital e-books and reservation queues.”


👥 Step 2: Identify Candidate Classes

Click [Identify Candidate Classes]

Class Name Reason Description
Book Core entity mentioned repeatedly Represents physical/digital books
Member Subject of actions (borrows, returns) Library user with contact info
Loan Action noun → key transaction Records borrowing of a book by a member
Librarian Actor performing admin tasks Staff managing the system
Fine Consequence of overdue loans Monetary penalty incurred

🔁 Also see: “Nouns Not Qualified” (e.g., statushistory → too vague or attribute-like).

✅ Accept all, or remove Librarian if roles are handled via permissions (e.g., using User + role flag).


📋 Step 3: Identify Class Details

Click [Identify Class Details]

Sample output for Book:

  • Attributes:
    isbn: String
    title: String
    author: String
    isAvailable: Boolean
    format: Enum {Physical, Digital}
  • Operations:
    checkAvailability(): Boolean
    markAsBorrowed()
    markAsReturned()

For Loan:

  • Attributes:
    loanDate: Date
    dueDate: Date
    returnDate: Date?
  • Operations:
    calculateOverdueDays(): Int
    applyFine()

💡 Pro Tip: Rename isAvailable → status: BookStatus (enum: AvailableBorrowedReserved) for extensibility.


🔗 Step 4: Identify Class Relationships

Click [Identify Class Relationships]

From → To Type Multiplicity Description
Member — Loan Composition 1 → * A member owns their loans
Loan — Book Association 1 → 1 Each loan involves one book
Loan — Fine Optional Composition 1 → 0…1 A loan may generate a fine if overdue

⚠️ Watch out: AI may miss aggregation vs composition. Edit manually if Loan should reference (not own) Book.


🖼️ Step 5: Generate Diagram

Click [Generate Diagram] → A full UML Class Diagram appears!

AI Use Case Diagram Refinement Tool

✅ Then click [Open in Visual Paradigm Online] to:

  • Rearrange layout
  • Add stereotypes («entity»«boundary»)
  • Link to use cases or sequence diagrams
  • Export as PNG, PDF, or generate Java/Python stubs

 

🛒 Example 2: E-Commerce Shopping Cart (Intermediate)

Input Prompt:

“Online store where users browse products, add items to cart, apply promo codes, checkout with credit card or PayPal, and track orders. Admins manage inventory and view sales reports.”

AI-Identified Classes:

  • UserProductShoppingCartCartItemOrderPaymentPromoCodeInventoryAdmin

Notable Relationships:

  • ShoppingCart ◇—— CartItem (aggregation; cart has items, but items aren’t destroyed with cart)
  • Order ◆—— Payment (composition; payment is part of order lifecycle)
  • PromoCode —— Order (0…1 → 1; optional at checkout)

Insight Gained:

AI suggests CartItem as separate from Product — good! Because:

  • CartItem has quantityaddedAt, and snapshot of price (to handle price changes).
  • Product has currentPricestockLevel.

➡️ Prevents common modeling mistake: conflating catalog item with cart line item.


🏥 Example 3: Hospital Appointment System (Advanced)

Input Prompt (edited for realism):

“Patients schedule appointments with doctors. Each appointment has a date/time, type (e.g., consultation, follow-up), and status (scheduled, completed, canceled). Doctors have specialties and work schedules. The system sends reminders 24h prior. Nurses can check patients in. Lab results are attached post-visit.”

AI Highlights:

Class Why It Matters
Appointment Central workflow object
DoctorSchedule Separated from Doctor → respects SRP (Single Responsibility)
Reminder External behavior → may become event-driven service later
LabResult Attached to appointment, not patient — traceability!

Smart Relationship:

  • Appointment ◆—— LabResult (1 → 0…*)
    → Enforces: Results only exist for completed appointments.

Hidden Gem:

AI flags "type" and "status" in appointment → suggests enums:

enum AppointmentType { CONSULTATION, FOLLOW_UP, VACCINATION }
enum AppointmentStatus { SCHEDULED, CHECKED_IN, COMPLETED, CANCELED }

✅ Developer saves time defining domain enums + validation logic.


🚀 Pro Tips for Maximizing Value

Tip How to Apply
Start vague, then refine First prompt: "Food delivery app". Then edit generated description to add: “Supports restaurant onboarding, driver dispatch, real-time tracking, and rating system.”
Use user stories as input Paste: “As a customer, I want to filter restaurants by cuisine and delivery time so I can choose quickly.” → AI extracts CuisineDeliveryTimeEstimateFilterCriteria.
Combine with Use Case Modeling Run Textual Analysis first to get classes → then derive actors & use cases (e.g., Customer → Place OrderDriver → Update Location).
Validate with CRC Cards After AI suggests classes, do a quick CRC (Class-Responsibility-Collaborator) session with your team to sanity-check.
Export to Code In VP Online: Right-click diagram → Tools > Code > Generate Code (Java, C#, Python supported).

⚠️ Limitations & How to Mitigate

Limitation Mitigation
May over-generate (e.g., DateTime as classes) Review “Nouns Not Qualified” table → merge into attributes or use built-in types.
Can’t infer business rules (e.g., “max 3 loans”) Add constraints as OCL (Object Constraint Language) or notes: { maxLoans = 3 }
Struggles with ambiguous nouns Clarify in input: “‘User’ refers to customer, not admin” or “‘Session’ means therapy session, not login session.”
No inheritance detection by default Manually add PatientDoctorNurse → generalize to Person if needed.

📊 When to Use It (Best Fit Scenarios)

Scenario Why It Shines
Early discovery workshops Rapidly whiteboard domain model from raw notes
Agile sprint 0 / backlog refinement Turn epics into candidate classes before grooming
Academic projects / capstones Students focus on design logic, not notation
Legacy system modernization Feed old BRDs (Business Requirement Docs) to extract domain model
Cross-functional alignment Business + tech teams validate shared vocabulary

🌐 Next Steps: Beyond the Diagram

Your AI-generated class diagram is just the beginning. In Visual Paradigm, you can:

  1. Generate Database Schema → ERD → SQL DDL
  2. Derive Sequence Diagrams from operations (e.g., Order.checkout())
  3. Link to Requirements (e.g., tie applyPromoCode() to BRD section 4.2)
  4. Simulate with VP Model Simulation
  5. Publish as Web Portal for stakeholder review

📬 Final Thought

“The AI doesn’t replace the designer — it replaces the tedium.”
Use Textual Analysis to get 80% of the model right in 20% of the time, then invest your expertise in the critical 20%: edge cases, scalability, and domain nuance.


📎 Ready to Try?
→ Launch: Visual Paradigm Online
→ App: Tools > Apps > Textual Analysis

Let me know if you’d like:

  • A downloadable cheat sheet (PDF)
  • Template prompts for fintech, SaaS, IoT, or healthcare domains
  • Comparison with manual CRC/Domain Modeling

Happy modeling! 🧩

This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.