99705 หน่วยที่ 4 ตอนที่ 4.2

Page 1

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

1. อธิบายวงจรการพัฒนาระบบได

2. อธิบายแนวทางการออกแบบและพัฒนาซอฟตแวรแบบอไจลได

3. อธิบายยูเอ็มแอลและการรวบรวมความตองการดวยยูเอ็มแอลได

4. อธิบายการวิเคราะหและการออกแบบซอฟตแวรดวยยูเอ็มแอลได

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

โดยทั่วไปนักวิเคราะหระบบจะเปนผูนําเสนอนิยามและทิศทางของโครงการพัฒนาระบบหรือ ซอฟตแวรโดยระบบจะถูกนําเสนอหลังจากนักวิเคราะหไดทําความเขาใจภาพรวมทั้งหมดของความตองการ

ความจาเปนและปญหาตางๆของผใชโดยระบบหรอซอฟตแวรทนาเสนอจะสามารถใชในการทางานรวมกน ระหวางผใชกลมตางๆขององคกรได

ทงนการพฒนาซอฟตแวรหรอระบบสารสนเทศใดๆนนขอใหยดหลกไววาเปนไปเพอการแกปญหา ใดปญหาหนงตามทผใชตองการซงโดยทวไปการแกปญหามดวยกน5ขั้นตอนคือ(1)การทําความเขาใจ ปญหาเปนการพิจารณาขอบเขตของปญหา(problemdomain)ใหละเอยดครบถวน(2)การออกแบบทาง แกปญหาโดยการแตกปญหาหรืองานออกเปนงานยอยที่สามารถจัดการได(3)การพิจารณาทางเลือกตางๆ ทางแกปญหาทไดออกแบบมานนอาจจะไมใชทางแกทดทสดตองพจารณาทางเลอกและปรบใหดขน(4)การ สรางโซลชนเปนการนาสงทออกแบบไวมาสรางเปนซอฟตแวรหรอแอปพลเคชนและ(5)การทดสอบโซลูชัน และแกไขปญหาเปนการทดสอบในระหวางการพฒนาเพอหาขอผดพลาดและแกไขใหถกตองแตการทดสอบ ไมไดรบประกนวาจะไมมปญหาใดๆเกดขนอกในอนาคตเพยงแตทาใหมนใจไดวาโซลชนทพฒนาขนนน สามารถทํางานไดและนําไปใชแกปญหาได

วงจรการพัฒนาระบบหรือเอสดีแอลซี(SystemDevelopmentLifeCycle–SDLC)เปนชุดของ กิจกรรมซึ่งนักวิเคราะหนักออกแบบและผูใชรวมกันดําเนินการเพื่อพัฒนาระบบสารสนเทศหรือระบบหรือ

24
เรื่องที่4.2.1วงจรการพัฒนาระบบ
ภาพที่4.7วงจรการพัฒนาระบบ วงจรการพฒนาระบบประกอบดวยขนตอนตางๆดงน 1.การนิยามปญหา การนิยาม ปญหา การศึกษา ความ เปนไปได การ วิเคราะห การ ออกแบบ การนําใช การ บํารุงรักษา
ซอฟตแวร(ภาพที่4.7)
25 สิ่งสําคัญเรื่องแรกคือ จะตองรูถึงปญหาตาง ๆ ซึ่งเปนพื้นฐานสําหรับระบบที่จะถูกนําเสนอ เปนการ
ที่จะนําไปสูการ สํารวจเบื้องตนหรือริเริ่มการทวนสอบเพื่อกําหนดทางเลือกตาง ๆ ในการพัฒนาระบบสําหรับแกปญหา เหลานน
แตไมมประสทธภาพ หรอการนาบางสวนของระบบทมอยแลวมาพฒนาใหเปนกระบวนการทางานทดขน ประเด็นสําคัญที่ควรพิจารณาอีกเรื่องหนึ่งคือ ความตองการการเปลี่ยนแปลงของระบบ ซึ่งแนวคิด หรือไอเดียตาง ๆ สําหรับการเปลี่ยนแปลง อาจจะมาจากสภาพแวดลอมภายนอกองคกรหรือภายในองคกร แนวคดการเปลยนแปลงทมาจากสภาพแวดลอมภายนอก มกจะเกดจากลกคา ตวแทนจาหนาย หรอหนวยงาน ภาครัฐ เมื่อทําการตรวจสอบแลว แนวคิดหรือไอเดียเหลานี้ที่จะตองตอบสนองตอความตองการการ เปลี่ยนแปลงของระบบก็จะนํามาสูการนิยามปญหานั่นเอง สาหรบแนวคดการเปลยนแปลงทมาจากภายในองคกร มกจะเกดจากผบรหารระดบสง ผใชงาน และ ตัวนักวิเคราะหระบบเอง เมื่อมีการเปลี่ยนแปลงภายในองคกรเกี่ยวกับการปฏิบัติงานหรือความกาวหนาทาง เทคโนโลยี อาจจะรูสึกวามีความจําเปนจะตองอัปเดตแอปพลิเคชันที่มีอยูหรือปรับปรุงขั้นตอนการดําเนินงาน ใหดีขึ้น หรือเกิดปญหาที่รุนแรงในการดําเนินงานทําใหผูบริหารระดับสูงตองเขามาตรวจสอบ ทั้งนี้ ผูบริหาร
ๆ ทไดรบแลวเกดขอสงสยใน ตวเลข ซงไอเดยหรอแนวคดเหลานจะนําไปสูการศึกษาในเรื่องตาง ๆ ตามที่ผูบริหารรองขอมา สําหรับแนวคิดการเปลี่ยนแปลงที่มาจากผูใชงาน แนวคิดที่มาจากผูใชมักจะเกิดการประสบเหตุการณ จากสภาพแวดลอมการทํางานของตนเอง การแปลงไอเดียของผูใชไปสูการศึกษาความเปนไปไดนั้น จะเกิดขึ้น ภายในขอบเขตมากนอยแคไหนหรืออยางรวดเร็วเพียงใด ซึ่งขึ้นอยูกับปจจัยหลายอยาง เชน ความเสี่ยงและ ผลลัพธที่จะไดกลับมา ตนทุนดานการเงินและแหลงทุนสําหรับการทําใหระบบทํางาน และการจัดลําดับ ความสําคัญของโครงการตาง ๆ ในบริษัท เปนตน ซึ่งปจจัยเหลานี้เปนสิ่งสําคัญ ที่จะทําใหเกิดการตอบสนอง ตอความตองการการเปลี่ยนแปลงของผูใช 2. การศึกษาความเปนไปได จากผลการตรวจสอบและสํารวจปญหาและความตองการในขั้นตอนแรกของการนิยามปญหา นํามาสู การขยายผลในขั้นตอนตอมาคือ การศึกษาความเปนไปได (feasibility study) ซึ่งเปนการทดสอบขอเสนอ โครงการในประเด็นของ ความสามารถในการทํางาน ผลกระทบตอองคกร ความสามารถที่จะตอบสนองความ ตองการของผูใช และประสิทธิภาพในการใชทรัพยากร โดยจะเนน 3 ดาน ดังนี้  อะไรคือความจําเปนของผูใชที่สามารถแสดงใหเห็นไดอยางชัดเจน และระบบหรือซอฟตแวร ที่นําเสนอจะสามารถตอบสนองความตองการของผูใชไดอยางไร
รับรูรับทราบถึงความจําเปนในการปรับปรุงระบบสารสนเทศหรือขั้นตอนการดําเนินงาน
นาไปสการพจารณาความซาซอนในเรองของการทางาน จดทเปนคอขวด ขนตอนการทางานทมอย
อาจจะไดแนวคดการเปลยนแปลงหรอไอเดยจากการอานขอมลหรอรายงานตาง
26  ทรพยากรใดบางทพรอมสาหรบการพฒนาระบบหรอซอฟตแวรทนําเสนอ ปญหาที่ตองแกไข นั้นมีคุณคาเพียงพอที่จะดําเนินการพัฒนาระบบหรือซอฟตแวรที่นําเสนอหรือไม  ผลกระทบของระบบหรือซอฟตแวรที่นําเสนอที่มีตอองคกรมีอะไรบาง ระบบหรือซอฟตแวรที่
หรอไม คําถามเหลานี้จะตองไดรับการตอบอยางระมัดระวังเพราะเกี่ยวของกับ การทวนสอบและการประเมิน ปญหาในภาพรวมทั้งหมด การระบุหรือจําแนกและอธิบายระบบหรือซอฟตแวรที่นําเสนอ คุณสมบัติหรือ ประสิทธิภาพ คาใชจายของแตละระบบ และการคัดเลือกในตอนสุดทายเพื่อใหไดระบบหรือซอฟตแวรที่ดีที่สุด วัตถุประสงคของการศึกษาความเปนไปไดนั้น นอกจากดําเนินการเพื่อแกปญหาแลวจะตองคํานึงถึง ขอบเขตของระบบหรือซอฟตแวรดวย ในระหวางการศึกษาความเปนไปไดจะตองมีการนิยามปญหาใหตกผลึก เห็นเปนรูปธรรม และประเด็นตาง ๆ ของปญหาทั้งหมดจะตองถูกรวบรวมเอาไวในระบบ ซึ่งจะทําใหตนทุน และกําไรจากการพัฒนาระบบหรือซอฟตแวรไดรบการคาดคะเนออกมาอยางถกตองทสด ผลของการศึกษาความเปนไปได คือ ขอเสนอโครงการที่เปนทางการ ในลักษณะของรายงานที่เปน เอกสารทางการ ซึ่งมีรายละเอียดเกี่ยวกับโซลูชัน10 ทั้งหมดและมีขอบเขตงานชัดเจน โดยขอเสนอโครงการจะ สรปวา มอะไรทจาเปนจะตองรและมอะไรทจาเปนจะตองดาเนนการ ประกอบดวยสงเหลานคอ  ขอความเกี่ยวกับปญหา (statement of the problem) เปนขอความที่เปนลายลักษณ อักษรระบุถึงปญหาที่จะนําไปสูการวิเคราะหระบบ  ขอสรุปสิ่งที่คนพบและขอเสนอแนะ (summary of findings and recommendations) เปนรายการของสงทคนพบหลก ๆ และขอเสนอแนะของการศกษา ความเปนไปได ซึ่งเปนสิ่งที่ผใชตองการรหรอเขาถงไดเพอดผลลพธจากการวเคราะหระบบ หลงจากการศกษาความเปนไปได และขอสรปจะถกกลาวถงไวตามรายการของขอเสนอแนะ  รายละเอียดของการคนพบ (details of findings) เปนโครงรางของวิธีการและขั้นตอน การดําเนินงานที่เปนอยูของระบบปจจุบัน ซึ่งเปนไปตามวัตถุประสงคและขั้นตอนการ ดําเนินงานของระบบหรือซอฟตแวรที่นําเสนอเพื่อพัฒนา รวมถึง การอภิปรายผล โครงสราง ฐานขอมูล ตนทุนและกําไรที่จะไดรับจากระบบหรือซอฟตแวรที่นําเสนอหรือพัฒนา 10 โซลูชัน (solution หรือไอทีโซลูชัน (IT solution) หมายถึง ขอเสนอแนะ ทางเลือก หรือผลลัพธ ของการออกแบบหรือการ พัฒนาระบบงาน
นําเสนอจะเหมาะสมหรือเขากันไดกับแผนงานระบบสารสนเทศในภาพรวมขององคกร

การสมภาษณเปนเครองมอซงใชกนโดยทวไปและจาเปนจะตองมทกษะพเศษและมความไวตอ

27  ขอเสนอแนะและบทสรุป (recommendations and conclusions) ขอเสนอแนะ จะตองเปนลักษณะเจาะจง เกี่ยวกับระบบหรือซอฟตแวรที่นําเสนอหรือพัฒนา รวมถึง การ มอบหมายงานรายบุคคล ตนทุน ตารางการดําเนินงานโครงการ และวันที่เปาหมาย
ซึ่งจะ นําไปสูการออกแบบและการนําใช การตดสนใจ ณ จดนเปนเรองทสําคัญมากของวงจรการพัฒนาระบบเพราะ มีหลายโครงการอาจจะไมไดดําเนินการตอตั้งแตขั้นตอนนี้ สําหรับการเปลี่ยนแปลงในขอเสนอโครงการจะทํา ในลักษณะของการเขียนเปนลายลักษณอักษร ขึ้นอยูกับความซับซอนและตนทุนของโครงการ และจะมีการ ทวนสอบการเปลี่ยนแปลงกอนที่จะเขามาสูการออกแบบระบบตอไป 3. การวิเคราะห การวเคราะห (analysis) เปนการศกษาในรายละเอยดสาหรบการดาเนนงานตาง ๆ ซงตองมในระบบ หรือซอฟตแวรที่จะพัฒนา รวมถึง ความสัมพันธทั้งหมดภายในระบบและกับภายนอกระบบ คําถามสําคัญคือ จะตองทําอะไรบางเพื่อการแกปญหา มุมมองดานหนึ่งของการวิเคราะหก็คือ การนิยามขอบเขตของระบบหรือ ซอฟแวรที่จะพัฒนาโดยตองคํานึงถึงระบบอื่นที่เกี่ยวของดวย (ถามี) ในระหวางการวิเคราะหขอมูลจะถูก รวบรวมมาจากแหลงขอมูลตาง ๆ กําหนดจุดที่มีการตัดสินใจ และพิจารณารายการธุรกรรมที่อยูในระบบ ปจจุบัน เครื่องมือในการวิเคราะห เชน ผังการไหลของขอมูล (Data Flow Diagram – DFD) ยูเอ็มแอล (UML - Unified Modeling Language) การสัมภาษณ การสังเกตการณในพื้นที่ปฏิบัติงานจริง และแบบสอบถาม เปนตน
ความรูสึก (sensitivity) ตอผูที่ถูกสัมภาษณ อคติในเรื่องของการรวบรวมขอมูลและการแปลผลนั้นเปนปญหา และอปสรรคสาคญของการวเคราะหระบบ การฝกอบรม ประสบการณ และสามัญสํานึก เปนสิ่งที่ตองมีเพื่อใช ในการรวบรวมขอมูลสําหรับการวิเคราะห เมื่อการวิเคราะหไดดําเนินการเสร็จสมบูรณแลว นักวิเคราะหระบบ จะมีความเขาใจอยางชัดเจนวา จะตองดําเนินการใดบาง เพื่อจะไดดําเนินการในขั้นตอนตอไปและเปนการ ตัดสินใจวาจะแกไขปญหาตาง ๆ อยางไร โดยขั้นตอนการออกแบบระบบ จะเปนการเปลี่ยนจากจากมุมมอง เชิงตรรกะไปเปนเชิงกายภาพของวงจรการพัฒนาระบบ ทั้งนี้
อานเพิ่มเติมในเรื่องที่
4.
การ ออกแบบ (design) ระบบหรือซอฟตแวร คําวา การออกแบบ ในที่นี้ ใชอธิบายระบบหรือซอฟตแวรที่จะ พัฒนาขึ้น และกระบวนการที่จะดําเนินการ ซึ่งรวมถึง รายละเอียดเชิงเทคนิคที่ใชในการพัฒนา การเขียน โปรแกรม และการทดสอบ คําถามสําคัญคือ ปญหาควรแกไขอยางไร ขั้นตอนหลัก ๆ ของการออกแบบมีดังนี้
หลังจากผูบริหารไดทบทวนขอเสนอโครงการแลวก็จะกลายเปนขอตกลงอยางเปนทางการ
การวิเคราะหโดยใชยูเอ็มแอล
4.2.2 ถึง 4.2.5
การออกแบบ ขั้นตอนที่ใชความคิดสรางสรรคและทาทายมากที่สุดขั้นตอนหนึ่งของวงจรการพัฒนาระบบคือ
28 1) การออกแบบผลลัพธหรือเอาตพุต (output) ขั้นตอนแรกคือ การกําหนดวาผลลัพธควรเปน อยางไร รูปแบบใด และนําเสนอตัวอยางของผลลัพธ 2) การออกแบบการนําเขาหรืออินพุต (input) เปนการออกแบบขอมูลที่จะนําเขาที่ตรงตาม ความตองการของผลลพธ 3) การออกแบบฐานขอมูล เปนการออกแบบฐานขอมูลที่จะจัดเก็บขอมูลใหตรงตามความ ตองการของผลลัพธ 4) การออกแบบการประมวลผล เปนการออกแบบการประมวลผลการปฏิบัติงานผานการเขียน โปรแกรม รวมถึง รายการโปรแกรมที่จําเปนบรรลุวัตถุประสงคของระบบที่พัฒนา 5) การจัดทําเอกสารโดยละเอียด (detailed system documentation) เปนการจัดทําเอกสาร ที่อธิบายรายละเอียดตาง ๆ ของระบบหรือซอฟตแวรที่พัฒนาขึ้น ประกอบดวย ผังงาน โครงสรางการจัดเก็บขอมูล หนาตารายงาน แผนงานสําหรับการนําใชระบบ ขอมูลเกี่ยวกับ บุคลากร การเงิน ฮารดแวร สิ่งอํานวยความสะดวก การประมาณการตนทุนที่ใกลเคียงกับ ตนทนทจะเกดขนจรง รวมถง การคาดคะเนถงผลกระทบของระบบทจะมตอผใชและองคกร 6) การนําสงผลการออกแบบเพื่อการรับรอง/การอนุมัติ (design summit for approval) เปน การนาเสนอเพอรบการประเมนโดยผบรหารตดสนใจสาหรบการดาเนนการในขนตอนตอไป 7) การทดสอบโปรแกรม เปนการทดสอบรายการโปรแกรมทั้งหมดใหเปนไปตามวัตถุประสงค ของระบบที่พัฒนา ทงน การออกแบบโดยใชยเอมแอล อานเพมเตมในเรองท 4.2.2 ถง 4.2.5 5. การนําใช งานหลัก ๆ ของขั้นตอนการนําใช (implementation) จะเกี่ยวของกับการฝกอบรมผูใช การเตรียม ความพรอมในพนททางานทจะตดตงระบบ และการแปลงไฟลหรอขอมลตาง ๆ เขาสฐานขอมล เมอระบบท พัฒนาขึ้นนั้นมีการเชื่อมโยงอุปกรณคอมพิวเตอรทั้งหมดเขาดวยกัน รวมถึง คอมพิวเตอรที่ติดตั้งอยูใน ระยะไกล ดังนั้น ระบบเครือขายการสื่อสารโทรคมนาคมจะตองไดรับการทดสอบไปพรอม ๆ กับการนําใช ระบบที่พัฒนาขึ้นดวย โดยในชวงการทดสอบครั้งสุดทาย จะตองมีการทดสอบการยอมรับของผูใช แลวก็ จัดการฝกอบรมผูใช สวนการแปลงขอมูลโดยปกติแลวจะดําเนินการในชวงเวลาเดียวกันกับการฝกอบรมผูใช หรอวาหลงจากนนกได การทดสอบระบบเปนการตรวจสอบความพรอมและความถูกตองของระบบ สําหรับการเขาถึง การ ปรับปรุงใหทันสมัยหรืออัปเดต และคนคืนขอมูล จากฐานขอมูล เมื่อโปรแกรมพรอมใชงาน ขอมูลสําหรับการ ทดสอบจะถูกอานเขาไปยังอุปกรณคอมพิวเตอรและประมวลผลกับขอมูลที่เตรียมไวสําหรับการทดสอบ ถาการ

การแปลงขอมูลสวนใหญจะดําเนินการคูขนานไปในระหวางการใชงานระบบใหมกับระบบเกาพรอม

29 ทดสอบประสบความสําเร็จ
ไมสําเร็จ
กัน
หากเกิดขอผิดพลาดในระบบใหมที่พัฒนาขึ้นมาระบบ เกาก็ยังทํางานได แตในบางกรณีการดําเนินการแบบคูขนานก็ไมเหมาะสม สวนกรณีอื่น หลังจากระบบใหมที่ พฒนาขนมาไดรบการพสจนแลววาใชงานได ระบบเกาก็จะถูกเลิกใชงานไป 6. การบํารุงรักษา กิจกรรมการบํารุงรักษา (maintenance) เริ่มตนเมื่อการแปลงขอมูลเขาสูระบบใหมดําเนินการเสร็จ การจดทาเอกสารกถอวาเปนสวนหนงของการบารงรกษา เจาหนาทททาหนาทบารงรกษาระบบจะไดรบคารอง ขอจากผูใชที่มีอํานาจหนาที่เทานั้น และนิยามของการปรับแกที่ตองการ โปรแกรมตนฉบับ และขั้นตอนการ ดําเนินงานสําหรับระบบจะถูกนํามาจากไลบรารีของโปรแกรมที่เขียนไว จากนั้นโปรแกรมที่ไดรับการ เปลี่ยนแปลงตองทําการทดสอบและสงใหผูใชเพื่อรับรอง เมื่อโปรแกรมที่ปรับแกไดรับการรับรอง ก็จะปรับแก เอกสาร และเก็บไวในไลบรารี แลวแจงผูใชใหทราบวา การบํารุงรักษาดําเนินการเสร็จแลวเพื่อทําการปด โครงการ การบํารุงรักษาสามารถแบงออกเปน 3 ประเภท คือ การบํารุงรักษาเพื่อความถูกตอง การบํารุงรักษา เพื่อการปรับแก และการบํารุงรักษาเพื่อความสมบูรณ 1) การบํารุงรักษาเพื่อความถูกตอง (corrective maintenance) หมายถึง การซอมแซมความ
ยงไมไดรบการแกไขใหถกตองซงเกดขนกอนหนานหรอจากการกาหนดสมมตฐานผด 2) การบํารุงรักษาเพื่อการปรับแก (adaptive maintenance) หมายถึง การเปลี่ยนแปลง ฟงกชันการทํางานของโปรแกรม 3) การบํารุงรักษาเพื่อความสมบูรณ (perfective maintenance) หมายถึง การปรับปรุงการ ทํางานใหดียิ่งขึ้น หรือการปรับแกโปรแกรมเพื่อใหตอบสนองตอความจําเปนที่เพิ่มขึ้นของ ผูใช หรอความจาเปนทเปลยนแปลงไป การบํารุงรักษาทั้ง 3 ประเภทนี้ การบํารุงรักษาเพื่อความสมบูรณใชเงินและเวลามากกวาการ บํารุงรักษาเพื่อความถูกตองและการบํารุงรักษาเพื่อการปรับแกรวมกัน การบํารุงรักษาจะครอบคลุมกิจกรรมที่คอนขางเยอะมาก รวมถึง การแกไขโคดโปรแกรมและการ ออกแบบที่ผิดใหถูกตอง การปรับปรุงเอกสารและขอมูลทดสอบใหทันสมัย และการยกระดับการสนับสนุนผูใช อยางไรก็ตาม กิจกรรมหลายอยางถูกจัดหมวดหมูวาเปนการบํารุงรักษาแตเปนการปรับปรุงใหดีขึ้น เนื่องจาก
โปรแกรมหรือซอฟตแวรก็จะสามารถนําไปใชประมวลผลกับขอมูลจริงตอไป หาก
จะดําเนินการวินิจฉัยหาสาเหตุเพื่อระบุและแกไขขอผิดพลาดในโปรแกรม
วิธีนี้จะมีตนทุนสูงแตก็จะทําใหเกิดความวางใจไดวา
ลมเหลวของการประมวลผลหรือการดําเนินงาน หรือทําการเปลี่ยนแปลงเนื่องจากมีปญหาที่

เปลี่ยนแปลงในรายละเอียดที่ไดออกแบบไว ซึ่งมีความจําเปนที่จะตามใหทันถึงการเปลี่ยนแปลงความจําเปน

30 การบํารุงรักษา หมายถึง การทําใหบางสิ่งบางอยางกลับมาอยูในสภาพเดิมหรือสภาพที่เปนตนฉบับ และปญหา หลักในการบํารุงรักษาซอฟตแวรคือ การใชแรงงานบุคลากรที่คอนขางเยอะ ซึ่งมักจะเกิดจากความผิดพลาด แตการปรับปรุงใหดีขึ้น หมายถึง การเพิ่ม การปรับแก หรือการพัฒนาโคดโปรแกรมใหม เพื่อจะรองรับการ
ทั้งนี้ วงจรการพัฒนาระบบ (SDLC) เปนแนวทางโดยทั่วไปสําหรับการพัฒนาระบบสารสนเทศ ซอฟตแวร หรือแอปพลิเคชัน ซึ่งนําไปปรับเปนแนวทางการพัฒนาแบบอื่นหรือแนวทางใหม ๆ เชน แนว ทางการออกแบบและพัฒนาซอฟตแวรแบบอไจล เปนตน ซงจะไดกลาวตอไปในเรองท 422 โดยพฒนาขนมา เพื่อแกไขจุดบกพรองและมีประสิทธิภาพดีกวาแนวทางการพัฒนาแบบเดิม อยางไรก็ตาม วงจรการพัฒนา ระบบนี้ก็สามารถนํามาใชกับการพัฒนาซอฟตแวรระบบอัตโนมัติของเครือขาย เพราะใหแนวคิดและหลักการ พนฐานสาหรบการพฒนาระบบในภาพกวางได หลงจากศกษาเนอหาสาระเรองท 4.2.1 แลว โปรดปฏิบัติกิจกรรม 4.2.1 ในแนวการศึกษาหนวยที่ 4 ตอนที่ 4.2 เรื่องที่ 4.2.1
ของผูใชและสภาพแวดลอมของการดําเนินงาน

เรื่องที่ 4.2.2 แนวทางการออกแบบและพัฒนาซอฟตแวรแบบอไจล แนวทางการพฒนาซอฟตแวรตามวงจรการพฒนาระบบทกลาวถงในเรองท 421 เปนแบบนาตก (waterfall) ซึ่งเปนแนวทางการพัฒนาแบบดั้งเดิมมีการดําเนินการเปนลําดับขั้น

แนวทางการพัฒนาซอฟตแวรแบบอไจลสามารถทําใหบริษัทพัฒนาซอฟตแวรประสบความสําเร็จใน การตอบสนองความตองการของลูกคาได เนื่องจากเปนแนวทางพัฒนาซอฟตแวรที่มีความยืดหยุนและรวดเร็ว

ดวยการแบงงานออกเปนสวนยอยเพื่อการสรางและทดสอบ

ซอฟตแวรแบบอไจลยังสงเสริมใหเกิดการทํางานรวมกันเปนทีมขามฝายหรือแผนกงานในองคกรดวย ซึ่งทําให

เรงกระบวนการพัฒนาซอฟตแวรในภาพรวมใหรวดเร็วยิ่งขึ้น

แนวทางการพัฒนาซอฟตแวรตามวงจรการพัฒนาระบบเปนแบบน้ําตกนั้น

31
สําหรับในเรื่องนี้จะกลาวถึง แนวทางการพัฒนาซอฟตแวรแบบอไจล (agile) ซึ่งเปนแนวทางใหมที่เหมาะกับสถาการณในปจจุบัน ที่ สภาพแวดลอมในการดําเนินธุรกิจมีการเปลี่ยนแปลงอยางรวดเร็ว ตองการแนวทางการพัฒนาที่มีความ คลองแคลว ยืดหยุน เนนการพัฒนาและนําซอฟตแวรออกใชงานไดรวดเร็วขึ้น มีประสิทธิภาพ ไดรับความนิยม และใชกันแพรหลายมากขึ้น แนวทางการพัฒนาซอฟตแวรแบบอไจล (agile) นั้น มีการประกาศเปนแถลงการณเพื่อแสดง เจตนารมณของการใชแนวทางแบบอไลจในการพัฒนาซอฟตแวร (Manifesto for Agile Software Development. สืบคนจาก https://agilemanifesto.org/) โดย 1) ใหคุณคากับ คนและการปฏิสัมพันธ มากกวา กระบวนการและเครื่องมือ 2) ใหคุณคากับ ซอฟตแวรที่ใชงานได มากกวา เอกสารที่มีรายละเอียดครบถวนสมบูรณ 3) ใหคณคากบ การรวมมอกบลกคาหรอผใช มากกวา การตอรองตามทระบในสญญา 4) ใหคุณคากับ การตอบสนองตอการเปลี่ยนแปลง มากกวา การทํางานตามแผนงานที่กําหนดไว ทั้งนี้ สิ่งที่กลาวไวทางขวามือของแถลงการณนั้นก็มีคุณคาเชนกัน
คุณคากับสิ่งที่กลาวไวทางซายมือมากกวา
เพียงแตแนวทางนี้จะมุงเนนให
โดยนําแนวคิดการพัฒนาแบบทําซ้ํา (iterative) กับแบบเพิ่ม (incremental) มาใชในการออกแบบและพัฒนา ซอฟตแวร เพื่อทําใหแนใจวา สามารถสงมอบงานที่ทํางานได ไมมีการลมเหลว และเรงความเร็วในการสงมอบ งานได ดวยเทคโนโลยีมีการเปลี่ยนแปลงอยางรวดเร็ว
สามารถปรับตัวใหทันตอการเปลี่ยนแปลง
ซอฟตแวร ทําใหทีมพัฒนาสามารถสงมอบงานไดอยางรวดเร็วและบอยขึ้น นอกจากนั้น แนวทางการพัฒนา
แนวทางการพัฒนาซอฟตแวรแบบอไจลชวยใหองคกร
ไมมจดทใหเพมฟเจอรใหมในระหวางการพฒนา ดงนน การบารงรกษาจงมความยงยาก มาก เชน สงทลกคาตองการ ณ วนแรกทบอกความตองการตอทมพฒนา หากใชแนวทางการพฒนาซอฟตแวร ตามวงจรการพัฒนาระบบเปนแบบน้ําตก ลูกคาจะไดรับมอบงานหลังจากโครงการเสร็จอาจจะใชเวลาเปนป
จะดําเนินการตามลําดับ โดยไมมการยอนกลบ

เปนตน แตดวยแนวทางการพัฒนาซอฟตแวรแบบอไจล ทําใหทีมพัฒนาสามารถสรางฟเจอรไดมากกวาโดยใช

แนวทางการพัฒนาซอฟตแวรแบบอไจลใชกระบวนการพัฒนาแบบเดียวกับ

ความแตกตางระหวางแนวทางการพัฒนาซอฟตแวรแบบอไจลและแนวทางการพัฒนาซอฟตแวรตาม

ชวงแรก สดทายแลวกอาจจะไมเปนไปตามความตองการทางธุรกิจ

2) แนวทางการพัฒนาซอฟตแวรแบบอไจล เกิดขึ้นจากขอเสียของแนวทางการพัฒนาซอฟตแวร ตามวงจรการพัฒนาระบบแบบน้ําตก โดยแนวทางการพัฒนาซอฟตแวรแบบอไจลเปนแนวคิดของการจัดการ

32
ระยะเวลาเดียวกัน อยางไรก็ตาม
แนวทางการพัฒนาซอฟตแวรตามวงจรการพัฒนาระบบเปนแบบน้ําตก คือ รวบรวมความตองการ ออกแบบ พัฒนา ทดสอบ นําใช และบํารุงรักษา เพียงแตแนวทางการพัฒนาซอฟตแวรแบบอไจลสามารถปรับเปลี่ยนได
วงจรการพัฒนาระบบแบบน้ําตก (ภาพที่ 4.8) มีดังนี้ 1) แนวทางการพัฒนาซอฟตแวรตามวงจรการพัฒนาระบบแบบน้ําตก เปนแนวทางแบบดั้งเดิมซึ่ง มีขั้นตอนที่คอนขางเขมงวด นักพัฒนายึดติดกับแผนการออกแบบที่กําหนดไวตั้งแตเริ่มตนโครงการ ผูบริหาร โครงการตองใชเวลามากในการเจรจาสาหรบเปาหมายการสงมอบงาน การจดสรรทรพยากร และฟเจอรตาง ๆ ทําใหใชระยะเวลานานในขั้นตอนของการวางแผนของโครงการ สวนลูกคาจะตองสรุปความตองการตั้งแตกอน เริ่มกระบวนการพัฒนา และใชระยะเวลายาวนานในการพัฒนา โดยผูบริหารโครงการติดตามความกาวหนา ของโครงการจากการสงมอบงานตั้งแตตนจนจบ ขอเสียคือซอฟตแวรมักไมตอบสนองตอการเปลี่ยนแปลงและ กระบวนการใชระยะเวลานานเกินไปในการสงมอบซอฟตแวรที่ใชงานได เมื่อซอฟตแวรพรอมใชงาน ตองใช
และมีความยืดหยุนคลองแคลวกวาในทุกขั้นตอนของกระบวนการ
รอบระยะเวลาในการเผยแพรถึงหกเดือนหรือนานกวานั้น ตามความตองการที่ถูกกําหนดไวอยางเขมงวดใน
ผูบริหารโครงการพัฒนาซอฟตแวร แบบอไจล มีบทบาทสําคัญในการวางแผน ดําเนินการ ติดตามตรวจสอบ ควบคุม และปดโครงการ แนว ทางการพัฒนาซอฟตแวรแบบอไจลจะไมขึ้นอยูกับการกําหนดงานที่จะตองสงมอบ แตขึ้นอยูกับจํานวนชั่วโมง การเลือกฟเจอร การจัดลําดับความสําคัญ และการตอบสนองความตองการของลูกคา โดยแนวทางการพัฒนา ซอฟตแวรแบบอไจล จะแบงงานออกเปนสพรินต (sprints) หรอการทาซา (iterations) ในตอนเรมตนของการ พฒนาแตละสพรนตหรอการทาซาแตละครง ทมพฒนาจะตดสนใจรวมกนวา สงใดทสามารถทาไดเสรจภายใน กรอบเวลาและกําหนดฟเจอรที่จะสงมอบ ในตอนสุดทายของแตละสพรินตหรือการทําซ้ําแตละครั้ง ซอฟตแวร จะถูกนําไปไวในสภาพแวดลอมการใชงานเพื่อใหลูกคาสามารถทดลองใชและใหขอเสนอแนะได ในขณะที่การ พัฒนาสวนอื่นก็ดําเนินตอไป
เพื่อดูแลการเปลี่ยนแปลงและกระบวนการพัฒนาซอฟตแวรที่รวดเร็วขึ้น

ภาพที่4.8ความแตกตางระหวางแนวทางการพัฒนาซอฟตแวรแบบอไจลและแนวทางการพัฒนา

วิธีการพัฒนาซอฟตแวรแบบอไจลและวิธีการพัฒนาซอฟตแวรตามวงจรการพัฒนาระบบแบบน้ําตก นนจะแตกตางกนในเรองของคณภาพและการทดสอบโดยแตละเฟสหรอขนตอนของวงจรการพฒนาระบบจะ

เฟสของพัฒนาหรือสรางซอฟตแวรแตวิธีการพัฒนาซอฟตแวรแบบอไจลการทดสอบจะดําเนินการไปพรอม

พฒนาขนทละนดและดาเนนการทดสอบการใชงานอยางตอเนองผใชกสามารถใชงานซอฟตแวรไดระหวาง การพฒนาและสามารถใชสวนของซอฟตแวรทคอยๆพฒนาเพมขนไดเรอยๆทาใหสามารถทบทวนความ

ตองการซอฟตแวรที่แทจริงของตนเองและปรับแผนไดซึ่งเปนไปในลักษณะของวงจรพีดีซีเอ(PDCA–PlanDo-Check-Act)ทําใหทีมพัฒนาซอฟตแวรสามารถสงมอบผลงานที่มีคุณคามากที่สุดใหกับผูใชไดเพราะการ ดําเนินการในลักษณะนี้จะมุงเนนผลลัพธหรือซอฟตแวรความยืดหยุนในการพัฒนาและตอบสนองตอการ เปลี่ยนแปลงในเรื่องความตองการของตลาดหรือสภาพแวดลอมของธุรกิจได นอกจากนนวธการพฒนาซอฟตแวรแบบอไจลมลกษณะเปนการพฒนาแบบปรบตวได(adaptive) หรือการขับเคลื่อนดวยคุณคา(value-driven)ซงเปนวธทสามารถปรบแผนการทางานโดยมการกาหนดการ สงมอบงานเปนระยะแตจะมความยดหยนในการดาเนนงานหรอสามารถปรบเปลยนกาหนดการสงมอบงาน

33
ซอฟตแวรตามวงจรการพัฒนาระบบเปนแบบน้ําตก ที่มา:
Pawlicka,A.(2021).
ทําตามลําดับเฟสกอนหนาจะตองทําใหเสร็จกอนจึงจะเริ่มเฟสถัดไปเฟสของการทดสอบจึงถูกแยกออกจาก
กับการเขียนโปรแกรมการทดสอบจึงเกิดขึ้นซ้ําทุกครั้งเมื่อเขียนโปรแกรมเสร็จทําใหซอฟตแวรคอยๆ
34 ไดดวย การพฒนาแบบปรบตวไดนมงเนนทการปรบตวไดอยางรวดเรวตอการเปลยนแปลงทเกดขน เชน เมอ โครงการมีการเปลี่ยนแปลง ทีมพัฒนาก็จะตองปรับเปลี่ยนตามดวย เปนตน อยางไรก็ตาม วิธีการพัฒนาแบบนี้ ทําใหทีมพัฒนาไมสามารถจะบอกไดแนนอนวาอะไรจะเกิดขึ้นในอนาคต ทําไดเพียงวางแผนคราว ๆ เชน งาน ใดที่จะตองทําในสัปดาหหนา ภายในเดือนหนาจะไดฟเจอรใดเพิ่มขึ้นบาง หรือภายใน
ใดบาง เปนตน ทั้งนี้ การพัฒนาซอฟตแวรระบบอัตโนมัติของเครือขายก็สามารถนําวิธีการพัฒนาซอฟตแวรแบบอไจล มาใชได เพื่อเพิ่มความคลองแคลว ยืดหยุน การสงมอบที่รวดเร็ว และประสิทธิภาพใหกับการจัดการระบบ เครอขายได หลงจากศกษาเนอหาสาระเรองท 4.2.2 แลว โปรดปฏิบัติกิจกรรม 4.2.2 ในแนวการศึกษาหนวยที่ 4 ตอนที่ 4.2 เรื่องที่ 4.2.2
6 เดือนจะสงมอบฟเจอร

ตงแตเรมตนจนกระทงสนสดวงจรการพฒนาระบบสารสนเทศ ซงไมวาจะเปนการพฒนา ซอฟตแวรโดยทวไป หรอพฒนาซอฟตแวรระบบอตโนมตของเครอขาย หากตองการสรางแบบจาลองเชงวตถก็ สามารถใชยูเอ็มแอลได โดยตัวอยางของการใชยูเอ็มแอลสําหรับงานระบบอัตโนมัติของเครือขายศึกษาเพิ่มเติม

แนวความคิดจากการวิเคราะหและออกแบบกับการเขียนโปรแกรมหรือโคดในลักษณะการโปรแกรมเชิงวัตถุได โดยตรง แตยูเอ็มแอลมีขอกําหนดของรูปแบบในการใชงาน การนําไปใชจึงตองเขียนใหถูกตองตาม วากยสัมพันธ (syntax) ของภาษา

35 เรื่องที่ 4.2.3 ยูเอ็มแอลและการรวบรวมความตองการดวยยูเอ็มแอล เนื้อหาของเรื่องที่ 4.2.3 นี้ ยกเนื้อหามาปรับปรุงและเรียบเรียง จากตอนที่ 2.2 พื้นฐานเกี่ยวกับการ พัฒนาระบบสารสนเทศดวยวิธีเชิงวัตถุ หนวยที่ 2 การรวบรวมความตองการและการวิเคราะหระบบ สารสนเทศ เขียนโดย ผูชวยศาสตราจารย ดร.ปราโมทย ลือนาม ในชุดวิชา 99708 ระเบียบวิธีวิจัยและ เครองมือในการพัฒนาระบบดานเทคโนโลยีสารสนเทศและการสื่อสาร ฉบับพิมพเมื่อ พ.ศ. 2562 1. ยูเอ็มแอล ยูเอ็มแอล (UML -Unified Modeling Language) เปนภาษาที่ใชระบบสัญกรณ (notation system) เพื่อบรรยายลักษณะของแบบจําลอง (model) ของระบบ ยูเอ็มแอลมักจะถูกนํามาใชในการสรางแบบจําลอง เชงวตถ (object modeling) แบบจาลองนจะใชสาหรบกาหนดขอบเขตของปญหา (problem domain) ซง อยูในขั้นตอนของการรวบรวมความตองการระบบเพื่อนําไปใชในขั้นตอนของการวิเคราะหระบบ และใช สําหรับอธิบายแนวความคิดของกระบวนการทํางานที่มีในแตละขั้นตอนของการพัฒนาระบบสารสนเทศ ยูเอ็มแอล พัฒนาขึ้นโดยมีวัตถุประสงคเพื่อใชสําหรับการวิเคราะห ออกแบบ ระบุรายละเอียด จําลอง ทําใหเห็นภาพ (visualization) และสรางเอกสารของแบบจําลองระบบ แบบจําลองเหลานี้สามารถนําไปใช
ไดในหนวยที่ 6 ยูเอ็มแอลชวยทําใหการพัฒนาระบบสารสนเทศทําไดสะดวกรวดเร็ว เนื่องจากสามารถเชื่อมโยง
อีกทั้ง ยังมีความสามารถในการปรับขนาด (scalability) ใหเหมาะสมกับ การใชงาน สามารถประยุกตใชไดกับระบบงานขนาดเล็กไปจนถึงระบบงานขนาดใหญที่ซับซอน และมีความ เหมาะสมอยางยิ่งกับการพัฒนาระบบที่ใชวิธีแบบวนซ้ําและทําเพิ่ม (incremental and iterative approach) หรือแนวทางการพัฒนาซอฟตแวรแบบอไจล โดยการปรับปรุงแผนภาพอยางตอเนื่อง ทั้งการเพิ่มเติม รายละเอยดและการปรบแผนภาพให สอดคลองกบสงทเปลยนแปลงในระหวางกระบวนการออกแบบแตละ รอบ ทั้งนี้ ควรพิจารณาความสัมพันธระหวางแนวคิดของยูเอ็มแอลกับวิธีการพัฒนาระบบ (ภาพที่ 4.9) และควรทําความเขาใจวา ยูเอ็มแอลไมไดอยูในสวนของกระบวนการ (process) ของการพัฒนาระบบ ไมได
ประโยชนได

บอกวามกระบวนการใดบางทจะตองทาเพอใหพฒนาระบบสาเรจหรอควรจะตองทาอยางไรการพฒนาระบบ จึงจะมีประสิทธิภาพและยูเอ็มแอลไมใชเครื่องมือพัฒนาระบบทใชสาหรบการสรางหรอบรหารโครงการ พัฒนาระบบหากแตสามารถนายเอมแอลไปใชในสวนของการสรางแผนภาพซงเปนองคประกอบทสาคญสวน

ภาพท4.9ความสมพนธระหวางแนวคดของยเอมแอลกบวธการพฒนาระบบ

การใชงานยูเอ็มแอลไมจําเปนตองใชทุกแผนภาพในการสรางแบบจําลองของระบบในแตละขั้นตอน ของการพัฒนาระบบสามารถเลือกใชบางแผนภาพใหเหมาะสมกับงานแตละสวนเชนการเก็บรวบรวมความ ตองการใชแผนภาพยูสเคสการวิเคราะหระบบใชแผนภาพคลาสรวมกับแผนภาพลําดับการออกแบบระบบใช แผนภาพออบเจ็กตรวมกับแผนภาพลําดับเปนตน แผนภาพยูเอ็มแอลมีทั้งหมด13ประเภท(ภาพที่4.10)สามารถจําแนกไดเปน2กลุมใหญคือ แผนภาพโครงสราง(structurediagrams)และแผนภาพพฤตกรรม(behaviordiagrams)

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

36
หนึ่งของวิธีการพัฒนาระบบ
ที่มา:
วิภาเจริญภัณฑารักษและปราโมทยลือนาม.(2562).

1)แผนภาพคลาส(classdiagrams)แสดงคลาสประเภทของคลาสสวนตอประสาน(interface) และความสัมพันธระหวางคลาสของระบบที่สนใจแผนภาพคลาสจะสรางขึ้นในชวงการวิเคราะหและออกแบบ

37 พฤติกรรมมีลักษณะเปนไดนามิกโมเดล(dynamicmodel)หรือแบบจําลองพลวัตซึ่งแสดงสถานะการ เปลี่ยนแปลงของสถานะการสงผานเมสเซจ(message)และการดําเนินการกับเหตุการณที่เกิดขึ้นโดยจะ เปลี่ยนแปลงไปตามเวลา ภาพที่4.10โครงสรางและประเภทของแผนภาพยูเอ็มแอล ที่มา:วิภาเจริญภัณฑารักษและปราโมทยลือนาม.(2562). แผนภาพโครงสราง(structurediagrams)ประกอบดวยแผนภาพ6ประเภทดังนี้
ระบบ

2) แผนภาพออบเจกต (object diagrams)

สัญลักษณของแพ็กเกจมีลักษณะเหมือนกับโฟลเดอรบนระบบปฏิบัติการวินโดวส

ภายในของคลาสหรือสวนประกอบยอย รวมทั้งอธิบายถึงความสัมพันธภายในคลาสตามบริบทที่กําหนด

5) แผนภาพคอมโพเนนต (component diagrams) แสดงสวนประกอบที่สําคัญภายในระบบเปน

38
หรือแผนภาพวัตถุ แสดงอินสแทนซ (instance) ใน ลักษณะของ “วัตถุ” หรือออบเจกต (ซึ่งรวมทั้งคุณสมบัติและพฤติกรรมของออบเจกต) สรางขึ้นจากคลาสตาง ๆ ที่มีอยูในแผนภาพคลาสของระบบ แผนภาพออบเจ็กตจะสรางขึ้นในชวงการวิเคราะหและออกแบบระบบ 3) แผนภาพแพ็กเกจ (package diagrams) เปนการจัดรวมกลุมของคอมโพเนนต (components) ที่เปนสวนประกอบยอยภายในระบบที่มีสวนสัมพันธเกี่ยวของกันไวในหมวดหมูเดียวกัน ประโยชนคือ ชวยให สะดวกตอการทําความเขาใจ สวนประกอบยอยในแพ็กเกจอาจเปน คลาส ออบเจกต ยูสเคส คอมโพเนนต หรือแพ็กเกจยอยในแพ็กเกจ เพื่อแสดงใหเห็นความสัมพันธระหวางแพ็กเกจและลําดับชั้นของแพ็กเกจ
แผนภาพแพ็กเกจจะสรางขึ้น ในชวงการออกแบบระบบ 4) แผนภาพโครงสรางของสวนประสม (composite structure diagrams) แสดงองคประกอบ
แผนภาพโครงสรางของสวนประสมจะสรางขนในชวงการออกแบบระบบ
และใช ในการจดกลมของสวนประกอบยอยของระบบแยกตามหนาทการทางาน เชน แสดงสวนประกอบของระบบวา ประกอบดวยแฟมขอมูลใดบางที่ตองใชในขณะที่โปรแกรมทํางาน (อาจเปนแฟมขอมูลประเภท .exe, .txt หรือ แฟมขอมูลไลบรารีตาง ๆ เชน .lib, .dll เปนตน) หรือแบงสวนประกอบยอยของระบบเปนโมดูลสําหรับการ รับ-สงขอมูล การขาย การผลิต และการออกรายงาน เปนตน แผนภาพคอมโพเนนตจะสรางขึ้นในชวงการ ออกแบบระบบ 6) แผนภาพดีพลอยเมนต (deployment diagrams) แสดงวิธีในการนําใชระบบ โดยการ เคลื่อนยายติดตั้งสวนประกอบตาง ๆ ของระบบ ทั้งฮารดแวร ซอฟตแวร ระบบฐานขอมูล หรือเครือขาย ให พรอมสําหรับการใชงานจริง แผนภาพดีพลอยเมนตจะสรางขึ้นในชวงการออกแบบระบบ เพื่อนําไปใชในชวง การปรบเขาสการใชงานจรง แผนภาพพฤติกรรม (behavior diagrams) ประกอบดวย 4 แผนภาพ ดังนี้ 1) แผนภาพยูสเคส (use case diagrams) แสดงการปฏิสัมพันธ (interact) ใน 2 รูปแบบคือ ระหวาง (1) ระบบกับผูใช หรือ (2) ระบบกับระบบภายนอก (external systems) โดยแผนภาพยูสเคสจะ แสดงวาใครบางที่เปนผูใชระบบ และผูใชเหลานั้นมีการติดตอกับระบบในลักษณะใด แผนภาพยูสเคสมีจุดเดน คือ เปนแผนภาพที่สามารถทําความเขาใจไดงาย นักวิเคราะหระบบมักจะใชแผนภาพยูสเคสในชวงการ รวบรวมความตองการของระบบ (system requirement) ซึ่งจะชวยใหนักวิเคราะหสามารถกําหนดขอบเขต ของระบบไดอยางถูกตองครบถวน
ลักษณะของโมดูล (module) แสดงใหเห็นถึงขอกําหนดและวิธีการในการติดตอประสานกับโมดูลนั้น

(state machine diagrams)

รวบรวมความตองการและการวิเคราะหระบบ

4) แผนภาพปฏิสัมพันธ

จึงนําแผนภาพลําดับมาใชในเฉพาะเสนทางที่เลือกบางเสนทางที่

แผนภาพลําดับจะสรางขึ้นในชวงการวิเคราะหและออกแบบระบบ

ในชวงการรวบรวมความตองการและการวิเคราะหระบบ

39 2) แผนภาพกิจกรรม
diagrams) แสดงใหเห็นกลุมของการกระทําหรือการปฏิบัติงานที่ เรียกวา แอ็กชัน (action) ซึ่งประกอบขึ้นตามลําดับขั้นรวมกันเปนกิจกรรม (activity) ของงาน แผนภาพ กิจกรรมแสดงใหเห็นถึงขั้นตอนการปฏิบัติงาน ทางเลือก และเงื่อนไขของทางเลือกที่มีในแตละกิจกรรม แผนภาพกิจกรรมจะสรางขึ้นในชวงการรวบรวมความตองการและการวิเคราะหระบบ 3) แผนภาพสเทจแมชีน
แสดงสถานะของระบบตามชวงชีวิต รวมทั้ง แสดงเหตุการณใด ๆ ที่สามารถเปลี่ยนสถานะของระบบเพื่อการเสริมสรางความเขาใจโดยเฉพาะในการอธิบาย การทํางานที่ซับซอน แผนภาพนี้สามารถใชในการอธิบายพฤติกรรมระบบทั้งหมด หนวยยอยของระบบ (subsystem) หรือแมแตเพียงวัตถุเดียว (single object) ในระบบ แผนภาพสเทจแมชีนจะสรางขึ้นในชวงการ
(activity
(interaction diagrams) แบงออกเปน 4 แบบ ดังนี้ - แผนภาพลําดับ (sequence
แสดงการปฏิสัมพันธระหวางออบเจกตตามลําดับของ เหตุการณที่เกิดขึ้น แผนภาพลําดับมีลักษณะที่งายตอการทําความเขาใจ แสดงใหเห็นภาพการทํางานของ ระบบ และใชเสริมกับแผนภาพกิจกรรม เนื่องจากแผนภาพกิจกรรมอาจจะมีเงื่อนไขจํานวนมาก ทําใหมี ทางเลือกในการทํางานไดหลายเสนทาง
ตองการอธิบายขยายความ
- แผนภาพการสื่อสาร (communication diagrams) แสดงวิธีที่ออบเจกตใชในการปฏิสัมพันธ
แผนภาพการสื่อสารจะสรางขึ้น
diagrams)
รวมทั้งการเชื่อมโยง
(connections) ที่ใชในการสนับสนุนการปฏิสัมพันธนั้น
- แผนภาพเวลา (timing diagrams) แสดงการเปลี่ยนแปลงสถานะ (state) เงื่อนไข (condition) หรือบทบาท (role) ของออบเจกตตามลําดับของเวลา โดยปกติสถานะที่เปลี่ยนแปลงไปนั้นมีสาเหตุ เนื่องมาจากการตอบสนองตอเหตุการณใด ๆ ที่เกิดขึ้น
(interaction overview diagrams) ใชในการรวบรวม แผนภาพลาดบ แผนภาพการสอสาร และแผนภาพเวลา เขาดวยกน เพอแสดงการปฏสมพนธทสาคญทเกดขน ในระบบ แผนภาพภาพรวมการปฏิสัมพันธจะสรางขึ้นในชวงการวิเคราะหระบบ ในทางปฏิบัติ โดยทั่วไปจะใชทั้งแผนภาพโครงสรางและแผนภาพพฤติกรรมรวมกันในการบรรยาย ลักษณะของระบบในแงมุมตาง ๆ เชน อาจจะใชแผนภาพคลาสเพื่ออธิบายโครงสรางของระบบรวมกับการใช แผนภาพสเทจแมชีนเพื่อแสดงพฤติกรรมของแตละวัตถุในการตอบสนองตอเหตุการณลักษณะตาง ๆ ที่อาจ เกิดขึ้นภายในระบบ
แผนภาพเวลาจะสรางขึ้นในชวงการวิเคราะหระบบ - แผนภาพภาพรวมการปฏิสัมพันธ

(1) สรางความเขาใจความตองการในบริบทของธุรกิจ (business context)

(2) แสดงรายละเอียดของความตองการของระบบในรูปของเอกสาร (requirements specification)

กวางจนเกินกวาจะทําไดสําเร็จตามเวลาและงบประมาณที่กําหนด หรือแคบไปจนไมสามารถตอบสนองความ

(system requirement modeling) เปนสวนที่ พัฒนาตอเนื่องจากความตองการเชิงธุรกิจ เพื่อใหสามารถกําหนดไดวาระบบที่จะพัฒนาสามารถแกไขปญหาที่ ธุรกิจที่กําลังเผชิญอยูไดอยางไร แบบจําลองความตองการเชิงระบบสรางจากมุมมองและแนวความคิดของ ผูพัฒนาระบบ (developer perspective) โดยจะใหรายละเอียดทางเทคนิคที่ลงลึกมากขึ้นกวาแบบจําลอง ความตองการเชิงธุรกิจ

40 2.
วัตถุประสงคของการรวบรวมความตองการ
การรวบรวมความตองการดวยยูเอ็มแอล
มีดังนี้
เทคนิคของระบบที่ตองการ
และสรางความเขาใจเชิง
สามารถระบุผูใชงานทั้งหมดที่เกี่ยวของกับระบบ เพื่อนํามาใชในกระบวนการวิเคราะหและออกแบบ
กําหนดขอบเขตของระบบ (system boundaries) เพื่อทําใหขอบเขตของระบบที่จะพัฒนาไม
ตองการของธุรกิจได สงทจะตองดาเนนการในชวงนคอ
ซงอาจแบงยอยออกเปน 2 สวน ดังนี้ 1) การสรางแบบจําลองความตองการเชิงธุรกิจ (business
modeling) เปนการสราง แบบจําลองความตองการตามมุมมองของธุรกิจ
เพื่อใหเขาใจในการวิธีดําเนินงาน ของระบบที่ใชในปจจุบัน และสภาพปญหาของธุรกิจที่กําลังประสบอยู
ระบบ
และมั่นใจวาเกิดความเขาใจ ตรงกับ ความตองการของธุรกิจ เจาของระบบ และผูใชงานระบบ การเก็บรวมรวบความตองการและวิเคราะหขอมูลในสวนนี้ เปนหนาที่ของนักวิเคราะหธุรกิจดานไอที (IT Business Analyst - IT BA) แหลงขอมูลจะไดมาจากผูบริหารขององคกร ทั้งระดับอาวุโสในองคกร ผูบริหารในระดับหนวยงาน และผูบริหารเทคโนโลยีสารสนเทศ รวมทั้งมุมมองทางธุรกิจจากผูใชภายใน หนวยงานที่เปนผูปฏิบัติงานในหนาที่ที่มีความเกี่ยวของกับระบบ 2) การสรางแบบจําลองความตองการเชิงระบบ
การเก็บรวมรวบความตองการและวิเคราะหขอมูลในสวนนี้จะเปนหนาที่ของ นักวิเคราะหระบบ (System Analyst - SA)
(3)
การสรางแบบจาลองความตองการ
requirement
(business perspective)
ตองดําเนินการกอนจะทําการพัฒนา
เพื่อใหทราบในเหตุผลของความตองการที่จะมีระบบไวใชงานอยางชัดเจน

ประกอบดวย 4 งานหลัก คือ (1) การระบุ

(2) การระบุยูสเคสธุรกิจ (3) การเขียนยูสเคสธุรกิจ และ (4) การสรางอภิธานศัพท แตหาก

ตองการขยายรายละเอียดอาจเสริมความเขาใจดวยการสรางแผนภาพกิจกรรมและแผนภาพการสื่อสาร

3) การบรรยายยูสเคสธุรกิจ (business use case narrative) เปนการแสดงรายละเอียดดวย คําอธิบายในเชิงการพรรณนาเพื่อใหเกิดความเขาใจในหนาที่การทํางาน

และเปนขอมูลพื้นฐานที่จะทําใหทราบวาระบบใหมควรจะตองมีวิธีดําเนินการอยางไรใหดี

41
แอ็กเทอรธุรกิจ
1) การระบุแอ็กเทอรธุรกิจ แอ็กเทอร (actor) หมายถึง คน (people) องคกร (organizations) ระบบ (systems) หรืออุปกรณ (devices) ที่ใชระบบ หรือมีปฏิสัมพันธแลกเปลี่ยนขอมูลสารสนเทศกับระบบ ดังนั้น อุปกรณหรือระบบภายนอกจึงถือวาเปนแอ็กเทอรดวย โดยระบุแอ็กเทอรหลัก (primary actors) และแอ็กเทอรรอง (secondary actors) ของระบบ แอ็กเทอรหลัก คือ ผูขอใชบริการจากระบบ ตองการใหระบบชวยทํางานเพื่อใหสําเร็จตามเปาหมาย เปนผูที่ติดตอกับระบบ และเปนผูทํากระบวนการนั้นในระบบ (acts on the system) และสวนแอ็กเทอรรอง คือ ผูที่ระบบตองการขอความชวยเหลือเพื่อใหเปาหมายของแอ็กเทอรหลักสําเร็จ เปนผูใหขอมูลหรือใหบริการ กับระบบ (is acted on/used/invoked by the system) ทั้งนี้ แอ็กเทอรหลักของระบบจะตองมีเสมอ ในขณะที่แอ็กเทอรรองอาจจะมีหรือไมมีก็ได ถามีแสดง วาระบบจําเปนตองมีแอ็กเทอรรองเพื่อชวยสนับสนุนการทํางานของยูสเคสนั้น ๆ เนื่องจากแอ็กเทอรหลักไม สามารถทํายูสเคสนั้นสําเร็จไดถาไมมีแอ็กเทอรรอง 2) การระบุยูสเคสธุรกิจ แตละยสเคสคอ องคประกอบยอยของระบบ เมอนาองคประกอบทงหมดมา รวมกันก็จะสามารถมองเห็นภาพการทํางานของระบบในเชิงธุรกิจทั้งหมด ในขั้นตอนนี้มักจะมองเห็นแคยูสเคส ที่มีการสื่อสารกันระหวางแอ็กเทอรที่เปน
รวบรวมความตองการของระบบ เพื่อแสดงถึงการใชงานระบบที่มีรายละเอียดมากขึ้น มีการแสดงถึงเงื่อนไข ทางเลือก
การใชวิธีเชิงวัตถุสรางแบบจําลองความตองการเชิงธุรกิจ
“คน" ยูสเคสที่เกิดขึ้นทั้งหมดจะเพิ่มเติมและปรับปรุงในขั้นตอนการ
และมีรูปแบบเปนโครงสรางมากขึ้น
ของระบบปจจุบัน
ขึ้น และสามารถแกไขปญหาที่กําลังเผชิญอยูได 4) การสรางอภิธานศัพท (glossary) เปนทางเลือกใหมที่มาแทนการสรางพจนานุกรมขอมูล (data dictionary) ที่ใชกันในวิธีแบบดั้งเดิม ซึ่งเปนวิธีการอธิบายความหมายของคําเหมือนกัน แตพจนานุกรมขอมูล จะบอกเฉพาะขอมลเทานน ไมครอบคลมการใหคาอธบายกระบวนการ ซงวธเชงวตถทงขอมูลและกระบวนการ จะตองถูกนํามาอธิบายความหมาย
แสดงใหเห็นวิธีปฏิบัติงานและปญหา
42 การใชวิธีเชิงวัตถุสรางแบบจําลองความตองการเชิงระบบ ประกอบดวย 4 งานหลัก คือ (1) การระบุ แอกเตอรระบบ (2) การระบุยูสเคสระบบ (3) การเขียนแผนภาพยูสเคสระบบ และ (4) การบรรยายยูสเคส ระบบ 1) การระบุแอกเตอรระบบ เปนการระบุแอกเตอรระบบ (system actors) ของระบบงานใหมที่จะ พัฒนา ไดแก คนหรือหนวยงานที่เปนผูใชงานหรือไดรับประโยชนจากการทํางานของระบบ อุปกรณที่ระบบ ตองใชงาน และการติดตอปฏิสัมพันธกับระบบภายนอก และเขียนคําอธิบายอยางยอเพื่อใหเขาใจถึงขอมูล พื้นฐานของแอกเตอร วิธีการ และเงื่อนไขของการปฏิสัมพันธกับระบบ เชน แอ็กเตอร: ลูกคา, คําอธิบาย: บคคลใด ๆ ทใชเวบเบราวเซอรในการเขาถงระบบผานเครอขายอนเทอรเนต เปนตน 2) การระบุยูสเคสระบบ แตละยูสเคสคืองานยอยภายในระบบใหม เมื่อนํางานยอยทั้งหมดมารวมกัน และกําหนดความสัมพันธระหวางงานยอย จะชวยใหมองเห็นภาพของระบบที่กําลังพัฒนาไดทั้งหมด โดยระบุ รหัสยูสเคส ชื่อยูสเคสอยางยอ และคําอธิบายยูสเคส เชน รหัสยูสเคส: SR01, ชื่อยูสเคส: คนดูประเภทหอง (Browse Room Types), คําอธิบายยูสเคส: ลูกคาใชเบราเซอรเพื่อดูประเภทตาง ๆ ของหองที่มีใหบริการ เชน หองสวีท หองเดี่ยว หองคู เปนตน 3) การเขียนแผนภาพยูสเคสระบบ เพื่อแสดงใหทราบวา ระบบทํางานใดหรือมีหนาที่ใดบาง และ นําไปใชเปนพื้นฐานเพื่อการสรางแผนภาพแบบอื่นในขั้นตอนตอไป การเขียนแผนภาพยูสเคส (ภาพที่ 4.11) ทําไดโดยระบุชื่อระบบ วาดขอบเขตของระบบ วาดแอ็กเทอรในแผนภาพ วาดยูสเคสในแผนภาพ และกําหนด ความสัมพันธระหวางยูสเคสแบบตาง ๆ ไดแก (1) แบบสนธิการ (association) เสนทึบไมมีลูกศร (2) แบบการ พึ่งพา (dependency) เสนประมีลูกศร ทั้งการรวม (inclusion) เพื่อเรียกใชการทํางาน ที่ทําเองไมได หัว ลูกศรชี้ไปที่ยูสเคสหลัก และการขยาย (extension) เพื่อขยาย/เพิ่มเติมการทํางาน หางลูกศรชี้ไปที่ยูสเคสหลัก หรอ (3) แบบสามญการ (generalization) เสนทบมลกศร

ที่มา:วิภาเจริญภัณฑารักษและปราโมทยลือนาม.(2562).

4)การบรรยายยูสเคสระบบใชประกอบกับแผนภาพยูสเคสเนื่องจากอาจมีรายละเอียดจํานวนมาก ที่ไมสามารถใสลงไวในแผนภาพไดการใชขอความบรรยายจึงเปนสิ่งจําเปนรูปแบบการบรรยายยังไมมี มาตรฐานทแนนอนหวขอทจาเปนตองมในการบรรยายยสเคสประกอบดวยรหสชอขนตอนเงอนไขกอน เงื่อนไขหลังและหัวขออื่นๆ(ถามี)เชนรหัส:SR01,ชื่อ:BrowseRoomTypes,ขนตอน:1.ลูกคาเลือก ประเภทของหองที่ตองการไดแกStandard/Superior/SuperiorCorner/ExecutivePremier/Junior Suite/OneBedSuite/SiamSuiteเปนตน2.IncludeยูสเคสSR02,เงื่อนไขกอน:ไมมี,เงื่อนไขหลัง:ไม มี,รเลชนชป:includesSR02เปนตน

43 ภาพที่4.11การเขียนแผนภาพยูสเคส
หลังจากศึกษาเนื้อหาสาระเรื่องที่4.2.3แลวโปรดปฏิบัติกิจกรรม4.2.3 ในแนวการศึกษาหนวยที่4ตอนที่4.2เรื่องที่4.2.3

2) กําหนดรูปแบบของความสัมพันธประเภทตาง

3) กําหนดคุณลักษณะ (attributes)

(association)

4) นํายูสเคสระบบทั้งหมดที่ไดมาจากการสรางแบบจําลองความตองการเชิงระบบ

44 เรื่องที่ 4.2.4 การวิเคราะหและการออกแบบซอฟตแวรดวยยูเอ็มแอล เนื้อหาของเรื่องที่ 4.2.5 นี้ ยกเนื้อหามาปรับปรุงและเรียบเรียง จากตอนที่ 2.4 การวิเคราะหดวยวิธี เชิงวัตถุ หนวยที่ 2 การรวบรวมความตองการและการวิเคราะหระบบสารสนเทศ และตอนที่ 3.3 การออกแบบ ระบบสารสนเทศเชิงวัตถุ หนวยที่ 3 การออกแบบระบบสารสนเทศ เขียนโดย ผูชวยศาสตราจารย ดร. ปราโมทย ลือนาม ในชุดวิชา 99708 ระเบียบวิธีวิจัยและเครื่องมือในการพัฒนาระบบดานเทคโนโลยี สารสนเทศและการสื่อสาร ฉบับพิมพเมื่อ พ.ศ. 2562 1. การวิเคราะหซอฟตแวรดวยยูเอ็มแอล ขั้นตอนของการวิเคราะหเชิงวัตถุ เปนงานที่ตองทําวนซ้ําทุกขั้นตอน จนกวาจะไดผลสําเร็จตาม วัตถุประสงคที่วางไว ประกอบดวย 1) นําแบบจําลองและขอมูลตาง ๆ ที่ไดมาจากขั้นตอนการรวบรวมความตองการในเชิงธุรกิจและเชิง ระบบ มาวเคราะหแบบสถต (static analysis) โดยเรมจากการคนหาคลาสตาง ๆ จากความตองการเชงระบบ เพื่อนํามากําหนดเปนคลาสในแผนภาพตาง ๆ
ๆ ระหวางคลาส เชน สนธิการ
การ
และการสบทอด
เปนตน
พงพง (dependency) องคประกอบ (composition)
(inheritance)
ที่เหมาะสมใหกับคลาส
มาตรวจสอบวา
หากไมได ตองปรับคลาส ความสัมพันธระหวางคลาส และคุณลักษณะทั้งหมดอยางละเอียด (fine-tune) เพื่อใหสามารถรองรับความ ตองการทั้งหมดไดอยางครบถวนสมบูรณ 5) นําแบบจําลองและขอมูลตางๆ ที่ไดมาจากขั้นตอนการรวบรวมความตองการเชิงระบบและการ วิเคราะหแบบสถิตมาทําการวิเคราะหแบบพลวัต (dynamic analysis) ผลจากการวิเคราะหจะนําไปใชในการ ปรบปรงแกไขแผนภาพคลาสใหมความสมบรณมากขน 6) ปรบปรงอภธานศพทตามทจาเปน
กระบวนการที่ระบุในยูสเคสสามารถรองรับไดจากคลาสที่มีอยูขณะนี้หรือไม
45 การวิเคราะหแบบสถิตและพลวัต การวิเคราะหแบบสถิต คือ การนําเอาความตองการในเชิงธุรกิจและเชิงระบบมาพิจารณาตอ และ จัดทําเปนแบบจําลองเพื่อใหไดสิ่งที่สามารถแสดงใหเห็นโครงสราง คุณลักษณะ และความสัมพันธของสวนตาง ๆ ที่ประกอบขึ้นเปนระบบ นิยมใชแผนภาพที่อยูในกลุมโครงสราง คือ แผนภาพคลาส และแผนภาพออบเจกต การวิเคราะหแบบพลวัต คือ การนําเอาความตองการในเชิงธุรกิจและเชิงระบบมาพิจารณา เชนเดียวกับการวิเคราะหแบบสถิต แตแบบจําลองที่จัดทําจะมีวัตถุประสงคเพื่อแสดงใหเห็นวิธีการทํางาน และ การรวมกันทํางานของหนวยยอยตาง ๆ ที่ประกอบขึ้นเปนระบบ และแสดงวิธีการตอบสนองตอเหตุการณที่ อาจเกิดขึ้นกับระบบในลักษณะตาง ๆ ในแตละชวงเวลา นิยมใชแผนภาพที่อยูในกลุมพฤติกรรม เชน แผนภาพ การสื่อสาร แผนภาพลําดับ แผนภาพกิจกรรม แผนภาพสเตจแมชีน เปนตน ผลจากการวิเคราะหแบบพลวัต จะชวยเพิ่มความเขาใจในเชิงพฤติกรรมของระบบที่ถูกตองมากขึ้น ซึ่ง อาจจะตองนาผลเหลานไปใชปรบปรงแกไขแผนภาพคลาสอกครงเพอใหมความสมบรณถกตอง การปรบปรง คลาสนี้หมายรวมถึง การเพิ่ม ลบ แกไข คลาส ความสัมพันธ คุณลักษณะ และวิธีการดําเนินงานของคลาส ความแตกตางระหวางการวิเคราะหทั้งสองแบบ คือ การวิเคราะหแบบสถิตใชการมองระบบและ สวนประกอบแบบสแตติกวิว (static view) คือสิ่งตางๆ จะไมเปลี่ยนแปลงไมวาจะเวลาใด สวนการวิเคราะห แบบพลวัตใชการมองการมองระบบและสวนประกอบแบบไดนามิกวิว (dynamic view) คือ สิ่งตาง ๆ สามารถเปลี่ยนแปลงไดตลอดเวลา แผนภาพคลาสจากการวิเคราะหแบบสถิต คลาส (class) คอ สงทใชในการนยามออบเจกต คลาสจะเปนแผนแบบ (template) ทใชในการสราง ออบเจกต และการที่ออบเจกตตองถูกสรางขึ้นมาจากคลาส จึงถือวาออบเจกตเปนกรณีตัวอยาง (instance) ของคลาส คลาสเปรียบเสมือนเปนสิ่งที่ใชในการจัดกลุมของออบเจกตที่มีลักษณะของ โครงสราง (structure) คุณลักษณะ (attribute) และพฤติกรรม (behavior) เหมือนกัน ออบเจกตถูกสรางจากคลาสใด จะตองมี โครงสรางและพฤตกรรมรปแบบเดยวกบคลาสทเปนแผนแบบนน ออบเจกต (object) ความหมายโดยทั่วไปคือ สิ่งที่มีตัวตน (tangible) สามารถสัมผัส (touchable) และมองเห็นได (visible) สําหรับความหมายในทางเทคโนโลยีเชิงวัตถุ หมายถึง สิ่ง (thing) ที่ใชแสดงวัตถุใน โลกความจริง และเปนขอแตกตางระหวางคลาสกับออบเจกต คือ คลาสจะเปนนามธรรม (abstract) หมายถึง จับตองไมไดและทํางานไมได ในขณะที่ออบเจกตเปนรูปธรรม (concrete) คือเปนสิ่งที่มีตัวตนและสามารถ ทํางานได คุณสมบัติพื้นฐานของออบเจกต คือ (1) สามารถระบุอัตลักษณได (identifiable) (2) มีสภาพ (state) และ (3) มีพฤติกรรม (behavior)

1) ระบพจน (term) ทเปนคานาม

ออกแบบจะใชแผนภาพคลาสมาแสดงรายละเอียดของการออกแบบ

(analysis classes) ในขั้นตอนการ

สิ่งที่มักจะแสดงในแผนภาพมีแคชื่อของคลาสและความสัมพันธระหวางคลาส สวน

จะนําไปเพิ่มเติมภายหลังในขั้นตอนการวิเคราะหแบบพลวัตและการออกแบบระบบตอไป

46 วิธีการคนหาคลาส คือ
พิจารณาวา ในระบบงานควรจะประกอบดวยคลาสอะไรบาง
พฤติกรรมอยางไร
นําการบรรยายยูสเคสระบบจากการรวบรวมความตองการเชิงระบบมา
และในแตละคลาสควรจะมีคุณลักษณะหรือ
มีวิธีการและขอกําหนดดังนี้
(noun) หรอนามวล (noun phase) จากคาบรรยายยสเคสระบบ
นําพจนที่ไดมาจัดวางบนแผนภาพ จัดกลุมของพจนตามความสัมพันธเกี่ยวของ โดยพิจารณา พจนที่มีความหมายเดียวกัน มีความหมายใกลเคียงกัน หรือมีความหมายในเรื่องเดียวกัน 3) ลบพจนที่ไมเกี่ยวของ ลบพจนที่เปนแอ็กเทอรซึ่งกําหนดเปนคลาสไมได และปรับลดความสําคัญ ของพจนลงเปนแอตทริบิวต แผนภาพคลาสที่ใชในชวงการวิเคราะห จะเรียกวา คลาสวิเคราะห
2)
จะเรียกวา คลาสออกแบบ (design classes) ขอแตกตางคอ คลาสวเคราะหจะแสดงรายละเอยดในระดบสง (high level) คอ เนนแสดงโครงสราง และความสัมพันธระหวางคลาส สวนพฤติกรรมและคุณลักษณะจะแสดงเพียงคราว ๆ สวนคลาสออกแบบจะ แสดงรายละเอียดในระดับต่ํา (low level) คือจะแสดงขอมูลของพฤติกรรม และคุณลักษณะทุกประการอยาง ชัดเจน วัตถุประสงคเพื่อจะสงมอบแผนภาพใหกับโปรแกรมเมอรนําไปเขียนโปรแกรมพัฒนาระบบงานตอไป รายละเอียดภายในแตละคลาส (ภาพที่ 4.12) ประกอบดวย สวนสําคัญหลัก 3 สวน ไดแก (1) สวน บนสุดเปนชื่อของคลาส (2) สวนกลางเปนสวนของแอตทริบิวต (attribute) และ (3) สวนลางสุดเปนสวนของ การดําเนินการ (operation) โดยจะตองระบุชื่อคลาสเสมอ นอกนั้นจะใสหรือไมก็ได
วิเคราะหแบบสถิต
พฤติกรรม คุณลักษณะ ทัศนวิสัย (visibility) ความพหุคูณ
และแท็กแสดงรายละเอียด (tag)
โดยเฉพาะในขั้นตอนการ
(multiplicity)

ขั้นตอนการปรับแบบจําลองที่ไดจากระยะการวิเคราะหสูแบบจําลองในระยะการออกแบบเพื่อให ผูพัฒนาซอฟตแวรหรือนักเขียนโปรแกรมสามารถนําไปใชเปนตนแบบการพัฒนาโปรแกรมไดอยางถูกตองและ

2.1การแมปคลาสจากการวิเคราะหสูการออกแบบ

แมปคลาสที่ไดจากการวิเคราะหไปเปนคลาสที่ใชในชวงของการออกแบบมีการเพิ่มเติมใน รายละเอียดของฟลดและเมสเสจ(Message)ในคลาสรวมถงกาหนดคาเรมตนประเภทของคาเรมตนทศน วิสัย(visibility)และการเพิ่มการกําหนดตัวเขาถึง(accessor)นอกจากเพมเตมในรายละเอยดในสงทมอยเดม แลวยังควรพิจารณาวามีเมสเสจ(Message)ทจาเปนตองใชงานเพมอกหรอไมหากจาเปนตองมกสามารถ เพิ่มในคลาสออกแบบนี้ได

2.2การแมปสนธิการ สําหรับยูเอ็มแอลสัญลักษณตางๆบนแผนภาพในชวงการวิเคราะหและออกแบบไมมีความแตกตาง กันแตอยางใดอยางไรก็ตามบางตําราแนะนําวาสามารถเพิ่มเติมสัญลักษณที่อานชวยสรางความเขาใจในการ ออกแบบไดดีขึ้นเชนการนําแผนภาพคลาสที่ไดจากการวิเคราะหมาเพิ่มการระบุวาassociationที่เกิดขึ้น ระหวาง2คลาสสดทายแลวจะเปนการเพมฟลดลงในคลาสใดคลาสหนง(one-wayassociation)หรืออาจ

47 ภาพท4.12รายละเอียดภายในคลาส ที่มา:วิภาเจริญภัณฑารักษและปราโมทยลือนาม.(2562). 2.การออกแบบซอฟตแวรดวยยเอมแอล
สมบูรณ

เปนไปไดวาจะเพมฟลดลงในทง2คลาสทเรยกวาความสมพนธแบบสองทศทาง(two-wayassociation) ทงนควรพจารณาโดยยดตามขอกาหนดของธรกจเปนหลก

2.3การกําหนดตัวเขาถึง

ตัวเขาถึง(accessor)เปนเมสเสจที่ใชในการกําหนดคาหรือนําคาของฟลดหรือแอตทริบิวตภายใน คลาสมาใชงานและชวยใหการดําเนินการตางๆเกยวกบฟลดถกจดรวมกลมไวทเดยวตวเขาถงแบงเปน2 รูปแบบคือ(1)gettersใชสําหรับนําคาของฟลดมาใชโดยการสงคากลับ(returnthevalue)เมื่อเรียกใช gettersและ(2)settersใชสาหรบตงคาหรอกาหนดคาใหมใหกบฟลด(ภาพที่4.13)

ภาพที่4.13ตัวอยางการกําหนดตัวเขาถึง(accessor)

หลังจากไดคลาสออกแบบแลวสิ่งที่จะไดตามมาคือแผนภาพออบเจ็กตเนื่องจากคลาสเปนแมแบบ ของออบเจ็กตแผนภาพออบเจกตจะชวยใหผออกแบบและผพฒนาโปรแกรมเหนถงโครงสรางของขอมลความ เชอมโยงและเขาใจการทางานทชดเจนของระบบไดดขน 2.4การใชแพตเทิรนในการออกแบบ การออกแบบระบบสารสนเทศนิยมใชแพตเทิรนการออกแบบ(designpattern)เพื่อประหยัดเวลา และลดปญหาขอผิดพลาดแพตเทิรนการออกแบบมีหลากหลายรูปแบบที่หลากหลายการเลือกอันที่ควร พิจารณาตามความเหมาะสมของงานแพตเทิรนที่นิยมใชกันเชนBCE(Boundary-Control-Entity)MVC (Model-View-Controller)และโครงสรางตามเลเยอร(layeringstructure)เปนตน

48
ที่มา:วราภรณวิยานนทและปราโมทยลือนาม.(2562).

ในที่นี้จะกลาวถึงแพตเทิรนเอ็มวีซี(MVC–Model-View-Controller)(ภาพที่4.14)ซึ่งนํามาใช สําหรับการออกแบบกราฟกสวนตอประสานของแอปพลิเคชันบนวินโดวสภายหลังเมื่อเว็บไดรับความนิยมก็ นิยมนําเอ็มวีซีมาใชในการออกแบบเว็บแอปพลิเคชันเชนกันเอ็มวีซีมีแนวคิดวาโครงสรางของแอปพลิเคชัน สามารถแบงคอมโพเนนต(component)ออกเปน3สวนหลักไดแกโมเดล(model)วิว(view)และ คอนโทรลเลอร(controller)โดยโมเดลเปนออบเจ็กตที่ใชแสดงแทนตัวขอมูลในรูปแบบของโครงสราง สารสนเทศ(informationstructures)วิวเปนออกเจ็กตที่ใชในสวนตอประสานผูใชวิวจึงเปนสิ่งที่ผูใชงาน มองเห็นและเปนชองทางในการรับคําสั่งจากผูใชงานสวนคอนโทรลเลอรเปนออบเจ็กตที่ทําหนาที่เปนตัวกลาง ในการเชื่อมตอกับโมเดลและวิวตามเงื่อนไขการทํางานเพื่อควบคุมตรรกะ(controllogic)ทกาหนดในการใช

วราภรณวิยานนทและปราโมทยลือนาม.(2562). เมื่อเลือกแพตเทิรนที่เหมาะสมกับระบบไดแลวขั้นตอนตอไปคือพิจารณาในแตละสวนของ องคประกอบยอยในแพตเทิรนวาควรประกอบดวยระบบยอย(subsystems)ใดบางโดยดูจากหนาที่ความ รับผิดชอบของแตละระบบยอยจากนั้นกําหนดความเกี่ยวของกันหรือการขึ้นตอกัน(dependency)ของแต ละระบบยอยพจารณาจากขอมลทใชรวมกนโดยทวไปแตละระบบยอยควรมหนาทการทางานเฉพาะอยาง และควรมีความเปนอิสระตอกันดังนั้นเมื่อมาทํางานรวมกันจึงตองพิจารณาวาจะติดตอสื่อสารหรือประสาน

49
งาน ภาพที่4.14แพตเทิรนเอ็มวีซี(MVC–Model-View-Controller) ที่มา:

2.5 แบบจําลองการออกแบบสถาปตยกรรมระบบ

แบบจําลองที่จัดสรางในชวงการออกแบบสถาปตยกรรมเปนเรื่องของการนําเอาขอกําหนด คุณลักษณะ (specification) ของระบบมาแสดงใหเห็นถึงภาพของโครงสรางและการเชื่อมโยงองคประกอบที่

50 การทํางานรวมกัน (interact) อยางไร และควรออกแบบสวนตอประสาน (interfaces) อยางไร ใหการทํางาน ของระบบโดยรวมเปนไปอยางมีประสิทธิภาพ ขั้นตอนตอไปคือ ใหพิจารณาวาภายในระบบยอยควรมีองคประกอบหรือคอมโพเนนตใดบาง สามารถ มองไดวาสวนของซอฟตแวร ฮารดแวร หรืออุปกรณตาง ๆ ที่ทํางานรวมกันในระบบ ก็คือ คอมโพเนนตแตละ สวนของระบบนั่นเอง ขั้นตอนนี้จะคลายกับการพิจารณาระบบการทํางานยอย คือ ทุกคอมโพเนนตในระบบ นั้นยอมมีบทบาทหนาที่ของตนอยางชัดเจน ไมควรมีคอมโพเนนตใดที่ทํางานซ้ําซอนกัน ตามหลักการแลวแต ละคอมโพเนนตควรตองมความเปนอสระในการทางานจากกน ทงนเพอใหการแกไขหรอการแทนท คอมโพเนนตเหลานนสามารถทาไดโดยงาย ไมสงผลกระทบ หรอสงผลกระทบตอองคประกอบสวนอนในระบบ นอยที่สุด ถึงแมวาคอมโพเนนตเหลานั้นอาจจะมีการเปลี่ยนแปลงไปตามกาลเวลา อันเนื่องจากความตองการ ตามหนาที่ของระบบที่เปลี่ยนแปลงไปก็ตาม ขอมูลที่ไดจากการวิเคราะหความตองการ และการวิเคราะห ระบบ จะเปนสิ่งสําคัญในการกําหนดขอบเขต หนาที่ความรับผิดชอบของระบบการทํางานไดอยางชัดเจน นอกเหนือจากนั้นการออกแบบที่ดีจะสงผลใหคอมโพเนนตที่ไดพัฒนาขึ้นสามารถนํากลับไปใชใหม (reuse) ได ชวยเพิ่มประสิทธิภาพ ประหยัดเวลา และลดตนทุนในการพัฒนาระบบ
แผนภาพทนามาใชในชวงนประกอบดวยแผนภาพแพกเกจ (package) นําเสนอระบบและลักษณะของการจัดกลุมองคประกอบยอยที่มีความสัมพันธกัน และแผนภาพดีพลอยเมนต (deployment) ที่แสดงวิธีในการปรับใชระบบเขาสูการใชงานจริง แผนภาพแพ็กเกจ ใชสําหรับการจัดกลุมของหนวยยอยในเชิงตรรกะ (logic grouping) (ภาพที่ 4.15) ในการออกแบบระบบทมขนาดใหญและมความซบซอนสง แผนภาพแพกเกจจะชวยใหผใชงานทเกยวของ สามารถทําความเขาใจระบบไดงายขึ้น ดวยการนําเสนอระบบในลักษณะภาพนามธรรมระดับสูง (higher abstraction level) ที่ไมแสดงรายละเอียดปลีกยอย มีการจัดกลุมขององคประกอบที่มีความสัมพันธกัน ออกเปนสวนๆ (ภาพท 416) และแสดงความสมพนธระหวางองคประกอบวามความขนอยตอกนในลกษณะใด ตัวอยางแผนภาพแพ็กเกจแสดงในภาพที่ 4.17
เนนในเชงกายภาพทงหมดของระบบ

วราภรณวิยานนทและปราโมทยลือนาม.(2562).

วราภรณวิยานนทและปราโมทยลือนาม.(2562). การวาดแผนภาพแพ็กเกจควรเริ่มจากการแบงกลุมของแพ็กเกจออกเปนกลุมยอยทางเลือกหนึ่งใน การแบงกลมทนยมทากนคอการแบงลาดบชนตามลกษณะของสถาปตยกรรมทเลอกใช

51 ภาพที่4.15การจดกลมคลาสรวมกนเปนแพกเกจ ที่มา:
ภาพที่4.16สวนประกอบของแผนภาพแพ็กเกจ ที่มา:

แผนภาพดีพลอยเมนต แผนภาพดีพลอยเมนตจัดอยูในกลุมของแผนภาพโครงสราง(structurediagrams)ของยูเอ็มแอล โดยเฉพาะในสวนที่เกี่ยวของกับอุปกรณฮารดแวรและสภาพแวดลอมในการปฏิบัติการของซอฟตแวร (softwareexecutionenvironments)แผนภาพดีพลอยเมนตจึงมักนํามาใชประโยชนในการอธิบายระบบ เนองจากสามารถแสดง(1)สถาปตยกรรมของระบบในขณะใชงาน(run-time)(2)โทโพโลยี(topology)ที่ เปนรูปแบบการเชื่อมตอความสัมพันธเชื่อมโยงและเสนทางการสื่อสาร(communicationpaths)ระหวาง ฮารดแวรในระบบและ(3)สภาพแวดลอมและองคประกอบ(elements)สวนของซอฟตแวรททางานอย ภายในฮารดแวรแตละโหนดแผนภาพดพลอยเมนตจงเปนเอกสารสาคญทมกนามาใชประโยชนในการนาใช ซอฟตแวรคอมโพเนนตทตดตงอยภายในโหนด

52 ภาพที่4.17ตัวอยางแผนภาพแพ็กเกจ ที่มา:
หลังจากศึกษาเนื้อหาสาระเรื่องที่4.2.4แลวโปรดปฏิบัติกิจกรรม4.2.4 ในแนวการศึกษาหนวยที่4ตอนที่4.2เรื่องที่4.2.4
วราภรณวิยานนทและปราโมทยลือนาม.(2562).

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.