ขอบเขตงานวิจัย

  • วิจัย เพื่อหารูปแบบของตัวแบบการออกแบบ เฉพาะเจาะจง ก่อนที่จะเข้าสู่กระบวนการพัฒนาซอฟต์แวร์

  • วิจัยหาวิธีการพัฒนาซอฟต์แวร์จากตัวแบบซอฟต์แวร์ โดยไม่ใช้วิธีแปลงแบบซอฟต์แวร์ด้วย Software Tool

ก่อน อื่นต้องขอกล่าวถึง การพัฒนาซอฟต์แวร์ บนพื้นฐานสถาปัตยกรรมที่ผลักดันโดยแบบซอฟต์แวร์ (Model Driven Architecture) ว่าเป็นการพัฒนาซอฟต์แวร์ โดยทำการแบ่งขั้นตอนการพัฒนา ออกเป็น 2 ขั้นตอนหลัก ได้แก่

  1. การพัฒนาตัวแบบซอฟต์แวร์ โดย แบ่งเป็น

    • ตัวแบบเชิงธุรกิจ

    • ตัวแบบเชิงวิเคราะห์

    • ตัวแบบเชิงออกแบบ

  2. การพัฒนาซอฟต์แวร์ จาก ตัวแบบซอฟต์แวร์ โดยทั่วไป ในขั้นตอนนี้ จะเรียกว่าการแปลงแบบซอฟต์แวร์ โดยจะใช้ Software Tool ในการแปลงแบบซอฟต์แวร์ เช่น Acceleo บน Eclipse , StarUML , ObjectIF,Borland Together

    โดยส่วนใหญ่ Software Tool ที่ใช้ จะยึดติดกับ รูปแบบแพล็ทฟอร์ม ที่ใช้ในการแปลง และ ตัวแบบซอฟต์แวร์ที่นำมาแปลงแบบซอฟต์แวร์ จะต้อง พัฒนาขึ้น เป็นไดอะแกรม UML ที่พัฒนาจาก Software Tool เหล่านั้น เท่านั้น

 สรุปข้อเสียของวิํีธีเดิม

1)ยึดติดกับรูปแบบของรหัสโปรแกรม รูปแบบใดรูปแบบหนึ่ง เช่น ชนิดของเฟรมเวิร์ก

2)ไม่ สามารถนำเข้าตัวแบบซอฟต์แวร์ที่พัฒนาจากซอฟต์แวร์อื่นมาใช้งานได้ จึงมีการยึดติดในการสร้างตัวแบบซอฟต์แวร์ด้วยซอฟต์แวร์ใดซอฟต์แวร์หนึ่งเท่า นั้น

3)ไม่สามารถกำหนดรายละเอียดในส่วนของขั้นตอนการทำงาน และขั้นตอนการทวนสอบโครงร่างซอฟต์แวร์ที่แปลงได้

ดังนั้น ผู้วิจัย จึงนำเสนอ วิธีอิมพลีเม้นต์ตัวแบบซอฟต์แวร์ด้วยMVC

  1. พัฒนาตัวแบบซอฟต์แวร์ โดยใช้รูปแบบไดอะแกรม ยูเอ็มแอล ในส่วนของตัวแบบการออกแบบ โดยใช้ คลาสไดอะแกรม สเตทไดอะแกรม และ ยูสเซอร์อินเตอร์เฟสไดอะแกรม ซึ่งแต่ละไดอะแกรมจะถูกกำหนดรายละเอียดในระดับ ตรรกะ

2)ขั้นตอนการทบทวนการออกแบบตัวแบบซอฟต์แวร์ (Software Model Design Review) โดยทบทวน (Review) กับข้อกำหนดความต้องการของซอฟต์แวร์ โดยทำการทบทวน ตัวแบบซอฟต์แวร์ ได้แก่ ตัวแบบเชิงธุรกิจ ตัวแบบเชิงวิเคราะห์ และตัวแบบการออกแบบ กับข้อกำหนดความต้องการของซอฟต์แวร์ในด้านฟังก์ชัน ซึ่งในขั้นตอนการทบทวน จะพิจารณาว่า ตัวแบบซอฟต์แวร์ ทั้ง สาม ตัวแบบ มีความสอดคล้องและครอบคลุมองค์ประกอบ ในข้อกำหนดความต้องการของซอฟต์แวร์ ด้านฟังก์ชัน หรือไม่

  1. แปลงตัวแบบซอฟต์แวร์ ให้อยู่ในรูปแบบของซอฟต์แวร์ที่ใช้โมเดลวิวคอนโทรลเลอร์ ซึ่งจะแปลงคลาสไดอะแกรมเป็นส่วนของโมเดล สเตทไดอะแกรมเป็นส่วนของคอนโทรลเลอร์ และ ยูสเซอร์อินเตอร์เฟสไดอะแกรมเป็นส่วนของการแสดงผล

  2. ขั้นตอนทบทวนการออกแบบซอฟต์แวร์ (Software Design Review) ที่ได้จากการแปลงตัวแบบซอฟต์แวร์ โดยทบทวนกับตัวแบบซอฟต์แวร์ว่ามีความถูกต้อง ตรงตามตัวแบบซอฟต์แวร์หรือไม่ โดยทำการทบทวนกับ ตัวแบบการออกแบบ ซึ่งอยู่ในรูปแบบของ ไดอะแกรม ยูเอ็มแอล ทั้งสาม ไดอะแกรม
    ได้แก่ คลาสไดอะแกรม สเตทไดอะแกรม และ ยูสเซอร์อินเตอร์เฟสไดอะแกรม

    รายละเอียด การทวนสอบตัวแบบซอฟต์แวร์ ใน ข้อ 2)

การทบทวนตัวแบบซอฟต์แวร์ ควรทบทวน ใน 2 ลักษณะ

1.ทบทวนความสอดคล้องของ ตัวแบบซอฟต์แวร์ ทั้ง ตัวแบบเชิงธุรกิจ ตัวแบบเชิงวิเคราะห์ และตัวแบบการออกแบบ ว่าสอดคล้องกับ ข้อกำหนดความต้องการของระบบ หรือไม่

  1. ทบทวนความสอดคล้อง ของตัวแบบซอฟต์แวร์แต่ละขั้นตอน ว่าสอดคล้องกันหรือไม่ ได้แก่

    • จากตัวแบบเชิงธุรกิจ สู่ ตัวแบบเชิงวิเคราะห์

    • จากตัวแบบเชิงวิเคราะห์ สู่ ตัวแบบการออกแบบ

รายละเอียด การทบทวนซอฟต์แวร์ ในข้อ 4)

รายละเอียดที่ต้องทบทวน มีัดังนี้

  1. ความครบถ้วนของฟังก์ชันการทำงานหลัก ตามข้อกำหนดความต้องการของระบบ

  2. ความครบถ้วนของฟังก์ชันการทำงานหลัก กับ รายละเอียดภายใน ตัวแบบการออกแบบที่พัฒนาขึ้นตามแนวทางที่วิจัย

หมายเหตุ :

  1. ตัวแบบกระบวนการทางธุรกิจ เป็นการแสดงข้อกำหนดความต้องการกระบวนงานแบบแผนทางธุรกิจที่

ต้องการให้ซอฟต์แวร์ตอบสนองซึ่งสามารถใช้เนื้อความตัวอักษรในการอธิบายหรือแผนภาพในการอธิบาย

ได้ โดยแสดงภาพการทำงานและความเชื่อมโยงการทำงานในส่วนต่างๆจากกระบวนงานที่เกี่ยวข้องกับการ

ทำงานของซอฟต์แวร์หลัก

        การออกแบบตัวแบบเชิงธุรกิจสามารถแสดงตัวแบบเชิงธุรกิจในรูปแบบต่างๆได้ อาทิเช่น

        1) การกำหนดความต้องการทางธุรกิจ หรือเป้าประสงค์ทางธุรกิจ

        2) แผนภาพเบสิกไดอะแกรม

        3) แผนภาพแพ็กเกจไดอะแกรม
  1. ตัวแบบเชิงวิเคราะห์ (Analysis Model)

        ในส่วนของแบบเชิงวิเคราะห์ เป็นการระบุการทำงานของซอฟต์แวร์ในระดับถัดจากแบบกระบวนการ ทางธุรกิจซึ่งสามารถเป็นแบบที่ได้จากการวิเคราะห์ความต้องการของซอฟต์แวร์ ผนวกกับการออกแบบระดับกลาง โดยการออกแบบตัวแบบเชิงวิเคราะห์นั้น สามารถแสดงตัวแบบเชิงวิเคราะห์ในรูปแบบต่างๆ  อาทิเช่น
    
       1) ยูสเคสไดอะแกรม
    
       2) ซีเควนซ์ไดอะแกรม
    
       3) สเตรทไดอะแกรม
    
       4) แผนภาพความสัมพันธ์ระหว่างเอนทิตี
    
  2. ตัวแบบการออกแบบ (Design Model)

      ตัวแบบการออกแบบได้มาจากการนำแบบเชิงวิเคราะห์ของซอฟต์แวร์มาขยายเพิ่ม ในการทำงานเพื่อให้ผู้พัฒนาเขียนโปรแกรมการดำเนินการในระดับล่างได้ ซึ่งตัวแบบการออกแบบนี้จะเป็นขั้นตอนสุดท้ายก่อนที่
    

จะเข้าสู่ขั้นตอน การสร้างซอฟต์แวร์ต่อไป โดยตัวแบบการออกแบบ จะทำให้เราเห็นภาพชัดเจนที่สุดว่าในซอฟต์แวร์ประกอบไปด้วยรายละเอียดส่วนใด บ้าง ซึ่งสามารถแสดงตัวแบบการออกแบบ ในรูปแบบต่างๆ ได้ เช่น

       1) ยูสเซอร์อินเตอร์เฟซ

       2) คลาสไดอะแกรม

       3) ซอฟต์แวร์ต้นแบบ หรือ ซอฟต์แวร์โปรโตไทป์

ติชมได้เลยนะครับ ^^

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

คือพัฒนาออกมาเป็น Concept ในการพัฒนาอะครับ คือ ใช้หลักการของ MDA แต่เวลา ขั้นตอน implement ปกติแล้ว จะ transform ด้วย software อันนี้ผมก็กำหนดกรอบแนวคิดแบบกว้างๆ คือ ใช้ MVC มาใช้ในการ implement แทน โดย งานวิจัยตัวนี้ ผมวิจัยในส่วนที่บอกว่า ในขั้นตอนการพัฒนาตามหลัก MDA ตัวแบบแต่ละตัวแบบ นั้น แทนด้วย อะไร ด้วยครับ

ตั้งใจอยากให้มันเป็น software development approach เหมือนพวก agile น่ะครับ

ขอบคุณครับ

PaPaSEK Wed, 27/04/2011 - 20:42

แนะนำเรื่อง Subject นะครับ

Approach way เปลี่ยนเป็น Approach to ครับ

Approach แปลว่าวิธีการอยู่แล้วครับไม่ต้องมี way ครับ

เนื้อหาโดยรวมถือว่าค่อนข้างละเอียดครับ

แต่การจัดกลุ่มเนื้อหาควรแบ่งให้ชัดเจนกว่านี้ เช่น ขอบเขต วัตถุประสงค์ Preface, Introduction ฯลฯ

ตอนนี้ดูเหมือนว่ารวมกันไปหมดและลำดับของเนื้อหายังไม่เข้าที่เข้าทาง ควรเรียงลำดับว่าอะไรควรมาก่อนหลังให้ดี แล้วก็ต้องแยกให้ถูกด้วยว่าเนื้อหาส่วนไหนควรอยู่ในส่วนใดครับ

[ใช้คำไทยแบบนี้ ผมอ่านไม่ค่อยถนัดเลยแฮะ]
mvc มันเป็น architectural design นะครับ การเอา mvc มาใช้ มันไม่ได้แก้ปัญหาตามที่คุณระบุเลยไว้เลย
การออกแบบตาม mvc สุดท้ายคุณก็ต้องdesign m/v/c อยู่ดี ซึ่งdesign ดังกล่าวนี้ก็อาจถูกนำเสนอด้วย UML หรือ semi-formal language ตัวอื่น ๆ แล้วต่อมาคุณก็เขียนว่าคุณจะใช้ UML ในการออกแบบ (ตามข้อ1) อีก มันก็กลับมาปัญหาเดิมอีกน่ะซิครับ

ปล. ตามที่คุณ PaPaSEK บอกนะครับ จัดหัวข้อให้ดี เพราะผมอ่านแล้วไม่ค่อยเก็ตว่าคุณจะทำอะไรกันแน่
อีกอย่าง เรื่องคำศัพท์ จะใช้คำไทยก็ดีครับ แต่ตอนใช้ครั้งแรก ถ้าวงเล็บคำอังกฤษไว้ข้างหลังก็จะทำให้คนอ่านอ่านได้ง่ายขึ้นนะครับ

ขอบคุณสำหรับคำแนะนำครับ คือ จริงๆแล้ว ที่ผมนำ MVC มาใช้ คือนำมาแก้ปัญหา ในการ implement การพัฒนาซอฟต์แวร์ บนพื้นฐานสถาปัตยกรรมที่ขับเคลื่อนด้วยตัวแบบ ซอฟต์แวร์ (MDA) ครับ

ซึ่งที่คุณ Taiko_gogo บอกว่าการออกแบบ ตาม MVC ก็ต้องออกแบบ m/v/c อยู่ดี ใช่ครับ มันต้องออกแบบอยู่แล้ว แต่ใน สิ่งทีผมเสนอคือ เราออกแบบมาตั้งแต่ใน ขั้นตอน ตัวแบบการออกแบบ ตามการออกพัฒนาซอฟต์แวร์ แบบ MDA ครับ คือสรุปแล้ว ใช้ MVC มา implement ตัวแบบ ที่เราออกแบบขึ้น เพื่อใช้ใน MDA แทนที่เราจะใช้ซอฟต์แวร์แปลง มาใช้ MVC แทนครับ

ส่วนเรื่องการเขียนหัวข้อนั้น เดี๋ยวจะนำไปปรับปรุงครับ