Untitled
unknown
plain_text
a month ago
1.4 kB
1
Indexable
import matplotlib.pyplot as plt import networkx as nx # Create a new directed graph G = nx.DiGraph() # Adding Admin and User as nodes G.add_node("Admin", pos=(0, 1), role="Actor") G.add_node("User", pos=(0, -1), role="Actor") # Adding use cases as nodes for Admin admin_use_cases = [ "Train System", "Manage User Data", "Configure Settings", "Monitor System Performance" ] # Adding use cases as nodes for User user_use_cases = [ "Provide Speech Input", "Receive Transcriptions", "Customize Speech Recognition Model" ] # Add the use cases to the graph for use_case in admin_use_cases: G.add_node(use_case, pos=(2, 1 - admin_use_cases.index(use_case) * 0.5), role="Use Case") for use_case in user_use_cases: G.add_node(use_case, pos=(2, -1 - user_use_cases.index(use_case) * 0.5), role="Use Case") # Adding edges between actors and use cases for use_case in admin_use_cases: G.add_edge("Admin", use_case) for use_case in user_use_cases: G.add_edge("User", use_case) # Draw the diagram with positions set based on 'pos' values pos = nx.get_node_attributes(G, 'pos') plt.figure(figsize=(8, 6)) nx.draw(G, pos, with_labels=True, node_size=3000, node_color="lightblue", font_size=10, font_weight="bold", edge_color="gray") plt.title("Use Case Diagram: Admin and User Privileges") plt.axis('off') # Hide axes for better presentation plt.show()
Editor is loading...
Leave a Comment