====== PSWT 5 ECTS Prüfung 24.03.2023 ====== {{indexmenu>:pruefungen:hauptstudium:ls2_swe:pswt:ws2022#1|navbar}} ===== Meta Information ===== * Subject: PSWT 5 ECTS, WS 22/23 * Date: 24.03.2023 * Type of Exam: Written * Examiner: Kips, Erhardt, Ellner * Grade: ===== Exam ===== ==== Item 2 ==== Imagine you are the architect of a web-based customer-service chat app. For the first iteration, a prototype is to be built that provides only the most basic feature. During its development, you need to communicate certain aspects of its architecture of UML diagrams. a) Draw a **UML use-case diagram** representing an analysis model as specified by the following requirements 1 through 8. * REQ.1. Users of the customer-service app my chat (i.e., exchange messages) with a customer-service representative. * REQ.2. A customer-service representative may identify a user by email address an name. * REQ.3. The user may start a chat session by clicking on the chat button. * REQ.4. If the customer-service representative cannot handle a request immediately, a ticket shall be created for the request. * REQ.5. To create a ticket, the user must be identified. * REQ.6. A ticket can be handled (e.g., re-assigned, commented) by representatives of customer service and 2nd level support. * REQ.7. Customer-service representatives may close a ticket. * REQ.8. When a ticket is closed, the user is informed of its resolution by email. b) Draw a **UML class diagram** based on the requirements 9 through 25. Model the ''Classes'' along with their attributes and attribute types. Provide multiplicities for the ''Associations'' between ''Classes'' and model them as ''Compositions'' where appropiate. Provide reasonable role names and navigability for ''Associations''. Use ''Generatlization'' relationships to factor out commonalities where appropriate. * REQ.9. A Chat session has a unique identifier. * REQ.10. A Chat session has consists of any number of textual messages. * REQ.11. A message belongs to one chat session. * REQ.12. The date and time when a message has been sent shall be recorded. * REQ.13. A message is sent by one chat participant. A chat participant is either a user or an employee. * REQ.14. A chat participant may send any number of messages. * REQ.15. A user is identified by an email address and name. * REQ.16. Employees haev a name. * REQ.17. A ticket is always assigned to one employee. * REQ.18. A ticket has a unique identifier. * REQ.19. An employee may be assigned to any number of tickets. * REQ.20. A ticket has a description. * REQ.21. The resolution of a closed ticket shall be recored in the ticket. * REQ.22. A ticket may have any number of textual comments. * REQ.23. The stauts of a ticket is recorded. * REQ.24. A comment belongs to one ticket. * REQ.25. The date and time shall be recorded when a comment is created. c) Draw a **UML state machine diagram** for the class ''Ticket'' in Item 2b). Model the behavior described below and annotate ''Transitions'' with triggers, guards and/or effects where applicable. Make use of ''FinalStates'' where appropriate. - A ticket is created in state //New//. - Once the description of a ticket is filled out, an employee may set the ticket //Open// - The ticket my be re-assigned to another employee any number of times while in the state //Open//. The newly assigned employee is notified via email. - Once the resolution of a ticket is filled out, an employee may set the ticket to //Closed//. The user is notified via email. - Closed tickets cannot be set to another state. - A ticket my be set as //Obsolete// at any time unless it is closed. - Obsolete tickets cannot be set to another state.