next up previous contents
Next: 5.1 แบบแผนซอฟต์แวร์ Up: Software Engineering Practices Previous: 4.5 โครงสร้างข้อมูลองค์กร บุคคล และนิติบุคคล   Contents

5. การใช้งานแบบแผนซอฟต์แวร์ในการปรับปรุงพัฒนาเซอร์วิซอฟต์

การพัฒนาโปรแกรมประยุกต์บนเว็ปสามารถทำได้หลายรูปแบบ การพิจารณาระดับของการพัฒนาสามารถอธิบายได้โดยสังเขปดังนี้ รูปแบบพื้นฐานที่สุดคือ ระดับที่ 1. เมื่อระบบได้รับการร้องขอจากผู้ใช้งาน จากนั้นประมวลผล หรือ เข้าใช้ฐานข้อมูล และดำเนินการเตรียมรูปแบบเพื่อเหมาะกับการแสดงผลทางหน้าจอผ่าน HTML ระดับที่ 2. การปรับการพัฒนาโปรแกรมให้ดีขึ้น โดยเพื่อให้สามารถปรับเปลี่ยนรูปแบบการแสดงผลทางหน้าจอได้ง่ายขึ้น ผู้พัฒนาโปรแกรมบนเว็ป จะดำเนินการแยก HTML ออกจากการประมวลผล และการนำเสนอทางหน้าจอ หรือเรียกว่าเป็นการแยก Processing logic ออกจาก Presentation Logic. ระดับที่ 3. ในระดับต่อมาเป็นการจัดการไดเร็กตอรี่ เพื่อให้สามารถบริหารส่วนต่างๆ ที่สามารถใช้งานร่วมกัน และลดความซ้ำซ้อนของโปรแกรมย่อยในส่วนต่างๆ ให้มากที่สุด และ เพื่อที่ให้ง่ายในการบำรุงรักษาโปรแกรมจัดการกับบักต่างๆ ในกระบวนการ การพัฒนาซอฟต์แวร์ประยุกต์บนเว็ป ถ้าทำได้ถึงระดับ 3 แล้วนั้น ย่อมสามารถส่งมอบงานให้สามารถใช้งานได้ อย่างไรก็ตาม เมื่อระบบมีการขยายใหญ่ขึ้น และเทคโนโลยีเว็ปมีการพัฒนามากขึ้น เช่น AJAX, Dome, XML, Flash ฯลฯ การพัฒนาโปรแกรมบนเว็ปต้องการการดำเนินการที่เป็นระบบมากขึ้น เพื่อให้สามารถแข่งขันได้ในตลาด

ส่วนสำคัญของโครงการที่นำเสนอในเอกสารนี้คือการปรับปรุงระบบเซอร์วิซอฟต์ โดยใช้แบบแผนของการออกแบบซอฟต์แวร์ (Design Pattern) หรือเรียกสั้นๆ ว่า แบบแผนซอฟต์แวร์ ที่ได้มีการศึกษา และนำเสนอไว้ก่อนหน้า เพื่อนำมาพัฒนาระบบเซอร์วิซอฟต์ให้มีโครงสร้างรองรับการพัฒนา และมีขนาดเหมาะสม และปรับการออกแบบซอฟต์แวร์ให้เป็นแบบเชิงวัตถุอย่างเต็มรูปแบบ การออกแบบซอฟต์แวร์เชิงวัตถุนั้นมีความยาก ต้องอาศัยประสบการณ์ในการพัฒนาโปรแกรม ออกแบบ และผ่านโครงการส่งมอบซอฟต์แวร์ การออกแบบนั้นควรออกแบบให้ถูกต้องแต่แรก ซึ่งเป็นสิ่งที่ยากมาก ที่ยากยิ่งกว่า คือการออกแบบซอฟต์แวร์ ให้สามารถนำส่วนต่างๆ กลับมาใช้ได้ใหม่ ความยากนั้นเกิดจากผู้ออกแบบต้องออกแบบให้ทำงานได้กับโครงการที่มีลักษณะเฉพาะ และยังต้องออกแบบเผื่อสำหรับการใช้งานอื่นๆ ด้วย เช่นเดียวกับการออกแบบโครงสร้างข้อมูลดังที่แสดงในรูป [*] ที่โครงสร้างข้อมูลของโมดูลต่างๆ ที่มีการใช้งานอยู่ในระบบเซอร์วิซอฟต์ มีความละม้ายคล้ายคลึงกันอยูาหลายส่วน การพัฒนาซอฟต์แวร์ในระดับล่างเช่นเดียวกัน การออกแบบคลาสต่างๆ เมื่อเวลาผ่านไปจะพบแบบแผนของซอฟต์แวร์ ที่มีรูปแบบ และถูกออกแบบมาเพื่อรองรับงานคล้่ายๆ กัน ซึ่งสามารถลดเวลาการออกแบบและพัฒนาได้มาก

แบบแผนของซอฟต์แวร์ได้มีการพัฒนาอย่างต่อเนื่อง ใน [29] ได้รวบรวมแบบแผนของซอฟต์แวร์ในการออกแบบเชิงวัตถุโดยมีการนิยามองค์ประกอบบต่างๆ ของแบบแผนอย่างเป็นระบบ โดยมีจุดมุ่งหมายให้สามารถนำเอาประสบการณ์ออกแบบก่อนหน้ามาใช้่งานให้เกิดประโยชน์ จากแบบแผนของซอฟต์แวร์ ในโครงการนี้ได้นำเอาแบบแผน Observer ที่เป็นรูปแบบอธิบายอย่างทั่งไปของแบบแผน Model View Controller มาปรับสถาปัตยกรรมระดับการเขียนโปรแกรมของเซอร์วิซอฟต์ ให้่มีรูปแบบที่เป็นมาตรฐานมากขึ้น จากการดำเนินการนี้ มีผลให้รับบเซอร์วิซอฟต์ มีรูปแบบเป็นเชิงวัตถุ และลดปัญหาเรื่องบักซ้ำซ้อนได้เป็นอย่างมาก

ในบทนี้จะกล่าวถึง ภาพรวมของแบบแผนซอฟต์แวร์ และ แบบแผน Model View Controller (MVC) จากนั้นจะกล่าวถึงลักษณะโครงสร้างของไดเร็กตอรี่ที่ปรับปรุงของเซอร์วิซอฟต์ ที่ปรับมาใช้บนโครงสร้างของ codeigniter ที่เป็นกรอบการทำงานในรูปแบบของ MVC และผลกระทบหลังการปรับปรุง



Subsections

2008-2009 Copyright Vara Varavithya. All rights reserved, DEPT of EE, KMUTNB, vara@computer.org