Chapter 1 OBJECT ORIENTED และ UML
จุดประสงค์ •ใหน้ กั ศกึ ษาไดท้ าความเขา้ ใจกบั แนวคดิ ของ Object Orientation •ใหน้ กั ศกึ ษาไดร้ ูจ้ กั และทาความเขา้ ใจศพั ทพ์ ืน้ ฐานท่ีตอ้ งใช้ •ใหน้ กั ศกึ ษาไดท้ าความเขา้ ใจเบือ้ งตน้ เก่ียวกบั ภาษา UML
การวเิ คราะหแ์ ละออกแบบเชงิ วตั ถุ แนวคิดเชิงวตั ถุ (Object-oriented approach) มีพ้ืนฐานกาเนิดมาจาก ปัญหาหรือขอ้ จากดั ของการพฒั นาเชิง กระบวนการ (Procedural approach) ซ่ึงจะตอ้ งมีการระบุเฉพาะเจาะจงถึงข้นั ตอนของโปรแกรมคอมพิวเตอร์ทีละ ข้นั ตอน ทาใหโ้ ปรแกรมเมอร์ตอ้ งสนใจในรายละเอียดแต่ละข้นั เป็นอยา่ งมาก โปรแกรมท่ีไดก้ จ็ ะใหผ้ ลท่ีดีกบั งานเฉพาะ ดา้ นเท่าน้นั ไม่สามารถนาไปใชก้ บั งานประเภทอื่นๆ ได้ ดงั น้นั แนวคิดเชิงวตั ถุ จึงเขา้ มามีบทบาทมากข้ึน ทาใหส้ ามารถ ใชง้ านไดอ้ ยา่ งเหมาะสมกบั โลกแห่งความจริง โดยจะใชไ้ ดก้ บั งานหลากหลายประเภท
Object Orientation คืออะไร ในปัจจบุ นั รอบตวั เรานนั้ จะพบกบั วตั ถุ (Object) ตา่ งๆมากมาย ไมว่ า่ จะเป็นวตั ถทุ ่ีจบั ตอ้ งไดแ้ ละวตั ถทุ ่ีจบั ตอ้ งไมไ่ ด้ •ในชีวิตประจาวนั ของเรานนั้ ลว้ นแตเ่ กิดจากการมีความสมั พนั ธ์ (Relationship ) และปฏิสมั พนั ธ์ (Interaction ) ระหวา่ ง object 2 ตวั ขนึ้ ไป •กิจกรรม คนรบั ประทานอาหาร เกิดจาก Interaction รบั ประทาน ระหวา่ ง คนและอาหาร และเกิดจาก Relationship เป็นเจา้ ของ ระหวา่ งคนกบั อาหาร •กิจกรรม สนุ ขั เลน่ กบั แมว เกิดจาก Interaction เลน่ ระหวา่ งสนุ ขั กบั แมว และเกิด Relationship เป็น เพ่ือน ระหวา่ ง สนุ ขั กบั แมว
ตวั อยา่ ง นาย ก เปิ ดตเู้ ยน็ A (ซง่ึ เป็ นของนาย ก) แล้วหยบิ นา้ (อยู่ในตเู้ ยน็ ) มาดม่ื 1.Object ท่เี ราสนใจ คอื นาย ก ,ตเู้ ยน็ A และนา้ 2.Relationship ระหวา่ ง Object ท่ีสนใจ คอื • นาย ก เป็นเจา้ ของตเู้ ย็น A •นา้ อยใู่ นตเู้ ยน็ A 3.Interactions ระหวา่ ง Object ท่สี นใจคอื •นาย ก เปิดตเู้ ย็น A •นาย ก หยบิ นา้ •นาย ก ด่มื นา้
จากตวั อย่างข้างต้น เราสามารถแยกแยะความแตกต่างระหว่าง Relationship กบั Interaction ได้ดังนี้ - Relationship คือ ความเก่ียวขอ้ งและความสัมพันธร์ ะหวา่ ง Object 2 ตวั ขนึ้ ไป โดยท่วั ไปจะมอง ไมเ่ หน็ อาศยั การตีความ เชน่ ความเป็นแม่-ลกู ความเป็นเจา้ ของ - Interaction คือ ปฏิสัมพนั ธห์ รอื การกระทาใดๆ ท่ีเกิดขนึ้ ระหวา่ ง Object 2 ตวั ขนึ้ ไป สามารถ มองเหน็ หรอื สงั เกตเห็นได้ เช่น การสรา้ ง การเลน่ ซง่ึ จะทาใหเ้ กิดกิจกรรมตา่ งๆ ขนึ้
Domain จากที่ผา่ นมา เราจะพดู ถึง “Object ท่ีเราสนใจ” หรือ “Relationship ท่ีเราสนใจ เป็นการใหก้ รอบของสิ่ง ที่เราตอ้ งการพจิ ารณาหรือมุ่งหมายความสนใจ เพราะเราไม่สนใจทุกๆ ส่ิงในโลกในเวลาเดียวกนั และเราไม่ สามารถสนใจกบั ทุกๆ ความสัมพนั ธ์และ ทุกๆ กิจกรรมที่เกิดข้ึนไดเ้ หมือนกนั เช่น เราไมส่ นใจวา่ ในตเู้ ยน็ มีสง่ิ อ่ืน แตเ่ ราสนใจวา่ ในตเู้ ยน็ มีนา้ และ เราไมส่ นใจวา่ นา้ ท่ีนาย ก ด่ืมนนั้ อยใู่ นแกว้ หรอื อยใู่ นภาชนะอ่ืนๆ กรอบความสนใจท่ีเราพดู ถงึ นนั้ เรยี กวา่ Domain
Domain ใน Domain หน่งึ ๆ สามารถมี Object ไดต้ งั้ แต่ 2 ตวั ขนึ้ ไป ในขณะเดียวกนั Object ตวั เดียวกนั กส็ ามารถ อยใู่ นหลายๆ Domain ไดเ้ ช่นเดียวกนั เช่น
Concept Concept หมายถึง ความคิดรวบยอดท่ีเรามีใหก้ บั Object ภายใตก้ รอบท่ีกาหนด เช่น รถทกุ คนั มีตวั ถงั มีลอ้ และเคร่อื งยนต์ คนทกุ คนตอ้ งมี 2 แขน 2 ขา 1 ศีรษะ ท่ีผา่ นมาเรามองแต่ Object ท่ีอยใู่ น Domain ในโลกความเป็นจรงิ เทา่ นนั้ ถา้ เราตอ้ งการจาลองสง่ิ ตา่ งๆ ใหอ้ ยใู่ นเครอ่ื งคอมพวิ เตอรจ์ ะทาอยา่ งไร?? สิ่งท่ีตอ้ งทากค็ ือ เราตอ้ งสร้าง Objects ข้ึนในเคร่ืองคอมพิวเตอร์ และ ตอ้ งสร้าง Relationships และ Interactions ระหวา่ ง Object ใหเ้ กิดข้ึนในเคร่ืองคอมพวิ เตอร์ และ ใส่ แนวคิด(Concept) ใหแ้ ก่ Object แลว้ จึงสร้างแบบจาลองของ เพื่อนาไปใส่ไวใ้ นคอมพวิ เตอร์
Class Class คือ กลมุ่ หรอื หมวดหมู่ ท่ีไมส่ ามารถเฉพาะ เจาะจงได้ เป็นเพียงแคก่ ารเอา Concept มาจาแนก Object ใหอ้ ยใู่ นกรอบแนวคดิ และสามารถเรียกไปใชง้ านไดง้ ่ายขนึ้ เชน่ รถยนตฮ์ อนดา้ ทะเบียน กข 1234, โตโยตา้ ทะเบียน กค 1234, มาสดา้ ทะเบียน กง 4556 ตา่ งมีลอ้ 4 ลอ้ มีเครอ่ื งยนต์ ใชน้ า้ มนั เชือ้ เพลิงเหมือนกนั เราสามารถจดั ไดว้ า่ รถทงั้ สามคนั อยใู่ น class รถยนต์ เพราะรถยนตท์ งั้ สามคนั มี 4 ลอ้ มีเคร่อื งยนตแ์ ละใชน้ า้ มนั เชือ้ เพลงิ ตรงตาม Concept ท่ีมีไว้
Class ความจรงิ อีกขอ้ หน่งึ ในทาง Object Orientation คือ Class ถือเป็นนามธรรม (Abstract) เราไมส่ ามารถ ทาให้ Class ดาเนินกิจกรรมใดๆ ไดเ้ ลย เชน่ “รถว่งิ ไปบนถนน” ในทาง OO ถือวา่ ไมไ่ ดเ้ ป็นเหตกุ ารณท์ ่ีเกิดขนึ้ จรงิ ๆ เพราะ คาวา่ “รถ” หมายถงึ แนวความคิด ของการรวมเอาตวั ถงั รถ ลอ้ และ เครือ่ งยนตม์ ารวมกนั และ “ถนน” หมายถงึ แนวความคิด ของส่งิ หนง่ึ อยบู่ นพืน้ โลก ทาไวเ้ พ่ือใหย้ านพาหนะทางบกว่ิงได้ แตถ่ า้ เราพดู วา่ “รถยนตน์ าย ก วงิ่ บนถนนมติ รภาพ” ถือวา่ เป็นเหตกุ ารณท์ ่ี เกิดขนึ้ จรงิ จากตวั อยา่ ง จะเหน็ วา่ Class ทงั้ หมดใน Domain คือ สง่ิ ท่ีอยใู่ นความคิด ซง่ึ ไมส่ ามารถทากิจกรรมใดๆ ใหเ้ กิดขนึ้ จรงิ ได้ แตถ่ า้ ตอ้ งการใหเ้ กิดกิจกรรมขนึ้ ในระบบคอมพวิ เตอร์ จะตอ้ งสรา้ ง Object ของ Class ตา่ งๆ ขนึ้ ใน คอมพวิ เตอรก์ ่อน เพ่ือให้ Object นนั้ ๆ สามารถทางานและดาเนินบทบาทของตนเองได้ ถา้ หากเปรยี บกบั การพฒั นา ระบบแบบเดิม (SA) แลว้ Class จะคลา้ ยกบั ชนิดขอ้ มลู ของตวั แปร และ Object จะคลา้ ยกบั ตวั แปร
แบบฝึ กหดั 1.จงแยกแยะวา่ ส่ิงต่อไปน้ี ส่ิงใดคือ Class ส่ิงใดคือ Object • รถยนต์ • เส้ือ • กางเกงขายาวสีดา • คอมพิวเตอร์ยห่ี อ้ Acer วางอยบู่ นโต๊ะ • จกั รยานยนตย์ หี่ อ้ Honda • แมว • หมาสีขาว 2.จงอธิบายความแตกตา่ งระหว่าง Class กบั Object
องคป์ ระกอบของ Object Object ทกุ ตวั จะประกอบดว้ ย 3 องคป์ ระกอบคือ •Attribute •Method •Unique
Attribute เราสามารถบรรยายคณุ สมบตั ขิ อง Object ตา่ งๆ เทา่ ท่ีคณุ สมบตั ิดงั กลา่ วมี หรอื อยใู่ น Domain เชน่ สี เพศ เป็นตน้ ในทาง OO จะเรยี กสง่ิ ท่ีใชใ้ นการบรรยายคณุ ลกั ษณะตา่ งๆ ของ Object วา่ Attribute Attribute กค็ ือ คุณสมบัตขิ องแต่ละ Object น่ันเอง ผลไม้ คุณสมบัติ รสชาติ สี มะมว่ ง มนั เขียว แอปเปิ้ล หวาน แดง มะนาว เปรยี้ ว เหลือง
Method กิจกรรมเกิดขนึ้ จากการกระทาและโตต้ อบกนั ของ Object ตา่ งๆ ของระบบ การจะทาให้ Object สามารถโตต้ อบหรอื มีปฏิสมั พนั ธร์ ะหวา่ งกนั ได้ ตอ้ งอาศยั องคป์ ระกอบท่ีสาคญั อยา่ งหน่งึ ของ Object น่นั ก็ คือ Method Method คือ การกระทาท่ี Object สามารถกระทาได้ หรอื ถกู รอ้ งขอใหก้ ระทาได้ ซง่ึ กค็ ือ พฤตกิ รรมของ Object น่นั เอง Method คือ กิจกรรมท่ีเกิดจากการกระทาและโตต้ อบกนั ของ object ตา่ งๆของระบบ
Method เช่น นาย ก เปิ ดเครื่องคอมพวิ เตอรย์ หี่ อ้ A >> สามารถวเิ คราะหห์ า Object 2 Object คือ นาย ก และ คอมพิวเตอรย์ ่ีหอ้ A และหา Class ได้ 2 Class คือ คน และ คอมพวิ เตอร์ สามารถจาลองเหตกุ ารณไ์ ด้ ดงั นี้ • เม่ือวเิ คราะห์จะพบวา่ Interaction ที่เกิดข้ึนคือ นาย ก เปิ ดเครื่องคอมพิวเตอร์ยห่ี อ้ A หมายความวา่ จะตอ้ งมี Object ตวั ใดตวั หน่ึงใน 2 ตวั น้ีสามารถทากิจกรรม “เปิ ด” เกิดข้ึนคาถามคือ Object ใดท่ีทาใหก้ ิจกรรมน้ีเกิดข้ึน • Object ในโลก OO ตอ้ งเป็น Objects ท่ีถูกกระทา (Passive Object) เท่าน้นั เช่น เมื่อตอ้ งการใหค้ อมพิวเตอร์ A เปิ ด ตอ้ งมีใคร สกั คนหรืออะไรสกั อยา่ ง มาสงั่ ใหเ้ คร่ือง คอมพิวเตอร์เปิ ด (คอมพวิ เตอร์ยห่ี อ้ A เปิ ดดว้ ยตวั เองไม่ได)้ หมายความวา่ เครื่องคอมพิวเตอร์ A ตอ้ งมีความสามารถในการเปิ ดหรือมี Method เปิ ด อยใู่ นตวั เอง เพียงแต่รอให้ Object อีกตวั มา Interaction เพ่อื ทาการเปิ ด
Method โดย นาย ก เป็นผมู้ ากระตุน้ (Trigger) ใหเ้ ครื่องคอมพวิ เตอร์ยหี่ อ้ A เปิ ด ข้ึนหรืออาจจะกล่าว ได้ วา่ Method เปิ ด ของเครื่องคอมพิวเตอร์ยห่ี อ้ A ถูกเรียกใชง้ าน น้นั เอง
Unique Identity ทกุ ๆ Object ท่ีอยใู่ น Class เดียวกนั จะตอ้ งมีเอกลกั ษณป์ ระจาตวั ท่ีสามารถจาแนกความแตกต่าง ระหวา่ ง Object ได้ น่นั คือ Object จะตอ้ งมีเอกลกั ษณท์ ่ี ไม่ซา้ กบั Object อ่ืน เรียกคณุ สมบตั นิ ีว้ า่ Object Identity หรอื Unique Identity • สาเหตทุ ่ีเราตอ้ งระบใุ หจ้ าเพาะเจาะจง เพราะวา่ Object แตล่ ะตวั จะไม่สามารถซา้ หรอื เป็นตวั เดยี วกบั Object อ่ืนได้ เชน่ “คอมพิวเตอร”์ “คอมพวิ เตอร์ แบรนด์ HP” “คอมพวิ เตอร์ แบรนด์ HP หมายเลข IP Address 192.148.1.14 กาลงั เปิดเคร่อื ง ในวนั ท่ี 3 พฤษภาคม 2562 เวลา 12.30 น”
แบบฝึ กหดั 1.จงแยกแยะวา่ สิ่งต่อไปน้ี สิ่งใดคือ Class สิ่งใดคือ Object • รถยนต์ • เส้ือ • กางเกงขายาวสีดา • คอมพิวเตอร์ยห่ี อ้ Acer วางอยบู่ นโตะ๊ • จกั รยานยนตย์ ห่ี อ้ Honda • แมว • หมาสีขาว 2.จงอธิบายความแตกต่างระหว่าง Class กบั Object 3.จากสถานการณต์ ่อไปนี้ จงแยกแยะวา่ มี Object อะไรบา้ ง และ จาแนก Attribute กับ Method ของ object แตล่ ะตวั มี อะไรบา้ ง • นาย ก ขบั รถยนตย์ ่ีหอ้ Honda • นาย ข ถอนเงินจากตู้ ATM ธนาคารทหารไทย • นาย ค เตมิ นา้ มนั ใหก้ บั รถยนตย์ ่ีหอ้ Toyota • นาย จ ทอดไข่ดาว
UML
UML Unified Modeling Language สิ่งท่ีจาเป็นอยา่ งหน่ึงในกระบวนการวเิ คราะห์และออกแบบ คือ การสร้างแบบจาลองของ Object , Class และ องคป์ ระกอบอ่ืนๆของระบบ ซ่ึงถา่ ยทอดไดด้ ีที่สุด คือ การแสดงในรูปแบบของสัญลกั ษณ์ เช่น รูปภาพ แผนภาพ หน่ึงในเครื่องมือที่นิยมมากท่ีสุดคือ UML (Unified Modeling Language) น้นั เอง UML ไมไ่ ดเ้ ป็นเพียงเครือ่ งมือเทา่ นนั้ แตจ่ ดั ไดว้ า่ เป็นภาษา เน่ืองจาก UML มีหนว่ ยของภาษาท่ีชดั เจน คือ มีทงั้ คาศพั ทแ์ ละไวยากรณท์ ่ีชดั เจน แต่ UML แตกตา่ งจากภาษาท่วั ไป คือ หนว่ ยของภาษานนั้ ประกอบ ขนึ้ จากรูปภาพและแผนภาพ ไมใ่ ช่อกั ขระ จงึ ไดม้ ีการจดั ให้ UML เป็นประเภทหนง่ึ ของภาษารูปภาพ
UML Unified Modeling Language องคป์ ระกอบทางภาษาของ UML ภาษา UML ประกอบดว้ ย 2 องคป์ ระกอบ ไดแ้ ก่ คาศพั ท์ ไวยากรณ์
UML Unified Modeling Language คาศพั ทใ์ นภาษา UML Thing หมายถงึ ส่ิงตา่ งๆ ท่ีใชจ้ าลองส่งิ ท่ีไดม้ าจากกระบวนการ Abstraction o Structural Things เปรียบเสมือนคานามของภาษา UML ไดแ้ ก่ Class, Interface, Use Case, Component, Node o Behavioral Things ทาหนา้ ท่ีเสมือนหนง่ึ คากรยิ าของภาษา UML ประกอบดว้ ย Message และ State o Grouping Thing ทาหนา้ ท่ีในการรวมเอากลมุ่ ของ Structural Things และกลมุ่ Behavioral Things เขา้ ดว้ ยกนั ใน UML เรยี กวา่ Package o Annotational Things มีหนา้ ท่ีอธิบาย UML Model ท่ีถกู สรา้ งขนึ้
UML Unified Modeling Language คาศพั ทใ์ นภาษา UML Relationship หมายถึง ความสมั พนั ธท์ ่ีทาหนา้ ท่ีในการเช่ือมโยง Things ตา่ งๆ เขา้ ไวด้ ว้ ยกนั o Dependency ใชเ้ พ่ืออธิบาย Object สอง Object ท่ีมีความสมั พนั ธแ์ บบขนึ้ ต่อกนั หรอื มีอิทธิพลตอ่ กนั o Association ใชเ้ พ่ืออธิบายความสมั พนั ธร์ ะหวา่ ง Object สอง Object อยใู่ นระนาบ ความสมั พนั ธเ์ ดียวกนั เชน่ ความสมั พนั ธร์ ะหวา่ งหอ้ งเรยี นกบั อาคาร o Generalization ใชเ้ พ่ืออธิบายความสมั พนั ธร์ ะหวา่ ง Object สอง Object ใน รูปแบบของการจาแนก การแบง่ ประเภท o Realization ใชเ้ พ่ืออธิบายความสมั พนั ธร์ ะหวา่ ง Object สอง Object ท่ีทาหนา้ ท่ีใน การดาเนินการใช้ Method ของอีก Object หนง่ึ
UML Unified Modeling Language คาศพั ทใ์ นภาษา UML Diagram คือสง่ิ ท่ีทาหนา้ ท่ีรวบรวมเอา Things และ Relationships ท่ีเก่ียวขอ้ งสอดคลอ้ งกนั ไวท้ ่ี เดียวกนั o Class Diagram เป็น Diagram ท่ีใชแ้ สดงโครงสรา้ งของ Class ตา่ งๆ ท่ีเรา สนใจ o Object Diagram เป็น Diagram ท่ีใชเ้ พ่ือแสดงโครงสรา้ งของ Object ตา่ งๆ ท่ีเราสนใจ o Use Case Diagram เป็น Diagram ท่ีใชเ้ พ่ือแสดง Use Case ท่ีเป็นกลมุ่ งานของ เหตกุ ารณ์ แสดง Actor ท่ีเป็นผทู้ ่ีไมไ่ ดอ้ ยใู่ นระบบ แตม่ ีสว่ นเก่ียวขอ้ งกบั ระบบ และแสดง ความสมั พนั ธร์ ะหวา่ ง Use Case และ Actor เหลา่ นนั้ o Sequence Diagram หรอื Communication Diagram เป็น Diagram ท่ีใชเ้ ป็นท่ี รวมของ Class และหรอื Object และชดุ ของ Message ซง่ึ ก่อใหเ้ กิดการดาเนินการอยา่ งใดอยา่ ง หนง่ึ ของระบบ ตอ่
ตอ่ o Statechart Diagram เป็น Diagram ท่ีแสดงถึงสถานะ เหตกุ ารณท์ ่ีกอ่ ใหเ้ กิดการ เปล่ยี นแปลงสถานะท่ีสามารถเป็นไปไดข้ อง Class หนง่ึ ๆ o Component Diagram เป็น Diagram ท่ีแสดงใหเ้ หน็ ถงึ องคป์ ระกอบของระบบและ ความสมั พนั ธท์ ่ีมีอยรู่ ะหวา่ ง Component เหลา่ นนั้ จดั เป็น Diagram ท่ีแสดงใหเ้ หน็ ภาพของการ implement ระบบ o Deployment Diagram เป็น Diagram ท่ีแสดงใหเ้ หน็ ถงึ องคป์ ระกอบท่ีทาหนา้ ท่ีประมวลผล และความสมั พนั ธร์ ะหวา่ งองคป์ ระกอบเหลา่ นนั้
UML Unified Modeling Language ไวยากรณ์ (Syntax) ของ UML ไวยากรณม์ ีหนา้ ท่ีสรา้ งขอ้ กาหนดตา่ งๆ เพ่ือใหแ้ บบจาลองท่ีสรา้ งขนึ้ มีการจดั วางท่ีดี เขา้ ใจได้ เป็น มาตรฐาน เรยี ก model ดงั กลา่ วนีว้ า่ Well-form Model ไวยากรณข์ อง UML ประกอบดว้ ยกฎ 2 ชดุ คือ กฎในการใหค้ วามหมาย (Semantic Rules) กฎของ Well-form Model
UML Unified Modeling Language ไวยากรณ์ (Syntax) ของ UML Semantic Rules กฎในการใหค้ วามหมาย Name ทกุ ๆ Thing, Relationship และ Diagram จะตอ้ งมีช่ือ และช่ือหนง่ึ ช่ือตอ้ งใชส้ าหรบั เรยี กส่งิ ๆ เดียวเท่านนั้ Stereotype UML ยินยอมให้ Things และ Relationship คนละตวั มีช่ือซา้ กนั ได้ โดยใช้ Stereotype หมายถงึ Name ท่ีสามารถถกู ใชโ้ ดย Things มากกวา่ หนง่ึ ตวั Scope ทกุ ๆ Name ตอ้ งมีขอบเขตท่ีชดั เจน สามารถเขา้ ใจความหมายของ Name ได้ Visibility ทกุ ๆ Name ตอ้ งไดร้ บั การอธิบายวา่ ตนเองสามารถถกู มองเหน็ หรอื ถกู เขา้ ถงึ อยา่ งไร Integrity Things หนง่ึ ๆ จะมีความสมั พนั ธก์ บั Things อ่ืนๆ โดยผา่ นทาง Relationship ท่ี สามารถอธิบายได้ ไมซ่ า้ ซอ้ นกากวม Execution Things ตา่ งๆ ท่ีถกู นามาใชเ้ พ่ือการอธิบายการประมวลผลตอ้ งมีระเบียบแบบแผน และ อธิบายได้
UML Unified Modeling Language Well-Formed Model 1.Well-Formed Model คือ Model ท่ีมีคณุ สมบตั ิครบตาม Semantic Rules 2.Non Well-Formed Model คือ Model ท่ียงั ขาดคณุ สมบตั ิบางประการของ Semantic Rules ไดแ้ ก่ • Elide บางองคป์ ระกอบของแบบจาลองถกู ซอ่ นไว้ เพ่ือใหง้ า่ ยตอ่ การเขา้ ใจ • Incomplete บางองคป์ ระกอบของแบบจาลองอาจขาดหายไป ยงั ไมค่ รบถว้ น • Inconsistent ความสอดคลอ้ งกนั ของแตล่ ะ Diagram ในแบบจาลองยงั ไม่ สมบรู ณ์
UML Unified Modeling Language ขอ้ ดขี อง UML 1.สามารถสะทอ้ นภาพของระบบไดใ้ กลเ้ คียงมากท่ีสดุ จงึ ทาใหเ้ ขา้ ใจงา่ ย 2.เป็นภาษาท่ีมีแบบแผนแน่นอน จงึ สามารถอา่ นและทาความเขา้ ใจไดใ้ นทศิ ทางเดยี วกนั 3.สามารถใชเ้ ป็นเครอ่ื งมือในการพฒั นาระบบไดท้ งั้ กระบวนการ
UML Unified Modeling Language ขอ้ เสยี ของ UML ถา้ ระบบงานใหญ่ จะทาใหแ้ ผนภาพดรู กและยงุ่ เหยงิ จนเกินไป
แบบฝึ กหดั 1.จงแยกแยะวา่ สิ่งต่อไปน้ี สิ่งใดคือ Class สิ่งใดคือ Object • รถยนต์ • เส้ือ • กางเกงขายาวสีดา • คอมพิวเตอร์ยห่ี อ้ Acer วางอยบู่ นโตะ๊ • จกั รยานยนตย์ ห่ี อ้ Honda • แมว • หมาสีขาว 2.จงอธิบายความแตกต่างระหว่าง Class กบั Object 3.จากสถานการณต์ ่อไปนี้ จงแยกแยะวา่ มี Object อะไรบา้ ง และ จาแนก Attribute กับ Method ของ object แตล่ ะตวั มี อะไรบา้ ง • นาย ก ขบั รถยนตย์ ่ีหอ้ Honda • นาย ข ถอนเงินจากตู้ ATM ธนาคารทหารไทย • นาย ค เตมิ นา้ มนั ใหก้ บั รถยนตย์ ่ีหอ้ Toyota • นาย จ ทอดไข่ดาว
Search
Read the Text Version
- 1 - 32
Pages: