Abstract:
วิทยานิพนธ์นี้นำเสนอการเปรียบเทียบโครงสร้างคลาสของซอฟต์แวร์ ระหว่างโครงสร้างคลาสในความสัมพันธ์แบบแอสโซซิเอชันและเจเนอรัลไลเซชันใน 2 มุมมอง คือ (1) ประสิทธิภาพ (Performance) ของโครงสร้างคลาสด้วยซอฟต์แวร์ขณะประมวลผล โดยวัดจากจำนวนการรับส่งหรือเรียกใช้งานด้วยเมสเสจ (Message Calling) ระหว่างคลาสที่เป็นองค์ประกอบของซอฟต์แวร์และความเร็วในการประมวลผล (Response Time) และ (2) ความสามารถในการบำรุงรักษาซอฟแวร์ (Maintainability) เมื่อมีการเปลี่ยนแปลงซอฟต์แวร์ (Software Change) ตามความต้องการเชิงฟังก์ชัน (Functional Requirement) โดยวัดจากจำนวนคลาสและจำนวนเมธธอดที่ได้รับผลกระทบจากการเปลี่ยนแปลง งานวิจัยเป็นการวิจัยเชิงทดลอง โดยออกแบบและพัฒนาเครื่องมือ (ในรูปแบบซอฟต์แวร์) สำหรับทดลอง 2 ชุด คือ (1) เครื่องมือวัดประสิทธิภาพของโครงสร้างคลาสด้วยซอฟต์แวร์ขณะประมวลผล โดยหน่วยตัวอย่างที่ใช้ทำการทดลองเป็นซอฟต์แวร์ที่พัฒนาภายใต้โครงสร้างคลาสในความสัมพันธ์แบบเจเนอรัลไลเซชัน จำนวน 5 หน่วยตัวอย่าง แล้วนำมาเปลี่ยนเป็นโครงสร้างคลาสในความสัมพันธ์แบบแอสโซซิเอชันและพัฒนาเป็นซอฟต์แวร์ แล้วนำซอฟต์แวร์ทั้งสองโครงสร้างคลาสมาประมวลผลด้วยการทำทรานแซคชัน (Transaction) และ (2) เครื่องมือวัดผลกระทบในการเปลี่ยนแปลงความต้องการของซอฟต์แวร์ โดยหน่วยตัวอย่างเป็นความต้องการเชิงฟังก์ชันของซอฟต์แวร์จำนวน 30 หน่วยตัวอย่าง แล้วจัดเก็บจำนวนคลาสและจำนวนเมธธอดที่เกี่ยวข้องกับการเปลี่ยนแปลงซอฟต์แวร์ที่พัฒนาภายใต้โครงสร้างคลาสในความสัมพันธ์แบบแอสโซซิเอชันและเจเนอรัลไลเซชันด้วยการเพิ่มความต้องการเชิงฟังก์ชัน โดยผู้วิจัยกำหนดให้หน่วยตัวอย่างเป็นซอฟต์แวร์ที่พัฒนาด้วยภาษาจาวาและมีจำนวนคลาสการทำงานในเชิงธุรกิจอย่างน้อย 5 คลาส และวิเคราะห์ผลโดยวิธีการทางสถิติด้วยวิลคอกสันไซน์แรงค์เทสที่ระดับนัยสำคัญเท่ากับ 0.05 ผลการทดลองพบว่าจำนวนการรับส่งข้อความ ระยะเวลาในการประมวลผล รวมถึงจำนวนคลาสและจำนวนเมธธอดที่ได้รับผลกระทบจากการเปลี่ยนแปลงของโครงสร้างคลาสแบบแอสโซซิเอชันน้อยกว่าแบบเจเนอรัลไลเซชัน จึงสรุปได้ว่า โครงสร้างคลาสแบบแอสโซซิเอชันมีประสิทธิภาพ และมีความสามารถในปรับปรุง บำรุงรักษาซอฟต์แวร์ดีกว่าโครงสร้างคลาสแบบเจเนอรัลไลเซชัน