Chulalongkorn University Theses and Dissertations (Chula ETD)

การออกแบบและพัฒนาเครื่องมือวัดซอฟต์แวร์สำหรับโปรแกรมเชิงวัตถุ

Other Title (Parallel Title in Other Language of ETD)

Design and implementation of a measurement tool for object-oriented programs

Year (A.D.)

2000

Document Type

Thesis

First Advisor

พรศิริ หมื่นไชยศรี

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Degree Name

วิทยาศาสตรมหาบัณฑิต

Degree Level

ปริญญาโท

Degree Discipline

วิทยาศาสตร์คอมพิวเตอร์

DOI

10.58837/CHULA.THE.2000.984

Abstract

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

Other Abstract (Other language abstract of ETD)

This thesis is the design and implementation of a measurement tool for object-oriented programs, which is a tool for measuring size and complexity of Java source programs. This tool reports line of code (LOC), number of methods per class, lack of cohesion, McCabe's cyclomatic complexity metrics etc. Software developers can use this tool to monitor the progress of software development and to analyze the complexity of each method. It helps developers to identify complicated methods to be improved and also helps system analysts to estimate size and complexity of next projects especially the projects similar to the previous ones. This tool starts the process by reading and transforming a source program into the syntax tree. Then the tool traverses the tree to collect the program's attributes and computes the metrics to display on the output screen.

Share

COinS