透過您的圖書館登入
IP:3.145.111.125
  • 學位論文

網頁應用程式中直觀與可檢驗業務邏輯之實作

Intuitive and Verifiable Implementation of Business Logic in Web Application

指導教授 : 吳育松

摘要


交通大學資訊工程系計算機中心WWW小組的工作內容是開發與維護系上的網頁系統或腳本來協助系上的行政業務。現在這些系統或腳本中存在兩個問題: 1. 部分業務邏輯的實作複雜,運作流程不清晰,需要花很大的力氣去理解 2. 業務邏輯的實作存在於伺服器上,系上助理或主管難以檢驗實作是否正確 作為WWW小組的一員,我做了一個資料運算流程平台來改善上述兩個問題: 針對第一點,在平台上透過開發人員將業務邏輯拆解成一個一個步驟串接起來,以無迴圈、無條件分支、單一方向的Directed Acyclic Graph改寫業務邏輯,使得其運作流程更清楚明瞭,運作方式更加直覺。 針對第二點,在平台上透過網頁視覺化流程的Directed Acyclic Graph以及保存所有步驟的輸出結果,系上助理或主管可以直接從網頁瀏覽每一個步驟的輸出結果是否如預期,從而檢驗整個流程是否正確實作。 透過這兩個方法來達成網頁應用程式中直覺與可檢驗的業務邏輯之實作。

關鍵字

流程系統

並列摘要


The mission of WWW Team in Computer Center of Computer Science Department of Taiwan National Chiao Tung University is to support office routine of Computer Science Department with web applications and scripts which are developed by WWW Team. There are two problems while maintaining and developing those applications: 1. Some implementations of business logic consist of many loops and conditional branches. As a software developer, It is hard to figure out the data flow of these implementations at a glance. 2. As an office assistant or an office Managers of Computer Science Department, it is hard to verify whether theses business logics are implemented as expected because they are just like black boxes running on the server. As a member of WWW Team, I built a data processing system which is able to implement intuitive and verifiable business logic to improve the situation by the following two methods: 1. Representing the business logic as a Directed Acyclic Graph of data processing steps. By encapsulating loops and conditional branches into steps, it is easy to figure out the data flow at a glance. 2. By storing the outputs of all steps and visualizing Directed Acyclic Graphs on the web, the implementations of business logics are not like back boxes for office assistants and office managers anymore. Furthermore, they can verify the implementations by inspecting the outputs of each steps.

並列關鍵字

PHP DAG

參考文獻


[1] Apache Spark https://spark.apache.org
[2] Apache Airflow https://github.com/apache/incubator-airflow
[3] Tableau https://www.tableau.com
[4] Google Cloud Dataprep https://cloud.google.com/dataprep
[5] Microsoft Azure Machine Learning Studio https://azure.microsoft.com/en-us/services/machine-learning-studio

延伸閱讀