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

รูปภาพของ 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 คน และ ผู้เยี่ยมชม 34 คน กำลังออนไลน์