Page 19 - วิศวกรรมซอฟต์แวร์
P. 19
การออกแบบซอฟต์แวร์เชิงวัตถุ 7-9
Procedures are separate from data
Input data Procedure 1 ก)
Output data
Step 1 Data
Step 2
Objects encapsulate data and methods that process the data
Object 1 ข)
Data belonging
message
message to object
(attribute values)
Methods that
process object’s data
ภาพท่ี 7.2 แนวคิดเชงิ โครงสร้างหรือเชงิ กระบวนการกบั แนวคิดเชิงวตั ถุ
ทม่ี า: http://www.daydev.com/2011/object-oriented-analysis-and-design-ooad-1.html ค้นคืนวันที่ 25 มกราคม 2557
จากภาพท่ี 7.2 เป็นการเปรียบเทียบความแตกต่างระหว่างแนวคิดการพัฒนาซอฟต์แวร์เชิงโครงสร้างหรือ
เชิงกระบวนการกับแนวคิดการพัฒนาซอฟต์แวร์เชิงวัตถุ ในภาพท่ี 7.2 ก) แสดงถึงรูปแบบการท�ำงานของการพัฒนา
ซอฟต์แวร์เชิงโครงสร้าง ซึ่งมีการมองปัญหาโดยแตกการท�ำงานออกเป็นฟังก์ช่ันหรือกระบวนการ (procedure)
ในแต่ละฟังก์ชั่นประกอบด้วยข้ันตอนการท�ำงานต่าง ๆ และในฟังก์ช่ันอ่ืนสามารถเรียกใช้งานได้โดยอาจจะมีการส่ง
พารามิเตอร์เข้ามาเป็นอินพุตของฟังก์ช่ัน และเม่ือฟังก์ช่ันท�ำงานเสร็จจะมีการแสดงเอ้าต์พุตหรือส่งเอ้าต์พุตกลับไป
ให้ยังฟังก์ชั่นท่ีเรียกใช้งาน ส่วนในภาพท่ี 7.2 ข) แสดงถึงรูปแบบการท�ำงานของการพัฒนาซอฟต์แวร์เชิงวัตถุ ซึ่งมี
การวิเคราะห์วัตถุในระบบออกมา โดยพิจารณาจากคุณสมบัติของอ็อบเจ็กต์และก�ำหนดการท�ำงานหรือเมธอดให้กับ
อ็อบเจ็กต์ และสามารถเรียกใช้เมธอดของอ็อบเจ็กต์นั้นได้จากการส่งเมสเสจหากันระหว่างอ็อบเจ็กต์
ในตอนท่ี 7.1 น้ี จะกล่าวถึงแนวคิดในการออกแบบซอฟต์แวร์ตามแนวทางการพัฒนาซอฟต์แวร์เชิงวัตถุ โดย
อาศัยหลักการคิดเชิงวัตถุท่ีได้กล่าวไว้ข้างต้น โดยมองสิ่งต่าง ๆ เป็นวัตถุหรืออ็อบเจ็กต์ และสามารถน�ำกลุ่มอ็อบเจ็กต์
เหล่าน้ันมารวมให้อยู่ในกลุ่มเดียวกันได้ เรียกว่า คลาส (class) โดยพิจารณาจากคุณสมบัติและการท�ำงานเฉพาะตัว
ของแต่ละอ็อบเจ็กต์ จากนั้นจึงเร่ิมพิจารณาถึงความสัมพันธ์ระหว่างอ็อบเจ็กต์ในแต่ละคลาสต่อไป
3. แนวคิดเชิงวัตถุ
แนวคิดเชิงวัตถุ (object orientation) มาจาก 2 ค�ำ คือ
- object หมายถึง วัตถุ
- orientation หมายถึง การน�ำทาง การน�ำไป
ดังน้ัน แนวคิดเชิงวัตถุ (object orientation) หมายถึง การใช้วัตถุเป็นตัวหลักในการพิจารณาความเป็นจริง
ต่าง ๆ ท่ีเกิดขึ้นในโลก โดยมองทุกส่ิงในโลกเป็นวัตถุทั้งหมด และมองว่ากิจกรรมที่เกิดขึ้นในโลกน้ีเกิดจากความ
สัมพันธ์และปฏิสัมพันธ์ระหว่างวัตถุ