วันเสาร์ที่ 18 เมษายน พ.ศ. 2552

การพัฒนา Integrated development environment (IDE) สำหรับภาษา PHP ที่ใช้ในการติดต่อเว็บเซอร์วิส (web service)



บทที่ 1 บทนำ 1.1 ความเป็นมาและความสำคัญของปัญหา ในขั้นตอนของการพัฒนาการสื่อสารข้อมูลบนเครือข่ายอินเตอร์เน็ต (Internet) การแสดงผล ทางเว็บเพจ (Web Page) เป็นเพียงการแสดงข้อมูลจากเว็บเซิร์ฟเวอร์ (Web Server) ไปสู่เบราเซอร์ (Browser) ยังไม่ได้มีการติดต่อสื่อสารกันระหว่างเว็บเซิร์ฟเวอร์ เนื่องจาก ในช่วงเวลานั้นภาษา Hypertext Markup Language (HTML) มีความสามารถในการแสดงผล ข้อมูล แต่เป็นการยากที่นำข้อมูลเหล่านั้นไปประมวลผลต่ออีกที ต่อมาจึงได้เกิดภาษา eXtensible Markup Language (XML) ขึ้น ปัญหาดังกล่าวจึงถูกแก้ไขโดยการนำภาษา XML มาใช้จะทำให้ ข้อมูลอยู่ในรูปแบบข้อมูลดิบ ซึ่งนักพัฒนาสามารถดึงออกมาใช้เพื่อนำไปประมวลผลต่อได้ง่าย และสะดวกขึ้น ดังนั้นในยุคต่อไปของการพัฒนาเว็บแอปพลิเคชั่น (Web Application) ก็คือ การใช้ภาษา XML ในการแลกเปลี่ยนข้อมูลระหว่างเว็บเซิร์ฟเวอร์ซึ่งกันและกันและต่าง แพลตฟอร์ม (Platform) กันได้ หลังจากมีการแลกเปลี่ยนข้อมูลกันระหว่างเว็บเซิร์ฟเวอร์โดยใช้ภาษา XML และมีการใช้ เว็บแอปพลิเคชั่นเพื่อเพิ่มความปลอดภัยของข้อมูล ได้มีการพัฒนาเว็บเซอร์วิส (Web Services) เพื่อกระจายการประมวลผลจากเว็บเซิร์ฟเวอร์ 1 ตัวไปยังเว็บเซิร์ฟเวอร์ตัวอื่นๆ ให้ช่วยกัน ประมวลผล โดยที่เว็บเซิร์ฟเวอร์ที่ช่วยประมวลผลก็ต้องมีการให้บริการเว็บเซอร์วิสอยู่ด้วย และทั้งหมดนี้เป็นความเป็นมาในการพัฒนาเว็บเซอร์วิส การใช้งานเว็บเซอร์วิสจะเป็นการใช้งานผ่านเครือข่ายอินเตอร์เน็ต อินเตอร์เน็ตในวันนี้ ไม่ใช่สิ่งแปลกใหม่ต่อไปสำหรับผู้ที่ใช้งานคอมพิวเตอร์ ปัจจุบันมีการพัฒนาเพื่อการสื่อสาร บนเครือข่ายอินเตอร์เน็ตเป็นหลัก โดยสังเกตได้จากการเติบโตของเว็บเซิร์ฟเวอร์อย่างรวดเร็ว ปัจจุบันปัญหาก็คือ ภาษาที่ใช้ในการพัฒนากับเว็บเซอร์วิส ส่วนมากนั้นจะมีโปรแกรม .NET ของไมโครซอฟท์ (Microsoft) อำนวยความสะดวกอยู่แล้ว แต่สำหรับภาษา Personal Home Page (PHP) ยังไม่มีเครื่องมือที่จะอำนวยความสะดวกในการพัฒนาใช้งานเว็บเซอร์วิส ผู้ วิจัยจึงได้เกิดแนวคิดที่จะสร้าง Integrated Development Environment (IDE) สำหรับ ภาษา PHP เพื่อใช้ในการติดต่อเว็บเซอร์วิส เพื่อใช้ในการสนับสนุนนักพัฒนางานทางด้าน การเขียน โปรแกรมด้วยภาษา PHP ได้ง่าย สะดวก และมีประสิทธิภาพ 2 1.2 วัตถุประสงค์ของการวิจัย เพื่อพัฒนา PHP IDE ที่ใช้ในการสนับสนุนการพัฒนางานทางด้านการเขียนโปรแกรม ด้วยภาษา PHP ที่ใช้ในการติดต่อเว็บเซอร์วิส 1.3 สมมติฐานการวิจัย กลุ่มตัวอย่างผู้ใช้โปรแกรมที่มีภูมิหลัง ได้แก่ ความรู้ในการใช้ภาษา PHP และเทคโนโลยี เว็บเซอร์วิสมีความคิดเห็นต่อประสิทธิภาพการทำงานของโปรแกรมในระดับดี 1.4 ขอบเขตของการวิจัย โปรแกรม PHP IDE ที่จัดทำขึ้น จะครอบคลุมในการสนับสนุนการเขียนโปรแกรมด้วย ภาษา PHP สำหรับติดต่อเว็บเซอร์วิสผ่านระบบเครือข่ายอินเตอร์เน็ต มีขอบเขตการทำงานดังนี้ 1.4.1 สามารถทำงานได้บนระบบปฏิบัติการ Windows 98 และ Windows 2000 1.4.2 สามารถสนับสนุนการเขียนโปรแกรมเพื่อติดต่อเว็บเซอร์วิสด้วยภาษา PHP เท่านั้น 1.4.3 สามารถสนับสนุนการเขียนโปรแกรม เพื่อทำการร้องขอบริการจากเว็บเซอร์วิสเท่านั้น 1.5 ข้อตกลงเบื้องต้น การทดลองเพื่อหาประสิทธิภาพของโปรแกรม PHP IDE ที่ใช้ในการสนับสนุนการพัฒนา งานด้านการเขียนโปรแกรมด้วยภาษา PHP ที่ใช้ในการติดต่อเว็บเซอร์วิสจะคำนึงถึงผู้ใช้จะต้อง เคยใช้คอมพิวเตอร์ มีความรู้ด้านภาษา PHP และเว็บเซอร์วิส และจะต้องอ่านคู่มือการใช้งานก่อน 1.6 นิยามศัพท์เฉพาะ เว็บเซอร์วิส (Web Services) หมายถึง แอปพลิเคชั่นหรือโปรแกรมซึ่งทำงานอย่างใด อย่างหนึ่งในลักษณะการให้บริการ Integrated Development Environment (IDE) หมายถึง สภาวะแวดล้อมที่จะช่วย ในการทำงานเขียนโปรแกรม มีส่วนของการใช้คำสั่ง และจัดการสิ่งต่างๆ เช่น สามารถ ใช้ ฟังก์ชั่นคีย์ เพื่อช่วยทำงานให้เร็วขึ้น Simple Object Access Protocol (SOAP) หมายถึง โปรโตคอลสำหรับการแลกเปลี่ยน ข้อมูลระหว่างคอมพิวเตอร์ ซึ่งจะอยู่ในรูปแบบไวยากรณ์ภาษา XML Web Services Description Language (WSDL) หมายถึง ภาษาเอกสารสำหรับอธิบาย บริการของเว็บเซอร์วิสที่อยู่ในรูปแบบของภาษา XML 3 1.7 ประโยชน์ที่คาดว่าจะได้รับจากการวิจัย 1.7.1 เพื่ออำนวยความสะดวกในการติดต่อกับเว็บเซอร์วิสหลายๆ แห่งพร้อมๆ กัน 1.7.2 เพื่อช่วยลดเวลาในการอ่าน และทำความเข้าใจกับเอกสารคุณสมบัติของ เว็บเซอร์วิส เพราะโปรแกรมจะช่วยวิเคราะห์ข้อมูลที่ได้จากเว็บเซอร์วิสให้อยู่ในรูปแบบ โครงสร้างต้นไม้ที่สามารถเข้าใจได้ทันที 1.7.3 เพื่อช่วยอำนวยความสะดวกในการเขียนโปรแกรมเพื่อร้องขอบริการ เพราะโปรแกรม สามารถแสดงรายการชื่อบริการ และฟังก์ชั่นการทำงานให้นักพัฒนาสามารถนำไปเติมในโค้ดได้ โดยอัตโนมัติ 1.7.4 เพื่อช่วยลดขั้นตอนการเขียนโปรแกรมด้วยภาษา PHP ในส่วนของการติดต่อ กับเว็บเซอร์วิส เพราะโปรแกรมจะสร้างโค้ดส่วนนี้ให้โดยอัตโนมัติ บทที่ 2 ทฤษฎีและงานวิจัยที่เกี่ยวข้อง ในการพัฒนาโปรแกรม PHP IDE สำหรับติดต่อกับเว็บเซอร์วิสครั้งนี้ ผู้ทำการวิจัย ได้ทำการศึกษาหลักการทฤษฎีต่างๆ และเทคโนโลยีที่เกี่ยวข้อง ที่สามารถนำมาประยุกต์ ใช้งานได้ โดยแบ่งออกเป็นหัวข้อต่างๆ ดังต่อไปนี้ คือ 1. ความรู้เกี่ยวกับเว็บเซอร์วิส 2. ภาษาที่ใช้ในการพัฒนาโปรแกรม 3. วงจรการพัฒนาซอฟต์แวร์ 4. กระบวนการทดสอบโปรแกรม 5. งานวิจัยที่เกี่ยวข้อง 2.1 ความรู้เกี่ยวกับเว็บเซอร์วิส 2.1.1 ความเป็นมาของการพัฒนาเทคโนโลยีเว็บเซอร์วิส เทคโนโลยีเว็บในยุคแรกๆ ก็คือ Static Web จะเป็นการสื่อสารทางเดียวใช้เบราเซอร์ เรียกเว็บเพจที่สร้างด้วยภาษา HTML ล้วนๆ ไปยังเว็บเซิร์ฟเวอร์ เพื่อให้ได้มาซึ่งหน้าเว็บเพจ ต่อมาได้มีการพัฒนาเป็น Dynamic Web โดยมีการใช้สคริปต์ทางฝั่งเซิร์ฟเวอร์มาช่วยเพิ่ม ความสามารถของเอกสาร HTML ในการติดต่อกับองค์ประกอบอื่นๆ ทางฝั่งเซิร์ฟเวอร์ มีการพัฒนาเป็นเว็บแอปพลิเคชั่นที่มีการสื่อสารข้อมูลทั้ง 2 ทาง โดยการส่งข้อมูลไปยัง เว็บเซิร์ฟเวอร์ พร้อมกับการร้องขอข้อมูลหน้าเว็บเพจ และได้รับข้อมูลกลับออกมาเป็นเอกสาร HTML โดยข้อมูลที่ได้รับจะเปลี่ยนไปเรื่อยๆ ขึ้นอยู่กับข้อมูลที่ได้รับไป ทั้งหมดนี้เป็นการสื่อสาร กันระหว่างผู้ใช้กับเว็บเซิร์ฟเวอร์ และการทำงานทั้งหมดจะเกิดขึ้นภายในเว็บเซิร์ฟเวอร์เท่านั้น หลังจากนั้น เทคโนโลยีเว็บเซอร์วิสเป็นแนวคิดที่ได้รับการพัฒนาขึ้น เพื่อกระจาย การทำงานจากเดิมที่ทำงานภายในเว็บเซิร์ฟเวอร์เพียงตัวเดียว ก็มาสู่การช่วยกันทำงานโดย เว็บเซิร์ฟเวอร์หลายๆ แห่งที่ให้บริการเว็บเซอร์วิสผ่านการสื่อสารข้อมูลระหว่างเว็บเซิร์ฟเวอร์ โดยใช้ภาษา XML 1.2.2 เทคโนโลยีเว็บเซอรวิส สราวุธ, (2544 : 36) ได้อธิบายไว้ดังนี้ เว็บเซอร์วิส (Web Services) คือ แอพพลิเคชั่น หรือโปรแกรมซึ่งทำงานอย่างใดอย่างหนึ่ง ในลักษณะการให้บริการ โดยจะถูกเรียกใช้งาน จากแอปพลิเคชั่นหรือโปรแกรมอื่นๆ ผ่านเว็บ การให้บริการของเว็บเซอร์วิสจะมีเอกสาร 5 ที่อธิบายคุณสมบัติของบริการกำกับไว้ และมีการนำเสนอให้สาธารณชนรับทราบผู้ใช้จึงสามารถ ค้นหาเว็บเซอร์วิสได้โดยที่ไม่จำเป็นต้องรู้ที่อยู่จริงของแอปพลิเคชั่นหรือโปรแกรมนั้น การทำงานของเว็บเซอร์วิสจะสัมพันธ์กับส่วนต่างๆ ได้แก่ ผู้ให้บริการ (Service Provider) ผู้เผยแพร่บริการ (Service Registry) และผู้ร้องขอบริการ (Service Requestor) ดังภาพที่ 2-1 ภาพที่ 2-1 แสดงความสัมพันธ์กันของแต่ละส่วนในโครงสร้างเว็บเซอร์วิส 1. ผู้ให้บริการ (Service Provider) คือ เว็บเซอร์วิส ภายในเว็บเซอร์วิสประกอบด้วย 1.1 บริการ (Service) เป็นซอฟต์แวร์โมดูล (Software Module) สามารถทำงานได้ บนเครือข่ายอินเตอร์เน็ต 1.2 รายละเอียดของบริการ (Service Description) คือ เอกสาร Web Services Description Language (WSDL) เป็นเอกสารที่ใช้อธิบายคุณลักษณะของเว็บเซอร์วิส ในกรณีที่ มีเพียงผู้ให้บริการก็สามารถที่จะทำงานได้ แต่ผู้ใช้จะต้องทราบตำแหน่งของเว็บเซอร์วิสที่ต้องการ ดังนั้นปัญหาก็คือ ผู้ใช้ที่ต้องการใช้เว็บเซอร์วิสไม่สามารถหาเว็บเซอร์วิสที่ต้องการได้ เปรียบเสมือนเอกสาร HTML ในโลกอินเตอร์เน็ตที่จะต้องมีเว็บแอปพลิเคชั่นที่ไว้สำหรับค้นหา (Search Engine) หน้าเอกสารที่ต้องการ ดังนั้นจึงมีผู้เผยแพร่บริการ (Service Registry) 2. ผู้เผยแพร่บริการ (Service Registry) คือ Universal Description Discovery (UDDI) เปรียบเสมือนฐานข้อมูลที่เก็บรายละเอียดของเว็บเซอร์วิสไว้ และรอให้ผู้ใช้มาทำการค้นหาบริการ ลักษณะการให้บริการเหมือนกับเว็บแอปพลิเคชั่นที่ทำการค้นหาข้อมูลเว็บเซอร์วิสโดยเฉพาะ 3. ผู้ใช้บริการ (Service Requestor) ผู้ใช้สามารถทำการค้นหาบริการที่ต้องการได้จาก UDDI เมื่อทราบว่าตำแหน่งของเว็บเซอร์วิสที่ต้องการอยู่ที่ใด จากนั้นผู้ใช้สามารถร้องขอบริการ ผ่านเครือข่ายอินเตอร์เน็ต จะทำให้เกิดการกลไกการเชื่อมโยงระหว่างผู้ใช้กับเว็บเซอร์วิส จากภาพที่ 2-1 แสดงองค์ประกอบที่สัมพันธ์กันทั้ง 3 ส่วน สามารถนำมารวมกัน เป็นมาตรฐานในแต่ละระดับชั้นการทำงานของเว็บเซอร์วิสได้ (Web Services Stack) ดังภาพที่ 2-2 Service Registry Service Provider Service Requestor Service Description Service Description Service Find WSDL, UDDI Publish WSDL, UDDI Bind 6 ภาพที่ 2-2 แสดงระดับชั้นการทำงานของเว็บเซอร์วิส ในการทำโครงงานเกี่ยวข้อง 3 ระดับ ได้แก่ ระดับเครือข่าย (Network) ระดับกลไกการ รับส่งข้อมูล (XML-Based Messaging) และระดับข้อมุลของบริการ (Service Description) 1. ระดับเครือข่าย (Network Layer) เป็นพื้นฐานของการทำงาน เว็บเซอร์วิสสามารถ ทำงานได้บนอินเตอร์เน็ตมี HTTP เป็นโปรโตคอลมาตรฐาน เหมาะสำหรับการทำงานที่มี การ เรียกใช้ระหว่างแอปพลิเคชั่นด้วยกัน 2. ระดับกลไกการรับส่งข้อมูล (XML-Based Messaging Layer) มี Simple Object Access Protocol (SOAP) เป็นโปรโตคอลสำหรับการแลกเปลี่ยนข้อมูลระหว่างคอมพิวเตอร์ข้อมูล ที่รับส่งด้วยโปรโตคอล SOAP นี้เรียกว่า SOAP Message 3. ระดับข้อมูลของบริการ (Service Description Layer) เมื่อในชั้นกลไกการรับส่งข้อมูล สามารถส่งข้อมูลเพื่อให้เว็บเซอร์วิสทำงานได้บนอินเตอร์เน็ตได้แล้ว ในชั้นนี้จะทำหน้าที่อธิบาย คุณสมบัติของเว็บเซอร์วิสในรูปแบบไวยากรณ์ภาษา XML 2.1.3 มาตรฐานต่างๆ ที่ใช้ในเว็บเซอร์วิส 2.1.3.1 Simple Object Access Protocol (SOAP) เป็นโปรโตคอลสื่อสารที่อาศัย ไวยากรณ์ของภาษา XML ตามทฤษฎีแล้ว SOAP เป็นโปรโตคอลที่ทำงานได้กับโปรโตคอล เครือข่ายหลายโปรโตคอล เช่น HTTP SMTP เป็นต้น ข้อความที่รับส่งด้วยโปรโตคอลนี้เรียกว่า SOAP Message ซึ่งมีกลไกการรับส่งข้อมูลระหว่างผู้ร้องขอบริการกับเว็บเซอร์วิส ดังภาพที่ 2-3 Service Discovery Service Publication Service Description XML-Based Messaging Network Static .. UDDI Direct .. UDDI WSDL SOAP HTTP, FTP, email, etc. 7 ภาพที่ 2-3 แสดงกลไกการรับส่งข้อมูลระหว่างผู้ร้องขอบริการกับเว็บเซอร์วิส จากภาพที่ 2-3 สามารถอธิบายเป็นขั้นตอน ดังนี้ 1 ผู้ขอใช้บริการ สร้าง SOAP Message เพื่อเรียกใช้บริการ (Request) จากเว็บเซอร์วิส แล้วส่งผ่านโปรโตคอลในเครือข่ายไปยังผู้ให้บริการ 2 ผู้ให้บริการได้รับ SOAP Message การร้องขอจากผู้ขอใช้บริการ ซึ่งเป็นรูปแบบภาษา XML จะได้รับการแปลข้อความนั้นกลับมาอยู่ในรูปแบบที่เว็บเซิร์ฟเวอร์เข้าใจ แล้วตรวจสอบว่า ผู้ขอใช้บริการต้องการเรียกใช้ ฟังก์ชั่นการทำงานใด และส่งตัวแปรอะไรมาด้วย จากนั้น จึงส่งไปให้แก่คอมโพเนนต์ที่ให้บริการนั้นๆ มาดำเนินการประมวลผล 3 หลังจากคอมโพเนนต์ที่ให้บริการเว็บเซอร์วิสส่งผลลัพธ์มาแล้ว ผู้ให้บริการก็จะสร้าง SOAP Message ที่เป็นผลลัพธ์ (Response) นั้นออกมาด้วย แล้วจึงส่งผ่านทางเครือข่าย ไปยังผู้ขอใช้บริการ 4 ผู้ขอใช้บริการได้รับข้อมูลที่เป็นผลลัพธ์ ที่อยู่ในรูปแบบไวยากรณ์ของภาษา XML แล้วจึงแปลข้อความนั้น กลับมาในรูปแบบที่โปรแกรมของผู้ขอใช้บริการเข้าใจ แล้วนำผลลัพธ์ ไปใช้งาน ข้อดีของโปรโตคอล SOAP คือ มีความสามารถในการเรียกใช้แอปพลิเคชั่นข้ามเครือข่ายได้ โดยไม่ขึ้นกับแพลตฟอร์มและภาษาที่ใช้เขียนโปรแกรม นอกจากนี้ SOAP Message สามารถผ่านระบบที่มีไฟร์วอลล์ (Firewall) เนื่องจาก SOAP ทำงานบนโปรโตคอล HTTP ซึ่งโดยปกติไฟร์วอลล์จะเปิดให้การสื่อสารด้วย HTTP ผ่านได้อย่างสะดวก ขณะที่แบบเดิม ไฟร์วอลล์มักจะไม่ยอมให้ผ่านง่ายๆ SOAP Network Protocol SOAP Network Protocol 1 4 3 2 Application Application Web Service Service Requestor Service Provider Response Request (Service Invocation) 8 ข้อเสียของโปรโตคอล SOAP คือ เนื่องจาก SOAP Message เป็นเอกสาร XML ทำให้เสียเวลาในการแปลกลับมาเป็นรูปแบบที่โปรแกรมเข้าใจ และ SOAP ทำงานอยู่บน HTTP ซึ่งโดยปกติแล้วโปรโตคอล นี้มีความสามารถในการรับส่งข้อมูลต่ำ จึงทำให้ SOAP มีอัตรา การรับส่งที่ต่ำด้วย 2.1.3.2 Web Services Description Language (WSDL) คือ ภาษาของเอกสารสำหรับ อธิบายคุณลักษณะ และวิธีการติดต่อกับเว็บเซอร์วิส โดยใช้ไวยากรณ์ภาษา XML เอกสาร WSDL สามารถแบ่งได้เป็น 2 ส่วนใหญ่ๆ ได้แก่ ส่วนของการนำไปพัฒนาใช้งาน (Service Implementation Definition) และส่วนของการติดต่อกับเว็บเซอร์วิส (Service Interface Definition) ทั้ง 2 ส่วนนี้มีความสำคัญ สามารถทำให้การเรียกใช้งานเว็บเซอร์วิส ผ่านเครือข่ายอินเตอร์เน็ต และโปรโตคอล SOAP เป็นไปได้อย่างถูกต้อง ดังภาพที่ 2-4 ภาพที่ 2-4 แสดงส่วนประกอบในรูปแบบข้อมูลของบริการ ส่วนของการนำไปใช้งาน (Service Implementation Definition) ประกอบด้วย Service บอกชื่อของบริการ และ Port เกี่ยวกับช่องทางการระบุตำแหน่งปลายทาง ส่วนของการเชื่อมต่อ (Service Interface Definition) ประกอบด้วย PortType แสดงรายการ ฟังก์ชั่นการทำงาน Message ใช้กำหนดรูปแบบของตัวแปรที่รับส่งของฟังก์ชั่น Type ใช้แสดง ชนิดของข้อมูลที่ใช้ในการรับส่ง และ Binding ใช้แสดงเกี่ยวกับโปรโตคอลที่ใช้ รูปแบบของข้อมูล ความปลอดภัย และอื่นๆ ที่เกี่ยวข้องกับการติดต่อกับเว็บเซอร์วิส (Heather, 2544 : 1-16) 2.2 ภาษาที่ใช้ในการพัฒนาโปรแกรม 2.2.1 ภาษา Personal Home Page (PHP) ผู้วิจัยได้เลือกใช้ภาษา PHP เนื่องจากเป็นภาษาที่มีความสามารถทำงานเกี่ยวกับ ไดนามิกเว็บ (Dynamic Web) ได้ทุกรูปแบบ แต่ความสามารถที่พิเศษกว่านี้ก็คือ ภาษา PHP Service Port Service Implementation Definition Binding PortType Message Type Service Interface Definition 9 สามารถที่จะติดต่อกับบริการต่างๆ ผ่านทางโปรโตคอล ภาษา PHP มีประสิทธิภาพ ในการทำงานได้หลากหลายรูปแบบคือ สามารถทำงานได้กับหลายระบบปฏิบัติการ สามารถ ทำงานร่วมกับโปรแกรมเว็บเซิร์ฟเวอร์ได้หลากหลาย ไม่ว่าจะเป็น Personal Web Server (PWS) ซึ่งใช้ระบบปฏิบัติการ Windows 95 กับ Windows 98 หรือ Internet Information Server (IIS) ซึ่งใช้กับระบบปฏิบัติการ Windows NT กับ Windows 2000 หรือจะใช้ร่วมกับ Apache Web Server ในระบบปฏิบัติการ Linux ก็ได้ ตัวสคริปต์ที่เขียนขึ้นมาก็สามารถ นำไปใช้งานข้ามระบบปฏิบัติการได้เลย และยังสามารถติดต่อกับซอคเค็ท (Socket) ได้อีกด้วย นอกจากนี้ยังเป็นโปรแกรมที่แจกจ่ายฟรี ไม่มีปัญหาเรื่องลิขสิทธิ์ ปัจจุบันจึงมีผู้นิยมใช้กันมาก 2.2.2 ภาษา C++ ภาษา C++ เป็นพัฒนาการอีกขั้นหนึ่งของภาษา C โดยมีความสามารถออบเจ็กต์โอเรียนต์ (Object Oriented) ซึ่งจริงๆ แล้วภาษาในปัจจุบันก็มีความสามารถตรงนี้เป็นจำนวนมาก แต่ภาษา C++ มีข้อได้เปรียบจากภาษาอื่นในการพัฒนาโปรแกรม คือ มีความยืดหยุ่น สามารถ เขียนโปรแกรมได้หลากหลาย และมีโปรแกรม Visual C++ เป็นเครื่องมือในการพัฒนา โปรแกรมบนระบบปฏิบัติการวินโดวส์ที่มีความสามารถสูง มี Microsoft Foundation Class (MFC) ซึ่งเป็นไลบราลี่ภาษา C++ ที่ถูกสร้างมา เพื่อการสร้างแอปพลิเคชั่นที่ใช้งานกับ ระบบปฏิบัติการวินโดวส์ได้อย่างง่ายดาย มีประสิทธิภาพ และยังประหยัดเวลาในการเขียนโค้ด ได้มาก 2.3 วงจรการพัฒนาซอฟต์แวร์ (Software Development Life-Cycle) อภิรักษ์, (2544 : 21-22) ได้กล่าวถึงขั้นตอนในการพัฒนาซอฟต์แวร์ คือแบบจำลองน้ำตก (Waterfall Model) ซึ่งได้แบ่งวงจรการพัฒนาซอฟต์แวร์ไว้เป็น 6 ขั้นตอน ไว้ดังนี้ 2.3.1 วิศวกรรมระบบ (System Engineering) เนื่องจากในการพัฒนาซอฟต์แวร์ต้องมี การสอบถามความต้องการของระบบ และแบ่งส่วนให้ซอฟต์แวร์รับผิดชอบ ดังนั้นจึงต้องมีการ ค้นหาความต้องการของระบบก่อน 2.3.2 วิเคราะห์ความต้องการทางซอฟต์แวร์ (Software Requirements Analysis) เมื่อผ่านกระบวนการสอบถามความต้องการของระบบแล้ว จะต้องทำความเข้าใจกลุ่มของข้อมูล หน้าที่ทั้งส่วนของระบบ และซอฟต์แวร์ เพื่อจัดทำเอกสารและแสดงต่อผู้ใช้ 2.3.3 การออกแบบ (Design) จะเป็นการแปลความหมายของความต้องการ ให้อยู่ในรูปของ ซอฟต์แวร์ ซึ่งต้องสามารถควบคุมคุณภาพก่อนการนำโปรแกรมพัฒนาต่อได้ ในขั้นตอนนี้ ก็มีการจัดทำเอกสารด้วยเช่นกัน 2.3.4 การเขียนโปรแกรม (Coding) เป็นการนำผลของการออกแบบมาแปลให้เป็น โปรแกรมที่เครื่องคอมพิวเตอร์สามารถเข้าใจได้ 10 2.3.5 การทดสอบ (Testing) หลังจากมีการเขียนโปรแกรมก็จะเป็นการทดสอบเพื่อ ให้แน่ใจว่าโปรแกรมได้ทำงานตามที่ต้องการหรือไม่ 2.3.6 การบำรุงรักษา (Maintenance) หลังจากที่ผู้ใช้ได้เริ่มนำซอฟต์แวร์ไปใช้ ก็เกิดปัญหา การบำรุงรักษาจะเป็นการนำซอฟต์แวร์กลับมาแก้ไขในแบบจำลองใหม่ โดยไม่จำเป็นต้อง สร้างโปรแกรมใหม่ โครงงานนี้เลือกใช้แบบจำลองนี้ เพราะมีการแบ่งการทำงานเป็นขั้นตอน การดำเนิน กิจกรรมต่างๆ จะกระทำทีละขั้นตอนตามลำดับ และขั้นตอนสามารถย้อนกลับไปทำซ้ำขั้นตอน ก่อนหน้านั้นได้ ถ้าพบข้อบกพร่องที่เกิดจากขั้นตอนก่อนหน้าในภายหลัง 2.4 กระบวนการทดสอบโปรแกรม ปกติองค์ประกอบของระบบขนาดใหญ่ประกอบด้วยระบบย่อยต่างๆ (Sub-system) รวมกัน ระบบย่อยเหล่านี้เกิดจากการนำหน่วยย่อย (Module) ต่างๆ ในระบบมาประกอบกัน อภิรักษ์, (2544 : 211-212) ได้อธิบายไว้ว่า โดยทั่วไปการทดสอบระบบต้องดำเนินการกับทุกๆ หน่วย ที่นำมาประกอบรวมกันเป็นระบบ สามารถแบ่งการทดสอบออกเป็น 5 ขั้นตอน ดังนี้ 2.4.1 ยูนิตเทสติ้ง (Unit Testing) หมายถึง การทดสอบโพรซิเยอร์ (Procedure) หรือฟังก์ ชั่น (Functions) ย่อยต่างๆ เพื่อให้มั่นใจว่าแต่ละส่วนสามารถทำงานได้ โดยปราศจากข้อผิด พลาด โดยทั่วไปแล้วการดำเนินงานของแต่ละส่วนมีความเป็นอิสระในตัวเอง ดังนั้นการทดสอบ ในขั้นนี้จึงไม่คำนึงถึงความสัมพันธ์กับส่วนอื่น 2.4.2 โมดูลเทสติ้ง (Module Testing) ปกติโมดูล หมายถึง การประกอบรวมกันของฟังก์ชั่น หรือโพรซิเยอร์ที่ดำเนินกิจกรรมอย่างสัมพันธ์กัน ขั้นตอนนี้เป็นการทดสอบการประสานกัน ระหว่างฟังก์ชั่นที่นำมาประกอบรวมกัน 2.4.3 ซับซิสเต็มเทสติ้ง (Sub-System Testing) หมายถึง การทดสอบการดำเนินร่วม ระหว่างโมดูลย่อยต่างๆ อาจถูกพัฒนาขึ้นมาอย่างเป็นอิสระกัน ปัญหาโดยทั่วไปของระบบ ขนาดใหญ่คือ การประสานงานระหว่างโมดูลในระบบย่อยไม่มีความสัมพันธ์กัน ดังนั้น กิจกรรมต่างๆ ของขั้นตอนนี้เกี่ยวข้องกับการค้นหาข้อผิดพลาดจากการเชื่อมต่อระหว่างโมดูลย่อย 2.4.4 ซิสเต็มเทสติ้ง (System Testing) เป็นขบวนการที่ดำเนินหลังนำระบบย่อยๆ มารวมกันเป็นระบบใหญ่ วัตถุประสงค์ของขั้นตอนนี้เพื่อค้นหาข้อผิดพลาดต่างๆ ที่เกิดขึ้น จากการรวมกันระหว่างระบบย่อยและองค์ประกอบย่อยต่างๆ และทดสอบว่าโปรแกรมที่พัฒนา ตรงกับฟังก์ชั่นและนันฟังก์ชั่นรีไควเม้นต์ (Non-function Requirement) ที่นิยามในข้อกำหนด หรือไม่ 2.4.5 แอคเซ็บแทนต์เทสติ้ง (Acceptance Testing) บางครั้งเรียกว่า อัลฟ่าเทสติ้ง (Alpha Testing) เป็นการทดสอบลำดับสุดท้ายก่อนนำไปใช้งานจริง ขั้นตอนนี้นิยมนำตัวอย่าง 11 ข้อมูลจริงทดสอบกับโปรแกรม มากกว่าการสังเคราะห์ตัวอย่างข้อมูลขึ้นมา ซึ่งช่วยให้มองเห็น ความผิดพลาด และ/หรือสิ่งที่ยังไม่ได้ดำเนินการในโปรแกรม 2.5 งานวิจัยที่เกี่ยวข้อง จากขั้นตอนการศึกษาและรวบรวมข้อมูล ผู้ทำการวิจัยได้ค้นคว้างานวิจัยที่เกี่ยวข้อง ซึ่งมีรายละเอียดของงานวิจัยเกี่ยวกับการพัฒนาแอปพลิเคชั่นด้วยภาษา PHP และมีการติดต่อ กับเว็บเซอร์วิส ซึ่งมีความคล้ายคลึงกับโครงงานที่ผู้ทำการวิจัยทำขึ้น ได้แก่ การพัฒนาระบบการสื่อสารบนเว็บโดยใช้เทคโนโลยีเว็บเซอร์วิส (Web Communication Development Using Web Services Technology) โดย นายเมธี สุริยะไกร และนางสาว วาสินี จังชัยวีระยานนท์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ สถาบันเทคโนโลยี พระจอมเกล้าเจ้าคุณทหารลาดกระบัง โครงงานนี้เป็นโครงงานที่ทำการพัฒนาเว็บภาควิชาวิศวกรรมคอมพิวเตอร์ โดยทำการเพิ่ม บริการพาสพอร์ต บริการแจ้งเตือนข่าวสาร และปรับปรุงบริการเว็บบอร์ด บริการเว็บเมล์ บริการประกาศข่าวให้กับเว็บภาควิชาวิศวกรรมคอมพิวเตอร์ โดยใช้เทคโนโลยีเว็บเซอร์วิส บริการที่แก้ไขและเพิ่มเติมทั้งหมดนั้นใช้ภาษา PHP ในการสร้างบริการ โดยเครื่องมือ ตัวกลางที่ใช้ในการเปลี่ยนแปลงข้อมูลตัวแปรที่ส่งจากบริการที่ใช้ภาษา PHP ไปเป็นภาษา XML เพื่อใช้ติดต่อกับ SOAP คือ NuSOAP Library ส่วนข้อมูลผู้ใช้บริการทั้งหมดนั้นจัดเก็บลงบน MySQL Database จากที่ผู้วิจัยได้ทำการศึกษาและรวบรวมข้อมูลเพื่อพัฒนาโครงงานนี้ ผู้วิจัยได้ดำเนินการ ศึกษาเทคโนโลยีเว็บเซอร์วิส เกี่ยวกับลักษณะการทำงานการเรียกใช้บริการจากเว็บเซอร์วิส ในปัจจุบัน โดยสืบค้นผ่านสื่อต่างๆ เช่น เว็บไซต์ที่ให้ความรู้ และหนังสือต่างๆ ถึงความต้องการ ที่จะให้มีซอฟต์แวร์เพื่อสนับสนุนการเขียนโปรแกรมด้วยภาษา PHP ติดต่อกับเว็บเซอร์วิส ผู้วิจัยได้เลือกภาษา C++ ในการสร้างซอฟต์แวร์ เครื่องมือที่ใช้ในการพัฒนา ได้แก่ Visual C++ 6.0 สำหรับสร้างซอฟต์แวร์บนระบบปฏิบัติการวินโดวส์ โปรแกรม AppServ 2.0.0 ซึ่ง เป็นโปรแกรมที่รวบรวมซอฟต์แวร์หลายๆ อย่างเข้าด้วยกัน ได้แก่ เว็บเซิร์ฟเวอร์อาปาเช่ (Apache) PHP MySQL และ PHPMyAdmin และ NuSOAP 0.6.4 เป็นไฟล์ไลบรารีสำหรับ เป็นเครื่องมือตัวกลางที่ใช้ในการเปลี่ยนแปลงข้อมูลในภาษา PHP เป็นภาษา XML เพื่อใช้ติดต่อ กับ SOAP บทที่ 3 การดำเนินการวิจัย ในการศึกษาวิจัยครั้งนี้ เป็นการพัฒนาโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิสบทนี้ จึงจะนำเสนอสาระเกี่ยวกับระเบียบวิธีการศึกษา การดำเนินการ และวิธีการวิจัยดังต่อไปนี้ 1. การวิเคราะห์ระบบ 2. การออกแบบระบบ 3. การพัฒนาและการทดสอบระบบ 4. ประชากรและกลุ่มตัวอย่าง 5. เครื่องมือในการวิจัย 6. การให้ค่าคะแนนในแบบประเมิน 7. การเก็บรวบรวมข้อมูล 8. การประมวลและวิเคราะห์ข้อมูล 9. สถิติที่ใช้ในการวิเคราะห์ข้อมูล 3.1 การวิเคราะห์ระบบ โครงงานที่ผู้วิจัยได้พัฒนาเป็นโปรแกรม PHP IDE สำหรับติดต่อกับเว็บเซอร์วิส มีความสามารถอำนวยความสะดวก ให้แก่ผู้ใช้ที่ต้องการเขียนโปรแกรมด้วยภาษา PHP ใน การร้องขอบริการมาใช้ประกอบการเขียนโปรแกรม โปรแกรม PHP IDE สามารถติดต่อกับเว็บ เซอร์วิสได้พร้อมๆ กันหลายบริการ เมื่อสามารถติดต่อกับเว็บเซอร์วิสได้แล้ว โปรแกรม ก็จะ นำข้อมูลที่อธิบายคุณลักษณะของบริการมาประมวลผล เพื่อนำไปช่วยในการสร้างโค้ด ที่ เกี่ยวกับส่วนของการติดต่อกับเว็บเซอร์วิส ทำให้ผู้ใช้ไม่ต้องเขียนโค้ดส่วนนี้ด้วยตนเอง ผู้ ใช้สามารถดูข้อมูลของแต่ละบริการ ได้แก่ ตำแหน่งของเว็บเซอร์วิสหรือ Universal Resource Locator (URL) รายการฟังก์ชั่นการทำงานที่เปิดให้ร้องขอ และตัวแปรที่ต้องส่งไป (Input) และ ตัวแปรที่ได้รับกลับมา (Output) ที่ได้จากการทำงานกับฟังก์ชั่นนั้นๆ และสุดท้ายขณะที่ผู้ใช้ เขียนโปรแกรม ผู้ใช้สามารถเรียกแสดงรายการบริการและฟังก์ชั่นได้ โดยผู้ใช้สามารถที่จะเลือก แล้วนำมาเติมลงในโค้ดได้โดยอัตโนมัติ ส่วนเวลาสำหรับการติดต่อไปยังเว็บเซอร์วิสแต่ละครั้งนั้น จะไม่แน่นอน จะขึ้นอยู่กับความเร็วของการรับส่งข้อมูลบนเครือข่ายอินเตอร์เน็ตในขณะนั้น 3.1.1 การทำงานกับเว็บเซอร์วิสในปัจจุบัน ในปัจจุบันขั้นตอนการเรียกใช้บริการจากเว็บเซอร์วิสมีขั้นตอนอย่างง่ายๆ ดังนี้ 13 1. ค้นหาข้อมูลบริการของเว็บเซอร์วิสผ่าน UDDI จะทำให้ได้ข้อมูลเกี่ยวกับประเภท ของบริการ ที่ตั้ง และเอกสารอธิบายคุณสมบัติของบริการ 2. ผู้ใช้ติดต่อขอใช้บริการ ด้วยการเขียนโปรแกรมขึ้นมาเรียกใช้ฟังก์ชั่นการทำงาน ของเว็บเซอร์วิสนั้นๆ โดยอาศัยข้อมูลที่มีอยู่ในเอกสารคุณสมบัติของบริการ 3. ผู้ให้บริการส่งผลลัพธ์ตอบกลับมา จากขั้นตอนดังกล่าวในปัจจุบัน ผู้ใช้จะต้องอาศัยพื้นฐานความรู้เกี่ยวกับภาษา XML จึงจะสามารถเข้าใจเอกสารข้อมูลที่ได้รับมาจากแหล่งที่ทำการค้นหา หรือจากเว็บเซอร์วิส ดัง นั้นผู้วิจัยจึงได้เอาปัญหาดังกล่าวมาพัฒนาเป็นโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส จะสามารถช่วยแก้ปัญหาเหล่านี้ให้แก่นักพัฒนาที่ใช้ภาษา PHP ในการเขียนโปรแกรมได้ 3.1.2 ความสามารถในการทำงานของโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส ความสามารถของโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิสมี ดังนี้ 1. เป็นโปรแกรมที่ใช้ในการเขียนชุดคำสั่ง (Code Editor) ภาษา PHP 2. สามารถติดต่อกับเว็บเซอร์วิสได้ (Web Services Connector) 3. สามารถสร้างโค้ด (Header File) การติดต่อกับเว็บเซอร์วิสให้แก่ผู้ใช้ เพื่อนำไปใช้ประกอบในการ เขียนโปรแกรมของผู้ใช้ได้ 4. ขณะเขียนซอร์สโค้ดผู้ใช้สามารถเรียกแสดงรายการบริการและฟังก์ชั่นการทำงาน เพื่อเลือกแล้ว นำมาเติมลงในโค้ดได้โดยอัตโนมัติ (Code Completion) ลักษณะรายการที่แสดงจะเป็นแบบดร็อปดาวน์ (Drop Down List) 5. สามารถแสดงข้อมูลของแต่ละบริการ ได้แก่ ตำแหน่งของเว็บเซอร์วิส ฟังก์ชั่น ที่ให้บริการ และตัวแปรที่รับส่งกับเว็บเซอร์วิส โดยจะแสดงในรูปแบบของโครงสร้างต้นไม้ (Tree View) เพื่อง่ายแก่การ ทำความเข้าใจของผู้ใช้ จากความสามารถของโปรแกรมดังกล่าว จะสามารถช่วยแก้ปัญหา และอำนวยความสะดวกสำหรับการ เขียนโปรแกรมสำหรับติดต่อกับเว็บเซอร์วิสให้แก่ผู้ใช้งานได้ ดังนี้ 1. ไม่ต้องเสียเวลาในการทำความเข้าใจเอกสารคุณสมบัติของบริการ เพราะโปรแกรม จะนำข้อมูล จากเอกสารมาประมวลผล และนำเสนอในรูปแบบที่ผู้ใช้สามารถเข้าใจได้ทันที นั่นคือการแสดงข้อมูลในรูป ของโครงสร้างต้นไม้ ทำให้ผู้ใช้สามารถทราบได้ว่ามีฟังก์ชั่น การทำงานใดบ้าง และผลลัพธ์ที่ได้จะแสดง ออกมาในรูปแบบใด เป็นต้น 2. สะดวกในการติดต่อกับเว็บเซอร์วิส ปัญหาในปัจจุบันก็คือ ก่อนที่ผู้ใช้จะร้องขอบริการ จะต้อง ตรวจสอบก่อนว่า เว็บเซอร์วิสสามารถให้บริการที่ต้องการได้หรือไม่ จากนั้นจึงสามารถร้องขอบริการจากเว็บ เซอร์วิสที่ต้องการ และในกรณีที่ต้องการติดต่อหลายๆ เว็บเซอร์วิส จะทำให้กลายเป็นเรื่องที่ยุ่งยาก โปรแกรมนี้มีความสามารถทำให้การติดต่อกับเว็บเซอร์วิส เป็นไปได้อย่างง่ายดาย เนื่องจากมีส่วนของ การจัดการรายการเว็บเซอร์วิส ผู้ใช้เพียงระบุตำแหน่งของเว็บเซอร์วิส และสามารถติดต่อได้ครั้งละหลายๆ เว็บ เซอร์วิส จากนั้นโปรแกรมจะแสดง ข้อความแจ้งให้ผู้ใช้ทราบในกรณีที่มีเว็บเซอร์วิสบางแห่งที่ไม่สามารถติด ต่อได้ 14 3. ประหยัดเวลาในการเขียนโค้ดของผู้ใช้ เพราะโปรแกรมนี้ช่วยสร้างโค้ดในส่วนของการติดต่อกับ เว็บเซอร์วิสเป็นภาษา PHP ให้ ซึ่งเป็นส่วนที่มีความยุ่งยาก ทำให้โค้ดที่ผู้ใช้ จะพัฒนาขึ้นสามารถทำการ ติดต่อไปยังเว็บเซอร์วิสได้ทันที 4. สะดวกในการเขียนโค้ดการร้องขอบริการ เนื่องจากปัจจุบันผู้ใช้จะต้องอาศัยการเข้าใจ และจดจำข้อมูลจากเอกสาร WSDL กรณีที่มีการติดต่อกับหลายๆ เว็บเซอร์วิสจะทำให้เกิดความยุ่งยาก และสับสนแก่ผู้ ใช้ได้ โปรแกรมนี้สามารถแสดงรายการบริการ และฟังก์ชั่นของบริการ เพื่อให้ผู้ใช้ทำการเลือกจากรายการที่ แสดงแล้วนำมาเติมลงในโค้ดได้โดยอัตโนมัติ ในการวิเคราะห์โปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิสได้ใช้หลักการของ Unified Modeling Language (UML) ซึ่งจะมีไดอะแกรม (Diagrams) ต่างๆ ที่เกี่ยวข้อง ภาพที่ 3-1 แสดงไดอะแกรมยูสเคสของทั้งระบบ จากภาพที่ 3-1 ผลของการวิเคราะห์สามารถสรุป เพื่อใช้ในการสร้างยูสเคสได้ ดังนี้ 1. ผู้ที่เกี่ยวข้องกับระบบ (Actor) มี 2 ส่วนคือ นักพัฒนา (Developer) และเว็บเซอร์วิส 2. ยูสเคส (Use Case) ที่จำเป็นต้องมีคือ PHPEditor เพราะระบบเน้นให้สามารถ ทำการเขียนโปรแกรมด้วยภาษา PHP เพื่อนำบริการจากเว็บเซอร์วิสมาใช้ในการพัฒนาโปรแกรม 3. การพัฒนาโปรแกรม มีการสร้างการติดต่อกับเว็บเซอร์วิส จึงควรมียูสเคส ConnectServices เพิ่มขึ้น และยูสเคสนี้จะทำหน้าที่ร้องขอบริการจากเว็บเซอร์วิส ดังนั้น เว็บเซอร์วิสจึงเกี่ยวข้องกับยูสเคสนี้ 4. เมื่อมีการติดต่อกับเว็บเซอร์วิสแล้ว โปรแกรมนี้มีการนำข้อมูลที่ได้จากเว็บเซอร์วิส มาประมวลผลให้อยู่ในรูปแบบที่สามารถนำไปใช้งานต่อได้ จึงต้องมียูสเคส XMLParser PHPHeaderScript TreeView Web Services ConnectServices Developer PHPEditor <> <> <> XMLParser ServiceList <> <> 15 5. โปรแกรมจะมีการสร้างโค้ดสำหรับการติดต่อเว็บเซอร์วิส แทรกไว้ยังส่วนหัวของโค้ด ที่ผู้ใช้พัฒนาขึ้น จึงควรมียูสเคส PHPHeaderScript เพิ่มขึ้น 6. ในขณะที่เขียนโปรแกรมอยู่นั้น สามารถเรียกรายการชื่อบริการหรือฟังก์ชั่น การทำงานขึ้นมาแสดง จึงทำให้มียูสเคส ServiceList 7. ผู้ใช้จะต้องทราบว่ามีบริการและฟังก์ชั่นการทำงานใดบ้าง เพื่อนำมาใช้ในการพัฒนา โค้ดต่อไป ดังนั้นจึงมีส่วนแสดงข้อมูลของบริการ เพื่อช่วยให้สามารถทำความเข้าใจได้ง่ายขึ้น จึงมียูสเคส TreeView เพื่อแสดงคุณลักษณะของบริการเป็นโครงสร้างต้นไม้ (Tree View) จากยูสเคสไดอะแกรมของโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส จะนำยูสเคส PHPEditor มาเขียนยูสเซอร์อินเตอร์เฟสพื้นฐาน โดยพิจารณาจากข้อมูลที่จำเป็นในการทำงาน PHPEditor WSDL List แสดงรายการ URL ของเว็บเซอร์วิส URL ใส่ URL ของเว็บเซอร์วิส ส่วนของการจัดการ ManageWSDL รายละเอียดของ HeaderScript Help แสดงรายละเอียดวิธีการใช้งาน รายละเอียดของ TreeView TreeView แสดงข้อมูลบริการเป็นโครงสร้างต้นไม้ Level 1 16 ภาพที่ 3-2 แสดงยูสเซอร์อินเตอร์เฟส 17 ตารางที่ 3-1 แสดง Class Responsibility Collaborations (CRC) โดยภาพรวมของระบบ CPHPEditor Responsibility Collaborators เป็นส่วนหลักที่สร้างหน้าต่างโปรแกรม และทำให้ผู้ใช้สามารถ ทำการเขียนโค้ดลงในโปรแกรมได้ DlgServiceList, DlgWSDL, DlgTree, DlgHeader DlgServiceList Responsibility Collaborators ทำหน้าที่ในการนำข้อมูลที่ผ่านการประมวลแล้วจากบริการ ของเว็บเซอร์วิสมาสร้างเป็นรายการบริการ และฟังก์ชั่น การทำงาน แล้วแสดงออกมาในรูปแบบของดร็อปดาวน์ (Drop Down) เมื่อถูกเรียกใช้จากผู้ใช้ CPHPEditor DlgHeader Responsibility Collaborators ทำหน้าที่ในการสร้างโค้ดการติดต่อกับเว็บเซอร์วิสที่ผู้ใช้ ต้องการ ซึ่งมีการนำไฟล์ไลบรารี nusoap.php มาช่วย ในการติดต่อกับเว็บเซอร์วิส CPHPEditor DlgTree Responsibility Collaborators ทำหน้าที่ในการนำข้อมูลของแต่ละบริการ จากเว็บเซอร์วิส ที่ผ่านการประมวลผลจากโปรแกรม มาจัดให้อยู่ในรูปแบบ โครงสร้างต้นไม้ CPHPEditor DlgWSDL Responsibility Collaborators ทำหน้าที่สร้างหน้าต่างสำหรับการติดต่อกับเว็บเซอร์วิส ซึ่งผู้ใช้ สามารถจัดการรายการ URL ของเว็บเซอร์วิสที่ต้องการ และ ทำหน้าที่ในการติดต่อไปยังเว็บเซอร์วิส CPHPEditor, CXMLParser 18 ตารางที่ 3-1 (ต่อ) CXMLParser Responsibility Collaborators ทำหน้าที่ในการนำข้อมูลในเอกสาร WSDL ที่ได้จากเว็บ เซอร์วิส มาแปลงให้อยู่ในรูปแบบที่โปรแกรมเข้าใจและ สามารถนำไปใช้งานต่อได้ DlgWSDL 3.2.1 อธิบายคำนิยามและขอบเขตความสามารถในการทำงานของโปรแกรม PHP IDE สำหรับติดต่อ เว็บเซอร์วิส ของ PHP IDE สำหรับติดต่อเว็บเซอร์วิส การทำงานโดยย่อ (Brief Description) โปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิสเป็นโปรแกรมที่พัฒนาขึ้นมาเพื่อสนับสนุน ให้ผู้ใช้สามารถเขียนชุดคำสั่งภาษา PHP เพื่อใช้ในการติดต่อกับเว็บเซอร์วิสได้สะดวกมากขึ้น สามารถเรียกใช้บริการได้หลายบริการพร้อมกัน นิยาม (Terms) ในการออกแบบ Use Case จะมีคำศัพท์ต่างๆ ที่ใช้ในระบบดังนี้ Developer นักพัฒนาหรือผู้ใช้โปรแกรมด้วยภาษา PHP PHPEditor เป็นส่วนที่ทำหน้าที่ในการสร้างโค้ด (Editor) สำหรับ เขียนโปแกรมด้วยภาษา PHP มีการทำงานพื้นฐาน เหมือนโปรแกรมสำหรับเขียนชุดคำสั่งทั่วๆ ไป เช่น เปิดไฟล์ (Open file) คัดลอก (Copy) วางสำเนา (Paste) และเขียนโปรแกรมได้ (Edit) เป็นต้น ConnectServices เป็นส่วนของการติดต่อกับเว็บเซอร์วิสเพื่อเรียกใช้บริการ PHPHeaderScript เป็นส่วนที่จัดการไฟล์เฮ็ดเดอร์สำหรับการติดต่อเว็บเซอร์วิส TreeView เป็นส่วนของการจัดการแสดงข้อมูลของบริการต่างๆ ให้อยู่ในรูปโครงสร้างต้นไม้ Web Services แอปพลิเคชั่นหรือโปรแกรม (Software Module) ซึ่ง ทำงานอย่างใดอย่างหนึ่งในลักษณะการให้บริการ โดยจะถูกเรียกใช้จากผู้ร้องขอผ่านอินเตอร์เน็ต 3.2.2 การวิเคราะห์และพัฒนาโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส ความง่ายของการใช้งาน (Usability) 1. ผู้ใช้สามารถติดต่อกับเว็บเซอร์วิสได้หลาย ๆ บริการในครั้งเดียว 2. ผู้ใช้สามารถแก้ไขรายการเอกสาร WSDL ได้เมื่อต้องการที่จะเปลี่ยนแปลงบริการ ที่ร้องขอไว้ และยังสามารถบันทึกรายการเอกสาร WSDL เก็บไว้ใช้งานต่อในครั้งหน้าได้ 19 ความเสถียร (Reliability) โปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส สามารถใช้งานได้ตลอดทั้งวันโดยไม่ต้อง ทำการปิดโปรแกรม ประสิทธิภาพการทำงาน (Performance) ความเร็วในการติดต่อระหว่างโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส จะขึ้นอยู่กับ ความเร็วในการรับส่งข้อมูลบนอินเทอร์เน็ตในช่วงเวลานั้น ความต้องการสนับสนุน (Supportability) 1. Microsoft Visual C++ 6.0 เป็นโปรแกรมที่ใช้ในการพัฒนาโปรแกรม 2. Rational Rose เป็นโปรแกรมที่ใช้ในการออกแบบไดอะแกรมต่างๆ ข้อจำกัด/กรอบของการออกแบบ (Design Constraints) การใช้งานโปรแกรมทุกครั้งจะต้องผ่านเครือข่ายอินเตอร์เน็ต ดังนั้นผู้ใช้จะต้องต่อเข้ากับเครือ ข่ายอินเตอร์เน็ตทุกครั้งก่อนจึงจะสามารถใช้งานได้ 3.2.3 รายละเอียดยูสเคสของระบบ PHP IDE สำหรับติดต่อเว็บเซอร์วิส <> 1. การทำงานโดยย่อของยูสเคส (Brief Description) ยูสเคส PHPEditor เป็นส่วนหนึ่งของโปรแกรมที่การทำงานตามรูปแบบพื้นฐานทั่วไป ของโปรแกรมที่ใช้เขียนชุดคำสั่ง (Editor) นอกจากนี้ยังมีการสร้างรายการที่ประกอบไปด้วย บริการหรือฟังก์ชั่นของบริการนั้นๆ ให้เลือก โดยผู้ใช้สามารถเลือกเติมลงไปในซอร์สโค้ดได้ โดย อัตโนมัติ 2. ลำดับเหตุการณ์ (Flow of events) มีการติดต่อกับยูสเคสอื่นๆ เพื่อเรียกมาใช้งาน โดยยูสเคสนี้จะเริ่มต้นทำงานเมื่อผู้ใช้ เรียกโปรแกรมขึ้นมาใช้งาน 2.1 เหตุการณ์ปรกติ (Main Flow) 2.1.1 ผู้ใช้เรียกใช้โปรแกรมขึ้นมาใช้งาน 2.1.2 โปรแกรม PHP IDE จะทำการเรียกคลาสต่างๆ ที่จำเป็นขึ้นมาใช้งาน 2.1.3 ผู้ใช้สามารถเขียนโค้ดภาษา PHP ได้ และใช้งานได้เหมือนโปรแกรม ที่ใช้เขียนชุดคำสั่ง (Editor) ทั่วไป 2.2 เหตุการณ์ไม่ปรกติ (Alternate Flows) กรณีที่ผู้ใช้เรียกใช้การทำงานพื้นฐานทั่วๆ ไปในโปรแกรมแล้ว โปรแกรมไม่ตอบสนอง ต่อคำสั่งแสดงว่าโปรแกรมอาจมีการทำงานผิดพลาด และในกรณีรายการคลาส หรือเมธอด ไม่ปรากฏข้อมูล แสดงว่าโปรแกรมอาจจะไม่สามารถติดต่อกับเว็บเซอร์วิสใดๆ ได้เลย หรือ การประมวลผลในบางส่วนของโปรแกรมเกิดข้อผิดพลาดขึ้น 20 3. ความสัมพันธ์ (Associations) 3.1ผู้ที่เกี่ยวข้องกับระบบ (Actor) 3.1.1 ผู้เกี่ยวข้องกับระบบที่เริ่มยูสเคสนี้ ได้แก่ Developer 3.1.2 ผู้เกี่ยวข้องกับระบบที่สัมพันธ์กับยูสเคส ไม่มี 3.2 ความสัมพันธ์กับยูสเคสอื่น ได้แก่ ConnectServices, PHPHeaderScript, TreeView, ServiceList 3.3 ความสัมพันธ์จากยูสเคสอื่น ไม่มี 4. เงื่อนไขก่อนการทำงานของยูสเคส (Precondition) ก่อนการใช้งานโปรแกรมนี้จะต้องต่อกับเครือข่ายอินเตอร์เน็ตก่อนเสมอ 5. เงื่อนไขหลังการทำงาน (Postcondition) เมื่อผู้ใช้พัฒนาซอร์สโค้ดด้วยภาษา PHP เสร็จแล้ว ก่อนนำไปใช้งานจะต้องนำเอาไฟล์ เฮ็ดเดอร์แนบไปด้วยทุกครั้ง จึงจะสามารถนำไปร้องขอบริการจากเว็บเซอร์วิสได้ 6. ความต้องการอื่นๆ (Special Requirement) ไม่มี <> 1. การทำงานโดยย่อของยูสเคส (Brief Description) จะถูกเรียกใช้งานผ่านทางโปรแกรมส่วนหลักคือ PHPEditor ส่วนนี้ทำหน้าที่ในการติดต่อ ไปยังเว็บเซอร์วิส โดยจะนำเอาเอกสาร WSDL มาทำการประมวลผลเพื่อวิเคราะห์คุณสมบัติ ของบริการนั้นออกมาเป็นข้อมูลต่างๆ ได้แก่ ชื่อบริการ ฟังก์ชั่นการทำงาน และตัวแปรที่จะต้อง ใช้งานในโปรแกรมสำหรับร้องขอบริการ เป็นต้น นอกจากนี้ยังสามารถจัดการรายการเอกสาร WSDL ทั้งหมด โดยสามารถทำการเรียกใช้ไฟล์ที่มีอยู่เดิม เพิ่ม ลบ แก้ไข หรือบันทึกรายการ เอกสาร WSDL ไว้ใช้ในคราวต่อไปได้ 2. ลำดับเหตุการณ์ (Flow of events) มีการติดต่อกับยูสเคสอื่นๆ เพื่อเรียกมาใช้งาน โดยยูสเคสนี้จะเริ่มต้นทำงานเมื่อผู้ใช้เรียก ผ่านทางเมนู File แล้วเลือกที่ WSDL จากในหน้าจอหลัก 2.1 เหตุการณ์ปรกติ (Main Flow) 2.1.1 ผู้ใช้เรียกใช้งาน WSDL dialog จากหน้าจอหลักผ่านทางเมนู File 2.1.2 ยูสเคสนี้จะทำเรียกใช้คลาสต่าง ๆ ที่จำเป็นขึ้นมาใช้งาน 2.1.3 ผู้ใช้จะต้องจัดการกับรายการเอกสาร WSDL โดยการใส่ URL ที่ระบุ ตำแหน่งของเอกสาร WSDL ลงในช่อง URL แล้วจึงกดปุ่ม Add เพื่อทำการเพิ่ม, Delete เพื่อทำการลบ และ Update เพื่อทำการแก้ไข URL ที่ระบุตำแหน่งของเอกสาร WSDL 2.1.4 กรณีที่ผู้ใช้มีรายการเอกสาร WSDL เดิมที่เคยทำการติดต่อไปแล้วเก็บไว้ ก็สามารถนำมาเรียกใช้งานใหม่ได้ โดยการกดปุ่ม Open และปุ่ม Save เพื่อบันทึกรายการ เอกสาร WSDL ปัจจุบันเก็บไว้ 21 2.1.5 เมื่อได้รายการ WSDL ที่ต้องการเรียบร้อยแล้ว ผู้ใช้จะต้องกดปุ่ม Connect เพื่อติดต่อไปยัง URL ที่ได้ระบุเอกสาร WSDL ต่างๆ 2.1.6 เมื่อติดต่อได้แล้ว จะมีข้อความแจ้งให้ทราบว่าทำการติดต่อได้หรือไม่ 2.1.7 กรณีที่สามารถติดต่อกับเว็บเซอร์วิสได้ โปรแกรมจะนำข้อมูลที่ได้มา ประมวลผลเพื่อนำไปใช้งานในโปรแกรมส่วนต่างๆ ต่อไป ข้อมูลที่ได้จะถูกจัดเก็บไว้ใน หน่วยความจำ (Memory) ของคอมพิวเตอร์ชั่วคราว 2.2 เหตุการณ์ไม่ปรกติ (Alternate Flows) กรณีที่ไม่สามารถติดต่อกับเว็บเซอร์วิสได้ อาจจะเกิดจากข้อผิดพลาดของโปรแกรม ในส่วนของการติดต่อ หรืออาจจะเกิดจากผู้ใช้ใส่ URL ผิดพลาด 3. ความสัมพันธ์ (Associations) 3.1 ผู้ที่เกี่ยวข้องกับระบบ (Actor) 3.1.1 ผู้ที่เกี่ยวข้องกับระบบที่เริ่มยูสเคสนี้ ไม่มี 3.1.2 ผู้ที่เกี่ยวข้องกับระบบที่สัมพันธ์กับยูสเคส ไม่มี 3.2 ความสัมพันธ์กับยูสเคสอื่น ไม่มี 3.3 ความสัมพันธ์จากยูสเคสอื่น ได้แก่ PHPEditor 4. เงื่อนไขก่อนการทำงานของยูสเคส (Precondition) 4.1 จะต้องทำการติดต่อกับส่วนของโปรแกรมหลัก ถ้าสามารถเรียกใช้งานได้ก็สามารถ เรียกใช้ส่วนของ ConnectServices ได้ 4.2 เครื่องคอมพิวเตอร์ที่ใช้โปรแกรมนี้จะต้องต่อเข้ากับเครือข่ายอินเตอร์เน็ตก่อน จึงจะสามารถทำการเรียกใช้บริการจากเว็บเซอร์วิสได้ 5. เงื่อนไขหลังการทำงาน (Postcondition) เมื่อมีการนำรายการเอกสาร WSDL ที่เคยได้บันทึกเก็บไว้มาใช้งานอีกครั้ง ผู้ใช้จะต้อง ทำการติดต่อไปยังเว็บเซอร์วิสใหม่ทุกครั้ง 6. ความต้องการอื่นๆ (Special Requirement) ไม่มี <> 1. การทำงานโดยย่อของยูสเคส (Brief Description) ทำหน้าที่จัดการซอร์สโค้ดส่วนที่ติดต่อกับเว็บเซอร์วิส ซึ่งเป็นส่วนที่จำเป็นจะต้องใส่ไว้ ในส่วนหัวของซอร์สโค้ดที่ผู้ใช้จะพัฒนาขึ้น ซอร์สโค้ดส่วนนี้จะต้องทำการบันทึกไว้เป็นไฟล์ ก่อนจะนำไปใช้งาน ส่วนการทำงานนี้จะทำให้ผู้ใช้ไม่เสียเวลาในการเขียนซอร์สโค้ดมากนัก 2. ลำดับเหตุการณ์ (Flow of events) เมื่อผู้ใช้ทำการติดต่อกับเว็บเซอร์วิสแล้ว ก็ให้ทำการเรียกใช้งาน Build Header จากเมนู Build ในหน้าจอหลัก 22 2.1 เหตุการณ์ปรกติ (Main Flow) 2.1.1 หลังจากผู้ใช้ทำการติดต่อกับเว็บเซอร์วิส และกลับเข้าสู่หน้าจอหลักแล้ว ให้ทำการเลือก Build Header จากเมนู Build จะปรากฏหน้าต่าง Header File 2.1.2 จากนั้นให้กดปุ่ม Generate จะปรากฏโค้ดเฉพาะส่วนที่เกี่ยวกับการติด ต่อกับทุก ๆ เว็บเซอร์วิส 2.2.3 จากนั้นให้ทำการบันทึกเพื่อสร้างเป็นไฟล์สำหรับนำมาแทรกยังส่วนหัว ของซอร์สโค้ดที่กำลังจะพัฒนา 2.2 เหตุการณ์ไม่ปรกติ (Alternate Flows) กรณีที่ในหน้าต่างไม่ปรากฏข้อมูลอะไรเลยหลังจากกดปุ่ม Generate แล้ว แสดงว่า โปรแกรมไม่สามารถติดต่อกับเว็บเซอร์วิสใดๆ ได้เลย 3. ความสัมพันธ์ (Associations) 3.1 ผู้ที่เกี่ยวข้องกับระบบ (Actor) 3.1.1 ผู้ที่เกี่ยวข้องกับระบบที่เริ่มยูสเคสนี้ ไม่มี 3.1.2 ผู้ที่เกี่ยวข้องกับระบบที่สัมพันธ์กับยูสเคส ไม่มี 3.2 ความสัมพันธ์กับยูสเคสอื่น ไม่มี 3.3 ความสัมพันธ์จากยูสเคสอื่น ได้แก่ PHPEditor 4. เงื่อนไขก่อนการทำงานของยูสเคส (Precondition) จะต้องผ่านขั้นตอนการติดต่อกับเว็บเซอร์วิสมาเสียก่อน จึงจะสามารถนำข้อมูลที่ได้จาก การ ประมวลผลมาสร้างเป็นซอร์สโค้ดในภาษา PHP เพื่อการติดต่อกับเว็บเซอร์วิส 5. เงื่อนไขหลังการทำงาน (Postcondition) ไม่มี 6. ความต้องการอื่นๆ (Special Requirement) จะต้องมีการจัดเก็บไฟล์ไลบรารี nusoap.php ไว้ในไดเรกทอรีเดียวกันกับเว็บเซิร์ฟเวอร์ <> 1. การทำงานโดยย่อของยูสเคส (Brief Description) ทำหน้าที่ในการแสดงคุณสมบัติของแต่ละบริการ ให้อยู่ในรูปแบบของโครงสร้างต้นไม้ ซึ่งได้แก่ URL ที่ระบุตำแหน่งเอกสาร WSDL รายการฟังก์ชั่นการทำงาน และตัวแปรที่จะต้องส่ง ไปยังเว็บเซอร์วิส และผลลัพธ์ที่ได้จะแสดงออกมา เพื่อให้ผู้ใช้สามารถทราบและเข้าใจได้ง่ายว่า แต่ละบริการมีเมธอดใดให้สามารถเรียกใช้ได้บ้าง จะต้องส่งตัวแปรเข้าไปอย่างไร 2. ลำดับเหตุการณ์ (Flow of events) เมื่อผู้ใช้ทำการติดต่อกับเว็บเซอร์วิสได้เรียบร้อยแล้ว โปรแกรม PHP IDE ก็จะสามารถ เรียกยูสเคสนี้ขึ้นมาเพื่อทำงานได้ 2.1 เหตุการณ์ปรกติ (Main Flow) 2.1.1 ผู้ใช้เลือก Tree View จากเมนู View 23 2.1.2 ยูสเคสนี้จะทำดึงเอาข้อมูลที่ได้จัดเก็บไว้ในหน่วยความจำ ขึ้นมาแสดงผล ให้อยู่ในรูปของโครงสร้างต้นไม้ 2.2 เหตุการณ์ไม่ปรกติ (Alternate Flows) กรณีไม่ปรากฏข้อมูลใดๆ ในหน้าต่างนี้ อาจเกิดจากข้อผิดพลาดของโปรแกรมในส่วนของ การแสดงผลเป็นโครงสร้างต้นไม้ หรืออาจจะผิดพลาดในขั้นตอนการประมวลผลเอกสาร WSDL ของโปรแกรม 3. ความสัมพันธ์ (Associations) 3.1 ผู้ที่เกี่ยวข้องกับระบบ (Actor) 3.1.1 ผู้ที่เกี่ยวข้องกับระบบที่เริ่มยูสเคสนี้ ไม่มี 3.1.2 ผู้ที่เกี่ยวข้องกับระบบที่สัมพันธ์กับยูสเคส ไม่มี 3.2 ความสัมพันธ์กับยูสเคสอื่น ไม่มี 3.3 ความสัมพันธ์จากยูสเคสอื่น ได้แก่ PHPEditor 4. เงื่อนไขก่อนการทำงานของยูสเคส (Precondition) จะต้องผ่านขั้นตอนการติดต่อกับเว็บเซอร์วิสมาก่อน จึงจะสามารถนำข้อมูลที่ได้จาก การประมวลผลมาจัดให้อยู่ในรูปของโครงสร้างต้นไม้ (Tree View) ได้ 5. เงื่อนไขหลังการทำงาน (Postcondition) ไม่มี 6. ความต้องการอื่นๆ (Special Requirement) ไม่มี <> 1. การทำงานโดยย่อของยูสเคส (Brief Description) ยูสเคส ServiceList เป็นส่วนหนึ่งของโปรแกรมที่ทำหน้าที่ในการสร้างรายการที่ประกอบ ไปด้วยชื่อบริการหรือฟังก์ชั่นของบริการนั้นๆ เมื่อถูกเรียกใช้ โดยผู้ใช้สามารถเลือกเติมลงไป ในซอร์สโค้ดได้โดยอัตโนมัติ 2. ลำดับเหตุการณ์ (Flow of Events) มีการติดต่อกับยูสเคสอื่นๆ เพื่อถูกเรียกมาใช้งาน โดยยูสเคสนี้จะเริ่มต้นทำงานเมื่อผู้ใช้ เรียกการทำงานในส่วนนี้ 2.1 เหตุการณ์ปรกติ (Main Flow) 2.1.1 ผู้ใช้ทำการติดต่อกับเว็บเซอร์วิสได้เรียบร้อยแล้ว และมีการเขียน ซอร์สโค้ด เพื่อ นำชื่อบริการและฟังก์ชั่นมาใช้งาน 2.1.2 เมื่อผู้ใช้ต้องการเรียกรายการบริการขึ้นมาแสดง หลังจากที่ผู้ใช้พิมพ์ $ แล้วจะ ต้องกดปุ่ม Ctrl และ Shift จะปรากฏรายชื่อของบริการในดร็อปดาวน์ ผู้ใช้สามารถเลือกรายชื่อที่ต้องการ กด Enter รายชื่อบริการจะปรากฏลงในโค้ดโดยอัตโนมัติ 2.1.3 เมื่อผู้ใช้ต้องการเรียกรายการฟังก์ชั่นของบริการที่ได้เรียกใช้ไปก่อนหน้านี้ขึ้นมา แสดง หลังจากผู้ใช้พิมพ์ -> แล้วจะต้องกดปุ่ม Ctrl และ Shift จะปรากฏรายชื่อของฟังก์ชั้นของบริการนั้นๆ ในดร็อปดาวน์ ผู้ใช้สามารถเลือกฟังก์ชั่นที่ต้องการ กด Enter ฟังก์ชั่นจะปรากฏลงในโค้ดโดยอัตโนมัติ 24 2.2 เหตุการณ์ไม่ปรกติ (Alternate Flows) กรณีที่ผู้ใช้เรียกใช้แล้วไม่ปรากฏรายการใดๆ ภายในดร็อปดาวน์ แสดงว่าอาจมีการติดต่อ กับเว็บเซอรวิสตั้งแต่เริ่มต้นโปรแกรมมีการทำงานผิดพลาด หรือโปรแกรมอาจจะไม่สามารถ ทำการติดต่อกับเว็บเซอร์วิสใดๆ ได้เลย หรือการประมวลผลในส่วนการแสดงรายการบริการและ ฟังก์ชั่นของโปรแกรมเกิดข้อผิดพลาดขึ้น 3. ความสัมพันธ์ (Associations) 3.1 ผู้ที่เกี่ยวข้องกับระบบ (Actor) 3.1.1 ผู้เกี่ยวข้องกับระบบที่เริ่มยูสเคสนี้ ไม่มี 3.1.2 ผู้เกี่ยวข้องกับระบบที่สัมพันธ์กับยูสเคส ไม่มี 3.2 ความสัมพันธ์กับยูสเคสอื่น ได้แก่ PHPEditor 3.3 ความสัมพันธ์จากยูสเคสอื่น PHPEditor 4. เงื่อนไขก่อนการทำงานของยูสเคส (Precondition) จะต้องผ่านขั้นตอนการติดต่อกับเว็บเซอร์วิสมาเสียก่อน จึงจะสามารถนำข้อมูลที่ได้จาก การประมวลผลมาแสดงเป็นรายการชื่อบริการหรือฟังก์ชั่นการทำงานได้ 5. เงื่อนไขหลังการทำงาน (Postcondition) ไม่มี 6. ความต้องการอื่นๆ (Special Requirement) ไม่มี <> 1. การทำงานโดยย่อของยูสเคส (Brief Description) ยูสเคส XMLParser เป็นส่วนหนึ่งของโปรแกรมที่ทำหน้าที่หลังจากติดต่อกับเว็บเซอร์วิส แล้วนำเอกสาร WSDL มาแปลงให้เป็นข้อมูลที่โปรแกรมสามารถนำไปใช้งานต่อได้ 2. ลำดับเหตุการณ์ (Flow of events) มีการติดต่อกับยูสเคสอื่นๆ เพื่อถูกเรียกมาใช้งาน โดยยูสเคสนี้จะเริ่มต้นทำงาน เมื่อได้เอกสาร WSDL มาแล้วจากเว็บเซอร์วิส 2.1 เหตุการณ์ปรกติ (Main Flow) 2.1.1 เมื่อผู้ใช้กดปุ่ม Connect ซึ่งอยู่ในการทำงานยูสเคส ConnectServices เพื่อติด ต่อไปยังเว็บเซอร์วิสแล้ว โปรแกรมจะนำไฟล์เอกสาร WSDL แต่ละบริการมาประมวลผล 2.1.2 โปรแกรมจะทำการประมวลผลโดยอัตโนมัติ ซึ่งจะได้ข้อมูลออกมา ในรูปแบบที่ โปรแกรมสามารถนำไปใช้งานต่อได้ ซึ่งได้แก่ ชื่อบริการ ฟังก์ชั่นการทำงาน ของบริการนั้น ตัวแปรที่ใช้ใน ฟังก์ชั่น และชนิดของข้อมูล เป็นต้น 2.1.3 เมื่อได้ข้อมูลแล้ว ก็จะจัดข้อมูลเป็นโครงสร้างต้นไม้แยกตามแต่ละบริการ แล้วจึง เก็บไว้ในหน่วยความจำ เพื่อรอการเรียกใช้งานต่อไป 2.2 เหตุการณ์ไม่ปรกติ (Alternate Flows) กรณีที่ผู้ใช้เรียกใช้แล้วไม่ปรากฏรายการใดๆ ทั้งภายในดร็อปดาวน์เมื่อเรียกมาใช้ ประกอบการเขียนโค้ด และภายในหน้าต่างของ TreeView ก็ไม่ปรากฏข้อมูลใดๆ แสดงว่า 25 อาจมีการติดต่อกับเว็บเซอรวิส ตั้งแต่เริ่มต้นโปรแกรมมีการทำงานผิดพลาด หรือโปรแกรม อาจจะไม่สามารถทำการติดต่อกับเว็บเซอร์วิสใดๆ ได้เลย หรือการประมวลผลในส่วนการแสดง รายการบริการและฟังก์ชั่นของโปรแกรมเกิดข้อผิดพลาดขึ้น 3. ความสัมพันธ์ (Associations) 3.1 ผู้ที่เกี่ยวข้องกับระบบ (Actor) 3.1.1 ผู้เกี่ยวข้องกับระบบที่เริ่มยูสเคสนี้ ไม่มี 3.1.2 ผู้เกี่ยวข้องกับระบบที่สัมพันธ์กับยูสเคส ไม่มี 3.2 ความสัมพันธ์กับยูสเคสอื่น ได้แก่ ConnectServices 3.3 ความสัมพันธ์จากยูสเคสอื่น ConnectServices 4. เงื่อนไขก่อนการทำงานของยูสเคส (Precondition) จะต้องผ่านขั้นตอนการจัดการ WSDL มาเสียก่อน เพื่อระบุตำแหน่งของเว็บเซอร์วิสได้ อย่างถูกต้องก่อน จากนั้นจึงจะสามารถนำข้อมูลเอกสาร WSDL ที่ได้จากเว็บเซอร์วิสมา ประมวลผลจนได้ข้อมูลในร฿ปแบบที่ต้องการเก็บไว้ในหน่วยความจำ 5. เงื่อนไขหลังการทำงาน (Postcondition) ไม่มี 6. ความต้องการอื่นๆ (Special Requirement) ไม่มี ภาพ Use Case Model, Analysis Model, Collaboration Diagram ของโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส ภาพที่ 3-3 แสดง Use Case Model ของยูสเคส <> Editor (from PHPEditor) EditView MainFrame EditDoc Developer PHPEditor 26 ภาพที่ 3-4 แสดง Analysis Model ของยูสเคส <> ภาพที่ 3-5 แสดง Collaboration Diagram ของยูสเคส <> : Developer : CPHPEditorApp : CPHPEditorView : CMainFrame : CPHPEditorDoc InitInstance( ) PreCreateWindow( ) LoadFrame( ) OnNewDocument( ) : Developer : CPHPEditorApp : CPHPEditorView : CMainFrame : CPHPEditorDoc 1: InitInstance( ) 2: PreCreateWindow( ) 3: LoadFrame( ) 4: OnNewDocument( ) 27 ภาพที่ 3-6 แสดง Sequence Diagram ของยูสเคส <> ภาพที่ 3-7 แสดง Use Case Model ของยูสเคส <> ภาพที่ 3-8 แสดง Analysis Model ของยูสเคส <> Editor (from PHPEditor) ManageWSDL Connect Services Modules XMLParser (from Web Services) Web Services ConnectServices <> PHPEditor Connect : dlgWSDL PHPEditor : CPHPEditorApp ManageWSDL : dlgWSDL : Web Services : CXMLParser_Document 1: OnInitDialog( ) 5: Request Service 2: OnAdd( ) 3: OnDelete( ) 4: OnUpdate( ) 6: ParsingBuffer( ) 7: Store data in memory 28 ภาพที่ 3-9 แสดง Collaboration Diagram ของยูสเคส <> ภาพที่ 3-10 แสดง Sequence Diagram ของยูสเคส <> ภาพที่ 3-11 แสดง Use Case Model ของยูสเคส <> : Web Services PHPEditor : Connect : dlgWSDL CPHPEditorApp ManageWSDL : dlgWSDL : CXMLParser_Document OnInitDialog ( ) OnAdd ( ) OnDelete ( ) OnUpdate ( ) Request Service ParsingBuffer ( ) Store data in memory PHPEditor PHPHeaderScript <> Editor (from PHPEditor) BuildHeader Header.php dlgHeader 29 ภาพที่ 3-12 แสดง Analysis Model ของยูสเคส <> ภาพที่ 3-13 แสดง Collaboration Diagram ของยูสเคส <> ภาพที่ 3-14 แสดง Sequence Diagram ของยูสเคส <> ภาพที่ 3-15 แสดง Use Case Model ของยูสเคส <> PHPEditor TreeView <> HeaderDialog : dlgHeader PHPEditor : CMainFrame BuildHeader : dlgHeader 1: OnInitDialog( ) 2: OnGenerate( ) PHPEditor : CMainFrame HeaderDialog : dlgHeader BuildHeader : dlgHeader OnInitDialog( ) OnGenerate( ) 30 ภาพที่ 3-16 แสดง Analysis Model ของยูสเคส <> ภาพที่ 3-17 แสดง Collaboration Diagram ของยูสเคส <> ภาพที่ 3-18 แสดง Sequence Diagram ของยูสเคส <> ภาพที่ 3-19 แสดง Use Case Model ของยูสเคส <> ภาพที่ 3-20 แสดง Analysis Model ของยูสเคส <> Editor (from PHPEditor) dlgTree PHPEditor ServiceList <> EditorView (from PHPEditor) ServiceList TreeView : dlgTree PHPEditor : CMainFrame 1: OnInitDialog( ) PHPEditor : CMainFrame TreeView : dlgTree OnInitDialog( ) 31 ภาพที่ 3-21 แสดง Collaboration Diagram ของยูสเคส <> ภาพที่ 3-22 แสดง Sequence Diagram ของยูสเคส <> ภาพที่ 3-23 แสดง Use Case Model ของยูสเคส <> ภาพที่ 3-24 แสดง Analysis Model ของยูสเคส <> PHPEditor : CPHPEditorView ServicesList : dlgServiceList 1: ListForService( ) 2: ListForOperator( ) ConnectServices XMLParser <> ManagetWSDL (from ConnectServices) Node Parameter ServiceName Message Operator ServiceOpt OptMsg PHPEditor : CPHPEditorView ServicesList : dlgServiceList ListForService( ) ListForOperator( ) 32 ภาพที่ 3-25 แสดง Collaboration Diagram ของยูสเคส <> ภาพที่ 3-26 แสดง Sequence Diagram ของยูสเคส <> CXMLParser_ : Parameter : CXMLParser_ Node CXMLP :a r ser _Document : cServiceName : cMessage : cOperator : cService Operator : cOperator Message PutNodeString( ) ParseParameter( ) InsertService( ) InsertMessage( ) InsertOperator( ) InsertServiceOpt( ) InsertOptMsg( ) Working_MoveNext( ) : CXMLParser_Document : cServiceName : cServiceOperator : cMessage : CXMLParser_Parameter : cOperatorMessage : CXMLParser_Node : cOperator 1: PutNodeString( ) 4: InsertMessage( ) 6: InsertServiceOpt( ) 5: InsertOperator( ) 7: InsertOptMsg( ) 2: ParseParameter( ) 8: Working_MoveNext( ) 3: InsertService( ) 33 3.2 การออกแบบระบบ ภาพที่ 3-27 แสดง Class Diagram ของทั้งระบบ ConnectServices <> (from PHP IDE) + dlgWSDL PHPEditor <> (from PHP IDE) + CMainFrame + CPHPEditorApp + CPHPEditorDoc + CPHPEditorView + cAboutDlg + dlgServiceList HeaderScripts <> (from PHP IDE) + dlgHeader TreeView <> (from PHP IDE) + dlgTree XMLParser <> (from ConnectServices) + CXMLParser_Document + CXMLParser_Node + CXMLParser_Parameter Data <> (from ConnectServices) + cMessage + cOperator + cOperatorMessage + cServiceName + cServiceOperator + cWSDLFile + cWSDLMethod + cWSDLVar 34 ภาพที่ 3-28 แสดง Class Diagram ของ PHPEditor CFrameWnd <> LoadFrame() <> LoadBarState() <> GetActiveFrame() <> OnCreate() <> Dump() ...() (from Frame) dlgServiceList m_iService int m_sList CListBox m_Text string compose string operatorname string returnname string ListForOperator() ListForService() DoDataExchange() OnInitDialog() ListForService() ListForOperator() CPHPEditorView nChar int nRepCnt int nFlags int selpos string StartIndex string EndIndex string Buffer string ServiceID int ServiceName string LastDollar int ServiceLen int compose string OnDraw() PreCreateWindow() OnPreparePrinting() OnBeginPrinting() OnEndPrinting() OnKeyDown() 1..n 1 1..n 1 CPHPEditorDoc OnNewDocument() Serialize() CMainFrame m_wndStatusBar CStatusBar FaceName string FontSize int PreCreateWindow() OnCreate() OnFont() OnWsdl() OnKeyDown() OnPhpeditorHeader() OnPhpeditorTreeView() OnTreeView() OnHeader() CPHPEditorApp InitInstance() 1 1 opname() 1 1..n 1 1..n 1 1 1 1 cAboutDlg DoDataExchange() OnAppAbout() 11 11 CEditView <> AssertValid() <> Dump() <> OnBeginPrinting() <> OnEndPrinting() <> OnPreparePrinting() <> OnPrint() <> PreCreateWindow() ...() (from Views) CListBox <> DrawItem() <> MeasureItem() <> OnChildNotify() <> CompareItem() <> DeleteItem() (from Controls) CDocument <> OnNewDocument() <> OnOpenDocument() <> OnSaveDocument() <> OnCloseDocument() <> GetFile() <> DoSave() <> DoFileSave() ...()(from Application Architecture) CDialog <> DoModal() <> Dump() <> OnInitDialog() ...() (from Dialog Boxs) 35 ภาพที่ 3-29 แสดง Class Diagram ของ ConnectWebServices CDialog <> DoModal() <> Dump() <> OnInitDialog() ...() (from Dialog Boxs) CXMLParser_Parameter szName string szValue string szParameter string PutParameter() ParseParameter() GetName() GetValue() Getparameter() SetNext() SetPrev() GetNext() GetPrev() (from XMLParser) CXMLParser_Node szName string szText string iParameter_Number int Parameter CXMLParser_Parameter CurrentParameter CXMLParser_Parameter LastParameter CXMLParser_Parameter Next CXMLParser_Node Prev CXMLParser_Node In CXMLParser_Node Out CXMLParser_Node PutNodeString() PutString() GetName() GetText() GetParameterNumber() GetParameter()(from XMLParser) cMessage iMsgNum int Reset() GetMessageNum() InsertMessage() GetID() GetName() GetDefine() GetType() (from Data) cWSDLVar szURL string InputString() Clear() GetURL() SetURL() (from Data) cWSDLFile fpData CStdioFile WSDL_NUM int GetDataFromFile() StoreDataToFile() InsertData() ResetData() DeleteIndex() GetNumber() GetData() (from Data) cServiceName iService int Reset() InsertService() GetServiceNum() GetService() GetServiceUrl() GetServiceID() (from Data) cOperatorMessage iOptMsg int Reset() GetOptMsgNum() InsertOptMsg() GetOptMsg() (from Data) cServiceOperator iServiceOpt int Reset() InsertServiceOpt() GetServiceOperatorNum() GetServiceOperator() (from Data) cWSDLMethod METHOD_NUM int InsertMethod() GetMethodNum() GetService() GetMethod() (from Data) cOperator iOptNum int Reset() GetOperatorNum() InsertOperator() GetID() GetName() (from Data) dlgWSDL m_Wsdl CListBox m_Url string SelectIndex int file CHTTPFile temp string szTemp string MessageName string MessageDefine string MessageType string OperatorName string OpertorID int OperatorType int OperatorMessageID int OptMessageName string OptMsg string ColonAddress int StringLength int DoDataExchange() OnAdd() OnLoad() OnSave() OnDelete() OnSelchangeWsdl() OnUpdate() OnConnect() 1 0..n 1 0..n 10..n 1 0..n 1 0..n 1 0..n 1 0..n 1 0..n CXMLParser_Document szBuffer string uiBufferSize int Root CXMLParser_Node Working CXMLParser_Node Working_Root CXMLParser_Node LoadBufferFromFile() LoadBufferFromString() ParsingBuffer() GetBuffer() GetWorkingNode() IsWorkingNULL() Working_MoveNext() Working_MovePrev() Working_MoveRoot() Working_MoveIn() Working_MoveOut() (from XMLParser) 1 0..n 0..n 0..n 0..n 0..n 0..n0..n 0..n 0..n 1 1 0..n 1 1 11 11 1 36 ภาพที่ 3-30 แสดง Class Diagram ของ PHPHeaderScript ภาพที่ 3-31 แสดง Class Diagram ของ TreeView dlgHeader m_PHPScript string m_Services string compose string DoDataExchange() OnGenerate() OnSave() OnInitDialog() CDialog <> DoModal() <> Dump() <> OnInitDialog() ...() (from Dialog Boxs) dlgTree m_TreeCtrl CTreeCtrl url HTREEITEM operation HTREEITEM ServeIndex int OptIndex int OptId int MsgIndex int MsgID int compose string DoDataExchange() OnInitDialog() CDialog <> DoModal() <> Dump() <> OnInitDialog() ...() (from Dialog Boxs) 37 3.3 การพัฒนาและการทดสอบระบบ 3.3.1 การพัฒนาระบบ การพัฒนา PHP IDE สำหรับติดต่อเว็บเซอร์วิส เริ่มจากการศึกษาโครงสร้าง และลักษณะ การทำงานในการเรียกใช้บริการจากเว็บเซอร์วิสในปัจจุบัน โดยสืบค้นจากแหล่งข้อมูลต่างๆ ถึงความต้องการที่จะให้มีซอฟต์แวร์เพื่อสนับสนุนการเขียนโปรแกรมด้วยภาษา PHP ในการติดต่อ กับเว็บเซอร์วิสให้ทำงานได้สะดวกรวดเร็วขึ้นได้บ้าง แล้วจึงเริ่มออกแบบโปรแกรมให้ครอบคลุม เพื่อให้โปรแกรมทำงานได้ตามวัตถุประสงค์ แล้วจึงลงมือพัฒนาโปรแกรม โดยใช้ภาษา C++ และโปรแกรม Visual C++ 6.0 เป็นเครื่องมือในการพัฒนาซอฟต์แวร์ เนื่องจากโปรแกรมนี้ มี MFC เป็นไลบรารี่คลาส C++ ที่ถูกสร้างมาโดยเฉพาะสำหรับการสร้างแอปพลิเคชั่นเพื่อใช้งาน กับระบบปฏิบัติการวินโดวส์ ซึ่งมีรูปแบบการติดต่อกับผู้ใช้แบบกราฟฟิก หรือที่เรียกว่า Graphic User Interface (GUI) ทำให้การเขียนโปรแกรมง่ายขึ้น โปรแกรมที่เขียนขึ้น โดยใช้ MFC นั้น จะมีขนาดเล็กและไม่ซับซ้อน ช่วยประหยัดเวลาในการเขียนโค้ด และแก้ไขได้ ง่าย ในการพัฒนาโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิสนี้ จะประกอบด้วยโมดูล (Modules) ที่สำคัญดังนี้ 1. การสร้างส่วนของการเขียนชุดคำสั่งภาษา PHP (PHP Editor) 2. การติดต่อกับเว็บเซอร์วิส 3. การวิเคราะห์และประมวลผลเอกสาร WSDL 4. การจัดการเอกสาร WSDL ได้แก่ การเพิ่ม ลบ แก้ไข เปิด และบันทึก 5. การสร้างไฟล์เฮ็ดเดอร์ ซึ่งเกี่ยวกับการติดต่อเว็บเซอร์วิสด้วยภาษา PHP 6. การแสดงบริการออกมาในรูปแบบของโครงสร้างต้นไม้ 7. การแสดงรายการบริการหรือฟังก์ชั่นการทำงาน เมื่อผู้ใช้เรียกใช้ขณะเขียนซอร์สโค้ด โปรแกรม 3.3.2 การทดสอบระบบ ในส่วนของการทดสอบระบบ จะใช้กระบวนการทดสอบแบบแบล็กบอกซ์ (Black Box Testing) ซึ่ง เป็นการทดสอบการทำงานของระบบโดยรวมทั้งหมดว่ามีกระบวนการทำงานถูกต้องตามวัตถุประสงค์ที่ต้องการ หรือไม่ โดยการทดสอบจะเป็นการป้อนข้อมูลที่ถูกต้อง (Valid) และการป้อนข้อมูลที่ไม่ถูกต้อง (Invalid) หรือ ค่าว่างเข้าสู่ระบบ (Null) เพื่อให้ระบบทำการประมวลผลข้อมูลพร้อมทั้งแสดงผลลัพธ์ที่ได้จากการทำงาน ผู้วิจัย ได้ออกแบบตารางสำหรับบันทึก ผลการทดสอบ โดยแบ่งการทดสอบออกเป็น 5 ส่วน ดังนี้ 1. ตารางที่ 3-2 บันทึกผลการทดสอบการจัดการรายการ WSDL 2. ตารางที่ 3-3 บันทึกผลการทดสอบการติดต่อกับเว็บเซอร์วิส 3. ตารางที่ 3-4 บันทึกผลการทดสอบการจัดการไฟล์เฮ็ดเดอร์ 4. ตารางที่ 3-5 บันทึกผลการทดสอบการแสดงข้อมูลของบริการเป็นโครงสร้างต้นไม้ 5. ตารางที่ 3-6 บันทึกผลการทดสอบการแสดงรายการบริการและฟังก์ชั่นของบริการ 38 ภายในตารางบันทึกผลการทดสอบระบบของแต่ละประเภท จะบอกได้ว่าทำการทดสอบ ความถูกต้องของระบบในส่วนงานใดบ้าง โดยผู้ทดสอบทำเครื่องหมาย .. ลงในช่องของ การทดสอบ โดยป้อนข้อมูลที่ถูกต้องและข้อมูลที่ผิดพลาด ในส่วนท้ายของแต่ละการทดสอบ จะอ้างอิงไปยังรูปภาพที่ได้จากการทดสอบระบบ ซึ่งอยู่ในภาคผนวก ข ตามลำดับ ตารางที่ 3-2 บันทึกผลการทดสอบการจัดการรายการ WSDL ผลการทดสอบ งาน ป้อนข้อมูลถูกต้อง ป้อนข้อมูลไม่ถูกต้อง ภาพประกอบ (ภาคผนวก ข) ป้อนรายการ WSDL ถูกต้อง .. ภาพที่ ข-1 เพิ่มรายการ WSDL ผิดรูปแบบ .. ภาพที่ ข-2 ลบรายการ WSDL ผิดรูปแบบ .. ภาพที่ ข-3 แก้ไขรายการ WSDL ผิดรูปแบบ .. ภาพที่ ข-4 เปิดไฟล์รายการ WSDL ผิดรูปแบบ .. ภาพที่ ข-5 ตารางที่ 3-3 บันทึกผลการทดสอบการติดต่อกับเว็บเซอร์วิส ผลการทดสอบ งาน ป้อนข้อมูลถูกต้อง ป้อนข้อมูลไม่ถูกต้อง ภาพประกอบ (ภาคผนวก ข) URL ของเว็บเซอร์วิสที่ติดต่อได้ .. ภาพที่ ข-6 URL ของเว็บเซอร์วิสที่ติดต่อไม่ได้ .. ภาพที่ ข-7 ตารางที่ 3-4 บันทึกผลการทดสอบการจัดการไฟล์เฮ็ดเดอร์ ผลการทดสอบ งาน ป้อนข้อมูลถูกต้อง ป้อนข้อมูลไม่ถูกต้อง ภาพประกอบ (ภาคผนวก ข) มีข้อมูลของเว็บเซอร์วิส .. ภาพที่ ข-8 ไม่มีข้อมูลของเว็บเซอร์วิส .. ภาพที่ ข-9 ตารางที่ 3-5 บันทึกผลการทดสอบการแสดงข้อมูลของบริการเป็นโครงสร้างต้นไม้ 39 ผลการทดสอบ งาน ป้อนข้อมูลถูกต้อง ป้อนข้อมูลไม่ถูกต้อง ภาพประกอบ (ภาคผนวก ข) มีการติดต่อเว็บเซอร์วิสถูกต้อง .. ภาพที่ ข-10 มีการติดต่อเว็บเซอร์วิสผิดรูปแบบ .. ภาพที่ ข-11 ตารางที่ 3-6 บันทึกผลการทดสอบการแสดงรายการบริการและฟังก์ชั่นของบริการ ผลการทดสอบ งาน ป้อนข้อมูลถูกต้อง ป้อนข้อมูลไม่ถูกต้อง ภาพประกอบ (ภาคผนวก ข) ข้อมูลที่ได้จากเว็บเซอร์วิสถูกต้อง .. ภาพที่ ข-12 ภาพที่ ข-13 ข้อมูลที่ได้จากเว็บเซอร์วิสผิดรูปแบบ .. ภาพที่ ข-14 เนื่องจากการทดสอบแบบแบล็คบ็อกซ์ เป็นการทดสอบในข้อกำหนดซอฟต์แวร์ โดยการกำหนด กรณีทดสอบเพื่อหาข้อบกพร่องของซอฟต์แวร์ ซึ่งการสร้างกรณีทดสอบ เป็นสิ่งที่ช่วยเพิ่มความมั่นใจว่า ซอฟต์แวร์มีความถูกต้องสูง จึงทำให้ผู้วิจัยนำการทดสอบ แบบแบล็คบ็อกซ์มาใช้ในการทดสอบโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส 3.4 ประชากรและกลุ่มตัวอย่าง 3.1.4 ประชากร เป็นนักพัฒนาที่ใช้ภาษา PHP ในการพัฒนาโปรแกรม และมีความรู้ เกี่ยวกับเทคโนโลยีเว็บเซอร์วิส 3.4.2 กลุ่มตัวอย่าง เป็นนักพัฒนาที่ใช้ภาษา PHP ในการพัฒนาโปรแกรม ได้จำนวน 86 คน โดยแบ่งเป็น 2 กลุ่ม ดังนี้ 3.4.3.1 กลุ่มตัวอย่างที่เป็นนักพัฒนาโปรแกรม ที่มีความเชี่ยวชาญด้านการเขียน โปรแกรมด้วยภาษา PHP และมีความรู้เกี่ยวกับเทคโนโลยีเว็บเซอร์วิสสามารถเขียนโปรแกรม เพื่อเรียกใช้บริการจากเว็บเซอร์วิสได้ จำนวน 48 คน 3.4.3.2 กลุ่มตัวอย่างที่เป็นนักพัฒนางานบนเว็บทั่วไป ที่มีความรู้ในระดับเบื้องต้น ทางด้านการเขียนโปรแกรมด้วยภาษา PHP และเทคโนโลยีเว็บเซอร์วิส จำนวน 38 คน 3.5 เครื่องมือในการวิจัย เครื่องมือที่ใช้ในการวิจัยครั้งนี้ ประกอบด้วยแบบสอบถาม (Questionnaires) และ แบบกรอกข้อมูลการสัมภาษณ์ เพื่อให้ได้ข้อมูลที่เสริมหรือแย้งกับข้อมูลในแบบสอบถาม แบบสอบถามแบ่งออกเป็น 3 ตอน คือ ตอนที่ 1 เป็นคำถามเกี่ยวกับสถานภาพโดยทั่วไป ตอนที่ 2 เป็นคำถามเกี่ยวกับความคิดเห็นต่อการใช้โปรแกรม ซึ่งเป็นคำถามปลายปิด 40 (Closed End) ได้จัดแบ่งคำถามวัดประเด็นต่างๆ ดังนี้ วัดการทำงานในการเข้าสู่โปรแกรม ได้แก่ข้อ 6 – 10 วัดการติดต่อระหว่างโปรแกรมกับผู้ใช้ ได้แก่ข้อ 11 – 14 วัดการประมวลผลของโปรแกรม ได้แก่ข้อ 15 – 19 วัดผลลัพธ์การทำงานของโปรแกรม ได้แก่ข้อ 20 – 24 ตอนที่ 3 เป็นแบบสอบปลายเปิด (Opened end) เพื่อให้แสดงความคิดเห็น แบบสัมภาษณ์ เป็นกรอบที่ใช้สัมภาษณ์ผู้ใช้เพื่อให้ได้ประเด็นหลักๆ เพื่อเสริมหรือ แย้งข้อมูลที่ได้จากแบบสอบถาม โดยมุ่งประเด็นหลักเกี่ยวกับการทำงานของโปรแกรมสามารถ ทำงานได้ดีหรือไม่ อย่างไร เป็นต้น 3.6 การให้ค่าคะแนนในแบบสอบถาม ในแบบสอบถามตอนที่ 2 ซึ่งวัดค่าออกเป็น 5 ระดับ ตามแนวคิดของลิเคอร์ท (Likert-Type Scale) จึงกำหนดให้ค่าคะแนนดังนี้ ตารางที่ 3-7 เกณฑ์การให้คะแนนในแบบสอบถาม ลักษณะคำตอบ การให้คะแนน ระดับดีมาก 5 ระดับดี 4 ระดับปานกลาง 3 ระดับน้อย 2 ระดับน้อยมาก 1 การแปลความหมายจากค่ามัชฌิมเลขคณิต (Arithmetic Mean) ของคะแนนน้ำหนัก (Weighting Score) โดยเทียบกับเกณฑ์ประเมินค่าความคิดเห็นของเบสต์ (Best) เพื่อใช้แปลความหมายในการวัดความ คิดเห็นเกี่ยวกับประสิทธิภาพของโปรแกรมในด้านต่างๆ ดังนี้ ตารางที่ 3-8 เกณฑ์การประเมินค่าความคิดเห็น x 41 ค่า Mean ( ) หมายความว่า 4.50 – 5.0 ประสิทธิภาพของโปรแกรมอยู่ในระดับ ดีมาก 3.50 – 4.49 ประสิทธิภาพของโปรแกรมอยู่ในระดับ ดี 2.50 – 3.49 ประสิทธิภาพของโปรแกรมอยู่ในระดับ ปานกลาง 1.50 – 2.49 ประสิทธิภาพของโปรแกรมอยู่ในระดับ น้อย 1.00 – 1.49 ประสิทธิภาพของโปรแกรมอยู่ในระดับ น้อยมาก 3.7 การเก็บรวบรวมข้อมูล ผู้ทำการวิจัยได้ทำการได้เปิดให้ผู้ใช้ เข้ามาตอบแบบสอบถามได้ทางอินเตอร์เน็ต พร้อมทั้งให้ตัวอย่างการใช้งานโปรแกรม และผู้ทำการวิจัยยังได้ทำการสัมภาษณ์ผู้ใช้ไว้ด้วย โดยได้ดำเนินการระหว่างวันที่ 10 ตุลาคม 2546 - 20 พฤศจิกายน 2546 3.8 การประมวลและวิเคราะห์ข้อมูล สำหรับการวิเคราะห์ข้อมูล ผู้วิจัยกำหนดใช้วิธีการคำนวณค่าสถิติต่างๆ ตามลักษณะ ของข้อมูล ดังนี้ 3.8.1 การวิเคราะห์ข้อมูลในแบบประเมินส่วนที่เป็นข้อมูลพื้นฐานภูมิหลัง และสถานภาพ ของกลุ่มตัวอย่าง โดยการวิเคราะห์ความถี่ (Frequency) แล้วแปลเป็นร้อยละ (Percent) โดยจำแนกนำเสนอเป็นตารางของตัวแปรแต่ละประเภทตามลำดับ 3.8.2 การวิเคราะห์ข้อมูลในแบบประเมินเกี่ยวกับการใช้โปรแกรม PHP IDE ที่ใช้ติดต่อ เว็บเซอร์วิสซึ่งได้แก่ การเข้าสู่โปรแกรม ลักษณะหน้าจอ การประมวลผล และผลลัพธ์ ของโปรแกรม ทำการวิเคราะห์โดยการแจกแจงความถี่ ร้อยละ และค่ามัชฌิมเลขคณิต 3.9 สถิติที่ใช้การวิเคราะห์ข้อมูล ค่ามัชฌิมเลขคณิต (Mean) เป็นค่าที่นิยมใช้มากที่สุด ในการหาแนวโน้มเข้าสู่ส่วนกลาง (Measures of Central Tendency) โดยใช้สูตร (3-1) เมื่อ x แทน หน่วยน้ำหนัก .fx N x = 42 N แทน จำนวนข้อมูล f แทน ความถี่ของแต่ละช่วง .fx แทน ผลรวมของค่าความถี่ของคะแนนทั้งหมด บทที่ 4 ผลของการวิจัย จากการเปิดให้ผู้ใช้เข้ามาตอบแบบประเมินทางอินเตอร์เน็ต ผู้วิจัยได้รับแบบประเมิน ที่มีการกรอก ข้อมูลครบถ้วนจำนวน 86 ชุด และเมื่อนำมาคำนวณค่าทางสถิติของข้อมูล และความสัมพันธ์ระหว่างตัว แปรต่างๆ ที่ต้องการศึกษาแล้วได้ผลลัพธ์ดังนี้ 4.1 ผลการวิเคราะห์ข้อมูล ตอนที่ 1 ตารางและวิจารณ์ผลข้อมูลด้านสถานภาพทั่วไปของกลุ่มตัวอย่าง ตารางที่ 4-1 แสดงข้อมูลสถานภาพทั่วไปของผู้ใช้ที่เป็นกลุ่มตัวอย่าง สถานภาพทั่วไป จำนวนตัวอย่าง ร้อยละ 1. เพศ ชาย หญิง 56 30 65.12 34.88 2. อายุ ต่ำกว่า 25 ปี ตั้งแต่ 25 ปีขึ้นไป 40 46 46.51 53.49 3. การศึกษาขั้นสูงสุด ต่ำกว่าปริญญาตรี ตั้งแต่ปริญญาตรีขึ้นไป 40 46 46.51 53.49 4. ความรู้ในการใช้ภาษา PHP ระดับเบื้องต้น ระดับเชี่ยวชาญ 48 38 55.81 44.19 5. ความรู้ในเรื่องเทคโนโลยีเว็บเซอร์วิส ระดับเบื้องต้น ระดับเชี่ยวชาญ 48 38 55.81 44.19 จากข้อมูลในตารางที่ 4-1 จะเห็นว่ากลุ่มตัวอย่างมีสถานภาพทั่วไปดังนี้ 1. เพศ กลุ่มตัวอย่างเพศชายมากกว่าเพศหญิง คือ เป็นชายจำนวน 56 คน หรือ คิดเป็นร้อยละ 65.12 ในขณะที่เป็นเพศหญิง 30 คน หรือคิดเป็นร้อยละ 34.88 44 2. อายุ จากข้อมูลปรากฏว่ากลุ่มตัวอย่างมีอายุอยู่ในช่วงต่ำกว่า 25 ปีจำนวน 40 คน คิดเป็นร้อยละ 46.51 และอายุอยู่ในช่วงตั้งแต่ 25 ปีขึ้นไปจำนวน 46 คน คิดเป็นร้อยละ 53.49 3. การศึกษาขั้นสูงสุด จากข้อมูลปรากฏว่ากลุ่มตัวอย่างมีการศึกษาขั้นสูงสุดอยู่ในระดับ ต่ำปริญญาตรีจำนวน 40 คน คิดเป็นร้อยละ 46.51 และอยู่ในระดับตั้งแต่ปริญญาตรีปีขึ้นไป จำนวน 46 คน คิดเป็นร้อยละ 53.49 4. ความรู้ในการใช้ภาษา PHP กลุ่มตัวอย่างมีความรู้ระดับเบื้องต้นจำนวน 48 คน คิดเป็นร้อยละ 55.81 และระดับเชี่ยวชาญจำนวน 38 คน คิดเป็นร้อยละ 44.19 5. ความรู้ในเรื่องเทคโนโลยีเว็บเซอร์วิส กลุ่มตัวอย่างมีความรู้ระดับเบื้องต้นจำนวน 48 คน คิดเป็นร้อยละ 55.81 และระดับเชี่ยวชาญจำนวน 38 คน คิดเป็นร้อยละ 44.19 ตอนที่ 2 ตารางและวิจารณ์ผลข้อมูลความคิดเห็นของกลุ่มตัวอย่างต่อการใช้งานโปรแกรม PHP IDE ที่ใช้ในการติดต่อเว็บเซอร์วิส ตารางที่ 4-2 แสดงความคิดเห็นของกลุ่มตัวอย่างต่อการเข้าสู่การใช้งานโปรแกรม จำนวน (ร้อยละ) การเข้าสู่โปรแกรม ระดับ ดีมาก ระดับ ดี ระดับ ปาน กลาง ระดับ น้อย ระดับ น้อย มาก Mean ( ) 1. โปรแกรมสามารถดำเนินการเข้า สู่หน้าจอการเขียนโปรแกรม ด้วยภาษา PHP ได้ 10 (11.62) 52 (60.47) 24 (27.91) 0 (0) 0 (0) 3.84 2. โปรแกรมสามารถดำเนินการเข้า สู่หน้าจอการร้องขอบริการจาก เว็บเซอร์วิสได้ 2 (2.33) 44 (51.16) 28 (32.56) 12 (13.95) 0 (0) 3.42 3. โปรแกรมเข้าสู่หน้าจอการสร้าง ไฟล์เฮ็ดเดอร์ด้ 6 (6.98) 36 (41.86) 36 (41.86) 8 (9.30) 0 (0) 3.47 4. โปรแกรมสามารถเข้าสู่หน้าจอ การแสดงบริการในรูปโครง สร้างต้นไม้ได้ 10 (11.63) 48 (55.81) 26 (30.23) 2 (2.33) 0 (0) 3.77 ตารางที่ 4-2 (ต่อ) จำนวน (ร้อยละ) x 45 การเข้าสู่โปรแกรม ระดับ ดีมาก ระดับ ดี ระดับ ปาน กลาง ระดับ น้อย ระดับ น้อย มาก Mean ( ) 5. โปรแกรมสามารถดำเนินการเข้า สู่ระบบการเรียกใช้รายการ บริการหรือฟังก์ชั่นในขณะ เขียนโปรแกรมได้ 8 (9.30) 42 (48.84) 32 (37.21) 4 (4.65) 0 (0) 3.63 รวม 3.62 จากตารางที่ 4-2 แสดงว่ากลุ่มตัวอย่างร้อยละ 60.47 เห็นว่าโปรแกรมสามารถดำเนินการ เข้าสู่หน้าจอการเขียนโปรแกรมด้วยภาษา PHP ได้ในระดับดี กลุ่มตัวอย่างร้อยละ 51.16 เห็นด้วยมากว่า โปรแกรมสามารถดำเนินการเข้าสู่หน้าจอ การร้องขอบริการจากเว็บเซอร์วิสได้ ในระดับดี กลุ่มตัวอย่างร้อยละ 41.86 เห็นว่าโปรแกรมสามารถดำเนินการเข้าสู่หน้าจอ การ สร้างไฟล์เฮ็ดเดอร์ได้ในระดับดี กลุ่มตัวอย่างร้อยละ 55.81 เห็นว่าโปรแกรมสามารถ ดำเนิน การเข้าสู่หน้าจอการแสดงบริการให้อยู่ในรูปโครงสร้างต้นไม้ได้ในระดับดี และกลุ่มตัวอย่างร้อยละ 48.84 เห็นว่าโปรแกรมสามารถดำเนินการเข้าสู่ระบบการเรียกใช้รายการคลาสหรือ เมธอดใน ขณะเขียนโปรแกรมได้ในระดับดี จากภาพรวม กลุ่มตัวอย่างมีความคิดเห็นต่อการเข้าสู่การใช้งานโปรแกรมมีค่าคะแนนเฉลี่ย 3.62 แสดง ว่ากลุ่มตัวอย่างมีความคิดเห็นว่า ประสิทธิภาพในการเข้าสู่การใช้งานของโปรแกรมอยู่ในระดับดี ตารางที่ 4-3 แสดงความคิดเห็นของกลุ่มตัวอย่างต่อหน้าจอโปรแกรม จำนวน (ร้อยละ) รูปแบบหน้าจอโปรแกรม ระดับ ดีมาก ระดับ ดี ระดับ ปาน กลาง ระดับ น้อย ระดับ น้อย มาก Mean ( ) 1. สีสันหน้าจอ 2 (2.33) 28 (32.56) 34 (39.53) 18 (20.93) 4 (4.65) 3.07 2. แบบอักษรที่อ่านง่ายและเหมาะ สม 4 (4.65) 24 (27.91) 54 (62.79) 4 (4.65) 0 (0) 3.33 ตารางที่ 4-3 (ต่อ) จำนวน (ร้อยละ) รูปแบบหน้าจอโปรแกรม ระดับ ระดับ ระดับ ระดับ ระดับ Mean xxx 46 ดีมาก ดี ปาน กลาง น้อย น้อย มาก ( ) 3. คำ/ประโยคที่ง่ายต่อการทำความเข้าใจ 0 (0) 20 (23.25) 56 (65.12) 10 (11.63) 0 (0) 3.12 4. รูปแบบการจัดระเบียบการจัด หน้าจอต่อการใช้งาน 4 (4.65) 24 (27.91) 48 (55.81) 10 (11.63) 0 (0) 3.26 รวม 3.19 จากตารางที่ 4-3 แสดงว่ากลุ่มตัวอย่างร้อยละ 39.53 เห็นว่าสีสันหน้าจอของโปรแกรม อยู่ในระดับปานกลาง ร้อยละ 62.79 เห็นว่าแบบอักษรที่ใช้ในโปรแกรมอ่านง่ายและเหมาะสม อยู่ในระดับปานกลาง ร้อยละ 65.12 เห็นว่าคำหรือประโยคที่ใช้ในโปรแกรมมีความง่าย ต่อการทำความเข้าใจอยู่ในระดับปานกลาง และร้อยละ 55.81 เห็นมากว่ารูปแบบการจัดระเบียบ การจัดหน้าจอต่อการใช้งานอยู่ในระดับปานกลาง จากภาพรวม กลุ่มตัวอย่างมีความคิดเห็นต่อลักษณะหน้าจอของโปรแกรม มีค่าคะแนน เฉลี่ย 3.19 แสดงว่ากลุ่มตัวอย่างมีความคิดเห็นว่า ประสิทธิภาพเกี่ยวกับลักษณะหน้าจอของ โปรแกรมอยู่ในระดับปานกลาง ตารางที่ 4-4 แสดงความคิดเห็นของกลุ่มตัวอย่างต่อการประมวลผลของโปรแกรม จำนวน (ร้อยละ) การประมวลของโปรแกรม ระดับ ดีมาก ระดับ ดี ระดับ ปาน กลาง ระดับ น้อย ระดับ น้อย มาก Mean ( ) 1. โปรแกรมสามารถดำเนินการเขียน โปรแกรมด้วยภาษา PHP ได้ 4 (4.65) 42 (48.83) 38 (44.19) 2 (2.33) 0 (0) 3.56 2. โปรแกรมสามารถดำเนินการติด ต่อไปยังเว็บเซอร์วิส เพื่อร้องขอ บริการได้ 8 (9.30) 26 (30.23) 44 (51.16) 8 (9.30) 0 (0) 3.40 ตารางที่ 4-4 (ต่อ) จำนวน (ร้อยละ) การประมวลของโปรแกรม ระดับ ดีมาก ระดับ ดี ระดับ ปาน ระดับ น้อย ระดับ น้อย Mean ( ) xx 47 กลาง มาก 3. โปรแกรมสามารถดำเนินการใน การสร้างไฟล์เฮ็ดเดอร์ได้ 6 (6.98) 24 (27.91) 48 (55.81) 8 (9.30) 0 (0) 3.33 4. โปรแกรมสามารถดำเนินการใน การแสดงบริการที่ร้องขอไว้ได้ แล้วให้อยู่ในรูปของโครงสร้างต้น ไม้ได้ 24 (27.91) 34 (39.53) 26 (30.23) 2 (2.33) 0 (0) 3.93 5. โปรแกรมสามารถดำเนินการใน การเรียกใช้และแสดง รายการ คลาสหรือเมธอด ในขณะเขียน โปรแกรมได้ 6 (6.98) 34 (39.53) 46 (53.49) 0 (0) 0 (0) 3.53 รวม 3.55 จากตารางที่ 4-4 กลุ่มตัวอย่างร้อยละ 48.84 เห็นว่าโปรแกรมสามารถดำเนินการ เขียนโปรแกรมด้วยภาษา PHP ได้ในระดับดี จำนวนร้อยละ 51.16 เห็นว่าโปรแกรมสามารถ ดำเนินการติดต่อไปยังเว็บเซอร์วิส เพื่อร้องขอบริการได้อยู่ในระดับปานกลาง จำนวนร้อยละ 55.81 เห็นว่าโปรแกรมสามารถดำเนินการในการสร้างไฟล์เฮ็ดเดอร์ได้ อยู่ในระดับปานกลาง จำนวนร้อยละ 39.53 เห็นว่าโปรแกรมสามารถดำเนินการในการแสดงบริการที่ร้องขอไว้ได้แล้ว ให้อยู่ในรูปของโครงสร้างต้นไม้ได้อยู่ในระดับดี และจำนวนร้อยละ 53.49 เห็นว่าโปรแกรม สามารถดำเนินการในการเรียกใช้ และแสดงรายการคลาสหรือเมธอดในขณะเขียนโปรแกรมได้ อยู่ในระดับปานกลาง จากภาพรวม กลุ่มตัวอย่างมีความคิดเห็นต่อการประมวลผลของโปรแกรมมีค่าคะแนน เฉลี่ย 3.55 แสดงว่ากลุ่มตัวอย่างมีความคิดเห็นว่า ประสิทธิภาพการประมวลของโปรแกรม อยู่ในระดับดี ตารางที่ 4-5 แสดงความคิดเห็นของกลุ่มตัวอย่างต่อผลลัพธ์ของโปรแกรม จำนวน (ร้อยละ) ผลลัพธ์ของโปรแกรม ระดับ ดีมาก ระดับ ดี ระดับ ปาน กลาง ระดับ น้อย ระดับ น้อย มาก Mean ( X ) 48 1. เมื่อทำการเขียนโปรแกรมด้วย ภาษา PHP แล้วโปรแกรมให้ผล ลัพธ์ตามที่กำหนด 6 (6.98) 48 (55.81) 32 (37.21) 0 (0) 0 (0) 3.70 2. เมื่อเพิ่ม ลบ แก้ไข หรือแสดง WSDL จากไฟล์ที่ได้ทำการ บันทึกเก็บไว้ โปรแกรม ให้ผล ลัพธ์ตามที่กำหนด 8 (9.30) 44 (51.16) 34 (39.53) 0 (0) 0 (0) 3.70 3. เมื่อสร้างไฟล์เฮ็ดเดอร์แล้ว โปรแกรม สามารถแสดงโค้ดการ ติดต่อกับเว็บเซอร์วิสได้ และให้ ผลลัพธ์ตามที่กำหนด 6 (6.98) 18 (20.93) 62 (72.09) 0 (0) 0 (0) 3.35 4. เมื่อทำการเรียกใช้การแสดง บริการให้อยู่ในรูปของ โครง สร้างต้นไม้ โปรแกรม ให้ผลลัพธ์ ตามที่กำหนด 16 (18.60) 36 (41.86) 34 (39.54) 0 (0) 0 (0) 3.80 5. เมื่อเรียกใช้รายการชื่อบริการหรือ ฟังก์ชั่น โปรแกรม ให้ผลลัพธ์ ตามที่กำหนด 4 (4.65) 36 (41.86) 46 (53.49) 0 (0) 0 (0) 3.51 รวม 3.61 จากตารางที่ 4-5 แสดงว่ากลุ่มตัวอย่างร้อยละ 55.81 เห็นว่าเมื่อทำการเขียนโปรแกรม ด้วยภาษา PHP แล้ว โปรแกรมให้ผลลัพธ์ตามที่กำหนดอยู่ในระดับดี กลุ่มตัวอย่างร้อยละ 51.16 เห็นว่าเมื่อทำการเพิ่ม ลบ แก้ไข หรือแสดงรายการ WSDL จากไฟล์ที่ได้ทำการบันทึกเก็บไว้แล้ว โปรแกรมให้ผลลัพธ์ตามที่กำหนดอยู่ในระดับดี กลุ่มตัวอย่างร้อยละ 72.09 เห็นว่า เมื่อทำการ สร้างไฟล์เฮ็ดเดอร์แล้ว โปรแกรมสามารถแสดงโค้ดการติดต่อกับเว็บเซอร์วิสได้ และให้ผลลัพธ์ ตามที่กำหนดอยู่ในระดับปานกลาง กลุ่มตัวอย่างร้อยละ 41.86 เห็นว่า เมื่อทำการเรียกใช้ การแสดงบริการให้อยู่ในรูปของโครงสร้างต้นไม้ โปรแกรมให้ผลลัพธ์ตามที่กำหนดอยู่ในระดับดี และกลุ่มตัวอย่างร้อยละ 53.49 เห็นว่า เมื่อทำการเรียกใช้ชื่อบริการหรือฟังก์ชั่นของบริการนั้นๆ ในขณะเขียนโปรแกรม โปรแกรมให้ผลลัพธ์ตามที่กำหนดอยู่ในระดับปานกลาง จากภาพรวม กลุ่มตัวอย่างมีความคิดเห็นต่อผลลัพธ์ของโปรแกรมมีค่าคะแนนเฉลี่ย 3.61 แสดงว่ากลุ่มตัวอย่างมีความคิด เห็นว่าประสิทธิภาพผลลัพธ์ของโปรแกรมอยู่ในระดับดี บทที่ 5 สรุปผล อภิปรายผล และข้อเสนอแนะ 5.1 สรุปผลการวิจัย การทำโครงการของผู้วิจัยครั้งนี้ มีวัตถุประสงค์เพื่อพัฒนาโปรแกรม PHP IDE ที่ใช้ในการสนับสนุนการเขียนโปรแกรมด้วยภาษา PHP สำหรับติดต่อเว็บเซอร์วิส โดยมี ลำดับขั้นตอนในการดำเนินงานโดยย่อดังนี้ ขั้นแรกศึกษาเทคโนโลยีเว็บเซอร์วิส ขั้นที่ สอง เป็นการวิเคราะห์ ออกแบบ และพัฒนาระบบ โดยใช้วิธี Object Oriented Diagram เป็นเครื่องมือ ซึ่งก่อให้เกิดความสะดวกในการออกแบบและพัฒนาระบบ สุดท้าย คือการตรวจสอบความถูกต้องของโปรแกรมว่าสามารถทำงานได้ตามที่ออกแบบไว้หรือ ไม่ จากการทดสอบโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส ซึ่งผู้วิจัยได้พัฒนา ขึ้น โดยใช้กลุ่มตัวอย่างที่เป็นนักพัฒนาที่ใช้ภาษา PHP และมีความรู้ด้านเทคโนโลยีเว็บ เซอร์วิส ทำการดาวน์โหลด (Download) โปรแกรมไปทดลองใช้งานแล้วจึงตอบแบบ ประเมินได้กลุ่มตัวอย่างจำนวนทั้งสิ้น 86 คน เป็นชาย 48 คน และหญิง 38 คน ส่วนใหญ่มี อายุตั้งแต่ 25 ปี ขึ้นไป และมีการศึกษาตั้งแต่ปริญญาตรีขึ้นไป จากการวิเคราะห์ข้อมูลโดยใช้ค่าเฉลี่ยเป็นค่าสถิติในการทดสอบ ผลการศึกษาพบ ว่า กลุ่มตัวอย่างส่วนใหญ่มีความเห็นว่า 1. ประสิทธิภาพการเข้าสู่โปรแกรมอยู่ในระดับดี 2. ประสิทธิภาพเกี่ยวกับลักษณะหน้าจอของโปรแกรมอยู่ในระดับปานกลาง 3. ประสิทธิภาพการประมวลผลของโปรแกรมอยู่ในระดับดี 4. ประสิทธิภาพผลลัพธ์ของโปรแกรมอยู่ในระดับดี ซึ่งสรุปได้ว่าโปรแกรมที่ผู้วิจัยได้พัฒนาขึ้นนี้สามารถนำไปใช้งานได้ คือ โปรแกรม PHP IDE สามารถสร้างการติดต่อไปยังเว็บเซอร์วิสได้ครั้งละหลายๆ บริการช่วยเพิ่ม ความสะดวก ให้แก่ผู้ใช้งาน โดยโปรแกรมมีความสามารถดังนี้ 1. โปรแกรมสามารถดำเนินการเขียนโปรแกรมด้วยภาษา PHP ได้ 2. โปรแกรมสามารถดำเนินการติดต่อไปยังเว็บเซอร์วิสเพื่อร้องขอบริการได้ 3. โปรแกรมสามารถดำเนินการในการสร้างไฟล์เฮ็ดเดอร์ในการติดต่อเว็บเซอร์ วิสได้ 47 4. โปรแกรมสามารถดำเนินการแสดงข้อมูลของบริการในรูปของโครงสร้างต้นไม้ ได้ 5. โปรแกรมสามารถดำเนินการเรียกใช้ และแสดงรายการบริการหรือฟังก์ชั่นการ ทำงาน ในขณะเขียนโปรแกรมได้ 51 ในการทดสอบสมมติฐาน จากสมมติฐานที่ผู้วิจัยได้ตั้งไว้ว่า ผู้ใช้ที่มีภูมิหลังทางด้าน ความรู้ อันได้แก่ ภาษา PHP และเทคโนโลยีเว็บเซอร์วิสทั้งในระดับเบื้องต้นและผู้เชี่ยว ชาญ จะมีความคิดเห็นต่อโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์วิส ในด้าน ต่างๆ อยู่ในระดับดี จากผลการศึกษาวิจัยปรากฏว่า กลุ่มตัวอย่างผู้ใช้ส่วนใหญ่มีความ คิดเห็นเป็นไปตามสมมติฐาน 5.2 อภิปรายผลการวิจัย อภิปรายผลโดยพิจารณาจากการใช้งานโปรแกรม PHP IDE สำหรับติดต่อเว็บเซอร์ วิสของกลุ่มตัวอย่างในด้านต่างๆ ดังนี้ 5.2.1 จากการศึกษาความคิดเห็นของกลุ่มตัวอย่าง ต่อการเข้าสู่การใช้งาน โปรแกรม พบว่า ส่วนใหญ่สามารถเข้าสู่แต่ละส่วนของโปรแกรมได้ ไม่ค่อยเป็นปัญหา ต่อการทำงาน จากการสัมภาษณ์และสังเกต ล้วนมีความเห็นคล้ายคลึงกันว่า สามารถเข้าสู่การทำงานแต่ละส่วนของโปรแกรมได้ เพราะเข้าใจในลำดับขั้นตอนการใช้ งาน แต่จากข้อคิดเห็นจากแบบประเมินปลายเปิดพบว่า กลุ่มตัวอย่างบางส่วนให้ความ เห็นว่า การเข้าสู่การใช้งานแต่ละส่วน มีความไม่ต่อเนื่องกันทำให้เกิดความสับ สน เนื่องจากการจัดระเบียบของเมนูมีความไม่ชัดเจน 5.2.2 จากการศึกษาความคิดเห็นของกลุ่มตัวอย่าง ต่อลักษณะหน้าจอโปรแกรม พบว่า ส่วนใหญ่มีความพึงพอใจต่อสีสันหน้าจอ และรูปแบบการจัดระเบียบหน้าจอ สำหรับการใช้งานปานกลาง จากการสัมภาษณ์และการสังเกตพบว่า โปรแกรมขาดสีสัน และขาดการจัดระเบียบการใช้งานให้เหมาะสม เพื่อดึงดูดความสนใจ และง่ายต่อการใช้ งาน 5.2.3 จากการศึกษาความคิดเห็นของกลุ่มตัวอย่าง ต่อการประมวลผลของ โปรแกรม พบว่า ส่วนใหญ่สามารถใช้งานโปรแกรมให้ทำงานตามที่ต้องการได้ จากการ สัมภาษณ์ และการสังเกตพบว่า กลุ่มตัวอย่างไม่ค่อยมีปัญหาขณะใช้งานโปรแกรม ซึ่งผู้วิจัยเห็นว่า อาจเป็นเพราะกลุ่มตัวอย่างปฏิบัติตามขั้นตอนการทำงานก่อนหลัง ค่อนข้างดี จึงส่งผลให้โปรแกรมสามารถประมวลผลได้ ไม่ค่อยเป็นปัญหาต่อการทำงาน 5.2.4 จากการศึกษาความคิดเห็นของกลุ่มตัวอย่าง ต่อผลลัพธ์ของโปรแกรมพบว่า ส่วนใหญ่สามารถใช้งานโปรแกรมแล้วได้ผลลัพธ์ตรงตามวัตถุประสงค์ จากการ สัมภาษณ์และการสังเกตไม่ค่อยมีปัญหาในการใช้งานโปรแกรม ผลลัพธ์ที่ได้จึงมีความถูก ต้องตรงตามที่ต้องการ 5.3 ข้อเสนอแนะ 52 5.3.1 ข้อเสนอแนะจากผู้ใช้งานระบบ 5.3.1.1 ประเด็นการเข้าสู่การใช้งานส่วนต่างๆ ของโปรแกรม โปรแกรม ควรปรับปรุงเมนู เพื่อให้สามารถทำการเข้าสู่ส่วนต่างๆ เป็นไปอย่างต่อเนื่อง ไม่สับสน และควรปรับปรุงเมนู Help ให้มีรายละเอียดมากกว่านี้ เพื่อผู้ใช้จะได้ทราบลำดับการเข้า สู่ การทำงานกับส่วนต่างของโปรแกรม 5.3.1.2 ประเด็นลักษณะหน้าจอของโปรแกรม ควรปรับปรุงสีสันของ โปรแกรม และจัดระเบียบของหน้าจอให้เหมาะสม ใช้คำหรือประโยคที่ง่ายต่อการเข้าใจ 5.3.1.3 ประเด็นการประมวลผลของโปรแกรม ควรมีการจัดลำดับขั้นตอน การทำงานให้สั้นลง 5.3.2 ข้อเสนอแนะจากผู้วิจัย โครงงานนี้ ควรปรับปรุงส่วนของการแสดงข้อความแจ้งให้ผู้ใช้ทราบ เมื่อเกิดข้อผิด พลาดขึ้น เนื่องจากการคำหรือประโยคที่ใช้ยังไม่เหมาะสม และโปรแกรมควรลดขั้นตอน การทำงาน ซึ่งสามารถทำได้ โดยลดขั้นตอนในการสร้างไฟล์เฮ็ดเดอร์ให้สามารถ แทรกลงในซอร์สโค้ด โดยอัตโนมัติ บรรณานุกรม ภาษาไทย กิตติศักดิ์ เจริญโภคานนท์. สร้างเว็บได้ดังใจนึกด้วย PHP. กรุงเทพมหานคร : บริษัท ซัคเซส มีเดีย จำกัด, 2544. ขยัน จันทรสถาพร. เรียนลัด XML ฉบับรู้เต็มร้อย!. กรุงเทพมหานคร : บริษัท เอริป จำกัด, 2543. นิรุธ อำนวยศิลป์. คู่มือการเขียนโปรแกรม Microsoft Visual C++ version 6.0. กรุงเทพมหานคร : บริษัท ซัคเซส มีเดีย จำกัด, 2544. พรศิริ หมื่นไชยศรี. เอกสารประกอบการสอน Object-Oriented Analysis and Programming (2110442). กรุงเทพมหานคร : ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย, 2543. พีรภัทร์ สว่างเพียร. เทคนิคการเขียนโปรแกรมและเกมด้วย Visual C++. กรุงเทพมหานคร : ซีเอ็ดยูเคชั่น, 2545. ศุภชัย สมพานิช. เข้าใจและใช้งานภาษา XML ฉบับโปรแกรมเมอร์. นนทบุรี : อินโฟเพรส, 2544. สราวุธ อ้อยศรีกุล. ถอดรหัส .net + Web Services. กรุงเทพมหานคร : บริษัทวิตตี้ กรุ๊ป จำกัด, 2544. อภิรักษ์ จิรายุสกุล. วิศวกรรมซอฟต์แวร์. กรุงเทพมหานคร : สำนำพิมพ์มหาวิทยาลัย รามคำแหง, 2544. ภาษาอังกฤษ Bates Jon and Tompkins Tim. Using Visual C++ 6. Indiana : A Division of Macmilan Computer Publishing, 1998. Gamma E., et al. Design Patterns. Massachusetts : Addison Wesley Longman Inc, 1995. Stephen R. Schach. Classical and Object-Oriented Software Engineering. Singapore : The McGraw-Hill Companies Inc, 1999. Simon Watson. A Definition of Web Services. United Kingdom : Intercea, 2002.


ไม่มีความคิดเห็น:

แสดงความคิดเห็น