{ "version": "5.2", "fileTitle": "مستندات معماری سازمان - رایان پرداز کاوش", "fileDescription": "مجموعه کامل دیاگرام‌های UML برای تحلیل معماری فرآیند مدیریت انتشار", "author": "هادی خزاعی اصل", "organization": "رایان پرداز کاوش", "createdAt": "2026-09-08T10:00:00.000Z", "updatedAt": "2026-09-08T14:30:00.000Z", "preferences": { "gridType": "dots", "darkMode": true }, "activeDiagramId": "diagram-1725789000000-abc123", "diagrams": [ { "id": "diagram-1725789000000-abc123", "diagramType": "usecase", "title": "Use Case سیستم مدیریت انتشار", "description": "نمودار موارد کاربرد برای فرآیند Release Management", "createdAt": "2026-09-08T10:05:00.000Z", "updatedAt": "2026-09-08T14:30:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 15, "actors": [ { "id": 1, "name": "Release Manager", "x": 150, "y": 200 }, { "id": 2, "name": "Product Owner", "x": 150, "y": 350 }, { "id": 3, "name": "DevOps Team", "x": 800, "y": 200 }, { "id": 4, "name": "QA Team", "x": 800, "y": 350 } ], "useCases": [ { "id": 5, "name": "Plan Release", "x": 400, "y": 150, "radius": 50 }, { "id": 6, "name": "Approve Release", "x": 400, "y": 250, "radius": 50 }, { "id": 7, "name": "Execute Deployment", "x": 400, "y": 350, "radius": 50 }, { "id": 8, "name": "Run Smoke Test", "x": 400, "y": 450, "radius": 50 }, { "id": 9, "name": "Rollback", "x": 600, "y": 300, "radius": 40 } ], "systemBoundary": { "id": 10, "name": "Release Management System", "x": 280, "y": 80, "width": 400, "height": 450 }, "relationships": [ { "id": 11, "from": 1, "to": 5, "type": "association" }, { "id": 12, "from": 2, "to": 6, "type": "association" }, { "id": 13, "from": 3, "to": 7, "type": "association" }, { "id": 14, "from": 7, "to": 9, "type": "extend" } ], "states": [], "transitions": [], "nodes": [], "flows": [], "components": [], "interfaces": [], "packages": [], "compRelations": [], "deployNodes": [], "artifacts": [], "deployRelations": [], "classes": [], "classRelations": [], "participants": [], "activations": [], "messages": [], "fragments": [], "swimlanes": [], "swNodes": [], "swFlows": [] }, { "id": "diagram-1725789100000-def456", "diagramType": "statemachine", "title": "چرخه حیات Release Ticket", "description": "نمودار ماشین حالت برای گردش کار بلیط انتشار", "createdAt": "2026-09-08T10:10:00.000Z", "updatedAt": "2026-09-08T14:25:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 12, "states": [ { "id": 1, "stateType": "initial", "name": "", "x": 100, "y": 200 }, { "id": 2, "stateType": "state", "name": "Draft", "x": 250, "y": 200, "width": 120, "height": 50 }, { "id": 3, "stateType": "state", "name": "In Review", "x": 450, "y": 200, "width": 120, "height": 50 }, { "id": 4, "stateType": "state", "name": "Approved", "x": 650, "y": 200, "width": 120, "height": 50 }, { "id": 5, "stateType": "state", "name": "Deployed", "x": 850, "y": 200, "width": 120, "height": 50 }, { "id": 6, "stateType": "final", "name": "", "x": 1050, "y": 200 }, { "id": 7, "stateType": "state", "name": "Rejected", "x": 450, "y": 350, "width": 120, "height": 50 } ], "transitions": [ { "id": 8, "from": 1, "to": 2, "label": "create" }, { "id": 9, "from": 2, "to": 3, "label": "submit for review" }, { "id": 10, "from": 3, "to": 4, "label": "approve [Go]" }, { "id": 11, "from": 4, "to": 5, "label": "deploy" }, { "id": 12, "from": 5, "to": 6, "label": "close" } ], "actors": [], "useCases": [], "systemBoundary": null, "nodes": [], "flows": [], "components": [], "interfaces": [], "packages": [], "compRelations": [], "deployNodes": [], "artifacts": [], "deployRelations": [], "classes": [], "classRelations": [], "participants": [], "activations": [], "messages": [], "fragments": [], "swimlanes": [], "swNodes": [], "swFlows": [], "relationships": [] }, { "id": "diagram-1725789200000-ghi789", "diagramType": "activity", "title": "فرآیند Deployment Runbook", "description": "نمودار فعالیت برای مراحل استقرار", "createdAt": "2026-09-08T10:15:00.000Z", "updatedAt": "2026-09-08T14:20:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 10, "nodes": [ { "id": 1, "nodeType": "initialNode", "name": "", "x": 100, "y": 100 }, { "id": 2, "nodeType": "action", "name": "Backup Database", "x": 250, "y": 100, "width": 140, "height": 50 }, { "id": 3, "nodeType": "action", "name": "Deploy Package", "x": 450, "y": 100, "width": 140, "height": 50 }, { "id": 4, "nodeType": "decision", "name": "Success?", "x": 650, "y": 100, "size": 40 }, { "id": 5, "nodeType": "action", "name": "Run Smoke Test", "x": 850, "y": 100, "width": 140, "height": 50 }, { "id": 6, "nodeType": "action", "name": "Rollback", "x": 650, "y": 250, "width": 140, "height": 50 }, { "id": 7, "nodeType": "finalNode", "name": "", "x": 1050, "y": 100 }, { "id": 8, "nodeType": "forkJoin", "name": "", "x": 350, "y": 100, "width": 6, "height": 100, "orientation": "vertical" } ], "flows": [ { "id": 9, "from": 1, "to": 2, "label": "" }, { "id": 10, "from": 2, "to": 3, "label": "" }, { "id": 11, "from": 3, "to": 4, "label": "" }, { "id": 12, "from": 4, "to": 5, "label": "[yes]" }, { "id": 13, "from": 4, "to": 6, "label": "[no]" }, { "id": 14, "from": 5, "to": 7, "label": "" } ], "actors": [], "useCases": [], "systemBoundary": null, "states": [], "transitions": [], "components": [], "interfaces": [], "packages": [], "compRelations": [], "deployNodes": [], "artifacts": [], "deployRelations": [], "classes": [], "classRelations": [], "participants": [], "activations": [], "messages": [], "fragments": [], "swimlanes": [], "swNodes": [], "swFlows": [], "relationships": [] }, { "id": "diagram-1725789300000-jkl012", "diagramType": "component", "title": "معماری میکروسرویس‌ها", "description": "نمودار کامپوننت برای لایه‌های معماری", "createdAt": "2026-09-08T10:20:00.000Z", "updatedAt": "2026-09-08T14:15:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 8, "components": [ { "id": 1, "name": "Frontend App", "x": 200, "y": 100, "width": 140, "height": 70 }, { "id": 2, "name": "API Gateway", "x": 450, "y": 100, "width": 140, "height": 70 }, { "id": 3, "name": "User Service", "x": 200, "y": 280, "width": 140, "height": 70 }, { "id": 4, "name": "Order Service", "x": 450, "y": 280, "width": 140, "height": 70 }, { "id": 5, "name": "Payment Service", "x": 700, "y": 280, "width": 140, "height": 70 } ], "interfaces": [ { "id": 6, "ifaceType": "provided", "name": "IUserAPI", "x": 270, "y": 180, "direction": "down" }, { "id": 7, "ifaceType": "required", "name": "IPaymentAPI", "x": 520, "y": 350, "direction": "right" } ], "packages": [ { "id": 8, "name": "OpenShift Cluster", "x": 100, "y": 50, "width": 800, "height": 400 } ], "compRelations": [ { "id": 9, "from": 1, "to": 2, "relType": "dependency", "label": "REST" }, { "id": 10, "from": 2, "to": 3, "relType": "dependency", "label": "gRPC" }, { "id": 11, "from": 2, "to": 4, "relType": "dependency", "label": "gRPC" }, { "id": 12, "from": 4, "to": 5, "relType": "dependency", "label": "Kafka" } ], "actors": [], "useCases": [], "systemBoundary": null, "states": [], "transitions": [], "nodes": [], "flows": [], "deployNodes": [], "artifacts": [], "deployRelations": [], "classes": [], "classRelations": [], "participants": [], "activations": [], "messages": [], "fragments": [], "swimlanes": [], "swNodes": [], "swFlows": [], "relationships": [] }, { "id": "diagram-1725789400000-mno345", "diagramType": "deployment", "title": "استقرار در OpenShift", "description": "نمودار استقرار برای محیط Production", "createdAt": "2026-09-08T10:25:00.000Z", "updatedAt": "2026-09-08T14:10:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 8, "deployNodes": [ { "id": 1, "nodeType": "node", "name": "OpenShift Master", "x": 200, "y": 150, "width": 180, "height": 120 }, { "id": 2, "nodeType": "device", "name": "Load Balancer", "x": 500, "y": 150, "width": 180, "height": 120 }, { "id": 3, "nodeType": "execEnv", "name": "JVM Runtime", "x": 800, "y": 150, "width": 180, "height": 120 }, { "id": 4, "nodeType": "node", "name": "Oracle DB Server", "x": 200, "y": 380, "width": 180, "height": 120 } ], "artifacts": [ { "id": 5, "name": "app-v2.1.0.jar", "x": 500, "y": 380, "width": 150, "height": 50 }, { "id": 6, "name": "migration.sql", "x": 800, "y": 380, "width": 150, "height": 50 } ], "deployRelations": [ { "id": 7, "from": 1, "to": 2, "relType": "commPath", "label": "HTTPS" }, { "id": 8, "from": 2, "to": 3, "relType": "commPath", "label": "HTTP/2" }, { "id": 9, "from": 5, "to": 3, "relType": "deployRel", "label": "«deploy»" }, { "id": 10, "from": 6, "to": 4, "relType": "manifestRel", "label": "" } ], "actors": [], "useCases": [], "systemBoundary": null, "states": [], "transitions": [], "nodes": [], "flows": [], "components": [], "interfaces": [], "packages": [], "compRelations": [], "classes": [], "classRelations": [], "participants": [], "activations": [], "messages": [], "fragments": [], "swimlanes": [], "swNodes": [], "swFlows": [], "relationships": [] }, { "id": "diagram-1725789500000-pqr678", "diagramType": "class", "title": "مدل داده Release Management", "description": "نمودار کلاس برای موجودیت‌های اصلی", "createdAt": "2026-09-08T10:30:00.000Z", "updatedAt": "2026-09-08T14:05:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 7, "classes": [ { "id": 1, "classType": "class", "name": "Release", "x": 250, "y": 200, "width": 220, "attributes": [ { "visibility": "-", "name": "id", "type": "String", "isStatic": false }, { "visibility": "-", "name": "version", "type": "String", "isStatic": false }, { "visibility": "-", "name": "status", "type": "ReleaseStatus", "isStatic": false }, { "visibility": "-", "name": "releaseDate", "type": "Date", "isStatic": false } ], "methods": [ { "visibility": "+", "name": "approve", "params": "approver: User", "returnType": "void", "isStatic": false }, { "visibility": "+", "name": "deploy", "params": "environment: Env", "returnType": "Boolean", "isStatic": false }, { "visibility": "+", "name": "rollback", "params": "", "returnType": "void", "isStatic": false } ] }, { "id": 2, "classType": "class", "name": "WorkItem", "x": 600, "y": 200, "width": 220, "attributes": [ { "visibility": "-", "name": "id", "type": "String", "isStatic": false }, { "visibility": "-", "name": "title", "type": "String", "isStatic": false }, { "visibility": "-", "name": "priority", "type": "Priority", "isStatic": false } ], "methods": [ { "visibility": "+", "name": "linkToRelease", "params": "release: Release", "returnType": "void", "isStatic": false } ] }, { "id": 3, "classType": "enumeration", "name": "ReleaseStatus", "x": 250, "y": 450, "width": 180, "attributes": [ { "visibility": "+", "name": "DRAFT", "type": "", "isStatic": false }, { "visibility": "+", "name": "IN_REVIEW", "type": "", "isStatic": false }, { "visibility": "+", "name": "APPROVED", "type": "", "isStatic": false }, { "visibility": "+", "name": "DEPLOYED", "type": "", "isStatic": false } ], "methods": [] }, { "id": 4, "classType": "interface", "name": "IReleaseManager", "x": 600, "y": 450, "width": 200, "attributes": [], "methods": [ { "visibility": "+", "name": "createRelease", "params": "version: String", "returnType": "Release", "isStatic": false }, { "visibility": "+", "name": "approveRelease", "params": "releaseId: String", "returnType": "Boolean", "isStatic": false } ] } ], "classRelations": [ { "id": 5, "from": 1, "to": 2, "relType": "composition", "label": "", "fromMultiplicity": "1", "toMultiplicity": "0..*" }, { "id": 6, "from": 1, "to": 3, "relType": "clsDependency", "label": "uses", "fromMultiplicity": "", "toMultiplicity": "" }, { "id": 7, "from": 4, "to": 1, "relType": "realization", "label": "«implements»", "fromMultiplicity": "", "toMultiplicity": "" } ], "actors": [], "useCases": [], "systemBoundary": null, "states": [], "transitions": [], "nodes": [], "flows": [], "components": [], "interfaces": [], "packages": [], "compRelations": [], "deployNodes": [], "artifacts": [], "deployRelations": [], "participants": [], "activations": [], "messages": [], "fragments": [], "swimlanes": [], "swNodes": [], "swFlows": [], "relationships": [] }, { "id": "diagram-1725789600000-stu901", "diagramType": "sequence", "title": "توالی استقرار Blue/Green", "description": "نمودار توالی برای استراتژی Zero Downtime", "createdAt": "2026-09-08T10:35:00.000Z", "updatedAt": "2026-09-08T14:00:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 10, "participants": [ { "id": 1, "name": "Release Manager", "x": 150, "y": 60, "width": 140 }, { "id": 2, "name": "CI/CD Pipeline", "x": 350, "y": 60, "width": 140 }, { "id": 3, "name": "OpenShift", "x": 550, "y": 60, "width": 140 }, { "id": 4, "name": "Load Balancer", "x": 750, "y": 60, "width": 140 } ], "activations": [ { "id": 5, "participantId": 2, "x": 350, "y": 150, "width": 12, "height": 80 }, { "id": 6, "participantId": 3, "x": 550, "y": 250, "width": 12, "height": 100 }, { "id": 7, "participantId": 4, "x": 750, "y": 370, "width": 12, "height": 60 } ], "messages": [ { "id": 8, "fromParticipant": 1, "toParticipant": 2, "msgType": "syncMsg", "label": "triggerDeploy(version)", "y": 150 }, { "id": 9, "fromParticipant": 2, "toParticipant": 3, "msgType": "syncMsg", "label": "deployToGreen()", "y": 250 }, { "id": 10, "fromParticipant": 3, "toParticipant": 2, "msgType": "returnMsg", "label": "deploymentResult", "y": 330 }, { "id": 11, "fromParticipant": 2, "toParticipant": 4, "msgType": "syncMsg", "label": "switchTraffic(green)", "y": 370 }, { "id": 12, "fromParticipant": 4, "toParticipant": 2, "msgType": "returnMsg", "label": "ack", "y": 410 } ], "fragments": [ { "id": 13, "fragmentType": "alt", "label": "success", "x": 300, "y": 200, "width": 500, "height": 250, "operands": [ { "label": "success", "height": 150 }, { "label": "failure → rollback", "height": 100 } ] } ], "actors": [], "useCases": [], "systemBoundary": null, "states": [], "transitions": [], "nodes": [], "flows": [], "components": [], "interfaces": [], "packages": [], "compRelations": [], "deployNodes": [], "artifacts": [], "deployRelations": [], "classes": [], "classRelations": [], "swimlanes": [], "swNodes": [], "swFlows": [], "relationships": [] }, { "id": "diagram-1725789700000-vwx234", "diagramType": "swimlane", "title": "فرآیند Release Management با Swimlanes", "description": "نمودار Swimlane برای تفکیک وظایف تیم‌ها", "createdAt": "2026-09-08T10:40:00.000Z", "updatedAt": "2026-09-08T13:55:00.000Z", "author": "هادی خزاعی اصل", "version": "1.0", "nextId": 10, "swimlanes": [ { "id": 1, "name": "Product Owner", "x": 100, "y": 50, "width": 900, "height": 150, "orientation": "horizontal", "color": "#ebf8ff" }, { "id": 2, "name": "Development", "x": 100, "y": 200, "width": 900, "height": 150, "orientation": "horizontal", "color": "#f0fff4" }, { "id": 3, "name": "QA", "x": 100, "y": 350, "width": 900, "height": 150, "orientation": "horizontal", "color": "#fffaf0" }, { "id": 4, "name": "DevOps", "x": 100, "y": 500, "width": 900, "height": 150, "orientation": "horizontal", "color": "#faf5ff" } ], "swNodes": [ { "id": 5, "nodeType": "swInitial", "name": "", "x": 150, "y": 125 }, { "id": 6, "nodeType": "swAction", "name": "Define Scope", "x": 300, "y": 125, "width": 120, "height": 50 }, { "id": 7, "nodeType": "swAction", "name": "Develop Features", "x": 300, "y": 275, "width": 140, "height": 50 }, { "id": 8, "nodeType": "swAction", "name": "Code Review", "x": 500, "y": 275, "width": 120, "height": 50 }, { "id": 9, "nodeType": "swAction", "name": "Run Tests", "x": 300, "y": 425, "width": 120, "height": 50 }, { "id": 10, "nodeType": "swDecision", "name": "Pass?", "x": 500, "y": 425, "size": 40 }, { "id": 11, "nodeType": "swAction", "name": "Deploy to Prod", "x": 700, "y": 575, "width": 140, "height": 50 }, { "id": 12, "nodeType": "swFinal", "name": "", "x": 900, "y": 575 } ], "swFlows": [ { "id": 13, "from": 5, "to": 6, "label": "" }, { "id": 14, "from": 6, "to": 7, "label": "" }, { "id": 15, "from": 7, "to": 8, "label": "" }, { "id": 16, "from": 8, "to": 9, "label": "" }, { "id": 17, "from": 9, "to": 10, "label": "" }, { "id": 18, "from": 10, "to": 11, "label": "[yes]" }, { "id": 19, "from": 11, "to": 12, "label": "" } ], "actors": [], "useCases": [], "systemBoundary": null, "states": [], "transitions": [], "nodes": [], "flows": [], "components": [], "interfaces": [], "packages": [], "compRelations": [], "deployNodes": [], "artifacts": [], "deployRelations": [], "classes": [], "classRelations": [], "participants": [], "activations": [], "messages": [], "fragments": [], "relationships": [] } ] }