การศึกษาผลของการดำเนินโครงการซอฟต์แวร์ภายใต้หลักการวิศวกรรมความต้องการ

ผู้แต่ง

  • วราพร จิระพันธุ์ทอง

คำสำคัญ:

วิศวกรรมความต้องการ, วิศวกรรมซอฟต์แวร์, การสร้างข้อกำหนดความต้องการ, ความต้องการ

บทคัดย่อ

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

References

Achimugu, P., et. al. (2014). A Systematic Literature Review of Software Requirements Prioritization Research. Information and Software Technology, 56(6), p. 568-585.

Alves, V., et al. (2010). Requirements engineering for software product line: A systematic literature review. Journal of Information and Software Technology, 52(8), p. 806-820.

Al-Ani, et al. (2013). Globally distributed system developers: Their trust expectations and processes. In Computer supported cooperative work (CSCW), pp. 563–573.

Beck, K. (1999). Extreme Programming Explained-Embrace Change. MA: Addison-Wesley.

Bjarnason, E., Wnuk, K. & Regnell, B. (2011b). Requirements are slipping through the gaps—A case study on causes & effects of communication gaps in large-scale software development. In 2011 IEEE 19th International Requirements Engineering Conference, pp. 37–46.

Cockburn, A. (2001). Writing Effective Use Cases. MA: Addison-Wesley.

Chen, L., et al. (2013). Characterizing Architecturally Significant Requirements. IEEE Software, 30(2), pp. 38-45.

Fernandez, D. & Wieringa, R. (2013). Improving Requirements Engineering by Artefact Orientation. Product-Focused Software Process Improvement. Lecture Notes in Computer Science, 7983, pp. 108-122.

Fowler et al. (2011). Refactoring: Improving the design of existing code. MA: Addison Wesley.

Hoda et al. (2011). The impact of inadequate customer collaboration on self-organizing agile teams. Information and Software Technology, 53(5), pp. 521–534.

Huang, J., Gotel, O., & A. Zisman (Eds.). (2012). Software and Systems Traceability. London: Springer. ISBN: 978-1-4471-2239-5.

Humphrey, W. S. (2005). PSP: A Self-Improvement Process for Software Engineers. MA: Addison Wesley. ISBN: 0-321-30549-3.

IEEE std. 610.12. (1990). Institute of Electrical and Electronics Engineers: IEEE Standard Glossary of Software Engineering Terminology (IEEE std. 610.12-1990). New York: IEEE.

Ingram, C., & Riddle, S. (2012). Cost-Benefits of Traceability (chapter). Software and Systems Traceability. London: Springer. ISBN: 978-1-4471-2239-5.

Kang, K., S., et. al. (1990). Feature-Oriented Domain Analysis (FODA) Feasibility Study. Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University.

Karlsson, L., et al. (2007). Requirements engineering challenges in market-driven software development –An interview study with practitioners. Information and Software Technology. 49(6), pp. 588-604.

Laplante, P. (2013). Requirements Engineering for Software and Systems, Second Edition FL: CRC Press. ISBN: 1466560819, 9781466560819.

Lemos, R., et al. (2010). Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, 7475, pp. 1-32.

Macaulay, L. (1993). Requirements Capture as a Cooperative Activity. In: Proceedings of the 1st IEEE International Symposium on Requirements Engineering, pp. 174-181. San Diego, CA: IEEE.

Pohl, L. (1996). Process-Centered Requirements Engineering. Somerset: Research Study Press.

Pohl, K., & Rupp, C. (2011). Requirements Engineering Fundamentals. CA: Rocky Nook Inc.

Royce, W. (1987). Managing the Development of Large Software Systems. In: Proceedings of the 9th International Conference on Software Engineering (ICSE’87), pp. 328-338. Los Alamitos: IEEE.

Ruiz-Lopez, T. et al. (2013). REUBI: A Requirements Engineering Method for Ubiquitous Systems. Science of Computer Programming, 78(10), pp. 1751-2026.

Schneider, F. & Berenbach, B. (2013). A Literature Survey on International Standards for Systems Requirements Engineering. In: 2013 Conference on Systems Engineering Research, 16, pp. 798-805.

V-Model. (2004). The V-Model. Bundesrepublik Deutschland, Vorgehensmodell. Retrieved May 3, 2014, from http://ftp.uni-kl.de/pub/v-modell-xt/Release-1.1eng/Dokumentation/pdf/V-Modell-XT-eng-Teil1.pdf

Wieringa, R. (2014). Empirical research methods for technology validation: Scaling up to practice. Journal of Systems and Software, 95, pp. 19–31.

Winkler, S. & Pilgrim, J. (2010). A Survey of Traceability in Requirements Engineering and Model-driven Development. Journal Software and Systems Modeling, 9(4), pp.529-565.

Downloads

เผยแพร่แล้ว

2020-07-01