Skip to main content
QUICK REVIEW

[논문 리뷰] Teaching software process modeling

Marco Kuhrmann, Daniel Méndez|arXiv (Cornell University)|2013. 05. 18.
Software Engineering Techniques and Practices참고 문헌 26인용 수 14
한 줄 요약

이 논문은 학계 교육과 산업 현실 사이의 격차를 메우기 위해 석사 수준의 소프트웨어 프로세스 모델링 교육을 명시적으로 제안한다. 실습 기반의 프로젝트 중심 학습을 통해 프로세스 분석, 설계, 구현 및 개선을 통합함으로써 학생들이 실제 소프트웨어 프로세스에서 실용적인 역량을 기를 수 있도록 한다. 이는 학생의 참여도와 산업계 피드백을 통해 검증되었다.

ABSTRACT

Most university curricula consider software processes to be on the fringes of software engineering (SE). Students are told there exists a plethora of software processes ranging from RUP over V-shaped processes to agile methods. Furthermore, the usual students' programming tasks are of a size that either one student or a small group of students can manage the work. Comprehensive processes being essential for large companies in terms of reflecting the organization structure, coordinating teams, or interfaces to business processes such as contracting or sales, are complex and hard to teach in a lecture, and, therefore, often out of scope. We experienced tutorials on using Java or C#, or on developing applications for the iPhone to gather more attention by students, simply speaking, as these are more fun for them. So, why should students spend their time in software processes? From our experiences and the discussions with a variety of industrial partners, we learned that students often face trouble when taking their first “real” jobs, even if the company is organized in a lean or agile shape. Therefore, we propose to include software processes more explicitly into the SE curricula. We designed and implemented a course at Master's level in which students learn why software processes are necessary, and how they can be analyzed, designed, implemented, and continuously improved. In this paper, we present our course's structure, its goals, and corresponding teaching methods. We evaluate the course and further discuss our experiences so that lecturers and researchers can directly use our lessons learned in their own curricula.

연구 동기 및 목표

  • 학생들은 산업에서 중요하게 여겨지는 종합적인 소프트웨어 프로세스에 대한 실무 경험을 부족하게 가지고 있다.
  • 기존 교육 과정은 언어 중심 또는 응용 중심 과목을 우선시하여 소프트웨어 프로세스를 충분히 다루지 않는다.
  • 비록 애자일이나 린 조직이라도 학계 교육과 실제 소프트웨어 공학 직무의 요구 사항 사이에 격차가 존재한다.
  • 이 과정은 학생들이 소프트웨어 프로세스를 분석하고 설계하며 구현하고 개선하는 법을 가르침으로써 이를 해결하고자 한다.
  • 구조적이고 실용적인 프로세스 교육을 통해 학생들이 전문 소프트웨어 공학 직무에 더 잘 대비하도록 준비시키는 것이 목적이다.

제안 방법

  • 이 과정은 석사 수준에서 실습 기반의 학습 경험으로 설계되었다.
  • 학생들은 기존 소프트웨어 프로세스를 분석하고, 새로운 프로세스를 설계하며, 통제된 환경에서 이를 구현한다.
  • 강의 방법으로 사례 연구, 프로세스 모델링 기법(예: BPMN 또는 유사 기법), 반복적 개발 사이클을 활용한다.
  • 강사진은 산업 파트너의 피드백을 통합하여 과정 내용을 실제 산업 관행과 일치시킨다.
  • 학생 평가와 관찰된 학습 성과를 바탕으로 과정의 지속적 개선이 이루어진다.
  • 과정의 구조는 소프트웨어 프로세스 모델링의 이론적 기초와 실용적 적용을 모두 강조한다.

실험 결과

연구 질문

  • RQ1어떻게 대학 교육 과정에서 소프트웨어 프로세스 모델링을 효과적으로 가르치면 학생들이 산업 현장에 더 잘 대비할 수 있는가?
  • RQ2어떤 강의 방법이 복잡한 소프트웨어 프로세스에 대한 학생의 참여도와 이해도를 향상시키는가?
  • RQ3실제 산업 프로세스 관행을 교육에 통합하면 학생의 성과와 인식에 어떤 영향을 미치는가?
  • RQ4산업 협력자가 관련성 있고 실용적인 소프트웨어 프로세스 교육을 설계하는 데 어떤 역할을 하는가?
  • RQ5어떻게 소프트웨어 프로세스 교육을 구성하면 분석과 지속적 개선 모두를 지원할 수 있는가?

주요 결과

  • 수강 후 학생들은 소프트웨어 프로세스를 이해하고 적용하는 데 더 큰 자신감을 느꼈다.
  • 이 과정은 전통적인 프로세스 중심 교육이 부족한 과정보다 학생의 참여도를 높였다.
  • 산업 파트너들은 이 과정 수료자들이 실제 소프트웨어 공학 직무에 더 잘 대비된다는 점을 확인했다.
  • 프로젝트 기반 접근 방식을 통해 학생들은 애자일이나 워터폴과 같은 레이블을 넘어서 소프트웨어 프로세스의 복잡성과 중요성을 이해할 수 있었다.
  • 강사진은 과정 중 프로세스 중심의 팀 과제로 학생 간 협업 및 소통 능력이 향상된 것을 관찰했다.
  • 이 과정의 구조는 다른 학술 기관이 소프트웨어 프로세스 교육을 강화하고자 할 때도 유연하게 적용 가능하고 재사용 가능하다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.