การจัดการคุณภาพซอฟต์แวร์ - บทนำ

ซอฟต์แวร์คุณภาพหมายถึงซอฟต์แวร์ที่มีข้อบกพร่องตามสมควรหรือปราศจากข้อบกพร่องส่งมอบตรงเวลาและภายในงบประมาณที่กำหนดตรงตามข้อกำหนดและ / หรือความคาดหวังและสามารถบำรุงรักษาได้ ในบริบทวิศวกรรมซอฟต์แวร์คุณภาพของซอฟต์แวร์สะท้อนทั้งสองอย่างfunctional quality เช่นเดียวกับ structural quality.

  • Software Functional Quality - สะท้อนให้เห็นว่ามันตอบสนองการออกแบบที่กำหนดได้ดีเพียงใดโดยพิจารณาจากความต้องการด้านการใช้งานหรือข้อมูลจำเพาะ

  • Software Structural Quality - เกี่ยวข้องกับการจัดการข้อกำหนดที่ไม่สามารถใช้งานได้ซึ่งสนับสนุนการส่งมอบข้อกำหนดด้านการทำงานเช่นความทนทานหรือความสามารถในการบำรุงรักษาและระดับที่ซอฟต์แวร์ได้รับการผลิตอย่างถูกต้อง

  • Software Quality Assurance- Software Quality Assurance (SQA) คือชุดของกิจกรรมเพื่อรับรองคุณภาพในกระบวนการวิศวกรรมซอฟต์แวร์ซึ่งส่งผลให้ผลิตภัณฑ์ซอฟต์แวร์มีคุณภาพในที่สุด กิจกรรมสร้างและประเมินกระบวนการผลิตผลิตภัณฑ์ มันเกี่ยวข้องกับการดำเนินการที่เน้นกระบวนการ

  • Software Quality Control- Software Quality Control (SQC) คือชุดของกิจกรรมเพื่อรับรองคุณภาพของผลิตภัณฑ์ซอฟต์แวร์ กิจกรรมเหล่านี้มุ่งเน้นไปที่การพิจารณาข้อบกพร่องในผลิตภัณฑ์จริงที่ผลิต มันเกี่ยวข้องกับการดำเนินการที่เน้นผลิตภัณฑ์

ความท้าทายด้านคุณภาพซอฟต์แวร์

ในอุตสาหกรรมซอฟต์แวร์ผู้พัฒนาจะไม่ประกาศว่าซอฟต์แวร์ไม่มีข้อบกพร่องซึ่งต่างจากผู้ผลิตผลิตภัณฑ์อุตสาหกรรมรายอื่น ๆ ความแตกต่างนี้เกิดจากสาเหตุต่อไปนี้

ความซับซ้อนของผลิตภัณฑ์

เป็นจำนวนโหมดการทำงานที่ผลิตภัณฑ์อนุญาต โดยปกติผลิตภัณฑ์อุตสาหกรรมอนุญาตให้ใช้โหมดการทำงานน้อยกว่าสองสามพันโหมดโดยใช้การตั้งค่าเครื่องผสมกัน อย่างไรก็ตามโปรแกรมสำเร็จรูปช่วยให้สามารถดำเนินงานได้หลายล้านแบบ ดังนั้นการรับประกันความเป็นไปได้ในการดำเนินงานทั้งหมดนี้อย่างถูกต้องจึงเป็นความท้าทายที่สำคัญสำหรับอุตสาหกรรมซอฟต์แวร์

การเปิดเผยผลิตภัณฑ์

เนื่องจากผลิตภัณฑ์อุตสาหกรรมสามารถมองเห็นได้จึงสามารถตรวจพบข้อบกพร่องส่วนใหญ่ได้ในระหว่างกระบวนการผลิต นอกจากนี้ยังสามารถตรวจจับการไม่มีชิ้นส่วนในผลิตภัณฑ์อุตสาหกรรมในผลิตภัณฑ์ได้อย่างง่ายดาย อย่างไรก็ตามข้อบกพร่องในผลิตภัณฑ์ซอฟต์แวร์ที่จัดเก็บในดิสเก็ตต์หรือซีดีจะมองไม่เห็น

การพัฒนาผลิตภัณฑ์และกระบวนการผลิต

ในผลิตภัณฑ์อุตสาหกรรมสามารถตรวจพบข้อบกพร่องได้ในช่วงต่อไปนี้ -

  • Product development - ในขั้นตอนนี้นักออกแบบและเจ้าหน้าที่ฝ่ายประกันคุณภาพ (QA) จะตรวจสอบและทดสอบต้นแบบผลิตภัณฑ์เพื่อตรวจหาข้อบกพร่อง

  • Product production planning- ระหว่างขั้นตอนนี้กระบวนการผลิตและเครื่องมือได้รับการออกแบบและจัดเตรียม ระยะนี้ยังให้โอกาสในการตรวจสอบผลิตภัณฑ์เพื่อตรวจหาข้อบกพร่องที่ไม่มีใครสังเกตเห็นในระหว่างขั้นตอนการพัฒนา

  • Manufacturing- ในขั้นตอนนี้ขั้นตอนการควบคุมคุณภาพถูกนำไปใช้เพื่อตรวจจับความล้มเหลวของผลิตภัณฑ์ด้วยตนเอง ข้อบกพร่องในผลิตภัณฑ์ที่ตรวจพบในช่วงแรกของการผลิตมักจะแก้ไขได้โดยการเปลี่ยนแปลงรูปแบบของผลิตภัณฑ์หรือวัสดุหรือในเครื่องมือการผลิตเพื่อขจัดข้อบกพร่องดังกล่าวในผลิตภัณฑ์ที่ผลิตในอนาคต

อย่างไรก็ตามในกรณีของซอฟต์แวร์ขั้นตอนเดียวที่สามารถตรวจพบข้อบกพร่องได้คือระยะการพัฒนา ในกรณีของซอฟต์แวร์ไม่จำเป็นต้องมีการวางแผนการผลิตผลิตภัณฑ์และขั้นตอนการผลิตเนื่องจากการผลิตสำเนาซอฟต์แวร์และการพิมพ์คู่มือซอฟต์แวร์จะดำเนินการโดยอัตโนมัติ

ปัจจัยที่มีผลต่อการตรวจจับข้อบกพร่องในผลิตภัณฑ์ซอฟต์แวร์เทียบกับผลิตภัณฑ์อุตสาหกรรมอื่น ๆ แสดงไว้ในตารางต่อไปนี้

ลักษณะเฉพาะ ผลิตภัณฑ์ซอฟต์แวร์ ผลิตภัณฑ์อุตสาหกรรมอื่น ๆ
ความซับซ้อน ตัวเลือกการดำเนินงานนับล้าน ตัวเลือกการดำเนินงานนับพัน
การมองเห็นผลิตภัณฑ์ ผลิตภัณฑ์ที่มองไม่เห็นยากที่จะตรวจจับข้อบกพร่องด้วยสายตา ผลิตภัณฑ์ที่มองเห็นได้การตรวจจับข้อบกพร่องด้วยสายตาอย่างมีประสิทธิผล
ลักษณะของการพัฒนาและกระบวนการผลิต สามารถแก้ไขข้อบกพร่องได้ในเฟสเดียว สามารถตรวจจับข้อบกพร่องในทุกขั้นตอนต่อไปนี้
  • การพัฒนาผลิตภัณฑ์
  • การวางแผนการผลิตสินค้า
  • Manufacturing

คุณลักษณะเหล่านี้ของซอฟต์แวร์เช่นความซับซ้อนและการมองไม่เห็นทำให้การพัฒนาวิธีการประกันคุณภาพซอฟต์แวร์และการนำไปใช้งานที่ประสบความสำเร็จถือเป็นความท้าทายอย่างมืออาชีพ