อ่าน 3 นาที
เมตริกซอฟต์แวร์
ใน วิศวกรรม และ การพัฒนา ซอฟต์แวร์ เมตริกซอฟต์แวร์ คือมาตรฐานการวัดระดับที่ ระบบซอฟต์แวร์ หรือกระบวนการมีคุณสมบัติบางอย่าง [ 1 ] [ 2 ] แม้ว่าเมตริกจะไม่ใช่การวัด...
เมตริกซอฟต์แวร์
| ส่วนหนึ่งของชุดบทความเกี่ยวกับ |
| การพัฒนาซอฟต์แวร์ |
|---|
ในวิศวกรรมและการพัฒนาซอฟต์แวร์เมตริกซอฟต์แวร์คือมาตรฐานการวัดระดับที่ระบบซอฟต์แวร์หรือกระบวนการมีคุณสมบัติบางอย่าง[ 1 ] [ 2 ]แม้ว่าเมตริกจะไม่ใช่การวัด (เมตริกเป็นฟังก์ชัน ในขณะที่การวัดเป็นตัวเลขที่ได้จากการประยุกต์ใช้เมตริก) แต่บ่อยครั้งที่ทั้งสองคำนี้ถูกใช้เป็นคำพ้องความหมาย เนื่องจากการวัดเชิงปริมาณมีความสำคัญในทุกสาขาวิทยาศาสตร์ จึงมีความพยายามอย่างต่อเนื่องจากผู้ปฏิบัติงานและนักทฤษฎีด้านวิทยาศาสตร์คอมพิวเตอร์ที่จะนำแนวทางที่คล้ายคลึงกันมาใช้ในการพัฒนาซอฟต์แวร์ เป้าหมายคือการได้มาซึ่งการวัดที่เป็นกลาง สามารถทำซ้ำได้ และวัดได้ ซึ่งอาจมีแอปพลิเคชันที่มีคุณค่ามากมายในการวางแผนกำหนดการและงบประมาณ การประมาณต้นทุน การประกันคุณภาพ การทดสอบการแก้ไขข้อบกพร่อง ของซอฟต์แวร์ การเพิ่มประสิทธิภาพการทำงานของซอฟต์แวร์และการมอบหมายงานบุคลากรที่เหมาะสมที่สุด
การวัดซอฟต์แวร์ทั่วไป
การวัดประสิทธิภาพซอฟต์แวร์ทั่วไป ได้แก่:
- เมตริกซอฟต์แวร์ ABC
- บัตรคะแนนสมดุล
- บั๊กต่อบรรทัดของโค้ด
- ความครอบคลุมของรหัส
- ความเหนียวแน่น
- ความหนาแน่นของความคิดเห็น[ 3 ]
- ส่วนประกอบซอฟต์แวร์ Connascent
- แบบจำลองต้นทุนเชิงสร้างสรรค์
- การเชื่อมต่อ
- ความซับซ้อนเชิงวัฏจักร (ความซับซ้อนของแมคเคบ)
- ความหนาแน่นของความซับซ้อนไซโคลมาติก[ 4 ] [ 5 ]
- ความหนาแน่นของข้อบกพร่อง - ข้อบกพร่องที่พบเมื่อเทียบกับขนาดของส่วนประกอบ มักแสดงเป็นข้อบกพร่องต่อโค้ดหนึ่งพันบรรทัด (KLOC) [ 6 ]
- ศักยภาพของข้อบกพร่อง - จำนวนข้อบกพร่องที่คาดว่าจะเกิดขึ้นในชิ้นส่วนนั้นๆ
- อัตราการกำจัดข้อบกพร่อง
- DSQI (ดัชนีคุณภาพโครงสร้างการออกแบบ)
- Function Pointsและ Automated Function Points ซึ่งเป็นมาตรฐานของกลุ่มการจัดการวัตถุ[ 7 ]
- ความซับซ้อนของ Halstead
- ความยาวของเส้นทางคำสั่ง
- ดัชนีความสามารถในการบำรุงรักษา
- จำนวนบรรทัดของโค้ดต้นฉบับ - จำนวนบรรทัดของโค้ด
- เวลาในการดำเนินการโปรแกรม
- เวลาในการโหลดโปรแกรม
- ขนาดโปรแกรม (ไบนารี)
- คะแนน WEAVE
- จุดฟังก์ชันไมโครแบบถ่วงน้ำหนัก
- เวลาในการทำงาน (ซอฟต์แวร์)
- ผลผลิตรอบแรก
- ความน่าจะเป็นของการแก้ไขการกระทำ[ 8 ]
ข้อจำกัด
เนื่องจากการพัฒนาซอฟต์แวร์เป็นกระบวนการที่ซับซ้อน มีความแปรปรวนสูงทั้งในด้านวิธีการและวัตถุประสงค์ จึงเป็นเรื่องยากที่จะกำหนดหรือวัดคุณภาพและปริมาณของซอฟต์แวร์ และกำหนดตัวชี้วัดการวัดที่ถูกต้องและสอดคล้องกัน โดยเฉพาะอย่างยิ่งเมื่อทำการคาดการณ์ดังกล่าวก่อนการออกแบบรายละเอียด อีกแหล่งที่มาของความยากลำบากและการถกเถียงคือการกำหนดว่าตัวชี้วัดใดมีความสำคัญ และมีความหมายอย่างไร[ 9 ] [ 10 ] นักวิจัยโต้แย้งว่าตัวชี้วัดซอฟต์แวร์ที่ใช้กันทั่วไป ซึ่งได้รับการส่งเสริมบ่อยครั้งในการวิจัยทางวิชาการ ไม่มีประโยชน์ในทางปฏิบัติสำหรับการตัดสินใจของผู้เชี่ยวชาญด้านซอฟต์แวร์[ 11 ]ดังนั้นประโยชน์ในทางปฏิบัติของการวัดซอฟต์แวร์จึงถูกจำกัดอยู่ในโดเมนต่อไปนี้:
- การจัดตารางเวลา
- การกำหนดขนาดซอฟต์แวร์
- ความซับซ้อนของการเขียนโปรแกรม
- การประมาณการความพยายามในการพัฒนาซอฟต์แวร์
- คุณภาพซอฟต์แวร์
การวัดผลเฉพาะเจาะจงอาจมุ่งเป้าไปที่แง่มุมใดแง่มุมหนึ่งหรือมากกว่านั้น หรือความสมดุลระหว่างแง่มุมเหล่านั้น ตัวอย่างเช่น ใช้เป็นตัวชี้วัดแรงจูงใจของทีมหรือประสิทธิภาพของโครงการ
นอกจากนี้ เมตริกยังแตกต่างกันระหว่างโค้ดโปรแกรมแบบคงที่และแบบไดนามิก รวมถึงซอฟต์แวร์เชิงวัตถุ (ระบบ) ด้วย[ 12 ] [ 13 ]
การยอมรับและความคิดเห็นของประชาชน
ผู้ปฏิบัติงานด้านการพัฒนาซอฟต์แวร์บางรายชี้ให้เห็นว่าการวัดแบบง่ายๆ อาจก่อให้เกิดอันตรายมากกว่าผลดี[ 14 ]บางรายตั้งข้อสังเกตว่าเมตริกได้กลายเป็นส่วนสำคัญของกระบวนการพัฒนาซอฟต์แวร์[ 9 ] ผลกระทบของการวัดต่อจิตวิทยาของโปรแกรมเมอร์ทำให้เกิดความกังวลเกี่ยวกับผลเสียต่อประสิทธิภาพการทำงานเนื่องจากความเครียด ความวิตกกังวลเกี่ยวกับประสิทธิภาพ และความพยายามที่จะโกงเมตริก ในขณะที่บางรายพบว่ามีผลกระทบเชิงบวกต่อคุณค่าของนักพัฒนาที่มีต่อผลงานของตนเอง และป้องกันไม่ให้พวกเขาถูกประเมินค่าต่ำเกินไป บางคนโต้แย้งว่าคำจำกัดความของวิธีการวัดหลายวิธีนั้นไม่แม่นยำ และด้วยเหตุนี้จึงมักไม่ชัดเจนว่าเครื่องมือในการคำนวณมาถึงผลลัพธ์ที่เฉพาะเจาะจงได้อย่างไร[ 15 ]ในขณะที่บางรายโต้แย้งว่าการวัดปริมาณที่ไม่สมบูรณ์นั้นดีกว่าไม่มีเลย (“คุณควบคุมสิ่งที่คุณวัดไม่ได้ไม่ได้”) [ 16 ]หลักฐานแสดงให้เห็นว่าเมตริกซอฟต์แวร์ถูกนำไปใช้อย่างกว้างขวางโดยหน่วยงานของรัฐ กองทัพสหรัฐฯ NASA [ 17 ]ที่ปรึกษาด้านไอที สถาบันการศึกษา[ 18 ] และซอฟต์แวร์ประเมินการพัฒนา เชิงพาณิชย์และวิชาการ
อ่านเพิ่มเติม
- J. Smith, Introduction to Linear Programming , Acme Press, 2010. ตำราเบื้องต้น
- Reijo M.Savola, คุณภาพของตัวชี้วัดและการวัดความปลอดภัย, Computers & Security, เล่มที่ 37, กันยายน 2013, หน้า 78-90. [ 19 ]
ดูเพิ่มเติม
- คำถามเป้าหมาย-ตัวชี้วัด
- รายชื่อเครื่องมือสำหรับการวิเคราะห์โค้ดแบบคงที่
- การจำแนกประเภทข้อบกพร่องเชิงตั้งฉาก
- วิศวกรรมซอฟต์แวร์
- เมตริกแพ็กเกจซอฟต์แวร์
ลิงก์ภายนอก
- ตัวชี้วัดซอฟต์แวร์ (SQA.net)
- ตัวชี้วัดด้านวิศวกรรมซอฟต์แวร์: ตัวชี้วัดเหล่านี้วัดอะไร และเรารู้ได้อย่างไร
- มาตรฐาน NASA-STD-8739.8 (มาตรฐานการรับรองซอฟต์แวร์และความปลอดภัยของซอฟต์แวร์)
- เมตริกโค้ดต้นฉบับของ HIS ( ล้าสมัยแล้ว แต่ใช้เป็นข้อมูลอ้างอิงได้โปรดดูAUTOSAR ที่เกี่ยวข้อง )
- HIS Source Code Metrics เวอร์ชัน 1.3.1 01.04.2008 ( ล้าสมัยแล้ว แต่ใช้เป็นข้อมูลอ้างอิงได้โปรดดูAUTOSAR ที่เกี่ยวข้อง )
- กรอบการทำงานสำหรับการวัดเมตริกของซอร์สโค้ด
- NASA.gov
- คำจำกัดความเมตริกของ SonarQube
- ตัวชี้วัดของซอฟต์แวร์เชิงวัตถุ (2010)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เมตริกซอฟต์แวร์
ใน วิศวกรรม และ การพัฒนา ซอฟต์แวร์ เมตริกซอฟต์แวร์ คือมาตรฐานการวัดระดับที่ ระบบซอฟต์แวร์ หรือกระบวนการมีคุณสมบัติบางอย่าง [ 1 ] [ 2 ] แม้ว่าเมตริกจะไม่ใช่การวัด...
การวัดซอฟต์แวร์ทั่วไป
การวัดประสิทธิภาพซอฟต์แวร์ทั่วไป ได้แก่:
ข้อจำกัด
เนื่องจากการพัฒนาซอฟต์แวร์เป็นกระบวนการที่ซับซ้อน มีความแปรปรวนสูงทั้งในด้านวิธีการและวัตถุประสงค์ จึงเป็นเรื่องยากที่จะกำหนดหรือวัดคุณภาพและปริมาณของซอฟต์แวร์ และกำหนดตัวชี้วัดการวัดที่ถูกต้องและสอดคล้องกัน...
การยอมรับและความคิดเห็นของประชาชน
ผู้ปฏิบัติงานด้านการพัฒนาซอฟต์แวร์บางรายชี้ให้เห็นว่าการวัดแบบง่ายๆ อาจก่อให้เกิดอันตรายมากกว่าผลดี [ 14 ] บางรายตั้งข้อสังเกตว่าเมตริกได้กลายเป็นส่วนสำคัญของกระบวนการพัฒนาซอฟต์แวร์ [ 9 ]...