$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

초록
AI-Helper 아이콘AI-Helper

소프트웨어 프로젝트를 개발하는 방법론에는 20여 가지의 개발 프로세스 모델들이 존재한다. 그러나 모든 소프트웨어의 특성을 만족시킬 수 있는 일반화된 하나의 모델이 없는 실정으로 개발조직은 여러 모델들을 적절히 혼합하여 개발될 시스템과 개발팀의 능력에 맞도록 새로운 모델을 개발하여야만 한다. 본 논문에서는 다양한 소프트웨어 개발 상황에 보다 적합할 것으로 판단되는 동시개발 프로세스 모델을 제안한다. 먼저, 개발 요구사항 목록들이 작성되면, 요구사항을 중요도에 따라 20:80 비율로 분할하고, 중요한 20% 요구사항의 요구사항 분석과 아키텍쳐 설계가 완료될 때까지는 순차적으로 수행한다. 20%의 중요 요구사항에 대해 상세설계를 시작하는 시점에서 나머지 80%의 요구사항에 대한 요구사항 분석단계를 동시에 수행하는 개념이다. 동시개발은 타임박스(Timebox) 개념으로 수행되며, 이때 적용되는 순차적, 반복적 & 점진적 또는 Agile 방법들에 따라 각 타임박스에서 개발되는 요구사항의 분할 비율은 차이가 발생한다. 순차적, 반복적 & 점진적 또는 Agile 방법론을 동시개발 개념을 적용한 결과 단일화된 프로세스 모델로 표현할 수 있었다. 제안된 모델은 개발 단계들을 팀 단위로 수행할 경우 개발자원 활용의 비효율성을 크게 줄일 수 있다. 또한, 동시개발 개념을 적용하여 단계들이 중첩되어 수행되므로 개발기간도 크게 단축시키는 장점이 있다. 따라서 제안된 모델은 보다 빠른 시간에 보다 저렴한 비용으로 보다 좋은 품질의 소프트웨어를 개발하여 고객에게 납품할 수 있어 고객을 만족도를 향상시킬 수 있으며, 더불어 소프트웨어 개발 성공률을 높이는데도 기여할 것으로 판단된다.

Abstract AI-Helper 아이콘AI-Helper

Though a dozen of different software life cycle models are suggested, there is no universal model which can satisfy all the characteristics of software. Organizations mix and match different life cycle models to develop a model more tailored for their systems and capabilities. We suggest overlapped-...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 동시개발 프로세스를 유도하기 위해 먼저, 프로젝트 개발 일정을 보다 단축시킬 수 있는 방법으로 동시개발 개념을 적용한 프로세스 모델 연구가 있는지 살펴본다. 그림 5와 같이 폭포수 모델의 각 단계들을 중첩시켜 동시에 수행하는 프로세스는 Sashimi (중첩된 폭포수 모델)가 있다.
  • 이 방법에 속하는 모델들로는 Waterfall with Subprojects, Staged Delivery, Design-toSchedule, Evolutionary Delivery와 Spiral이 있다. 따라서 본 논문에서는 DD 단계부터 시스템을 동시에 개발하는 방법을 채택한다.
  • 본 논문에서는 Monumental과 Agile을 모두 포함하는 단일화된 소프트웨어 개발 프로세스를 제안한다. 제안된 모델을 실제 적용하기 위해서는 Monumental이나 Agile 등 주어진 소프트웨어 개발에 가장 적합한 것으로 선택하여 동시개발 (Concurrent Development)하면 된다.
  • 본 논문에서는 다양한 소프트웨어 개발 상황에 보다 적합할 것으로 판단되는 동시개발 프로세스 모델을 제안하였다. 제안된 모델의 특징은 먼저, SC 단계에서 얻은 100% 요구사항 리스트를 기반으로 요구사항을 20:80으로 분할한다.
  • 전형적인 소프트웨어 개발 프로세스는 요구사항들로부터 시작된다. 요구사항에 대한 최적의 분할 비율을 고찰하여 보자. 80:20 법칙을 요구사항 관리에 적용하기 위해 “80%의 중요한 요구사항과 20%의 중요하지 않은 요구사항으로 분리한다.
  • 이 방법은 20%의 중요한 요구사항 분석과 개략설계를 완료한 후 상세설계와 나머지 80%에 대한 요구사항 분석을 동시에 수행하는 방법을 채택한다. 이 방법을 제시하는 근거로 소프트웨어 개발 분야에서 파레토 법칙을 적용하고 있는 사례를 살펴보자.
  • 또한, 만약 요구사항을 분할한다면 분할하는 비율은 얼마로 할 것인가가 문제로 대두된다. 이러한 문제를 해결하기 위해 먼저, 소프트웨어 위기 (Software Crisis)를 해소하기 위한 방법들을 고찰해 보자.
  • 파이를 대상으로 이들 개발 방법론들을 설명하여 보자. 순차적 개발은 SC 단계에서 개략적인 파이 형태를 형성하고 RA, AD, DD, I 등의 단계를 거치면서 파이 내부가 점차 명확해지는 형태이다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
전형적인 소프트웨어 개발 과정은? 소프트웨어 개발 과정은 전형적으로 User's Software Requirements List, User Stories List나 Use Cases List 등을 결정하는 소프트웨어 개념정립 (SC, Software Concepts), 요구사항을 구체적으로 분석하고 모델링하는 요구사항 분석 (RA, Requirement Analysis), 시스템의 아키텍쳐를 설계하는 아키텍쳐 설계 (AD, Architecture Design, Preliminary Design 또는 High-level Design), 상세설계 (DD, Detail Design), 구현 (I, Implementation 또는 Coding), 단위시험 (UT, Unit Test), 통합시험 (IT, Integration Test), 시스템시험 (ST, System Test)과 수락시험 (AT, Acceptance Test)을 거친 후 고객에게 납품(Delivery)된다.
본 연구에서 제안한 최종 동시개발 프로세스 모델을 설명하시오. 본 논문에서는 다양한 소프트웨어 개발 상황에 보다 적합할 것으로 판단되는 동시개발 프로세스 모델을 제안하였다. 제안된 모델의 특징은 먼저, SC 단계에서 얻은 100% 요구사항 리스트를 기반으로 요구사항을 20:80으로 분할한다. 다음으로 20%의 중요한 요구사항에 대해 추상화 단계 (RA→AD)를 순차적으로 수행하여 시스템 아키텍쳐 기반을 형성하고 20% 요구사항에 대한 DD 단계를 시작하는 시점에서 나머지 80%의 요구사항에 대한 RA 단계를 동시에 수행하는 동시개발 개념을 적용하였다. 동시개발에는 한 단계에서 완료된 요구사항들이 바로 다음 단계 수행 팀에게 전달하여 여러 단계가 동시 수행되어 개발하는 형태를 취하고 있어 개발자원 활용의 비효율성을 크게 줄일 수 있는 장점이 있다. 또한, 여러 단계들이 중첩되어 동시에 수행되기 때문에 기존의 캐스케이드 개발 방법들 보다 개발기간을 현저하게 단축시키는 효과를 얻어 소프트웨어 개발 성공률을 높이는데도 기여할 것으로 판단된다.
본 연구에서 말하는 프로젝트 4중 제약사항을 설명하시오. 고객은 일정 품질 수준 (Quality Level)을 만족하는 제품의 기능 (Scope)을 얻기 위해 개발자에게 시간 (Time)과 비용 (Cost)를 지불한다. 개발자는 주어진 시간과 비용 한도 내에서 고객이 원하는 품질수준을 만족시키는 제품 기능을 제공해야만 한다. 이를 프로젝트 4중 제약사항이라 한다.
질의응답 정보가 도움이 되었나요?

참고문헌 (40)

  1. J. Marasco, "The Project Pyramid," The Rational Edge E-zine on-line magazine, http://www-128.ibm.com/developerworks/rational/library/4291.html, 2004. 

  2. M. Fowler, "The New Methodology," Thought-Works, 2005. 

  3. B. Lewis, "The 70-Percent Failure," Infoworld. http://archive. infoworld.com/articles/op/xml/01/10/29/011029/opservival.html, 2003. 

  4. K. Curran, "Project Management: Project Lifecycle Plannin, "http://www.infm.ulst.ac.uk/kevin/com820/week3.ppt, University of Ulster, Magee Collage, N. Ireland, 2005. 

  5. T. Sloan, "Development Models," http://www.nesc.ac.uk/talks/Wodsmes/day3/dev-models.pdf, National e-Science Centre, 2002. 

  6. N. B. Priyanto, "Software Project Management: Planning," Computer Science at University of Indonesia, 2005. 

  7. J. F. Dooley, "Life Cycle Models," http://deptorg.knox.edu/CS322/322PDFLectures/L2LifeCycle.pdf, KNOX College, 2005. 

  8. D. F. Rico, "Using Cost Benefit Analysis to Development Software Process Improvement (SPI) Strategies, http://www.dacs.dtic.mil/techs/RICO/2-6cycles.shtml 

  9. M. Lindvall and I. Rus, "Process Diversity in Software Development," IEEE Software, Vol. 17, No. 4, pp. 14-18, 2000. 

  10. Java.net, "What Term Best Describes Your Software Development Process?," http://java.net/pub/pg/94, 1994. 

  11. J. Mohr, "The Software Life Cycle," http://www.augustana.ab.ca/mohrj/courses/2005.fall/csc220/, Augustana Faculty, University of Alberta, Canada, 2005. 

  12. C. Wallin and R. Land, "Software Development Lifecycle Models: The Basic Types," Research Methodology for Computer Science and Engineering, 2001. 

  13. J. J. Kuhl, "Project Lifecycle Models: How They Differ and When to Use Them," Business eSolution, http://www.business-esolutions.com/islm.htm, 2002. 

  14. S. Huitsing, "Lifecycle Models," http://faculty.washington.edu/sharonh0/UW-HIA421/,UW Computing & Communications, 2001. 

  15. S. Cohen, "Software Life Cycles," Electrical & Computer Engineering, University of Pittsburgh, http://j7.ee.pitt.edu, 2005. 

  16. R. Lewallen, "Software Development Life Cycles Model," http://codebetter.com/blogs/raymond.lewallen/archive/2005/07/13/129114.aspx, 2005. 

  17. M. Lines, J. Bames, J. Holmes, and S. W. Ambler, "Agile RUP: Experiences From The Trenches," http://www.ibm.com/developerworks/library/edge/feb08/lines_bames_holms_ambler/index.html, The Rational Edge, 2008. 

  18. P. Jalote, A. Palit, and P. Kurien, "The Timeboxing Process Model for Iterative Software Development," http://www.cse.iitk.ac.in/jalote/papers/Time.boxingChap.pdf, 2005. 

  19. A. Crain, "Overlapping Iterations in a RUP -based Projects," http://www-106.ibm.com/developerworks/rational/library/may05/crain/, The Rational Edge, 2005. 

  20. E. Dijkstra, "The Humble Programmer," Communications of the ACM, 1972. 

  21. Standish group, "The CHAOS Report," http://www.standishgroup.com/sample/PDFpages/chaos1994.pdf, 1994. 

  22. E. Kazmierezak, "Requirements Engineering, " The University of Melbourne, 2003. 

  23. M. Fowler, "Is Design Dead?," Thoughtworks, 2004. 

  24. B. Kaehms, "80/20 Rule in Software Development," http://www.mnl.com/ourideas/opensource/8020_rule_in_software_developm_1.php, Media NetLink, Inc., 2008. 

  25. R. Kalaver, "Prioritizing For Success; Living, Breathing 80-20,"http://stealthemode.wordpress.com/2007/11/11/living-breathing-80-20/,wordpress.com, 2007. 

  26. P. Schiller, "The Critical, The Few, The Vital, But Not Necessarily The Only," http://www.leader2leaders.com/80-20, Leader2leaders, 2000. 

  27. P. Clair, "Evaluating and Managing Software Requirement Risk," Soutwest Research Institute, 2004. 

  28. B. Kaehms, "80/20 Rule in Software Development," Media Net Link, Inc., 2008. 

  29. A. B. Pyster and R. H. Thayer, "Software Engineering Project Management 20 Years Later," IEEE Computer Society, 2005. 

  30. W. Bock, "The Five Ps of Leadership," megastarmedia.com, 2003. 

  31. Shmula.com, "The Pareto Principle," http://www.shmula.com/129/the-pareto-principle, 2006. 

  32. J. Zhuk, "Integration-Ready Architecture and Design," Cambridge University Press, 2004. 

  33. Envision Software, "Methodology," http://www.envisionsoftware.com/MethodologyOverview.html, Envision Software, 2005. 

  34. Royce, "Managing the development of large software systems: concepts and techniques," Proceedings of the 9th international conference on Software Engineering, pp. 328-338, 1987. 

  35. J. Martin, "Rapid Application Development," Macmillan Coll Div, 1991. 

  36. W. Maner, "Rapid Application Development," http://www.cs.bgsu.edu/maner/domains/RAD.htm, 1997. 

  37. Xware.com, "Putting the 'I' in 'IT'," http://www.xware.com/files/credentials/CIOAdvartorial_Bell_2006.pd, Xware.com, 2006. 

  38. S. Adcock, "Rapid Application Development: The Iterative Approach to Systems Analysis," http://www.umsl.edu/ -asan74/, University of Missouri. 

  39. Wikipedia, "Dynamic Systems Development Method," http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method, WikimediaFoundation, Inc., 2008. 

  40. A. Irons, "Agile Methods - Silver Bullet or Red Herring?," The British Computer Society, 2006. 

저자의 다른 논문 :

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로