• user warning: Table 'cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:4eb74e4df5c0c3234c6f1bc72ab091be' in /home/tgv/htdocs/includes/cache.inc on line 27.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<!--paging_filter--><p align=\"center\">\n<u><span style=\"color: #0567f9\"><b>การพัฒนาซอฟต์แวร์แนวใหม่ ซอฟต์แวร์เชิงวัตถุ</b><br />\n</span></u>\n</p>\n<div>\n</div>\n<p> ในรอบห้าสิบปีที่มีคอมพิวเตอร์ใช้ การพัฒนาซอฟต์แวร์ได้เปลี่ยนแปลงตามสภาพการพัฒนา เริ่มจากการคิดค้นหาภาษาคอมพิวเตอร์เพื่อช่วยในการสั่งการ การพัฒนาซอฟต์แวร์ที่ใช้งานจึงขึ้นอยู่กับการเขียนโปรแกรมโปรแกรมจึงเป็น ลำดับการทำงานของคอมพิวเตอร์</p>\n<p>ในยุคต้น ภาษาที่ใช้สั่งการเป็นภาษาเชิงลำดับ งานประยุกต์จึงใช้ภาษาเชิงลำดับสั่งงาน เช่น วานพัฒนาซอฟต์แวร์ด้วยภาษาฟอร์แทรน เบสิก โคบอล ต่อมาเมื่อพบว่างานที่สั่งให้คอมพิวเตอร์ทำมีความซับซ้อนมากขึ้น การสั่งงานทำให้วิธีการเขียนโปรแกรมขึ้นอยู่กับตัวบุคคล เพราะลำดับความคิดที่ถ่ายออกมาเป็นรูปโปรแกรมนั้นยากที่จะทำความเข้าใจได้ โปรแกรมที่พัฒนาจึงขึ้นกับตัวบุคคล ไม่สามารถให้อีกบุคคลหนึ่งดำเนินการตรวจสอบหรือทำความเข้าใจเกี่ยวกับ โปรแกรมได้ง่าย</p>\n<p>ความคิดนี้จึงต้องทำซอฟต์แวร์ให้เป็นโครงสร้าง มีการนิยามภาษาคอมพิวเตอร์แบบกระบวนความ (procedure) เน้นการพัฒนาซอฟต์แวร์แบบโครงสร้าง จึงมีการใช้โปรแกรมแบบโครงสร้าง การพัฒนาภาษาคอมพิวเตอร์หรือเครื่องมือที่ใช้ในการพัฒนาซอฟต์แวร์จึงเน้นแบบ โครงสร้าง ใช้ภาษาปาสคาล ซี หรือภาษาต่าง ๆ ที่พัฒนามาในรูปแบบกระบวนความ เพื่อให้มีการพัฒนาซอฟต์แวร์แบบท้อปดาวน์มากขึ้น</p>\n<p>อย่างไรก็ตาม การพัฒนาซอฟต์แวร์แบบกระบวนความที่เป็นโครงสร้างก็ยังเป็นแนวทางของการพัฒนา ซอฟต์แวร์แบบนามธรรม ใช้จินตนาการ ดังนั้นการสร้างจินตนาการในงานที่ซับซ้อนยังเป็นเรื่องยาก ซอฟต์แวร์ตามแนวจินตนาการของบุคคลหนึ่งจึงยากที่จะนำมาใช้กับอีกบุคคลหนึ่ง ซอฟต์แวร์ที่พัฒนาแล้วยังยากที่จะนำมาใช้งานใหม่ ทั่วโลกจึงมีซอฟต์แวร์ที่เขียนกันขึ้นมามากมาย ยากที่จะนำกลับมาใช้ใหม่ได้\n</p>\n<div align=\"center\">\n<b>แนวคิดแบบปรับกระบวนทัศน์</b>\n</div>\n<p>\n<br />\nความคิดในเรื่องการปรับกระบวนทัศน์(paradigm) มีมาหลายครั้งแล้ว ในช่วงปี ค.ศ. 1980-1990 ประเทศญี่ปุ่น โดยกระทรวงการค้าและอุตสาหกรรมได้ร่วมกับบริษัทชั้นนำของญี่ปุ่นในเรื่องการ ผลิตคอมพิวเตอร์และมหาวิทยาลัยเพื่อทำการศึกษาคอมพิวเตอร์ในยุคที่ห้า โดยเน้นรูปแบบของคอมพิวเตอร์แนวใหม่ ทั้งทางด้านฮาร์ดแวร์และซอฟต์แวร์ เพื่อให้ได้คอมพิวเตอร์ยุดใหม่ที่นำมาใช้ในงานปัญญาประดิษฐ์ต่าง ๆ อย่างไรก็ดี โครงการคอมพิวเตอร์รุ่นที่ห้าของญี่ปุ่นประสบความสำเร็จระดับหนึ่ง แต่ก็ยังยากที่จะพัฒนาต่อเนื่อง ทั้งนี้เพราะพัฒนาการทางด้านไมโครโปรเซสเซอร์ของอเมริกัน โดยเฉพาะอินเทลและบริษัทคู่แข่งของอินเทล สามารถสร้างชิปได้ในราคาถูก และมีผู้นำมาประยุกต์ใช้ได้มากมาย มีพัฒนาการที่เร็ว ดังนั้นความคิดที่จะสร้างคอมพิวเตอร์แนวใหม่ของญี่ปุ่นจึงไม่มีใครขานรับ ทำให้ผลงานวิจัยเหล่านั้นพบกับอุปสรรคในเรื่องการดำเนินต่อในขั้นอุตสาหกรรม และการนำไปใช้</p>\n<p>ความคิดของประเทศญี่ปุ่น ก็ทำให้เกิดการตื่นตัวในการพัฒนาคอมพิวเตอร์ทั้งในสหรัฐอเมริกาและยุโรป ความคิดเหล่านี้ได้รับการปรับปรุงและยังมีแนวทางของการแข่งขันกัน โดยเฉพาะการพัฒนางานทางด้านปัญญาประดิษฐ์ต่าง ๆ</p>\n<p>การปรับกระบวนทัศน์ในเรื่องความคิดของการพัฒนาซอฟต์แวร์ที่เด่นชัดครั้ง หนึ่ง คือการเขียนโปรแกรมแบบภาษาพรรณา หรือที่เรียกว่า declarative language ภาษาโปรล็อก หรือภาษาลิสน์  <br />\nแนวคิดเชิงวัตถุ</p>\n<p>แนวคิดเชิงวัตถุเป็นแนวคิดที่มีมาอย่างต่อเนื่อง ตั้งแต่การใช้งานทางด้านปัญญาประดิษฐ์การเขียนโปรแกรมเชิงพรรณาที่ใช้หลัก การของการบรรยายเชิงวัตถุ รูปแบบของภาษาที่ใช้จึงเน้นรูปธรรมที่ต้องการการบรรยาย</p>\n<p>ความคิดเชิงวัตถุ เป็นความคิดที่ใช้ในการสร้างโมเดลของสิ่งที่มีความซับซ้อน โดยมีจำนวน เหตุการณ์ที่เกิดขึ้นจำนวนมากที่เกี่ยวกับเชตของวัตถุ ความสัมพันธ์ของเหตุการณ์ที่เกิดขึ้นเกี่ยวพันและเชื่อมโยงกับวัตถุ การใช้วิธีการเชิงวัตถุจึงเป็นวิธีการทางเทคนิคที่ทำให้เกิดรูปธรรม</p>\n<p>ลองดูรูปธรรมเชิงวัตถุที่ใช้ในการอธิบายสิ่งบางอย่างที่เป็นความรู้ และขอบเขตของความรู้ที่กว้างขวาง ดังนั้นถ้าเราจะหาทางแทนความรู้ สิ่งที่เป็นโมเดลที่ดีและใช้งานได้อย่างหนึ่งคือ รูปแบบออบเจ็กต์ หรือเชิงวัตถุดังตัวอย่างรูปที่ 1 \n</p>\n<p align=\"left\">\n<img border=\"0\" width=\"398\" src=\"/files/u10769/soft_1.jpg\" height=\"308\" />\n</p>\n<p align=\"left\">\nที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\">http://www.school.net.th/library/snet1/network/soft.htm</a>\n</p>\n<p align=\"left\">\nความสัมพันธ์เชิงวัตถุเป็นสิ่งที่เข้าใจง่าย และสามารถสร้างตามความเข้าใจ เห็นภาพชัดเจน ดังนั้นการสร้างโมเดลเชิงวัตถุจึงเป็นสิ่งที่ใช้ประโยชน์ในทางธุรกิจทุกองค์กรมีฟังก์ชันการทำงานที่สามารถเขียนเป็นโมเดลเชิงวัตถุได้ โดยประกอบด้วยเหตุการณ์(event) และตัวที่ทำให้เกิดเหตุการณ์นั้น (occurrence) ตัวที่ทำให้เกิดเหตุการณ์อาจเป็นได้ทั้งที่เป็นวัตถุหรือไม่ใช่วัตถุก็ได้ เช่น บริษัทอาจผลิตสินค้าหรือบริการ ซึ่งทั้งสินค้าหรือบริการนี้เป็นตัวที่ทำให้เกิดเหตุการณ์ โดยทำให้มีราคาหรือมีการขายที่ทำให้ลูกค้าพอใจ ดังนั้นทั้งสินค้าและบริการอาจดูแล้วมีความแตกต่างกัน สินค้าสามารถจับต้องได้ แต่การบริการอาจจับต้องโดยตรงไม่ได้ แต่มีราคาได้\n</p>\n<p align=\"left\">\nไม่เพียงแต่ตัวที่ทำให้เกิดเหตุการณ์เท่านั้นที่จะเป็นออบเจ็กต์ (วัตถุ) ตัวที่แสดงความสัมพันธ์ระหว่างวัตถุก็เป็นสิ่งที่ต้องนำมาคิด ทั้งนี้เพราะในสภาพของสิ่งที่เป็นจริงคือทุกสิ่งที่อยู่ในธรรมชาติมีโครงสร้างเป็นแบบสเตติก ซึ่งมีความสัมพันธ์ระหว่างกันและเชื่อมโยงเป็นโมเดลเชิงวัตถุ และใช้ในการสร้างโมเดล\n</p>\n<p align=\"left\">\nทั้งนี้เพราะในโลกแห่งความเป็นจริง การแทนโมเดลไม่สามารถที่จะสื่อความหมายทุกสิ่งทุกอย่างได้หมด แต่ขอบเขตของการสร้างโมเดลเพื่ออธิบายความหมายในเชิงสร้างซอฟต์แวร์มีบางสิ่งบางอย่างที่อาจแตกต่างออกไปบ้างโดยเน้นให้สิ่งต่าง ๆ ที่เป็นวัตถุและตัวที่ทำให้เกิดเหตุการณ์ได้ เป็นออบเจ็กต์ในความหมายของสิ่งที่จะใช้ทางซอฟต์แวร์ โดยให้ออบเจ็กต์นั้นมีข้อมูลข่าวสารอยู่ภายใน และยังให้คุณลักษณะของออบเจ็กต์ไปยังออบเจ็กต์อื่น ๆ ได้ ออบเจ็กต์จะอยู่ในกลุ่มที่เรียกว่า คลาส และให้คุณสมบัติสำหรับคลาสสามารถถ่ายทอดกันได้  \n</p>\n<p><i><span style=\"font-size: 14pt; color: #548dd4; line-height: 115%; font-family: \'Tahoma\',\'sans-serif\'\" lang=\"TH\"><u><span style=\"color: #00ccff\">ออบเจ็กต์คืออะไร</span></u></span></i><i><span style=\"font-size: 14pt; color: #548dd4; line-height: 115%\"><o:p></o:p></span></i> </p>\n<p align=\"left\">\nลองนึกดูว่าภายในองค์กรหรือบริษัทมีกิจกรรมต่าง ๆ เกิดขึ้นมากมาย การดำเนินการของบริษัทประกอบด้วยกิจกรรมต่าง ๆ มีกิจกรรมการขาย การผลิต การซื้อ การดำเนินการของคน กิจกรรมที่เกี่ยวข้องกับเงิน บัญชี\n</p>\n<p align=\"left\">\nตัวที่ทำให้เกิดเหตุการณ์ขึ้นเรียกว่า ออบเจ็กต์ ซึ่งมีมากมายในองค์กร และคำว่าออบเจ็กต์จึงได้รับการใช้ในสถานะต่าง ๆ กัน และอาจมีความหมายที่คลาดเคลื่อนกันบ้าง อย่างไรก็ดี เรากำหนดความหมายของคำว่า &quot;ออบเจ็กต์&quot; ไว้ว่า เป็นตัวที่ทำให้เกิดเหตุการณ์ที่มีข่าวสารและให้คุณลักษณะบางอย่าง\n</p>\n<p align=\"left\">\n<b><u>พิจารณาจากตัวอย่าง</u></b>\n</p>\n<p align=\"left\">\n- บัญชีธนาคาร เป็นออบเจ็กต์ในธนาคาร สำนักงานก็เป็นออบเจ็กต์ในธนาคาร และเช่นเดียวกันลูกค้าก็เป็นออบเจ็กต์\n</p>\n<p align=\"left\">\n- นโยบายการประกันภัย ก็เป็นออบเจ็กต์ที่อยู่ในบริษัทประกันภัย และเช่นเดียวกันธนาคาร ตัวสำนักงาน และลูกค้าก็มีอยู่ด้วยและเป็นออบเจ็กต์ด้วย\n</p>\n<p align=\"left\">\n- รถยนต์ ก็เป็นออบเจ็กต์ที่อยู่ในหน่วยทะเบียนรถยนต์กลาง รถยนต์ก็ยังเป็นออบเจ็กต์ของระบบการผลิตในโรงงานรถยนต์\n</p>\n<p align=\"left\">\nจากตัวอย่างที่ยกมาให้ดูนี้เห็นได้ชัดว่า ในการประยุกต์ใช้งานหรือในสิ่งแวดล้อมหนึ่งอาจมีหลาย ๆ ออบเจ็กต์ และในอีกสถานการณ์หนึ่งก็มีออบเจ็กต์ที่มีลักษณะคล้ายกัน\n</p>\n<p align=\"left\">\nลูกค้าของธนาคารกับลูกค้าของบริษัทประกันภัยก็คือออบเจ็กต์ แต่ออบเจ็กต์ลูกค้าในบริษัทประกันภัยหรือไม่ ทำนองเดียวกันจะเห็นว่ารถยนต์เป็นออบเจ็กต์ของหน่วยขึ้นทะเบียนกลาง หรือกรมการขนส่งทางบก และก็เป็นออบเจ็กต์ของบริษัทผลิตรถยนต์ด้วย ออบเจ็กต์ของรถยนต์ในสองสถานการณ์นี้เหมือนกันหรือไม่\n</p>\n<p align=\"left\">\nคำตอบที่เด่นชัดคือไม่เหมือนกัน ในโดเมนของสิ่งแวดล้อมต่างกัน การมองที่ออบเจ็กต์จะต่างกัน ลูกค้าทั้งของธนาคารและบริษัทประกันภัยอาจมีชื่อ นามสกุลที่อยู่ที่ติดต่อเหมือนกัน แต่อาจจะมีบางส่วนที่ความต้องการของธนาคารแตกต่างจากบริษัทประกันภัย ลองพิจารณาที่รถยนต์จะเห็นเด่นชัด คือรถยนต์ที่เป็นออบเจ็กต์อยู่ในส่วนของโรงงานผลิตรถยนต์ บริษัทผู้ผลิตสนใจว่ารถยนต์นั้นจะขาวนให้ผู้ใด ใครคือผู้ซื้อ วันที่ผลิต สีรถ สิ่งที่ลูกค้าสั่งให้เพิ่มเติม เฉพาะในรถยนต์ตามความต้องการของลูกค้า ส่วนหน่วยทะเบียนของกรมการขนส่งทางบกมองออบเจ็กต์รถยนต์ว่า ใครเป็นเจ้าของ วันที่ซื้อขาย เสียภาษีรถยนต์แล้วหรือยัง ตลอดจนข้อมูลที่เกี่ยวกับการจดทะเบียนรถยนต์\n</p>\n<p align=\"left\">\n&nbsp;\n</p>\n<p align=\"left\">\n<img border=\"0\" width=\"572\" src=\"/files/u10769/soft_2.jpg\" height=\"315\" />\n</p>\n<p align=\"left\">\nที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\">http://www.school.net.th/library/snet1/network/soft.htm</a>\n</p>\n<p align=\"left\">\nสิ่งที่ประกอบอยู่ขึ้นมากับออบเจ็กต์ และเป็นข่าวสารที่จะบอกว่าออบเจ็กต์นั้นมีคุณสมบัติอย่างไร เราเรียกว่าแอตทริบิวต์ โดยส่วนของแอตทริบิวต์จะมีค่าหรือตัวข้อมูลอยู่ สมมติว่าสมบัติแจ้งกิจเป็นลูกค้าธนาคาร การพิจารณาเช่นนี้เห็นว่าตัวออบเจ็กต์เป็นตัวแทนลูกค้าทุกคน รวมทั้งสมบัติด้วย โดยคุณลักษณะที่อยู่ในออบเจ็กต์ลูกค้าคือ ชื่อ ลูกค้า ที่อยู่ ซึ่งเป็นแอตทริบิวต์\n</p>\n<p align=\"left\">\nการทำงานในระบบมีลักษณะเรียกใช้งานระหว่างออบเจ็กต์ ออบเจ็กต์หนึ่งจะเรียกใช้อีกออบเจ็กต์หนึ่งได้อย่างไร การสร้างโมเดลการเรียกใช้ระหว่างกันจึงอยู่ที่ออบเจ็กต์หนึ่งส่งข้อความ (message)ไปยังอีกออบเจ็กต์หนึ่ง ซึ่งจุดนี้เป็นสิ่งที่แตกต่างจากวิธีคิดเดิมที่เราสร้างโปกรแกรมเป็นกระบวนความโดยส่งพารามิเตอร์ไปและกลับระหว่างกระบวนความ\n</p>\n<p align=\"left\">\nจากการสร้างโมเดลของออบเจ็กต์แนวใหม่นี้ใช้&quot;ข้อความ&quot; ส่งระหว่างกัน ความจริงแล้วการใช้คำว่า&quot;ข้อความ&quot; อาจทำให้สับสนได้ เพราะที่แท้จริงคือออบเจ็กต์หนึ่ง เมื่อออบเจ็กต์ที่ได้รับสัญญาณตัวกระตุ้นนี้ก็จะดูว่าสัญญาณตัวกระตุ้นนี้คืออะไรและจะกระทำตามดังนั้นแต่ละออบเจ็กต์จึงมีตัวกระตุ้นเข้ามา การทำงานของออบเจ็กต์อาจเกี่ยวข้องกับการทำงานที่จำเป็นต้องเปลี่ยนค่าในแอตทริบิวต์ต่าง ๆ ปรับปรุงค่าหรือกระทำตามเงื่อนไข หรืออาจต้องการส่งตัวกระตุ้นนี้ไปยังออบเจ็กต์อื่นอีกต่อไป </p>\n<!--pagebreak--><!--pagebreak-->\n<p align=\"left\">\nสิ่งเด่นชัดที่น่าสนใจคือ แอตทริบิวต์ ของออบเจ็กต์จะประกอบยู่ภายในออบเจ็กต์ของมันเองเท่านั้น ดังนั้นด้วยวิธีการนี้จึงเป็นคุณสมบัติที่สำคัญของออบเจ็กต์ที่นำข้อมูลหรือค่าในแอตทริบิวต์เก็บไว้ในตัวมันเอง คุณสมบัติในลักษณะนี้เราเรียกว่า encapsulation การที่จะเข้าถึงข่าวสารภายในจะต้องกระทำภายในออบเจ็กต์เอง ข้อมูลที่เป็นค่าอยู่ในออบเจ็กต์จะได้รับการเก็บไว้ในสิ่งแวดล้อมภายในของออบเจ็กต์นั้น\n</p>\n<p align=\"left\">\nไม่เพียงแต่แอตทริบิวต์ของออบเจ็กต์จะได้รับการซ่อนไว้ภายในสิ่งแวดล้อมของออบเจ็กต์เท่านั้น รายละเอียดโครงสร้างการทำงานเสมือนเป็นโปรแกรมที่สั่งงานในแบบเก่าก็ยังซ่อนอยู่ภายในออบเจ็กต์ด้วย แต่สิ่งที่มีให้เห็นต่อสิ่งแวดล้อมคือ ชนิดของการทำงานที่จะได้รับการกระตุ้นให้ทำงาน ชื่อของชนิดของข้อมูลข่าวสารที่ประกอบการทำงานนี้เรียกว่า &quot;Signature&quot; การติดต่อกับออบเจ็กต์จึงมีการรับรู้แบบการสื่อสารระหว่างกันที่เรียกว่า โปรโตคอล\n</p>\n<p align=\"left\">\nออบเจ็กต์ที่ต้องการติดต่อโดยการส่งสัญญาณตัวกระตุ้นออกไปเรียกว่า ออบเจ็กต์ไคลเอ็นต์ ออบเจ็กต์ที่รับสัญญาณกระตุ้นมาเรียกว่า ออบเจ็กต์เซิร์ฟเวอร์\n</p>\n<p align=\"left\">\nเมื่อพิจารณาที่ออบเจ็กต์จึงเห็นได้ว่า ส่วนของออบเจ็กต์ที่มีรูปแบบที่พอจะแสดงให้เข้าใจได้ โดยแบ่งเป็น 2 ส่วน คือส่วนหนึ่งที่จะใช้ในการรับการติดต่อระหว่างออบเจ็กต์เพื่อให้ทำงานโดยเฉพาะที่ติดต่อตามโปรโตคอล ส่วนนี้จะป็นส่วนข้อกำหนดของออบเจ็กต์ กับอีกส่วนหนึ่งคือ ส่วนที่มีแอตทริบิวต์และการทำงานภายในที่มีส่วนเกี่ยวข้องกับค่าที่เก็บในแอตทริบิวต์\n</p>\n<p align=\"left\">\nพิจารณาตัวอย่างออบเจ็กต์หนึ่งสมมติเป็นบัญชีเงินเดือนของพนักงาน ซึ่งมีโครงสร้างแอตทริบิวต์ภายในที่บอกรายละเอียดว่า บัญชีเงินเดือนอะไรบ้าง ซึ่งโครงสร้างแอตทริบิวต์จะให้รายละเอียดต่างๆ เหล่านี้ แต่ส่วนที่อยู่ในสิ่งแวดล้อมที่จะได้รับการเรียกจากภายนอกหรือกระตุ้นเป็นสิ่งเร้า และรับการติดต่อด้านโปรโตคอลก็เป็นอีกตัวหนึ่งแต่ทั้งสองส่วนนี้อยู่ภายในออบเจ็กต์\n</p>\n<p align=\"left\">\nหากจินตนาการออบเจ็กต์ให้เป็นสิ่งที่มีรูปธรรม อาจเขียนได้เป็นโมเดล เช่น บัญชีเงินเดือน มีแอตทริบิวต์ที่กำหนดว่ามีข้อมูลอะไรประกอบอยู่ และเมื่อมีการคำนวณหรือกระทำใด ๆ จะกระทำในออบเจ็กต์โดยที่เมื่อมีตัวกระตุ้นจะกระทำในออบเจ็กต์โดยที่เมื่อมีตัวกระตุ้นจะกระทำและรับส่งข้องมูลระหว่างกันดังนั้นจึงพอสรุปความของออบเจ็กต์ได้เป็น\n</p>\n<p align=\"left\">\n- ออบเจ็กต์ต้องมีแอตทริบิวต์ และการดำเนินงานภายในออบเจ็กต์ <br />\n- สิ่งแวดล้อมที่อยู่รอบ ๆ ออบเจ็กต์สามารถส่งสัญญาณมาให้ออบเจ็กต์ทำงาน แต่ไม่สามารถก้าวเข้ามาสู่ภายในออบเจ็กต์ หรือเรียกดูข้อมูลในแอตทริบิวต์ที่มีอยู่ในออบเจ็กต์ <br />\n- ออบเจ็กต์ทุกออบเจ็กต์จะบรรจุแอตทริบิวต์และการดำเนินงานภายในเราเรียกว่า encapsulate <br />\n- การติดต่อกันในใช้ข้อความส่งกระตุ้นเราเรียกว่า โปรโตคอล <br />\n- การดำเนินการภายในออบเจ็กต์ใด ๆ จะไม่มีผลต่อสิ่งแวดล้อมภายนอก\n</p>\n<p align=\"left\">\n<img border=\"0\" width=\"348\" src=\"/files/u10769/soft_3.jpg\" height=\"289\" />\n</p>\n<p align=\"left\">\nที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\"><u><span style=\"color: #810081\">http://www.school.net.th/library/snet1/network/soft.htm</span></u></a>\n</p>\n<p><i><span style=\"font-size: 14pt; color: #548dd4; line-height: 115%; font-family: \'Tahoma\',\'sans-serif\'\" lang=\"TH\"><u><span style=\"color: #00ccff\">ออบเจ็กต์มีการเชื่อมโยงระหว่างกัน</span></u></span></i><i><span style=\"font-size: 14pt; color: #548dd4; line-height: 115%\"><o:p></o:p></span></i> </p>\n<p align=\"left\">\n<br />\nกิจการธนาคารมีลูกค้า ลูกค้าก็เป็นออบเจ็กต์หนึ่งที่มึความชัดเจนคือ มีแอตทริบิวต์ภายใน ลูกค้ามีลักษณะเฉพาะ มีชื่อ ที่อยู่ ที่ติดต่อ การดำเนินการในออบเจ็กต์ลูกค้าอาจเกี่ยวข้องกับการสอบถาม การปรับปรุงข้อมูล การทำรายงานที่เกี่ยวกับข้อมูลลูกค้า ที่ธนาคารเองมีออบเจ็กต์บัญชี ซึ่งมีแอตทริบิวต์และการกระทำภายใน\n</p>\n<p align=\"left\">\n<img border=\"0\" width=\"309\" src=\"/files/u10769/soft_4.jpg\" height=\"277\" />\n</p>\n<p align=\"left\">\nที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\">http://www.school.net.th/library/snet1/network/soft.htm</a>\n</p>\n<p align=\"left\">\nการเชื่อมโยงระหว่างออบเจ็กต์มีลักษณะความเกี่ยวโยงหรือมีความเชื่อมโยงถึงกัน เป็นความเชื่อมโยงสัมพันธ์ระหว่างกัน\n</p>\n<p align=\"left\">\nลองดูจากตัวอย่างการให้สินเชื่อกับลูกค้าของธนาคารแห่งหนึ่ง กรรมวิธีการให้สินเชื่อเริ่มจากเมื่อลูกค้าซึ่งเป็นบุคคลได้เข้ามาติดต่อและยื่นแบบฟอร์มของสินเชื่อจากพนักงานธนาคาร พนักงานผู้ดูแลรับแบบฟอร์ม และนำไปตรวจสอบกับฐานข้อมูลของธนาคารเพื่อดูว่า ผู้ที่ต้องการกู้นี้เป็นลูกค้าของธนาคารอยู่หรือไม่ หากผู้ขอกู้นี้ไม่เคยเป็นลูกค้าของธนาคารพนักงานก็จะดำเนินการกรอกข้อมูลประวัติของผู้กู้นี้เข้าไปในฐานข้อมูลของธนาคาร\n</p>\n<p align=\"left\">\n<img border=\"0\" width=\"384\" src=\"/files/u10769/soft_5.jpg\" height=\"314\" />\n</p>\n<p align=\"left\">\nที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\">http://www.school.net.th/library/snet1/network/soft.htm</a>\n</p>\n<p align=\"left\">\nพนักงานธนาคารได้ดำเนินการตรวจสอบต่อไปอีกหลายขั้นตอน โดยเฉพาะเกี่ยวกับข้อมูลของตัวผู้ขอกู้พนักงานธนาคารตรวจสอบดูว่าผู้ขอกู้มีเครดิตคุ้มค่ากับการขอกู้หรือไม่ มีหลักทรัพย์พอเพียงหรือไม่ เป็นผู้ล้มละลายไม่มีความสามารถในการใช้คืน เมื่อตรวจสอบข้อมูลต่าง ๆ และเห็นว่าผู้ขอกู้ไม่มีปัญหา พนักงานก็จะดำเนินการตรวจสอบคำนวณดูว่าผู้ขอกู้จะมีความสามารถในการใช้คืนดอกเบี้ยและเงินต้นได้หรือไม่ โดยตรวจดูจากข้อมูลที่ยื่นมาให้ดู ซึ่งได้แก่ ข้อมูลเงินเดือน การออมรวมทั้งสินทรัยพ์และหนี้สินของผู้ขอกู้ พนักงานธนาคารจะคำนวณดูว่าสภาพของฐานะการเงินของผู้ขอกู้จะผ่านขั้นต่ำที่ทางธนาคารกำหนดไว้หรือไม่\n</p>\n<p align=\"left\">\nเมื่อทุกสิ่งทุกอย่างอยู่ในเงื่อนไขที่ธนาคารกำหนดพนักงานธนาคารก็จะติดต่อไปยังผู้ขอกู้ และจัดเตรียมการประชุมร่วมกัน\n</p>\n<p align=\"left\">\nในการประชุมผู้ขอกู้จะได้รับการแจ้งบอกเงื่อนไขที่ธนาคารจะให้ เช่น เงินกู้ อัตราดอกเบี้ย การผ่อนชำระการนำหลักทรัพย์ค้ำประกัน เมื่อเงื่อนไขและกระบวนต่าง ๆ เป็นที่ยอมรับแล้ว พนักงานธนาคารก็จัดเตรียมสัญญาที่จะให้ลูกค้าเซ็นและรับเงิน ขณะเดียวกันเมื่อทุกอย่างดำเนินการไป พนักงานธนาคารก็จะทำการปรับปรุงฐานข้อมูลลูกค้าบัญชีการกู้เงิน ด้วยการใส่ตัวเลขปริมาณเงินกู้ อัตราดอกเบี้ยการผ่อนชำระคืน และการค้ำประกัน พนักงานธนาคารจะให้คู่สัญญากับลูกค้าและเก็บตัวจริงไว้กับธนาคาร จากขบวนการและการวิเคราะห์ขั้นตอนของธุรกิจจะไดัรูปแบบที่เรียกว่า การไหลเวียนทางธุรกิจ (business workflow) ซึ่งสิ่งที่เป็นการไหลเวียนของงานนี้สามารถพิจารณาและมองขั้นตอนให้เป็นการเขียนแบบเชิงวัตถุได้จากขั้นตอนที่กล่าวแล้วเขียนในรูปโมเดลของขบวนการกู้เงินที่เป็นเชิงวัตถุได้เป็น\n</p>\n<p align=\"left\">\nจากตัวอย่างนี้ยังอาจไม่สมบูรณ์ เพราะยังไม่มีการอธิบายว่ากระบวนการของแต่ละออบเจ็กต์และการเชื่อมโยงเกิดขึ้นได้อย่างไร จากตัวอย่างนี้ลูกค้าเป็นผู้ยื่นแบบฟอร์มขอกู้เงิน ข้อมูลลูกค้าเป็นออบเจ็กต์ที่เป็นข้อมูลเก็บอยู่ในธนาคาร\n</p>\n<p align=\"left\">\nเมื่อผู้ดูแลการกู้เงินซึ่งเป็นพนักงานธนาคารได้รับแบบฟอร์มการขอกู้เงิน ผู้ดูแลการกู้เงินก็จะนำเอาข้อมูลจากแบบฟอร์มเข้าตรวจสอบกับฐานข้อมูลลูกค้า ซึ่งมีอยู่แล้วในธนาคาร ถ้าข้อมูลนี้ยังไม่มีอยู่ ก็จะบันทึกในฐานข้อมูล ผู้ดูแลการกู้เงินยังคงทำงานอีกหลายขั้นตอนในการตรวจสอบความต้องการของลูกค้า ผู้ดูแลการกู้เงินตรวจสอบเครดิตของลูกค้าจากข้อมูลเงื่อนไขที่เก็บที่ธนาคาร เมื่อตรวจสอบแล้วเห็นว่าเงื่อนไขของการขอกู้เงินไม่มีปัญหาใด ก็จะตรวจดูสภาพการจ่ายดอกเบี้ยและเงินต้นที่เป็นไปได้ โดยดูจากข้อมูลในขอกู้ ซึ่งอาจประกอบด้วยข้อมูลเงินเดือน การออม รวมถึงค่าใช้จ่ายรายเดือนของผู้กู้ ผู้ดูแลการกู้จะคำนวณและหาเงื่อนไขที่เหมาะสมที่จะให้เงินกู้และการจ่ายคืน ซึ่งข้อมูลบางอย่างจะนำมาจากกฎเกณฑ์การให้สินเชื่อของธนาคาร\n</p>\n<p align=\"left\">\nหากทุกอย่างเรียบร้อยผู้ดูแลการกู้ก็จะติดต่อกับลูกค้า เพื่อนัดแนะดังได้กล่าวมาแล้ว </p>\n<!--pagebreak--><!--pagebreak--><p> \n</p>\n<p align=\"left\">\n<b><u>ออบเจ็กต์นำมารวมกันได้</u></b>\n</p>\n<p align=\"left\">\nออบเจ็กต์ที่แสดงออกอาจประกอบด้วยออบเจ็กต์เพียงออบเจ็กต์เดียว หรือออบเจ็กต์ที่รวมกันหลายออบเจ็กต์ ลองพิจารณาออบเจ็กต์สินค้าคงคลังที่แสดงในรูปที่ 6 ซึ่งประกอบด้วยออบเจ็กต์ย่อย ๆ ประกอบรวมกัน\n</p>\n<p align=\"left\">\n<img border=\"0\" width=\"333\" src=\"/files/u10769/soft_6.jpg\" height=\"332\" />\n</p>\n<p align=\"left\">\nที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\">http://www.school.net.th/library/snet1/network/soft.htm</a>\n</p>\n<p align=\"left\">\nลักษณะของการรวมของออบเจ็กต์จึงประกอบด้วยออบเจ็กต์ย่อย ๆ รวมกัน เช่น ออบเจ็กต์คอมพิวเตอร์ก็จะประกอบด้วย จอภาพ คีย์บอร์ด ซีพียู ออบเจ็กต์สินค้าคงคลังประกอบด้วยสินค้าต่าง ๆ หลายอย่างรวมกัน\n</p>\n<p><span style=\"color: #00ccff\"><i><span style=\"font-size: 16pt; color: #548dd4; line-height: 115%; font-family: \'Tahoma\',\'sans-serif\'\" lang=\"TH\"><u>คลาสของออบเจ็กต์</u></span></i><i><span style=\"font-size: 16pt; color: #548dd4; line-height: 115%\"><o:p></o:p></span></i></span> </p>\n<p align=\"left\">\nออบเจ็กต์ทุก ๆ ออบเจ็กต์จะต้องอยู่ในคลาส หรือกล่าวได้ว่า ออบเจ็กต์หลาย ๆ ออบเจ็กต์อาจมีลักษณะเหมือนกัน เช่น ธนาคารมีลูกค้าหลาย ๆ คน ลูกค้าแต่ละคนก็เป็นออบเจ็กต์ ดังนั้นออบเจ็กต์ของลูกค้าแต่ละคนมีลักษณะชนิดเดียวกัน เพื่อที่จะอธิบายออบเจ็กต์ได้ถูกต้อง เราจึงมีการกำหนดเป็นคลาส ซึ่งจะเห็นได้ว่าถ้าออบเจ็กต์มีลักษณะสมบัติเหมือนกันคือ มีแอตทริบิวต์และพฤติกรรมต่าง ๆ เหมือนกัน และเราจะกำหนดเป็นคลาส เช่น สมศักดิ์ สมชาย สมหญิง เป็นลูกค้าธนาคารทั้งสามคนนี้จึงเป็นออบเจ็กต์ที่มีลักษณะเหมือนกัน เราจึงหาวิธีการกำหนดให้อยู่ในกลุ่มเดียวกัน เราเรียกว่า คลาส หรือในกรณีนี้เรียกว่า คลาส &quot;ลูกค้า&quot;\n</p>\n<p align=\"left\">\nนั่นคือ ออบเจ็กต์ทุก ๆ ออบเจ็กต์ต้องมีคลาส คลาสเป็นตัวอย่างออบเจ็กต์นั้นจะใช้สำหรับอะไร ซึ่งก็เกี่ยวข้องกับแอตทริบิวต์ และการกระทำในออบเจ็กต์ ดังนั้นแต่ละออบเจ็กต์จึงต้องมีข้อมูลที่เกี่ยวกับชื่อธนาคารและในแต่ละแอตทริบิวต์ของแต่ละออบเจ็กต์จะมีค่าที่เก็บไว้แตกต่างกัน ซึ่งค่าที่อยู่ในแอตทริบิวต์นั้นจะนำมาใช้ในการดำเนินการภายในออบเจ็กต์ และการทำงานในแต่ละออบเจ็กต์ที่อยู่ในออบเจ็กต์ก็จะมีลักษณะการทำงานเหมือนกันถ้าอยู่ในคลาสเดียวกัน\n</p>\n<p><span style=\"color: #00ccff\"><i><span style=\"font-size: 16pt; color: #548dd4; line-height: 115%; font-family: \'Tahoma\',\'sans-serif\'\" lang=\"TH\"><u>การถ่ายทอดลักษณะจากคลาสหนึ่งไปยังคลาสอื่น ๆ</u></span></i><i><span style=\"font-size: 16pt; color: #548dd4; line-height: 115%\"><o:p></o:p></span></i></span> </p>\n<p align=\"left\">\n<br />\nการถ่ายทอดคุณลักษณะหรือที่เรียกว่า inherit โดยปกติคลาสหนึ่งอาจมีความสัมพันธ์กับอีกคลาสในลักษณะที่ถ่ายทอดคุณลักษณะถึงกันได้ การถ่ายทอดคุณลักษณะจึงหมายถึงการรับในเรื่องของแอตทริบิวต์ และการทำงานของอีกคลาสหนึ่งมา ซึ่งจะต้องได้รับการอธิบายในทั้งตัวถ่ายทอดและตัวรับการถ่ายทอด\n</p>\n<p align=\"left\">\nลักษณะการถ่ายทอดลักษณะของคลาส เช่น การตรวจสอบฐานะเครดิตแบบอัตโนมัติ ซึ่งสามารถถ่ายทอดไปยังออบเจ็กต์ การตรวจสอบเครดิตซึ่งแสดงดังในรูปที่ 7\n</p>\n<p align=\"left\">\n<img border=\"0\" width=\"352\" src=\"/files/u10769/soft_7.jpg\" height=\"213\" />\n</p>\n<p align=\"left\">\nที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\">http://www.school.net.th/library/snet1/network/soft.htm</a>\n</p>\n<p align=\"left\">\n<br />\nทำนองเดียวกันคลาสหนึ่งอาจถ่ายทอดไปยังคลาสอื่น ๆ ได้อีกหลาย ๆ คลาส เช่น ลูกค้าธนาคารอาจเป็นลูกค้าที่เป็นบุคคลภายนอก หรือลูกค้าที่เป็นพนักงานของบริษัทเอง การสร้างออบเจ็กต์จึงสร้างออบเจ็กต์รวมเป็น EmployedCustomer ซึ่งถ่ายทอดคุณสมบัติไปยังออบเจ็กต์ Customer และ Employee แยกจากกัน\n</p>\n<p><b><i><span style=\"font-size: 14pt; color: #333333; line-height: 115%; font-family: \'Tahoma\',\'sans-serif\'\" lang=\"TH\"><span style=\"color: #3366ff\"><u><span style=\"color: #00ccff\">โอโอเป็นรูปแบบสำหรับอนาคต</span></u></span></span></i></b><b><i><span style=\"font-size: 14pt; line-height: 115%\"><o:p></o:p></span></i></b> </p>\n<p align=\"left\">\nจากการพิจารณาให้ลึกซึ้งในเรื่องของการไหลของงานทำให้การใช้รูปแบบออบเจ็กต์แสดงสภาพการทำงานได้ดีกว่า และการพัฒนาซอฟต์แวร์แนวใหม่จึงหันมาใช้ซอฟต์แวร์ที่สนับสนุนการพัฒนาการประยุกต์แบบออบเจ็กต์และเป็นหนทางที่น่าสนใจยิ่งในอนาคตอันใกล้นี้ เพราะจะเป็นระบบการพัฒนาซอฟต์แวร์แนวใหม่ที่สามารถสร้างขึ้นมาตามแนวคิดของธุรกิจ และทำให้การพัฒนาทำได้ง่ายขึ้น และยังใช้งานตลอดจนการปรับปรุงปรับเปลี่ยนในภายหลังได้ง่าย ในบทความนี้ได้เน้นเฉพาะแนวคิดพื้นฐานเกี่ยวกับออบเจ็กต์เท่านั้น\n</p>\n<p align=\"left\">\n<span style=\"color: #00ccff\">       ..____________________________________________________________________________..</span>\n</p>\n<p align=\"left\">\n&nbsp;\n</p>\n<p align=\"left\">\nแหล่งที่มา : <a href=\"http://www.school.net.th/library/snet1/network/soft.htm\">http://www.school.net.th/library/snet1/network/soft.htm</a>\n</p>\n<p align=\"left\">\nเขียนโดย : รศ. ยืน ภู่วรวรรณ<br />\nวารสารไมโครคอมพิวเตอร์ ฉบับเดือนมิถุนายน 2542\n</p>\n<p align=\"left\">\n&nbsp;\n</p>\n', created = 1714332316, expire = 1714418716, headers = '', serialized = 0 WHERE cid = '3:4eb74e4df5c0c3234c6f1bc72ab091be' in /home/tgv/htdocs/includes/cache.inc on line 112.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:08dc979c2ccea186de341c5d6fa7d426' in /home/tgv/htdocs/includes/cache.inc on line 27.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<!--paging_filter--><p>\nเนื้อหาดีมากครับ\n</p>\n<p>\nเอาไปเลย10\n</p>\n', created = 1714332316, expire = 1714418716, headers = '', serialized = 0 WHERE cid = '3:08dc979c2ccea186de341c5d6fa7d426' in /home/tgv/htdocs/includes/cache.inc on line 112.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:7393f3816cecf1cb7c73bd3500dcf69b' in /home/tgv/htdocs/includes/cache.inc on line 27.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<!--paging_filter--><p>\nเนื้อหาดีน้า^^\n</p>\n<p>\n&nbsp;\n</p>\n<p>\nเอาไป 10เลยจ้าแฮะๆ\n</p>\n', created = 1714332316, expire = 1714418716, headers = '', serialized = 0 WHERE cid = '3:7393f3816cecf1cb7c73bd3500dcf69b' in /home/tgv/htdocs/includes/cache.inc on line 112.

การพัฒนาซอฟต์แวร์แนวใหม่ ซอฟต์แวร์เชิงวัตถุ

รูปภาพของ pnp31247

การพัฒนาซอฟต์แวร์แนวใหม่ ซอฟต์แวร์เชิงวัตถุ

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

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

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

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

แนวคิดแบบปรับกระบวนทัศน์


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

ความคิดของประเทศญี่ปุ่น ก็ทำให้เกิดการตื่นตัวในการพัฒนาคอมพิวเตอร์ทั้งในสหรัฐอเมริกาและยุโรป ความคิดเหล่านี้ได้รับการปรับปรุงและยังมีแนวทางของการแข่งขันกัน โดยเฉพาะการพัฒนางานทางด้านปัญญาประดิษฐ์ต่าง ๆ

การปรับกระบวนทัศน์ในเรื่องความคิดของการพัฒนาซอฟต์แวร์ที่เด่นชัดครั้ง หนึ่ง คือการเขียนโปรแกรมแบบภาษาพรรณา หรือที่เรียกว่า declarative language ภาษาโปรล็อก หรือภาษาลิสน์ 
แนวคิดเชิงวัตถุ

แนวคิดเชิงวัตถุเป็นแนวคิดที่มีมาอย่างต่อเนื่อง ตั้งแต่การใช้งานทางด้านปัญญาประดิษฐ์การเขียนโปรแกรมเชิงพรรณาที่ใช้หลัก การของการบรรยายเชิงวัตถุ รูปแบบของภาษาที่ใช้จึงเน้นรูปธรรมที่ต้องการการบรรยาย

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

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

ที่มา : http://www.school.net.th/library/snet1/network/soft.htm

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

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

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

ออบเจ็กต์คืออะไร

ลองนึกดูว่าภายในองค์กรหรือบริษัทมีกิจกรรมต่าง ๆ เกิดขึ้นมากมาย การดำเนินการของบริษัทประกอบด้วยกิจกรรมต่าง ๆ มีกิจกรรมการขาย การผลิต การซื้อ การดำเนินการของคน กิจกรรมที่เกี่ยวข้องกับเงิน บัญชี

ตัวที่ทำให้เกิดเหตุการณ์ขึ้นเรียกว่า ออบเจ็กต์ ซึ่งมีมากมายในองค์กร และคำว่าออบเจ็กต์จึงได้รับการใช้ในสถานะต่าง ๆ กัน และอาจมีความหมายที่คลาดเคลื่อนกันบ้าง อย่างไรก็ดี เรากำหนดความหมายของคำว่า "ออบเจ็กต์" ไว้ว่า เป็นตัวที่ทำให้เกิดเหตุการณ์ที่มีข่าวสารและให้คุณลักษณะบางอย่าง

พิจารณาจากตัวอย่าง

- บัญชีธนาคาร เป็นออบเจ็กต์ในธนาคาร สำนักงานก็เป็นออบเจ็กต์ในธนาคาร และเช่นเดียวกันลูกค้าก็เป็นออบเจ็กต์

- นโยบายการประกันภัย ก็เป็นออบเจ็กต์ที่อยู่ในบริษัทประกันภัย และเช่นเดียวกันธนาคาร ตัวสำนักงาน และลูกค้าก็มีอยู่ด้วยและเป็นออบเจ็กต์ด้วย

- รถยนต์ ก็เป็นออบเจ็กต์ที่อยู่ในหน่วยทะเบียนรถยนต์กลาง รถยนต์ก็ยังเป็นออบเจ็กต์ของระบบการผลิตในโรงงานรถยนต์

จากตัวอย่างที่ยกมาให้ดูนี้เห็นได้ชัดว่า ในการประยุกต์ใช้งานหรือในสิ่งแวดล้อมหนึ่งอาจมีหลาย ๆ ออบเจ็กต์ และในอีกสถานการณ์หนึ่งก็มีออบเจ็กต์ที่มีลักษณะคล้ายกัน

ลูกค้าของธนาคารกับลูกค้าของบริษัทประกันภัยก็คือออบเจ็กต์ แต่ออบเจ็กต์ลูกค้าในบริษัทประกันภัยหรือไม่ ทำนองเดียวกันจะเห็นว่ารถยนต์เป็นออบเจ็กต์ของหน่วยขึ้นทะเบียนกลาง หรือกรมการขนส่งทางบก และก็เป็นออบเจ็กต์ของบริษัทผลิตรถยนต์ด้วย ออบเจ็กต์ของรถยนต์ในสองสถานการณ์นี้เหมือนกันหรือไม่

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

 

ที่มา : http://www.school.net.th/library/snet1/network/soft.htm

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

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

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

รูปภาพของ pnp31629

เนื้อหาดีมากครับ

เอาไปเลย10

รูปภาพของ pnp33619

เป็นความรู้ใหม่เลยทีเดียวครับ

เอาไปเลย  10  คะแนนครับ^^

รูปภาพของ pnp33633

ดีดี

มีสาระดี

เริ่ดๆ

ให้ 10 จร้า

รูปภาพของ pnp31176

ทำดีเราชอบ

เอาไป10 เลย

รูปภาพของ pnp31232

เนื้อหาดีๆๆๆ

ให้ 10 คะแนน

10 เต็มคับ

 

ปล. น้องจูนฝากมาให้อีก 5 คะเเนน

 

เป็น 15 คะเเนนเลยนะอาจารย์

ดีจัง เนื้อหาดี

เยี่ยมเลย
เก่งกานจาง
เอาไปเลย10

รูปภาพของ pnp33629

วิชาการกันสุดๆ

สาระกันเห็นๆ

สิบๆๆๆๆ*

เอาไปเลยจร้า   >_<"

รูปภาพของ pnp31291

ได้รู้ข้อมูลเพิ่มเยอะเลยย

 

10คะแนนเลยนะ

รูปภาพของ pnp33620

เนื้อหาดีมากคับ

เหมาะกับยุคปัจจุบันมากคับ

ผมชอบ

เอา10ไป

โก้เก้...

รูปภาพของ pnp33632

เนื้อหาดีน้า^^

 

เอาไป 10เลยจ้าแฮะๆ

เนื้อหาแปลกใหม่ดีครับ ผมชอบ งั้นเอาไป 10 คะแนน ครับ

มหาวิทยาลัยศรีปทุม ผู้ใหญ่ใจดี
 

 ช่วยด้วยครับ
นักเรียนที่สร้างบล็อก กรุณาอย่า
คัดลอกข้อมูลจากเว็บอื่นทั้งหมด
ควรนำมาจากหลายๆ เว็บ แล้ววิเคราะห์ สังเคราะห์ และเขียนขึ้นใหม่
หากคัดลอกทั้งหมด จะถูกดำเนินคดี
ตามกฎหมายจากเจ้าของลิขสิทธิ์
มีโทษทั้งจำคุกและปรับในอัตราสูง

ช่วยกันนะครับ 
ไทยกู๊ดวิวจะได้อยู่นานๆ 
ไม่ถูกปิดเสียก่อน

ขอขอบคุณในความร่วมมือครับ

อ่านรายละเอียด

ด่วน...... ขณะนี้
พระราชบัญญัติลิขสิทธิ์ (ฉบับที่ 2) พ.ศ. 2558 
มีผลบังคับใช้แล้ว 
ขอให้นักเรียนและคุณครูที่ใช้งาน
เว็บ thaigoodview ในการส่งการบ้าน
ระมัดระวังการละเมิดลิขสิทธิ์ด้วย
อ่านรายละเอียดที่นี่ครับ

 

สมาชิกที่ออนไลน์

ขณะนี้มี สมาชิก 0 คน และ ผู้เยี่ยมชม 473 คน กำลังออนไลน์