340 likes | 676 Views
290342 Software Development Process. บทที่ 8 คุณภาพซอฟต์แวร์และ ความเชื่อถือได้ของซอฟต์แวร์. อ.ธารารัตน์ พวงสุวรรณ คณะวิทยาศาสตร์และศิลปศาสตร์ มหาวิทยาลัยบูรพา วิทยาเขตสารสนเทศจันทบุรี. เนื้อหา. คุณภาพของซอฟต์แวร์ คุณลักษณะของซอฟต์แวร์คุณภาพ การจัดการคุณภาพของซอฟต์แวร์ ระบบวิกฤติ
E N D
290342 Software Development Process บทที่ 8คุณภาพซอฟต์แวร์และความเชื่อถือได้ของซอฟต์แวร์ อ.ธารารัตน์ พวงสุวรรณ คณะวิทยาศาสตร์และศิลปศาสตร์ มหาวิทยาลัยบูรพา วิทยาเขตสารสนเทศจันทบุรี
เนื้อหา • คุณภาพของซอฟต์แวร์ • คุณลักษณะของซอฟต์แวร์คุณภาพ • การจัดการคุณภาพของซอฟต์แวร์ • ระบบวิกฤติ • การตรวจสอบคุณภาพระบบงาน • เกณฑ์การพิจารณาคุณภาพของซอฟต์แวร์หรือระบบ • ความเชื่อถือได้ของซอฟต์แวร์หรือระบบ • เกณฑ์ประเมินความเชื่อถือได้ของซอฟต์แวร์หรือระบบ
คุณภาพของซอฟแวร์ (Software Quality) คุณภาพของซอฟแวร์ (Software Quality) หมายถึง ระดับที่ผลิตภัณฑ์ซอฟแวร์สามารถตอบสนองความต้องการของผู้ใช้ซอฟแวร์ได้ โดยจะต้องมีคุณลักษณะที่ซอฟแวร์ใดๆ ควรจะมี หากซอฟแวร์มีคุณสมบัติครบถ้วนตามเงื่อนไข ก็จะเรียกว่าเป็น “ซอฟแวร์ที่มีคุณภาพ”
คุณลักษณะของซอฟแวร์คุณภาพคุณลักษณะของซอฟแวร์คุณภาพ คุณลักษณะของซอฟแวร์ เป็นสิ่งที่ใช้กำหนดระดับคุณภาพของซอฟแวร์ โดยซอฟแวร์คุณภาพตามมาตรฐาน ISO/IEC 9126 คือ
การจัดการคุณภาพของซอฟแวร์การจัดการคุณภาพของซอฟแวร์ คือ การระบุวิธีการกำหนดคุณลักษณะของซอฟแวร์ที่มีคุณภาพ วิธีการวัดคุณภาพ และปรับปรุงคุณภาพของกระบวนการพัฒนาซอฟแวร์
ต้นทุนของคุณภาพ ประกอบไปด้วย 1. ต้นทุนการป้องกัน (Prevention Cost) 2. ต้นทุนในการประเมิน (Appraisal Cost) 3. ต้นทุนของความผิดพลาดภายใน (Internal Failure Cost) 4. ต้นทุนของความผิดพลาดภายนอก (External Failure Cost)
การจัดการกับคุณภาพของซอฟต์แวร์การจัดการกับคุณภาพของซอฟต์แวร์ • ประกอบไปด้วยกิจกรรม 3 กิจกรรม • การประกันคุณภาพ • การวางแผนคุณภาพ • การควบคุมคุณภาพ
การจัดการกับคุณภาพของซอฟต์แวร์การจัดการกับคุณภาพของซอฟต์แวร์ การประกันคุณภาพ QualityAssurance • ระเบียบ นโยบาย วิธีการปฎิบัติ และเครื่องชี้นำผู้บริหารใช้รับรองเพื่อให้สินค้าและบริการเป็นไปตามมาตรฐาน
การจัดการกับคุณภาพของซอฟต์แวร์การจัดการกับคุณภาพของซอฟต์แวร์ การวางแผนคุณภาพ Quality Planning • เป็นกระบวนการจัดทำแผนคุณภาพสำหรับโครงการ ซึ่งภายในแผนจะประกอบไปด้วยนิยามคุณลักษณะของซอฟต์แวร์ที่มีคุณภาพ
การจัดการกับคุณภาพของซอฟต์แวร์การจัดการกับคุณภาพของซอฟต์แวร์ การควบคุมคุณภาพ QualityControl • เป็นการควบคุมดูแลคุณภาพซอฟต์แวร์ให้ดำเนินไปตามแผนการประกันคุณภาพและมาตรฐานต่างๆ อย่างครบถ้วน
มาตรฐาน ISO 9001 1. คุณภาพจะต้องได้รับความเห็นชอบจากทุกๆ ฝ่ายที่เกี่ยวข้อง โดยเฉพาะผู้บริหารระดับสูงขององค์กร 2. ระเบียบการจะต้องกำหนดถึงรายละเอียดของขั้นตอนการพัฒนาและทดสอบซอฟแวร์ 3. ซอฟแวร์จะต้องได้รับการยอมรับจากลูกค้าอย่างโปร่งใส 4. ซอฟแวร์จะต้องมีการส่งมอบและติดตั้งการใช้งานได้อย่างถูกต้อง และเหมาะสม
มาตรฐาน ISO 9001 5. ซอฟแวร์จะต้องได้รับการบำรุงรักษาอย่างถูกวิธี 6. ซอฟแวร์จะต้องได้รับการบริการหลังการขาย โดยมีคู่มือ ประวัติลูกค้า เอกสารกำกับดูแล การฝึกอบรม และข้อบันทึกการบำรุงรักษา เป็นต้น 7. ซอฟแวร์จะต้องได้รับการแก้ไขได้ทันท่วงที หากเกิดข้อผิดพลาด หรือเบี่ยงเบนไปจากมาตรฐานที่กำหนดไว้
ระบบวิกฤติ • ระบบที่มนุษย์หรือธุรกิจต้องพิ่งพาอาศัยการทำงานของระบบเป็นหลัก หากระบบล้มเหลว จะทำให้เกิดปัญหาร้ายแรงและเกิดความเสียหายอย่างมาก
สาเหตุที่ทำให้ระบบวิกฤติทำงานล้มเหลวสาเหตุที่ทำให้ระบบวิกฤติทำงานล้มเหลว • ความล้มเหลวของฮาร์ดแวร์ • ความล้มเหลวของซอฟต์แวร์ระบบ • ความผิดพลาดของผู้ควบคุมระบบ
ประเภทของระบบวิกฤติ 1. Safety Critical System 2. Mission Critical System 3. Business Critical System
คุณลักษณะของระบบวิกฤติคุณลักษณะของระบบวิกฤติ 1. พึ่งพาได้ (Dependability) 2. เชื่อถือได้ (Reliability) 3. พร้อมใช้งานเสมอ (Availability) 4. ปลอดภัย (Safety) 5. มีการรักษาความปลอดภัย (Security)
การตรวจสอบคุณภาพระบบงานการตรวจสอบคุณภาพระบบงาน • เป็นกลไกที่ใช้ในการสำรวจระบบงานบางส่วนหรือทั้งหมด • มีจุดมุ่งหมายเพื่อค้นหาว่าระบบงานที่กำลังพัฒนาหรือพัฒนาเสร็จสิ้นตามขั้นตอนต่าง ๆ มีปัญหาหรือไม่ มากน้อยเพียงใด • และระบบมีคุณภาพตรงตามมาตรฐานที่กำหนดไว้หรือไม่
รูปแบบการตรวจสอบคุณภาพรูปแบบการตรวจสอบคุณภาพ 1. การสำรวจรูปแบบและโปรแกรม 2. การพิจารณาทบทวนจัดการ 3. การตรวจสอบคุณภาพ
ขั้นตอนหลังการตรวจสอบคุณภาพขั้นตอนหลังการตรวจสอบคุณภาพ • ทำการบันทึกผลที่ได้เป็นลายลักษณ์อักษร • รวมทั้งนำเสนอวิธีการแก้ไขปัญหาความคลาดเคลื่อน/การขาดมาตรฐานไว้ด้วย
วิธีการแก้ปัญหา จำแนกได้เป็น 3 ลักษณะคือ 1. ไม่ต้องทำอะไร (No Action) 2. แก้ไขซ่อมแซม (Refer to Repair) 3. พิจารณารูปแบบใหม่อีกครั้ง (Reconsider Overall Design)
โครงสร้างทีมงานตรวจสอบคุณภาพโครงสร้างทีมงานตรวจสอบคุณภาพ • ควรมีทีมงานหลักไม่เกิน 3-4 คน • ควรจัดให้มีผู้ที่มีส่วนร่วมในการพัฒนาระบบย่อยนั้น ๆ เข้าร่วมทีมด้วย • หรือจัดเป็นทีมงานอิสระ แล้วจึงนำผลการตรวจสอบมาพิจารณาร่วมกันกับผู้ออกแบบพัฒนาก็ได้
เกณฑ์การพิจารณาคุณภาพของระบบเกณฑ์การพิจารณาคุณภาพของระบบ สามารถพิจารณาได้จาก 2 แง่คือ 1. ในแง่ของผู้จัดการระบบ 2. ในแง่ของผู้ซื้อระบบ
เกณฑ์คุณภาพ : แง่ของผู้จัดการระบบ 1. การพัฒนาและส่งระบบงานตรงตามเวลากำหนด 2. การใช้ทรัพยากรภายในระบบอย่างมีประสิทธิภาพ 3. การบำรุงรักษาระบบงาน
เกณฑ์คุณภาพ : แง่ของผู้ซื้อระบบ 1. ระบบงานมีลักษณะการใช้งานเป็นดังนี้หรือไม่ • ง่าย (easily) • เชื่อถือได้ (reliability) • มีประสิทธิภาพ (efficiency) 2. ระบบงานสามารถบำรุงรักษาในด้านต่อไปนี้ ได้ง่ายหรือไม่ • ความชัดเจนของระบบงาน (comprehensive) • ความสามารถในการปรับแต่ง (modifiable) • การตรวจสอบแก้ไข (testable) 3. ระบบงานสามารถทำงานได้หรือไม่ ถ้าสภาพแวดล้อมในการทำงานมีการเปลี่ยนแปลงไปจากเดิม (portable)
ความเชื่อถือได้ของระบบ (Reliability) • Reliability หมายถึง การวัดระดับความสามารถในการทำงานของระบบว่าตรงตามความคาดหวังของผู้ใช้หรือไม่เพียงใด • มีความสัมพันธ์โดยตรงกับจำนวนครั้งที่ระบบดำเนินการล้มเหลว
ลักษณะความล้มเหลวของระบบลักษณะความล้มเหลวของระบบ มี 6 ลักษณะคือ 1. แบบชั่วคราว (Transient) 2. แบบถาวร (Permanent) 3. แบบกู้กลับคืนได้ (Recoverable) 4. แบบกู้กลับคืนไม่ได้ (Unrecoverable) 5. แบบไม่ทำลาย (Non-Corrupting) 6. แบบทำลาย (Corrupting)
เกณฑ์ในการประเมินความเชื่อถือได้เกณฑ์ในการประเมินความเชื่อถือได้ อาจใช้เกณฑ์การประเมินต่อไปนี้ • โอกาสของการเกิดความล้มเหลวจากการสั่งดำเนินการ (Probability of failure on demand : POFOD) • อัตราการเกิดความล้มเหลว (Rate of failure occurrence : ROCOF) • เวลาเฉลี่ยในการล้มเหลว (Mean time to failure : MTTF) • ความพร้อมในการดำเนินการ (Availability)
หน่วยเวลาการทำงาน หน่วยที่ใช้อาจเป็นดังนี้ • หน่วยเวลาตามปีปฏิทิน (นาที ชั่วโมง วัน) • ใช้ในระบบที่เป็นการทำงานอย่างต่อเนื่อง • หน่วยเวลาประมวลผล/การสั่งดำเนินการ (Transaction) แต่ละครั้ง • ใช้ในระบบที่มีการทำงานเป็นช่วงเวลาครั้งคราว
ตัวอย่าง : อัตราค่าความเชื่อถือได้ของระบบ ATM ประเภทความล้มเหลวตัวอย่างค่าความเชื่อถือได้ แบบถาวร ไม่อ่านบัตร ATM ทุกใบ 1 ใน 100,000 trans. แบบชั่วคราวไม่ทำลาย ไม่อ่านบัตรบางใบ 1 ใน 10,000 trans. แบบชั่วคราวและทำลาย บัตรจากธนาคารสาขาอื่น 1 ใน 20,000,000 trans. ทำให้ข้อมูลในระบบรวน แบบไม่สามารถกู้คืน โปรแกรมยึดบัตรของผู้ใช้ 1 ใน 30,000 trans. แต่ไม่ทำลาย ไว้ แบบสามารถกู้คืนได้ ข้อมูลเกี่ยวกับผู้ใช้บัตร 1 ใน 50,000 trans. และทำลายข้อมูล สูญหาย แบบสามารถกู้คืนได้ บัตรชำรุด 1 ใน 5,000 trans. แต่ไม่ทำลายข้อมูล