A Process Tailoring Method Based on Artificial Neural Network

인공신경망 기반의 소프트웨어 개발 프로세스 테일러링 기법

  • 박수진 (서강대학교 컴퓨터학과) ;
  • 나호영 (삼성전자 반도체 총괄시스템 기술팀) ;
  • 박수용 (서강대학교 컴퓨터학과)
  • Published : 2006.02.01

Abstract

The key to developing software with the lowest cost and highest quality is to implement or fit the software development process into a given environment. Generally, applying commercial or standard software development processes on a specific project can cause too much overhead if there is no effort to customize the given generic processes. Even though the customizing activities are done before starting the project, these activities are thoroughly dependent on the process engineers who have abundant experience and knowledge with tailoring processes. Owing to this dependence on human knowledge, it has been very difficult to explain the rationale for the results of process tailoring and it takes a long time to get the customized process that is applicable. Hence, we suggest a process tailoring method which adopts the artificial neural network based teaming theory to reduce the time consumed by process tailoring. Furthermore, we suggest the feedback loop mechanism to get higher accuracy in the neural network designed for the process tailoring. It can be done by reusing the process tailoring data results and determining its appropriateness level as sample data to the neural network. We proved the effectiveness of our process tailoring method through case studies using real historical data, which yielded abundant process tailoring results as sample data.

높은 소프트웨어의 품질은 유지하면서, 최소한의 비용으로 소프트웨어를 개발하기 위해서는 소프트웨어 개발 프로젝트의 상황에 알맞은 프로세스를 적용하는 것이 중요하다. 일반적으로 상용 프로세스나 조직의 표준 프로세스를 프로젝트팀에 적용하고 있으나, 대부분의 경우, 경험부족이나 인력부족 등의 이유로 일반적인 프로세스를 어떤 가감도 없이 그대로 적용함으로써 오히려 소프트웨어 개발에 있어서 오버헤드를 초래하고 있다. 프로세스 테일러링 작업을 수행하는 경우에도, 대부분의 테일러링 작업은 몇몇 프로세스 엔지니어의 경험에 의존하는 실정이다. 이런 경우, 테일러링 결과로서의 프로세스는 얻을 수 있으나 타당한 근거를 제시하기 힘들고, 많은 시간을 요한다. 따라서 본 논문에서는 인공신경망 기반의 학습이론을 프로세스 테일러링에 적용함으로써 테일러링 작업 중에서도 많은 시간을 필요로 하는 프로세스 필터링 작업을 자동화하는 방안을 소개하고 있다. 뿐만 아니라 필터링된 프로세스를 재구성하여 그 결과 얻어지는 프로젝트 상황에 적합하게 테일러링된 프로세스를 실제 프로젝트에 적용한 후 얻을 수 있는 피드백 자료를 학습의 자료로 다시 사용함으로써, 인공신경망의 정확도를 높여나가는 방법까지를 제시하고 있다. 본 논문에서는 이렇게 제시한 소프트웨어 개발 프로세스의 테일러링 방법의 실효성을 충분한 샘플자료를 바탕으로 한 실질적인 적용례를 통해 입증하고 있다.

Keywords

References

  1. CMU SEI, The Capability Maturity Model-Guidelines for Improving the Software Process, Addison Wesley, 1995
  2. Khaled El Emam, Jean-Normand Drouin, Walcelio Melo, SPICE : The Theory and Practice of Software Process Improvement and Capability Determination, Addison-Wesley ,November 1997
  3. Rational Unified Process 2003
  4. S. Brinkkemper, 'Method engineeraing: engineering of information systems development methods and tools,' Information and Software Technology, Volume 38, Issue 4, pp.275-2, 1996 https://doi.org/10.1016/0950-5849(95)01059-9
  5. Arthur H. M. ter Hofstede, T. F. Verhoef, 'On the Feasibility Of Situational Method Engineering,' Information Systems, Volume 22, Issues 6-7, pp.401-4, September- November 1997 https://doi.org/10.1016/S0306-4379(97)00024-0
  6. Fredrik Karlsson, Par Agerlalk, Anders Hjal-marsson., Method Configuration with Development Tracks and Generic Project Types, 6th CAiSE/IFIP8. International Workshop on Evaluation of Modeling Methods in Systems Analysis and Design (EMMSAD'01), June 2001
  7. D.G. Firesmith and B. Henderson-Sellers, The OPEN Process Framework: An Introduction, Addison-Wesley, Reading, 2000
  8. H. Iida, 'Pattern-Oriented Approach to Software Process Evolution,' International Workshop on Principle of Software Evolution, 1999
  9. E. Gamma, R. Helm, R. Johnson, John Vlissides, 'Design Patterns: Elements of Reusable Object-Oriented Software,' Addison-Wesley, 1995
  10. P. Xu, B. Ramesh. A Tool for the capture and use of Process knowledge in process tailoring, Proceedings of the 36th Annual Hawaii International Conference, 6-9 pp.96-102, 2003
  11. D.Zhang, Jeffery J.P.Tsai, Machine Learning and Software Engineering, Tools with Artificial Intelligence, 2002. (ICTAl 2002). Proceedings. 14th IEEE International Conference on 4-6, Page(s): 22-29, Nov. 2002 https://doi.org/10.1109/TAI.2002.1180784
  12. M.Lowry, Software engineering in the twenty first century, AI Magazine, vol.l4, No.3, pp. 71-87, Fall 1992
  13. D.Zang, Appliying machine learning algorithm in software development, Proc. Monterey Workshop on Modeling Software System Structures, Santa Margherita Ligure, Italy, June 2000, pp.275-285
  14. 신경망 이론과 응용(1): 김대수, Page 91-142, 하이테크정보사, 1992
  15. 박수용, 황만수, 박수진, 서성숙, 나호영, CMM 기반의 통합된 소프트웨어 요구사항 관리 프레임워크, 정보과학회지 제 21권 제 4호, pp. 33-41, 2003.4
  16. http://www.cs.waikato.ac.nz/ml/weka/
  17. W. Royce, Software Project Management : A Unified Framework, Addison-Wesley, Reading, 1998
  18. http://jongp.com/street/faqNans/ai/neural-nets/part3/section-10.html