การศึกษาผลของการดำเนินโครงการซอฟต์แวร์ภายใต้หลักการวิศวกรรมความต้องการ
คำสำคัญ:
วิศวกรรมความต้องการ, วิศวกรรมซอฟต์แวร์, การสร้างข้อกำหนดความต้องการ, ความต้องการบทคัดย่อ
งานวิจัยนี้มีจุดประสงค์เพื่อศึกษาทดลองการดำเนินโครงการซอฟต์แวร์โดยเปรียบเทียบ การดำเนินกิจกรรมตามหลักวิศวกรรมความต้องการและที่ไม่เคร่งครัดต่อกิจกรรมภายใต้วิศวกรรมความต้องการ การทดลองดำเนินโครงการซอฟต์แวร์โดยแบ่งออกเป็น 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
เผยแพร่แล้ว
How to Cite
ฉบับ
บท
License
เนื้อหาและข้อมูลในบทความที่ลงตีพิมพ์ในวารสารสุทธิปริทัศน์ ถือเป็นข้อคิดเห็นและความรับผิดชอบของผู้เขียนบทความโดยตรงซึ่งกองบรรณาธิการวารสาร ไม่จำเป็นต้องเห็นด้วย หรือร่วมรับผิดชอบใดๆ
บทความ ข้อมูล เนื้อหา รูปภาพ ฯลฯ ที่ได้รับการตีพิมพ์ในวารสารสุทธิปริทัศน์ ถือเป็นลิขสิทธิ์ของวารสารสุทธิปริทัศน์หากบุคคลหรือหน่วยงานใดต้องการนำทั้งหมดหรือส่วนหนึ่งส่วนใดไปเผยแพร่ต่อหรือเพื่อกระทำการใด ๆ จะต้องได้รับอนุญาตเป็นลายลักษณ์อักษรจากวารสารสุทธิปริทัศน์ก่อนเท่านั้น