Blogs

เทคนิคสร้างคุณถาพ Quality of Software Product

สวัสดีครับ นี้เป็นการเขียนบล็อกที่สองของผม วันนี้ผมจะมาแนะนำ การทำ Software หรือ Project ให้มีคุณภาพ ตามหลัก Software Engineeringในเรื่องของ Quality of Software Product พร้อมกันหรือยังครับ วันนี้ผมจะมาเล่าสิ่งหลักๆ ที่ควรมีในการสร้างงานให้มีคุณภาพ  Quality หรือมาตรฐานทั้งหมด  16  ตัว

โดยผมจะมีเทคนิคการดูและการแบ่งแยกตามนี้
กลุ่มแรก (บางคนเรียกว่าสามทหารเสือ)

1.Correctness (ความถูกต้อง) คือ การทำให้ Software หรืองานของเราถูกต้องตามความต้องการของลูกค้า ตรงตาม Requirements Specifications โดยความเคร่งครัดในเรื่องของ  Functional  จะขึ้นอยู่กับ  User

2.Reliability (ความน่าเชื่อถือ)   ถ้าเราวางแผนที่ดี ทำ Software ให้  correctness   ก็จะแสดงให้เห็นได้ว่า งานของเราก็จะมี ความน่าเชื่อถือตามมา

3.Robustness  (ความแข็งแกร่งทนทาน) หมายความว่าที่เราพัฒนา Software ของเราจะต้องทำงาน (Process) ได้ตลอดเวลา ไม่ใช่ว่าทำได้บ้างไม่ได้บ้าง สรุปทั้ง   3  อันนี้มีความเกี่ยวข้องกัน คือ ความถูกต้องจะอยู่ ในความน่าเชื่อถือ และถ้าเราทำให้มีความถูกต้อง ก็จะทำให้ มีความแข็งแกร่ง

4.Performance (ความเร็ว) ทำให้  Software  ของเรามีความเร็ว ไม่ทำให้ Software ตัวใหญ่ อุ้ยอ้าย ทำงานได้ช้า

5.User Friendliness (ใช้งานง่าย) สามารถให้  User  เข้ามาแล้วรู้ว่าควรจะใช้อะไร เรียนรู้การใช้งานได้เอง ไม่ต้องยืนยันอะไรมากมาย ออกแบบให้เป็นหลักสากล (easy to user)ไม่ออกแบบให้ ซับซ้อนเข้าถึงยาก ออกแบบให้ใช้ เมาส์เยอะๆกว่าการใช้คีย์บอร์ด เพราะ User ที่ใช้งานเป็นใหม่ๆจะใช้เมาส์ได้ดีกว่าการใช้ คีย์บอร์ด   Correctness and Performance alo affect user friendliness

6.Verifiability (ตรวจสอบได้)  Software system should be verified easily สามารถตรวจสอบได้ว่า Function ตัวไหนเรียกตัวไหน

7.Maintainablity(บำรุงรักษาได้)  “We can user the word Software evolution” การบำรุงรักษา
จะแบ่งออกเป็น  3   แบบ

  • Corrective การเอา error ออก
  • Adaptive ปรับเปลี่ยนให้ทันสมัยอยู่เสมอ
  • Perfective ทำให้สมบูรณ์แบบ

8.Repairability (ซ่อมแซม) ความสามารถที่จะใช้ได้อยู่ตลอดเวลา ทำให้ Software พร้อมใช้บริการได้อยู่เสมอ

9.Evolvability (พัฒนาต่อ)  ความสามารถในการพัฒนาต่อไปเรื่อยๆ เพื่อให้รองรับ platfrom ใหม่ๆ และต้องทำเอกสารบอกเสมอว่าเราแก้ไขอะไรไปบ้าง เพื่อจะทำให้แก้ไขในอนาคตได้งาย

10.Reusability  (นำกลับมาใช้ใหม่) เป็นการ reuse  มาบางส่วนเพื่อ ลด Cost ใช้จ่ายในการพัฒนาต่อ reuse บางส่วนโดยใช้ requirement   เดิมได้แล้วก็เพิ่มอะไรที่เป็นตัวใหม่เข้ามา

11.Portability (พกพาได้)  Software ตัวเล็ก สามารถใช้ได้หลาย platfrom

12.Understandabilitty( เข้าใจง่าย) The design that is easy to understand. ออกแบบให้ใช้งานง่าย  ถ้าออกแบบให้ใช้งานยาก  User   ก็จะไม่เข้ามาใช้งานอีก

13.Interoperability (ทำงานข้ามระบบ) สามาถที่จะทำงานข้ามระบบได้ เช่นเข้า login บน  Windows  ใน  Software เดียวกัน ต้องสามารถเข้า Software ตัวนี้ ใน ระบบปฏิบัติการ อื่นๆได้ด้วย

4.Productivity  (ผลิตภาพ) Productivity is a performance quality applied to the process ถ้าเครื่องคอมช้าก็จะส่งผลต่อความเร็ว

15.Timeliness (ตรงเวลา) มีการกำหนดงานและวางแผนแล้วทำให้ได้เป็นไปตามแผน  และถูกต้อง แสดงให้เห็นถึงคุณภาพของทีมงาน เพราะ Product บางตัวต้องแข่งขันทางการตลาด ถ้าเราส่งไม่ตรงเวลาก็จะทำให้ Product แข่งขันกับคู่แข่งไม่ทัน

16.Visibility (มองเห็นได้) โครงสร้างชัดเจนส่งผลให้เข้าใจง่าย รู้การทำงานทั้งหมดทำให้ Design   หน้าจอได้ชัดเจนและทำให้ User  ใช้งานได้ง่าย  และต้องทำเอกสารที่ทุกคนในทีมต้องเข้าถึงได้