อ่าน 4 นาที
การวิเคราะห์ซอฟต์แวร์
การวิเคราะห์ซอฟต์แวร์ คือ การวิเคราะห์ เฉพาะด้านในโดเมนของ ระบบซอฟต์แวร์ โดยคำนึงถึง ซอร์สโค้ด คุณลักษณะคงที่และไดนามิก (เช่น ตัวชี้วัดซอฟต์แวร์ ) รวมถึงกระบวนการที่เกี่ยวข้องกับ...
การวิเคราะห์ซอฟต์แวร์
การวิเคราะห์ซอฟต์แวร์คือการวิเคราะห์เฉพาะด้านในโดเมนของระบบซอฟต์แวร์โดยคำนึงถึงซอร์สโค้ดคุณลักษณะคงที่และไดนามิก (เช่นตัวชี้วัดซอฟต์แวร์ ) รวมถึงกระบวนการที่เกี่ยวข้องกับการพัฒนาและวิวัฒนาการ ของซอฟต์แวร์ จุดมุ่งหมายคือการอธิบาย การตรวจสอบ การคาดการณ์ และการปรับปรุงประสิทธิภาพและประสิทธิผลของวิศวกรรมซอฟต์แวร์ตลอดวงจรชีวิตของซอฟต์แวร์โดยเฉพาะอย่างยิ่งในระหว่างการพัฒนาซอฟต์แวร์และการบำรุงรักษาซอฟต์แวร์การเก็บรวบรวมข้อมูลมักทำได้โดยการดึงข้อมูลจากคลังซอฟต์แวร์แต่ก็สามารถทำได้โดยการเก็บรวบรวมการกระทำของผู้ใช้หรือข้อมูลการผลิตเช่นกัน
คำจำกัดความ
- "การวิเคราะห์ซอฟต์แวร์มีเป้าหมายเพื่อให้ได้ข้อมูลเชิงลึกและข้อมูลที่นำไปใช้ได้จากส่วนประกอบซอฟต์แวร์ที่ช่วยให้ผู้ปฏิบัติงานสามารถทำงานที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ ระบบ และผู้ใช้ได้" [ 1 ] --- เน้นการวิเคราะห์ที่ใช้กับส่วนประกอบที่ประกอบขึ้นเป็นระบบซอฟต์แวร์
- "การวิเคราะห์ซอฟต์แวร์คือการวิเคราะห์ข้อมูลซอฟต์แวร์สำหรับผู้จัดการและวิศวกรซอฟต์แวร์โดยมีเป้าหมายเพื่อเพิ่มศักยภาพให้กับบุคคลและทีมพัฒนาซอฟต์แวร์ในการรับและแบ่งปันข้อมูลเชิงลึกจากข้อมูลของพวกเขาเพื่อการตัดสินใจที่ดีขึ้น" [ 2 ] --- เสริมสร้างวัตถุประสงค์หลักของวิธีการและเทคนิคการวิเคราะห์ซอฟต์แวร์ โดยมุ่งเน้นทั้งสิ่งประดิษฐ์ซอฟต์แวร์และกิจกรรมของนักพัฒนาและทีมที่เกี่ยวข้อง
- "การวิเคราะห์ซอฟต์แวร์ (SA) เป็นสาขาหนึ่งของ การวิเคราะห์ ข้อมูลขนาดใหญ่ SA เกี่ยวข้องกับการวิเคราะห์สิ่งประดิษฐ์ซอฟต์แวร์ทั้งหมด ไม่ใช่เฉพาะซอร์สโค้ด [...] ระดับเหล่านี้แตกต่างกันไปตั้งแต่ระดับสูงสุดของคณะกรรมการบริหารและการกำหนดวิสัยทัศน์ขององค์กรและการจัดการพอร์ตโฟลิโอ ไปจนถึงการวางแผนการจัดการโครงการและการดำเนินการโดยนักพัฒนาซอฟต์แวร์" [ 3 ] --- สะท้อนถึงขอบเขตที่กว้างขวางซึ่งรวมถึงผู้มีส่วนได้ส่วนเสียต่างๆ
จุดมุ่งหมาย
การวิเคราะห์ซอฟต์แวร์มีเป้าหมายเพื่อสนับสนุนการตัดสินใจและสร้างข้อมูลเชิงลึก เช่น ข้อค้นพบ ข้อสรุป และการประเมินเกี่ยวกับระบบซอฟต์แวร์ การนำไปใช้ องค์ประกอบ พฤติกรรม คุณภาพ วิวัฒนาการ ตลอดจนกิจกรรมของผู้มีส่วนได้ส่วนเสียต่างๆ ในกระบวนการเหล่านี้
- ข้อมูลเชิงลึกที่ได้จากการวิเคราะห์ด้วยซอฟต์แวร์ช่วยให้เข้าใจและมีองค์ความรู้ที่เป็นประโยชน์ต่อการปฏิบัติงานตามเป้าหมาย ซึ่งโดยทั่วไปแล้วจะไม่สามารถหาได้ง่ายๆ จากการตรวจสอบข้อมูลขนาดใหญ่ดิบๆ โดยตรงโดยปราศจากความช่วยเหลือจากวิธีการและเทคนิคการวิเคราะห์
- ข้อมูลที่ได้จากการวิเคราะห์ซอฟต์แวร์สามารถนำไปปฏิบัติได้จริง และชี้นำหรือกำหนดแนวทางแก้ไขที่ผู้มีส่วนได้ส่วนเสียในกระบวนการวิศวกรรมซอฟต์แวร์ (เช่น ผู้ปฏิบัติงานด้านซอฟต์แวร์ ผู้นำด้านการพัฒนา หรือผู้บริหารระดับสูง) สามารถนำไปใช้ได้
เข้าใกล้
วิธีการ เทคนิค และเครื่องมือของการวิเคราะห์ซอฟต์แวร์โดยทั่วไปอาศัยการรวบรวม การวัด การวิเคราะห์ และการแสดงภาพข้อมูลที่พบในแหล่งข้อมูลมากมายที่จัดเก็บไว้ในสภาพแวดล้อมและระบบนิเวศการพัฒนาซอฟต์แวร์ ระบบซอฟต์แวร์เหมาะอย่างยิ่งสำหรับการประยุกต์ใช้การวิเคราะห์ เนื่องจากในด้านหนึ่ง มีข้อมูลที่เป็นทางการและแม่นยำเป็นส่วนใหญ่ และในอีกด้านหนึ่ง ระบบซอฟต์แวร์นั้นจัดการได้ยากมาก กล่าวโดยสรุปคือ "โครงการซอฟต์แวร์สามารถวัดผลได้สูง แต่คาดเดาได้ยาก" [ 2 ]
แหล่งข้อมูลหลักประกอบด้วยซอร์สโค้ด "การตรวจสอบรายการงาน รายงานข้อบกพร่อง และการดำเนินการทดสอบ [...] ที่บันทึกไว้ในที่เก็บซอฟต์แวร์ เช่น CVS, Subversion, GIT และBugzilla " [ 4 ] นอกจากนี้ยังสามารถพิจารณา ข้อมูลการวัดระยะทาง รวมถึงร่องรอยการดำเนินการหรือบันทึกได้อีกด้วย
การวิเคราะห์อัตโนมัติ ข้อมูลจำนวนมหาศาล และการให้เหตุผลอย่างเป็นระบบช่วยสนับสนุนการตัดสินใจในเกือบทุกระดับ โดยทั่วไป เทคโนโลยีหลักที่ใช้ในการวิเคราะห์ซอฟต์แวร์ ได้แก่ เทคโนโลยีการวิเคราะห์ เช่น การเรียนรู้ ของเครื่อง การขุดข้อมูลสถิติการจดจำรูปแบบ การแสดงภาพข้อมูล ตลอด จนการคำนวณและการประมวลผลข้อมูลขนาดใหญ่ ตัวอย่างเช่น เครื่องมือวิเคราะห์ซอฟต์แวร์ช่วยให้ผู้ใช้สามารถแมปผลลัพธ์การวิเคราะห์ที่ได้มาโดยใช้แผนที่ซอฟต์แวร์ซึ่งสนับสนุนการสำรวจสิ่งประดิษฐ์ของระบบและเมตริกซอฟต์แวร์ที่เกี่ยวข้องแบบโต้ตอบ เช่นลำดับชั้นของคลาสและการเชื่อมโยงแพ็กเกจในแอปพลิเคชันJava ขนาดใหญ่ [ 5 ]นอกจากนี้ยังมีเครื่องมือวิเคราะห์ซอฟต์แวร์ที่ใช้เทคโนโลยีการวิเคราะห์บนแบบ จำลอง คุณภาพซอฟต์แวร์ใน บริษัท พัฒนาซอฟต์แวร์แบบ Agileซึ่งสนับสนุนการประเมินคุณภาพซอฟต์แวร์ (เช่น ความน่าเชื่อถือ) และการดำเนินการเพื่อปรับปรุง[ 6 ]
ประวัติศาสตร์
ในปี 2552 คำว่า "การวิเคราะห์ซอฟต์แวร์" ถูกนำมาใช้ในบทความโดยDongmei Zhang , Shi Han, Yingnong Dang, Jian-Guang Lou และ Haidong Zhang โดยส่วนหนึ่งมาจากกลุ่มวิเคราะห์ซอฟต์แวร์ (SA) ที่Microsoft Research Asia (MSRA) [ 7 ]
คำนี้กลายเป็นที่รู้จักกันดีใน ชุมชนวิจัย ด้านวิศวกรรมซอฟต์แวร์หลังจากที่กลุ่มวิเคราะห์ซอฟต์แวร์ได้จัดบทเรียนและบรรยายเกี่ยวกับการวิเคราะห์ซอฟต์แวร์หลายครั้ง โดยร่วมมือกับ Tao Xie จากมหาวิทยาลัยแห่งรัฐนอร์ทแคโรไลนาในการประชุมด้านวิศวกรรมซอฟต์แวร์ ซึ่งรวมถึงบทเรียนในการประชุมนานาชาติ IEEE/ACM ว่าด้วยวิศวกรรมซอฟต์แวร์อัตโนมัติ (ASE 2011) [ 8 ]การบรรยายในการประชุมเชิงปฏิบัติการนานาชาติว่าด้วยเทคโนโลยีการเรียนรู้ของเครื่องในวิศวกรรมซอฟต์แวร์ (MALETS 2011) [ 9 ]บทเรียนและการบรรยายหลักโดย Zhang ในการประชุม IEEE-CS ว่าด้วยการศึกษาและการฝึกอบรมด้านวิศวกรรมซอฟต์แวร์[ 10 ] [ 11 ]บทเรียนในการประชุมนานาชาติว่าด้วยวิศวกรรมซอฟต์แวร์ - วิศวกรรมซอฟต์แวร์ในทางปฏิบัติ[ 12 ]และการบรรยายหลักโดย Zhang ในการประชุมเชิงปฏิบัติการว่าด้วยการขุดค้นคลังซอฟต์แวร์[ 13 ]
ในเดือนพฤศจิกายน พ.ศ. 2553 โทมัส ซิมเมอร์แมนน์และเพื่อนร่วมงานของเขาที่กลุ่มวิศวกรรมซอฟต์แวร์เชิงประจักษ์ (ESE) ที่ Microsoft Research Redmond ได้เสนอแนวคิดการวิเคราะห์การพัฒนาซอฟต์แวร์ (การวิเคราะห์ซอฟต์แวร์โดยเน้นที่การพัฒนาซอฟต์แวร์) ในเอกสาร FoSER 2010 ของพวกเขา[ 14 ] ซิมเมอร์แมนน์และ ทิม เมนซีส์ จากมหาวิทยาลัยเวสต์เวอร์จิเนีย ได้จัดแผงอภิปรายเกี่ยวกับการวิเคราะห์การพัฒนาซอฟต์แวร์ในการประชุมนานาชาติว่าด้วยวิศวกรรมซอฟต์แวร์ หัวข้อวิศวกรรมซอฟต์แวร์ในทางปฏิบัติ[ 15 ]
ดูเพิ่มเติม
- คลังซอฟต์แวร์การขุด
- การบำรุงรักษาซอฟต์แวร์
- โบราณคดีซอฟต์แวร์
- การพัฒนาซอฟต์แวร์
- กระบวนการพัฒนาซอฟต์แวร์
- ประสบการณ์ผู้ใช้
- ซอฟต์แวร์คอมพิวเตอร์
- ซอฟต์แวร์แอปพลิเคชัน
- อุตสาหกรรมซอฟต์แวร์
- การวิเคราะห์
ลิงก์ภายนอก
- InfoWorld: เปลี่ยนตัวชี้วัดแอปพลิเคชันให้เป็นมูลค่าทางธุรกิจ
- กลุ่มวิจัยซอฟต์แวร์วิเคราะห์ข้อมูลของ Microsoft ประจำเอเชีย (SA)
- กลุ่มวิจัยด้านวิศวกรรมซอฟต์แวร์เชิงประจักษ์ (ESE) ของ Microsoft Research Redmond
- การวิเคราะห์ซอฟต์แวร์ในทางปฏิบัติและผลกระทบต่อการศึกษาและการฝึกอบรม ปาฐกถาหลักโดย ดงเหม่ย จาง ในการประชุมวิศวกรรมซอฟต์แวร์และการศึกษาและการฝึกอบรมครั้งที่ 24 ของ IEEE-CS (CSEE&T 2012)
- การวิเคราะห์ซอฟต์แวร์ในทางปฏิบัติ – แนวทางและประสบการณ์ สไลด์นำเสนอโดย ดงเหม่ย จาง ในการประชุมเชิงปฏิบัติการครั้งที่ 9 ว่าด้วยการขุดค้นข้อมูลจากคลังซอฟต์แวร์ (MSR 2012)
- สไลด์นำเสนอแบบย่อเรื่อง "การวิเคราะห์ซอฟต์แวร์ในทางปฏิบัติ" โดย Dongmei Zhang และ Tao Xie ในการประชุมวิศวกรรมซอฟต์แวร์นานาชาติครั้งที่ 34 (ICSE 2012)
- ซอฟต์แวร์วิเคราะห์ข้อมูล Pinterest
- Microsoft Azure - ข้อมูลเชิงลึกเกี่ยวกับแอปพลิเคชันใน Azure
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การวิเคราะห์ซอฟต์แวร์
การวิเคราะห์ซอฟต์แวร์ คือ การวิเคราะห์ เฉพาะด้านในโดเมนของ ระบบซอฟต์แวร์ โดยคำนึงถึง ซอร์สโค้ด คุณลักษณะคงที่และไดนามิก (เช่น ตัวชี้วัดซอฟต์แวร์ ) รวมถึงกระบวนการที่เกี่ยวข้องกับ...
คำจำกัดความ
"การวิเคราะห์ซอฟต์แวร์มีเป้าหมายเพื่อให้ได้ข้อมูลเชิงลึกและข้อมูลที่นำไปใช้ได้จากส่วนประกอบซอฟต์แวร์ที่ช่วยให้ผู้ปฏิบัติงานสามารถทำงานที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ ระบบ และผู้ใช้ได้" [ 1 ] ---...
จุดมุ่งหมาย
การวิเคราะห์ซอฟต์แวร์มีเป้าหมายเพื่อสนับสนุนการตัดสินใจและสร้างข้อมูลเชิงลึก เช่น ข้อค้นพบ ข้อสรุป และการประเมินเกี่ยวกับระบบซอฟต์แวร์ การนำไปใช้ องค์ประกอบ พฤติกรรม คุณภาพ วิวัฒนาการ ตลอดจนกิจกรรมของผู้มีส่วนได้ส่วนเสียต่างๆ ในกระบวนการเหล่านี้
เข้าใกล้
วิธีการ เทคนิค และเครื่องมือของการวิเคราะห์ซอฟต์แวร์โดยทั่วไปอาศัยการรวบรวม การวัด การวิเคราะห์ และการแสดงภาพข้อมูลที่พบในแหล่งข้อมูลมากมายที่จัดเก็บไว้ในสภาพแวดล้อมและระบบนิเวศการพัฒนาซอฟต์แวร์ ระบบซอฟต์แวร์เหมาะอย่างยิ่งสำหรับการประยุกต์ใช้การวิเคราะห์...