Skip to content

Latest commit

 

History

History
38 lines (33 loc) · 6.3 KB

12.1. Software quality.md

File metadata and controls

38 lines (33 loc) · 6.3 KB

Software quality Software quality

  • คำว่า “คุณภาพ” โดยปกติหมายความว่าผลิตภัณฑ์ควรเป็นไปตามข้อกำหนด
  • ปัญหาสำหรับคุณภาพของระบบซอฟต์แวร์
  • มีความตึงเครียดระหว่างข้อกำหนดด้านคุณภาพของลูกค้า (ประสิทธิภาพ ความน่าเชื่อถือ ฯลฯ ) และความต้องการด้านคุณภาพของนักพัฒนา (ความสามารถในการบำรุงรักษา การนำมาใช้ใหม่ เป็นต้น)
  • ข้อกำหนดด้านคุณภาพบางเรื่องนั้นอาจจะระบุอย่างชัดเจนได้ยาก
  • ข้อกำหนดของซอฟต์แวร์มักไม่สมบูรณ์และมักจะไม่สอดคล้องกัน
  • ถ้าจำเป็นต้องเลือก ให้เลือกวิธีการที่พัฒนาซอฟต์แวร์ได้อย่าง “ตรงตามความต้องการ" มากกว่า “สอดคล้องกับข้อกำหนด” Software fitness for purpose
  • ซอฟต์แวร์ได้รับการทดสอบอย่างถูกต้องหรือไม่?
  • ซอฟต์แวร์มีความน่าเชื่อถือเพียงพอที่จะนำไปใช้หรือไม่?
  • ประสิทธิภาพของซอฟต์แวร์เป็นที่ยอมรับสำหรับการใช้งานตามปกติหรือไม่?
  • ซอฟต์แวร์สามารถใช้งานได้หรือไม่?
  • ซอฟต์แวร์มีโครงสร้างที่ดีและทำความเข้าใจได้ง่ายหรือไม่?
  • ในกระบวนการพัฒนามีมาตรฐานการเขียนโปรแกรมและจัดการจัดทำเอกสารหรือไม่? Non-functional characteristics
  • คุณภาพของระบบซอฟต์แวร์ส่วนใหญ่ มักจะอยู่ในความสามารถที่เป็น non-functional
  • ลักษณะดังกล่าวสะท้อนถึงประสบการณ์ของผู้ใช้
  • ถ้าการทำงานของซอฟต์แวร์ไม่เป็นไปตามผู้ใช้ที่คาดหวัง เขามักจะหาวิธีการอะไรสักอย่างเพื่อให้สามารถในการทำสิ่งที่ต้องการจนได้ (เช่น การใช้คีย์ลัด เป็นต้น) Software quality attributes Quality conflicts
  • ไม่สามารถปรับแต่งระบบใด ๆ ให้เหมาะกับคุณลักษณะเหล่านี้ทั้งหมดเช่นการปรับปรุงความแข็งแกร่งอาจทำให้ประสิทธิภาพการทำงานลดลง
  • แผนคุณภาพจึงควรกำหนดคุณลักษณะคุณภาพที่สำคัญที่สุดสำหรับซอฟต์แวร์ที่กำลังพัฒนาขึ้น
  • แผนควรรวมถึงคำนิยามของกระบวนการประเมินคุณภาพซึ่งเป็นวิธีที่ตกลงกันในการประเมินว่ามีคุณภาพบางอย่างเช่นความสามารถในการบำรุงรักษาหรือความทนทานอยู่ในผลิตภัณฑ์ Process and product quality
  • คุณภาพของผลิตภัณฑ์มักจะได้รับผลกระทบจากคุณภาพของกระบวนการผลิต
  • นี่เป็นสิ่งสำคัญในการพัฒนาซอฟต์แวร์ เนื่องจากคุณลักษณะบางอย่างของคุณภาพของผลิตภัณฑ์นั้นยากที่จะประเมินได้
  • มีความสัมพันธ์ที่ซับซ้อนและเข้าใจได้ยาก ระหว่าง software process และ product quality
  • การใช้ทักษะและประสบการณ์ของแต่ละบุคคลมีความสำคัญเป็นพิเศษในการพัฒนาซอฟต์แวร์
  • ปัจจัยภายนอก เช่น ความแปลกใหม่ของ application หรือความจำเป็นในการกระชับตารางเวลาในการพัฒนา อาจส่งผลต่อคุณภาพของผลิตภัณฑ์ Quality culture
  • ผู้จัดการคุณภาพ (Quality managers) ควรมุ่งมั่นที่จะพัฒนา 'วัฒนธรรมคุณภาพ’ (quality culture) ซึ่งทุกคนรับผิดชอบด้านการพัฒนาซอฟต์แวร์มุ่งมั่นที่จะบรรลุถึงคุณภาพของผลิตภัณฑ์ในระดับสูง
  • ควรส่งเสริมให้ทุกคนในทีม มีความรับผิดชอบต่อคุณภาพของงานและพัฒนาแนวทางใหม่ในการปรับปรุงคุณภาพอย่างสม่ำเสมอ