---
# System prepended metadata

title: 'Object Orient Programming-Course3 Week1: Kruchten''s 4 + 1 Model View'
tags: [Coursera, OOP]

---

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