# Object Orient Programming-Course3 Week1: Kruchten's 4 + 1 Model View ###### tags: `OOP` `Coursera` <style> .red { color: red; } </style> <style> .blue { color: blue; } </style> <style> .green { color: green; } </style> ## Component Diagram ### Capstone assignment3.1 * Instruction: > In this assignment you are to assume that the **mobile application** (described above) stores its data in a **remote database** (rather than locally -- as the current version of the app actually does.) > To access this remote database, the **mobile app sends an HTTP request** to the **remote server** that matches the **remote server’s provided interface**. > The **web server** parses the HTTP request to determine its type, then **passes the data along to the application server**. The data the web server provides the application server must match the **application server’s provided interface.** > Next, the **application server** parses the request. Depending on the request, it either **fetches data** from the database or **modifies** the database using the database’s provided interface. > In addition to a mobile app, there is also a **web app** which can be accessed through a web browser. The web application, **like the mobile application**, is able to access the remote database by making a request to the web server. > Based on this description make a UML component diagram that represents this system. #### Submission of assignment3.1 ![](https://i.imgur.com/d9oEGDc.png) ## Deployment Diagram * Instruction: > Assume that the application described in the previous assignment stores its data in a remote database and that the app has both a mobile and web version. > To access this remote database, the **mobile/web app** **sends an HTTP request** to the remote **web server**. The web server parses the HTTP request to determine its type, then **passes the data** along to the **application server**. The application server parses the request and depending on the request, it either **fetches data** from the database or **modifies** the **database**. > You may assume that: The** web server, application server and database all reside on the same device and all run in the same execution environment.** There are **3 separate JAR files** which are used to **manifest the web server, application server, and database components** respectively. The** web server** component uses a **config file** to configure the server to route requests to the application server. The **application server** component runs a **JAR file** to search and modify the database. The **database component** uses a **XSD file** to define its schema. A **HTML file** manifests the **sharing web app**. An **APK file** manifests the **sharing mobile app**. Based on this description make a specification level deployment diagram that captures this system. #### Submission of assignment3.2![](https://i.imgur.com/juCPP5j.png)