15
Software Metrics_Pon’2013 | 1 บทที 1 การวัด (Measurement) 1.1 นิยามของการวัดและตัววัด การวัด (Measurement) คือ การกาหนดค่าตัวเลขหรือตัวอักษรให้กับ คุณลักษณะของสิ่งที่สนใจ (Entity) เพื่อที่จะอธิบายคุณลักษณะ (Attribute) นั้น ๆ เช่น การวัดความสูงของคน entity คือ คน และ attribute คือ ความสูง ของคน (Metrics) ตัววัด attribute entity attribute คุณสมบัติของสิ่งต่าง คน วัตถุ หรือสิ่งของใด ๆ entity ใด ๆ จึงสามารถมีได้หลาย attribute ตัวอย่างของการวัด - การวัดทางด้านการแพทย์ เช่น การวัดอุณหภูมิของร่างกาย ความดัน ความเข้มข้นและระดับน ้าตาลในเลือด เพื่อช่วยในการวินิจฉัยโรค - การวัดทางด้านเศรษฐศาสตร์ ช่วยในการคาดคะเนด้านความต้องการ และปริมาณการผลิตหรือราคาของสินค้า - การวัดทางด้านอุตุนิยมวิทยา เช่น การวัดปริมาณน ้าฝน ความกดดัน อากาศ เพื่อช่วยในการพยากรณ์อากาศ - การวัดชีวิตประจาวัน เช่น การวัดความสูง น้าหนัก ราคาสินค ้า การวัด ระยะทาง การวัดความเร็วของรถ เป็นต้น กาลิเลโอ กาลิเลอิ (1564-1642) กล่าวว่า สิ่งใดที่วัดไม่ได้ ก็ควรทาให้ วัดได้ (What is not measurable make measurable.)” การวัดจะต้องนิยามให้ชัดเจนว่าจะวัดอะไร เช่น จะวัดว่าซอฟต์แวร์ มี reliability เท่าไร จะต้อง นิยามให้ชัดเจนว่าจะใช้อะไรวัด ในช่วงเวลาใด 1.2 การวัดในวิศวกรรมซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ เป็นศาสตร์ที่เกี่ยวข้องกับการนาวิธีทาง วิศวกรรมศาสตร์มาประยุกต์กับการพัฒนาซอฟต์แวร์ โดยการวัดมี ความสาคัญต่อทุกขั้นตอนของการพัฒนาซอฟต์แวร์ เนื่องจาก 1) สามารถช่วยบอกให้ผู ้พัฒนาทราบว่าซอฟต์แวร์ที่พัฒนานั้นเป็นไป ตามเป้าหมายและกาหนดการที่วางไว้หรือไม2) การวัดช่วยในการกะประมาณค่าใช้จ่าย ต้นทุน กาลังคน และ ระยะเวลาของการพัฒนาซอฟต์แวร์ 3) การวัดจานวนข้อผิดพลาดของซอฟต์แวร์ ช่วยให้ผู ้พัฒนาทราบถึง ความเชื่อถือได้ของซอฟต์แวร์ และสามารถวางแผนการทดสอบได้อย่าง เหมาะสม 4) การวัดจานวนฟังก์ชันการทางานของซอฟต์แวร์ตั้งแต่ขั้นตอนต ้น ๆ สามารถช่วยให้ผู ้พัฒนาคาดคะเนเกี่ยวกับกาลังคนได้ สรุปได้ว่า การวัดซอฟต์แวร์มีจุดประสงค์เพื่อทาความเข้าใจซอฟต์แวร์ ควบคุมซอฟต์แวร์ และปรับปรุงซอฟต์แวร์นั่นเอง ทอม เดอร์ มาโค กล่าวว่า ท่านไม่สามารถควบคุมสิ่งที่ท่านวัดไม่ได้ (You cannot control what you cannot measure.)” แต่ปัจจุบันได้มีการ ปรับปรุงคากล่าวนี้เป็น ท่านไม่สามารถจัดการสิ่งที่ท่านวัดไม่ได้ (You cannot manage what you cannot measure.)” เพื่อให้มีความหมายดีขึ ้น เพราะการจัดการมีความหมายครอบคลุมการควบคุม การวัดในด้านวิศวกรรมซอฟต์แวร์เกี่ยวข้องกับหัวข้อต่อไปนี ้ 1) การประมาณค่าใช้จ่ายและกาลังคน 2) โมเดลและการวัดผลผลิต 3) การรวบรวมข้อมูล 4) โมเดลและการวัดคุณภาพซอฟต์แวร์ 5) โมเดลความเชื่อถือได้ของซอฟต์แวร์ 6) โมเดลและการประเมินประสิทธิภาพ 7) มาตรวัดเชิงโครงสร้างและมาตรวัดความซับซ้อน 8) การจัดการด้วยมาตรวัดซอฟต์แวร์ 9) การประเมินวิธีการพัฒนาซอฟต์แวร์และมาตรวัดซอฟต์แวร์ 10) การประเมินระดับวุฒิภาวะขององค์กรที่พัฒนาซอฟต์แวร์ 1.3 ประเภทของการวัด การวัดแบ่งเป็น 2 ประเภท คือ Measurement 1) การวัดโดยตรง เป็นการวัดที่สามารถวัดจากสิ่งที่สนใจได้เลย เช่น การ วัดส่วนสูงหรือน้าหนักของคน Calculation 2) การวัดโดยอ้อม เป็นการนาเอาค่าวัดโดยตรงหรือค่าวัดโดยอ้อมหลาย ๆ ค่ามาคานวณเพื่อใช้อธิบายคุณลักษณะของสิ่งที่สนใจ เช่น (1) การประเมินมูลค่าของสิ่งปลูกสร้างและที่ดินโดยธนาคารที่ให้ สินเชื่อ ก็ได้จากการคานวณปัจจัยหลายอย่าง เช่น ราคาที่ดิน ขนาดของบ้าน และอื่น ๆ (2) การคัดเลือกทีมฟุตบอลดีเด่นตลอดการแข่งขัน จะได้จากการ รวมคะแนนจากการแข่งขันแต่ละครั้ง ซึ่งมีคะแนนเป็น 0, 1, 3 ถ้าแข่งแล้วแพ้ เสมอ หรือชนะตามลาดับ ใช้การให้คะแนนกับสิ่งที่วัด ไม่ได้เพื่อให้วัดได้ การหาทีมที่ดีที่สุดจึงใช้วิธีวัด โดยการให้คะแนน 1.4 การวัดซอฟต์แวร์

1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 1

บทท 1 การวด (Measurement)

1.1 นยามของการวดและตววด การวด (Measurement) คอ การก าหนดคาตวเลขหรอตวอกษรใหกบ

คณลกษณะของสงทสนใจ (Entity) เพอทจะอธบายคณลกษณะ (Attribute) นน ๆ เชน การวดความสงของคน entity คอ คน และ attribute คอ ความสง

ของคน (Metrics) → ตววด

attribute

entity

attribute → คณสมบตของสงตาง

ๆ คน วตถ หรอสงของใด ๆ

∴ entity ใ ด ๆ จ ง ส า ม า ร ถ ม ไ ด ห ล า ย

attribute

ตวอยางของการวด - การวดทางดานการแพทย เชน การวดอณหภมของรางกาย ความดน

ความเขมขนและระดบน าตาลในเลอด เพอชวยในการวนจฉยโรค - การวดทางดานเศรษฐศาสตร ชวยในการคาดคะเนดานความตองการ

และปรมาณการผลตหรอราคาของสนคา - การวดทางดานอตนยมวทยา เชน การวดปรมาณน าฝน ความกดดน

อากาศ เพอชวยในการพยากรณอากาศ - การวดชวตประจ าวน เชน การวดความสง น าหนก ราคาสนคา การวด

ระยะทาง การวดความเรวของรถ เปนตน กาลเลโอ กาลเลอ (1564-1642) กลาววา “สงใดทวดไมได กควรท าให

วดได (What is not measurable make measurable.)” การวดจะตองนยามใหชดเจนวาจะวดอะไร เชน

จะวดวาซอฟตแวร ม reliability เทาไร จะตอง

นยามใหชดเจนวาจะใชอะไรวด ในชวงเวลาใด

1.2 การวดในวศวกรรมซอฟตแวร วศวกรรมซอฟต แว ร เปนศาสต ร ท เกยวขอ งกบการน าว ธทาง

วศวกรรมศาสตรมาประยกตกบการพฒนาซอฟตแวร โดยการวดมความส าคญตอทกขนตอนของการพฒนาซอฟตแวร เนองจาก

1) สามารถชวยบอกใหผพฒนาทราบวาซอฟตแวรทพฒนานนเปนไปตามเปาหมายและก าหนดการทวางไวหรอไม

2) การวดชวยในการกะประมาณคาใชจาย ตนทน ก าลงคน และระยะเวลาของการพฒนาซอฟตแวร

3) การวดจ านวนขอผดพลาดของซอฟตแวร ชวยใหผพฒนาทราบถงความเชอถอไดของซอฟตแวร และสามารถวางแผนการทดสอบไดอยางเหมาะสม

4) การวดจ านวนฟงกชนการท างานของซอฟตแวรตงแตขนตอนตน ๆ สามารถชวยใหผพฒนาคาดคะเนเกยวกบก าลงคนได

สรปไดวา การวดซอฟตแวรมจดประสงคเพอท าความเขาใจซอฟตแวร ควบคมซอฟตแวร และปรบปรงซอฟตแวรนนเอง

ทอม เดอร มาโค กลาววา “ทานไมสามารถควบคมสงททานวดไมได (You cannot control what you cannot measure.)” แตปจจบนไดมการปรบปรงค ากลาวน เปน “ทานไมสามารถจดการสงททานวดไมได (You cannot manage what you cannot measure.)” เพอใหมความหมายดขนเพราะการจดการมความหมายครอบคลมการควบคม

การวดในดานวศวกรรมซอฟตแวรเกยวของกบหวขอตอไปน 1) การประมาณคาใชจายและก าลงคน 2) โมเดลและการวดผลผลต 3) การรวบรวมขอมล 4) โมเดลและการวดคณภาพซอฟตแวร 5) โมเดลความเชอถอไดของซอฟตแวร 6) โมเดลและการประเมนประสทธภาพ 7) มาตรวดเชงโครงสรางและมาตรวดความซบซอน 8) การจดการดวยมาตรวดซอฟตแวร 9) การประเมนวธการพฒนาซอฟตแวรและมาตรวดซอฟตแวร 10) การประเมนระดบวฒภาวะขององคกรทพฒนาซอฟตแวร

1.3 ประเภทของการวด

การวดแบงเปน 2 ประเภท คอ Measurement

1) การวดโดยตรง เปนการวดทสามารถวดจากสงทสนใจไดเลย เชน การ

วดสวนสงหรอน าหนกของคน Calculation

2) การวดโดยออม เปนการน าเอาคาวดโดยตรงหรอคาวดโดยออมหลาย ๆ คามาค านวณเพอใชอธบายคณลกษณะของสงทสนใจ เชน

(1) การประเมนมลคาของสงปลกสรางและทดนโดยธนาคารทใหสนเชอ กไดจากการค านวณปจจยหลายอยาง เชน ราคาทดน ขนาดของบาน และอน ๆ

(2) การคดเลอกทมฟตบอลดเดนตลอดการแขงขน จะไดจากการรวมคะแนนจากการแขงขนแตละครง ซงมคะแนนเปน 0, 1, 3 ถาแขงแลวแพ

เสมอ หรอชนะตามล าดบ → ใชการใหคะแนนกบสงทวด

ไมไดเพอใหวดได การหาทมทดทสดจงใชวธวด

โดยการใหคะแนน

1.4 การวดซอฟตแวร

Page 2: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 2

การวดขนาดของซอฟตแวร การนบจ านวนขอผดพลาด การวดคณภาพของซอฟตแวรหรอของกระบวนการพฒนา ซงคณภาพของซอฟตแวรสามารถอธบายไดดวยปจจยหลาย ๆ ปจจย นนคอ สามารถค านวณจากตววดหลาย ๆ อยาง ไดแก การเกาะกนเปนกอน (cohesion) การขนตอกนของวตถ (coupling) ความเชอถอไดของซอฟตแวร (software reliability) และการบ ารงรกษา (maintainability) เปนตน คาวดคณภาพของซอฟตแวรจงเกดจากคะแนนรวมจากคะแนนของแตละปจจย แลวน าคะแนนรวมนนมาใชในการอธบายภาพรวมของซอฟตแวรซงกคอคณภาพของซอฟตแวรนนเอง

แตนกวจยหลายทานตงขอสงเกตการรวมปจจยหลาย ๆ อยางเพอใหไดมาซงตววดเพยงตวเดยวส าหรบอธบายภาพรวมเชนนไมเหมาะสม ทงน เนองจากการรวมปจจยหลาย ๆ อยาง อาจใหผลไมตรงความเปนจรงไดเพราะอาจมความผดพลาดของผ วดในการเลอกปจจยหรอในการวดแตละปจจยหรอผดพลาดเนองจากการก าหนดน าหนกของแตละปจจย

productivity = outputinput

ทางซอฟตแวร: productivity = sizeef f ort

→ size เชน KLOC

→ effort เชน Man-day

บทท 2 ทฤษฎเกยวกบการวด

2.1 ความสมพนธ (Empirical relations) สงสองสงมความสมพนธกนตองสามารถเปรยบเทยบกนได เชน นาย ก

สงกวานาย ข เปนตน ประโยคนมความหมายวาความสงของนาย ก มากกวาความสงของนาย ข ก าหนดใหความสมพนธแทนดวย (x, y)

2.2 ความสมพนธ (Empirical relations) การวดท าใหเราเขาใจสงทวด การวดเปรยบเทยบไดกรบการแมบสงของ

จากโลกความเปนจรงไปยงโลกของตวเลข โลกความเปนจรง คอ โดเมน (domain) และโลกของตวเลข คอ เรนจ (range) เชน การแมบคนซงคอโจและเฟรดไปยงความสงของเขา ถาความสงแทนดวย M จะไดวา ความสงของโจ คอ M(Joe) = 72 และความสงของเฟรด คอ M(Fred) = 63 และเราสามารถเปรยบเทยบความสงได คอ M(Joe) > M(Fred)

2.3 การสรางโมเดล

โมเดล คอ แบบจ าลองของงานจรงทท าใหเราสามารถอธบายเอนทตหรอแนวคดในมมมองหนงโดยไมสนใจในรายละเอยด

A model is an abstraction of

reality, allowing us to strip away

detail and view and entity or concept

from a particular perspective.

abstraction คอ การถงสงส าคญขนมา เพอ

ท าใหเขาใจไดงายขน (ละ detail ไวกอน เพอท า

ใหสงทซบซอนเขาใจไดงายขน) การสรางโมเดลเกยวของกบสงตอไปน 1) การก าหนดคณลกษณะ ผ สรางโมเดลจะตองก าหนดคณลกษณะของเอนทตทตองการวดให

ถกตอง และชดเจนวามคณสมบตใดบาง และแตละคณลกษณะจะวดไดดวยตววดใด

2) การวดโดยตรงและการวดโดยออม การวดม 2 ประเภท คอ การวดโดยตรง (Direct measurement) และ

การวดโดยออม (Indirect measurement) 3) การวดเพอการประมวลผลและการวดเพอการท านาย การวดเพอประมวลผล (Measurement for assessment) ท าให เรา

เขาใจสถานะของซอฟตแวร ณ ขณะนน รวมทงท าใหเราทราบถงสงทเกดขนในอดต แตการวดเพอการท านาย (Measurement for prediction) ท าใหเราสามารถท านายหรอคาดการณลวงหนาได

ระบบการท านาย (Prediction system) ประกอบดวยโมเดลทางคณตศาสตรทมเซตของกระบวนการส าหรบการท านายพารามเตอรทไมทราบคาและกระบวนการเพอการตความผลลพธทได เชน

Real world

Joe Fred

Number system

63 72

Joe taller than Fred M(Joe) > M(Fred) Empirical relation preserved under M as Numerical relation

M

Page 3: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 3

คาใชจาย (cost) = ระยะทาง (a) x คาน ามนตอแกลลอน (b) / ระยะทางทเดนทางตอน ามนหนงแกลลอน (c)

โมเดล คอ cost = a*b/c กระบวนค าสงส าหรบการท านายพารามเตอรทไมทราบคา คอ กระบวนการหาคา a, b และ c และกระบวนการเพอการตความผลลพธวามความเชอถอไดมากนอยแคไหน

2.4 มาตราสวนของการวด (Measurement scales) และชนดของมาตราสวน (Scale types)

มาตราสวนของการวดแสดงถงการแทนขอมลจากการสงเกตเปนขอมลในระบบตวเลข มาตราสวนการวดแบงออกเปน 5 ประเภท ดงน

1) มาตราสวนแบบกลม (Nominal scale) มาตราสวนแบบกลมเปนมาตราสวนการวดแบบหยาบทมคณลกษณะ 2

อยาง คอ (1) ระบบขอมลจากการสงเกต ประกอบเปนหลาย ๆ ประเภทท

แตกตางกน ประเภทเหลานไมสามารถจดเรยงกนได (2) ระบบขอมลทไมสมพนธกบขนาดของขอมลหรอตวอกษร นน

คอ แตละประเภทหรอกลมจะแทนดวยตวเลขหรอสญลกษณใดกได 2) มาตราสวนแบบเรยงล าดบ (Ordinal scale) มาตราสวนแบบเรยงล าดบเปนมาตราสวนทเพมเตมจากมาตราสวน

แบบกลมในเรองความสามารถในการเรยงของกลม มคณสมบตดงตอไปน (1) ระบบจากการสงเกต ประกอบดวยกลมหลาย ๆ กลม ท

สามารถเรยงล าดบตามคณลกษณะบางอยางได (2) การแมบจากระบบจากการสงเกตไปเปนระบบตวเลข โดยท

ระบบตวเลขนนยงคงเรยงล าดบไดในลกษณะเดมอย (3) ตวเลขนนแสดงถงล าดบเทานน ไมมความหมายถาน าไปบวก

ลบ หรอค านวณทางคณตศาสตรอน ๆ เชน 1 ถา x แทนระดบงายมาก 2 ถา x แทนระดบงาย

M (x)1 = 3 ถา x แทนระดบกลาง 4 ถา x แทนระดบซบซอน 5 ถา x แทนระดบไมสามารถเขาใจได 1 ถา x แทนระดบงายมาก 2 ถา x แทนระดบงาย

M2(x) = 3 ถา x แทนระดบกลาง 4 ถา x แทนระดบซบซอน 10 ถา x แทนระดบไมสามารถเขาใจได ซงทง M1 และ M2 สามารถเรยงล าดบได แตการเปลยนแปลง

ตอไปนไมใช เพราะไมสามารถเรยงล าดงได 1 ถา x แทนระดบงายมาก

1 ถา x แทนระดบงาย M3(x) = 3 ถา x แทนระดบกลาง

4 ถา x แทนระดบซบซอน 10 ถา x แทนระดบไมสามารถเขาใจได

3) มาตราสวนแบบชวง (Interval scale) ไดเฉพาะ + กบ - มาตราสวนแบบชวงมลกษณะ ดงน

(1) ตวเลขจะสามารถเรยงล าดบไดเชนเดยวกบมาตราสวนแบบเรยงล าดบ (2) ตวเลขสามารถบอกความแตกตางระหวางสองกลมใด ๆ แตไมสามารถบอกสดสวนได (3) สามารถน าตวเลขนนไปบวกกนหรอลบกนได แตไมสามารถน าไปคณหรอหารได **

เชน วนหนงถาวดอณหภม ทลอนดอนได 20 องศาเซลเซยส และทวอชงตนได 30 องศาเซลเซยส กสามารถเปรยบเทยบไดวาอากาศทวอชงตนรอนกวาทลอนดอน และการเพมจาก 20 องศาเซลเซยส เปน 21 องศาเซลเซยสทลอนดอน จะหมายถงระดบความรอนทเพมขนหนงองศา ซงจะเทากบระดบความรอนทเพมขนทวอชงตนถาอณหภมเพมจาก 30 เปน 31 องศาเซลเซยส แตไมไดหมายความวาอากาศทลอนดอนรอนเปนสองในสามเทาของอากาศทวอชงตน หรออากาศทวอชงตนรอนมากกวาทลอนดอน 50 เปอรเซนต เนองจากมาตราสวนแบบชวงจะไมมความหมายถาเปนสดสวน หรอเมอน าไปคณหรอหาร

4) มาตราสวนแบบอตราสวน (Ratio scale) +, -, x และ ÷

มาตราสวนแบบอตราสวนมลกษณะดงตอไปน (1) ตวเลขจะสามารถเรยงล าดบได ชวงระหวางตวเลขจะเทากน

และสดสวนของตวเลขจะมความหมาย (2) ตวเลขศนยมความหมายทแทจรงคอไมมคาของคณลกษณะนน (3) การแปลงจากระบบขอมลจากการสงเกตไปเปนระบบตวเลข จะเรมตนทเลขศนย แลวเพมขนดวยชวงทเทากน (4) ตวเลขเหลานนสามารถท าการค านวณทางคณตศาสตรและมความหมายได

5) มาตราสวนแบบสมบรณ (Absolute scale) +, -, x และ ÷

มาตราสวนแบบสมบรณมลกษณะดงน (1) การวดจะไดจากการนบจ านวนสมาชกในกลม (2) คณลกษณะจะอยในรปของจ านวนการเกดขนของเหตการณ x ของเอนทต (3) มวธการแปลงเพยงอยางเดยวคอ การนบจ านวน (4) การค านวณทางคณตศาสตรมความหมาย

เชน จ านวนความ ลม เหลวระหวางการทดสอบแบบรวมส วน (Integration testing) จะสามารถนบไดดวยวธเดยวเทานน คอ นบจ านวนความลมเหลงทเกดขน หรอจ านวนบคลากรทท างานในโครงงานหนง ๆ

c

c

Page 4: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 4

2.5 การวดทมความหมาย การวดจะมความหมายถาคาความจรงจะไมเปลยนแปลงตามการแปลง

ไดของมาตราสวนนน ๆ ตวอยางเชน (1) จ านวนขอผดพลาดทคนพบระหวางการทดสอบแบบรวมสวน

ของโปรแกรม X มอยางนอย 100 (ถก เพราะแปลความหมายไดอยางเดยววา 100 ขอผดพลาด)

(2) คาใชจายในการแกไขขอผดพลาดในโปรแกรม X คอยางนอย 100 (ผด เพราะไมรวา 100 อะไร เชน 100 บาท หรอ 100 คน หรออน ๆ)

(3) ขอผดพลาดทางความหมายจะใชเวลาในการแกไขมากกวาขอผดพลาดแบบวากยสมพน ธ เปนสองเทา (ถก เพราะหากแกไขขอผดพลาดทางความหมาย 1 hr. จะตองใชเวลาในการแกไขขอผดพลาดแบบวากยสมพนธ 0.5 hr. เพราะโจทยบอกวาใชเวลามากกวาเปน 2 เทา ดงนนจงตความไดเพยงอยางเดยววาคาจะเปลยนแปลงเปน 2 เทาของอกอนหนง) 2.6 การค านวณทางสถตส าหรบมาตราสวนแบบตาง ๆ

1) การค านวณทางสถต ประเภทของมาตราสวนของการวดมผลตอการเลอกใชชนดของการ

ค านวณและวธการทางสถต ชนดของการค านวณเบองตน ประกอบดวย +, -, x และ ÷ วธการวเคราะหทางสถต เบ องตน คอ การก าหนดคาเขาสสวนกลางและการหาคาความแปรปรวน คาเขาสสวนกลาง เชน คาเฉลย (Mean) เปนการบอกคาโดยเฉลยหรอคากลาง สวนคาความแปรปรวนเปนการบอกวาคาขอมลตาง ๆ อยหางจากคากลางเทาใด

เชน มขอมลตวอยาง 13 ตว จ านวนดงน 2, 2, 4, 5, 5, 8, 8, 10, 11, 11, 11, 15, 16 จะม

คาเฉลย (Mean) คอ 9.1 คามธยฐาน (Median) คอ 8 คาฐานนยม (Mode) คอ 11 2) การวดทขนและไมขนกบความคดเหนของผ วด (Subjective and

Objective) การวดคณลกษณะของสงทสนใจ ควรจะวดโดยทการวดไมขนกบความ

คดเหนของผ วด นนคอ การวดสงเดยวกนจากผ วดหลายคนตองไดคาวดทเหมอนกน ไมวาจะวดซอฟตแวร กระบวนการพฒนาซอฟตแวร หรอทรพยากรทใช

3) การวดจากคณลกษณะยอย คณลกษณะทสนใจบางอยางประกอบดวยคณลกษณะยอยหลาย ๆ

อยาง ดงนนถาเราไมสามารถวดคณลกษณะหลกไดโดยตรง เรากสามารถวดจากคณลกษณะยอยแทนได ทงนเนองจากวาคณลกษณะยอยอาจจะเขาใจไดงายกวาคณลกษณะหลก เชน การเปรยบเทยบวธทใชในการเดนทางไกลดวย รถยนต รถไฟ เครองบนหรอรถโคช จะเหนวาเราไมสามารถวดคณลกษณะของการเดนทางจากยานพาหนะแตละประเภทไดโดยตรง แต

เราสามารถวดไดจากคณลกษณะยอยได คอ ระยะเวลาทใชในการเดนทางและคาใชจายทเกดขนตลอดการเดนทางหรอคาใชจายตอการเดนทางหนงไมล เปนตน

บทท 3 โครงรางแบบโกลเบสส าหรบการวดซอฟตแวร

3.1 ประเภทของการวด กจกรรมทส าคญของการวดคอ การระบเอนทตและคณลกษณะของ

เอนทต ในทนเอนทตคอซอฟตแวรทประกอบดวย ผลตภณฑซอฟตแวร (Product) กระบวนการพฒนาซอฟตแวร (Process) และทรพยากรทใชในการพฒนา

คณลกษณะของซอฟตแวร ม 2 ประเภท คอ (1) คณลกษณะภายใน สามารถวดไดโดยตรงจากผลตภณฑ

ซอฟตแวร กระบวนการพฒนาซอฟตแวรและทรพยากรทใชในการพฒนาซอฟตแวรไดเลย โดยไมพจารณาพฤตกรรมดวย

(2) คณลกษณะภายนอก กระบวนการพฒนาซอฟตแวรและทรพยากรทใชในการพฒนาซอฟตแวรมความสมพนธกบสงแวดลอม นนคอ

พฤตกรรมมความส าคญมากกวาเอนทต → พฤตกรรมการใช

process, product และ resource

process (specifying,

designing, testing,

interviewing)

entity product (specification,

designs, programs, test

suites)

resource/people (personnel,

hardware, software, office

space)

** เพม Project

1) กระบวนการพฒนาซอฟตแวร (Process) การวดกระบวนการพฒนาซอฟตแวรท าใหทราบสถานะและขอมลตาง ๆ

ของกจกรรมในกระบวนการพฒนาซอฟตแวรทไดกระท าไปแลว เชน ระยะเวลาและคาใชจายทใชในการกระท ากจกรรม ประสทธภาพของกจกรรม

เอนทต คณลกษณะของเอนทต

Page 5: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 5

ผลผลต = ปรมาณผลผลตทเปนผลลพธ / ก าลงคนทใช

ผลตภณฑซอฟตแวร คณลกษณะภายใน คณลกษณะภายนอก

รายละเอยดขอก าหนดซอฟตแวร

ขนาด การน าไปใชใหม ความซ าซอน ฟงกชนก า ร ท า ง า น ค ว า มถกตองทางไวยากรณ

ความสามารถในการท า ค ว า ม เ ข า ใ จ ความสามารถในการบ ารงรกษา

2) ผลตภณฑซอฟตแวร (Product) ผลตภณฑซอฟตแวรเปนสงหรอเอกสารทสรางขนในระหวางการพฒนา

ซอฟตแวร ซงอาจจะไมสงมอบใหลกคากได

คณลกษณะภายใน สงทวดไดโดยตรงจากซอฟตแวร เชน ขนาด จ านวนหนา จ านวนฟงกชน

คณลกษณะภายนอก คณลกษณะภายนอกขนกบพฤตกรรมของผลตภณฑและสภาพแวดลอม เชน ความนาเชอถอไดของโปรแกรมกบคอมพวเตอร ระดบประสบการณของผ ใช คณลกษณะภายนอก ไดแก ความสามารถในการใชงาน ความซอตรง ประสทธภาพ ความสามารถในการทดสอบ ความสามารถในการน ากลบมาใชใหมไดอก เปนตน

** ความส าคญของคณลกษณะภายใน >> โครงสรางทดจะท าใหคณภาพของซอฟตแวรดดวย

3) ทรพยากรทใชในการพฒนาซอฟตแวร ทรพยากรทใชในการพฒนาซอฟตแวรสวนใหญแลว คอ ขอมลเขาหรอ

สงทใชในการพฒนาซอฟตแวร เชน บคลากร เอกสารส านกงาน การวดทรพยากรท าใหเราทราบขนาด คาใชจายและคณภาพของทรพยากรทตองใชในโครงงาน ท าใหเราสามารถเขาใจและควบคมกระบวนการพฒนาซอฟตแวรวาใชอยางไร มการเปลยนขอมลเขาเปนผลลพธอยางไร ผจดการซอฟตแวรสามารถประเมนผลผลตไดจากอตราสวนของปรมาณผลผลตและก าลงคนทใชในการพฒนาได นนคอ

3.2 การตดสนใจวาวดอะไร 1) วธจควเอม (Goal-Question-Metric) วธจควเอม ของ Basili และคณะ เปนวธการทชวยคนหาวาองคกรหรอ

โครงงานนนจะวดอะไร ประกอบดวย 3 ขนตอน คอ (1) การระบเปาหมายหลกของโครงงานพฒนาซอฟตแวร หรอการ

บ ารงรกษาซอฟตแวร (2) การสรางค าถามจากแตละเปาหมายโดยทค าตอบเหลานจะใช

เปนตวตดสนวาไดบรรลเปาหมายหรอไม (3) การตดสนใจเรองตววด ทจะชวยใหตอบค าถามเหลานได

แมแบบส าหรบการก าหนดเปาหมายขององคกร (1) ดานความมงหมาย (Purpose)

ตองการ (แจกแจงคณลกษณะ ประเมนคา กะประมาณ กระตน หรออน ๆ) เพอทจะ (ท าความเขาใจ ประเมน จดการ ด าเนนการทางดานวศวกรรม เรยนร ปรบปรง หรออน ๆ) เชน ตองการประเมนคากระบวนการบ ารงรกษาซอฟตแวร เพอทจะปรบปรงใหดขน

(2) ดานแงมมขนกบผมอง (Perspective)

ตองการตรวจสอบ (คาใชจาย ประสท ธผล ความถกตอง ขอผดพลาด การเปลยนแปลง การวดผลตภณฑซอฟตแวร เปนตน ) จากมมมองของ (ผ พฒนา ผ จดการ ลกคา เปนตน) เชน ตองการตรวจสอบตนทนหรอคาใชจายในมมมองของผจดการ

(3) ดานสภาพแวดลอม (Environment) สภาพแวดลอมประกอบดวยปจจยดานกระบวนการพฒนา

ซอฟตแวร ปจจยดานบคลากร ปจจยดานปญหาตาง ๆ วธการทใช เครองมอทใชหรอขอจ ากดตาง ๆ เปนตน เชน บคลาการดานบ ารงรกษาซอฟตแวร คอ โปรแกรมเมอรทมความกระตอรอรนนอยและมโอกาสนอยในการใชเครองมอตาง ๆ กระบวนการวดและการปรบปรงกระบวนการพฒนาซอฟตแวร

2) การวดซอฟตแวรมประโยชนคอ (1) ท าใหเขาใจซอฟตแวร กระบวนการพฒนาซอฟตแวรและ

ทรพยากรทใช (2) สามารถน าผลของการวดไปเปนหลกฐานทเปนผลตภณฑซอฟตแวรทจะตองผลตได ณ เวลาทก าหนด

(3) สามารถประเมนและประมาณซอฟตแวรได วธจควเอมไมไดมการก าหนดมาตรสวนของการวด เรองการไม

ขนกบผ วดและสงแวดลอม ดงนนผ ใชตองระมดระวงในการใชจควเอมดวย นอกจากนการก าหนดตววดตองค านงถงประเภทของกระบวนการพฒนาซอฟตแวรทใช เนองจากกระบวนการพฒนาซอฟตแวรทแตกตางกนจะมระดบวฒภาวะในการพฒนาซอฟตแวรทแตกตางกนดวย

ระดบวฒภาวะขององคกรทพฒนาซอฟตแวร โดยโมเดลซเอมเอม (Capability Maturity Model) (1) ระดบ ต นห รอ เฉพ าะก จ (Ad hoc) ไม ม ก า รระบ เ ร อ ง

กระบวนการพฒนาซอฟตแวร และไมมการก าหนดขอมลเขาของระบบ รวมทงไมมการก าหนดวธการขอมลเขาเปนผลผลต ความส าเรจของโครงการขนกบความสามารถของบคลากรทอยในทม

(2) ระดบการท าซ า (Repeatable) มการก าหนดขอมลเขาและผลตผลทจะได รวมทงขอจ ากดดานงบประมาณและดานการก าหนดทรพยากรทใช

(3) ระ ด บ ก ระบ วน ก า รช ด เจ น (Defined) ม ก า รก าห น ดกระบวนการพฒนาซอฟตแวรทชดเจนวามกจกรรมอะไรบาง สามารถวดเกยวกบกจกรรมตาง ๆ ผลตภณฑซอฟตแวรจากกจกรรมตาง ๆ ขอผดพลาด

Page 6: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 6

จากกจกรรมเหลานน สามารถน าขอมลของกจกรรมและผลตภณฑซอฟตแวรของขนตอนแรก ๆ ไปประมาณเกยวกบกจกรรมและผลตภณฑซอฟตแวรในขนตอนหลง ๆ ได

(4) ระดบทมการจดการ (Managed) น าผลของโครงงานกอน มาใชในการจดการล าดบความส าคญของงาน มการประเมนประสทธภาพของกจกรรมของกระบวนการตาง ๆ

(5) ระดบทดทสด (Optimizing) มการวดผลลพธ และน าคาวดนนมาปรบปรงกระบวนการตาง ๆ โดยการยกเลกหรอการเพมหรอการจดโครงสรางของกระบวนการใหม

3) การใชจควเอมกบองคกรทมระดบวฒภาวะในกระบวนการพฒนาซอฟตแวรทแตกตางกน

เปาหมายของการพฒนา (1) เพอเพมปรมาณผลผลตซอฟตแวร (2) เพอปรบปรงคณภาพซอฟตแวร (3) เพอลดความเสยงทอาจจะเกดขน

การตงค าถาม - ระดบวฒภาวะท 1 ตองตงค าถามเกยวกบการระบขอก าหนดความ

ตองการใหชดเจนและถกตอง การวดในระดบนควรจะวดขอก าหนดความตองการและจ านวนการเปลยนแปลงขอก าหนดความตองการ เพอก าหนดเปนเกณฑพนฐานส าหรบการตรวจสอบความกาวหนาตอไป

- ระดบวฒภาวะท 2 ในระดบนมการก าหนดขอก าหนดความตองการอยางดแลว ดงนนเราจงสามารถรวบรวมขอมลหลาย ๆ ประเภทของขอก าหนดความตองการได เชน ดานฐานขอมล ดานสวนตอประสาน ดานประสทธภาพ เปนตน นอกจากนจะสามารถหาจ านวนการเปลยนแปลงในแตละประเภทของขอก าหนดความตองการได

- ร ะ ด บ วฒ ภ า ว ะ ท 3 ใ น ร ะ ด บ น ม ค ว า ม ช ด เจ น ใน ด า นกระบวนการพฒนาซอฟตแวรและมการก าหนดกจกรรมตาง ๆ ในกระบวนการพฒนาซอฟตแวร พรอมทงมการระบจดเรมตนและจดสนสดของแตละกจกรรมอยางชดเจน จงสามารถตรวจสอบยอนกลบไปกลบมาจากขอก าหนดความตองการแตละขอไปยงการออกแบบ สวนของโปรแกรมและการทดสอบได พรอมทงสามารถบนทกผลกระทบของการเปลยนแปลงของแตละองคประกอบได

3.3 การประเมนวธการและเครองมอ องคกรอาจจะน าเอาวธการในการพฒนาใหมหรอเครองมอใหมมา

ทดลองใชกบโครงงานขนาดเลกกอน แลวจงประเมนเพอทจะตดสนใจวาควรจะลงทนในวธการในการพฒนาใหมหรอเครองมอใหมหรอไม

3.4 การตรวจสอบความถกตองของการวด - การวด เปนการประเมนเอนทตทมอย โดยการก าหนดตวเลขหรออกษร

ใหกบคณลกษณะทสนใจ

- การประมาณ เปนการประมาณคณลกษณะของเอนทตในอนาคต จะตองเกยวของกบโมเดลทางคณตศาสตร และขนตอนในการประมาณ

1) ตววดในมมมองของนกคณตศาสตร ตววดจะแสดงไดดวยฟงกชน m ทก าหนดขนจากวตถ x และวตถ y

เขยนเปน m(x,y) โดยตววด m(x,y) จะตองมคณสมบต ดงตอไปน - m(x,y) = 0 ส าหรบทกๆ x - m(x,y) = m(y,x) ส าหรบทกๆ x, y - m(x,z) <= m(x,y) + m(y,z) ส าหรบทกๆ x, y, z 2) การตรวจสอบระบบการประมาณ เกยวของกบการวางแผนการทดลอง และการทดสอบสมมตฐาน

เพอทจะยนยนหรอปฏเสธสมมตฐาน แตไมใชการพสจนทางคณตศาสตร การประมาณม 2 แบบ คอ

(1) ดเทอรมนสตค (Deterministic) คอ การประมาณทไดผลลพธเหมอนกนเสมอแมวาบคลากรทใชวดจะแตกตางกน

(2) สโตเคสตค (Stochastic) คอ การประมาณ ทไดผลลพ ธแตกตางกนเสมอ ถาบคลากรทใชวดแตกตางกน

การประมาณคาจาย ก าลงคน ก าหนดการ และความเชอถอไดของซอฟตแวรเปนการประมาณแบบสโตเคสตค

3) การตรวจสอบระบบการวด คอกระบวนการทท าใหแนใจวาตววดไดรบการก าหนดคณลกษณะท

ถกตอง โดยดจากเงอนไขทก าหนดเปนจรง เชน ตองการวดความยาวของโปรแกรม ในทนโปรแกรมเปนเอนทตและความยาวของโปรแกรมเปนคณลกษณะทสนใจ ตววดความยาวนจะตองไมขดแยงกบความหมายของความยาวของโปรแกรม ถาตองการน าโปรแกรม 2 โปรแกรม คอ โปรแกรม P1 และโปรแกรม P2 มาเรยงตอกน จะได P1 : P2 ซงมความยาวเปนความยาวของโปรแกรม P1 และโปรแกรม P2 มารวมกน ถาให m เปนตววดความยางทสอดคลองกบเงอนไข

m(P1 : P2) = m(P1) + m(P2) ถาโปรแกรม P1 มความยาวมากกวาโปรแกรม P2 แลวตววด m จะตอง

สอดคลองกบ M(P1) > m(P2)

3.5 การตรวจสอบความถกตองของการวดในทางปฏบต 1) ขอก าหนดของการตรวจสอบความถกตอง ม 2 ประเภทคอ

(1) ความถกตองแบบกวาง โดยการตรวจสอบแบบกวาง จะตองเปนไปตามขอก าหนด 2 ขอคอ

- ถกตองภายใน - ตองมการทดสอบสมมตฐานเพอสรปใหกวางขน

(2) ความถกตองแบบแคบ - ถกตองภายใน

2) สงทไมควรกระท าในการตรวจสอบ

Page 7: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 7

บางครงการตรวจสอบตววดใหมอาจจะท าโดย หาความสมพนธกบตววดเดมทมชอเสยงด การตรวจสอบแบบนเปนสงทนาสนใจเนองจาก

- การตรวจสอบแบบนไดตงสมมตฐานไววาตววดทมอยแลวเปนตววดทถกตอง ดงนน ถาตววดใหม มความสมพนธ ทดกบตววดเดม หมายความวาตววดใหมกถกตองดวย - การตรวจสอบแบบนเปนการท าแบบตรงไปตรงมา เนองจากตววดเดมนนงายตอการวดหรอค านวณ และอาจจะมเครองมอทจะวดคาตววดอยางอตโนมต - ถาการจดการกบตววดเดมเปนการจดการทคนเคย แสดงวาตววดใหมกจะมความนาเชอถอไดมากขน

3) การเลอกระบบการประมาณทเหมาะสม ประเภทท 1 สามารถใชตววดคณลกษณะภายในของผลตภณฑ

ซอฟตแวรขนตน ๆ ไปประมาณตววดคณลกษณะภายในของผลตภณฑซอฟตแวรในขนตอนถด ๆ ไป

ประเภทท 2 สามารถใชตววดคณลกษณะของกระบวนการพฒนาซอฟตแวรและทรพยากรทใชในขนตอนตน ๆ ไปประมาณตววดคณลกษณะของกระบวนการพฒนาซอฟตแวรและทรพยากรของขนตอนถด ๆ ไปได

ประเภทท 3 สามารถใชตววดคณลกษณะภายในของผลตภณฑซอฟตแวร ในการประมาณคณลกษณะของตววดของกระบวนการพฒนาซอฟตแวรและทรพยากรทใชได

ประเภทท 4 สามารถใชตววดคณลกษณะของกระบวนการพฒนาซอฟตแวรไปประมาณตววดคณลกษณะของกระบวนการพฒนาซอฟตแวรของขนตอนถด ๆ ไปได

บทท 4 การวางแผนการทดลอง

4.1 กฎเบองตนในการตรวจสอบ 1) การเลอกเทคนคทใชตรวจสอบ

(1) การส ารวจ (Survey) เปนการศกษายอนกลบของเหตการณหรอสถานการณทเกดขนแลว โดยตองการบนทกขอมล ความสมพนธและผลทไดรบ ผส ารวจไมสามารถควบคมเหตการณหรอสถานการณของการส ารวจได นนคอผส ารวจไมสามารถก าหนดปจจยทเกยวของไดเลย

(2) กรณศกษา (Case Studies) เปนเทคนคการท าวจยอยางหนงทผศกษาสามารถก าหนดปจจยหลกทมผลกระทบตอผลทจะไดรบจากการท ากจกรรมได และสามารถบนทกกจกรรม ขอมลเขา ทรพยากรทใช และผลลพธทได

(3) การวางแผนการทดลอง (Experimental design) เปนการตรวจสอบทสามารถควบคมกจกรรมไดอยางเขมงวด โดยสามารถระบปจจยหลกและจกการปจจยเหลานนได

2) การตงสมมตฐาน

สมมตฐานคอทฤษฎทยงไมไดทดสอบหรอขอสมมตทมพฤตกรรมทตองการศกษา

3) การควบคมตวแปร ขนตอนนคอ การเลอกตวแปรหรอปจจยทมผลตอสมมตฐานนน การท

สามารถควบคมปจจยได แยกความแตกตางระหวางการวางแผนการทดลองกบกรณศกษา กรณทไมสามารถควบคมวาใครใชวธการใดจะตองท าเปนกรณศกษา แตถาสามารถระบไดวาใครใชเครองมอใด (Cleanroom หรอ SSADM) ใชเมอใดและทไหน เปนเวลานานเทาใดจะเปนการวางแผนการทดลอง

การวางแผนการทดลองจะมตวแปรอสระ (Independent variable) หรอเรยกวาตวแปรสเตท (State variable) หรอตวแปรทมผลกระทบตอผลลพธ โดยผลลพธนนเรยกวาตวแปรตาม (Dependent variable) คาของตวแปรตามจะมผลกระทบมาจากการเปลยนแปลงตวแปรอสระ เชน ถาสนใจศกษาผลกระทบของภาษาคอมพวเตอรวามผลกระทบตอคณภาพของซอฟตแวรหรอไม ตวแปรอสระกคอภาษาคอมพวเตอร และตวแปรตามคอคณภาพของซอฟตแวร

4) การท าใหการตรวจสอบมความหมาย (1) การยนยนทฤษฎ (2) การศกษาความสมพนธ โดยผ ประกอบการอาจสนใจด

ความสมพนธระหวางคณลกษณะตาง ๆ ของทรพยากรทมตอผลตภณฑ (3) การประเมนความถกตองของโมเดล การวางแผนการทดลอง

สามารถใชประเมนความถกตองของโมเดลไดโดยการเปรยบเทยบคาจรงและคาประมาณทไดจากการใชโมเดล

(4) การตรวจสอบตววด ตววดจะถก ตองถาตววดยงคงมคณลกษณะนนอย แมวาเงอนไขจะเปลยนไป

4.2 การวางแผนการทดลอง 1) ขนตอนส าหรบการทดลอง

(1) แนวความคด ก าหนดวตถประสงคของการศกษาอยางชดเจน (2) การออกแบบ เปนการแปลงวตถประสงคของการศกษาเปน

สมมตฐาน 2 อยาง คอ - สมมตฐานหลก (Null hypothesis: H 0 ) จะสมมตใหไมม

ความแตกตางระหวาง 2 ทรทเมนต (สองวธการ สองเครองมอ สองเทคนค เปนตน)

- ส ม ม ต ฐ า น ร อ ง (Alternative hypothesis ห ร อ experimental hypothesis: H 1 ) สมมตใหมความแตกตางระหวาง 2 ทรทเมนตอยางมนยส าคญ

- ทรทเมนต คอ วธใหมหรอเครองมอใหม - trial คอ การทดลองแตละครง (ท าซ าๆ หลายครง) - หนวยทดลอง (Experimental objects) คอ สงทไดรบทรทเมนต - ผทดลอง (Experimental subjects) คอ ผ ทใชทรทเมนต

Page 8: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 8

- control object คอ ตวควบคม - ในบางครงตวแปรตามเรยกวา Response variables คอ ทคาด

วาจะเปลยนแปลงเมอมการใหทรทเมนต (3) การเตรยมการ การเตรยมผทดลอง หนวยทดลอง ตองมการ

เขยนขนตอนการทดลองอยางชดเจน ถาเปนไปไดตองทดลองเปน pilot study กบคนจ านวนนอยกอนเพอตรวจสอบความถกตองของขนตอนเหลานน

(4) การทดลอง ท าการขนตอนทไดเตรยมไว วดคาคณลกษณะตามทไดก าหนดไว จากนนประยกต ทรทเมนตกบหนวยทดลอง

(5) การวเคราะห แบงเปน 2 สวน คอ การตรวจสอบวาตววดนนถกตอง และการวเคราะหดวยวธการทางสถตเพอทดสอบสมมตฐาน

(6) การเผยแพรและการตดสนใจ สรปผลวาทรทเมนตมผลกระทบอยางไร

2) กฎเกณฑเบองตนส าหรบการวางแผนการทดลอง โดยทวไปหนงหนวยทดลองจะไดรบเพยงหนงทรทเมนตเทานน แตหนง

ทรทเมนตควรมการทดลองหลายๆ ครง ดงนนจงตองใชหลาย ๆ หนวยทดลอง การทหนวยทดลองทคลายคลงกนไดรบทรทเมนตเดยวกนแตใหผลลพธทแตกตางกนแสดงวามความคลาดเคลอนจากการทดลองเกดขน (Experimental error) ความคลาดเคลอนสะทอนใหเหนปญหาตางๆ ตอไปน

1. ความคลาดเคลอนจากการทดลอง (Errors of experimentation) 2. ความคลาดเคลอนจากการสงเกต (Errors of observation) 3. ความคลาดเคลอนจากการวด (Errors of measurement) 4. ความแตกตางของทรพยากร (The variation in experimental

resources) 5. ผลกระทบโดยรวมของปจจยภายนอกอนๆ

(1) การท าซ า (Repetition) ก ารทดลองซ าภ าย ใต เง อน ไข ทเหมอนกน ซงไม ใชการทดลองกบหนวยตวอยางเดม เพอหาความคลาดเคลอนของการทดลองและหาคาเฉลยผลกระทบของแตละปจจย

(2) การสม (Randomization) การจดหนวยตวอยางใหกบกลม หรอการก าหนดทรทเมนตใหกบหนวยทดลอง

- การทดลองซ าในทกเงอนไข เรยกวา ภายในหนวยตวอยางทสมพนธกน (related within-subject design)

- หนวยทดลองทตางกนกบเงอนไขทตางกน เรยกวา ระหวางหนวยตวอยางทไมสมพนธกน (unrelated between-subjects design)

(3) การควบคมปจจยทองถน (Local control) เปนการบอกระดบการควบคมหนวยตวอยางทมตอหนวยทดลองและกลมของหนวยทดลองเหลานน การท าซ าและการสมท าใหมนใจวาการทดสอบนนมนยส าคญ สวนการควบคมปจจยทองถนจะชวยลดขนาดของความคลาดเคลอนจากการ

ทดลอง ซงสามารถท าได 2 วธ คอ การบลอก (Blocking) และการท าสมดล (Balancing)

- การบลอก คอ การจดสรรหนวยทดลองใหกบบลอก หรอกลมโดยทหนวยทดลองทอยในบลอกเดยวกนมความคลายกน แตหนวยทดลองตางบลอกกนตองมความแตกตางกน การบลอกท าใหความแตกตางกนของหนวยทดลองพวพนกบผลกระทบของการบลอก และไมสงผลตอความคลาดเคลอนของการทดลอง

- การท าสมดล เปนการบลอกและการก าหนดทรทเมนต โดยใหแตละทรทเมนตทดลองกบหนวยทดลองจ านวนเทา ๆ กน

การทดลองแบงเปน (1) การทดลองแบบสมบรณอยางสม เปนการทดลองทหนวย

ทดลองทก ๆ หนวยมความเหมอนกน การก าหนดทรทเมนตท าโดยการสมและแตละทรทเมนตไดทดลองกบหนวยทดลองจ านวนเทากน

(2) การทดลองแบบบลอกอยางสมบรณ เปนการทดลองทแบงหนวยทดลองออกเปนบลอกดวยหนงปจจย หนวยทดลองทคลายกนใหอยในบลอกเดยวกน แตในแตละบลอกมหนวยตวอยางไมเทากน การก าหนด ทรทเมนตเปนไปอยางสม

(3) การทดลองแบบบลอกสมบรณ เปนการทดลองทแบงหนวยทดลองออกเปนบลอกดวยหนงปจจย หนวยทดลองทคลายกนใหอยในบลอกเดยวกน และในแตละบลอกมจ านวนหนวยตวอยางเทากน การก าหนดทรทเมนตเปนไปอยางสม

(4) การทดลองแบบลาตนสแควร เปนการทดลองทแบงหนวยทดลองออกเปนบลอกดวยปจจย 2 ปจจย การก าหนดทรทเมนตเปนไปอยางสม

3) ประเภทของการวางแผนการทดลอง การทดลองทมปจจยทสนใจศกษาตงแต 2 ปจจยขนไป เรยกวา แฟคตอ

เรยล (Factorial design) (1) ครอส (Crossing) ถาสนใจ 2 ปจจย คอ A และ B โดยทแตละ

ระดบของแตละปจจยมแตละระดบของอกปจจยหนงปรากฏ เรยกวา แฟคตอเรยลแบบครอส (AxB)

ปจจย B ระดบ 1 ระดบ 2 ระดบ 3

ปจจย A ระดบ 1 a b1 1 a b1 2 a b1 3 ระดบ 2 a b2 1 a b2 2 a b2 3

(2) เนสต (Nesting) ปจจย B จะเนสภายในปจจย A ถาแตละ

ระดบของปจจย B จะเกดรวมกบเพยงหนงระดบของปจจย A เทานน เขยนแทนดวย B(A) เมอ B เปนปจจยทถกเนส และ A เปนปจจยทเนส

ปจจย A ระดบ 1 ระดบ 2 ปจจย B ปจจย B

Page 9: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 9

ระดบ 1 ระดบ 2 ระดบ 3 ระดบ 1 ระดบ 2 ระดบ 3

a b1 1 a b1 2 a b1 3 a b2 1 a b2 2 a b2 3

4) การเลอกประเภทการวางแผนการทดลอง

(1) การเลอกจ านวนปจจย นอกจากจะศกษาปจจยเดยวหลายๆ ปจจยไปพ รอมๆ กนแลว ควรศกษาการมผลกระทบซงกนและกน (Interaction) เพราะปจจยทหนงอาจจะมผลรวมกบปจจยทสองท าใหคาตวแปรตามเปลยนแปลงได

(2) ปจจยหรอบลอก การตดสนใจวาจะใหตวแปรหนงเปนเพยงบลอกหรอเปนปจจยส าคญ มหลกเกณฑดงน - ถาศกษาผลกระทบของวธการหรอเครองมอ ควรจะหาตวแปรอสระอน ๆ ทนาจะมผลกระทบตอผลลพธ แลวใหตวแปรเหลานนเปนบลอก ทงนพอทราบแลววาตวแปรอสระมผลกระทบตอตวแปรตามโดยไมตองศกษาอก - ถ าตองการผลกระทบของว ธการหน งห รอ เค รองมอ ในสภาพแวดลอมหลาย ๆ แบบ นนคอ สนใจผลกระทบจากปจจยอน ๆ ในสภาพแวดลอมดวย ดงนนควรใหตวแปรอน ๆ เปนปจจยในการศกษาดวย

(3) การเลอกระหวางการออกแบบเนส (Nested design) หรอการออกแบบแบบครอส (Crossed design)

- เลอกการออกแบบแบบเนส ถาสนใจเพยงหนงปจจย แตเงอนไขตงแต 2 เงอนไขขนไป

- เลอกการออกแบบแบบครอส ถาสนใจ 2 ปจจยและแตละปจจยมเงอนไขตงแต 2 เงอนไขขนไป

(4) ผลกระทบแบบตายตวห รอแบบส ม (Fixed or random effects)

- ผลกระทบแบบตายตว (Fixed effects model) เปนโมเดลทมจ านวนปจจยหรอจ านวนบลอกตายตว

- ผลกระทบแบบสม (Random effects model) เปนโมเดลทมจ านวนปจจยหรอจ านวนบลอกเปนตวอยางสมมาจากประชากร

(5) การออกแบบผกระท าแบบคเปรยบเทยบหรอแบบคนเดยวกน (Matched – or same – subjects designs) ใชในกรณ ท ไม สามารถหาหนวยทดลองหรอหนวยตวอยางหลายๆ หนวยส าหรบทดลองกบหลายๆ ทรทเมนต คอใชหนวยทดลองหรอหนวยตวอยางเดยวกนซ าส าหรบทดลองกบทรทเมนตอน ๆ

(6) การวดคาซ า ชวยในการตรวจสอบความถกตองของการวด โดยการประเมนขอผดพลาดทอาจเกดจากการวดคา

4.3 การวางแผนส าหรบการท ากรณศกษา กจกรรมท ตองท าส าหรบกรณศกษา จะคลายกบการทดลองซง

ประกอบดวย การก าหนดวตถประสงค การออกแบบ การเตรยมการ การ

ด าเนนการทดลอง การวเคราะห การเผยแพรและการตดสนใจ การลดความเอนเอยงส าหรบกรณศกษาท าได 3 แบบ ดงน

1) โครงงานพนอง (Sister projects) เปนการศกษาจาก 2 โครงงานเพอเปรยบเทยบกน 2) เกณฑพนฐาน (Baselines) ในกรณทไมสามารถหาโครงงานทคลายกนเพอท าโครงงานพนองได จง

ตองท าการเปรยบเทยบกบเกณฑมาตรฐาน เรมจากเกบขอมลหลาย ๆ โครงงาน โดยไมสนใจลกษณะความแตกตางของโครงงานเหลานน ใชการหาคาสถตเบองตนเพอคาแนวโนมเขาสสวนกลาง จากนนคอการใชวธการตรวจสอบแบบใหมกบโครงงานหนงแลววดคาตาง ๆ เพอเปรยบเทยบกบเกณฑมาตรฐานของบรษท

3) การเลอกอยางสม (Random selection) แบงโครงงานเปนหลายๆ สวน แลวศกษาเปรยบเทยบจากแตละสวน

เชนสวนทหนงใชวธการตรวจสอบแบบเดมและสวนทสองใชวธการตรวจสอบแบบใหม การก าหนดใหแตละสวนไดรบทรทเมนตใดควรท าอยางสม

บทท 5 การเกบรวบรวมขอมล

5.1 ลกษณะของขอมล 1) ขอมลทมความถกตอง (Correct data) ขอมลทเกบรวบรวมตามกฎของตววดอยางละเอยด 2) ขอมลทมความแมนย า (Accurate data) ขอมลทมคาไมแตกตางไปจากคาจรงของขอมล 3) ขอมลทมความเทยงตรง (Precise data) จ านวนจดทศนยม หรอความละเอยดท าจ าเปนในการใชแสดงคาขอมล

เชน ก าลงคน (Effort) ควรวดเปนจ านวนวนหรอเดอนหรอปตอคน ไมควรเปนวนาทหรอนาท จ านวนบรรทดไมควรมจดทศนยม

4) ขอมลทมความตองกน (Consistent data) คาขอมลมคาเทากนหรอไมคลาดเคลอนไป ถาวดโดยผ วจยหรอดวย

เครองมอหลายอน 5) ขอมลทมความสมพนธกบกจกรรมหนง ๆ หรอชวงเวลาหนง ๆ (Data

associated with a particular activity or time period) ขอมลทขนกบเวลา ท าใหทราบวาขอมลนนเกดขนและรวบรวมเมอใด 6) ขอมลทสามารถท าซ าได (Replicated data) อาจท าการเกบรวบรวมขอมลซ าอกในสภาพแวดลอมทแตกตางออกไป

เพอเปรยบเทยบผลการวเคราะห แตในทางปฏบตการท าซ าไมใชเรองงาย

5.2 ประเภทของขอมล - ขอมลดบ (Raw data) เปนขอมลทไดจากการวดโดยตรง - ขอมลทเกดจากการค านวณ (Derived value) เปนการวดทางออม

Page 10: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 10

1) ปญหาทอาจเกดขน (Problem of problems) (1) ความผดพลาด (Fault) เปนความผดพลาดจากมนษย เชน

ผพฒนาซอฟตแวรเขาใจผดเรองขอก าหนดความตองการ ซงกจะมผลท าใหการออกแบบผดพลาดได

(2) ความลมเหลว (Failure) เปนผลของความผดพลาด คอพฤตกรรมของซอฟตแวรทไมสามารถท างานไดอยางถกตอง ความผดพลาดหนง ๆ อาจจะไมท าใหเกดความลมเหลวไดเพราะวาการประมวลผลอาจจะไมเกดเงอนไขนน ๆ

(3) ขอผดพลาด (Errors) สถานะของระบบทเปนผลเนองมาจากมความผดพลาด แตเปนชวงเวลากอนทเกดความลมเหลว

(4) ขอผดปกต (Anomalies) คอกลมของความผดพลาดทไมท าใหเกดความลมเหลวโดยตรง แตในทสดกเกดความลมเหลวโดยออม

(5) ขอบกพรอง (Defects) คอ ทงความผดพลาดและความลมเหลว แตบางครงอาจจะหมายถง ความผดพลาดกลมหนงๆ

(6) ขอตดขด (Bugs) คอ ความผดพลาดทเกดขนในโปรแกรม (7) การพง (Crashes) คอ กรณพเศษของความผดพลาด ทท าให

ระบบหยดการท างาน การบนทกขอมลเมอมความผดพลาด - สถานท (Location) หมายถง สถานทเกดความผดพลาด - เวลา (Timing) หมายถง เวลาทเกดความผดพลาด - อาการ (Symptom) หมายถง อาการของความผดพลาดทสามารถ

สงเกตได - ผล (End result) หมายถง ผลทเกดจากความผดพลาด - การท างาน (Mechanism) หมายถง ความผดพลาดเกดขนไดอยางไร - สาเหต (Cause) หมายถง การระบวาท าไมจงเกดขอผดพลาด - ระดบความรนแรง (Severity) หมายถง ระดบผลกระทบทมตอผ ใช - มลคา (Cost) หมายถงความเสยหายมราคาเทาใด 2) ความลมเหลว (Failures) >> เหนโดยผใช ความลมเหลวเนนทพฤตกรรมภายนอกทสงเกตไดของระบบ - สถานท หมายถง สวนของโปรแกรมทระบการตดตงและแพลทฟอรมท

ความผดพลาดนนเกดขน - เวลา หมายถง เวลาจรงท เก ดความลมเหลวและเวลาในการ

ประมวลผลทเกดความลมเหลว - อาการ หมายถง สงทสามารถสงเกตได เชน ขอความอธบายหรอแสดง

ความลมเหลว - ผล หมายถง การอธบายผลหลงจากมความลมเหลวเกดขน เชน

ระบบปฏบตการพง ผลลพธไมถกตอง - การท างาน หมายถง การอธบายวาความลมเหลวเกดขนไดอยางไร - สาเหต หมายถง ตนเหตทท าใหเกดความลมเหลว มสาเหต 2 อยางคอ

สงทกระตนและสงทเปนตนเหต - ระดบความรนแรง แบงเปน 4 ระดบ คอ

(1) ขนหายนะอยางใหญหลวง (Catastrophic) กรณ ท มความสญเสยตอชวตหรอบาดเจบสาหส

(2) ขนวกฤต (Critical) กรณทเกดบาดเจบสาหส แตไมมการสญเสยชวต รวมทงการท าลายสงแวดลอม

(3) ขนส าคญ (Significant) กรณบาดเจบเลกนอย ทไมมผลถาวรหรอในระยะยาว

(4) ขนต า (Minor) กรณทไมเกดการบาดเจบหรอลดความปลอดภยของระบบ

- มลคา หมายถง คาใชจาย ทงก าลงคนและทรพยากรทตองใชในการวเคราะหและแกไขขอลมเหลว

- จ านวน (Count) หมายถง จ านวนความลมเหลวทเกดขน กอนทจะรวาเกดความลมเหลว

3) ความผดพลาด (Faults) >> เหนโดยโปรแกรมเมอร การบนทกความผดพลาดคลาย ๆ กบการบนทกความลมเหลว แตม

แตกตางกนบาง - สถานท หมายถง การระบผลตภณฑหรอสวนของผลตภณฑทมความ

ผดพลาด - เวลา หมายถง ระบ 3 ชวงเวลาของความผดพลาด คอ เวลาทความ

ผดพลาดถกสรางขน การคนพบความผดพลาดและการแกไขความผดพลาด หรออกนยหนงคอ ความผดพลาดนนเกดขนไดอยางไร สามารถคนพบไดดวยวธการทดสอบใด เชน การทดสอบหนวย การทดสอบระบบ หรอการทดสอบแบบรวม พรอมทงระบขนตอนทใชในการแกไขขอผดพลาดหรอการปองกนไมใหความผดพลาดนนสงผลท าใหเกดความลมเหลว

- สาเหต หมายถง การระบขอผดพลาดของมนษยทท าใหเกดความผดพลาด เชน จากการสอสารทไมสมบรณ

- ระดบความรนแรง หมายถง ประเมนผลกระทบของความผดพลาดทมตอผ ใช

- มลคา หมายถง คาใชจายรวมทเกดขนเนองจากมความผดพลาด - จ านวน หมายถง จ านวนความผดพลาดทคนพบในชวงเวลาใด ๆ หรอ

ทคนพบจากแตละผลตภณฑ 4) การเปลยนแปลง (Changes) หลงจากเกดความลมเหลว และสามารถคนพบสาเหตของความลมเหลว

กตองมการเปลยนแปลง อาจจะเปนการแกไขเพอใหถกตอง (Corrective) การเปลยนแปลงเพอปรบใช (Adaptive) การเปลยนแปลงเพอปองกนการตองบ ารงรกษา (Preventive maintenance) หรอการเปลยนแปลงเพอท าใหซอฟตแวรสมบรณขน (Perfective)

การบนทกการเปลยนแปลงคลายกบการบนทกอน ๆ ยกเวน - สถานท หมายถง การระบผลตภณฑ ระบบยอย องคประกอบ โมดล

หรอสบรทน ทมผลกระทบจากการเปลยนแปลง - เวลา หมายถง การระบเวลาทท าการเปลยนแปลง - ผล หมายถง การระบวาการเปลยนแปลงนนประสบผลส าเรจหรอไม

Page 11: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 11

- สาเหต หมายถง ระบประเภทของการเปลยนแปลงเปนแบบแกไขใหถกตอง การปรบใช การปองกน หรอการท าใหสมบรณ

- มลคา หมายถง การระบจ านวนการเปลยนแปลงในชวงเวลาหนงหรอตอองคประกอบหนง

5.3 จะเกบรวบรวมขอมลอยางไร (How to collect data) (1) ก าหนดขนตอนใหงายตอการปฏบต (2) ตองมการเตรยมฟอรมส าหรบกรอกขอมล (3) อบรมบคลากรทบนทกขอมล (4) น าเสนอผลของการวเคราะห (5) ตรวจสอบความถกตองของขอมลทรวบรวมได

5.4 จะเกบรวบรวมขอมลเมอไหร (When to collect data) การวางแผนการเกบรวบรวมขอมลจะตองเรมเมอโครงการไดเรมตน คอ

จะตองมการออกแบบและการจดการอยางเปนระบบ

5.5 จะบนทกและดงขอมลอยางไร (How to store and extract data) ขอมลควรเกบดวยระบบจดการฐานขอมล

บทท 6 การวเคราะหขอมล

6.1 การวเคราะหขอมลทไดจากการทดลอง - สถตเบองตน - สถตวเคราะห

6.2 การเลอกเทคนคการวเคราะหทเหมาะสม 1) ลกษณะของขอมล

(1) คาสถต คาประชากรและการแจงแจงขอมล - คาสถต (Sample statistics) เปนคาทค านวณจากกลมตวอยาง - คาประชากร (Population parameters) เปนคาทค านวณจาก

ทก ๆ หนวยของประชากรทสนใจ ขอมลของประชากรมจ านวนมาก จงท าไดแค เกบขอมลจาก

ตวอยางของประชากร ซงคาทไดนคอคาสถตนนเอง คาสถตและคาประชากรทมประโยชนและนยมน ามาใชในการ

วเคราะห ไดแก - การวดคาเขาสสวนกลาง เชน คาเฉลย คามธยฐาน และคาฐาน

นยม - การวดการกระจายของขอมล เชน ความแปรปรวน และสวน

เบยงเบนมาตรฐาน

นอกจากนสามารถน าคาเหลานไปอธบายลกษณะการแจกแจงของขอมลวามการแจกแจงแบบปกตหรอไม

(2) การกระจายของการวด สงทตองค านงกอนทจะเลอกเทคนคการวเคราะหขอมล คอ - ลกษณะของการแจกแจงของขอมล - การแจกแจงของขอมลเปนแบบปกต ใชเทคนควเคราะหแบบ

พาราเมตรก - การแจงแจงของขอมลไมเปนแบบปกต ใชเทคนควเคราะหแบบ

นอนพาราเมตรก (Non-parametric statistics) และหาคาสถตเชงพรรณนาโดยวธ Robust statistics

บางกรณใชเทคนคการแปลงขอมล จากขอมลทมการแจกแจงไมเปนปกตใหเปนแบบปกตโดยการใช logarithm แลววเคราะหผลจากขอมลทแปลงแลว แตการแปลผลตองใช anti-logarithm กอน

(3) การอนมานทางสถตและการทดสอบสมมตฐาน โดยทวไปแลวผ วจยตองการทราบคาประชากร แตดวยขอจ ากด

ทางดานทรพยากรและดานขนาดของประชากรท าใหผวจยตองเกบรวบรวมขอมลจากตวอยางจ านวนจ ากดของประชากรเทานน การทจะสรปผลเกยวกบประชากรไดนนจะตองใชวธการทางสถตทเรยกวา สถตอนมาน ซงแบงเปน 2 ประเภท คอ การทดสอบสมมตฐาน และการประมาณชวงความเชอมน

ผลของการทดสอบสมมตฐานททดสอบความแตกตางผลกระทบของ 2 ปจจยหรอมากกวา 2 ปจจย เปนได 2 แบบ คอ

แบบท 1 ไมมความแตกตางระหวางผลกระทบของ 2 ปจจย (มความแตกตางระหวางผลกระทบของ 2 ปจจยอยางไมมนยส าคญ)

แบบท 2 มความแตกตางระหวางผลกระทบของ 2 ปจจยอยางมนยส าคญ

การเขยนสมมตฐานแบบท 1 เปนการก าหนดสมมตฐานหลก เขยนแทนดวย H0 สวนการเขยนแบบท 2 เปนการก าหนดสมมตฐานรอง

เขยนแทนดวย H1 สงทผ วจยสงสยคอ ผลกระทบของปจจยตาง ๆ ตองไมเหมอนกนจะเปนส ง ทก าหนด ท H1 ดงน นการว เคราะห ขอมลจงมจดประสงคเพอตรวจสอบวาขอมลทรวบรวมมาจากตวอยางของประชากรจะเพยงพอในการปฏเสธ H0 ไดหรอไม แตกไมไดหมายความวาจะเปนการ

ยอมรบ H1 เสมอ เพราะอาจจะมสมมตฐานรองหลาย ๆ อนกได สงทตองหาตอไปคอ สมมตฐานรองใดทสามารถอธบายขอมลนไดดทสด

นยส าคญทางสถต (Statistical significant) เปนตวชวยบอกถงความนาจะเปนทขอมลตวอยางจะสามารถอธบายประชากรได เขยนแทน

ดวยแอลฟา (∝) ซงสวนใหญจะก าหนดใหแอลฟามคาเปน 0.05 หรอ 0.01 นนคอ จะสามารถเชอถอผลการทดสอบสมมตฐานได ถาผลการทดสอบนนถกตองอยางนอยดวยความนาจะเปน 0.95 หรอ 0.99

ผลการทดสอบสมมตฐาน คาความจรงของ การตดสนใจวา การตดสนใจวา

Page 12: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 12

สมมตฐาน ยอมรบ H0

ยอมรบ H1

H0 เปนจรง การตดสนใจถกตองดวยความนาจะเปน

1-∝

การตดสนใจผดประเภท I ดวยความ

นาจะเปน ∝ (Type I error)

H0 ไมเปนจรง การตดสนใจผดประเภท II ดวยความ

นาจะเปน ∝ (Type II error)

การตดสนใจถกตองดวยความนาจะเปน

1-∝

2) จดประสงคของการทดลอง

(1) เพอยนยนทฤษฎทตงขน สวนใหญเปนการศกษาผลกระทบของวธการ หรอเครองมอ หรอเทคนค หรอทรทเมนต ทมตอหนวยทดลอง หรอศกษาความแตกตางของผลกระทบเหลานน

สถตวเคราะหส าหรบการวเคราะหความแปรปรวน การแจกแจงขอมลของประชากร

จ านวนประชากรทสนใจ 2 กลม > 2 กลม

ปกต Student’s t-test F statistic ไมปกต Kruskal-Wallis test Kruskal-Wallis test

(2) เพอดความสมพนธ การดความสมพนธของขอมลเบองตนสามารถดไดจาก

บลอคพลอต (Box plots)

สแคทเตอรพลอต (Scatter plots)

การวเคราะหความสมพนธ (Correlation analysis)

6.3 การวเคราะหขอมลเบองตน 1) บลอคพลอต แสดงภาพการกระจายของขอมล สรางจากคาเฉลย คามธยฐาน และคา

ฐานนยม ถาขอมลมการแจกแจงแบบปกต คามธยฐานจะอยตรงกลางของบลอค และหางทงสองขางจะเทากน

2) สแคทเตอรพลอต แสดงแนวโนมทว ๆ ไป และพฤตกรรมของขอมลสวนใหญได โดยการ

พลอตขอมลลงบนกราฟ 2 แกน น าสแคทเตอรพลอตไปใชในการศกษาความสมพนธระหวางขอมล 2 แกนได และใชในการพจารณา สรางสมการความสมพนธและใชในการคาดคะเน หรอประมาณคาในอนาคต

3) แผนภมส าหรบควบคม (Control charts) ชวยใหทราบวาขอมลมคาอยในชวงทยอมรบไดหรอไม ประกอบดวย

ขอบเขตบน (Upper control limit: UCL)

ขอบเขตลาง (Lower control limit: LCL) 4) การวดคาความสมพนธ (Measures of association)

การใชสแคทเตอรพลอตสามารถบอกความสมพนธของคณลกษณะทสนใจ 2 สงในขณะนนได แตไมสามารถบอกความสมพนธในอนาคตได ส าหรบสถตทใชในการวเคราะหขนกบลกษณะการแจกแจงขอมลของประชากร ถาประชากรมการแจกแจงแบบปกตกจะใช Pearson เพอหาคาสมประสทธสหสมพนธแบบเพยรสน (Pearson correlation coefficient: r) r จะมคาตงแต -1 ถง 1

- r เปน 1 แสดงวาคา x และ y มความสมพนธกนมากและในทศทางเดยวกน คอถาคา x เพมขน คา y กจะเพมขนดวย

- r เปน -1 แสดงวาคา x และ y มความสมพนธกนมากและในทศทางตรงกนขาม คอถาคา x เพมขน คา y กจะลดลง

- r เปน 0 แสดงวา x และ y ไมมความสมพนธกน 5) ความสมพนธแบบแขงแกรง (Robust correlation) เหมาะสมกบกรณทประชากรมการแจกแจงไมปกต หรอมคาเปนแบบ

เรยงล าดบ สถตทใชคอ - คาสมประสทธสหสมพนธแบบสเปยรแมน ใชกบกรณขอมลเรยงล าดบ

และการค านวณคาเหมอนกบการหาคาสมประสทธสหสมพนธแบบเพยรสน - คาสมประสทธสหสมพนธแบบเคนดอล พจารณาทละ 2 คขอมล เชน (

x yi i ) และ ( x yj j ) ถาความสมพนธแบบทศทางเดยวกน หมายความวา xiมคามากกวา x j แลว yi จะมคามากกวา yj ดวย สมประสทธสหสมพนธ

แบบเคนดอลจะมคาตงแต -1 ถง 1 เชนเดยวกบสมประสทธสหสมพนธแบบสเปยรแมน

6) การวเคราะหความถดถอยเชงเสนอยางงาย (Linear regression) ใชส าหรบสรางความสมพนธระหวางตวแปรสองตวทสามารถเขยนเปน

คล าดบ (x, y) โดยสรางสมการ y (ตวแปรตาม) ในรปของตวแปร x (ตวแปรอสระหรอตวแปรตน)

y = a + bx โดยท a เปนคาตดแกน y b เปนคาความชน (slope)

7) การวเคราะหความถดถอยแบบแขงแกรง (Robust regression) ใชในกรณประชากรมการแจกแจงแบบไมปกต วธ Theil ออกแบบไว

โดยการค านวณความชนของขอมลทกค จาดนนกาความชน (คา b) จากมธยฐานของคาความชนทก ๆ ค เหลาน และคาตดแกน y (คา a) คอคามธยฐานจากขอมล yi ทกคา

8) การว เค ราะ หความถดถอยแบบหลายตวแปร (Multivariate regression)

ใชในกรณทตวแปรอสระมหลายตวแปรและมวธการหาสมการหลายวธ

6.4 การวเคราะหขอมลขนสง 1) การว เค ราะ ห ตน ไม ส าห รบ การจด กล ม (Classification tree

analysis) ใชเลอกตววดทดทสดจากหลายๆ ตววด โดยการสรางโครงสรางตนไม

เพอชวยตดสนใจ

Page 13: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 13

2) การแปลงขอมล (Transformations) ขอมลบางอยางอาจจะไมอยในลกษณะทเขาใจงายหรอมการแจกแจง

ไมเปนแบบปกต จงตองมการแปลงขอมลใหเขาใจงาย 3) การวเคราะหขอมลหลายตวแปร (Multivariate data analysis) เปนการวเคราะหหลายตวแปรอยางหนงทมทงตวแปรอสระและตวแปร

ตาม คาของตวแปรตามเปนขอมลแบบชวงหรออตราสวน (1) การว เค ราะหองคประกอบหล ก (Principal component

analysis) คณลกษณะทสนใจไดรบผลกระทบจากหลายปจจย โดยปจจยเหลานนอาจมความสมพนธกน

(2) การว เคราะหส าห รบการจดกล ม (Cluster analysis) ใชส าหรบจดกลมขอมล ภายใตสมมตฐานวา ขอมลทมคณลกษณะคลายกนควรมพฤตกรรมทคลายกน โดยเรมจากการวเคราะหองคประกอบหลก เพอขจดตวแปรทมความสมพนธกน แบงไดเปน 2 กลม คอ กลมทมพฤตกรรมทสนใจ และกลมทไมมพฤตกรรมทสนใจ

(3) การวเคราะหส าหรบการแยกกลม (Discriminant analysis) แยกกลมขอมลเปนหลายๆ กลม โดยแตละกลมจะมพฤตกรรมทคลายกน

6.5 การทดสอบทางสถต 1) การทดสอบกลมเดยว การทดสอบขอมลตวอยางเทยบกบคาประชากร

(1) การทดสอบแบบไบโนเมยว (Binomial test) ใชเมอขอมลแบงเปน 2 กลม

(2) การทดสอบไควสแครว (Chi-squared test for goodness of fit) ใชเมอขอมลแบงไดมากกวา 2 กลม

(3) การทดสอบโคโมโกรอฟ-สเมอรนนอฟ ส าหรบกลมตวอยางเดยว ทดสอบขอมลทมคาตอเนอง โดยการเปรยบเทยบการกระจายของคาทสงเกตไดกบการกระจายของคาคาดหวงสะสม

(4) การทดสอบแบบรนส (One-sample runs test) ทดสอบวาผลของกระบวนการวดเปนไปตามล าดบหรอรนสหรอไม สามารถใชในการวเคราะหหาสาเหตของการทระบบคอมพวเตอรไมท างาน เพอตดสนใจวาปญหาของฮารดแวรหรอซอฟตแวรทเปนสาเหตของการทระบบคอมพวเตอรไมท างาน ขอมลทใชตองเปนอสระจากกน

(5) การทดสอบหาจดเปลยนของขอมล (Change-point test) ใชทดสอบวาการแจกแจงขอมลในบางชวงห รอบางเหตการณ มการเปลยนแปลงหรอไม โดยดจากคาขอมลวาเปนไปตามล าดบทถกตองหรอไม ถาในบางชวงคาสงเกตมการเปลยนแปลงคามธยฐาน การทดสอบนสามารถจะชใหเหนวามการเปลยนแปลงของขอมลเดขน

2) การทดสอบสองกลม (1) การทดสอบเพอเปรยบเทยบสองกลม ทเปนคกนหรอทม

ความสมพน ธกน (Test to compare two matched or related groups) ใชกบขอมลทมลกษณะเปนแบบชวงเปนอยางนอย

(2) การทดสอบเพอเปรยบเทยบสองกลมทเปนอสระตอกน (Test to compare two independent groups) จะใชสถต t-test ในการทดสอบ

(3) การเปรยบเทยบกลมตวอยางมากกวาสองกลม ถาตวอยางทสนใจมมากกวา 2 กลม ใชการวเคราะหความแปรปรวน (Analysis of Variance: ANOVA) คาสถตทใชทดสอบคอ F-statistic

บทท 7 การวดคณลกษณะภายในของผลตภณฑซอฟตแวร : ขนาด

7.1 ขนาดของซอฟตแวร (Software size) 1. วดความยาวของโปรแกรม 2. การวดฟงกชนการท างานของ รายละเอยดขอก าหนดความตองการ

การออกแบบและโปรแกรม

7.2 ความยาว (Length) การวดความยาวของซอฟตแวรในขนตอนตน ท าใหสามารถประมาณ

ก าลงคนทจะใชได 1) ความยาวของโปรแกรม (Code length)

(1) การวดความยาวของโปรแกรมแบบดงเดม เปนการนบจ านวนบรรทดของโปรแกรม

(2) การวดความยาวโปรแกรมกรณไมใชตวอกษรและการใชสวนโปรแกรมจากนอกโปรแกรม (ควรตองค านงถงลกษณะการพฒนาโปรแกรมปจจบนดวย)

2) ความยาวของรายละเอยดขอก าหนดความตองการและการออกแบบ (Specification and design length)

การวดรายละเอยดขอก าหนดความตองการและการออกแบบตองดหนวยทเลกทสดไมสามารถแบงแยกไดอก

การออกแบบแบบดงเดม - ใชแผนภาพการไหลของขอมลแสดงรายละเอยดขอก าหนดความ

ตองการ - ใชแผนภมโครงสราง แสดงการออกแบบ - วดขนาดรายละเอยดขอก าหนดความตองการ ไดจาก

1. จ านวนโปรเซส (Processes) 2. จ านวนเอนทตภายนอกขอมล (External entities) 3. จ านวนแหลงขอมล (Data Stores) 4. จ านวนการไหลของขอมล (Data flows)

- วดขนาดการออกแบบ ไดจาก 1. จ านวนโมดล 2. ระดบความลก 3. จ านวน Fan-in และ Fan-out

Page 14: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 14

D = 49L 01.1

NLOC(P) = ck

รายละเอยดขอก าหนดความตองการเปนรายละเอยดแบบพชคณต (Algebraic specifications) - หนวยเลกทสด คอ ซอรท (Sorts) ฟงกชน (Functions) โอเปอรเร

ชน (Operations) แอกเซยม (Axioms) รายละเอยดขอก าหนดความตองการเขยนดวยภาษาเซด (Z-

schema) - หนวยเลกทสด คอ การประกาศชนด (Type declaration) เพรด

เคต (Predicate) 3) การประมาณขนาดของซอฟตแวร

Halstead

เมอ ck คอคาคงททขนกบภาษาคอมพวเตอร เชน ภาษาฟอรแทน มคา ck เปน 7 ดงนนถาโปรแกรมม N เปน

70 แสดงวา LOC ควรจะเปน 10 บรรทด

Walston และ Felix

เมอ D เปนความยาวของเอกสาร มหนวยเปนหนา เมอ L เปนความยาวของโปรแกรม (KLOC)

7.3 การน ากลบมาใชใหม (Reuse) ประโยชนของการน ากลบมาใชใหม

1. การพฒนาซอฟตแวรท าไดรวดเรวขน 2. ปรมาณผลตภณฑซอฟตแวรเพมขนแลวคณภาพของซอฟตแวรก

เพมขนดวย 3. ผพฒนามเวลาในการคดแกปญหาใหมไดมากขน

นยามการน ากลบมาใชใหมขององคการนาซา 1. การน ากลบมาใชใหมทกตวอกษร (Reused verbatim) ค อน า

กลบมาใชใหมโดยไมมการเปลยนแปลงเลย 2. การน ากลบมาใชใหม ทมการเปลยนแปลงนอยเลกนอย (Slightly

modified) คอมการแกไขนอยกวา 25% 3. การน ากลบมาใชใหม ท มการเป ลยนแปลงมาก (Extensively

modified) คอมการแกไขมากกวา 25% 4. การพฒนาใหม (New) คอไมมการน าโปรแกรมอนมาใชใหมเลย

7.4 ฟงกชนการท างาน (Functionality) คอ จ านวนฟงกชนทซอฟตแวรนนสนบสนนการประมาณทรพยากรและ

เวลาทใชในการพฒนาซอฟตแวรในขนตอนตน ๆ ของการพฒนา 1) ฟงกชนพอยต (Function point) ***

ฟงกชนพอยต (FP) เปนการวดจ านวนฟงกชนการท างานของซอฟตแวรในรายละเอยดขอก าหนดความตองการ สามารถค านวณฟงกชนพอยตโดยไมตองค านงถงภาษาส าหรบการโมเดลใด ๆ

การค านวณฟงกชนพอยตเรมจากการค านวณฟงกชนพอยตทยงไมไดป รบ (Unadjusted function point: UFP) และปจจยความซบ ซอนทางเทคนค (Technical complexity factor: TCF)

คา UFC ค านวณมาจากปจจย 5 ปจจยทมทงหมด 15 รายการ สวน

ปจจยความซบซอนทางเทคนคมทงหมด 14 ปจจย - คาถวงน าหนกของฟงกชนพอยต

รายการ ระดบความซบซอนของ

ซอฟตแวร อยางงาย เฉลย ซบซอน

จ านวนขอมลเขา (External inputs) 3 4 6 จ านวนผลลพธ (External outputs) 4 5 7 จ านวนการสอบถาม (External inquiries) 3 4 6 จ านวนแฟมขอมลภายนอก (External files) 7 10 15 จ านวนแฟมขอมลภายใน (Internal files) 5 7 10

- ปจจยความซบซอนทางเทคนค F1 Reliable back-up and recovery F2 Data Communications F3 Distributed function F4 Performances F5 Heavily used configuration F6 Online data entry F7 Operational ease F8 Online update F9 Complex interface F10 Complex processing F11 Reusability F12 Installation ease F13 Multiple sites F14 Facilitate change

ปญหาของฟงกชนพอยต 1. ปญหาความคดเหนทขนกบบคคลดานเทคโนโลยทใช 2. ปญหาการนบซ าของความซบซอนภายใน 3. ปญหาการก าหนดคาไมตรงกบความรสก 4. ปญหาความถกตอง 5. ปญหาการใชขอมลขนตอนตน ๆ แตบางครงขอก าหนดความ

ตองการยงไมสมบรณ 6. ปญหาการเปลยนแปลงขอก าหนดความตองการ 7. ปญหาการแยกความแตกตางของสงทใชในการนบเพราะตอง

อาศยผ เชยวชาญ

FP = UFP X TCF

UFP = 15

(X × weight )i ii=1

TCF = 0.065 + n

0.01 Fii=1

Page 15: 1 การวัด (Measurement) 3)...Software Metrics_Pon’2013 | 3 ค าใช จ าย (cost) = ระยะทาง (a) x ค าน าม นต อแกลลอน

Software Metrics_Pon’2013 | 15

8. ปญหาการไมเปนอสระจากเทคโนโลย 9. ปญหากลมของโปรแกรมประยกตทางดานการประมวลผลขอมล 10. ปญหาการถวงน าหนกทขนกบความคดเหนของแตละบคคล 11. ปญหาทฤษฎทใชวด พบวาฟงกชนพอยตไมไดเปนไปตามกฎ

การวด

2) โคโคโม 2.0 (COCOMO 2.0) *** โมเดลส าหรบการประมาณก าลงคน ตวแปรอสระทส าคญ คอ ขนาดของ

โปรแกรมทแทนดวยจ านวนบรรทดของโปรแกรม ซงถอเปนขอเสย จงไดมการปรบเปลยนโมเดลโคโคโมเปนเวอรชน 2.0 โดยการแทนขนาดของโปรแกรมดวยออบเจคพอยต (Object point)

เมอ r เปนเปอรเซนตของการน ากลบมาใชใหมจากโครงงานอน ๆ

3) วธของ DeMacro’s เสนอวธวดบนพนฐานของโมเดลการวเคราะหและการออกแบบ โดย

ก า ห น ด เ ป น Bang metrics (Specification weight metrics) โ ด ยประกอบดวยตววด 2 กลม คอ Function bang และ Data bang

Function bang คอจ านวนฟงกชนซงนบไดจากจ านวน Bubble ในแผนภาพการไหลของขอมล

Data bang ค อ จ าน วน เอ น ท ต ใน แ ผ นภ าพ เอ น ท ต แ ล ะความสมพนธ

7.5 ความซบซอน (Complexity) แบงเปน 4 แบบ คอ

(1) ความซบซอนของปญหา (Problem complexity) - ความซบซอนของปญหา คอ จ านวนทรพยากรทตองใชส าหรบ

หาค าตอบทด - ความซบซอนของค าตอบ คอ จ านวนทรพยากรทตองใชส าหรบ

ค าตอบนน ๆ แบงเปน 2 ประเภท คอ ความซบซอนเชงเวลา (Time complexity) ความซบซอนเชงเนอท (Space complexity) ความซบซอนเชงเวลาค านงถงเวลาทใชโดยคอมพวเตอรเปนทรพยากร และความซบซอนเชงเนอทค านงถงเนอทในหนวยความจ าทใชเปนทรพยากร

(2) ความซบซอนของอลกอรธม (Algorithm complexity) (3) ความซบซอนของโครงสราง (Structural complexity) (4) ความซบซอนในการท าความเขาใจ (Cognitive complexity)

1) ประสทธภาพของอลกอรทม ตองมการระบวาอลกอรทมนใชเวลาหรอเนอทหนวยความจ าเทาใด

(1) การวดประสทธภาพ วดจากลกษณะภายนอกของโปรแกรม โดยนบจ านวนการ

ปฏบตการทางคณตศาสตรของอลกอรธมนนเมอมจ านวนขอมลเขาจ านวนหนง ดงนนการหาประสทธภาพของอลกอรทมของการเรยงขอมลหรอการ

คนหาขอมล กจะเปนฟงกชนกบขนาดขอมลเขา ซงคอ f(n) นนเอง เชน ประสทธภาพของอลกอรทมของการเรยงของ Heapsort คอ nlog n2

(2) สญลกษณบคโอ (Big-O notations) สญลกษณทางคณตศาสตรทใชอธบายประสทธภาพคอ บคโอ ซง

ใชนยามความสมพนธบนฟงกชน โยดจากเทอมทครอบง าเทอมอน ๆ โดยไม

พจารณาคาคงททเปนสมประสทธ เชน 3n 2 + 2n + 26 จะได f(n) = O(n 2 ) 1. f ม constant complexityถา f(n) = O(1) 2. f ม logarithm complexity ถา f(n) = O(log n) 3. f ม linear complexity ถา f(n) = O(n) 4. f ม quadratic complexity ถา f(n) = O(n)

5. f ม exponential complexity ถา f(n) = O(c n ) (3) การประมาณประสทธภาพ

การวดป ระส ท ธภ าพ ของอล กอ รธ ม เป นการป ระม าณประสทธภาพของอลกอรธมภายใตสภาพแวดลอมภายนอกทจะใชพฒนาตอไป

New object points = (object points) x (100 – r)/100