# 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

## 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