คุณสมบัติผลิตภัณฑ์ภายใน

แอตทริบิวต์ผลิตภัณฑ์ภายในอธิบายผลิตภัณฑ์ซอฟต์แวร์ในลักษณะที่ขึ้นอยู่กับผลิตภัณฑ์เท่านั้น เหตุผลหลักในการวัดคุณลักษณะภายในของผลิตภัณฑ์คือจะช่วยตรวจสอบและควบคุมผลิตภัณฑ์ระหว่างการพัฒนา

การวัดคุณสมบัติภายในของผลิตภัณฑ์

คุณลักษณะหลักภายในของผลิตภัณฑ์ ได้แก่ size และ structure. ขนาดสามารถวัดได้แบบคงที่โดยไม่ต้องดำเนินการ ขนาดของผลิตภัณฑ์บอกเราเกี่ยวกับความพยายามที่จำเป็นในการสร้างมันขึ้นมา ในทำนองเดียวกันโครงสร้างของผลิตภัณฑ์มีบทบาทสำคัญในการออกแบบการบำรุงรักษาผลิตภัณฑ์

การวัดขนาด

ขนาดซอฟต์แวร์สามารถอธิบายได้ด้วยคุณสมบัติสามประการ -

  • Length - เป็นขนาดทางกายภาพของผลิตภัณฑ์

  • Functionality - อธิบายถึงฟังก์ชั่นที่ผลิตภัณฑ์จัดหาให้กับผู้ใช้

  • Complexity - ความซับซ้อนเป็นประเภทต่างๆเช่น.

    • Problem complexity - วัดความซับซ้อนของปัญหาพื้นฐาน

    • Algorithmic complexity - วัดความซับซ้อนของอัลกอริทึมที่ใช้ในการแก้ปัญหา

    • Structural complexity - วัดโครงสร้างของซอฟต์แวร์ที่ใช้ในการใช้อัลกอริทึม

    • Cognitive complexity - วัดความพยายามที่จำเป็นในการทำความเข้าใจซอฟต์แวร์

การวัดคุณสมบัติทั้งสามนี้สามารถอธิบายได้ดังนี้ -

ความยาว

มีผลิตภัณฑ์เพื่อการพัฒนาสามประเภทที่การวัดขนาดมีประโยชน์สำหรับการคาดการณ์ความพยายามที่จำเป็นสำหรับการทำนาย เป็นข้อกำหนดการออกแบบและรหัส

ข้อกำหนดและการออกแบบ

เอกสารเหล่านี้มักจะรวมข้อความกราฟและแผนภาพและสัญลักษณ์พิเศษทางคณิตศาสตร์ การวัดข้อมูลจำเพาะสามารถใช้เพื่อทำนายความยาวของการออกแบบซึ่งจะเป็นตัวทำนายความยาวของรหัส

ไดอะแกรมในเอกสารมีไวยากรณ์ที่เหมือนกันเช่นไดกราฟที่มีป้ายกำกับแผนภาพกระแสข้อมูลหรือแผนภาพ Z เนื่องจากเอกสารข้อกำหนดและการออกแบบประกอบด้วยข้อความและแผนภาพจึงสามารถวัดความยาวได้ในรูปของตัวเลขคู่หนึ่งที่แสดงความยาวของข้อความและความยาวของแผนภาพ

สำหรับการวัดเหล่านี้จะต้องกำหนดวัตถุปรมาณูสำหรับแผนภาพและสัญลักษณ์ประเภทต่างๆ

ออบเจ็กต์อะตอมสำหรับแผนภาพกระแสข้อมูลคือกระบวนการเอนทิตีภายนอกที่เก็บข้อมูลและโฟลว์ข้อมูล เอนทิตีอะตอมสำหรับข้อกำหนดเกี่ยวกับพีชคณิตคือประเภทฟังก์ชันการดำเนินการและสัจพจน์ เอนทิตีอะตอมสำหรับ Z schemas คือบรรทัดต่างๆที่ปรากฏในข้อกำหนด

รหัส

รหัสสามารถสร้างได้หลายวิธีเช่นภาษาขั้นตอนการวางแนววัตถุและการเขียนโปรแกรมด้วยภาพ การวัดความยาวของโปรแกรมซอร์สโค้ดแบบดั้งเดิมที่ใช้บ่อยที่สุดคือ Lines of code (LOC)

ความยาวทั้งหมด

LOC = NCLOC + CLOC

กล่าวคือ

LOC = Non-commented LOC + Commented LOC

นอกเหนือจากบรรทัดของรหัสแล้วทางเลือกอื่น ๆ เช่นขนาดและความซับซ้อนที่แนะนำโดย Maurice Halsted ยังสามารถใช้ในการวัดความยาวได้อีกด้วย

วิทยาศาสตร์ซอฟต์แวร์ของ Halstead พยายามที่จะจับคุณลักษณะต่างๆของโปรแกรม เขาเสนอคุณลักษณะของโปรแกรมภายในสามอย่างเช่นความยาวคำศัพท์และระดับเสียงที่สะท้อนมุมมองที่แตกต่างกันของขนาด

เขาเริ่มต้นด้วยการกำหนดโปรแกรม Pเป็นคอลเลกชันของโทเค็นจำแนกตามตัวดำเนินการหรือตัวถูกดำเนินการ เมตริกพื้นฐานสำหรับโทเค็นเหล่านี้คือ

  • μ1 = จำนวนตัวดำเนินการที่ไม่ซ้ำกัน

  • μ2 = จำนวนตัวถูกดำเนินการที่ไม่ซ้ำกัน

  • N1 = จำนวนรวมของตัวดำเนินการ

  • N2 = จำนวนตัวดำเนินการที่ไม่ซ้ำกัน

ความยาว P สามารถกำหนดเป็น

$$ N = N_ {1} + N_ {2} $$

คำศัพท์ของ P คือ

$$ \ mu = \ mu _ {1} + \ mu _ {2} $$

ปริมาณของโปรแกรม = จำนวนการเปรียบเทียบทางจิตที่จำเป็นในการเขียนโปรแกรมความยาว N, คือ

$$ V = N \ times {log_ {2}} \ mu $$

ระดับโปรแกรมของโปรแกรม P ของปริมาตร V คือ,

$$ L = \ frac {V ^ \ ast} {V} $$

โดยที่ $ V ^ \ ast $ คือปริมาตรที่เป็นไปได้กล่าวคือปริมาตรของการใช้งานขนาดต่ำสุดของ P

ผกผันของระดับคือความยาก -

$$ D = 1 \ diagup L $$

ตามทฤษฎี Halstead เราสามารถคำนวณค่าประมาณได้ L เช่น

$$ {L} '= 1 \ diagup D = \ frac {2} {\ mu_ {1}} \ times \ frac {\ mu_ {2}} {N_ {2}} $$

ในทำนองเดียวกันความยาวของโปรแกรมโดยประมาณคือ $ \ mu_ {1} \ times log_ {2} \ mu_ {1} + \ mu_ {2} \ times log_ {2} \ mu_ {2} $

ความพยายามที่ต้องใช้ในการสร้าง P นั้นได้มาจาก

$$ E = V \ diagup L = \ frac {\ mu_ {1} N_ {2} Nlog_ {2} \ mu} {2 \ mu_ {2}} $$

ที่หน่วยวัด E การเลือกปฏิบัติทางจิตเบื้องต้นที่จำเป็นในการทำความเข้าใจ P

ทางเลือกอื่นสำหรับการวัดความยาวคือ -

  • ในแง่ของจำนวนไบต์ของที่เก็บข้อมูลคอมพิวเตอร์ที่จำเป็นสำหรับข้อความโปรแกรม

  • ในแง่ของจำนวนอักขระในข้อความโปรแกรม

การพัฒนาเชิงวัตถุแนะนำวิธีใหม่ในการวัดความยาว Pfleeger และคณะ พบว่าจำนวนของวัตถุและวิธีการทำให้ประมาณการผลผลิตได้แม่นยำกว่าการใช้รหัสบรรทัด

ฟังก์ชันการทำงาน

จำนวนฟังก์ชันการทำงานที่มีอยู่ในผลิตภัณฑ์ทำให้สามารถวัดขนาดผลิตภัณฑ์ได้ มีวิธีการต่างๆมากมายในการวัดการทำงานของผลิตภัณฑ์ซอฟต์แวร์ เราจะพูดถึงวิธีการหนึ่งดังกล่าว─วิธี Function Point ของ Albrecht ─ในบทถัดไป