190 likes | 365 Views
310414 Software Engineering. Software Metrics. Measures, Metrics and Indicators. Measure (N) ค่าที่ได้จากการวัด Measurement (N) การวัด Metrics ค่าที่ได้จากการวัดเชิงปริมาณบอกถึงระดับของคุณลักษณะบางประการของระบบ
E N D
310414Software Engineering Software Metrics 310414 - Lecture
Measures, Metrics and Indicators • Measure (N) ค่าที่ได้จากการวัด • Measurement (N) การวัด • Metrics ค่าที่ได้จากการวัดเชิงปริมาณบอกถึงระดับของคุณลักษณะบางประการของระบบ • Indicator คือ metric หรือกลุ่มของ metric ที่บ่งชี้คุณลักษณะภายในของ software process software project หรือ product นั้นๆ 310414 - Lecture [Pressman1997]
Process Metrics and Project Metrics • Process metrics • ใช้ในการพิจารณาภาพรวมภายในของกระบวนการ ประสิทธิภาพของกระบวนการ • Project metrics • ติดตามความคืบหน้าของโครงงาน • ตรวจสอบความเสี่ยงต่างๆ • ประเมินคุณภาพของทีม 310414 - Lecture
Process Metrics and Software Process Improvement • วัดคุณลักษณะที่ต้องการ • สร้าง metric ของคุณลักษณะนั้น • นำ metric ที่ได้มาเป็นเครื่องบ่งชี้เพื่อที่จะนำไปปรับปรุงระบบ 310414 - Lecture [Pressman1997]
Private Process Data • คนในทีมอาจรู้สึกกระทบกระเทือนถ้ามีการนำเอาระบบของการวัดมาใช้ในการวัดคุณลักษณะส่วนบุคคล • ข้อมูลดังกล่าวควรจะจัดให้เป็นข้อมูลส่วนตัวของแต่ละบุคคล เพื่อที่คนนั้นจะได้นำข้อมูลไปใช้ในการปรับปรุงความสามารถ • การเพิ่มประสิทธิภาพของระบบโดยรวมขึ้นอยู่กับการเพิ่มประสิทธิภาพส่วนบุคคลของคนในทีมด้วย 310414 - Lecture
มารยาทในการนำ metrics ไปใช้ในการประเมิน • ใช้ common sense เมื่อทำการตีความหมายข้อมูล • ให้ feedback แก่บุคลากรที่ร่วมมือในการวัดและประเมินอย่างสม่ำเสมอ • อย่าใช้ผลที่ได้จาการวัดในการให้คุณค่ากับแต่ละคน • พยายามตั้งเป้าหมาย 310414 - Lecture
Project Metrics • เป้าหมาย • ใช้ในการลดระยะเวลาในการพัฒนาโดยปรับเปลี่ยนบางอย่างเพื่อที่จะลดความล่าช้า และลดความเสี่ยง • ใช้ในการประมาณคุณภาพของ product และยังสามรถใช้ในการพิจารณาปรับปรุงหลักการทาง technical เพื่อเพิ่มคุณภาพได้ • เพื่อคาดคะเนผลกำไร • เพื่อจัดเตรียมแนวทางในการประเมิน • เพื่อจัดสรรเครื่องมือและอุปกรณ์ต่างๆ 310414 - Lecture
Software Measurement • direct measures • indirect measures 310414 - Lecture
Direct measures • ราคา • ความมานะ + ระยะเวลา • LOC (Line of Code) • จำนวนคำสั่ง • ความเร็ว • จำนวนข้อผิดพลาด 310414 - Lecture
Indirect measures • Function • คุณภาพ • ความซับซ้อน • ประสิทธิภาพ • ความน่าเชื่อถือ • การบำรุงรักษาในภายหลัง 310414 - Lecture
Software Measurement • Size-Oriented Metrics • การวัดในเชิงของขนาด • Function-Oriented Metrics • การวัดในเชิงของงานที่โปรแกรมกระทำ 310414 - Lecture
Size-Oriented Metrics project LOC Effort $(000) pp.doc Error Defect People • ในการที่จะทำการเปรียบเทียบระหว่างโครงงาน เรานิยมใช้ จำนวนบรรทัด (LOC-Line of Code) ในการปรับค่า alpha beta gamma 12,100 27,200 20,200 24 62 43 168 440 314 365 1224 1050 134 321 256 29 86 64 3 5 6 • errors per KLOC • defect per KLOC • $ per LOC • documents per KLOC • error/person-month • LOC/person-month • $/page of documentation 310414 - Lecture
Size-Oriented Metrics • ไม่เป็นที่ยอมรับสมบูรณ์ว่าเป็นวิธี่ที่ดีในการวัดประสิทธิภาพของกระบวนการพัฒนา • ปัญหาของการใช้ Line of Code • Programming language dependent • เป็นปัญหากับ programmer ที่ออกแบบโปรแกรมดีและกระทัดรัด 310414 - Lecture
Function-Oriented Metrics • วัดที่งานที่โปรแกรมกระทำ • ไม่สามารถวัดได้โดยตรง • ใช้วิธี function point 310414 - Lecture
Parameter Counted • user input • user output • user inquiries • files • external interfaces 310414 - Lecture
Computing Function Points • นำจำนวนที่นับได้มาให้น้ำหนัก -> count-total • FP = (count-total) x (complexity adjustment value) • complexity adjustment value • system reliable? • data communication? • performance critical? 310414 - Lecture
Metrics for Quality • Correctness • defect / KLOC • Maintainability • MTTC - Mean Time To Change • Spoilage - ค่าใช้จ่ายที่ใช้ในการแก้ไขข้อบกพร่องหลังจากได้ส่งโครงงานไปแล้ว • Integrity ความคงสภาพ • Usability 310414 - Lecture
Defect Removal Efficiency • DRE = E / (E+D) • E = จำนวน error ที่พบก่อนส่ง software • D = จำนวน defect หลังการส่ง software • สามารถนำไปใช้ใน process ได้ • วัดความสามารถในการกำจัด error ก่อนจะผ่านไปยัง phase อื่น • DREi = Ei / ( Ei + E(i+1) ) 310414 - Lecture
การนำ metrics มาใช้ในกระบวนการพัฒนาซอฟต์แวร์ • ใช้ในการปรับปรุงคุณภาพของกระบวนการ • ใช้ในการประมาณการในอนาคต 310414 - Lecture