Halstead’s theory of “software science” [Hal77] proposed the first analytical “laws” for computer software. 14Halstead assigned quantitative laws to the development of computer software, using a set of primitive measures that may be derived after code is generated or estimated once design is complete. The measures are :
n1 = number of distinct operators that appear in a program
n2 = number of distinct operands that appear in a program
N1 = total number of operator occurrences
N2 = total number of operand occurrences
Halstead uses these primitive measures to develop expressions for the overall program length, potential minimum volume for an algorithm, the actual volume(number of bits required to specify a program), the program level (a measure of software complexity), the language level(a constant for a given language), and other features such as development effort, development time, and even the projected number of faults in the software,
Halstead shows that length N can be estimated
N=n1 log2 n1 + n2 log2 n2
and program volume may be defined
V= N log2 (n1+n2)
It should be noted that V will vary with programming language and represents the volume of information (in bits) required to specify a program
Theoretically, a minimum volume must exist for a particular algorithm Halstead defines a volume ratio L as the ratio of volume of the most compact form of a program to the volume of the actual program. In actuality, L must always be less than l. In terms of primitive measures, the volume ratio may be expressed as
L=2/n1 x n2/N2
Halstead’s work is amenable to experimental verification and a large body of research has been conducted to investigate software science. A discussion of this work is beyond the scope of this book. For further information, see[Zus90],[Fen91],and[Zus97].
ทฤษฎีของ Halstead "ซอฟต์แวร์วิทยาศาสตร์" [Hal77] นำเสนอแรกวิเคราะห์ "กฎหมาย" สำหรับซอฟต์แวร์คอมพิวเตอร์ 14Halstead กำหนดให้กฎหมายเชิงปริมาณกับการพัฒนาซอฟต์แวร์คอมพิวเตอร์ ใช้ชุดวัดดั้งเดิมที่อาจได้รับมาหลังจากสร้างรหัส หรือประมาณเมื่อออกแบบเสร็จสมบูรณ์แล้ว มาตรการจะ:n1 =จำนวนผู้ประกอบการทั้งหมดที่ปรากฏในโปรแกรมn2 =จำนวนตัวถูกดำเนินการทั้งหมดที่ปรากฏในโปรแกรมN1 =จำนวนผู้ปฏิบัติงานเกิดN2 =ผลรวมจำนวนตัวถูกดำเนินการHalstead ใช้มาตรการเหล่านี้ดั้งเดิมพัฒนานิพจน์สำหรับความยาวโดยรวมของโปรแกรม อัลกอริทึมมีศักยภาพต่ำสุดเสียง ระดับเสียงจริง (จำนวนบิตที่ต้องระบุโปรแกรม), ระดับโปรแกรม (การวัดความซับซ้อนของซอฟต์แวร์), ระดับภาษา (ค่าคงที่สำหรับภาษาที่กำหนด), และคุณสมบัติอื่น ๆ เช่นความพยายามพัฒนา พัฒนา และเวลาแม้คาดการณ์จำนวนของข้อบกพร่องในซอฟต์แวร์,Halstead แสดงความยาวที่สามารถประเมิน NN = n1 log2 n1 + n2 log2 n2และสามารถกำหนดระดับเสียงของโปรแกรมV = N log2 (n1 + n2)ควรจดบันทึกว่า V จะแตกต่างกับภาษาการเขียนโปรแกรม และแสดงปริมาณของข้อมูลในบิตที่จำเป็นเพื่อระบุโปรแกรม ตามหลักวิชา ระดับเสียงต่ำสุดต้องมีสำหรับขั้นตอนวิธีเฉพาะ Halstead กำหนดอัตราส่วนปริมาตร L เป็นอัตราส่วนของปริมาตรของแบบขนาดเล็กที่สุดของโปรแกรมเสียงโปรแกรมจริง ใน actuality, L จะต้องน้อยกว่า l ในมาตรการดั้งเดิม อัตราส่วนของไดรฟ์ข้อมูลอาจแสดงเป็นL = 2/n1 x n2/N2งานของ Halstead จะคล้อยตามการทดลองตรวจสอบตก และร่างกายขนาดใหญ่ของงานวิจัยมีการดำเนินการตรวจสอบซอฟต์แวร์วิทยาศาสตร์ การสนทนานี้จะเกินขอบเขตของหนังสือเล่มนี้ สำหรับข้อมูลเพิ่มเติม ดู [Zus90], [Fen91], [Zus97] และ
การแปล กรุณารอสักครู่..