CPSC 333 Lecture 1

Download Report

Transcript CPSC 333 Lecture 1

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