Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore งานครั้งที่ 10

งานครั้งที่ 10

Published by ฑิตยา อินคต, 2021-02-15 11:03:53

Description: งานครั้งที่ 10

Search

Read the Text Version

การวิเคราะห์ และออกแบบ ระบบเชิงวัตถุ

การวเิ คราะหและออกแบบระบบเชงิ วตั ถุ จดั ทาํ โดย นางสาวบัวชมพู พันธทอง รหัสประจําตัว 63302040011 นางสาวฑิตยา อนิ คต รหัสประจาํ ตัว 63302040006 ปวส1/1 เทคโนโลยธี รุ กิจดจิ ิทัล เสนอ อาจาย วริ ฬุ พร แกวกลา เปนสวนหน่ึงของวิชาการวเิ คราะหแ ละออกแบบเชิงวตั ถุ (30204-2003) ภาคเรียนที่ 2 ปการศกึ ษา 2564 วิทยาลยั พณิชยการบึงพระพิษณุโลก

คาํ นาํ คูมือการศกึ ษาเปนสวนหนงึ่ ของวิชาการวิเคราะหและออกแบบ เชิงวตั ถุ (30204-2003) ศกึ ษาและปฏิบตั ิเกยี่ วกบั ขน้ั ตอนการ พัฒนาระบบสารสนเทศ หลักการพ้ืนฐานและแนวคิดเชงิ วตั ถุ กระบวนการวิเคราะหแ ละออกแบบเชงิ วัตถุ โมเดลท่ีใชออกแบบ เชงิ วตั ถุ หลกั การของ UML Modeling องคประกอบของ UML และการวเิ คราะหแ ละออกแบบโปรแกรมทางธุรกิจ ผจู ดั ทําไดจ ดั ทําเพ่อื ตอ งการใหผ ูอา นท่ียังไมส ามารถเขา ใจใน เร่ืองนไี้ ดถึงการออกแบบเชิงวัตถุ ผจู ัดทําหวังเปนอยางยงิ่ วา ผูอา น จะไดร บั ความรอู ยา งครบและสมบูรณท สี่ ุด หากผอู า นมีขอเสนอ แนะประการใดผูจัดทําขอรบั ไวข อขอบพระคณุ เปนอยา งย่งิ นางสาวบัวชมพู พันธทอง นางสาวฑิตยา อนิ คต

สารบญั เร่อื ง หนา หนว ยท่ี 1 การพัฒนาระบบสารสนเทศ 1 - ความหมายและองคป ระกอบของระบบสารสนเทศ 3 - วตั ถปุ ระสงคในการพัฒนาระบบสารสนเทศ 3 - หลักการพฒั นาระบบสารสนเทศ 3 - ขน้ั ตอนการพัฒนาระบบสารสนเทศ 4 - วงจรการพฒั นาระบบ 9 - วธิ ีการพฒั นาระบบ 10 - ทมี งาน(บคุ ลากร)พัฒนาระบบสารสนเทศ 11 หนว ยท่ี 2 หลักการพน้ื ฐานและแนวคดิ เชงิ วัตถุ 11 - แนวคิดเชิงวัตถุ 12 - หลกั การเชิงวตั ถุ - ภาษาคอมพิวเตอรท ีส่ นับสนนุ การเขยี นโปรแกรมเชิงวตั ถุ 13 13 หนว ยที่ 3 กระบวนการวเิ คราะหและออกแบบเชงิ วัตถุ 13 - กระบวนการวเิ คราะหแ ละออกแบบระบบเชงิ วัตถุ 13 - ภาษายูเอม็ เอล 14 - ยเู คสไดอะแกรม 14 - คลาสไดอะแกรม 14 - สเตตชารต ไดอะแกรม 14 - ซีเควนไดอะแกรม 14 - คอลลาบอเรช่ันไดอะแกรม 14 - แอก็ ทวิ ติ ีไ้ ดอะแกรม - คอมโพเนนตไดอะแกรม - ดพี ลอยเมนตไ ดอะแกรม

เร่อื ง หนา หนวยท่ี 4 โมเดลที่ใชออกแบบเชงิ วัตถุ(แบบจําลองเชงิ วัตถุ) 15 - โมเดลที่ใชอ อกแบบเชิงวตั ถุ 16 - ออกแบบเชงิ วัตถดุ ว ย UML 22 - Use Case Diagram 25 - Class diagram 28 - Static & Dynamic 29 หนวยท่ี 5 UML Modeling 29 - ความหมายของยูเอม็ แอล 30 - ประวตั ิความเปนมาของยูเอ็มแอล 30 - สวนประกอบหลกั ของยเู อม็ แอล 30 - ประโยชนของยเู อม็ แอล 31 - หนา ที่ของยูเอม็ แอล - กลไกของยูเอ็มแอล 32 หนว ยท่ี 6 การวิเคราะหแ ละออกแบบโปรแกรมทางธุรกจิ - ตัวอยา งระบบงาน

1 หนว่ ยที 1 การพัฒนาระบบสารสนเทศ 1. ความหมายและองคประกอบของระบบสารสนเทศ ระบบสารสนเทศ (Information system) หมายถึง ระบบทป่ี ระกอบดว ย สวนตา งๆ ไดแ ก ระบบคอมพวิ เตอรท ้งั ฮารด แวร ซอฟทแ วร ระบบเครอื ขา ย ฐานขอ มูล ผูพฒั นาระบบ ผใู ชร ะบบ พนักงานทเี่ กี่ยวของ และ ผูเชยี่ วชาญในสาขา ทุกองค ประกอบนีท้ ํางานรวมกันเพอื่ กําหนด รวบรวม จัดเกบ็ ขอมูล ประมวลผลขอ มลู เพอื่ สรา งสารสนเทศ และสง ผลลพั ธห รอื สารสนเทศที่ไดใหผใู ชเ พื่อชวยสนบั สนนุ การ ทํางาน การตดั สนิ ใจ การวางแผน การบริหาร การควบคุม การวเิ คราะหแ ละติดตาม ผลการดําเนนิ งานขององคก ร ระบบสารสนเทศ หมายถงึ ชุดขององคประกอบที่ทําหนาทร่ี วบรวม ประมวล ผล จดั เกบ็ และแจกจายสารสนเทศ เพอ่ื ชว ยการตดั สินใจ และการควบคุมในองคก ร ใน การทํางานของระบบสารสนเทศประกอบไปดวยกจิ กรรม 3 อยาง คือ การนําขอมลู เขา สู ระบบ (Input) การประมวลผล (Processing) และ การนําเสนอผลลพั ธ (Output) ระบบสารสนเทศอาจจะมกี ารสะทอนกลับ(Feedback) เพอื่ การประเมนิ และปรับปรุง ขอ มลู นําเขา ระบบสารสนเทศอาจจะเปน ระบบที่ประมวลดว ยมือ(Manual) หรอื ระบบ ท่ีใชคอมพิวเตอรกไ็ ด (Computer-based information system –CBIS) (Laudon & Laudon, 2001) ระบบสารสนเทศ หมายถงึ ระบบคอมพวิ เตอรท ่ีจดั เกบ็ ขอ มูล และประมวลผล เปนสารสนเทศ และระบบสารสนเทศเปน ระบบทต่ี อ งอาศัยฐานขอมลู (CIS 105 — Survey of Computer Information Systems, n.d.) ระบบสารสนเทศ หมายถงึ ชุดของกระบวนการ บุคคล และเครอื่ งมอื ท่จี ะ เปลี่ยนขอมูลใหเ ปน สารสนเทศ (FAO Corporate Document Repository, 1998) ระบบสารสนเทศ ไมว าจะเปน ระบบมอื หรอื ระบบอัตโนมัติ หมายถึง ระบบทป่ี ระกอบ ดวย คน เครือ่ งจักรกล(machine) และวธิ กี ารในการเกบ็ ขอ มูล ประมวลผลขอมลู และเผยแพรข อมลู ใหอยใู นลกั ษณะของสารสนเทศของผูใช (Information system, 2005)

2 บุคลากร เปนสว นประกอบทส่ี าํ คัญ เพราะบุคลากรท่ีมีความรู ความสามารถ และ เขา ใจวธิ กี ารใหไดมาซ่ึงสารสนเทศ จะเปน ผูดําเนนิ การ ในการทํางานทั้งหมด บคุ ลากรจงึ ตองมคี วามรูความเขาใจในการใชเทคโนโลยีสารสนเทศ บุคลากรภายในองคก รเปนสว น ประกอบทจี่ ะทําใหเ กิด ระบบสารสนเทศดว ยกันทกุ คน เชน รา นขายสินคา แหงหน่ึง บุคลากรทด่ี ําเนนิ การในรานคา ทุกคน ตัง้ แตผจู ัดการถึงพนักงานขาย เปน สว นประกอบท่ี จะทําใหเกดิ สารสนเทศได ขน้ั ตอนการปฏิบตั ิ เปน ระเบยี บวธิ ีการปฏิบัติงานในการจัดเก็บรักษาขอ มลู ใหอ ยใู นรูป แบบทจ่ี ะทาํ ใหเ ปน สารสนเทศได เชน กาํ หนดให มีการปอ นขอมลู ทุกวนั ปอนขอ มลู ใหท ัน ตามกําหนดเวลา มกี ารแกไขขอ มลู ใหถ ูกตอ งอยเู สมอ กําหนดเวลาในการประมวลผล การ ทาํ รายงาน การดําเนนิ การ ตาง ๆ ตองมขี ัน้ ตอน หากขน้ั ตอนใดมปี ญ หาระบบก็จะมีปญ หา ดวย เพราะทกุ ข้ันตอนมีผลตอ ระบบสารสนเทศ เครอื่ งคอมพิวเตอร เปน เคร่อื งมือทช่ี วยในการจัดการสารสนเทศ คอมพิวเตอรชวย ประมวลผล คดั เลือก คํานวณ หรือพมิ พรายงาน ผลตามทตี่ องการ คอมพิวเตอรเ ปน อปุ กรณทีท่ ํางานไดร วดเรว็ มคี วามแมนยาํ ในการทํางาน และทํางานไดตอเนอ่ื ง คอมพิวเตอรและอปุ กรณตาง ๆ จึงเปนองคป ระกอบหนง่ึ ของระบบสารสนเทศซอฟตแ วร คือลําดับขน้ั ตอนคาํ สง่ั ใหเครื่องคอมพวิ เตอร ทาํ งานตามวตั ถปุ ระสงคท ีว่ างไว ซอฟตแวร จงึ หมายถงึ ชดุ คําสง่ั ทเ่ี รยี ง เปน ลําดบั ข้นั ตอนสง่ั ใหค อมพวิ เตอรท าํ งาน ตามตอ งการ และประมวลผลเพ่ือใหไ ดส ารสนเทศทีต่ อ งการ ขอ มลู เปน วัตถดุ ิบที่ทาํ ใหเ กดิ สารสนเทศ ขอ มลู ที่เปนวตั ถุดิบจะตางกัน ขนึ้ กบั สารสนเทศท่ีตองการ เชน ในสถานศกึ ษามกั จะตอ งการ สารสนเทศทเี่ กี่ยวขอ งกับขอ มูล นักเรยี น ขอมลู ผลการเรียน ขอมลู อาจารย ขอ มูลการใชจายตา ง ๆ ขอ มลู เปนสิง่ ที่สําคัญ ประการหนง่ึ ทมี่ ีบทบาทตอ การใหเกิด สารสนเทศ

3 2. วตั ถุประสงคใ นการพฒั นาระบบสารสนเทศ เพอ่ื ชวยแกป ญ หาจากการปฏบิ ตั งิ านใน ระบบงานเดมิ หรือสรางมลู คาเพิม่ ใหกับ ธรุ กิจ ทาํ ใหอ งคก รมีความไดเปรียบในทางธรุ กิจ 3. หลักการพัฒนาระบบสารสนเทศ การพัฒนาระบบสารสนเทศ เปนกระบวนการในการนําเอาคอมพิวเตอรเขาม้ าชวย ในการจัดการขอมลู เพือ่ ใหมาซ่ึงสารสนเทศท่สี ามารถนําไปประโยชนใ นการทํางาน ใชเป้ น เครอื่ งมือชว ยในการตดัสนิ ใจแกป ญ หาตา งๆ ท่เี กิดขนึ ในองคก ร เปน เครอ่ื งมอื ทชี่ วยสราง มลู คา เพ่ิมใหก บัธุรกิจซึง่ การพฒั นาระบบสารสนเทศรวมถงึ การปรบั เปลย่ี นระบบงานเดมิ ท่ีมีอยูแ ลว ใหสามารถทํางานแกปญ หาการดา เนินงานทางธุรกจิ ตามความตองการของผู ใชงาน และเปน การเพ่มิ ประสทิ ธภิ าพในการทํางานขององคก รอกี ดว ยการพฒั นาระบบ สารสนเทศจะมีกิจกรรมและขัน้ ตอนตา งๆ มากมายรวมถงึ ความซับซอนของระบบงาน การมแี นวทางทเ่ี ปนลาํ ดบั ขัน้ ตอนตอนท่ีสง ผลตอมาตรฐานของระบบงานจงึ เปน สงิ่ ท่ีนกั วิเคราะหระบบตอ งการ ทั้งน้กี เ็ พอื่ ใหง านพฒั นาระบบเปน ไปในทศิ ทางเดยี วกนั มขี ัน้ ตอน ลําดับกิจกรรมท่ตี อ งทาํ อยาง อยางชดั เจนในแตล ะขนั ตอน จงึ เกิด “วงจรการพฒั นา ระบบ” ขึนมา ในบทนีจะกลา วถึงปจ จยั ทีส่ งผลตอ การเกิดโครงการพัฒนาระบสารสนเทศ หลกั ในการพฒั นาระบบสารสนเทศ วงจรการพฒั นาระบบ และวธิ ีการพฒั นาระบบ 4. ขั้นตอนการพฒั นาระบบสารสนเทศ

4 5. วงจรการพัฒนาระบบ (Software Development Life Cycle : SDLC Model ) งานพฒั นาระบบสารสนเทศจะมกี ิจกรรมและขั้นตอนตา ง ๆ มากมาย รวมถึงความ ซับซอ นของระบบงาน ดงั นัน้ การมีแนวทางท่ีเปนลาํ ดับข้นั ตอน ที่สง ผลตอมาตรฐานของ ระบบงานจงึ เปน ส่ิงท่นี ักวิเคราะหระบบตอ งการ เพ่ือสงผลใหงานวิเคราะหร ะบบเปน ไปใน ทิศทางเดยี วกนั มีขั้นตอนลาํ ดบั กิจกรรมที่ตองทําอยางชดั เจนในแตละขนั้ ตอน จึงเกดิ “วงจรพฒั นาระบบ” ขนึ้ มา วงจรการพัฒนาระบบ หรอื มักเรียกสน้ั ๆ วา SDLC เปน วงจรท่แี สดงถึงกิจกรรมตางๆ ที่ เปนลําดบั ขน้ั ตอนในการพัฒนาระบบ ซึ่ง SDLC ประกอบดวยกจิ กรรม 7 ระยะดว ยกัน ดงั น้ี 1. การกาํ หนดปญหา 2. การวเิ คราะห 3. การออกแบบ 4. การพัฒนา 5. การทดสอบ 6. การนาํ ระบบไปใช 7. การบํารุงรกั ษา

5 5.1 Waterfall Model: เปน แบบจาํ ลองกระบวนการพัฒนาระบบในรูปแบบนํ้าตก เปนรูปแบบทน่ี ิยมใชก นั ในอดตี มีหลักการเสมอื นกบั นาํ้ ตกซ่งึ ไหลจากทส่ี งู ลงท่ีต่าํ ในแตล ะขน้ั ตอนไมสามารถยอ นกลับไปแกไ ขข้ันตอนที่แลว ได เหมาะสําหรบั ระบบท่มี ีการจัดการทแี่ นนอน และในปจจบุ ันมีขน้ั ตอนการทาํ งานสามารถทจี่ ะวนหรอื ยอนกลับไปแกไ ขได หรอื ที่เรียกวา Adapted Waterfall

6 5.2 Incremental Model: หรอื โมเดลแบบกา วหนา เปนโมเดลทีม่ ีการวิวัฒนาการมา จากโมเดลนา้ํ ตก (Waterfall Model) เน่อื งจากโมเดลนํ้าตก (Waterfall Model) มขี อ เสียคอื ตอ งมกี ารดาํ เนนิ การเปน ข้ันตอนใหเสร็จส้นิ กอนจึงจะดาํ เนินการขัน้ ตอไป ซ่งึ หากเปน โครงการซอฟตแวรทม่ี ีขนาดใหญอ าจตองใชเ วลามาก หลักการของ Incremental Model คอื การแบงระบบงานออกเปน ระบบยอยตาง ๆ โดยระบบยอ ยเรียกวา Increment เปรยี บ เสมอื นกับโครงการขนาดเลก็ (Mini Project) โดยจะทําการพัฒนาระบบงานท่เี ปน งานหลัก ของระบบกอน จากนน้ั พัฒนาตอ เตมิ ในแตละ Increment ตามลาํ ดบั จนกระท้ังไดร ะบบงาน ทีเ่ สรจ็ สมบูรณ

7 5.3 Spiral Model: เปนโมเดลทีถ่ ูกพฒั นาขึน้ จาก Waterfall Model ทม่ี กี ารทาํ งาน เปน ข้ันตอนหากในขัน้ ตอนแรกวิเคราะหความตอ งการไมด ี ไมชัดเจน ความเสี่ยงทร่ี ะบบจะถกู พัฒนาไมตรงตามความตองการของลกู สูงและทาํ ใหโครงการลม เหลวครบั กระบวนการน้จี งึ นาํ เอาขอ ดขี อง Prototype มาผสมผสานใหเกดิ คามชดั เจนและมกี ารวเิ คราะหความเสยี่ งใน ทุกชน้ั ทาํ ใหโ อกาสท่ีระบบจะลม เหลวมนี อยลง

8 5.4 Agile Model: เปน แนวคดิ ใหมส าํ หรบั การพฒั นาซอฟตแ วร ซ่งึ เปนสว นหนงึ่ ของ งานดาน Software Engineering ท่พี ยายามทีจ่ ะแทรกตัวเขา ไปใน methodology แบบ เดิม เพ่อื ใหง านส้ันลง และประหยัดเวลาและงบประมาณ

9 6.วธิ ีการพฒั นาระบบ (System Development Approaches) วิธกี ารพัฒนาระบบท่ีนิยมใชในปจ จบุ ันมี 2 วิธี ดังนี้ 6.1 การพฒั นาระบบเชงิ โครงสรา ง (Structured System Development) การพฒั นาระบบเชงิ โครงสรางเปนวธิ กี ารพัฒนาระบบเเบบดง้ั เดมิ ที่เก่ยี วขอ ง กบั การวิเคราะหเ ชงิ โครงสรา ง การออกแบบเชิงโครงสรา ง เเละการโปรแกรมเชิงโครงสราง โดยมรี ายละเอียด ดังน้ี 1.เทคนิคการโปรแรกมเชงิ โครงสราง เปนเทคนิคในการพัฒนาโปรแรกมทมี่ ีหนง่ึ จุดเริม่ ตนเเละหนงึ่ จุดสิ้นสดุ โดยมีรูปแบบชุดคาํ สงั่ ท่ีใชในการประมวลผล 3 รูปแบบ คือ (1) ชดุ คาํ ส่ังเรยี งลาํ ดบั (Sequence) (2) ชุดคาํ สง่ั กาํ หนดทางเลือกหรือการตดั สินใจ (Decision) (3) ชุดคาํ สง่ั เพื่อการทาํ ซํา้ หรือวนลูป (Repetition/Looping) 2.เทคนคิ การออกแบบเชิงโครงสราง เปน เทคนคิ ในการนําเสนอระบบทีพ่ ัฒนา ผา นทางโครงสราง (Structure Chart) ซ่งึ เปนเเผนภาพทีเ่ เสดงใหเ ห็นถึงโมดูลภายใน โปรแกรมเเละเเสดงวิธกี ารจดั การกับโมดลู เเละการสงผา นขอ มลู ระหวางโมดลู ทําใหน ัก ออกแบบทราบถงึ กระบวนการทํางานของระบบฟงกช นั หลกั ของระบบ ขอ มลู ที่ใชใ นระบบ เเละผลลพั ธท ีไ่ ดจ ากการทาํ งานของระบบฟง กช นั หลกั ของระบบ ขอมลู ท่ใี ชในระบบ เเละ ผลลัพธท่ไี ดจากการทาํ งานของระบบ ตอ มามีการพัฒนาเทคนิคการออกแบบแฟม ขอมลู เเละฐานขอมูลขึ้นมา เพือ่ ใชค วบคกู บั การออกแบบเชงิ โครงสรา ง เชน ระบบจัดการฐาน ขอ มลู (DBMS) ทีส่ ามารถออกแบบสวนติดตอ 3.การวิเคราะหเ ชงิ โครงสรา ง โดยทําการวิเคราะหข อ มลู จากเอกสาร รายงาน เเละ ขนั้ ตอนการทาํ งานของระบบงานเดมิ จากนัน้ สรา งแบบจาํ ลองกระบวนการทํางานของ ระบบสารสนเทศเพอื่ เเสดงใหเ หน็ กระบวนการทาํ งานของระบบ ขอมลู ทรี่ ะบบตองการ ขอ มลู ที่ไดจ ากการทาํ งานของบคุ คลหรือหนวยงานท่เี กยี่ วขอ งกับระบบ และเเฟมทใี่ ชจ ดั เก็บขอมูลของระบบ มีการเเสดงทิศทางการไหลของขอ มูลในเเตละกระบวนการท่ีเรียกวา แผนภาพกระเเสขอมูล (Data Flow Diagram) 6.2 การพัฒนาระบบเชิงวัตถุ(Object-Oriented System Development) การพฒั นาระบบเชิงวัตถเุ ปน วิธีการพัฒนาระบบสารสนเทศทีว่ ิเคราะหข อมลู โดยมองสุกสวนของระบบเปน วัตถุ เเละจัดประเภทของวัตถตุ ามคณุ ลักษณะทางนามธรรม ออกเปน กลมุ ๆ เรียกวา คลาส ซึ่งจะกําหนดคณุ สมบตั ขิ องวตั ถุน้ันอยางชดั เจน

10 7.ทีมงาน(บคุ ลากร)พัฒนาระบบสารสนเทศ การพฒั นา IT เก่ียวขอ งกับบคุ คลที่มีหนาท่ีรับผิดชอบกระบวนการพัฒนาระบบหลาย กลุม โดยทว่ั ไปจะมีการทาํ งานเปน ทมี ที่ตอ งอาศยั ความรู ประสบการณ และทักษะจาก กลมุ บคุ คล 1) คณะกรรมการ (Steering Committee) 2) ผูบริหารโครงการ (Project Manager) 3) ผูบ รหิ ารหนว ยงานดานสารสนเทศ (MIS Manager) 4) นักวเิ คราะหร ะบบ (System Analyst) ควรมีทกั ษะในดานตา งๆ คอื - ทกั ษะดานเทคนิค - ทกั ษะดานการวเิ คราะห - ทักษะดานการบริหารจัดการ - ทกั ษะดา นการติดตอสอื่ สาร 5) ผชู าํ นาญการทางดา นเทคนิค - ผูบริหารฐานขอ มูล (Database Administrator : DBA) - โปรแกรมเมอร (Programmer) 6) ผูใ ชและผจู ดั การทั่วไป (User and Manager)

11 หนว่ ยที 2 หลกั การพนื ฐานและแนวคดิ เชิงวตั ถุ 1.แนวคิดเชิงวัตถุ หมายถึง แนวคิดเชิงวตั ถุมงุ เนนสิ่งตา ง ๆ ท่ใี กลเ คยี งกับโลกแหงความจริงในลกั ษณะรปู ธรรม โดยมองระบบเปนกลมุ ของวตั ถทุ ีม่ ปี ฏกิ รยิ าตอ กนั ดวยการนาํ ขอ มลู และฟงกชันการทาํ งานรวม เขาดวยกนั เปน วตั ถุ ทําใหข อ มลู ท่ีเปน วตั ถนุ ้ันสามารถอธบิ ายคณุ สมบัตริ วมท้งั ฟงกช นั การ ทํางานในตวั เองได 2.หลกั การเชิงวตั ถุ 1. Object คอื หนวยสนใจของระบบทท่ี าํ ใหเกดิ เหตกุ ารณ วัตถุเปนไดทง้ั สิ่งที่สามารถจบั ตอ งได (เชน โตะ รถยนต คอมพิวเตอร คน) และวัตถุทีไ่ มสามารถจบั ตองได (เชน บรษิ ัท ฝายตางๆ หลกั สตู ร) 2. Class คอื กลมุ ของ Object ท่ีมโี ครงสรางพนื้ ฐานพฤตกิ รรมเดยี วกนั Object ท่มี คี ุณสมบัติ เดยี วกนั กจ็ ะรวมกลุมอยใู น Class เดยี วกนั 3. Method คอื ความสามารถของออบเจ็กต ท่ีเราออกแบบเอาไวต งั้ แตต อนเขยี นโคด เพ่อื สรา ง คลาสขึ้นมา หลังจากที่เราสรา งออบเจ็กตจ ากคลาสขึ้นมาแลว เราจะสามารถเรียกใชเ มธอดตาง ๆ ทีเ่ ขียนเอาไวไ ด 4. Encapsulation คอื การปกปด หรอื ควบคุมการเขาถึงขอมลู ของออบเจ็คจากภายนอก ซึง่ วธิ ีการท่ีใชใ นการควบคมุ คอื การทาํ งานผานเมธอดเพื่อดําเนนิ การกับขอมลู นั้น ในภาษา Java และภาษาท่สี นบั สนนุ การเขยี นโปรแกรมเชงิ วตั ถุภาษาอ่นื ๆ นน้ั สามารถใชค ณุ สมบัตินีใ้ นการ ปกปด สวนประกอบภายในคลาสได 5. Information Hiding คอื การเปดเผยเฉพาะขอมลู ทีจ่ าํ เปน ตอการเรียกใชอ อบเจ็คเทานั้น 6. Inheritance คือ เปน คณุ สมบตั ใิ นการเขยี นโปรแกรมเชงิ วตั ถุที่เรียกวา คณุ สมบตั กิ าร สบื ทอด โดยท่คี ลาสสามารถสบื ทอดสมาชิกของมนั จากคลาสหลกั (super class) ไปยงั คลาสยอย (delivered class) โดยการสืบทอดในภาษา Java น้นั สมาชิกท้งั หมดจะถูก สืบทอดไปยงั คลาสยอย 7. Polymorphism คอื การที่ออบเจ็คสามารถมไี ดหลายรปู แบบ ซึง่ เกดิ จากการสืบทอดจาก super class และมนั ยงั คงรักษาสภาพและคณุ สมบตั ิของทางอาชีพของบุคคลในการเขยี น โปรแกรมมไี ดห ลายรูปแบบ

12 ภาษาคอมพิวเตอรท ี่สนับสนนุ การเขยี นโปรแกรมเชิงวัตถุ คอื การเขียนโปรแกรมภาษาคอมพิวเตอรท ่ีใชในการสรา งขึน้ มาใชง านน้ันก็เพ่อื ใหเครอ่ื ง คอมพวิ เตอรสามารถประมวลผลและวิเคราะห ขอมูล แกป ญ หาบางอยางแทนมนุษย ซ่งึ ตอ ง ใชภ าษาคอมพวิ เตอรใ นการสง่ั การ โดยการพิมพต วั อกั ษรแลว บนั ทกึ เปนไฟลเ อกสารเพื่อนาํ ไปใชงานกบั เครอ่ื งเซิรฟ เวอร การเขียนโปรแกรมเพอื่ ใหสามารถทําความเขา ใจกบั ชดุ คาํ สัง่ ท่ี มีอยจู ํานวนมากไดง ายย่ิงขน้ึ ภาษาคอมพิวเตอรที่สนับสนุนการเขยี นโปรแกรมแบบ -OOP - PHP - Python - Java - C# - C++ - Javascript - Perl

13 หนว่ ยที 3 กระบวนการวเคราะหแ์ ละออกแบบเชิงวตั ถุ 1.กระบวนการวิเคราะหแ ละออกแบบระบบเชิงวัตถุ คอื จดั ระบบกระบวนการพฒั นาระบบงานใหม ีระเบยี บ และสามารถนําโปรแกรมท่ีเคยเขียนมา กอ นใหสามารถนาํ กลับมาใชงานใหม การวเิ คราะหร ะบบเชงิ วตั ถุเปน การอธิบายระบบ สารสนเทศวาประกอบดวยสงิ่ ตาง ๆ ที่เรยี กวา วตั ถุ (Object) ท้ังทีจ่ ับตองไดและจบั ตอ งไมไ ด ผลลพั ธส ดุ ทา ยของการวิเคราะหระบบเชงิ วตั ถกุ ค็ ือ แบบจําลองเชิงวัตถุ (Object Model) ที่ นาํ เสนอระบบสารสนเทศในลักษณะเชงิ วัตถุ จากน้ันในระหวางขัน้ ตอนของการพัฒนาระบบใน วงจรการพัฒนาระบบ (SDLC) สามารถแปลงเปน การออกแบบเชิงวัตถุไดโดยตรงโดยใช โปรแกรมเชิงวตั ถุในการพฒั นา เชน C++ Java เปน ตน 2.ภาษายูเอ็มเอล คือ เปนภาษาทม่ี รี ูปภาพมาตรฐานและเปนภาษาสากลทใี่ ชใ นการวเิ คราะหอ อกแบบและพฒั นา ระบบซอฟตแ วรเชิงวตั ถุ ดังน้ัน เอกสารการวเิ คราะหและออกแบบที่ถกู สรา งดว ยภาษา UML จงึ สามารถแลกเปลี่ยนและทําความเขา ใจตรงกันไดระหวางผรู ว มงานภายในกลุมผพู ฒั นาระบบ ภาษา UML มคี ณุ สมบัตทิ ส่ี ามารถนาํ เสนอและสนบั สนนุ หลักการเชิงวตั ถุได อยางครบถว นชดัเจนและไมผ ูกติดกบั ภาษาโปรแกรมภาษาใดภาษาหนงึ 3.ยูเคสไดอะแกรม คือ เเปน ภาษาสญั ลักษณร ูปภาพมาตรฐานท่ีใชเ พอ่ื ถา ยทอดความคิดทมี่ ีตอระบบใหออกมา เปนแผนภาพซงึ่ ประกอบไปดว ยรปู ภาพหรือสัญลักษณตามกฎในการสรา งแผนภาพซ่ึงเรยี ก ไดวา ยูเอม็ แอลเปน ภาษาส าหรับใชใ นการสรา งแบบจ าลองเชงิ วตั ถ 4.คลาสไดอะแกรม คอื คลาสไดอะแกรมเปน ไดอะแกรมที่แสดงการใชงานคลาส อ็อบเจก็ ตและมกี ารสรางความ สัมพันธร ะหวางคลาสหรืออ็อบเจก็ ตเหลาน้นั เชน การสืบทอดคุณสมบัตขิ องคลาส เปน ตน การหาคลาสของอ็อบเจ็กตไดต อ งสามารถจดั หมวดหมูข องออ็ บเจก็ ตได การหาคลาสจาก ออ็ บเจ็กตควรใหอ ยูในระบบที่ก าลังสรา งเชนระบบจดั ซอ้ื สามารถหาคลาสของระบบไดคือ คลาสลูกคา คลาสใบสงั่ ซ้อื คลาสใบเสนอราคา คลาสใบเสรจ็ รับเงิน เปน ตน

14 5.สเตตชารตไดอะแกรม คอื สเตตชารตไดอะแกรมบอกถงึ พฤตกิ รรมของคลาสตาง ๆ ในระบบวา มสี ถานะอะไรบา งจะ เปลยี่ นสถานะเมอ่ื เกดิ เหตกุ ารณอ ะไร สเตตชารต ไดอะแกรมของแตละคลาสประกอบไปดว ย สถานะทีส่ ามารถเกดิ ข้ึนได เชน คนอยูใ นสถานะกําลังเดนิ รถอยใู นสถานะกําลังว่ิง เปนตน 6.ซีเควนไดอะแกรม คอื บงบอกถึงในยูสเคสนั้นวตั ถแุ ตละตัวจะตดิ ตอส่อื สารกนั อยา งไร มีขนั้ ตอนการทํางาน อยางไร โดยเนน ไปท่แี กนเวลาเปนสาํ คญั ถาเวลาเปลยี่ นขัน้ ตอนการท างานจะเปล่ยี นโดยมีแอก็ เตอรเ ปนผูกระทาํ เร่ิมตน ในยูเอม็ แอลซีเควนไดอะแกรมมแี กนสมมติ 2 แกนคอื แกนนอนและแกน ต้ัง แกนนอนแสดงข้ันตอนการทํางานและการสง ขอ ความของแตละวตั ถวุ า ตองทาํ อะไรเมือ่ ใด แกนต้งั เปน แกนเวลาโดยแกนนอนและแกนตัง้ ตอ งสัมพันธก ัน 7.คอลลาบอเรชั่นไดอะแกรม คือ มหี นา ทีเ่ ดยี วกนั กบั ซีเควนซไ ดอะแกรมแตไมแสดงถึงแกนเวลาอยางชัดเจนยกเวน การ โตต อบกันระหวางอ็อบเจ็กตสัญลกั ษณทใ่ี ชประกอบดว ย วัตถุ หรอื คลาสแทนดว ยรูปส่เี หลีย่ ม คลายซีเควนซไดอะแกรมมี 13 รปู แบบคือ ชื่ออ็อบเจ็กต/ บทบาท แสดงถึงกลุมของออบเจ็กตท่ี ทํางานรว มกันสอดคลองกบั ความหมายของชื่อไดอะแกรม ลกู ศรท่ชี ้ีจะช้ไี ปในทศิ ทางเดียวไมม ี การช้ยี อนกลบั ในเสนเดียวกัน 8.แอ็กทวิ ิต้ีไดอะแกรม คอื แอ็กทิวิตไ้ี ดอะแกรมแสดงขัน้ ตอนการท างานของยสู เคสเชนเดียวกบั ซีเควนไดอะแกรมและ คอลลาบอเรชั่นไดอะแกรมแตเ นน ทง่ี านยอยของวตั ถุ สวนแอ็กทิวติ ไ้ี ดอะแกรมจะเปลี่ยนสถานะ ไดโดยไมตองมีเหตกุ ารณท ก่ี ําหนดไวในไดอะแกรมมากระทํากอ นแตเปลย่ี นสถานะเองตาม กระบวนการทํางานคลายกับผงั งานโปรแกรมสญั ลักษณในแอ็กทิวติ ีไ้ ดอะแกรม มีแอก็ ทวิ ติ ี้คอื กิจกรรมทีแ่ สดงดว ยส่ีเหลย่ี มมนเหมือนแคปซลู เชอ่ื มโยงกนั ดวยลกู ศรเพ่ือแสดงลําดับของการ ทํางาน 9.คอมโพเนนตไดอะแกรม คอื แสดงความสัมพนั ธทเี่ ชอื่ มตอกันระหวางซอฟตแ วรคอมโพเนนตใ นระบบวา ประกอบดวย ไฟลอ ะไรบา งซ่งึ อาจเปน ไฟลซอรส โคด ไฟลไบนารี และไฟลเ อ็กซคิ ิวต 10.ดพี ลอยเมนตไ ดอะแกรม คือ แสดงการเช่ือมตอ ของอุปกรณฮารด แวรในระบบและมกั ใชร ว มกับคอมโพเนนตไ ดอะแกรม โดยขา งในฮารดแวรอ าจประกอบไปดว ยซอฟตแวรคอมโพเนนตด พี ลอยเมนตไดอะแกรมแสดง อยใู นรูปอินสแทนซ และแสดงในชวงเวลาของการรันหรือระหวา งการเอ็กซคิ วิ ต ดงั นั้นไฟล คอมโพเนนตข องระบบทไี่ มไดใชส ําหรับรันจะไมป รากฎในไดอะแกรมน้แี ตม ีในคอมโพเนนตของ ไฟลท ีใ่ ชทาํ งานจริงเทานั้น

หน่วยที 4 15 โมเดลทใี ชอ้ อกแบบเชิงวัตถุ (แบบจาํ ลองเชงิ วัตถุ) 1. โมเดลที่ใชอ อกแบบเชิงวตั ถุ UML คอื เปนภาษาสัญลักษณรูปภาพมาตรฐาน สาํ หรับใชใ นการสรา งแบบจาํ ลอง เชงิ วตั ถุ โดย UML จะใชสัญลักษณตางๆ เพ่ือแทนสงิ่ ตางๆไดแ กค วามสมั พันธ องค ประกอบ ภาวะทมี่ หี ลายรูปแบบ การหอ หุม คราสการผึงพา ความสมั พันธ (Aggregation) เปนความสมั พนั ธระหวา งคราสแบบตา งระดับ ใน ลกั ษะณะของการเปน องคประกอบตางๆเรยี กวา “คราสบางสว น (Part class)” สว น คราสที่เกดิ จากการรวมกนั ขององคประกอบตางๆเรียกวา “คราสทงั้ หมด(Whole class)” ความสมั พันธชนดิ นี้คอื คราสบางสวนมีอสิ ระ ไมข ึ้นกบั คราสท้งั หมดถงึ แแมว า คราสทัง้ หมดจะถูกทาํ ลาย องคประกอบ (Composition) เปนความสมั พนั ธร ะหวางวตั ถุหรอื คราสแบบขนึ้ ตอ กันและมคี วามเกี่ยวของกันเสมอ โดยจะมคี ราสซ่งึ เปน องคประกอบของคราสท่ใี หญกวา เมอื่ คราสที่ใหญก วา ถูกทําลายคราสทเี่ ปน องคป ระกอบก็จะถูกทําลายดว ย 1.ลักษณะท่วั ไป (generalization) เปน การสืบทอดคุณสมบัติจากคราสหญ(Super class)ไปยังคราสยอ ย (sub class) 2.การสืบทอดคณุ สมบัติ (inheritance) คือการสบื ทอดโครงสรางขอ มลู และการ ดาํ เนินการ 3.พอลมิ อรฟซ ึม (polymorphism) คือ การท่วี ัตถุที่ตา งกนั มปี ฎิกริ ิยาตอบสนองตอ ฟงกชัน/ขอ ความที่ตางกนั 4.การหอหุม (encapsulation) คอื การจาํ กัดการเขาถึงขอมลู บา งอยา งที่ไมต องการ ใหสว นอน่ื รับรูแ ตใ หเขาถงึ ผานสว นประสาน(Interface hiding)

16 2. ออกแบบเชิงวตั ถุดว ย UML การออกแบบระบบโดยใช UML model เราจะวาดรูปองคประกอบของซอฟแวร ให อยใู นไดอะแกรม เปรยี บเสมือนการรางแบบท่ีสถาปนกิ ใชใ นการออกแบบสิง่ กอสรา งซง่ึ ไดอะแกรมออกที่ใชก ันมอี ยู 9 ชนิดคอื Use case diagram ใชเ พอ่ื อธิบายชุดของการกระทําวา ระบบควรหรอื สามารถ ทาํ งานรวมกับผูใ ชภายนอกของระบบ ชว ยใหทมี พฒั นาทราบถงึ ความสามารถของรบบ และงา ยตอการสอื่ สารระหวางทมี พัฒนากบั ลูกคา

17 Class diagram คอื แผนภาพท่ีใชแสดง Class และความสัมพันธระหวางคราสของ ระบบทเ่ี ราสนใจ โดยมีองคป ระกอบดงั น้ี 1.Class Name คอื ช่ือของ Class 2.Attributes คอื คณุ ลกั ษณะของ Class 3.Operations หรือ Methods คือ กิจกรรมที่สามารถกระทาํ กับ Object นนั้ ๆได 4.Cardinality ratio ใชแ สดงถงึ อัตราสวนของความสมั พนั ธ ใชแสดงถงึ อัตราสว น ของความสมั พนั ธ แทนท่ดี วยตัวเลข 1, M และ N โดย1 : 1 แทนความสัมพันธแ บบหนงึ่ ตอหน่งึ 1 : N แทนความสมั พนั ธแ บบหน่ึงตอ หลายM : N แทนความสมั พันธแ บบหลาย ตอหลาย

18 Object diagram จะมีลกั ษณะคลา ยกบั Class Diagram แตจะมองสิ่งตาง ๆ เปนวัตถแุ ทน โดยประกอบดวยคุณสมบัติ (Properties) กบั พฤตกิ รรม (Behavior) วธิ กี ารออกแบบ Object diagram 1.วิเคราะหระบบ พิจารณาขอมูลและความสมั พนั ธท สี่ ําคญั 2.พจิ ารณาขอ มลู ท่ีมหี นาที่ชดั เจน 3.เพิ่มประสทิ ธิภาพใหก ับขอมูล แผนภาพตอไปน้ีเปนตัวอยา งของแผนภาพวัตถุ เพราะมันหมายถึงระบบการ จัดการการสั่งซ้ือที่เราไดก ลาวถงึ ในคลาสไดอะแกรมแผนภาพตอ ไปน้ีเปนตัวอยาง ของระบบทเ่ี วลาใดเวลาหน่ึงของการซื้อ มันมีวัตถุตอไปน้ี 1. ลูกคา 2.คาํ ส่ัง 3. SpecialOrder 4. NormalOrder

19 Sequence diagram คอื แผนภาพUML ทใี่ ชกันมากทส่ี ดุ โดย แสดงใหเหน็ ถงึ การ มีปฏสิ มั พันธระหวา งวตั ถุในลาํ ดบั ตามลาํ ดับคอื ลาํ ดับท่กี ารโตตอบเหลา นี้เกดิ ข้ึน นอกจากนเ้ี รายงั สามารถใชS equence diagram แสดงเหตุการณขอ ตกลงหรือ สถานการณเ หตุการณเพอื่ อางถงึ Sequence diagram อธบิ ายวธิ แี ละลําดับของวัตถุ ในฟง กช่ันระบบ แผนภาพเหลา นี้ถูกใชอยางกวา งขวางโดยนกั ธรุ กจิ และนกั พัฒนา ซอฟตแ วรเพื่อจัดทําเอกสารและทาํ ความเขาใจขอ กาํ หนดสําหรบั ระบบใหมและทีม่ อี ยู 1.Actors ใชเ พ่อื อธบิ ายบทบาทตาง ๆ รวมถงึ ผูใ ชท ีเ่ ปน มนุษยและสิง่ อนื่ ๆ ภายนอก โดยใชสญั กรณคน 2. massage แสดงถึง การตดิ ตอทีส่ ง จากอ็อบเจกตหน่ึงไปยงั ออ็ บเจกตหนึ่ง

20 3. timeเปน การแสดงเวลาของเปน ลักษะณะแนวต้งั Collaboration diagram เปน แผนภาพแสดงการทาํ งานรว มกนั ระหวา งออ็ บ เจกตเ ปนสําคัญ นอกจากน้ยี งั แสดงลาํ ดับการทาํ งานกอนและหลงั ดว ย

21 Activity diagram เปน แผนภาพแสดงขัน้ ตอนของกจิ กรรมในการปฏบิ ตั งิ าน (Work flow) สามารถแสดงทางเลือกทเ่ี กดิ ขึน้ ได ประกอบไปดว ยสถานะตา งๆ ท่เี กดิ ขึน้ ระหวาง การทาํ งานและผลจากการทํางานในขน้ั ตอนตางๆ ขัน้ ตอนในการเขยี น Activity diagram 1.วเิ คราะหก จิ กรรมตางๆท่จี ะทําการออกแบบ 2.พิจารณากิจกรรมยอยท่ีเกิดขนึ้ ภายใตเ งื่อนไขหรอื กรณีตางๆท่ีเกิดขน้ึ เมื่อเปน ไปตามเงือนไข 3.จดั เรียงลําดบั กจิ กรรมที่เกดิ ข้ึนกอนหลงั 4.เขยี นกจิ กรรมยอยดว ยสญั ลักษณแ สดงกจิ กรรม 5.เขยี นจุดเร่มิ ตน จากนน้ั จึงเขียนกจิ กรรมตามลําดบั กอนหลัง

22 3. Use Case Diagra Use Case Diagram เปนแผนภาพที่ใชแสดงใหทราบวาระบบทาํ งาน หรือมีหนาท่ีใดบาง โดยมีสัญลักษณรูปวงรีแทน Use Case และสัญลักษณรูป คน (Stick Man Icon) แทน Actor สาํ หรับช่ือUse Case นั้น ใหใชคํากริยา หรือกริยาวลี (ค ากริยามีกรรมมารองรับ) เชน ลงทะเบียนเรียน,ตรวจสอบ รายวิชา, บันทึกการชําระเงิน, Generate Report, Enter Sales Data, ComputeCommission เปนตน สวนการมีปฏิสัมพันธร ะหวาง Use Case และ Actor จะใชเ สน ตรงลากเช่อื มตอ กนั หรอื จะใชเ สนตรงมีหวั ลูกศรก็ได ในที่น้เี ลอื กใชเสนตรงไมม ีหวั ลกู ศร สวนเสน แบง ขอบเขตระหวาง Actor กบั Use Case จะใชเ สน กรอบสเี่ หลย่ี ม เรียกวา “System Boundary” และสง่ิ ส ําคญั สวนสดุ ทา ยกค็ อื “ชื่อของระบบ (System Name)” ใหแสดง ไวด านบนสดุ ของแผนภาพ นอกจากนี้ หากกลาวถงึ Use Case Diagram ในดา นการพัฒนาระบบ นอกเหนอื จากการนาํ มาใชเ ก็บรวบรวมความตองการตางๆ แลว Use Case Diagram ยังถกู นําไปใช เปน พื้นฐานเพอ่ื การสรา งแผนภาพ (Diagram) ชนิดอ่ืนในขัน้ ตอนตอๆ ไป และทีมงานยงั สามารถใช Use Case Diagram เพ่ือตดิ ตามผลการดําเนนิ งานไดอีกดว ย

23 สัญลักษณค วามสมั พนั ธ สญั ลกั ษณท ี่สาคญั ของ Use Case Diagram มีดงั ตอไปนี้ Use Case คือ หนาที่ที่ระบบตองกระทา ใชส ัญลักษณรปู วงรี พรอมทัง้ เขยี นชื่อ Use Case ซงึ่ ตอ งใชคากรยิ าหรอื กริยาวลีก็ได Actor คือ ผูเกี่ยวของกบั ระบบ ซึง่ รวมทัง้ Primary Actor และ Stakeholder Actor ท่เี ปนมนษุ ย ในทน่ี ้จี ะใชส ัญลักษณร ปู คน (Stick Man Icon) เหมอื นกัน พรอม ทั้งเขยี นช่ือActor ไวดานลางของสญั ลักษณดวย แตห ากเปน Actor ท่ไี มใ ชม นษุ ย เชน ระบบงานอ่ืนทอ่ี ยนู อกเหนือระบบทีเ่ ราสนใจ จะใชรปู สีเ่ หลี่ยมแลว เขียนคาวา “<<actor>>” ไวด า นบน System Boundary เสน แบง ขอบเขตระหวางระบบกับผูกระทาตอระบบ (Use Case กบั Actor) ใชรปู ส่ีเหลย่ี มเปน สญั ลกั ษณ พรอ มทั้งเขยี นชอ่ื ระบบไวด านใน

24 Connection คือ เสนท่ลี ากเชื่อมตอระหวา ง Actor กบั Use Case ท่ีมีปฏิสัมพันธกัน ใชเสน ตรงไมม หี วั ลูกศรเปนสญั ลกั ษณของ Connection สว น Connection ท่ีใชเ ชอ่ื ม ตอ ระหวาง Use Case กบั Use Case กรณีที่ Use Case นน้ั มคี วามสัมพันธซ งึ่ กันและกนั จะใชสญั ลกั ษณเ สนตรงมีหวั ลูกศร พรอมทั้งเขียนช่อื ความสมั พันธไ วตรงกลางเสนดวย โดยเขียนไวภายในเครือ่ งหมาย <<...>> Extend Relationship เปนความสมั พันธแบบขยายหรือเพม่ิ เกิดข้นึ ในกรณีท่บี าง Use Case ดาเนินกิจกรรมของตนเองไปตามปกติ แตอาจจะมีเง่อื นไขหรือส่ิงกระตนุ บางอยางท่ีสงผลใหกจิ กรรมตามปกตขิ อง Use Case น้ันถกู รบกวนจนเบยี่ งเบนไป ซงึ่ เราสามารถแสดงเงือ่ นไขหรอื สิง่ กระตุนเหลา นั้นไดในรูปของ “Use Case” และเรียก ความสมั พันธระหวา ง Use Case ในลกั ษณะนีว้ า “Extend Relationship” โดย เรียก Use Case ท่ถี ูกรบกวนหรอื Use Case ท่ดี าเนินงานตามปกติวา “Base Use Case” และเรียก Use Case ที่ทําหนาทรี่ บกวนหรือกระตนุ Base Use Case วา “Extending Use Case”

25 4. Class diagram Class diagram เปนแผนภาพคงที่ เพราะมนั หมายถึงมุมมองคงท่ีของ แอปพลเิ คชนั Class diagram ไมเพียงแตใ ชสาํ หรับการแสดงภาพอธบิ ายและจดั ทํา เอกสารแงม มุ ตาง ๆ ของระบบแลว แตยงั สามารถใชสาํ หรับการเขยี น code สําหรับ หารทํางานของแอบพลเิ คชนั Class diagram อธิบายคุณลกั ษณะและการดาํ เนนิ งานของClassและขอ จํากดั ที่กําหนดไวใ นระบบ Class diagram มกี ารใชอยางกวา งขวางในการสราง แบบจาํ ลองของระบบเชิงวตั ถุโดยแสดงชดุ ของวัตถุ Class diagramมคี ณุ สมบัติดังตอ ไปน้ี 1.การวเิ คราะหและออกแบบมุมมองแบบคงท่ขี องแอปพลเิ คชนั 2.อธิบายความรบั ผิดชอบของระบบ 3.ฐานสําหรบั สว นประกอบและไดอะแกรมการปรบั ใช 4.วศิ วกรรมแบบไปขางหนา และวศิ วกรรมยอนกลับ วธิ กี ารเขยี น Class diagram 1.ช่อื ของ Class diagram ควรมคี วามหมายเพื่ออธบิ ายลักษณะของระบบ 2.แตละองคป ระกอบและความสมั พนั ธค วรระบุลว งหนา 3.ควรระบคุ วามรับผิดชอบ (คณุ สมบตั แิ ละวิธกี าร) ของแตละ Class อยางชัดเจน 4.สําหรบั แตล ะคลาสควรระบุจํานวนคุณสมบตั ิขั้นตํ่าเนื่องจากคุณสมบัตทิ ่ีไม จําเปน จะทําใหไ ดอะแกรมมคี วามซบั ซอน 5.ใชบนั ทึกยอ ทุกครั้งทจี่ าํ เปน เพ่อื อธิบายบางแงมมุ ของแผนภาพ ในตอนทายของ การวาดควรเขาใจผพู ฒั นา / coder

26 สัญลกั ษณะตา งๆใน Class diagram คลาส UML แสดงดวยรปู ตอไปนี้ แผนภาพแบงออกเปนส่สี วน 1.สว นดา นบนใชเพ่อื ตั้งชอ่ื คลาส 2.อันทีส่ องใชเ พอื่ แสดงคุณสมบัตขิ องคลาส 3.สวนท่สี ามใชเพอื่ อธบิ ายการดาํ เนนิ การทด่ี ําเนินการโดยคลาส 4.สว นท่สี ่ีเปน ตวั เลอื กเพอ่ื แสดงสว นประกอบเพม่ิ เติมใด ๆ ความสมั พนั ธ แสดงใหเห็นวา วตั ถุมอี งคประกอบท่เี กี่ยวขอ งกนั และการเชอ่ื มโยงกันอยางไร อธิบายการทํางานของระบบมคี วามสัมพันธสีล่ กั ษณะดว ยกันคือ 1.Dependency คอื ความสัมพันธระหวางสองสง่ิ ทก่ี ารเปลี่ยนแปลงในองค ประกอบหน่งึ สงผลกระทบใหอีกอันเปล่ียนไปดว ย

27 2. Association เปนชดุ ของความสัมพันธท่เี ชอ่ื มตอองคประกอบของโมเดล UML 3. Generalization เปน การกําหนดความสมั พนั ธท ี่เชอ่ื มตอ องคป ระกอบพเิ ศษ กบั องคป ระกอบท่วั ไป โดยท่ัวไปจะอธบิ ายความสมั พันธก ารสืบทอดของวัตถุ 4. Realization เปน การกาํ หนดความสัมพันธซึ่งองคประกอบทั้งสองเช่อื มตอ กัน องคประกอบหนง่ึ อธิบายถึงความรับผดิ ชอบบางอยางซง่ึ ไมไ ดนาํ ไปปฏิบตั ิและองค ประกอบอนื่ ใชความรับผดิ ชอบนน้ั ความสมั พันธน ีม้ อี ยูในกรณขี องอนิ เทอรเ ฟซ

28 5. Static & Dynamic คอื พลัง ความสามารถในการดําเนินการ และ/หรอื การเปลยี่ นแปลงหรอื มีแรง ใน ขณะที่ static (สถิต) หมายถึงความคงทหี่ รอื ยดึ ติด ในศพั ทค อมพิวเตอร dynamic มัก จะหมายถึงความสามารถในการดําเนนิ การ และ/หรอื การเปลย่ี นแปลง ในขณะท่ี static หมายถงึ คงที่ ศัพทท ั้งสองสามารถนาํ ไปใชชนดิ ทแ่ี ตกตา งกันของสิง่ ตา งๆ จํานวนมาก เชน การเขยี นโปรแกรมภาษา (หรือสวนประกอบของภาษาโปรแกรม)

29 หนว่ ยที 5 UML Modeling 1. ความหมายของยูเอ็มแอล (UML : Unified Modeling Language) Unified Modeling Language หมายถึง ภาษาท่ีใชส ําหรับอธิบาย แสดงความ หมายและความสมั พันธในรปู แบบแผนภาพ เพอื่ ใชใ นการวเิ คราะห และออกแบบ เชงิ วตั ถุ โดยจะมี View หรอื มมุ มองของปญหาที่แตกตา งกันออกไป ในแตล ะ Model และเมอ่ื นํามา ประกอบเขาดวยกัน กจ็ ะสามารถวิเคราะห และออกแบบ เพ่ือนาํ ไปพฒั นาระบบสารสนเทศ 2. ประวตั คิ วามเปน มาของยเู อม็ แอล UML ไดถอื กําเนิดขึ้นมา ในแวดวงอุตสาหกรรม ซอฟแวร เมื่อป คศ.1994 โดย Jim Rumbaugh และทีมวจิ ัย จาก บรษิ ทั General Electric พัฒนาแนวคดิ เรอ่ื ง Object Modeling Technique (OMT) และ ไอวาร จาคอบสนั (Ivar Jacobson ) จากบริษัท Ericsson ไดน าํ เสนอแนวความคดิ ในเรื่องของ Use case เปน คนแรก ซ่งึ ชว งนนั้ มี ระเบยี บวิธีท่มี ลี กั ษณะคลา ยคลงึ กนั ดงั กลา วเกดิ ขน้ึ มากมาย และในขณะเดยี วกันก็มี รายละเอยี ดปลกี ยอ ยที่แตกตางกันออกไป แนวความคิดพน้ื ฐาน ท่ีเหมือนกนั ถูกแสดง ดว ยสัญลกั ษณทต่ี า งกนั ซึง่ ทาใหเกดิ ความสับสนในการสื่อความหมาย องคก าร OMG พยายามที่จะสรา ง มาตรฐานข้นึ มา เกรดี บูช (Grady Booch) พยายามประสานงาน อยางไมเ ปน ทางการ ซึ่งกไ็ มป ระสบผลสาเรจ็ แตอ ยางใด ตอ มามีการประชุม OOPSLA ในป 1994 โดยมกี ารประกาศวา Jim Rumbuagh ไดร ว มกบั Grady Booch ที่ Rational Software เพอ่ื รวมกนั พัฒนาระเบียบวิธขี องท่ีตา งคนตางคิดขน้ึ ดว ยกนั ในการประชุม OOPSLA ป คศ.1997 โดย บรษิ ัท Rational Software Cooperation โดยไดทําการรวบรวมแนวคามคิด การพฒั นา ซอฟแวร โดยมีแนวความคิดทว่ี า การ พัฒนาซอฟแวร เปน งานศิลปะประเภทหนง่ึ ที่มคี วามละเอยี ดออน ตองการความ พถิ พี ิถันในทุกข้ันตอนนับตง้ั แต การวิเคราะหขอมูลจนกระทัง่ การพัฒนาขนึ้ มาจน สามารถใชง านไดอ ยา งมปี ระสิทธิภาพ โดยใช UML เปนเครอ่ื งมือในการพัฒนา ในรปู แบบของ Object กลุมบรษิ ทั ที่ไดม สี วนรวมในการพฒั นา ท่ใี หญ ไดแก Microsoft , IBM , Compaq , Oracle ซ่งึ ลว นแตเ ปน บริษทั ฯ ยกั ษใ หญ ในแวดวง อุตสาหกรรม ซอฟแวร

30 3. สว นประกอบหลกั ของยเู อ็มแอล 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 4. ประโยชนข องยเู อ็มแอล 1.ทําใหวงจรชวี ติ การพฒั นาระบบสนั้ ลง (Shortest Development Life Cycle) 2.เพ่ิมการผลติ (Increase Productivity) 3.ปรับปรุงคณุ ภาพซอฟทแ วร (Imporve Software Quality) 4.สนบั สนนุ ระบบสบื ทอดโปรแกรม (Support Legacy System) 5.ปรับปรุงการเช่ือมโยงทีมงาน (Improve Team Connectivity) 5. หนา ที่ของยูเอ็มแอล คอื เปนวธิ ีการวเิ คราะหและออกแบบอยา งหนง่ึ ท่ีสรางความเขา ใจในปญหาไดงาย ข้นึ อีกทั้งยังสามารถนําแบบเครือ่ งมือมาใชใ นการส่ือสารถายทอดความคิดกบั บุคคล อื่นๆ เชน ลูกคา นักวเิ คาระหระบบ นักออกแบบระบบ เปนตน หรอื การใชสัญลกั ษณ รูปภาพในการสรางแบบจําลองระบบ ท่จี ะพฒั นาเพอ่ื ประโยชนท่คี ลายคลงึ กนั ในการ ทําความเขา ใจกับความตอ งการของลูกคา

31 6. กลไกของยูเอ็มแอล ในการวิเคราะห และออกแบบ ระบบ โดยใช UML เปนเครอ่ื งมอื ในการดําเนินงาน โครงการ มีกลไก ของ Model มาตราฐาน ( Standard Model ) เพือ่ เปน เครอ่ื งมือ ในการ วิเคราะหแ ละออกแบบ ดังน้ี 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

32 หน่วยที 6 การวเคราะห์และออกแบบโปรแกรมทางธรุ กิจ ตวั อยา งระบบสนิ คาคงคลัง

33 ตวั อยางระบบซ้อื สินคา


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook