Problem
Based on the use cases, the architect further specifies the system behavior as follows. The objects are underlined in the specification.
A. To register for an account, a user clicks the button on Dashboard. Dashboard displays a registration form. The user enters the personal details into Dashboard. Dashboard then asks for confirmation. When the user clicks the button on Dashboard, Dashboard sends the information to create a Profile.
B. Profile saves the information, which takes some time. When saving is complete, Profile sends a completion message to Dashboard. Dashboard displays the completion message to the user for three minutes before closing the process.
C. To log in, a registered user clicks the button on Dashboard. Dashboard then asks for the phone number and password. The registered user enters the phone number and password to Dashboard. Dashboard sends the phone number and password to Profile for authentication, which takes some time. When the authentication process is complete, Profile sends the result to Dashboard.
D. At the end of the month, Dashboard will send a signal to History to retrieve the registered user's monthly information. The retrieval process takes some time. When retrieved, History returns the data to Dashboard.
E. If there is no data recorded for that month, Dashboard displays an encouraging message to the registered user for three minutes before closing the process.
F. If there is data recorded for that month, Dashboard displays the chart and reports to the registered user and asks whether or not to publish the information in Instagram. If the registered user clicks , Dashboard will send the data to Instagram. After receiving the successful message from Instagram, Dashboard will display a published message to the registered user.
G. If the registered user clicks, Dashboard will not post the information.
Analyse the above specification using dynamic modelling and produce sequence diagram(s) and state machine(s).