Expansion and Detailing of UML Diagrams for AI-Powered Telegram Customer Support Bot
As our project progresses, it's important to ensure that our UML diagrams reflect the current scope and complexity of the project. At present, our UML diagrams provide a basic overview of the system, but as we add more features and integrations, these diagrams need to grow accordingly.
Complaint Handling:
- A
User
sends a complaint via theTelegram Bot Interface
. - The
Telegram Bot Interface
sends the complaint to theComplaint Handling Component
. - The
Complaint Handling Component
asks theUser
(via theTelegram Bot Interface
) for the required details (phone number and gas station number). - The
Complaint Handling Component
queries theGas Station Database
for the relevant station manager's Telegram chatID. - The
Complaint Handling Component
requests theTelegram Bot Interface
to forward the complaint to the relevant station manager using theTelegram API
.
Promotions Management:
- A
Superuser
sends an Excel file with promotion details via theTelegram Bot Interface
. - The
Telegram Bot Interface
sends the file to thePromotions Management Component
. - The
Promotions Management Component
checks theAdmin Database
to verify the identity of theSuperuser
. - The
Promotions Management Component
processes the file into separate CSVs and formats them into strings. - The
Promotions Management Component
updates theChatGPT Model
with a new system message containing the promotional details.
Customer Inquiries:
- A
User
sends an inquiry via theTelegram Bot Interface
. - The
Telegram Bot Interface
sends the inquiry to theCustomer Inquiries Component
. - The
Customer Inquiries Component
retrieves the chat history of theUser
from theChat History Database
. - The
Customer Inquiries Component
sends the inquiry and chat history to theChatGPT Model
via theOpenAI API
. - The
ChatGPT Model
generates a response and sends it back to theCustomer Inquiries Component
via theOpenAI API
. - The
Customer Inquiries Component
sends the response to theUser
via theTelegram Bot Interface
.
In the sequence diagram, each of these steps should be represented as an arrow from the actor initiating the action to the actor receiving the action, with the arrow labeled with the action. The vertical lifelines or "lifetimes" of the actors will represent time, with time progressing down the page.
Acceptance Criteria:
-
All new components identified are included in the updated Component Diagram. -
All new interactions are represented accurately in the updated Component and Sequence Diagrams. -
The Sequence Diagram accurately represents the order of interactions for each feature. -
All diagrams are correctly formatted and follow UML notation.
Estimation: 2-3 hours. This includes time for identifying new components and interactions, and updating the diagrams.