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 ชุดการสอนที่ 1 ใบความรู้ตอนที่ 2 การออกแบบสร้างซอฟต์แวร์และทวนสอบซอฟต์แวร์

ชุดการสอนที่ 1 ใบความรู้ตอนที่ 2 การออกแบบสร้างซอฟต์แวร์และทวนสอบซอฟต์แวร์

Published by ekachai k, 2019-06-02 01:12:05

Description: วิชา กระบวนการซอฟต์แวร์
รหัสวิชา 30-4901-2011

Keywords: กระบวนการซอฟต์แวร์

Search

Read the Text Version

26 ตอนที่ 2 การพฒั นาโปรแกรมทดสอบและติดตงั้ ระบบ โปรดอ่านหัวเร่ือง วัตถุประสงค์ในตอนท่ี 2 แล้ว จึงศึกษาเน้ือหาสาระโดยละเอียด ต่อไป หัวเรอ่ื ง เรอ่ื งที่ 2.1 การพัฒนาโปรแกรม เรื่องที่ 2.2 การออกแบบและการนาไปใช้ เร่ืองที่ 2.3 การทดสอบ เรื่องท่ี 2.4 การติดตัง้ ระบบและบารุงรักษา วตั ถปุ ระสงค์ 1. อธิบายเกยี่ วกบั หลกั การพัฒนาโปรแกรมได้ 2. อธิบายหลักการออกแบบและการนาไปใช้ได้ 3. อธิบายหลกั การทดสอบโปรแกรมได้ 4. อธบิ ายหลักการติดตั้งระบบและบารุงรักษาได้

27 เร่ืองท่ี 2.1 การพัฒนาโปรแกรม 2.1.1 การพัฒนาโปรแกรมหรือการพัฒนาซอฟต์แวร์ กระบวนการพัฒนาซอฟแวร์ ประกอบดว้ ย การวางแผน การพัฒนา และ การนาไปใชแ้ ละบารุงรกั ษา กระบวนการ (Process) หมายถึงกลุ่มของข้ันตอนการทางานที่ประกอบด้วยชุด กิจกรรม ข้อจากัด และทรัพยากรท่ีจะได้ผลิตเป็นผลลัพธ์บางชนิดตามต้องการ กระบวนการ โดยทว่ั ไปจะมีลักษณะ ดงั น้ี 1) กระบวนการจะตอ้ งระบกุ ิจกรรมทงั้ หมดอย่างชัดเจน 2) กระบวนการจะใช้ทรพั ยากรภายใตข้ ้อจากัดตา่ งๆ เพอ่ื ผลิตเปน็ ผลติ ภัณฑ์ท่ี แลว้ เสรจ็ 3) กระบวนการหน่ึงอาจประกอบขนึ้ จากกระบวนการย่อยอื่นๆ ทีม่ ีความสมั พันธก์ ัน 4) ทุกกจิ กรรมของกระบวนการจะมีเง่ือนไขในการเริ่มตน้ และสนิ้ สดุ กิจกรรม 5) ทุกขั้นตอนและทุกกิจกรรมของกระบวนการจะต้องมีเป้าหมายอย่างชัดเจน และต้องมหี ลักการหรือแนวทางในการปฏิบตั เิ พื่อใหบ้ รรลเุ ป้าหมายนั้น 6) ข้อจากัดหรือเง่ือนไขสามารถนามาใช้ควบคุมการดาเนินกิจกรรม การใช้ ทรัพยากร หรือแมก้ ระทั่งตัวผลติ ภัณฑ์เองได้ 2.1.2 กระบวนการซอฟต์แวร์ (Software Process) กระบวนการซอฟต์แวร์ หมายถึง กลมุ่ ของกจิ กรรม วธิ กี าร วิธีการปฏบิ ัติ และการเปลยี่ นแปลง ที่ใช้ในการพัฒนาและบารุงรักษา ซอฟต์แวร์ ตลอดจนผลิตภัณฑ์ท่ีเกี่ยวเนื่องกระบวนการซอฟต์แวร์ ประกอบด้วย คน,วิธีการและเครอื่ งมอื มกี จิ กรรมพื้นฐานท้ังหมด 4 กจิ กรรม ท่ีใชก้ ับกระบวนการผลิต ซอฟตแ์ วร์ ได้แก่ 1) การกาหนดคุณสมบัติของซอฟแวร์ (Software Specification) จุดประสงค์ เพื่อนิยามหน้าที่ต่าง ๆ ที่ต้องมีในซอฟต์แวร์ และระบุข้อจากัดต่างๆ ท่ีเกี่ยวข้องกับกระบวนพัฒนา ซอฟต์แวร์ เช่น กฎหมาย, อัตราภาษ,ี กฎระเบียบต่าง ๆ ท่เี ก่ยี วในการพัฒนาซอฟต์แวร์ 2) การออกแบบและสร้างซอฟต์แวร์ (Software Design and Implementation) มีจุดประสงคเ์ พ่ือสรา้ งและพัฒนาซอฟตแ์ วร์ใหต้ รงกับข้อกาหนด (specification) 3) การทวนสอบซอฟต์แวร์ (software verification) มีจุดประสงค์เพื่อประเมิน ค่าของระบบ หรือ ส่วนประกอบ เพื่อกาหนดว่า ซอฟต์แวร์หรือ ส่วนประกอบ ท่ีจะออกมานั้นเป็นไป ตามความต้องการ ซ่ึงจะทาในช่วงก่อนการเริ่มทาการ development software โดย Verification activities น้ีจะประกอบดว้ ยการ Testing และ Reviews 4) การวิวัฒนาการของซอฟต์แวร์ (Software Evolution) มีจุดประสงค์เพ่ือ เตรียมการบางอยา่ งเพ่ือจัดการกบั เหตุการณ์ที่คาดหมายวา่ จะเกดิ ขึ้นในอนาคต เชน่ เมือ่ ซอฟต์แวร์ใช้ งานได้ระยะหน่ึงแล้ว ผู้ใช้หรือลูกค้าอาจมีความต้องการเพิ่มเติมหรือเปลี่ยนแปลงความต้องการ บางอยา่ ง โมเดลสาหรับการพัฒนาซอฟแวร์ (Software Development Process Models) (1) การพัฒนาซอฟแวร์แบบไม่เป็นระบบ การพัฒนาซอฟแวร์แบบไม่เป็น ระบบเปน็ การพฒั นาซอฟแวรแ์ บบไมม่ ีการวางแผน ไมม่ กี ารจดั การ ไมม่ ีการทาเอกสาร เหมาะกับการ พัฒนาซอฟแวร์ขนาดเล็กขึ้นใช้งานเองวิธีการพัฒนาซอฟแวร์แบบนี้คือ เม่ือนึกอะไรได้ก็ค่อยๆเขียน

28 โปรแกรม แลว้ ทาสอบการทางาน ถา้ โปรแกรมไม่สามารถทางานตามท่ีคิด กแ็ กไ้ ขเขียนใหม่ เรียกการ พัฒนาแบบนี้ว่า Coding& Debug ปัจจุบัน ซอฟแวร์มีขนาดใหญ่ขึ้น ต้องใช้คนหลายคนช่วยกัน พัฒนา ซ่ึงมีผู้เสนอเทคนิคหรือทฤษฏีในการพัฒนาซอฟแวร์หลายวิธี เพื่อให้ได้ซอฟแวร์ท่ีมี ประสทิ ธภิ าพและคณุ ภาพ (2) การพัฒนาซอฟแวร์แบบเป็นระบบการพัฒนาซอฟแวร์อย่างเป็นระบบ จดุ ประสงคข์ องการพัฒนาซอฟแวร์อย่างเป็นระบบ คือ กระบวนการที่ใช้ ตอ้ งอธิบายในรปู แบบของ โมเดล โดเมลในการพัฒนาซอฟแวร์ ท่ีนิยมใช้กันได้แก่ Water Fall Model, Spiral Model, Prototyping Model, Water Fall Model เป็นโมเดลพนื้ ฐานในการพัฒนาซอฟแวร์ โมเดลน้ีเหมาะ กับการพัฒนาซอฟแวร์ขนาดใหญ่ ไม่เหมาะกบั การพัฒนาซอฟแวร์ขนาดเล็ก หรือระบบสารสนเทศท่ีมี การใช้เทคโนโลยีใหม่ โมเดลนี้ แบ่งกระบวนการพัฒนาซอฟแวร์ออกเป็นกระบวนการต่างๆ แล้วทา การพัฒนาทีละกระบวนการตามลาดับ กระบวนการพัฒนาตาม Water Fall Model มี 5 กระบวนการ ได้แก่ ก. นิยามความต้องการ (Requirement Definition) เป็นการหา คาตอบว่า ซอฟแวร์ท่ีต้องการพัฒนา ต้องตอบสนองความต้องการอะไรบ้างในขั้นตอนน้ี อาจเรียกว่า การวิเคราะห์ การวางแผนขั้นพื้นฐาน การกาหนดเงื่อนไข กระบวนการในข้ันตอนนี้ ต้องการทราบ ปัญหาในการทางานหรือปัญหาในทางธุรกิจ แล้วนามากาหนดวัตถุประสงค์หรือเป้าหมายท่ีวัดได้งาน หลักในขนั้ ตอนน้คี อื ข. การวิเคราะห์วิธีทางาน และการวิเคราะห์ข้อมูลที่ได้จากการทางาน ในทางปฏิบัติจะแสดงโดยใช้ Data Flow Diagram ตัวอย่าง งานที่ต้องทาในการนิยามความต้องการ (1) ศึกษาเหตุผลในการพัฒนาระบบ (2) สารวจวิเคราะห์การทางานในปัจจุบัน (3) วิเคราะห์ ข้อมูลในการทางาน (4) นิยามวัตถุประสงค์และเป้าหมายที่ชัดเจนของระบบ (5) กาหนดเง่ือนไข ของระบบ เช่น องค์ประกอบ ระดับความน่าเช่ือถือ ประสิทธิภาพ การใช้งาน การบารุงรักษา (6) ประเมินค่าจ่าย ความคุ้มค่าในการพัฒนาระบบ (7) เขียนกาหนดการในการพัฒนาระบบ 2.1.3 การออกแบบภายนอก (External Design) กระบวนการนี้เป็นการออกแบบส่วน ที่ผู้ใช้งาน (ลูกค้า) มองเห็น อาจเรียกว่า การออกแบบภาพรวม สิ่งที่ต้องพิจารณาคือ เม่ือนาระบบ ใหมม่ าใช้ วธิ กี ารทางานใหมค่ วรเปน็ อย่างไร ตอ้ งออกแบบหน้าจอ หรือรายงานทผ่ี ้ใู ช้ ใชง้ าน เป็นการ ออกแบบอนิ พุตเอาทพ์ ตุ (Input-Output) งานที่ตอ้ งทาในการออกแบบภายนอก 1) ออกแบบหนา้ จอ 2) ออกแบบรายงาน 3) ออกแบบอนิ เทอร์เฟต สาหรับเชือ่ มต่อกบั ระบบหรอื อุปกรณ์ข้างเคียง 4) ออกแบบวิธีการทางานใหมห่ ลังนาระบบใหม่มาใช้ 5) ออกแบบลอจกิ ของไฟล์และฐานข้อมลู 6) กาหนดวธิ ีโอนย้ายระบบ วธิ ีข้นึ ระบบใหม่ 7) กาหนดมาตรการเม่อื ระบบเกิดปญั หา

29 2.1.4 ขอ้ ดีข้อเสยี ของการพฒั นาซอฟแวรโ์ ดยใช้ ( Water Fall Model) Water fall model มีการแบ่งกระบวนการเป็น การนิยามความต้องการ การ ออกแบบภายนอก การออกแบบภายใน การเขียนโปรแกรม และการทดสอบ แต่ละกระบวนการถูก ตดั ขาดออกจากกนั ทาให้งา่ ยในการควบคุมความคืบหนา้ ในการพฒั นา พฒั นาระบบไดต้ รงตามเวลาท่ี กาหนด 1) ข้อเสีย ต้องรอให้การออกแบท้ังหมดเสร็จสมบูรณ์ก่อนจึงจะเริ่มเขียน โปรแกรมได้ ต้องจัดทาเอกสารมากทาให้สิน้ เปลืองเวลา ผู้ใช้งานตอ้ งรอให้ระบบงานทง้ั หมดเสร็จก่อน จงึ จะใช้งานได้ไมส่ ามารถนาระบบบางสว่ นมาใช้งานก่อน 2) เคร่ืองมือที่ช่วยในการพัฒนาซอฟแวร์ ในปัจจุบัน มักรวมหลายข้ันตอนเข้า ด้วยกัน จึงไม่เหมาะกับการพัฒนาแบบ water fall model การเลือกโมเดลที่ใช้ในการพัฒนา ต้อง คานงึ ถงึ ขนาดของซอฟแวร์ โครงสร้างของสมาชกิ ในโครงการ ความร้แู ละประสบการณข์ องสมาชิก ในโครงการ ความชัดเจนเก่ียวกับความต้องการ ปริมาณของระบบการทางานและความเร็วในการ เปล่ยี นแปลง ระยะเวลาในการพัฒนาและค่าใช้จา่ ย ผลกระทบจากความลา่ ชา้ ในการพฒั นา และ เคร่ืองมือทใ่ี ชใ้ นการพฒั นา 3) การนาโมเดลมาใช้ในการพัฒนา ก็เพ่ือช่วยให้การพัฒนาเป็นไปอย่างมีระบบ เป้าหมาของการพฒั นา ไม่ใช่ทาตามโมเดลหรอื ทาตามกาหนดการทีก่ าหนดไวแ้ ตแ่ รก ต้อง เขา้ ใจอยา่ ง ถ่องแท้ว่าเป้าหมายในการพัฒนาซอฟแวร์คืออะไร แล้วพยายามสร้างซอฟแวร์ที่มีประสิทธิผลมาก ท่ีสุดภายใต้ทรัพยากรท่ีมีอยู่ จึงต้องยืดหยุ่น สามารถปรับเปล่ียนทุกอย่างได้ตามความจาเป็นในการ ทางานจรงิ จะมโี มเดลท่ใี ช้ประจา ยกเวน้ บางโครงการท่ีมรี ายละเอียดมากหรอื มลี กั ษณะพเิ ศษ อาจนา โมเดลที่เหมาะสมมาใช้ สรุป การพัฒนาซอฟต์แวร์เป็นกลุ่มของกิจกรรม วิธีการ วิธีการปฏิบัติ และการ เปลี่ยนแปลงท่ีใช้ในการพฒั นาและบารุงรักษาซอฟต์แวร์ ตลอดจนผลติ ภณั ฑท์ ่ีเกี่ยวเนื่องกระบวนการ ซอฟต์แวร์ประกอบด้วย คน วิธีการ และ เคร่ืองมือ มีกิจกรรมพ้ืนฐานทั้งหมด 4 กิจกรรม ที่ใช้ กับกระบวนการผลิตซอฟต์แวร์ได้แก่ (1) การกาหนดคุณสมบัติของซอฟแวร์ (Software Specification) (2) การออกแบบและสร้างซอฟต์แวร์ (Software Design and Implementation) (3) การทวนสอบซอฟต์แวร์ (Software Verification) และ (4) การวิวัฒนาการของซอฟต์แวร์ (Software Evolution)

30 เรือ่ งที่ 2.2 การออกแบบและการนาไปใช้ 2.2.1 การออกแบบระบบ เป็นการตัดสินใจว่าระบบจะดาเนินการอย่างไร (How) เพื่อให้ระบบงานบรรลุผลตามท่ีต้องการ สาหรับระยะน้ีจะเก่ียวข้องกับการจัดหาอุปกรณ์ฮาร์ดแวร์ ซอฟแวร์ โครงสร้างเครือข่ายทจี่ ะนามาใช้การปฏสิ ัมพันธ์ระหว่างผู้ใช้กับระบบ รวมถงึ แบบฟอร์มและ รายงานตา่ งๆ ทจ่ี ะตอ้ งใช้ นอกจากนี้ ยงั มีโปรแกรมฐานข้อมูล และแฟ้มข้อมูลที่จาเป็น อยา่ งไรก็ตาม แม้ว่าการตัดสินใจเชิงกลยุทธ์ท่ีเกี่ยวข้องกับระบบมักได้รับการพัฒนาข้ึนแล้วในช่วงขอ งระยะการ วิเคราะห์ก็ตาม แต่เม่ือดาเนินการมาถึงระยะการออกแบบแล้ว จะมุ่งประเด็นในเรื่องของวิธีการ ดาเนินงานระบบ โดยนาแบบจาลองเชิงตรรกะท่ีถูกสร้างข้ึนจากระยะการวิเคราะห์ มาพัฒนาเป็น แบบจาลองเชิงกายภาพ เพ่อื นาไปสรู่ ะบบงานจริงทสี่ ามารถนาไปใช้งานใหเ้ กิดผลไดใ้ นทส่ี ุด ในระยะน้ี กลยทุ ธ์การจดั หาระบบ จะตอ้ งได้รบั การพัฒนาขึ้นมาเป็นอนั ดับแรก เพอ่ื จะได้ ไขความกระจ่างเก่ียวกับแนวทางในการพัฒนาระบบ ว่าจะตัดสินใจพัฒนาเอง หรือจะซื้อโปรแกรม สาเร็จรูปมาใช้ หรือจะว่าจ้างหน่วยงานภายนอกมาพัฒนาระบบให้ ลาดับต่อมาก็จะ ออกแบบ สถาปัตยกรรมของระบบ ที่อธิบายถึงฮาร์ดแวร์ ซอฟแวร์ และโครงสร้างพื้นฐานด้านเครือข่ายที่ถูก นามาใช้งาน ซึ่งโดยส่วนใหญ่แล้ว มักจะเป็นการเพ่ิมเติมหรือปรับปรุงเปลี่ยนแปลงจากโครงสร้าง พ้ืนฐานเดิมท่ีมีอยู่ในขณะที่ การออกแบบอินเตอร์เฟซ จะเก่ียวข้องกับการปฏิสัมพันธ์ระหว่างผู้ใช้กับ ระบบ เช่น การโต้ตอบการใช้งานผ่านเมนู ปุ่มต่างๆบนหน้าจอภาพ รวมถึงแบบฟอร์มและรายงาน ตา่ งๆทจี่ าเป็นตอ่ การใชง้ าน สว่ น การออกแบบฐานข้อมูล จะไดร้ ับการพฒั นาขึน้ เพอ่ื ใหร้ ู้วา่ ระบบต้อง มขี อ้ มูลอะไรบ้างทต่ี ้องจัดเก็บไวใ้ นฐานข้อมูลและลาดบั สุดทา้ ยคือ การออกแบบโปรแกรม เพ่ือนาไปสู่ การเขียนโปรแกรมดว้ ยภาษาคอมพิวเตอรใ์ นระยะการนาไปใชต้ อ่ ไป กิจกรรมในระยะการออกแบบ ได้แก่ จัดหาระบบ ออกแบบฐานข้อมูล ออกแบบ สถาปัตยกรรมของระบบ สรา้ งต้นแบบ ออกแบบเอาต์พุตและยูสเซอร์อินเตอร์เฟซ และ ออกแบบ โปรแกรม ภาพที่ 1.6 การออกแบบ โดยนาแบบจาลองเชงิ ตรรกะที่ได้จากการวิเคราะห์มาออกแบบใหเ้ ป็น แบบจาลองเชงิ กายภาพ เพอื่ นาไปสกู่ ารใชง้ านเพื่อแก้ไขปัญหา

31 2.2.2 การนาไปใช้ (Implementation Phase) กจิ กรรมตา่ ง ๆ ในระยะการนาไปใช้จะ เกย่ี วข้องกบั การสรา้ งระบบ การทดสอบ และการติดต้ังระบบ โดยจุดประสงคห์ ลังคงไมใ่ ช่แคเ่ พยี งการ สร้างระบบให้มีความน่าเชื่อถือและสามารถตอบสนองฟังก์ชันการทางานทางธุรกิจตามหน่วยงาน ต่างๆได้อย่างสมบูรณ์เท่าน้ัน แต่จะต้องมั่นว่าผู้ใช้ระบบทุกคนจะได้รับการฝึกอบรมเพื่อเตรียมความ พร้อมในการใช้งานระบบใหม่เพื่อขับเคลื่อนธุรกิจให้เป็นไปตามท่ีคาดหวัง โดยกิจกรรมก่อนๆ ที่ ดาเนนิ การมาแล้วนั้น จะถกู นามารวมเขา้ ด้วยกันเพื่อนาไปสู่การปฏบิ ตั ิงานจรงิ ในทส่ี ดุ ภาพที่ 1.7 การนาไปใช้เกย่ี วข้องกับงานเขยี นโปรแกรม การทดสอบและการตดิ ตงั้ ใชง้ าน การสร้างระบบ ถือเป็นขั้นตอนแรกของระยะนี้ สาหรับระบบท่ีสร้างข้ึนจะได้รับการ ทดลองเพ่ือให้เกิดความม่ันใจว่า สามารถตอบโจทย์ตรงตามที่ออกแบบไว้หรือไม่ นอกจากน้ียังมี กจิ กรรม การแปลงข้อมูล ซง่ึ ถอื เปน็ หนึง่ ในกจิ กรรมทีส่ าคัญไม่น้อยเลยทเี ดียวดว้ ยการแปลงข้อมูลจาก ระบบเก่ามาสู่ระบบใหม่ คร้ันเม่ือระบบได้รับ การติดตั้ง (Installation) เพ่ือใช้ทดแทนระบบเดิมก็ จะต้องตัดสินใจอีกคร้ังว่า จะใช้วิธีการปรับเปลี่ยนระบบวิธีใด เช่น จะปรับเปล่ียนด้วยการนาระบบ ใหม่มาใช้ทดแทนระบบเดิมโดยทันที หรือจะเลือกวิธีการปรับ เปล่ียนแบบคู่ขนาน ท่ียังคงรัน ระบบงานเดิมควบคู่ไปกับระบบใหม่ไปสักระยะหน่ึง จนม่ันใจว่าระบบใหม่มีความน่าเช่ือถือแล้วจึง ยกเลิกระบบงานเดิมเพื่อหันมาใช้ระบบงานใหม่ท้ังระบบ แม้ว่าวิธีน้ีจะมีความปลอดภัยสูงกว่า แต่ก็ ตอ้ งแลกกบั การใช้ทรพั ยากรท่มี ากข้นึ เป็นสองเทา่ เพอื่ รองรับทั้งระบบงานเดิมกับระบบงานใหม่ สรุป การออกแบบซอฟต์แวร์เป็นการนาข้อกาหนดความตอ้ งการมากาหนดรายละเอียด โครงสร้างภายในของ มีเป้าหมายคอื การสรา้ งแบบรา่ งของระบบ หรือการนาเสนอระบบในแต่ละด้าน ให้มีคุณสมบัติที่ดี ได้แก่ Firmness และ Delight ทั้งหมดคือ \"คุณภาพ\" ท่ีได้จากงานออกแบบ สรปุ กจิ กรรมได้แก่ สรา้ งส่วนประกอบของซอฟแวร์ ตรวจสอบความถูกตอ้ งของโปรแกรมและทดสอบ ระบบ แปลงข้อมูล ติดตั้งระบบ จัดทาเอกสารระบบ ฝึกอบรมและสนับสนุนผู้ใช้ และ ทบทวน และประเมินผลระบบภายหลงั การติดตัง้

32 เรอื่ งที่ 2.3 การทดสอบ (Testing) 2.3.1 การทดสอบระบบจะเป็นการตรวจสอบความถูกต้องของระบบงานท่ีถูกสร้าง ข้นึ มาว่าตรง ตามกับความต้องการจรงิ ๆ หรือไม่ การ Test จะมดี ้วยกันหลายระดับกล่าวคือ 1) การทดสอบในระดับ Module หรอื Unit test เป็นการทดสอบการทางาน โดยแยกเปน็ สว่ นย่อย ๆ ในแต่ละ module 2) การทดสอบ Integrate test จะนาเอา module ย่อย ๆ มาทาการ ทดสอบการทางานเป็นกระบวนการร่วมกัน 3) System test การทดสอบโดยนาเอาโปรแกรมย่อยมาทดสอบการทางาน ร่วมกันท้งั ระบบ 4) Acceptance test เปน็ การทดสอบขั้นสุดท้าย โดย user (มี 2 ระดับ Alfa testing using simulated data, Beta testing using real data) 5) การตดิ ต้ัง (Deployment) Direct installation, Pararell Installation, Single location installation, Phased installation 6) การบารุงรกั ษา (Maintenance) Obtain Maintenance Request, Transforming Request into Change, Designing Change, Implementing Change 2.3.2 การทดสอบระบบ (Software Testing) การทดสอบโปรแกรมเป็นขั้นตอนท่ี สาคัญขน้ั ตอนหน่ึงหลังจากทโี่ ปรแกรมเมอร์ได้เขียนโปรแกรมเสร็จสนิ้ แล้ว จะต้องทดสอบว่าโปรแกรม นั้นให้ผลลัพธ์ที่ถูกต้องหรือไม่ เมื่อพบข้อผิดพลาดจะได้ทาการแก้ไขและป้องกันข้อผิดพลาดท่ีจะ เกิดขึ้นต่อไป ท้ังนี้เพื่อเป็นการทดสอบความสมบูรณ์ของโปรแกรม รวมทั้งความน่า เช่ือถือและความ ถูกต้องของผลลัพธ์จากโปรแกรมที่พัฒนาข้ึน ซึ่งเทคนิคในการทดสอบโปรแกรมน้ันมีหลาก หลายวิธี ในทน่ี ้จี ะขอแบ่งออกเป็น 2 กลุม่ ดังนี้ 1) การทดสอบโดยไมใ่ ช้เครื่องคอมพวิ เตอร์ (Manual Testing) (1) การทดสอบแบบตรวจการณ์ (Inspection) (2) การทดสอบตามลาดบั คาสั่งในโปรแกรม (Desk Checking) 2) การทดสอบด้วยเคร่อื งคอมพิวเตอร์ (Automated Testing) (1) การทดสอบด้วยการตรวจสอบไวยากรณ์ (Syntax Checking) (2) การทดสอบทีละโมดลู (Unit Testing) (3) การทดสอบแบบเพิ่มโมดลู (Integration Testing) (4) การทดสอบด้วยโมดูลตัวแทน(Stub Testing) (5) การทดสอบรวม (System Testing) 3) การทดสอบโดยไม่ใชเ้ ครือ่ งคอมพิวเตอร์ (Manual Testing) เป็นการทดสอบ โปรแกรมโดยการตรวจสอบจากโปรแกรมเมอร์เอง ไม่มีการใช้เคร่ืองคอมพิวเตอร์เพ่ือทดสอบโดย อัตโนมัติซึ่งการทดสอบแบบโดยไม่ใช้เครื่องคอมพิวเตอร์ แบ่งได้เป็น 2 ชนิด คือ การทดสอบแบบ ตรวจการณ์ (Inspection) และการทดสอบตามลาดับคาสง่ั ในโปรแกรม (Desk Checking) (1) การทดสอบแบบตรวจการณ์ (Inspection) : เป็นเทคนิคการทดสอบ โปรแกรมโดยโปรแกรมเมอร์ ตรวจสอบเอง ด้วยการเปรียบเทียบโค้ดของโปรแกรมท่ีเขียนข้ึนกับ รายการ Error ที่โปรแกรมเมอร์ทราบแล้วว่าจะต้องเกิดขึ้นจากโปรแกรมภาษาท่ีใช้ในการพัฒนา

33 โปรแกรม โดยการตรวจสอบว่าโค้ดท่ีเขียนนั้นมี Error เกิดขึ้นตามรายการหรือไม่ เช่น Error ท่ี สามารถเกิดขึ้นได้ในภาษา COBOL ซึ่งจะมีรายการ Error ในคู่มือ ดังน้ันสามารถนาคู่มือนั้นมาทา การเปรยี บเทยี บกับโปรแกรมท่ีพัฒนาขึน้ ได้ เทคนิคชนดิ น้ีใช้ในการป้องกันการเกิดข้อผิดพลาดในรูป แบบเดิมไม่ให้เกิดข้ึนซ้าอีกคร้ัง โดยในบางกรณีโปรแกรมเมอร์สามารถทดสอบโปรแกรมแบบตรวจ การณ์ในขณะเขียนโปรแกรมได้ จะทาให้ลดเวลาในการทดสอบโปรแกรมชนิดนี้ได้ภายหลัง แต่การ ทดสอบชนิดนี้ไม่ได้ทาให้โปรแกรมเมอร์ทราบว่าได้ว่ามีผลลัพธ์ท่ีถูกต้องหรือไม่ เนื่องจากไม่ได้ ทดสอบการทางานของโปรแกรม เปน็ เพยี งการทดสอบความผดิ พลาดของโคด้ เทา่ นัน้ (2) การทดสอบตามลาดบั คาสัง่ ในโปรแกรม (Desk Checking) : เทคนิคการ ทดสอบโปรแกรมชนิดน้ี กระทาโดยผู้ท่ีได้รับการแต่งตั้งให้เป็นผู้ทดสอบโปรแกรมซ่ึงอาจจะเป็น โปรแกรมเมอร์หรือไม่ก็ได้ แต่จะต้องมีความเข้าใจในการทางานทางตรรกะของโปรแกรม ด้วยการ ตรวจสอบโค้ดของโปรแกรมตามลาดับคาส่ังในโปรแกรม ว่ามีตรรกะท่ีผิดปกติหรือไม่ แต่วิธีการน้ีจะ ทาใหเ้ สยี เวลาในการทดสอบโปรแกรมคอ่ น ขา้ งมากถ้าระบบงานท่มี คี วามซบั ซ้อนสงู 4) การทดสอบด้วยเคร่ืองคอมพิวเตอร์ (Automated Testing) เป็นการทดสอบ โปรแกรมด้วยเครื่องคอมพิวเตอร์ ซ่ึงจะทาให้เสียเวลาในการทดสอบ แบ่งได้เป็น 4 ชนิด ได้แก่ การ ทดสอบดว้ ยการตรวจสอบไวยากรณ์ (Syntax Checking) การทดสอบทีละโมดูล (Unit Testing) การ ทดสอบแบบเพิ่มโมดูล (Integration Testing) การทดสอบด้วยโมดูลตัวแทน (Stub Testing) และ การทดสอบรวม (System Testing) (1) การทดสอบด้วยการตรวจสอบไวยากรณ์ (Syntax Checking) : เป็นการ ทดสอบโปรแกรม ด้วยการตรวจสอบไวยากรณ์ (Syntax) ท่ีเขียนข้ึน โดยปกติแล้วจะได้รับการ ตรวจสอบด้วย Compiler ซึ่งจะใช้เวลาไม่นานสามารถทราบผลได้ แต่วิธีการนี้ไม่ทาให้ทราบได้ว่า ผลลัพธ์จากการทางานของโปรแกรมนั้นจะถูกต้องหรือไม่ เนื่องจากเป็นทดสอบเพียงไวยากรณ์ของ โปรแกรมเทา่ น้นั (2) การทดสอบทลี ะโมดูล (Unit Testing) : Unit Testing หรอื บางคร้ังเรียก อีกอย่างว่า Module Testing เป็นการทดสอบโปรแกรมทีละโมดูล เพื่อหาข้อผิดพลาดที่จะเกิดข้ึน ภายในการทางานของแตล่ ะโมดลู (3) การทดสอบแบบเพิ่มโมดูล (Integration Testing) : เปน็ การทดสอบ โปรแกรมโดยการเพ่ิมจานวนโมดลู เพื่อการทดสอบ ซง่ึ วิธกี ารนีจ้ ะอาศัย Structure Chart ทีม่ ีอยู่แล้ว ช่วยในการทดสอบโปรแกรม ซึ่งวิธีการในการทดสอบแบบ Integration นี้แบ่งออกเป็น 2 ลักษณะ ได้แก่ การทดสอบแบบเพ่ิมโมดูลจากบนลงล่าง (Top-down Approach) และการทดสอบแบบเพิ่ม โมดลู จากลา่ งข้ึนบน (Bottom-up Approach) ก. การทดสอบแบบเพ่ิมโมดูลจากบนลงล่าง (Top- down Approach) : เป็นการทดสอบโปรแกรม โดยทดสอบโมดลู จากบนลงล่าง ข. การทดสอบแบบเพิ่มโมดลู จากล่างขึน้ บน (Bottom-up Approach) : เป็นการทดสอบโปรแกรม โดยทดสอบโมดลู จากล่างขน้ึ บน

34 5) การทดสอบด้วยโมดลู ตัวแทน (Stub Testing) : โดยท่ัวไปแล้ว โมดลู ท่อี ยู่ใน ระดับบนจะเรียกใช้ข้อมูลจากโมดูลระดับล่าง แต่การทดสอบโปรแกรมแบบเพ่ิมโมดูล (Integration) น้ันจะทดสอบโมดูลทีละระดับ ฉะนั้น Stub Testing คือ กลุ่มคาสั่งส้ันๆ ท่ีเขียนข้ึนมาเพ่ือเป็นโมดูล ตัวแทนในการทดสอบโปรแกรม 6) การทดสอบรวม (System Testing) : เป็นการทดสอบโปรแกรมทม่ี วี ธิ ีการ คล้ายกับการทดสอบแบบ Integration แตกต่างกันตรงที่ Integration Testing จะทดสอบโดยใช้ โมดูลเพ่ิมไปเร่ือยๆ จนกระทั่งครบทุกโมดูลของโปรแกรม แต่ System Testing จะทดสอบจาก โปรแกรมเพ่ิมไปเร่ือยๆ จนกระทั่งครบทุกโปรแกรมของระบบงาน ว่าโปรแกรมทุกโปรแกรมเม่ือ ทางานร่วมกนั แลว้ จะใหผ้ ลลพั ธท์ ี่ถูกตอ้ งหรอื ไม่ นอก จากนี้แล้ว System Testing ยังเป็นการทดสอบ ระบบงานว่า สามารถทางานใหผ้ ลลพั ธ์ที่มปี ระสิทธิภาพเป็นทีย่ อมรับหรือไม่ และเพือ่ ทาให้มัน่ ใจได้ว่า ระบบงานนน้ั สามารถตอบสนองความต้องการของผใู้ ช้ไดอ้ ย่างตรงจุดมากท่ีสดุ 2.3.3 กลยุทธใ์ นการทดสอบระบบทดสอบประสิทธภิ าพในการทางานของระบบ สามารถ จาแนกเป็น การทดสอบการทางานสูงสุด (Peak Load Testing) การทดสอบประสิทธิภาพของเวลา (Performance Testing) การทดสอบการกู้ระบบ (Recovery Testing) การทดสอบการเก็บข้อมูล (Storage Testing) การทดสอบกระบวนการ (Procedure Testing) และการทดสอบผู้ใช้ (User Testing) 1) การทดสอบการทางานสูงสดุ (Peak Load Testing) เปน็ การทดสอบ ประสิทธิภาพในการประมวล ผลของระบบ เมื่อมีการทารายการมากท่ีสุด ณ ช่วงเวลาใดเวลาหน่ึง เพื่อทดสอบว่าระบบจะสามารถรองรับการทารายการคาส่ังมากที่สุดได้เพียงใด และนานเท่าใดเม่ือ ต้องประมวลผลจานวนรายการคาส่ังท่ีมากท่ีสุดดังกล่าวในช่วงเวลาหน่ึงเช่น ระบบลงทะเบียน นักศึกษาผ่านทางอินเตอรเ์ นต็ สามารถรองรับการทารายการของนกั ศึกษาได้สูงสุด 1000 รายการตอ่ วัน ในการทดสอบสมมติให้มีการทารายการ 1200 รายการต่อวัน ในช่วงภาคการศึกษาฤดูร้อน การ ทดสอบลักษณะน้ีจะทาให้ทราบได้ว่าระบบสามารถรองรับการทารายการมากกว่าขีดสูงสุดท่ีกาหนด ได้หรือไม่ และได้นานเพียงใด มีปัญหาอะไรเกิดข้ึนบ้าง เป็นการปรับปรุงระบบหากมีการเพิ่มจานวน ระเบยี นขอ้ มูลในฐานข้อมูลในอนาคต 2) การทดสอบประสิทธิภาพของเวลา (Performance Testing) เปน็ การทดสอบ ระบบ เพื่อพิจารณา ถึงช่วงเวลาท่ีใชใ้ นการประมวลผลรายการ ว่าใช้ระยะเวลานานเพียงใดในการทา รายการไมว่ า่ จะเป็นการประมวลผลแบบกลุ่ม (Batch Processing) หรือการประมวลผลแบบออนไลน์ (On-line Processing) รวมท้ังทดสอบช่วงเวลาท่ีใช้ในการเข้าถึงข้อมูลแบบลาดับ (Sequential Access) และแบบสมุ่ (Random Access) ด้วย 3) การทดสอบการกู้ระบบ (Recovery Testing) : เปน็ การทดสอบวามสามารถ ในการกรู้ ะบบกรณีทีร่ ะบบลม้ ความสามารถในการกู้ระบบน้รี วมท้งั การกู้ขอ้ มลู ดว้ ย 4) การทดสอบการเกบ็ ขอ้ มูล (Storage Testing) : เป็นการทดสอบความสามารถ ของระบบในการเก็บข้อมูล ว่าสามารถเก็บข้อมูลได้สูงสุดเป็นจานวนเท่าใด เพ่ือจะได้เตรียมการ รองรับจานวนข้อมูลทอ่ี าจจะเพ่ิมมากขึ้นในอนาคต

35 5) การทดสอบกระบวนการ (Procedure Testing) : เปน็ การทดสอบการจดั ทา เอกสารคู่มือการดาเนินงานของระบบ และคู่มือการใช้งานสาหรับผู้ใช้ ว่าสามารถสร้างความเข้าใจ ให้กับผู้ใช้ได้มากนอ้ ยเพียงใด และเม่ือเกิดปัญหาในเบ้ืองต้นข้ึน ผู้ใช้สามารถอ่านคู่มือเพ่ือแก้ไขปญั หา นน้ั ได้หรือไม่ 6) การทดสอบผใู้ ช้ (User Testing) : หรอื บางครั้งเรยี กว่า Human Factors Testing เปน็ การทดสอบการใช้งานจริงของระบบเพอื่ ตอ้ งการทราบวา่ ผ้ใู ชจ้ ะทาอยา่ งไรเม่ือพบปัญหา ทเ่ี กิดขน้ึ นอกจากการทดสอบดังกลา่ วข้างต้นทั้งหมดแล้ว ยังจะตอ้ งมีการทดสอบการยอมรับของผู้ใช้ ทม่ี ตี อ่ ระบบใหม่ จึงจะถือวา่ ระบบนน้ั ไดผ้ ่านการทดสอบอยา่ งครบถว้ นแล้ว 2.3.4 การทดสอบการยอมรับของระบบโดยผู้ใช้ หลังจากที่ได้ทดสอบความสมบูรณ์และ ความถูกต้องของโปรแกรมแล้ว ยังจะต้องทาการทดสอบการยอมรับของระบบจากผใู้ ชท้ ่ีมีต่อระบบอีก ด้วย ซึ่งเป็นการทดสอบท่ีสาคัญเทียบเท่ากับการทดสอบโปรแกรม เน่ืองจากการพัฒนาระบบน้ันเพื่อ ตอบสนองความต้องการในการดาเนนิ งานของผู้ใช้ระบบ ดังน้ันระบบงานใหม่ จะสามารถติดตั้งได้ตอ้ ง ผ่านการยอมรับจากผู้ใช้ โดยวิธีการทดสอบการยอมรับของระบบนั้นสามารถแบ่งออกเป็น 2 ประเภท คือ Alpha Testing และ Beta Testing 1) Alpha Testing: คือ การทดสอบความสมบูรณ์ของระบบโดยผู้ใช้ และใช้ ข้อมูลสมมติในการทดสอบ ในการทดสอบประเภทน้ี จะสมมติให้ระบบอยู่ในสถานการณ์ท่ีอาจจะ เกิดขึ้นได้จาก Alpha Testing นี้จะทาให้ทราบได้ว่าระบบมีข้อผิดพลาดอะไรเกิดข้ึนบ้าง โดยการ ทดสอบจะมี 4 ประเภทคอื (1) Recovery Testing : เป็นการทดสอบการกรู้ ะบบ หากเกดิ กรณที ีร่ ะบบ ล้มเพอื่ ทดสอบว่าระบบมีประสทิ ธิภาพในการกู้ข้อมลู และดาเนินระบบต่อไปไดน้ า่ พอใจหรือไม่ (2) Security Testing : เปน็ การทดสอบความปลอดภยั ของระบบ ว่ามี เครื่องมือรักษาความปลอดภัยท่ีมีประสิทธิภาพเป็นที่น่าพึงพอใจหรือไม่จากสถานการณ์การลักลอบ เรียกใช้ข้อมลู (3) Stress Testing : เป็นการทดสอบประสทิ ธิภาพการทางานของระบบ ภายใตค้ วามกดดัน (4) เช่นจะเกดิ อะไรข้นึ เมือ่ ผู้ใช้ป้อนขอ้ มลู ไมค่ รบทุกField หรือจะเกิดอะไร ขน้ึ เมื่อมีการเข้าถึงข้อมูลในเวลาเดียวกันจากผ้ใู ช้หลายคน เป็นต้น (5) Performance Testing : เปน็ การทดสอบประสทิ ธิภาพการทางานของ ระบบภายใต้สภาพแวดล้อมของคอมพิวเตอร์ เช่นภายใต้ระบบปฏิบัติการคอมพิวเตอร์ที่แตกต่างกัน ภายใต้ระบบเครือข่ายคอมพิวเตอร์ท่ีแตกต่างกันว่าระบบมี Response time มากน้อยเพียงใด ทั้งน้ี ข้อมูลท่ีใช้ในการทดสอบแบบ Alpha Testing เป็นข้อมูลที่สมมติขึ้น แต่จะมีอีกประเภทหน่ึงท่ีใช้ ขอ้ มลู จริงจากการดาเนนิ งานในชวี ติ ประจาวันในการทดสอบ นนั่ คอื Beta Testing 2) Beta Testing: คือ การทดสอบความสมบูรณ์ของระบบโดยผู้ใช้ และใช้ข้อมูล จริงในการทดสอบและภายใตส้ ถานการณ์ที่เกิดขึน้ จรงิ การทดสอบประเภทนี้ถือวา่ เป็นการซ้อมติดต้ัง ระบบเพื่อใช้งานจริง เนื่องจากเป็นการทดสอบระบบอย่างสมจริงไม่ว่าจะเป็นสถานการณ์ ข้อมูล

36 ขั้นตอนการดาเนินงาน เอกสารคู่มือ การฝึกอบรม การสนับสนุนการทางาน รวมท้ังยังเป็นการ แกป้ ญั หาท่ีพบจากการทดสอบแบบ Alpha Testing ดว้ ย สรุป การทดสอบเป็นกระบวนการทดลองใช้ซอฟต์แวร์อย่างมีแนวทาง โดยใช้ความรู้ ทางด้านเทคนิคเพื่อให้สามารถระบุหรือค้นหาความผิดพลาด (error) ของซอฟต์แวร์ที่อาจจะซ่อนอยู่ ให้ปรากฏออกมา และสามารถระบุถึงแนวทางการเกิดปัญหา พร้อมสมมุติฐานของความผิดพลาดท่ี เกิดข้ึนได้ การทดสอบซอฟต์แวร์ (testing) เป็นกระบวนการเพื่อช่วยให้ซอฟต์แวร์ท่ีพัฒนามีความ ถูกต้อง ความสมบูรณ์ ปลอดภัย และ มคี ุณภาพทด่ี ี

37 เรือ่ งท่ี 2.4 การตดิ ตง้ั ระบบและบารงุ รกั ษา 2.4.1 การติดต้ังระบบ (Installation) เม่ือทดสอบโปรแกรมและระบบ จนผู้ใช้ยอมรับ แล้ว ระบบงานท่ีได้รับการพัฒนาพร้อมที่จะนามาใช้งานจริง ด้วยการติดต้ัง (Installation) การติดต้ัง ระบบ คือ การเปลี่ยนการทางานจากระบบงานเดิมไปเป็นระบบงานใหม่ แต่การเปลี่ยนแปลงไปสู่สิ่ง ใหม่ย่อมมีผลกระทบต่อผู้ใช้งานบางกลุ่ม ท่ียังคงมีความคุ้นเคยกับวิธีการดาเนินงานแบบเก่า รวมท้ัง ข้อจากัดในเรื่องของความพร้อมในการเปล่ียนแปลง ดังนั้นจึงควรเลือกแนวทางที่เหมาะสมในการ ตดิ ตง้ั ด้วย ซ่ึงแบง่ ออกเปน็ 4 แนวทาง ดงั น้ี 1) การติดตงั้ ระบบทนั ทีทันใด (Direct Installation) 2) การตดิ ต้ังแบบขนาน (Parallel Installation) 4) การตดิ ตั้งแบบนาร่อง (Single Location Installation/Pilot Installation) 5) การตดิ ตัง้ แบบยอมติดตัง้ เปน็ ระยะ (Phased Installation) 2.4.2 การติดตั้งระบบทันทีทันใด (Direct Installation) เป็นวิธีการติดต้ังที่มีการใช้ ระบบงานใหม่ทันที และระบบงานเก่ายกเลิกการใช้งานทันทีเช่นเดียวกัน วิธีการแบบนี้องค์กรเสีย ค่าใช้จ่ายน้อยแต่มีความเสี่ยงสูง เน่ืองจากในการใช้งานจริงน้นั ข้อมูลท่ีนาเข้าสู่ระบบมีความเป็นไปได้ ในการเกิดข้อผิดพลาดข้ึนได้มากกว่าข้อมูลท่ีสมมติข้ึนเพ่ือการทดสอบ และหากเกิดกรณีเช่นนี้จะ ส่งผลกระทบต่อผู้ใช้ระบบ จนทาให้ระบบหยุดชะงักได้ วิธีการแก้ปัญหาอย่างหน่ึงคือนาระบบเก่าเขา้ มาใชง้ านอีกคร้ัง แต่จะเสียเวลามาก เนอื่ งจากต้องปรับปรงุ ข้อมูลในระบบเก่าท้งั หมด แตก่ ารติดต้ังวิธี นี้ยังมีข้อดีคือ สามารถเล่ือนกาหนดการใช้งานระบบใหม่ออกไปได้หากองค์กรหรือผู้ใช้งานยังไม่มี ความพร้อมสาหรบั ระบบใหม่ อย่างไรก็ตามระบบท่ีพรอ้ มจะติดตั้งเพื่อใชง้ าน จะต้องผ่านการทดสอบ อย่างหนักในทุกสถานการณ์ และผ่านการแก้ไขข้อผิดพลาดที่เกิดข้ึนจากการทดสอบมาแล้วอย่าง ครบถ้วน 2.4.3 การติดตั้งแบบขนาน (Parallel Installation) เป็นวิธีการที่มีการใช้ระบบงาน ใหม่ไปพรอ้ ม ๆ กบั การใชร้ ะบบงานเก่า จนกวา่ ผู้ใช้และผู้บรหิ ารจะพอใจ ระบบใหมแ่ ละตัดสินใจที่จะ หยุดใช้ระบบเก่า การติดตั้งแบบขนาน เป็นวิธีการติดต้ังท่ีต้องใช้ค่าใช้จ่ายค่อนข้างสูง เน่ืองจากการ ดาเนินงานสองระบบในเวลาเดียวกันหมายถึงการเพิ่มพนักงานบางตาแหน่งเพ่ือดูแลระบบใหม่ ทั้งยัง ต้องคอยดูแล บารุงรักษาระบบให้มีความสมบูรณ์และมีประสิทธิภาพมากท่ีสุด ในบางครั้งอาจทาให้ ผู้ใช้ระบบเกิดความสับสนได้ แต่วิธีการน้ีจะทาให้สามารถเปรียบเทียบผลของการดาเนินงานระหว่าง ระบบใหม่กบั ระบบเกา่ ได้ 2.4.4 การตดิ ตั้งแบบนาร่อง (Single Location Installation/Pilot Installation) เป็นวิธีการที่มีการใช้ระบบงานใหม่เพียงหน่วยเดียวขององค์กรก่อนเพื่อเป็นการนาร่อง แล้วจึงค่อยปรับเปลี่ยนท้ังหมดเม่ือเห็นว่าระบบใหม่นั้นลงตัวแล้ว เช่น การใช้ระบบงานใหม่เฉพาะ แผนกจัดซ้ือแผนกเดียวกัน การใช้ระบบงานใหม่เฉพาะสาขาเดียวก่อน หรือเฉพาะบางภูมิภาคก่อน เป็นต้น ข้อดีของวิธีการนี้คือ เสียค่าใช้จ่ายน้อยกว่าสองวิธีแรก และเมื่อเกิดข้อผิดพลาดหรือความ เสียหายเนอ่ื งจากระบบงานใหม่ ความเสียหายน้นั จะจากัดอยู่เพียงแค่สถานที่ขององค์กรที่จัดให้มีการ ติดตั้งระบบใหม่แบบนาร่องเท่าน้ัน หรือจากัดอยู่เพียงสาขาเดียว ไม่ทาให้การดาเนินธุรกิจของทั้ง องค์กรเสียหายไปด้วย ท้ังยังสามารถติดตามผล และดูแลระบบใหม่ได้อย่างเต็มที่ เพ่ือปรับปรุงและ

38 แก้ไขให้เป็นระบบที่สมบูรณ์ก่อนที่จะนาไปปรับเปล่ียนกับส่วนท่ีเหลือขององค์กร อย่างไรก็ตาม ทีม นักพัฒนาหรือนักวิเคราะห์ระบบ ยังคงต้องมีการดูแลรักษาระบบใหม่ไปพร้อม ๆ กับท่ีให้ความสนใจ กบั ระบบเก่าทย่ี ังคงใช้งานอยูส่ ่วนใหญ่ซงึ่ คล้ายกับวธิ ีการอื่น หากแต่ความสับสนท่เี กดิ ข้ึนน้ันนอ้ ยกว่า 2.4.5 การติดต้ังแบบทยอยติดตั้งเป็นระยะ (Phased Installation) เรียกอีกอย่างหนึ่ง ว่า “Staged Installation” เป็นวิธีการที่มีการใชร้ ะบบงานใหม่เพียงบางส่วนก่อนระยะหน่ึงควบคู่ไป กับระบบงานเก่า แล้วจึงค่อย ๆ ทยอยใช้ระบบงานใหม่เพ่ิมข้ึนทีละส่วนจนกระทั่งครบทุกส่วนของ ระบบงานใหม่อย่างเต็มรูปแบบในที่สุด วิธีการนี้มีลักษณะคล้ายกับแบบนาร่อง คือเร่ิมจากจุดเดียว ก่อน แตกตา่ งกันตรงที่วธิ แี บบทยอยตดิ ตั้งเป็นระยะ ไม่คานึงถงึ สถานที่ แตค่ านงึ ถึงระบบงานย่อยโดย การติดตัง้ ทีละระบบ ซง่ึ อาจจะกระจายไปตามสาขาต่างๆ ท่มี ีการใชร้ ะบบงานย่อยน้นั เมื่อระบบย่อยท่ี ใช้เริ่มแรกสมบูรณ์แล้ว จึงเริ่มนาระบบย่อยต่อไปมาใช้งาน เป็นเช่นน้ีไปเร่ือย ๆ จนครบทั้งระบบใน ทสี่ ุด ข้อดี : ของวิธีการนี้คือ สามารถจากัดความเส่ียงท่ีเกิดข้ึนได้ เนื่องจากการ ปรับเปลี่ยนเป็นช่วงระยะ เวลาและบางสถานที่ความเส่ียงหรือข้อผิดพลาดจึงเกิดขึ้นในช่วงท่ีมีการ เปลยี่ นแปลงและสถานท่ีที่ใช้ระบบงานใหมเ่ ทา่ นนั้ ข้อเสีย : ความไม่สอดคล้องของการดาเนินงานในระบบใหม่และระบบเก่า เนื่องจากมีการนาระบบ งานย่อยของระบบใหม่ เข้ามาใช้ร่วมกับระบบเก่า เช่น หากมีการนาระบบ การส่ังซื้อซ่ึงเป็นระบบใหม่ เข้ามาใช้งานก่อนอาจจะเกิดปัญหาในการติดต่อระหว่างฐานข้อมูลของ ระบบใหมก่ บั ฐานขอ้ มูลของระบบเกา่ ได้ 2.4.6 การวางแผนการติดตั้งระบบ (Planning Installation) การติดต้ังระบบงานใหม่ หมายถึง การเปลี่ยนแปลงที่จะเกิดข้ึนกับการดาเนินงานในชีวิตประจาวันของผู้ใช้ระบบ ซึ่งมี ความคุ้นเคยกับระบบเก่ามานาน การเปล่ียน แปลงนั้นยังรวมถึงวิธีการดาเนินงาน การเปลี่ยนแปลง รูปแบบเอกสาร รูปแบบการนาเข้าข้อมูลการเปล่ียนแปลงโปรแกรม หรือแม้กระทั่งการเปล่ียนแปลง รูปแบบของข้อมูลบางอย่างท่ีจะต้องนาเข้าสู่ระบบซึ่งนับได้ว่าเป็นขั้นตอนท่ีสาคัญข้ันตอนหน่ึง ดังนั้น ก่อนการติดต้ังระบบ นักวิเคราะห์จึงจาเป็นต้องมีการวางแผนเพื่อเลือกวิธีการติดตั้งอย่างรอบคอบ และระมดั ระวังมากท่สี ุด เพ่ือปอ้ งกันไม่ให้เกิดการต่อต้านระบบใหมจ่ ากผู้ใช้ ซง่ึ อาจจะเกดิ ขน้ึ ได้อย่าง ฉับพลันในระหว่างใช้ระบบใหม่ ทาให้เกิดความเสียหายแก่องค์กรในท่ีสุด โดยการเลือกวิธีการในการ ติดตั้งให้เหมาะสมกับองค์กร ซึ่งอาจจะมีการผสมผสานวิธีการติดต้ังได้มากกว่า 2 วิธี ขึ้นอยู่กับ สถานการณ์และความพร้อมขององค์กร ผนวกกับปัจจัยด้านบุคลากร ความคล่องตัว ความกล้าที่จะ เสี่ยงกับความสับสนที่จะเกิดขึ้นกับลูกค้า นักวิเคราะห์ระบบควรมีการตั้งคาถามเพื่อการตัดสินใจ เลือกใช้วิธีการติดตั้งระบบใหม่ และเมื่อเลือกวิธีการได้แล้ว ควรจัดทาตารางการติดต้ังระบบใหม่ ประชาสัมพันธ์ให้ทุกคนในองค์กรรับทราบถึงตารางการติดตั้งระบบนั้น เพ่ือการเตรียมพร้อมในการ เตรียมงานของทุกฝ่าย รวมทั้งวางแผนเพ่ือจัดเตรียมทีมงานสาหรับดูแลระบบใหม่อย่างชัดเจนเพ่ือ รองรับปัญหาที่จะเกิดข้ึนได้อย่างทันท่วงที สิ่งที่สาคัญของการวางแผนในการติดต้ังระบบใหม่สาหรับ การดาเนินธุรกิจ คือ ไม่ควรวางแผนให้มีการติดต้ังระบบใหม่ในช่วงเวลาท่ีทาเงินให้ธุรกิจได้มากที่สุด ของปี เนือ่ งจากหากมกี ารตดิ ต้ังระบบใหม่ในช่วงน้ัน ซึ่งแนน่ อนว่า ระบบใหมน่ ั้นย่อมจะเกิดปัญหาข้ึน ในระหว่างการดาเนินงาน และส่งผลให้สร้างความไม่พอใจแก่ลูกค้าในท่ีสุด ดังน้ันไม่ว่าจะเป็นวิธีการ

39 ติดตั้งระบบแบบใดก็ตาม นักวิเคราะห์ระบบควรมีความเข้าใจเกี่ยวกับการดาเนินธุรกิจเป็นอย่างดี เพอ่ื ใหก้ ารตดิ ตง้ั ระบบนัน้ ส่งผลกระทบตอ่ ผลประโยชน์ในการดาเนนิ ธุรกิจขององคก์ ร 2.4.7 การจัดทาเอกสาร (Documentation) ในระหว่างการพัฒนาระบบงานใหม่นั้น จะเกิดเอกสารแสดงรายละเอียดของระบบงานมากมาย ไม่ว่าจะเป็นเอกสารท่ีเกิดจากข้ันตอนการ วิเคราะหร์ ะบบ หรือออกแบบระบบก็ตาม เมอ่ื มาถึงข้ันตอนการติดต้ังระบบแล้ว ชดุ เอกสารเหล่าน้ัน จะต้องทาการปรับปรุงให้เป็นเอกสารที่แสดงรายละเอียดของระบบใหม่ท่ีถูกต้องมากท่ีสดุ นอกจากน้ี ในขั้นตอนการติดต้ังนักวิเคราะห์ระบบยังจะต้องจัดทาเอกสารคู่มือสาหรับผู้ใช้ เพ่ือแสดงรายละเอยี ด ขั้นตอนการทางาน ภาพรวมของระบบใหม่ทั้งหมด เพ่ือใช้อ้างอิงในระหว่างการใช้งานระบบใหม่ สามารถจาแนกการจัดทาเอกสารออกเป็น 2 ประเภท การจัดทาเอกสารของระบบ (System Documentation) และ การจัดทาเอกสารของผู้ใช้ (User Documentation) ดังนี้ 1) การจดั ทาเอกสารของระบบ (System Documentation) เอกสารของระบบ คือ เอกสารที่แสดงข้ันตอนการทางานภายในของระบบ และรายละเอียดข้อมูลเฉพาะของการ ออกแบบระบบ เช่น แบบจาลองชนิดต่างๆ ท่ีใช้เป็นเคร่ืองมือในระหว่างการวิเคราะห์ระบบ (Diagrams) พจนานุกรมข้อมูล (Data Dictionary) แบบร่างสาหรบั การออกแบบแบบฟอร์ม รายงาน หน้าจอ และต้นแบบ เป็นต้น ซ่ึงสามารถจาแนกเอกสารของระบบนี้ออกเป็น 2 กลุ่ม ได้แก่ เอกสาร ภายใน (Internal Documentation) และเอกสารภายนอก (External Documentation) (1) เอกสารภายใน (Internal Documentation) : คือเอกสารของระบบที่ แสดงรายละเอียดส่วนของโค้ดโปรแกรมที่เขียนขึ้น พร้อมทั้งคาอธิบายโปรแกรม ผลการรันโปรแกรม และอืน่ ๆทเ่ี ก่ยี วข้องกับโปรแกรมระบบ (2) เอกสารภายนอก (External Documentation) : คือเอกสารที่เป็น แผนภาพ และแบบจาลองชนิดต่างๆของระบบ เช่นแผนภาพกระแสข้อมูล (Data Flow Diagram: DFD) แผนภาพแสดงความสัมพันธ์ของข้อมูล (Entity Relationship Diagram :E-R diagram) แผนผงั โครงสรา้ ง (Structure Chart) เป็นตน้ 2) การจัดทาเอกสารของผู้ใช้ (User Documentation) เอกสารของผู้ใช้ คือ เอกสารที่จัดทาขึ้นเพ่ือแสดงขั้นตอนการใชง้ านระบบ และวิธีการใช้งานโปรแกรม เอกสารสาหรับผใู้ ช้ ยังรวมถึงคู่มือการใช้งาน (User’s Guide) คู่มือสาหรับบริหารระบบ (System -Administration’s Guide) ซ่ึงคู่มือเหล่านี้อาจจะอยู่ในรูปของเอกสารเป็นเล่ม และแสดงไว้ในส่วนช่วยเหลือ (Help) ภายในโปรแกรมก็ได้ แต่การจัดรูปแบบของการอธิบายรายละเอียดการใช้งานโปรแกรม จะต้องมี รปู แบบทน่ี ่าสนใจ อา่ นเขา้ ใจงา่ ย ค้นหาง่าย แสดงหวั ข้อชดั เจน รวมทง้ั แสดงถงึ ปญั หาทีอ่ าจจะเกิดขึ้น เน่ืองจากการใช้งานและวิธีแก้ปัญหา โดยการจัดรูปแบบจะมีหลักเกณฑ์คล้ายกับการออกแบบส่วน ชว่ ยเหลือของโปรแกรมในขน้ั ตอนการออกแบบระบบน่นั เอง 2.4.8 การฝึกอบรมพนักงาน (Training) ปัจจุบันน้ีองค์กรต่างๆ ได้เล็งเห็นถึง ความสาคัญของการฝึกอบรมพนักงานของตนมากขึ้น สังเกตได้จากการขยายตัวของกิจการสถาบัน อบรมหลักสูตรคอมพวิ เตอร์ ท้งั น้ีอาจจะเน่ืองมาจากความคิดเหน็ ท่ีว่า ระบบทีพ่ ัฒนามาอย่างสมบูรณ์ แล้วจะยงั ไมส่ ามารถก่อให้เกดิ ประสิทธิภาพให้กับองค์กรได้อย่างเต็มที่ หากขาดความเข้าใจและทักษะ ในการใช้งานระบบเป็นอย่างดีของผู้ใช้ระบบ กรณีที่ระบบงานน้ันเป็นระบบใหม่ท้ังหมด การอาศัย

40 ความเข้าใจจากคู่มือการใช้งานโปรแกรมเพียงอย่างเดียว อาจจะยังไม่เพียงพอ แต่ยังจะต้องสร้าง ทักษะเร่ิมต้นในการดาเนินงานให้แก่ผู้ใช้งานอีกด้วย ดังน้ันองค์กรและนักวิเคราะห์ระบบจึงต้อง ร่วมมือกัน จัดหลักสูตรฝึกอบรมการใช้งานโปรแกรม ซ่ึงมีวิธีการและเทคนิคแตกต่างกันไปแต่ละ องค์กร ขึ้นอยู่กับสภาพ แวดล้อมและสถานการณ์ในขณะนั้นองค์กร และปัจจัยสาคัญที่ส่งผลกระทบ ต่อการจัดหลักสูตรฝึกอบรมให้แก่พนักงานนั่นก็คือ “ค่าใช้จ่าย” ดังน้ันรูปแบบในการฝึกอบรม พนกั งานจงึ มแี ตกต่างกนั ไป ซ่งึ อาจจะมีการจัดฝกึ อบรมในลกั ษณะตา่ ง ๆ ดังนี้ 1) จัดเปน็ หลักสูตรฝึกอบรมเป็นกลมุ่ 2) ฝึกอบรมดว้ ยคอมพิวเตอร์ช่วยสอนเชน่ CAI (Computer-aided Instruction), CBI (Computer-base Training) หรอื WBT(Web - Base Training) 3) ฝกึ อบรมด้วย CAI พร้อมกับมผี ู้เชี่ยวชาญคอยแนะนา 4) ผใู้ ชฝ้ กึ อบรมดว้ ยตัวเองจากส่วนช่วยเหลอื ของโปรแกรม 5) ฝึกอบรมโดยผู้จาหนา่ ยโปรแกรมของระบบ หรือกลมุ่ ผรู้ ับพัฒนาระบบ ภายนอกองค์กร 6) ฝึกอบรมผ่านทางอินเตอรเ์ น็ตกรณที ี่องค์กรมสี าขาอยู่ตา่ งจังหวัด และ ต้องการลดค่าใชจ้ า่ ยในการเดินทาง การจัดหลักสูตรฝึกอบรมพนักงาน จะต้องได้รับการวางแผนเป็นอย่างดี โดยจะต้อง ทราบถึงกลมุ่ พนักงานเป้าหมายทจี่ ะจดั ฝึกอบรม หน้าทีก่ ารทางานของกลมุ่ เป้าหมายนัน้ จัดหัวขอ้ การ ฝึกอบรม จัดตั้งวัตถุประสงค์ของหลักสูตรท่ีพนักงานจะต้องได้รับหลังจากจบหลักสูตรแล้ว การ ประเมนิ ผลหลังการฝึกอบรม 2.4.9 การบริการให้ความช่วยเหลือหลังการติดต้ังระบบ (Support) การบริการให้ ความช่วยเหลือหลังการติดต้ังระบบ คือ การจัดเตรียมความช่วยเหลือเพ่ือการแก้ปัญหาที่เกิดข้ึนกับ ผใู้ ช้หลังจากติดตั้งและใช้งานระบบใหม่ การใหก้ ารสนบั สนุนแก่ผู้ใชภ้ ายหลังจากการใชร้ ะบบงานใหม่ สาหรับองค์กรอาจจะมีการแต่งตั้งทีมงานเพ่ือคอยให้ความช่วยเหลือ ซ่ึงอาจจะมีการจาแนกหน้าที่ใน การชว่ ยเหลอื ไดห้ ลายลกั ษณะ เชน่ ชว่ ยเหลือเมอ่ื มีการติดต้ังโปรแกรมใหมห่ รือฮาร์ดแวร์ใหม่ คอยให้ คาปรึกษาและความช่วยเหลือแก่ผูใ้ ช้งานเม่ือเกิดปัญหาในเบื้องต้น แบ่งแยกข้อมูลจากฐานข้อมูลไปสู่ เครอื่ งคอมพิวเตอร์ของผใู้ ช้งาน เปน็ ต้น 2.4.10 การให้ความช่วยเหลือแบบอัตโนมัติ (Automating Support) สาหรับองค์กร ท่ีมีขนาดเล็ก การจัดต้ังทีมงานเพ่ือคอยให้ความช่วยเหลือเมื่อเกิดปัญหาขึ้นนน้ั จะทาให้เสียค่าใช้จ่าย ในส่วนของค่าตอบแทนแรงงานส่วนน้ัน การลดค่าใช้จ่ายในส่วนน้ัน องค์กรอาจ จะใช้วิธีการให้การ ช่วยเหลอื แบบอัตโนมัติ ดว้ ยเทคโนโลยกี ารตดิ ตอ่ สื่อสารทท่ี ันสมยั ในปจั จุบนั เชน่ 1) On-line Support Forum ผู้ใช้สามารถตั้งกระทู้ไว้เพื่อแนะนาเทคนิคการ ใช้งานให้กับผู้ใช้คนอื่นได้ทราบ หรือสามารถเปิดประเด็นต้ังคาถามได้โดยผ่านเครือข่ายอินเตอร์เน็ต หรือกรณที ่ีเปน็ องค์กรขนาดเล็กจะสามารถทาไดโ้ ดยผา่ นเครอื ข่ายอนิ ทราเนต็ 2) Bulletin Board กระดานฝากขอ้ ความหรือขา่ วสาร กรณเี ช่นนที้ างองค์กร เองสามารถให้ความรู้หรือข่าวสารแก่ผู้ใช้งานได้โดยฝากเป็นข้อความไว้ท่ีกระดานฝากข้อความนี้ได้ อตั โนมตั ิ

41 3) Voice-response System ระบบเสยี งตอบรับอตั โนมตั ิ ผู้ใช้ระบบสามารถ เรียกไปยังหมายเลขท่ีทางองค์กรกาหนดไว้ โดยระบบเสียงตอบรับอัตโนมัติจะมีเมนูให้เลือกโดยการ กดปุ่มโทรศัพท์ตามหัวข้อท่ีผู้ใช้ต้องการ นอกจากน้ีองค์กรยังสามารถให้การสนับสนุนหลังการติดตั้ง ระบบโดยผา่ นทาง E-mail ไปยงั ผใู้ ช้ระบบทีเ่ ปน็ ลกู คา้ ขององค์กรได้อีกด้วย 2.4.11 Help Desk คือ จุดให้ความชว่ ยเหลอื แก่ผู้ใช้ระบบ ไม่ว่าจะเป็นปัญหาด้านใดก็ ตามท่ีเกิดข้ึนจากการดาเนนิ งานของระบบในปจั จุบนั จะสามารถพบกับ Help Desk ได้มากมายซ่ึงจะ มีชื่อเรียกแตกต่างกันไป และองค์กรเหล่านี้ส่วนใหญ่จะเป็นองค์กรที่มีผูใ้ ชร้ ะบบเป็นลูกค้า ซ่ึงจะเรียก Help Desk ขององค์กรแตกต่างกันไป เช่น Call Center, Customer Service, Web call center, Customer Care เป็นต้น องค์กรท่จี ัดให้มี Help Desk จะตอ้ งจัดฝกึ อบรมให้กบั ทีมงานทจ่ี ะมาทาหน้าท่ี ในส่วนน้ีเป็นอย่างดี ทีมงานนั้นจะต้องมีความรู้และเข้าใจเกี่ยวกับการดาเนินงานของระบบ และมี ทักษะในการตอบคาถามที่ผใู้ ช้ระบบซกั ถาม พร้อมท้งั สามารถยอมรับฟังปญั หาต่างๆ ทีเ่ กิดขึ้นได้อย่าง เต็มใจ การยอมรับระบบใหม่ของผู้ใช้ นับว่ามีอิทธิพลมากต่อการเปลี่ยนแปลงการดาเนินงานจาก ระบบเดิมมาเป็นระบบใหม่ เพื่อป้องกันไม่ให้เกิดความล้มเหลวในการใช้งานระบบใหม่ จะต้อง ตระหนักถึงว่าระบบที่พัฒนาขึ้นมาแม้ว่าจะสมบูรณ์ที่สุดแล้วก็ตาม ไม่อาจเป็นระบบท่ีดีท่ีสุดได้ หาก ผู้ใช้ไม่ยอมรับระบบน้ัน และการสร้างการยอมรับจะต้องสร้างความ คุ้นเคยให้แก่ผู้ใช้งานได้เห็นว่า การเปลี่ยนแปลงลักษณะการทางานมาเป็นระบบใหม่นั้นไม่ใช่เร่ืองยากหรือซับซ้อน และไม่ใช่เรื่อง ของการลดบทบาทการทางานของผู้ใช้ แต่ช่วยให้ผู้ใช้ทางานได้ดียิ่งขึ้นอันเป็นการเพิ่มพูน ประสทิ ธภิ าพให้กบั องค์กรและนาประโยชน์สูงสดุ ให้เกดิ กบั องค์กรได้ 2.4.12 การบารุงรักษา (Maintenance) โดยปกติแล้วระยะการบารุงรักษา จะไม่ถูก นาเขา้ ไปรวมไวใ้ นขน้ั ตอนของ SDLC จนกว่าระบบได้รบั การตดิ ตั้งเพื่อใช้งานแลว้ เท่าน้นั ระยะนจ้ี ะใช้ เวลายาวนานที่สุดเมื่อเทียบกับระยะอื่นๆท่ีผ่านมา เน่ืองจากระบบจะต้องได้รับการบารุงรักษาตลอด ระยะเวลาท่ีมีการใช้งานสาหรับส่ิงท่ีคาดหวังขององค์กรก็คือ ระบบจะต้องสามารถใช้งานได้ยาวนาน หลายปี และรองรับเทคโนโลยีใหม่ๆ ในอนาคตได้ ดังนั้น ในช่วงระยะของการบารุงรักษา จึงสามารถ เพิ่มเติมคุณสมบัติใหม่ๆให้กับระบบเพื่อเพ่ิมประสิทธิภาพในการทางาน ซ่ึงคุณสมบัติใหม่ๆเหล่าน้ี อาจมาจากความต้องการของผู้ใช้เอง เช่น ผู้ใช้เพ่ิงค้นพบข้อผิดพลาดจากระบบ ซึ่งจะต้องรีบแก้ไขให้ ถูกต้อง รวมถึงการร้องขอให้เขียนโมดูลโปรแกรมใหม่ๆ เพ่ิมเติมเพื่อสนับสนุนกระบวนการทางธุรกิจ ใหม่ๆ นอกจากนี้ แรงกดดันทีม่ าจากสภาพแวดล้อมและเทคโนโลยี ก็จดั เปน็ สิ่งหนงึ่ ทท่ี าให้องคก์ รต้อง หันมาปรับปรงุ ระบบใหส้ ามารถรองรบั คุณสมบตั ใิ หม่ๆมากขึ้น เพือ่ สรา้ งความได้เปรียบในเชิงแข่งขนั 1) บทสรปุ เก่ยี วกับกจิ กรรมในระยะการบารุงรกั ษา (1) บารงุ รักษาระบบ (2) เพ่ิมเตมิ คณุ สมบัตใิ หม่ๆให้กับระบบ (3) สนับสนุนงานผู้ใช้ จากระยะต่างๆตามแบบแผนของ SDLC ตามท่ีได้ กล่าวมาในข้างต้น จะพบว่ามีการใช้คาว่า “ระยะ” และ “กิจกรรม” อยู่บ่อย ๆ ดังนั้น เพื่อให้เกิด ความเขา้ ใจตรงกัน จึงสมควรทาความเขา้ ใจกบั ความหมายของคาเหลา่ น้ี

42 (4) ระยะ (Phase) คอื กลุ่มของกิจกรรมท่ีเกีย่ วข้องกนั (5) กิจกรรม (Activity) คือกลุ่มของงานทีเ่ กย่ี วขอ้ งกัน (6) งาน (Task) คอื ชน้ิ งานทเี่ ล็กทส่ี ุดทตี่ ้องได้รบั การปฏบิ ตั ิ 2) ตวั อย่างเช่น ในระยะท่ี 1 ซ่ึงเป็นระยะการวางแผนโครงการ จะประกอบไป ดว้ ยกจิ กรรมต่าง ๆ เช่น การกาหนดปญั หา การศกึ ษาความเป็นไปได้ ดงั นน้ั ชนิ้ งานตา่ ง ๆ ในกจิ กรรม เหล่านี้ จงึ ประกอบไปด้วย ระยะท่ี 1 : การวางแผนโครงการ (1) กจิ กรรมการกาหนดปัญหา (2) งานเขา้ พบผูใ้ ชง้ านในระดับต่าง ๆ (3) งานกาหนดขอบเขตปัญหา (4) งานจดั ทาเอกสารแสดงขอบเขตของระบบ (5) กจิ กรรมการศกึ ษาความเปน็ ไปได้ ก. งานศึกษาความเป็นไปได้ทางเทคนิค ข. งานศึกษาความเป็นไปได้ทางเศรษฐศาสตร์ ค. งานศึกษาความเปน็ ไปได้ทางด้านการปฏบิ ตั ิงาน ง. งานศกึ ษาความเปน็ ไปได้ทางดา้ นเวลา 2.4.13 ความซื่อสตั ย์และจรรยาบรรณในวิชาชพี (Personal Integrity and Ethics) ด้วยการหน้าท่ีของนักวิเคราะห์และออกแบบพัฒนาระบบท่ีต้องเข้าไปศึกษาถึง ปัญหาต่าง ๆ ภายในองค์กรนี้เอง จึงทาให้รู้ข้อมูลจากส่วนงานต่าง ๆ ขององค์กรเป็นจานวนมาก โดยเฉพาะข้อมูลข่าวสารบางอย่างค่อนข้างเป็นส่วนตัวและเป็นความลับ ไม่ว่าจะเป็นเร่ืองเงินเดือน สุขภาพของพนักงานหรือผลการประเมินพนักงานซึ่งนักวิเคราะห์ระบบจะต้องเก็บรักษาไว้เป็น ความลับตามจรรยาบรรณในวิชาชีพ นอกจากนี้ นักวิเคราะห์ระบบยังต้องทางานร่วมกับทีมบริหาร ทาให้ล่วงรู้ถงึ ขอ้ มูลในตัวผลิตภัณฑท์ เี่ กี่ยวขอ้ งกับการวางแผนผลติ ภัณฑ์ การกาหนดแผนกลยุทธ์ แผน ยุทธวิธี แม้กระท่ังข้อมูลลับที่เกี่ยวข้องกับข้อสัญญากับทางภาครัฐ ส่ิงเหล่านี้ นักวิเคราะห์ระบบ จะต้องรักษามาตรฐานไว้เป็นความลับ ไม่เผยแพร่ให้แก่ผู้ใด ไม่ว่าตนจะเป็นนักวิเคราะห์ระบบท่ีเป็น พนักงานขององคก์ ร หรอื เป็นนกั วเิ คราะห์ระบบทีถ่ ูกวา่ จา้ งเป็นทป่ี รกึ ษากต็ าม สรุป การตดิ ตงั้ ระบบ (Installation) หลังจากทดสอบโปรแกรมและระบบจนผูใ้ ช้ยอมรับ แล้ว พร้อมที่จะนามาใช้งานจริงด้วยการติดต้ัง (Installation) ซ่ึงแบ่งออกเป็น 4 แนวทาง ดังนี้ (1) การติดตั้งระบบทันทีทันใด (2) การติดตั้งแบบขนาน (3) การติดต้ังแบบนาร่องและ (4) การ ติดตั้งแบบยอมติดต้งั เป็น โดยมีกิจกรรมในระยะการบารุงรักษา (1) บารุงรักษาระบบ (2) เพิ่มเติม คุณสมบตั ิใหม่ ๆ ให้กับระบบ (3) สนับสนุนงานผู้ใช้ จากระยะตา่ ง ๆ ตามแบบแผนของ SDLC (4) ระยะ (Phase) คือกลุ่มของกิจกรรมท่ีเกี่ยวข้องกัน (5) กิจกรรม (Activity) คือกลุ่มของงานท่ี เก่ียวข้องกัน และ (6) งาน (Task) คือช้ินงานท่ีเล็กท่ีสุดท่ีต้องได้รับการปฏบิ ัติ จบเนอ้ื หาใบความรู้หน่วยการเรยี นรู้ท่ี 1