มาตรฐานและเทคโนโลยีในการพัฒนาเชิงคอมโพเนนต์ อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (tko@webmail.npru.ac.th)
องค์ประกอบที่ทำให้โปรเจ็กต์ประสบความสำเร็จ Brown, A. W. (2000). Component-Based Development.
บทบาทหน้าที่ของการทำงาน ในการออกแบบที่ซับซ้อนและการพัฒนาความโครงการให้สำเร็จด้วยจำนวนเงินที่เหมาะสม เกิดจากความพยายามทำกิจกรรมที่หลากหลาย ความสมดุลระหว่างองค์ประกอบต่าง ๆ เป็นกุญแจสู่ความสำเร็จ แต่ละคนมีบทบาทสำคัญในการทำงาน http://www.ctcroleplay.co.uk/
Component Infrastructure Technology สรุปท้ายบท หัวข้อที่สนใจ บทนำ The Unified Modeling Language (UML) The Microsoft Repository Component Infrastructure Technology สรุปท้ายบท
บทนำ การมุ่งเน้นที่เทคโนโลยี – ข้อตกลงเกี่ยวกับคุณสมบัติของเทคโนโลยี การประยุกต์ใช้และการสนับสนุนการแข่งขันทางตลาดตามมาตรฐาน แนวทางใหม่ "ข้ามช่องว่าง" จากการเริ่มต้นทำงานไปยังงานหลักในองค์กรมีอยู่ที่หลายประเด็นในการพัฒนาแอปพลิเคชันที่มีประสิทธิภาพ ข้อจำกัดของการประยุกต์ใช้เทคโนโลยีอย่างมีประสิทธิภาพภายในองค์กร https://conservationbytes.com/2012/04/24/size-is-the-question/ https://pixabay.com/th
การนำเทคโนโลยีมาช่วยใน CBD การพัฒนาเชิงคอมโพเนนต์ให้ความสำคัญกับ เทคโนโลยีที่ใช้ในการออกแบบสถาปัตยกรรมและการจัดการคอมโพเนนต์ วิธีการและเทคนิคที่เหมาะสมตามหลักการประกอบชิ้นส่วนของซอฟต์แวร์ การศึกษา ฝึกอบรมและประสบการณ์ของผู้พัฒนาซอฟต์แวร์แต่ละรายและความพร้อมขององค์กรโดยรวม การทำให้ดูเหมือนง่าย และธรรมดา
3 มุมมองในการพัฒนาเชิงคอมโพเนนต์ Brown, A. W. (2000). Component-Based Development.
Unified Modeling Language (UML) ภาษาที่ใช้สัญกรณ์สร้างแบบจำลองแนวคิด ทำให้เข้าใจตรงกันการทำงานของสิ่งที่สนใจ ช่วยอธิบายถึงซอฟต์แวร์ที่เป็นนามธรรม นำไปสู่การเขียนโค้ดโปรแกรม ด้วยภาษาคอมพิวเตอร์ที่แตกต่างกัน อุตสาหกรรมซอฟต์แวร์มีการใช้เอกสารและภาษาแบบจำลองมากมาย การหาเครื่องมือที่เหมาะสมสำหรับการสนับสนุนการออกแบบและพัฒนา https://en.wikipedia.org/wiki/Unified_Modeling_Language
อะไรคือ UML การวิเคราะห์เชิงวัตถุและการออกแบบ ได้รับการพัฒนาโดยกลุ่มผู้นำด้านการวิเคราะห์และออกแบบเชิงวัตถุ ได้การยอมรับและการสนับสนุนอย่างกว้างขวางในการทำงานของผู้เชี่ยวชาญโดยการส่งข้อมูล UML ไปเป็นกระบวนการมาตรฐานภายในกลุ่มการจัดการวัตถุ (OMG) และเป็นมาตรฐานแบบเปิด การสร้างสิ่งที่ใช้อธิบายและสนับสนุนการแลกเปลี่ยนสิ่งที่ต้องการโดยใช้ภาษา https://sites.google.com/site/umlprofilediagram/khxmul/extension
วิวัฒนาการของ UML https://www.slideshare.net/kronat/4-uml-basic
แผนภาพที่กำหนดใน UML Use case diagram. Class diagram. Behavior diagrams: State diagram. Activity diagram. Sequence diagram. Collaboration diagram. Package diagram. Implementation diagrams: Component diagram. Deployment diagram.
การสร้างแบบจำลองชิ้นส่วนด้วย UML ตัวขับเคลื่อนในแต่ละกรณีการใช้งาน (Use-Case Driven) สถาปัตยกรรมแบบส่วนกลาง (Architecture Centric) การทำซ้ำและการเพิ่มเติม (Iterative and Incremental) https://mugegures.wordpress.com/2016/11/20/emsalsiz-scenario-program/
แนวคิดหลักของ UML ส่วนสำคัญในการใช้งานภาษายูเอ็มแอลในการวิเคราะห์ออกแบบ การใช้แนวคิดเชิงวัตถุ (modern object-oriented approaches) การวิเคราะห์รูปแบบและจำลองตัวต้นแบบ (patterns and stereotypes) https://softwareengineering.stackexchange.com/questions/313743/developing-a-calculator-using-the-command-pattern
รูปแบบการออกแบบซอฟต์แวร์ (Design Patterns) แนวความคิดของรูปแบบการออกแบบซอฟต์แวร์ด้วยการวิเคราะห์เชิงวัตถุ รูปแบบที่จัดทำเป็นเอกสาร ถือเป็นแนวทางในการแก้ปัญหา การวิเคราะห์ออกแบบหรือการใช้งาน ด้วยรูปแบบที่ได้รับการพิสูจน์แล้วและง่ายต่อการใช้ซ้ำได้ รูปแบบที่สามารถนำมาใช้เป็น “แบบจำลองคำตอบ” แนวทางในการกำหนดสถานการณ์ทั่วไปได้ การออกแบบเชิงวัตถุที่ดีและเรียนรู้ตามตัวอย่างที่ทำมาแล้ว https://www.safaribooksonline.com/library/view/learning-php-design/9781449344900/ch06.html
การจำลองตัวต้นแบบ (Stereotypes) UML มีกลไกส่วนขยายที่ใช้กฎที่นำมาใช้สร้างแผนภาพ เพื่ออธิบายความหมาย ตัวอย่างเช่น เมื่อกำหนดแผนภาพคลาสไว้ล่วงหน้า เป็นแนวคิดในการสร้างแบบจำลองในการทำงานและอินเทอร์เฟซต่าง ๆ กำหนดรูปแบบเพิ่มเติม เพื่อตรวจสอบแนวคิดในการสร้างแบบจำลองที่ใช้เป็นพื้นฐานเฉพาะโดเมน http://slideplayer.com/slide/10954316/
การเข้าถึงแหล่งข้อมูลร่วมกัน ฐานข้อมูลที่เก็บและแชร์ส่วนประกอบแบบจำลองวัตถุและความสัมพันธ์ของข้อมูลที่อธิบายคอมโพเนนต์ที่พร้อมใช้งาน ตำแหน่งและวิธีจัดเก็บส่วนประกอบเพื่อให้สามารถแชร์และค้นหาได้อย่างมีประสิทธิภาพระหว่างกลุ่มผู้ใช้ การจัดการและติดตามส่วนประกอบทั้งองค์กร ข้อกำหนดเกี่ยวกับคอมโพเนนต์ที่ให้ข้อมูลเชิงพรรณนา การบันทึกข้อกำหนดของคอมโพเนนต์เป็นสิ่งที่แยกจากกัน การจัดการเป็นสิ่งจำเป็นสำหรับการนำกลับมาใช้ใหม่ เครื่องมือในการพัฒนาทีม การจัดการทรัพยากรและการติดตาม https://repository.jpostdb.org/
การออกแบบแนวคิดของพื้นที่เก็บข้อมูลร่วมกัน เครื่องมือเพื่อแบ่งปันข้อมูลเกี่ยวกับคอมโพเนนต์ทั้ง 2 ระดับ การเข้าถึงเครื่องมือเก็บข้อมูล ผ่านอินเทอร์เฟซการเขียนโปรแกรม (API) บางส่วนของข้อมูลที่จัดเก็บและเรียกค้นจากเครื่องมือจัดเก็บข้อมูล การแบ่งปันในที่เก็บข้อมูล ดึงข้อมูลโดยใช้ API และตีความข้อมูลโดยใช้แบบจำลองข้อมูลได้ กำหนดข้อตกลง อินเทอร์เฟซแบบวัตถุกับระบบฐานข้อมูลเชิงสัมพันธ์ การสร้างแบบจำลองข้อมูลที่เก็บข้อมูลแบบขยายเพิ่มได้ http://www.ict.rmutt.ac.th/?p=1177 http://gepardenforelle.com/understand-api-testing-load-testing/
เทคโนโลยี Information Models สำหรับ CBD ระบบคอมพิวเตอร์เพื่อควบคุมกระบวนการต่างๆให้สอดคล้องและถูกต้องมากยิ่งขึ้น เครื่องมือที่ใช้จัดเก็บต้องกำหนดชนิดของข้อมูลที่จะจัดการ คำจำกัดความของข้อมูล ด้วยการสร้างรูปแบบข้อมูล และใช้เครื่องมือที่เหมาะสมตาม รูปแบบข้อมูล การแสดงข้อมูลที่น่าสนใจ รูปแบบข้อมูลที่ถูกเก็บไว้ในฐานข้อมูล ทำให้เครื่องมืออื่น ๆ สามารถใช้แบบจำลองข้อมูลนั้นได้ เพื่อเข้าถึงข้อมูลพื้นที่เก็บข้อมูลได้
แบบจำลองข้อมูลแบบเปิด Open Information Model (OIM). Microsoft Development Objects (MDO)
ส่วนประกอบโครงสร้างด้านเทคโนโลยี วิธีการใช้องค์ประกอบที่อยู่ในรูปโครงสร้างเรียกว่า “ตัวกลาง” การจัดการรายละเอียดในการประสานงานขององค์ประกอบต่าง ๆ โครงสร้างพื้นฐานของการจัดการคอมโพเนนต์ที่ใช้ร่วมกัน โครงสร้างของข้อจำกัดในการออกแบบและการใช้ส่วนประกอบ การปฏิบัติตามข้อจำกัดของผู้พัฒนาส่วนประกอบและแอปพลิเคชันนั้น โครงสร้างพื้นฐานของส่วนประกอบ และบริการที่จัดหาได้
ส่วนประกอบโครงสร้างพื้นฐานที่ให้บริการ Packaging. Distribution. Security. Transaction Management. Asynchronous Communication.
ส่วนประกอบโครงสร้างพื้นฐานในการอิมพลีเมนต์ การใช้องค์ประกอบโครงสร้างพื้นฐานเกิดสมมติฐานที่เรียบง่าย: บริการทั่วไปสำหรับส่วนประกอบต่าง ๆ ควรจัดเตรียมไว้ คือ การควบคุมให้เกิดความยืดหยุ่นและช่วยให้นักพัฒนาซอฟต์แวร์สามารถทำตามข้อกำหนดธุรกิจ บริการแบ่งออกเป็นหลายประเภท ตามองค์ประกอบโครงสร้างที่ต้องรับผิดชอบต่อบริการต่าง ๆ
สถาปัตยกรรมที่ใช้จัดการคอมโพเนนต์ผ่านวัตถุ โครงสร้างพื้นฐานของคอมโพเนนต์ และโซลูชันที่ใช้งาน องค์ประกอบหลักตามโครงสร้างการจัดการวัตถุ (OMG) สถาปัตยกรรมการประมวลผลแบบกระจายของไมโครซอฟต์ เทคโนโลยีส่วนประกอบแบบกระจายของจาวา ในการสร้างแอปพลิเคชันที่ต้องอ้างอิงองค์ประกอบในระดับองค์กร การสนับสนุนโดยชุดมาตรฐานและผลิตภัณฑ์ ทบทวนองค์ประกอบหลักของแนวทางหลัก
เทคโนโลยี COM+ ไมโครซอฟท์ (Microsoft) เป็นบริษัทซอฟต์แวร์ขนาดใหญ่ มีอิทธิพลในการจัดการองค์ประกอบและวิธีการเชิงคอมโพเนนต์ ไมโครซอฟท์มีการพัฒนาแอปพลิเคชันเดสก์ท็อปไปถึงระดับองค์กร อนาคตของการพัฒนาแอปพลิเคชันที่ใช้ส่วนประกอบจะเพิ่มมากขึ้น “Component Services”
สภาพแวดล้อมของคอมโพเนนต์แบบแจกแจงของจาวา การใช้ภาษาจาวาสำหรับพัฒนาแอพพลิเคชันฝั่งไคลเอ็นต์สำหรับเว็บ ภาษาจาวาที่ใช้เขียนโปรแกรมโต้ตอบในหน้าเว็บเพจ ส่วนสำคัญของชุดของเทคโนโลยีสำหรับการพัฒนาระบบแบบกระจายด้วยส่วนประกอบ มีการกำหนดคุณสมบัติในการเขียนโปรแกรม http://slideplayer.com/slide/9137538/
องค์ประกอบของแม่ข่าย EJB Brown, A. W. (2000). Component-Based Development.
สรุปท้ายบท การพัฒนาระบบกระจายขนาดใหญ่เป็นงานที่ซับซ้อนและมีข้อผิดพลาด มีการใช้หลายเทคโนโลยีที่จำเป็นสำหรับโซลูชันที่สมบูรณ์ในองค์กร ประเด็นสำคัญสามประการ สัญกรณ์ที่ใช้จำลององค์ประกอบ วิธีการจัดเก็บองค์ประกอบ ส่วนประกอบในโครงสร้างพื้นฐานคอมโพเนนต์ ชุดเครื่องมือสถาปัตยกรรมและกลยุทธ์ที่ใช้ส่วนประกอบ การใช้เทคโนโลยีต้องใช้วิธีการและเทคนิคให้เหมาะสม แนวทางการสร้างแบบจำลองเชิงวัตถุ