DI230004 SECTION 1 1.4 Define these elements and purpose (e.g. what, why, when to use it) of the following: Num Elements Purpose 1 Model The model represents the application's data and business logic. It directly manages the data, logic, and rules of the application 2 View The view displays the data from the model to the user and sends user commands to the controller. It is responsible for rendering the user interface and presenting data to the user. 3 Controller The controller handles user input and interactions, processes these inputs, and updates the model or view as necessary. It acts as an intermediary between the model and the view. 4 View Selection View selection determines which view should be presented to the user based on specific conditions, such as the current application state or user actions. 5 User Events User events are interactions initiated by the user, such as clicking a button, submitting a form, or typing in a text field. These events trigger responses from the application. 6 State Query State query involves retrieving the current state or data from the model. It allows the application to access the necessary information to display to the user or to make decisions. 7 Change Notification Change notification involves informing interested parties (usually views or controllers) that the state of the model has changed. This ensures that the user interface can be updated to reflect the new state. 8 State Change State change involves modifying the state of the model, typically in response to user actions or other events. This includes updating data, changing application status, or performing calculations 1.5 Discuss the relationship between the use case diagram in Lab sheet 5, sequence diagrams in Lab sheet 6 and the MVC architecture in this lab.
I. Use Case Diagram:
Purpose: Use case diagrams are high-level behavioural diagrams that illustrate the interactions between users (actors) and a system to achieve specific goals or tasks. Relationship with MVC: Use case diagrams help identify the system's functionalities from a user's perspective. They define the interactions between actors and the system but do not delve into the internal workings of the system components like MVC does. II. Sequence Diagrams: Purpose: Sequence diagrams depict how objects interact in a particular scenario of a use case. They show the sequence of messages exchanged between objects over time. Relationship with MVC: Sequence diagrams can illustrate the flow of control between the components of the MVC architecture. They help in visualizing how the Model, View, and Controller collaborate to fulfill a specific user interaction or use case. III. MVC Architecture: Purpose: MVC is a software design pattern that separates an application into three main components: Model (data and business logic), View (user interface), and Controller (mediates between Model and View). Relationship with Use Case and Sequence Diagrams: Model: Represents the system's data and business logic. In use case diagrams, models are the functionalities provided to users. In sequence diagrams, models are the objects that interact to fulfil user actions. View: Represents the user interface. In use case diagrams, views are how users interact with the system. Sequence diagrams show how views are updated based on user interactions and data changes. Controller: Mediates between Model and View. In use case diagrams, controllers are not explicitly represented but are implied by user actions. Sequence diagrams show how controllers process user input and update the model and view accordingly.