ก า ร ว เ ค ร า ะ ห์ แ ล ะ อ อ ก แ บ บ ร ะ บ บ เ ชิ ง วั ต ถุ
จัดทําโดย
นางสาวฐติ ารย์ คล้ายสิน รหสั นักศกึ ษา 63302040008
นางสาวสุกญั ญา ชูหนู รหสั นักศกึ ษา 63302040025
เสนอ
อาจาย์ วรุฬพร แกว้ กลา้
คาํ นาํ
คูม่ อื การศกึ ษาระดับประกาศบัตรวชชาชพี ชันสูง(ปวส.) วทยาลัยพณชิ ยการบงึ พระ พิษณุโลก ปการศกึ ษา
2564 เพือเปนสว่ นหนึงของวชาการวเคราะห์และออกแบบเชงิ วัตถุ ในระดบั ชันประกาศนียบัตรวชาชพี ชัน
สงู (ปวส.) ทงั นีเอกสารฉบบั นีมีเนอื หาเกยี วกับการวเคราะห์และออกแบบเชงิ วตั ถโุ ดยมีเนือหาทังหมด 6 บท เพอื
ใหเ้ กิดความเขา้ ใจอย่างทวั ถงึ
ผู้จัดทาํ ได้จดั ทาํ เพือตอ้ งการใหผ้ ู้อา่ นทยี ังไม่สามารถเข้าใจในเรองนีไดถ้ ึงการออกแบบเชิงวตั ถุ ผู้จดั ทาํ
หวงั เปนอย่างยงิ วา่ ผ้อู ่านจะไดร้ ับความรู้อยา่ งครบและสมบรู ณ์ทสี ดุ หากผ้อู า่ นมขี ้อเสนอแนะประการใดผ้จู ดั ทํา
ขอรับไวข้ อขอบพระคณุ เปนอย่างยิง
สารบัญ หนา้
1
หน่วยที 1 การพัฒนาระบบสารสนเทศ 1
- ความหมายและองคป์ ระกอบของระบบสารสนเทศ 2
- วตั ถุประสงค์ในการพฒั นาระบบสารสนเทศ 3
- หลักการพัฒนาระบบสารสนเทศ
- ขนั ตอนการพัฒนาระบบสารสนเทศ 4-7
- วงจรการพัฒนาระบบ 8
- วธีการพัฒนาระบบ 9
- ทีมงาน(บคุ ลากร)พัฒนาระบบสารสนเทศ
10
หน่วยที 2 หลักการพนื ฐานและแนวคิดเชิงวตั ถุ 10 - 11
- แนวคดิ เชิงวตั ถุ
- หลกั การเชงิ วตั ถุ 11
- ภาษาคอมพิวเตอร์ทสี นบั สนนุ การเขยี นโปรแกรมเชิงวตั ถุ
หนว่ ยที 3 กระบวนการวเคราะห์และออกแบบเชิงวัตถุ หน้า
- กระบวนการวเคราะห์และออกแบบระบบเชิงวตั ถุ
- ภาษายเู อม็ เอล 12
- ยูเคสไดอะแกรม 12
- คลาสไดอะแกรม 13
- สเตตชาร์ตไดอะแกรม 14
- ซีเควนไดอะแกรม 15
- คอลลาบอเรชนั ไดอะแกรม 16
- แอก็ ทวิ ตีไดอะแกรม 17
- คอมโพเนนตไ์ ดอะแกรม 18
- ดพี ลอยเมนตไ์ ดอะแกรม 19
20
หนว่ ยที 4 โมเดลทีใช้ออกแบบเชงิ วตั ถุ(แบบจําลองเชิงวัตถ)ุ
- โมเดลทใี ชอ้ อกแบบเชงิ วัตถุ 21
- ออกแบบเชงิ วตั ถุดว้ ย UML 21
- Use Case Diagram 21
- Class diagram 22
- Static & Dynamic 22
หน่วยที 5 UML Modeling หนา้
- ความหมายของยูเอม็ แอล
- ประวตั ิความเปนมาของยูเอม็ แอล 23
- ส่วนประกอบหลักของยูเอ็มแอล 23
- ประโยชนข์ องยูเอ็มแอล 24
- หน้าทขี องยูเอ็มแอล 24
- กลไกของยเู อม็ แอล 25
25
หนว่ ยที 6 การวเคราะหแ์ ละออกแบบโปรแกรมทางธุรกจิ
- ตวั อยา่ งระบบงาน 26
- ระบบบซอื สินคา้ 26
- ระบบสินค้าคงคลงั
หน่วยที 1 การพฒั นาระบบสารสนเทศ 1
ความหมายและองคป์ ระกอบของระบบสารสนเทศ
ระบบสารสนเทศ หมายถงึ ระบบทปี ระกอบด้วยส่วนตา่ งๆ ได้แก่ ระบบคอมพวิ เตอร์ทงั ฮาร์ดแวร์ ซอฟท์แวร์ ระบบเครอข่าย
ฐานขอ้ มลู ผูพ้ ัฒนาระบบ ผู้ใชร้ ะบบ พนกั งานทเี กยี วขอ้ ง และ ผู้เชียวชาญในสาขา ทุกองคป์ ระกอบนีทํางานร่วมกนั เพือ
กาํ หนด รวบรวม จดั เกบ็ ข้อมลู ประมวลผลข้อมูลเพอื สร้างสารสนเทศ และส่งผลลัพธ์หรอสารสนเทศทีได้ใหผ้ ใู้ ช้เพอื ช่วย
สนับสนุนการทํางาน การตัดสนิ ใจ การวางแผน การบรหาร การควบคุม การวเคราะห์และติดตามผลการดาํ เนินงานของ
องคก์ รในการทาํ งานของระบบสารสนเทศประกอบไปด้วยกิจกรรม 3 อย่าง คอื การนาํ ข้อมูลเข้าสู่ระบบ (INPUT) การประมวล
ผล (PROCESSING) และ การนาํ เสนอผลลพั ธ์ (OUTPUT)
วัตถปุ ระสงค์ในการพฒั นาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศ เปนกระบวนการในการนํา เอาคอมพวิ เตอร์เข้ามาช่วยในการจดั การขอ้ มลู เพือให้มาซงึ สารสนเทศที
สามารถนาไปประโยชน์ในการทํางาน ใชเ้ปนเครองมอื ชว่ ยในการตัดสนิ ใจแก้ปญหาตา่ งๆ ทเี กิดขึนในองคก์ ร เปนเครองมือทชี ่วยสร้าง
มลู คา่ เพมิ ให้กับธรุ กิจซึงการพฒั นาระบบสารสนเทศรวมถงึ การปรับเปลียนระบบงานเดมิ ทีมีอยู่แลว้ ใหส้ ามารถทํางานแกป้ ญหาการ
ดําเนนิ งานทางธรุ กิจ ตามความตอ้ งการของผใู้ ช้งาน และเปนการเพมิ ประสทิ ธภิ าพในการทาํ งานขององคก์ รอกี ดว้ ย
หลักการพฒั นาระบบสารสนเทศ 2
การพฒั นาระบบสารสนเทศเพือใหส้ ามารถตอบสนองความต้องการขององค์กรนักวเคราะห์ระบบควรอาศยั หลกั ในการ
พฒั นาระบบสารสนเทศ ดังนี
-ศกึ ษาถงึ ความต้องการของเจา้ ของระบบและผู้ใชร้ ะบบ
-ศึกษาปญหาให้ตรงจดุ
-การวางแผนการพฒั นาระบบ
-กาํ หนดกฎ/ระเบยี บในระหวา่ งการพฒั นาระบบ
-พจิ ารณาถึงประสทิ ธิภาพและประสิทธผิ ลของระบบทีพัฒนา
-เตรยมพร้อมถ้าหากโครงการถูกยกเลิกหรอลดขอบเขต
-แตกระบบใหญใ่ หเ้ ปนระบบย่อย
-ออกแบบระบบเพอื รองรับการเตบิ โตและเปลยี นแปลงอนาคต
ขนั ตอนการพฒั นาระบบสารสนเทศ 3
มที ังหมด 7 ขนั ตอน ไดแ้ ก่
-การกําหนดความตอ้ งการ ในขนั ตอนนนี กั วเคาระหจ์ ะต้องค้นหาปญหาและศกึ ษาทําความเขา้ ลใจจปญหา ขอ้ เท็จจรงตา่ งๆ
ทีเกดิ ขึนจากการทํางานในระบบเดมิ
-การวเคราะห์ระบบ ในขันตอนนหี ลงั จากทผี บู้ รหารได้ทาํ การตดั สนิ ใจทีจะพัฒนาระบบงานหรอปรับปรุงระบบงานเดิมนกั วเคราะห์
ระบบจะตอ้ งดําเนนิ การวเคราะหร์ ะบบงานปจจบุ นั เพอื นาํ มาพัฒนาแนวคดิ สําหรับระบบใหม่
-การออกแบบ ในขันตอนนีนักวเคราะห์ระบบจะตอ้ งออกแบบระบบสารสนเทศทจี ะพฒั นาให้สอดคลอ้ งกับความต้องการทีได้รับุไวใ้ น
เอกสารขนั ตอนของการวเคราะห์ ทเี ปนแบบจําลองเชงิ ตรรกะมาพฒั นาเปนแบบจาํ ลองเชงิ กายภาพ
-การพัฒนา เปนขนั ตอนในการนาํ เอาระบบทไี ด้ออกแบบไวจ้ ากขันตอนออแบบมาทบทวนเพือกาํ หนดการจดั ทาํ ซอฟแวร์
การออกแบบซอฟแวร์ การเขยี นโปรแกรม และการทดสอบโปรแกรม
-การทดสอบ เมือโปรแกรมไดพ้ ัฒนาขึนมาแลว้ ยังไม่สามารถนําระบบไปใช้งานได้ทนั ที จําเปนตอ้ งดาํ เนนิ การทดสอบระบบก่อนทจี ะ
นําระบบไปใชง้ านได้จรง
-การติดตงั ระบบ เมอื ทาํ การทดสอบระบบจนมันใจวา่ ระบบทไี ดร้ ับการทดสอบนนั พร้อมทจี ะนาํ ไปตดิ ตังเพือใชง้ านบนสถานการณ์จรง
จงึ นาํ ระบบไปตดิ ตังการติดตัง้ ระบบคือการเปลยี นการทํางานจากระบบงานเดมิ ไปเปนระบบงานใหม่
-การบาํ รุงรักษา หลังจากทีระบบงานทีพฒั นาขนึั มาใหม่ได้ถูกนําไปใชง้ านเปนทเี รยบร้อยแล้วหากพบขอ้ ผดิ พลาดหรอพกพร่องจาก
การทํางานของระบบงานใหม่ นักวเคราะห์ระบบจงึ จาํ เปนตอ้ งดาํ เนนิ การตดิ ตามและแกไ้ ขให้ถกู ตอ้ ง
วงจรการพฒั นาระบบ (SOFTWARE DEVELOPMENT LIFE CYCLE : SDLC MODEL ) ดงั นี 4
1 WATERFALL MODEL หมายถึง การเรยงลาํ ดับงานในการพฒั นาซอฟตแ์ วร์ โดยเรมด้วยการกาํ หนดความตอ้ งการของลกู ค้า การ
วางแผน การสร้างแบบจําลองการพฒั นาซอฟต์แวร์ และการให้ความเหลือในการใช้งานซอฟต์แวร์
2 INCREMENTAL MODEL 5
โมเดลแบบก้าวหน้า หมายถึง เปนโมเดลทีมกี ารววฒั นาการมาจากโมเดลนาํ ตก เนอื งจากโมเดลนาํ ตก มขี อ้ เสยี คอื ต้องมกี ารดาํ เนนิ
การเปนขนั ตอนใหเ้ สร็จสนิ กอ่ นจงึ จะดําเนินการขนั ตอ่ ไป
3 SPIRAL MODEL 6
เปนโมเดลทถี กู พฒั นาขนึ จาก WATERFALL MODEL ทีมกี ารทํางานเปนขันตอนหากในขนั ตอนแรกวเคราะหค์ วามตอ้ งการไมด่ ี ไม่
ชัดเจน ความเสยี งทรี ะบบจะถูกพัฒนาไมต่ รงตามความตอ้ งการของลูกสูงและทาํ ใหโ้ ครงการลม้ เหลวครับ กระบวนการนีจึงนําเอาขอ้ ดี
ของ PROTOTYPE มาผสมผสานให้เกิดคามชดั เจนและมีการวเคราะห์ความเสยี งในทุกชัน
4.AGILE MODEL 7
AGILE คอื เปนแนวคิดใหมส่ ําหรับการพัฒนาซอฟตแ์ วร์ ซึงเปนสว่ นหนึงของงานดา้ น SOFTWARE ENGINEERING ทีพยายามทจี ะ
แทรกตัวเข้าไปใน METHODOLOGY แบบเดิม เพอื ใหง้ านสันลง และประหยัดเวลาและงบประมาณ
วธีการพฒั นาระบบ (SYSTEM DEVELOPMENT APPROACHES) 8
คือ เปนการสร้างระบบงานใหม่หรอปรับเปลียนระบบงานเดมิ ทีมอี ย่แู ล้วให้สามารถทํางานเพือแกป้ ญหาการดาํ เนนิ งานทางธรุ กจิ ได้
ตามความตอ้ งการของผใู้ ชง้ านโดยอาจนาํ คอมพิวเตอร์เข้ามาช่วยในการนําขอ้ มูลเขา้ ส่รู ะบบเพือประมวลผลเรยบเรยง เปลยี นแปลงและ
จดั ทาํ ใหไ้ ดผ้ ลลัพธต์ ามตอ้ งการ
วธกี ารพัฒนาระบบทนี ยิ มใช้ในปจจุบันมี 2 วธี ดังนี
1) การพฒั นาระบบเชิงโครงสร้าง คือ การพฒั นาระบบเชงิ โครงสร้างเปนวธีการพฒั นาระบบเเบบดังเดมิ ทเี กียวขอ้ งกับการวเคราะห์
เชิงโครงสร้าง การออกแบบเชิงโครงสร้าง เเละการโปรแกรมเชิงโครงสร้าง โดยมรี ายละเอยี ด ดังนี
1.1 เทคนคิ การโปรแรกมเชิงโครงสร้าง
1.2 เทคนิคการออกแบบเชิงโครงสร้าง
1.3 การวเคราะห์เชิงโครงสร้าง
2) การพัฒนาระบบเชิงวตั ถุ คอื การพัฒนาระบบเชงิ วตั ถเุ ปนวธกี ารพัฒนาระบบสารสนเทศทีวเคราะหข์ อ้ มลู โดยมองสกุ ส่วนของ
ระบบเปนวตั ถุ เเละจดั ประเภทของวตั ถุตามคณุ ลักษณะทางนามธรรม ออกเปนกลมุ่ ๆ เรยกวา่ คลาส ซงึ จะกําหนดคณุ สมบตั ขิ องวตั ถุ
นนั อย่างชัดเจน
ทีมงาน(บคุ ลากร)พฒั นาระบบสารสนเทศ 9
คอื การพัฒนา IT เกียวขอ้ งกับบคุ คลทีมหี นา้ ทรี ับผิดชอบกระบวนการพัฒนาระบบหลายกลมุ่ โดยทัวไปจะมกี ารทาํ งานเปนทมี ทตี อ้ ง
อาศยั ความรู้ ประสบการณ์ และทักษะจากกลุ่มบุคคล
1. คณะกรรมการ
2.ผูบ้ รหารโครงการ
3. ผูบ้ รหารหนว่ ยงานด้านสารสนเทศ
4. นักวเคราะหร์ ะบบ ควรมีทกั ษะในด้านตา่ งๆ คอื
4.1 ทกั ษะด้านเทคนิค
4.2 ทักษะดา้ นการวเคราะห์
4.3 ทักษะดานการบรหารจดั การ
4.4 ทกั ษะด้านการติดตอ่ สอื สาร
5. ผ้ชู ํานาญการทางดา้ นเทคนิค
5.1 ผบู้ รหารฐานขอ้ มูล
5.2 โปรแกรมเมอร์
6. ผูใ้ ช้และผู้จัดการทัวไป
หน่วยที 2 หลักการพืนฐานและแนวคดิ เชงิ วตั ถุ 10
แนวคดิ เชงิ วตั ถุ
หมายถึง แนวคิดเชงิ วตั ถมุ ุง่ เนน้ สงิ ตา่ ง ๆ ทีใกล้เคียงกับโลกแหง่ ความจรงในลักษณะรูปธรรมโดยมองระบบเปนกลุ่มของวตั ถทุ มี ี
ปฏิกรยาต่อกันด้วยการนาํ ขอ้ มลู และฟงกช์ นั การทํางานรวมเข้าดว้ ยกนั เปนวตั ถุ ทาํ ใหข้ อ้ มลู ทเี ปนวตั ถนุ ันสามารถอธิบายคณุ สมบตั ริ วม
ทังฟงก์ชันการทํางานในตัวเองได้
หลกั การเชิงวตั ถุ
1. Object คือ หนว่ ยสนใจของระบบทที ําใหเ้ กิดเหตุการณ์ วตั ถุเปนไดท้ ังสิงทีสามารถจบั ต้องได้
(เช่น โตะ๊ รถยนต์ คอมพิวเตอร์ คน) และวตั ถุทไี ม่สามารถจับต้องได้ (เช่น บรษัท ฝายตา่ งๆ หลักสตู ร)
2. Class คือกลุ่มของ Object ทมี โี ครงสร้างพืนฐานพฤติกรรมเดยี วกัน Object ทมี ีคณุ สมบัติเดยี วกัน ก็จะรวมกล่มุ อยู่ใน Class
เดียวกนั
3. Method คือ ความสามารถของออบเจ็กต์ ทเี ราออกแบบเอาไวต้ ังแตต่ อนเขยี นโคด้ เพอื สร้างคลาสขนึ มา หลงั จากทเี ราสร้างออบ
เจก็ ตจ์ ากคลาสขึนมาแล้ว เราจะสามารถเรยกใช้เมธอดต่าง ๆ ทเี ขยี นเอาไวไ้ ด้
4. Encapsulation คือ กระบวนการทีสารหรอส่วนผสมของสาร ถกู เคลอื บ ยดึ จบั หรอ ห่อหุ้มอยา่ งมิดชดิ ดว้ ยสารชนดิ อืน สารทถี ูก
เคลือบหรอถกู ยึดจบั ไว้ ส่วนใหญ่จะเปนของเหลว แตบ่ างครังอาจเปนอนภุ าคของแขง็ หรอกา๊ ซ
11
5. Information Hiding คอื การเปดเผยเฉพาะข้อมูลทจี ําเปนตอ่ การเรยกใชอ้ อบเจค็ เทา่ นนั
6. Inheritance คือ เปนคุณสมบัติในการเขียนโปรแกรมเชงิ วตั ถทุ เี รยกวา่ คณุ สมบตั กิ ารสบื ทอด โดยทีคลาสสามารถสบื ทอดสมาชกิ
ของมนั จากคลาสหลกั (super class) ไปยงั คลาสย่อย (delivered class) โดยการสืบทอดในภาษา Java นันสมาชิกทังหมดจะถกู
สบื ทอดไปยังคลาสยอ่ ย
7. Polymorphism คอื การทอี อบเจ็คสามารถมีไดห้ ลายรูปแบบ ซงึ เกิดจากการสบื ทอดจาก super class และมันยังคงรักษา
สภาพและคณุ สมบัตขิ องทางอาชพี ของบคุ คลในการเขียนโปรแกรมมีได้หลายรูปแบบ
ภาษาคอมพวิ เตอร์ทสี นับสนนุ การเขยี นโปรแกรมเชงิ วตั ถุ
คือ การเขียนโปรแกรมภาษาคอมพวิ เตอร์ทีใช้ในการสร้างขนึ มาใชง้ านนนั ก็เพอื ใหเ้ ครองคอมพิวเตอร์สามารถประมวลผลและวเคราะห์
ขอ้ มูล แก้ปญหาบางอย่างแทนมนษุ ย์ ซงึ ตอ้ งใช้ภาษาคอมพวิ เตอร์ในการสังการ โดยการพมิ พ์ตัวอักษรแลว้ บนั ทึกเปนไฟลเ์ อกสารเพือ
นาํ ไปใชง้ านกบั เครองเซริ ์ฟเวอร์ การเขยี นโปรแกรมเพอื ใหส้ ามารถทําความเข้าใจกับชดุ คาํ สังทมี อี ยจู่ ํานวนมากได้ง่ายยิงขนึ
ภาษาคอมพวิ เตอร์ทีสนับสนุนการเขยี นโปรแกรมแบบ
-OOP
- PHP
- Python
- Java
- C#
- C++
- Javascript
- Perl เปนตน้
หน่วยที 3 กระบวนการวเคราะหแ์ ละออกแบบเชงิ วัตถุ 12
กระบวนการวเคราะห์และออกแบบระบบเชิงวตั ถุ
คือ จัดระบบกระบวนการพัฒนาระบบงานใหม้ รี ะเบยี บ และสามารถนําโปรแกรมทเี คยเขยี นมากอ่ นใหส้ ามารถนํากลับมาใชง้ านใหม่
การวเคราะห์ระบบเชงิ วตั ถุเปนการอธบิ ายระบบสารสนเทศวา่ ประกอบดว้ ยสิงต่าง ๆ ทเี รยกวา่ วตั ถุ (Object) ทังทจี บั ตอ้ งได้และจบั
ต้องไมไ่ ด้ ผลลพั ธส์ ุดทา้ ยของการวเคราะห์ระบบเชงิ วตั ถกุ ็คอื แบบจําลองเชิงวตั ถุ (Object Model) ทนี ําเสนอระบบสารสนเทศใน
ลักษณะเชิงวตั ถุ จากนันในระหวา่ งขนั ตอนของการพฒั นาระบบในวงจรการพัฒนาระบบ (SDLC) สามารถแปลงเปนการออกแบบเชงิ
วตั ถไุ ด้โดยตรงโดยใชโ้ ปรแกรมเชิงวตั ถุในการพฒั นา เชน่ C++ Java เปนต้น
ภาษายเู อ็มเอล
คอื เปนภาษาทีมรี ูปภาพมาตรฐานและเปนภาษาสากลทีใชใ้ นการวเคราะห์ออกแบบและพัฒนาระบบซอฟตแ์ วร์เชงิ วตั ถุ ดงั นนั เอกสาร
การวเคราะห์และออกแบบทีถูกสร้างดว้ ยภาษา UML จงึ สามารถแลกเปลยี นและทําความเข้าใจตรงกนั ได้ระหวา่ งผรู้ ่วมงานภายในกลมุ่
ผพู้ ัฒนาระบบ ภาษา UML มีคุณสมบัติทสี ามารถนาํ เสนอและสนับสนนุ หลักการเชิงวตั ถุได้
อยางครบถ้วนชดัเจนและไมผ่ กู ตดิ กบั ภาษาโปรแกรมภาษาใดภาษาหนึ่ง
13
ยเู คสไดอะแกรม
คอื เเปนภาษาสญั ลกั ษณ์รูปภาพมาตรฐานทใี ชเ้ พือถ่ายทอดความคดิ ทมี ีตอ่ ระบบให้ออกมาเปนแผนภาพซึงประกอบไปดว้ ยรูปภาพ
หรอสัญลกั ษณ์ตามกฎในการสร้างแผนภาพซึงเรยกได้วา่ ยูเอม็ แอลเปนภาษาส าหรับใช้ในการสร้างแบบจ าลองเชิงวตั ถ
14
คลาสไดอะแกรม
คอื คลาสไดอะแกรมเปนไดอะแกรมทีแสดงการใชง้ านคลาส อ็อบเจ็กตแ์ ละมกี ารสร้างความสัมพนั ธ์ระหวา่ งคลาสหรอ
อ็อบเจ็กต์เหลา่ นัน เชน่ การสืบทอดคณุ สมบัตขิ องคลาส เปนตน้ การหาคลาสของอ็อบเจก็ ตไ์ ดต้ อ้ งสามารถจดั หมวดหม่ขู อง
อ็อบเจ็กตไ์ ด้ การหาคลาสจากออ็ บเจก็ ต์ควรใหอ้ ยใู่ นระบบทกี าลังสร้างเชน่ ระบบจดั ซอื สามารถหาคลาสของระบบได้คอื
คลาสลกู คา้ คลาสใบสงั ซอื คลาสใบเสนอราคา คลาสใบเสร็จรับเงนิ เปนตน้
15
สเตตชาร์ตไดอะแกรม
คอื สเตตชาร์ตไดอะแกรมบอกถงึ พฤตกิ รรมของคลาสต่าง ๆ ในระบบวา่ มสี ถานะอะไรบา้ งจะเปลยี นสถานะเมอื เกดิ เหตุการณอ์ ะไร
สเตตชาร์ตไดอะแกรมของแต่ละคลาสประกอบไปด้วยสถานะทสี ามารถเกิดขึนได้ เชน่ คนอยใู่ นสถานะกําลงั เดิน รถอยใู่ นสถานะ
กําลังวง เปนตน้
16
ซเี ควนไดอะแกรม
คอื บ่งบอกถึงในยูสเคสนันวตั ถแุ ตล่ ะตวั จะตดิ ต่อสอื สารกนั อย่างไร มีขนั ตอนการทํางานอยา่ งไร โดยเน้นไปทีแกนเวลาเปนสําคญั
ถา้ เวลาเปลียนขนั ตอนการท างานจะเปลียนโดยมแี อก็ เตอร์เปนผู้กระทําเรมต้น ในยเู อ็มแอลซเี ควนไดอะแกรมมแี กนสมมติ 2 แกน
คือ แกนนอนและแกนตงั แกนนอนแสดงขนั ตอนการทาํ งานและการสง่ ขอ้ ความของแต่ละวตั ถุวา่ ต้องทําอะไรเมือใด แกนตังเปน
แกนเวลาโดยแกนนอนและแกนตงั ตอ้ งสมั พนั ธก์ ัน
17
คอลลาบอเรชนั ไดอะแกรม
คือ มหี น้าทเี ดียวกนั กบั ซเี ควนซ์ไดอะแกรมแตไ่ มแ่ สดงถงึ แกนเวลาอย่างชัดเจนยกเว้นการโต้ตอบกันระหวา่ งอ็อบเจ็กต์สัญลักษณ์
ทีใช้ประกอบดว้ ย วัตถุ หรอคลาสแทนดว้ ยรูปสีเหลยี มคลา้ ยซีเควนซ์ไดอะแกรมมี 13 รูปแบบคือ ชืออ็อบเจก็ ต์/บทบาท แสดงถงึ
กลุม่ ของอ๊อบเจ็กต์ทีทาํ งานร่วมกันสอดคล้องกบั ความหมายของชอื ไดอะแกรม ลกู ศรทีชีจะชีไปในทิศทางเดยี วไม่มกี ารชียอ้ นกลับ
ในเส้นเดียวกัน
18
แอก็ ทวิ ตีไดอะแกรม
คือ แอก็ ทิวตไี ดอะแกรมแสดงขันตอนการท างานของยูสเคสเช่นเดยี วกับซีเควนไดอะแกรมและคอลลาบอเรชันไดอะแกรมแตเ่ น้นทีงาน
ยอ่ ยของวตั ถุ ส่วนแอ็กทิวตไี ดอะแกรมจะเปลียนสถานะไดโ้ ดยไมต่ อ้ งมีเหตุการณ์ทีกําหนดไวใ้ นไดอะแกรมมากระทาํ กอ่ นแตเ่ ปลยี น
สถานะเองตามกระบวนการทํางานคลา้ ยกบั ผงั งานโปรแกรมสญั ลักษณใ์ นแอก็ ทิวตไี ดอะแกรม มแี อ็กทิวตคี อื กจิ กรรมทแี สดงด้วย
สเี หลียมมนเหมือนแคปซลู เชือมโยงกนั ดว้ ยลูกศรเพอื แสดงลาํ ดบั ของการทาํ งาน
19
คอมโพเนนตไ์ ดอะแกรม
คือ แสดงความสัมพนั ธ์ทเี ชือมตอ่ กันระหวา่ งซอฟตแ์ วร์คอมโพเนนต์ในระบบว่าประกอบดว้ ยไฟล์อะไรบา้ งซงึ อาจเปนไฟล์
ซอร์สโค้ด ไฟล์ไบนาร และไฟลเ์ อ็กซิคิวต์
20
ดพี ลอยเมนตไ์ ดอะแกรม
คอื แสดงการเชอื มต่อของอปุ กรณฮ์ าร์ดแวร์ในระบบและมักใช้ร่วมกบั คอมโพเนนต์ไดอะแกรมโดยขา้ งในฮาร์ดแวร์อาจประกอบ
ไปดว้ ยซอฟต์แวร์คอมโพเนนตด์ ีพลอยเมนตไ์ ดอะแกรมแสดงอย่ใู นรูปอินสแทนซ์ และแสดงในชว่ งเวลาของการรันหรอระหวา่ ง
การเอก็ ซคิ วิ ต์ ดังนนั ไฟลค์ อมโพเนนต์ของระบบทีไม่ไดใ้ ชส้ าํ หรับรันจะไมป่ รากฎในไดอะแกรมนีแตม่ ีในคอมโพเนนตข์ องไฟลท์ ใี ช้
ทาํ งานจรงเทา่ นัน
หน่วยที 4 โมเดลทใี ช้ออกแบบเชิงวัตถุ(แบบจาํ ลองเชงิ วัตถ)ุ 21
โมเดลทใี ชอ้ อกแบบเชงิ วตั ถุ
คือ รูปแบบของภาษามี Notation เปนสัญลักษณ์สาํ หรับสอื ความหมาย มีกฎระเบียบทมี คี วามหมายต่อการเขยี นโปรแกรม
(Coding) ดังนนั การใช้ UML จะตอ้ งทราบความหมายของ Notation เช่น generalize, association, dependency,
class และ package สิงเหลา่ นีมีความจาํ เปนต่อการตีความการออกแบบ กอ่ นนําไป Implement ระบบงานจรง
ออกแบบเชงิ วตั ถุด้วย UML
คือ การออกแบบระบบโดยใช้ UML เราจะวาดรูปองคป์ ระกอบของซอฟแวร์ ให้อยู่ในไดอะแกรม เปรยบเสมอื นการร่างแบบที
สถาปนิกใชใ้ นการออกแบบสงิ ก่อสร้างซงึ ไดอะแกรมทีใชก้ นั มอี ยู่ 9 ชนดิ คือ Use case diagram ใชเ้ พืออธิบายชุดของการ
กระทาํ ว่าระบบควรหรอสามารถทํางานร่วมกบั ผ้ใู ช้ภายนอกของระบบ ชว่ ยให้ทมี พัฒนาทราบถึงความสามารถของระบบได้ง่าย
Class diagram คอื แผนภาพทใี ชแ้ สดง Class และความสมั พนั ธร์ ะหวา่ งคราสของระบบทเี ราสนใจ
Use Case Diagram
คอื เปนแผนภาพทใี ชแ้ สดงใหท้ ราบว่าระบบท างานหรอมหี น้าทใี ดบา้ ง โดยมีสัญลกั ษณ์รูปวงรแทน และสัญลกั ษณ์รูปคน แทน
Actor สาํ หรับชือ Use Case นนั ให้ใชค้ ากรยาหรอกรยาวลี (ค ากรยามกี รรมมารองรับ) เช่น ลงทะเบยี นเรยน,
ตรวจสอบรายวชา, บนั ทึกการชาํ ระเงนิ เปนต้น
22
Class diagram
คือ แผนภาพทีใช้แสดง Class และความสัมพนั ธใ์ นแงต่ ่างๆ (Relation) ระหว่าง Class เหลา่ นัน ซึงความสัมพันธท์ ีกลา่ วถงึ ใน
Class Diagram นถี ือเปนความสมั พันธเ์ ชิงสถิตย์ (Static Relationship) ประกอบดว้ ยกลมุ่ ของ Class และกลมุ่ ของ
Relationship โดยสญั ลักษณ์ทีใช้ในการแสดง Class นนั จะแทนด้วยสเี หลียม
Static & Dynamic
คือ พลัง ความสามารถในการดาํ เนนิ การ และ/หรอ การเปลียนแปลงหรอมีแรง ในขณะที static (สถติ ) หมายถงึ ความคงทีหรอ
ยึดตดิ ในศัพท์คอมพวิ เตอร์ dynamic มักจะหมายถงึ ความสามารถในการดําเนนิ การ และ/หรอการเปลยี นแปลง ในขณะที
static หมายถงึ คงที ศพั ท์ทังสองสามารถนาํ ไปใชช้ นดิ ทีแตกตา่ งกันของสงิ ต่างๆ จาํ นวนมาก เชน่ การเขยี นโปรแกรมภาษา
(หรอส่วนประกอบของภาษาโปรแกรม)
หน่วยที 5 UML Modeling 23
ความหมายของยเู อม็ แอล (UML : Unified Modeling Language)
คอื ภาษาทใี ช้สาํ หรับอธิบาย แสดงความหมายและความสัมพันธ์ในรูปแบบแผนภาพ เพอื ใชใ้ นการวเคราะห์ และออกแบบ เชงิ
วัตถโุ ดยจะมี View หรอมุมมองของปญหาทีแตกตา่ งกันออกไป ในแต่ละ Model และเมือนํามาประกอบเขา้ ด้วยกนั กจ็ ะ
สามารถวเคราะห์ และออกแบบ เพอื นําไปพัฒนาระบบสารสนเทศ
ประวตั ิความเปนมาของยเู อม็ แอล
คอื เได้ถือกําเนดิ ขึนมา ในแวดวงอุตสาหกรรม ซอฟแวร์ เมอื ป คศ.1994 โดย Jim Rumbaugh และทีมวจยั จาก บรษทั
General Electric พฒั นาแนวคิดเรอง (OMT) และ ไอวาร์ จาคอบสนั จากบรษัท Ericsson ไดน้ าํ เสนอแนวความคิดในเรอง
ของ Use case เปนคนแรก ซงึ ช่วงนนั มรี ะเบยี บวธีทีมีลักษณะคล้ายคลงึ กนั ดงั กล่าวเกดิ ขนึ มากมาย และในขณะเดยี วกนั กม็ ีราย
ละเอยี ดปลกี ย่อยทแี ตกต่างกนั ออกไป แนวความคิดพนื ฐาน ทีเหมือนกันถกู แสดงดว้ ยสญั ลกั ษณ์ทตี า่ งกนั
24
สว่ นประกอบหลักของยูเอม็ แอล
UML ประกอบดว้ ย 3 สว่ นหลักคือ Things, Relationships และ Diagrams
- ส่วน Things แบ่ง 4 ประเภท คือ Structural things, Behavioral things, Group things และ Annotational
things
- สว่ น Relationships แบ่ง 3 ประเภท คือ Meaning, Structural และ Generalized/Specialized
- ส่วน Diagrams แบง่ 6 ประเภท คอื Use case, Static structure, Interaction, State, Activity และ
Implementation
ประโยชน์ของยเู อ็มแอล
- ทาํ ใหว้ งจรชวี ตการพฒั นาระบบสนั ลง
- เพิมการผลิต
- ปรับปรุงคณุ ภาพซอฟทแ์ วร์
- สนับสนุนระบบสืบทอดโปรแกรม
- ปรับปรุงการเชือมโยงทีมงาน
25
หนา้ ทขี องยเู อ็มแอล
คอื เปนวธีการวเคราะห์และออกแบบอยา่ งหนึงทสี ร้างความเขา้ ใจในปญหาได้ง่ายขึน อกี ทังยงั สามารถนําแบบเครองมือมาใชใ้ น
การสอื สารถ่ายทอดความคิดกับบุคคลอนื ๆ เชน่ ลูกคา้ นักวเคาระหร์ ะบบ นักออกแบบระบบ เปนตน้ หรอการใช้สญั ลกั ษณ์
รูปภาพในการสร้างแบบจําลองระบบ ทีจะพฒั นาเพอื ประโยชนท์ ีคลา้ ยคลึงกนั ในการทําความเข้าใจกบั ความต้องการของลูกค้า
กลไกของยูเอ็มแอล
1. Use case Diagram แสดงการใช้งานระบบ จากมุมมองของ User
2. Sequence Diagram แสดงลาํ ดบั ขนั ตอน การทํางานภายใน ของ Use case Diagram
3. Class Diagram แสดงถงึ Class และความสมั พนั ธ์ ของขอ้ มลู และ กจิ กรรมทมี ผี ลกับขอ้ มูลในแต่ละ Class
4. Activity Diagram แสดงถึง กระแส การไหล ของการทํางานในระบบ ( Work Flow )
5. Collaboration Diagram แสดงถึง การติดตอ่ สอื สาร และความสมั พนั ธ์ ระหวา่ ง Object
6. Component Diagram แสดงถงึ โครงสร้างทางกายภาพของ Component ต่างๆ ในระบบ
7. Deployment Diagram แสดงถงึ สถาปตยกรรมของระบบ Hardware/Software
8. Object Diagram แสดงถงึ ความสัมพนั ธ์ และ Instance ของ Class และ Object
9. State Diagram แสดงถึง สถานภาพ และ พฤตกิ รรม ของ Object
หน่วยที 6 การวเคราะหแ์ ละออกแบบโปรแกรมทางธรุ กจิ 26
ตวั อย่างระบบงาน
ระบบซอื สินคา้
หน่วยที 6 การวเคราะหแ์ ละออกแบบโปรแกรมทางธรุ กิจ 27
ตวั อย่างระบบงาน
ระบบสินคา้ คงคลัง
จบการนาํ เสนอ
วชา การวเคราะหแ์ ละออกแบบระบบเชงิ วตั ถุ