การวิเคราะห์ และออกแบบ ระบบเชิงวัตถุ
การวเิ คราะหและออกแบบระบบเชงิ วตั ถุ จดั ทาํ โดย นางสาวบัวชมพู พันธทอง รหัสประจําตัว 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 ตวั อยางระบบซ้อื สินคา
Search
Read the Text Version
- 1 - 38
Pages: