Upload
prang558
View
151
Download
0
Embed Size (px)
DESCRIPTION
การประกันคุณภาพซอฟต์แวร์
Citation preview
บทความวชิาการ
การประกันคุณภาพซอฟตแวร : กุญแจสําคัญของความสําเรจ็ อรยา ปรีชาพานิช
อาจารยประจํา ภาควิชาคณิตศาสตร คณะวิทยาศาสตร มหาวิทยาลัยทักษิณ
1. บทนํา
ปจจุบันการประกันคณุภาพ (Quality Assurance) ไดเขามามีบทบาทในการทํางานทกุสาขาอาชีพ โดยแตละองคกรจะกาํหนดนโยบายและแนวทางการประกันคุณภาพอยางเปนรูปธรรม ทั้งนี้เพื่อใหเกิดความเชื่อมั่นวาผลิตภัณฑหรือบริการ ซ่ึงเปนผลผลิตขององคกรจะเปนไปตามมาตรฐานที่กําหนดไว สําหรับการพัฒนาซอฟตแวรก็เชนเดยีวกนั เปาหมายหลักคือ เพื่อใหไดซอฟตแวรที่มีประสิทธิภาพ และสามารถตอบสนองความตองการใชงานของผูใชไดอยางแทจริง ดังนั้นจึงกลาวไดวา “การประกันคณุภาพซอฟตแวร” (Software Quality Assurance : SQA) เปนกระบวนการสําคัญในการสรางหลักประกันและความนาเชื่อถือของซอฟตแวรใหเกิดขึ้นแกลูกคาและผูใชงาน
การประกันคณุภาพซอฟตแวรควรเริ่มตนดําเนินการในระยะของการจัดตั้งโครงการ ซ่ึงในขั้นตอนนี้จะเปนการทบทวนแผนการดําเนินงานโครงการพัฒนาซอฟตแวร (Software Develop- ment Plan) มาตรฐาน และกระบวนการตางๆ ที่กําหนดใชงานในโครงการ เพื่อใหแนใจวาโครงการจะสามารถดําเนินการไดตามระยะเวลา ครอบคลุมวัตถุประสงค และขอบเขตของการพัฒนาโปรแกรม รวมไปถึงความสอดคลองของโครงการตอนโยบายขององคกรนั้นๆ อีกดวย
เมื่อโครงการเริ่มเขาสูวงจรของการพัฒนาซอฟตแวรซ่ึงประกอบดวย การกําหนดความตองการใชงานระบบ การวเิคราะหและออกแบบระบบ การพัฒนาและทดสอบระบบ การติดตั้งใชงาน และการบํารุงรักษาระบบ ตามลําดบัแลว ทีมงานประกันคณุภาพซอฟตแวรจะทําการทบทวน (Review) กิจกรรมที่เกิดขึ้น และตรวจสอบ (Audit) ผลผลิตที่ไดในแตละกระบวนการวาเปนไปตามแผนการดําเนนิงานโครงการ มาตรฐาน และกระบวนการตางๆ ที่กําหนดไวเมือ่เร่ิมตนโครงการหรือไม ซ่ึงกระบวนการดังกลาวจะถูกดําเนินการอยางสม่ําเสมอเปนระยะๆ ไปจนกระทั่งสิ้นสุดโครงการ
การประกันคุณภาพซอฟตแวร วารสารวิทยาศาสตรทักษิณ ปที่ 2 ฉบับที่ 2 : กุญแจสําคัญของความสําเร็จ กรกฎาคม-ธันวาคม 2548
11
2. เปาหมายของการประกันคุณภาพซอฟตแวร จากที่ไดกลาวมาแลวขางตน จะเห็นไดวาเปาหมายของการประกันคุณภาพซอฟตแวร แบง
ไดเปน 2 ประเด็นหลักคือ
2.1 ประสิทธิภาพของซอฟตแวร ประกอบดวย • ความครบถวน สมบูรณ ของซอฟตแวร
• ความสอดคลองกันของการทํางานในภาพรวมของระบบ
• ความถูกตอง แมนยํา และเทีย่งตรง
• ความนาเชื่อถือของระบบ
• ความสามารถในการใชงานระบบไดอยางมีประสิทธิผล • ความสามารถในการเขาถึงสวนตางๆ ของระบบ • ความยืดหยุนในการเพิ่มเติมและปรับแตงสวนตางๆ ของระบบ
• ความพรอมของทรัพยากรทีม่ี และที่จําเปนภายในระบบ
• ขอบเขตในการจัดเก็บขอมูลที่เปนสวนนําเขา (Input) และการแสดงผลลัพธ (Output) ของระบบ
• ความสั้นกระชับ และไมนําเสนอในสวนทีไ่มมีความจําเปน
• ความเปนอิสระของระบบโดยไมขึ้นกับเครื่องคอมพิวเตอรที่จะใชงาน
• ประสิทธิภาพการทํางานของระบบที่ไมกอใหเกดิการสิน้เปลืองทรัพยากรโดยไมจําเปน
• ระบบสามารถทํางานตรงตามเปาหมาย โดยไมทําใหส้ินเปลืองพลังงานและเวลาของผูใช รวมทั้งไมทําใหผูใชเกดิความรูสึกในแงลบ
• ความสามารถในการมองเหน็องคประกอบของระบบงานไดอยางชดัเจน ไมคลุมเครือ
• ความสะดวกในการบํารุงรักษาระบบ
วารสารวิทยาศาสตรทักษิณ ปที่ 2 ฉบับที่ 2 การประกันคุณภาพซอฟตแวร กรกฎาคม-ธันวาคม 2548 : กุญแจสําคัญของความสําเร็จ 12
• ความสามารถในการนําระบบงานไปประยกุตใชในสภาพแวดลอมที่ตางไปจากเดิม
• ความคงทนของระบบ ตอความผิดพลาดที่เกิดขึ้นระหวางการใชงาน
• ผูใชสามารถเขาใจความสัมพนัธของสวนประกอบตางๆ ของระบบ เชน การนําเขาขอมูล การประมวลผล และการแสดงผลลัพธ เปนตน รวมทั้งสวนที่เปนขอจํากัดตางๆ ในการใชงานระบบ
• การมีโครงสรางของระบบที่ชัดเจน
• ฯลฯ
2.2 ความสอดคลองกับความตองการใชงาน นั่นคือซอฟตแวรที่ทําการพัฒนาขึ้นจะตอง
สามารถอางอิงกลับไปยังเอกสารขอกําหนดความตองการใชงานซอฟตแวร(Software Requirement Specification) ที่ไดจัดทําขึ้นในกระบวนการวิเคราะหความตองการใชงานระบบ รวมทั้งขอกําหนดในสัญญาวาจางพฒันาซอฟตแวรไดอยางครบถวน สมบูรณ
3. ปจจัยท่ีนําไปสูผลสัมฤทธิ์
การดําเนินงานดานการประกันคุณภาพซอฟตแวรใหบรรลุตามเปาหมายที่ไดกําหนดไว จะประกอบไปดวยหลายปจจัยหลักดังนี้คือ
3.1 การจัดตั้งทีมงานประกันคณุภาพซอฟตแวร และกําหนดกิจกรรมของการประกันคุณภาพซอฟตแวรอยางชัดเจนตั้งแตเร่ิมตนโครงการ
ทีมงานประกนัคุณภาพซอฟตแวรทีจ่ัดตัง้ขึ้น จะประกอบดวยคณะทาํงานมากนอยแคไหนขึน้อยูกับขนาดของซอฟตแวรที่จะทําการพัฒนา รวมทั้งลักษณะและวัฒนธรรมขององคกร โดยการคัดเลือกทีมงานจะตองพิจารณาใหเหมาะสมและครอบคลุมกิจกรรมทั้งหมดที่เกดิขึ้นในโครงการ หลักการสําคัญของการจัดตั้งทีมงานประกันคณุภาพซอฟตแวรคือ ทีมงานจะตองมีอิสระในการปฏิบัติงาน เพื่อใหสามารถดําเนินงานดานการประกันคณุภาพไดอยางมีประสิทธิภาพ และสามารถสรุปผลการดําเนนิงานโครงการไดอยางถูกตองและเปนไปตามขอเท็จจริงมากที่สุด ดังนัน้ทีมงานประกนัคุณภาพซอฟตแวร
การประกันคุณภาพซอฟตแวร วารสารวิทยาศาสตรทักษิณ ปที่ 2 ฉบับที่ 2 : กุญแจสําคัญของความสําเร็จ กรกฎาคม-ธันวาคม 2548
13
จึงจําเปนอยางยิ่งที่จะตองเปนเจาหนาที่คนละทีมกับทีมงานที่ดําเนนิการพัฒนาซอฟต- แวร
ในบางองคกรจะใหผูบริหารโครงการ (Senior Management) ของโครงการหนึ่งไปเปนหวัหนาทีมงานประกนัคุณภาพซอฟตแวรของอีกโครงการหนึ่งก็ได เนื่องจากผูบริหารจะมีความเปนผูนํา และมีความสามารถในการสื่อสารกับผูบังคับบัญชาและผูใตบังคับบัญชาไดอยางมีประสิทธิภาพ รวมทั้งเปนผูที่เขาใจในมาตรฐานและขัน้ตอนการดําเนินงานของโครงการเปนอยางดี เนื่องจากมาตรฐานและขั้นตอนตาง ๆ มักจะเปน ไปตามกรอบนโยบายในภาพรวมขององคกรที่กําหนดไวชัดเจนอยูแลว
ทั้งนี้ทีมงานประกันคณุภาพซอฟตแวรจะตองไดรับการฝกอบรมเพื่อเสริมสรางทักษะในการดาํเนินงาน รวมทั้งการจัดสรรทรัพยากรที่เพยีงพอตอการดาํเนินงานอกีดวย
3.2 การตรวจสอบกระบวนการทาํงานในโครงการและองคประกอบของซอฟตแวรที่พฒันา ขึ้นจะตองเปนไปตามมาตรฐานที่กําหนด และสอดคลองกับความตองการใชงานของผูใชซ่ึงระบุไวในเอกสารขอกําหนดความตองการใชงานซอฟตแวรและสัญญาวาจางพัฒนาซอฟตแวร
3.3 กิจกรรมของการประกนัคุณภาพซอฟตแวร และผลการดําเนินงาน จะตองมีการแจงใหผูที่เกี่ยวของทราบตลอดระยะเวลาการดําเนนิงานโครงการ
นอกจากนี้แลวบุคลากรทุกคนในโครงการ ซ่ึงจะตองเกี่ยวของกบักระบวนการประกันคณุภาพซอฟตแวร มากนอยแลวแตหนาที่ความรับผิดชอบของแตละคน จะตองเขาใจในบทบาทหนาที่ความรับผิดชอบ และผลลัพธที่จะเกิดขึน้เมื่อมกีารประกันคณุภาพซอฟตแวรเพื่อใหการดําเนินงานเปนไปอยางราบรื่นและไดรับความรวมมืออยางเต็มที่
3.4 ปญหาและอุปสรรคที่เกิดขึ้นในโครงการ จะตองรายงานตอผูบริหารโครงการ เพื่อการตัดสินใจและการสั่งการอยางทันทวงท ี
โดยทั่วไปแลวทีมงานประกนัคุณภาพซอฟตแวร จะมชีองทางการรายงานผลการทํางานที่ขึ้นตรงตอผูบริหารโครงการ เพื่อปองกันความเอนเอียง (Bias) ที่อาจเกิดขึน้ในกระบวนการวเิคราะห/ประเมินคุณภาพซอฟตแวรจากที่ควรจะเปน ดังนั้นผูบริหารโครงการจะตองทบทวนผลการวิเคราะห/ประเมินคุณภาพซอฟตแวรอยางสม่ําเสมอ เพื่อ
วารสารวิทยาศาสตรทักษิณ ปที่ 2 ฉบับที่ 2 การประกันคุณภาพซอฟตแวร กรกฎาคม-ธันวาคม 2548 : กุญแจสําคัญของความสําเร็จ 14
กําหนดแนวทางการปรับปรุงแกไขปญหา อุปสรรค และขอผิดพลาดที่เกิดขึน้ ทั้งในระยะเรงดวนและในระยะยาวตอไป
4. กระบวนการประกันคุณภาพซอฟตแวร
การดําเนินการประกันคณุภาพซอฟตแวรจะตองอาศัยความรวมมือของทีมงานที่ดําเนนิการพัฒนาซอฟตแวร ทีมงานประกันคณุภาพซอฟตแวร และผูบริหารโครงการเปนหลัก โดยประกอบไปดวยกระบวนการหลักดังตอไปนี้คือ
4.1 จัดทําแผนการดําเนินงานประกันคณุภาพซอฟตแวร (Software Quality Assurance Plan) ตั้งแตระยะเริ่มตนโครงการ โดยจะตองกําหนดใหมีกิจกรรมและชวงเวลาในการทํากิจกรรมตาง ๆ ใหสอดคลองกับแผนการดําเนินงานโครงการ ตั้งแตเร่ิมตนโครงการไปจนกระทั่งจบโครงการ
4.2 กําหนดบทบาทและอํานาจหนาที่ความรับผิดชอบ ของทีมงานประกันคุณภาพซอฟตแวร โดยอางอิงจากแผนการดําเนนิงานประกนัคุณภาพซอฟตแวร
4.3 ใหคําปรึกษา และทบทวนแผนการดําเนินงานโครงการ มาตรฐาน และกระบวนการ พัฒนาที่ไดกําหนดขึ้นใชงานในโครงการ เพื่อใหแนใจวาสอดคลองกับนโยบายขององค กร และขอบเขตของการพัฒนาซอฟตแวร ซ่ึงการดําเนินงานตอไปของทีมงานประกันคุณภาพซอฟตแวรจะตองยดึถือแผนการดําเนินงานโครงการ มาตรฐานและกระบวนการ พัฒนาที่ไดกําหนดขึ้นใชงานในโครงการที่ผานการทบทวนในขั้นตอนนี้เปนหลักในการดําเนินงาน
4.4 ทบทวนกระบวนการทํางานในโครงการ ตามแผนการดาํเนินงานประกันคุณภาพซอฟต แวรที่กําหนดไวตั้งแตเร่ิมตนโครงการ ซ่ึงจะตองมีการทําบันทึกสรุปผลการประเมินไวเปนลายลักษณอักษร ประกอบดวย 2 ประเด็นหลักคอื กิจกรรมที่เปนไปตามแผนการดําเนินงานที่วางไว และกิจกรรมที่ไมบรรลุตามแผนการดําเนินงาน เพือ่ใชในการติดตามผลในระยะตอไป
การประกันคุณภาพซอฟตแวร วารสารวิทยาศาสตรทักษิณ ปที่ 2 ฉบับที่ 2 : กุญแจสําคัญของความสําเร็จ กรกฎาคม-ธันวาคม 2548
15
4.5 ตรวจสอบซอฟตแวร กอนที่จะสงมอบใหผูใชงานระบบ/ลูกคา โดยอางอิงจากขอตกลงหรือสัญญาวาจางวาจะตองสงมอบระบบเปนกี่ระยะ การตรวจสอบจะยดึถือมาตรฐานและกระบวนการพัฒนาที่กาํหนดไว รวมทั้งรายละเอียดในสัญญาวาจางพัฒนาซอฟตแวรดวย ซ่ึงจะตองมีการทําบันทึกสรุปผลการประเมินไวเปนลายลักษณอักษร เชนเดยีวกับขอ 4.4
4.6 สรุปผลการวิเคราะห/ประเมนิคุณภาพซอฟตแวรใหทีมงานพัฒนาซอฟตแวรรับทราบเปนระยะๆ เพื่อนําไปใชในการปรับปรุงกระบวนการทาํงาน และพฒันาซอฟตแวรที่มีประสิทธิภาพมากยิ่งขึ้น
4.7 นําเสนอสรุปผลการวิเคราะห/ประเมินคณุภาพซอฟตแวร ในสวนที่ไมเปนไปตามมาตร- ฐาน และ/หรือไมสอดคลองกับแผนการดําเนินงานโครงการ ใหผูบริหารโครงการที่มีอํานาจในการตัดสินใจรับทราบ นอกจากนัน้แลวทีมงานประกนัคุณภาพซอฟตแวรจะตองติดตามตรวจสอบผลการดําเนินงานในสวนดังกลาวจนกวาปญหา อุปสรรค หรือขอผิดพลาดนัน้ๆ จะไดรับการแกไขใหแลวเสร็จ โดยทําการบันทึกไวเปนลายลักษณอักษร
4.8 ทบทวนผลการดําเนินงานประกันคณุภาพซอฟตแวรที่ผานมา และประสานงานกบัทีม งานประกันคณุภาพซอฟตแวรของผูใชงานระบบ/ผูวาจางอยางสม่ําเสมอเพื่อใหเกิดความ เขาใจที่ตรงกนัและนํามาซึ่งการตรวจรับงานในขั้นตอนการสงมอบซอฟตแวร
5. การติดตามและประเมินผลการดําเนินงานดานการประกันคุณภาพซอฟตแวร จากที่ไดกลาวมาแลวขางตนจะเห็นไดวา การประกันคณุภาพซอฟตแวรจะทําการทบทวน
และตรวจสอบกระบวนการทํางานและผลผลิตที่เกิดขึ้นทุกขั้นตอนอยางสม่ําเสมอตั้งแตเร่ิมตนจน กระทั่งจบโครงการ และนําผลการดําเนินงานนั้นๆ ไปเปนขอมูลในการปรับปรุงประสิทธิภาพการทํางานใหดียิ่งขึ้น ซ่ึงหลักการเดียวกันนี้สามารถนํามาใชในการติดตาม และประเมนิผลการดําเนนิ งานดานการประกันคณุภาพซอฟตแวรของโครงการไดดังนี้คือ
วารสารวิทยาศาสตรทักษิณ ปที่ 2 ฉบับที่ 2 การประกันคุณภาพซอฟตแวร กรกฎาคม-ธันวาคม 2548 : กุญแจสําคัญของความสําเร็จ 16
5.1 การประเมินผลการดําเนินงานโดยการเปรยีบเทียบผลการดําเนินงานทีผ่านมากับแผน การดําเนินงานประกันคณุภาพซอฟตแวรที่ไดกําหนดไวตั้งแตเร่ิมตนโครงการเปนระยะ ๆโดยพิจารณาจากกิจกรรมทีท่ําในปจจุบนัวาสอดคลองกับระยะเวลาทีก่ําหนดไวในแผน หรือไม รวมทั้งผลสัมฤทธ์ิของงาน และทรัพยากรที่ใชไป โดยเปรียบเทียบกับแผนที่กําหนดไว เปนตน
5.2 การทบทวนกจิกรรมการประกันคณุภาพซอฟตแวรโดยผูบริหารโครงการ เพื่อสรุปผลการการดาํเนนิงานโครงการในภาพรวม
5.3 การทบทวนกจิกรรมการประกันคณุภาพซอฟตแวรโดยหัวหนาโครงการอยางสม่ําเสมอ รวมทั้งในกรณีที่เกดิเหตกุารณที่ไมเปนไปตามแผนการดําเนินงานโครงการ ซ่ึงจําเปนจะตองใชผลการประเมินที่ผานมาประกอบการตัดสินใจแกปญหาที่เกดิขึ้น
5.4 การทบทวนกจิกรรมและผลงานของการประกันคณุภาพซอฟตแวร โดยผูเชี่ยวชาญดานการประกันคณุภาพซอฟตแวรจากภายนอกโครงการ ทั้งนี้เพื่อปองกันความเอนเอยีงของผลการประเมินที่อาจเกดิขึ้นจาก 3 วิธีการขางตน และยงัเปนการแลกเปลี่ยนความรูและประสบการณดานการประกนัคุณภาพซอฟตแวรใหแกกันดวย เพื่อนาํไปใชในการพัฒนามาตรฐาน และปรับปรุงกระบวนการทํางานดานการประกันคุณภาพซอฟตแวรขององค- กร ใหครบถวน สมบูรณ และมีประสิทธิภาพมากยิ่งขึ้น
6. สรุป การประกันคณุภาพซอฟตแวรเปนกระบวนการสําคัญในการพัฒนาซอฟตแวรใหมปีระ-
สิทธิภาพ และเปนไปตามมาตรฐานตางๆ ที่ไดกําหนดไว รวมทั้งสามารถตอบสนองความตองการใชงานของผูใชระบบไดอยางครบถวนสมบูรณ เนื่องจากไดมีการทบทวนกจิกรรมการทํางาน และตรวจสอบองคประกอบของซอฟตแวรทีไ่ดอยางสม่ําเสมอทั้งโครงการ ดังนั้นขอผิดพลาดที่เกดิขึ้นจะสามารถตรวจพบและแกไขใหเสร็จสิ้นกอนลงมือพัฒนาซอฟตแวรในสวนตอไป นอกจากนัน้ปญหาและอุปสรรค รวมทั้งขอผิดพลาดตางๆ ท่ีเกิดขึ้นในกระบวนการพัฒนาซอฟตแวร จะตองถูกนํามาวิเคราะหเพื่อพัฒนาและปรับปรุงมาตรฐานที่มีอยูแลวใหดยีิ่งขึ้น ซ่ึงกระบวนการเหลานีจ้ะเปนกลไกสําคญัในการพัฒนาซอฟตแวรทีม่ีประสิทธิภาพและประสิทธิผลอยางแทจริง
การประกันคุณภาพซอฟตแวร วารสารวิทยาศาสตรทักษิณ ปที่ 2 ฉบับที่ 2 : กุญแจสําคัญของความสําเร็จ กรกฎาคม-ธันวาคม 2548
17
เอกสารอางอิง
(1) จรณิต แกวกังวาล. 2540. วิศวกรรมซอฟตแวร : หลักการออกแบบและพัฒนาเชิงวิศวกรรมและองคประกอบมนุษย. ซีเอ็ดยูเคชั่น. กรุงเทพฯ.
(2) Carnegie Mellon University , Software Engineering Institute. 1998. The Capability maturity model : guidelines for improving the software process. Addison-Wesley.
(3) Ian Sommerville. 1998. Software Engineering (Fifth Edition). Addison-Wesley.
(4) Jon Fairlough. 1996. Software Engineering Guides. Printice Hall Europe.