ขอบเขตงานวิจัย
-
วิจัย เพื่อหารูปแบบของตัวแบบการออกแบบ เฉพาะเจาะจง ก่อนที่จะเข้าสู่กระบวนการพัฒนาซอฟต์แวร์
-
วิจัยหาวิธีการพัฒนาซอฟต์แวร์จากตัวแบบซอฟต์แวร์ โดยไม่ใช้วิธีแปลงแบบซอฟต์แวร์ด้วย Software Tool
ก่อน อื่นต้องขอกล่าวถึง การพัฒนาซอฟต์แวร์ บนพื้นฐานสถาปัตยกรรมที่ผลักดันโดยแบบซอฟต์แวร์ (Model Driven Architecture) ว่าเป็นการพัฒนาซอฟต์แวร์ โดยทำการแบ่งขั้นตอนการพัฒนา ออกเป็น 2 ขั้นตอนหลัก ได้แก่
-
การพัฒนาตัวแบบซอฟต์แวร์ โดย แบ่งเป็น
-
ตัวแบบเชิงธุรกิจ
-
ตัวแบบเชิงวิเคราะห์
-
ตัวแบบเชิงออกแบบ
-
-
การพัฒนาซอฟต์แวร์ จาก ตัวแบบซอฟต์แวร์ โดยทั่วไป ในขั้นตอนนี้ จะเรียกว่าการแปลงแบบซอฟต์แวร์ โดยจะใช้ Software Tool ในการแปลงแบบซอฟต์แวร์ เช่น Acceleo บน Eclipse , StarUML , ObjectIF,Borland Together
โดยส่วนใหญ่ Software Tool ที่ใช้ จะยึดติดกับ รูปแบบแพล็ทฟอร์ม ที่ใช้ในการแปลง และ ตัวแบบซอฟต์แวร์ที่นำมาแปลงแบบซอฟต์แวร์ จะต้อง พัฒนาขึ้น เป็นไดอะแกรม UML ที่พัฒนาจาก Software Tool เหล่านั้น เท่านั้น
สรุปข้อเสียของวิํีธีเดิม
1)ยึดติดกับรูปแบบของรหัสโปรแกรม รูปแบบใดรูปแบบหนึ่ง เช่น ชนิดของเฟรมเวิร์ก
2)ไม่ สามารถนำเข้าตัวแบบซอฟต์แวร์ที่พัฒนาจากซอฟต์แวร์อื่นมาใช้งานได้ จึงมีการยึดติดในการสร้างตัวแบบซอฟต์แวร์ด้วยซอฟต์แวร์ใดซอฟต์แวร์หนึ่งเท่า นั้น
3)ไม่สามารถกำหนดรายละเอียดในส่วนของขั้นตอนการทำงาน และขั้นตอนการทวนสอบโครงร่างซอฟต์แวร์ที่แปลงได้
ดังนั้น ผู้วิจัย จึงนำเสนอ วิธีอิมพลีเม้นต์ตัวแบบซอฟต์แวร์ด้วยMVC
- พัฒนาตัวแบบซอฟต์แวร์ โดยใช้รูปแบบไดอะแกรม ยูเอ็มแอล ในส่วนของตัวแบบการออกแบบ โดยใช้ คลาสไดอะแกรม สเตทไดอะแกรม และ ยูสเซอร์อินเตอร์เฟสไดอะแกรม ซึ่งแต่ละไดอะแกรมจะถูกกำหนดรายละเอียดในระดับ ตรรกะ
2)ขั้นตอนการทบทวนการออกแบบตัวแบบซอฟต์แวร์ (Software Model Design Review) โดยทบทวน (Review) กับข้อกำหนดความต้องการของซอฟต์แวร์ โดยทำการทบทวน ตัวแบบซอฟต์แวร์ ได้แก่ ตัวแบบเชิงธุรกิจ ตัวแบบเชิงวิเคราะห์ และตัวแบบการออกแบบ กับข้อกำหนดความต้องการของซอฟต์แวร์ในด้านฟังก์ชัน ซึ่งในขั้นตอนการทบทวน จะพิจารณาว่า ตัวแบบซอฟต์แวร์ ทั้ง สาม ตัวแบบ มีความสอดคล้องและครอบคลุมองค์ประกอบ ในข้อกำหนดความต้องการของซอฟต์แวร์ ด้านฟังก์ชัน หรือไม่
-
แปลงตัวแบบซอฟต์แวร์ ให้อยู่ในรูปแบบของซอฟต์แวร์ที่ใช้โมเดลวิวคอนโทรลเลอร์ ซึ่งจะแปลงคลาสไดอะแกรมเป็นส่วนของโมเดล สเตทไดอะแกรมเป็นส่วนของคอนโทรลเลอร์ และ ยูสเซอร์อินเตอร์เฟสไดอะแกรมเป็นส่วนของการแสดงผล
-
ขั้นตอนทบทวนการออกแบบซอฟต์แวร์ (Software Design Review) ที่ได้จากการแปลงตัวแบบซอฟต์แวร์ โดยทบทวนกับตัวแบบซอฟต์แวร์ว่ามีความถูกต้อง ตรงตามตัวแบบซอฟต์แวร์หรือไม่ โดยทำการทบทวนกับ ตัวแบบการออกแบบ ซึ่งอยู่ในรูปแบบของ ไดอะแกรม ยูเอ็มแอล ทั้งสาม ไดอะแกรม
ได้แก่ คลาสไดอะแกรม สเตทไดอะแกรม และ ยูสเซอร์อินเตอร์เฟสไดอะแกรมรายละเอียด การทวนสอบตัวแบบซอฟต์แวร์ ใน ข้อ 2)
การทบทวนตัวแบบซอฟต์แวร์ ควรทบทวน ใน 2 ลักษณะ
1.ทบทวนความสอดคล้องของ ตัวแบบซอฟต์แวร์ ทั้ง ตัวแบบเชิงธุรกิจ ตัวแบบเชิงวิเคราะห์ และตัวแบบการออกแบบ ว่าสอดคล้องกับ ข้อกำหนดความต้องการของระบบ หรือไม่
-
ทบทวนความสอดคล้อง ของตัวแบบซอฟต์แวร์แต่ละขั้นตอน ว่าสอดคล้องกันหรือไม่ ได้แก่
-
จากตัวแบบเชิงธุรกิจ สู่ ตัวแบบเชิงวิเคราะห์
-
จากตัวแบบเชิงวิเคราะห์ สู่ ตัวแบบการออกแบบ
-
รายละเอียด การทบทวนซอฟต์แวร์ ในข้อ 4)
รายละเอียดที่ต้องทบทวน มีัดังนี้
-
ความครบถ้วนของฟังก์ชันการทำงานหลัก ตามข้อกำหนดความต้องการของระบบ
-
ความครบถ้วนของฟังก์ชันการทำงานหลัก กับ รายละเอียดภายใน ตัวแบบการออกแบบที่พัฒนาขึ้นตามแนวทางที่วิจัย
หมายเหตุ :
- ตัวแบบกระบวนการทางธุรกิจ เป็นการแสดงข้อกำหนดความต้องการกระบวนงานแบบแผนทางธุรกิจที่
ต้องการให้ซอฟต์แวร์ตอบสนองซึ่งสามารถใช้เนื้อความตัวอักษรในการอธิบายหรือแผนภาพในการอธิบาย
ได้ โดยแสดงภาพการทำงานและความเชื่อมโยงการทำงานในส่วนต่างๆจากกระบวนงานที่เกี่ยวข้องกับการ
ทำงานของซอฟต์แวร์หลัก
การออกแบบตัวแบบเชิงธุรกิจสามารถแสดงตัวแบบเชิงธุรกิจในรูปแบบต่างๆได้ อาทิเช่น
1) การกำหนดความต้องการทางธุรกิจ หรือเป้าประสงค์ทางธุรกิจ
2) แผนภาพเบสิกไดอะแกรม
3) แผนภาพแพ็กเกจไดอะแกรม
-
ตัวแบบเชิงวิเคราะห์ (Analysis Model)
ในส่วนของแบบเชิงวิเคราะห์ เป็นการระบุการทำงานของซอฟต์แวร์ในระดับถัดจากแบบกระบวนการ ทางธุรกิจซึ่งสามารถเป็นแบบที่ได้จากการวิเคราะห์ความต้องการของซอฟต์แวร์ ผนวกกับการออกแบบระดับกลาง โดยการออกแบบตัวแบบเชิงวิเคราะห์นั้น สามารถแสดงตัวแบบเชิงวิเคราะห์ในรูปแบบต่างๆ อาทิเช่น 1) ยูสเคสไดอะแกรม 2) ซีเควนซ์ไดอะแกรม 3) สเตรทไดอะแกรม 4) แผนภาพความสัมพันธ์ระหว่างเอนทิตี -
ตัวแบบการออกแบบ (Design Model)
ตัวแบบการออกแบบได้มาจากการนำแบบเชิงวิเคราะห์ของซอฟต์แวร์มาขยายเพิ่ม ในการทำงานเพื่อให้ผู้พัฒนาเขียนโปรแกรมการดำเนินการในระดับล่างได้ ซึ่งตัวแบบการออกแบบนี้จะเป็นขั้นตอนสุดท้ายก่อนที่
จะเข้าสู่ขั้นตอน การสร้างซอฟต์แวร์ต่อไป โดยตัวแบบการออกแบบ จะทำให้เราเห็นภาพชัดเจนที่สุดว่าในซอฟต์แวร์ประกอบไปด้วยรายละเอียดส่วนใด บ้าง ซึ่งสามารถแสดงตัวแบบการออกแบบ ในรูปแบบต่างๆ ได้ เช่น
1) ยูสเซอร์อินเตอร์เฟซ
2) คลาสไดอะแกรม
3) ซอฟต์แวร์ต้นแบบ หรือ ซอฟต์แวร์โปรโตไทป์
ติชมได้เลยนะครับ ^^
on
อ่านแล้วไม่ค่อยเข้าใจแฮะ
mibtrex Tue, 26/04/2011 - 15:52
อ่านแล้วไม่ค่อยเข้าใจแฮะ ว่าสรุปแล้ววิธีนี้คือการทำ MVC แบบไม่ขึ้นอยู่กับ Framework หรอ ??
คือพัฒนาออกมาเป็น Concept
plaboo Tue, 26/04/2011 - 15:54
คือพัฒนาออกมาเป็น Concept ในการพัฒนาอะครับ คือ ใช้หลักการของ MDA แต่เวลา ขั้นตอน implement ปกติแล้ว จะ transform ด้วย software อันนี้ผมก็กำหนดกรอบแนวคิดแบบกว้างๆ คือ ใช้ MVC มาใช้ในการ implement แทน โดย งานวิจัยตัวนี้ ผมวิจัยในส่วนที่บอกว่า ในขั้นตอนการพัฒนาตามหลัก MDA ตัวแบบแต่ละตัวแบบ นั้น แทนด้วย อะไร ด้วยครับ
ตั้งใจอยากให้มันเป็น software development approach เหมือนพวก agile น่ะครับ
ขอบคุณครับ
แนะนำเรื่อง Subject
PaPaSEK Wed, 27/04/2011 - 20:42
แนะนำเรื่อง Subject นะครับ
Approach way เปลี่ยนเป็น Approach to ครับ
Approach แปลว่าวิธีการอยู่แล้วครับไม่ต้องมี way ครับ
ขอบคุณมากครับ ว่าแต่
plaboo Wed, 27/04/2011 - 22:27
In reply to แนะนำเรื่อง Subject by PaPaSEK
ขอบคุณมากครับ ว่าแต่ เนื้อหาพอได้ไหมครับ
เนื้อหาโดยรวมถือว่าค่อนข้างละ
PaPaSEK Thu, 28/04/2011 - 14:57
In reply to ขอบคุณมากครับ ว่าแต่ by plaboo
เนื้อหาโดยรวมถือว่าค่อนข้างละเอียดครับ
แต่การจัดกลุ่มเนื้อหาควรแบ่งให้ชัดเจนกว่านี้ เช่น ขอบเขต วัตถุประสงค์ Preface, Introduction ฯลฯ
ตอนนี้ดูเหมือนว่ารวมกันไปหมดและลำดับของเนื้อหายังไม่เข้าที่เข้าทาง ควรเรียงลำดับว่าอะไรควรมาก่อนหลังให้ดี แล้วก็ต้องแยกให้ถูกด้วยว่าเนื้อหาส่วนไหนควรอยู่ในส่วนใดครับ
[ใช้คำไทยแบบนี้
taiko_gogo Sat, 30/04/2011 - 00:13
[ใช้คำไทยแบบนี้ ผมอ่านไม่ค่อยถนัดเลยแฮะ]
mvc มันเป็น architectural design นะครับ การเอา mvc มาใช้ มันไม่ได้แก้ปัญหาตามที่คุณระบุเลยไว้เลย
การออกแบบตาม mvc สุดท้ายคุณก็ต้องdesign m/v/c อยู่ดี ซึ่งdesign ดังกล่าวนี้ก็อาจถูกนำเสนอด้วย UML หรือ semi-formal language ตัวอื่น ๆ แล้วต่อมาคุณก็เขียนว่าคุณจะใช้ UML ในการออกแบบ (ตามข้อ1) อีก มันก็กลับมาปัญหาเดิมอีกน่ะซิครับ
ปล. ตามที่คุณ PaPaSEK บอกนะครับ จัดหัวข้อให้ดี เพราะผมอ่านแล้วไม่ค่อยเก็ตว่าคุณจะทำอะไรกันแน่
อีกอย่าง เรื่องคำศัพท์ จะใช้คำไทยก็ดีครับ แต่ตอนใช้ครั้งแรก ถ้าวงเล็บคำอังกฤษไว้ข้างหลังก็จะทำให้คนอ่านอ่านได้ง่ายขึ้นนะครับ
ขอบคุณสำหรับคำแนะนำครับ คือ
plaboo Sat, 30/04/2011 - 18:13
In reply to [ใช้คำไทยแบบนี้ by taiko_gogo
ขอบคุณสำหรับคำแนะนำครับ คือ จริงๆแล้ว ที่ผมนำ MVC มาใช้ คือนำมาแก้ปัญหา ในการ implement การพัฒนาซอฟต์แวร์ บนพื้นฐานสถาปัตยกรรมที่ขับเคลื่อนด้วยตัวแบบ ซอฟต์แวร์ (MDA) ครับ
ซึ่งที่คุณ Taiko_gogo บอกว่าการออกแบบ ตาม MVC ก็ต้องออกแบบ m/v/c อยู่ดี ใช่ครับ มันต้องออกแบบอยู่แล้ว แต่ใน สิ่งทีผมเสนอคือ เราออกแบบมาตั้งแต่ใน ขั้นตอน ตัวแบบการออกแบบ ตามการออกพัฒนาซอฟต์แวร์ แบบ MDA ครับ คือสรุปแล้ว ใช้ MVC มา implement ตัวแบบ ที่เราออกแบบขึ้น เพื่อใช้ใน MDA แทนที่เราจะใช้ซอฟต์แวร์แปลง มาใช้ MVC แทนครับ
ส่วนเรื่องการเขียนหัวข้อนั้น เดี๋ยวจะนำไปปรับปรุงครับ