Chulalongkorn University Theses and Dissertations (Chula ETD)

Other Title (Parallel Title in Other Language of ETD)

A model-driven development of web application backend using node.js framework

Year (A.D.)

2024

Document Type

Thesis

First Advisor

ทวิตีย์ เสนีวงศ์ ณ อยุธยา

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Department (if any)

Department of Computer Engineering (ภาควิชาวิศวกรรมคอมพิวเตอร์)

Degree Name

วิทยาศาสตรมหาบัณฑิต

Degree Level

ปริญญาโท

Degree Discipline

วิศวกรรมคอมพิวเตอร์

DOI

10.58837/CHULA.THE.2024.1031

Abstract

การพัฒนาซอฟต์แวร์แบบอิงแบบจำลอง ได้กลายเป็นแนวทางที่มีศักยภาพในการวิศวกรรมซอฟต์แวร์ ซึ่งใช้แบบจำลองเป็นองค์ประกอบหลักในการสนับสนุนการพัฒนาซอฟต์แวร์ รวมถึงการพัฒนาเว็บแอปพลิเคชัน งานวิจัยนี้นำเสนอการประยุกต์ใช้แนวคิดของการพัฒนาแบบอิงแบบจำลองกับการพัฒนาแบ็กเอนด์ด้วยโหนดเจเอสโดยเน้นทั้งกระบวนการวิศวกรรมไปข้างหน้า และวิศวกรรมย้อนกลับ โดยได้พัฒนายูเอ็มแอลโพรไฟล์สำหรับโหนดเจเอสที่รองรับทั้งฐานข้อมูลแบบซีเควลและโนซีเควลเพื่อใช้ในการสร้างแบบจำลองการออกแบบของเว็บแอปพลิเคชัน และมีเครื่องมือสำหรับการแปลงแบบจำลองเป็นโค้ดและโค้ดเป็นแบบจำลอง ผลการประเมินแนวทางที่นำเสนอผ่านกรณีศึกษา 3 กรณี พบว่ากระบวนการวิศวกรรมไปข้างหน้ามีผลของอัตราการแปลงแบบจำลองเป็นโค้ดที่สูง โดยเฉพาะในส่วนของ Model (86.18-94.53%) และ Route (70.73-90.52%) โดยมีประสิทธิภาพที่ดีสอดคล้องกันทั้งในกรณีของซีเควล (มายซีเควล) และ โนซีเควล (มองโกดีบี) ขณะที่กระบวนการวิศวกรรมย้อนกลับให้ผลลัพธ์ความถูกต้องของการแปลงโค้ดเป็นแบบจำลองถึง 100% สำหรับโค้ดแบ็กเอนด์ในแต่ละรูปแบบการพัฒนา การดำเนินการนี้ช่วยลดระยะเวลาในการพัฒนาโค้ดอย่างมีนัยสำคัญ พร้อมทั้งคงไว้ซึ่งเอกสารประกอบระบบผ่านการสร้างแบบจำลองโดยอัตโนมัติ ซึ่งเป็นแนวทางที่ใช้งานได้จริงสำหรับการพัฒนาและบำรุงรักษาแบ็กเอนด์ด้วยโหนดเจเอส

Other Abstract (Other language abstract of ETD)

Model-Driven Development (MDD) has emerged as a promising software engineering paradigm that uses models as the primary artifacts to support software development including web application development. This research presents a novel application of the MDD principles for Node.JS backend development, focusing on both forward and reverse engineering processes. A UML Profile for Node.js, supporting both SQL and NoSQL databases, is introduced for building design models of web applications. Transformation engines are provided for model-to-code (M2C) and code-to-model (C2M) transformation. The proposed approach was evaluated through three case studies. The forward engineering results demonstrated high model-to-code transformation rates especially for Model (86.18-94.53%) and Route (70.73-90.52%), with consistent performance across SQL (MySQL) and NoSQL (MongoDB) implementations. The reverse engineering results showed 100% correctness in code-to-model transformation for different implementations of backend code. This approach significantly reduces development time for code development while maintaining system documentation through automated model generation, providing a practical solution for Node.JS backend development and maintenance.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.