Siriya

cdc wiki
Com236 (토론 | 기여)님의 2023년 6월 18일 (일) 03:35 판 (설계 사양)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : Sira

영문 : Development Tool for Developer

과제 팀명

Siriya

지도교수

이*정 교수님

개발기간

2023년 3월 ~ 2023년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20179200** 김*중(팀장)

서울시립대학교 컴퓨터과학부 20189200** 김*석

서울시립대학교 컴퓨터과학부 20199200** 아***바 마***누

서울시립대학교 컴퓨터과학부 20189200** 이*영

서울시립대학교 컴퓨터과학부 20199200** 이*진

서론

개발 과제의 개요

개발 과제 요약

  • Sira는 소프트웨어 공학의 애자일 방법론을 토대로 프로젝트 관리를 도와주는 온라인 툴이다.
  • Sira의 예상 사용자는 서울시립대학교 컴퓨터과학부 학생으로 4명 내의 소규모 비전문가 조직이다.
  • Sira는 Jira Software를 참고하였으며, 학부생이 이용하기 어려운 프로젝트 관리 툴을 쉽게 접근할 수 있게 하는 것이 목표이다. 이를 위한 레벨/포인트 시스템과 튜토리얼 기능이 추가되었다.
  • Sira의 기능은 크게 3가지로 나눌 수 있다. 각각 프로젝트 관리, 회의 일정 관리, 프로젝트 커뮤니티이다.
  • 프로젝트 관리는 전체적인 로드맵을 상위/하위 태그를 통해 구상한 뒤 이루어지며, 스프린트 단위로 시간을 관리하고, 이슈 단위로 업무를 관리한다. 각 이슈에는 포인트를 부여하여 비중을 달리한다.
  • 회의 일정 관리는 팀 내에서 가장 효율적으로 회의할 수 있는 시간을 알려주고 일정을 잡는데 도움을 준다.
  • 프로젝트 커뮤니티의 주 기능은 프로필과 프로젝트의 검색을 바탕으로, 관심있는 개발자를 팔로우하거나 참여하고 싶은 프로젝트에 참가하는 것이다.

개발 과제의 배경

  • 서울시립대학교 컴퓨터과학부에서는 소프트웨어공학이라는 전공필수 과목에서 여러 유형의 협력방법론 예를 들어 “폭포수 모델”, “프로토타입 , “애자일 방법론” 과 같은 것들에 대해 배우고 적용해본다.
  • 이때 많은 학생들이 보통 “폭포수 모델”을 사용해서 협력을 진행하게 되는데 이는 “폭포수 모델”의 단순함과 익숙함 때문이라고 생각된다.
  • 하지만 실제 많은 현업에서는 “애자일 방법론”을 사용하거나 혹은 애자일스럽게와 같은말처럼 어느정도 “애자일 방법론”을 섞은 형태로 협업을 진행된다. 이러한 점에도 불구하고 많은 학생들이 “애자일 모델”을 기피하는 이유는 “애자일”이라는 개념에 대한 낯설음과 “애자일”특성상 구성원 모두의 적극적인 참여를 유도해야 하는데 실제 학생들에게 이러한 동기부여하는 것이 어렵기 때문이다.
  • “애자일 방법론”을 적용할 수 있는 툴로는 “Jira”와 같은 것들이 있으나 이 툴은 학생들이 사용하기에 복잡하고 소규모의 프로젝트를 하는 학생들 보다는 대규모의 프로젝트를 진행하는 대기업에 초점이 맞추어져 있다.
  • 따라서 게임적인 요소를 추가하여 학생들의 적극적인 참여를 유도하면서 쉽게 애자일 방법론을 적용시킬 수 있는 개발툴을 만들기로 하였다.
  • 이 개발툴은 기본적으로 학생들의 성공적인 프로젝트 협력을 돕는다.
  • 또한 애자일 방법론”에 기반하여 만들어져 프로젝트 구성원들이 프로젝트를 진행하면서 자연스럽게 애자일방법론이 무엇인지에 대해 학습할 수 있다.
  • 또한 시각적인 요소를 적극적으로 활용하여 사용자가 쉽게 사용할 수 있다.
  • 정보전달이 쉽고 긍정적 인상을 줄 수 있는 디자인을 선택하여, 프로젝트 진행도를 쉽게 확인할 수 있다.
  • 업무를 해결해 나갈때마다 경험치를 부여하고 자신이 획득한 총 경험치에 따라 자신의 성장도를 알 수 있도록 해 사용자가 스스로에게 동기부여 될 수 있도록 하며 프로젝트 구성원의 기여도 또한 알 수 있다.
  • 프로젝트를 시작하고 싶을 때 혹은 자신의 지식을 실전에서 적용하고 싶을 때 프로젝트를 검색하거나 현재 진행하고 있는 프로젝트에 적합한 사람을 쉽게 찾아 함께할 수 있도록 한다.

개발 과제의 목표 및 내용

  • 초보 개발자가 해당 협업 툴을 사용해 가이드를 따라가는 것 만으로도 성공적으로 프로젝트를 완수할 수 있다.
  • 프로젝트의 진행과 구인을 동시에 할 수 있다.
  • 자신의 프로필에 관심있는 영역과 기술스택을 등록하고 자신이 참여하고 싶은 프로젝트나 구인을 진행할 수 있도록 한다.
  • 애자일 방법론에 따라 각 프로젝트를 스프린트별로 구성할 수 있도록 하고 각 스프린트마다 진행되어야 할 이슈로 구분해 협력과정이 애자일스럽게 진행되도록 한다.
  • 각 이슈의 의존관계를 명확하게 확인할 수 있도록 하고 현재 진행전/진행중/완료와 같은 상태 값을 이용해 쉽게 현재 프로젝트 상황을 확인할 수 있도록 한다.
  • 각 이슈에 대해서 담당자가 누구인지, 현재 어떤 상태로 진행되고 있는지와 같은 정보들을 쉽게 확인할 수 있도록 하고 프로젝트 구성원이 댓글기능을 통해 서로 피드백할 수 있도록 한다.
  • 각 구성원이 한 업무를 해결할 때마다 경험치를 획득할 수 있도록 하고 자신이 얻은 총 경험치를 확인할 수 있도록 해 프로젝트에 더 적극적으로 임할 수 있도록 돕는 기능을 구현한다.
  • 회의와 같이 서로 시간을 내어야 할 때 각자 비는 시간을 입력하면 공통된 비는 시간을 알려주는 기능을 구현한다

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황
    • Jira
      • Atlassian에서 만든 이슈트래킹 제품이다. 버그추적, 이슈추적, 프로젝트 관리 기능을 제공하는 소프트웨어로 190개 국가에서 사용되고 있다. jira는 4가지 패키지로 제공된다.
        • Jira Work management : 일반적인 프로젝트 관리(소프트웨어 개발 외에도 적용될 수 있는 일반적인 과정)
        • Jira Software : 애자일 프로젝트 관리지능을 포함한 기본 소프트웨어
        • Jira Service Management : IT 운영 또는 비즈니스 서비스 데스크에서 사용하기 위한 것
        • Jira Align : 전략적 제품 및 포트폴리오 관리를 위한것
      • 위와 같이 Jira는 일반적인 소프트웨어 개발 프로세스뿐만 아니라 비즈니스 로직 전체에 관한 프로젝트 형상관리를 도울 수 있다.
    • Slack
      • Slack Technologies에서 개발한 클라우드 컴퓨팅 기반 인스턴트 메신저 및 프로젝트 관리용 협업툴이다.
      • 강력한 API를 제공하여 봇의 형태로 여러 업무를자동화하거나 자신만의 서비스를 개발이 가능하다.
      • workspace별로 인터페이스가 구분되며 이슈를 주제도 정보가 구분되기 보다는 스레드별로 정보가 구분된다.
    • Trello
      • 웹 기반의 프로젝트 관리 소프트웨어이다. 기본적인 일의 단위는 카드이며 보드 안에 리스트, 리스트 안에 카드가 들어간다. 카드 안에 체크리스트 등을 만들어 프로젝트를 관리할 수 있다.
      • 드래그&드랍으로 쉽게 관리가 가능하다.
    • Notion
      • 프로젝트 관리 및 기록 소프트웨어이다.
      • 칸반보드, 작업, 위키, 데이터베이스를 통합하는 수정된 마크다운 지원을 가진 협업 플랫폼이다.
      • 문서와 관련된 작업에 특화되어 있으며 문서 작성에 있어 여러가지 기능을 제공한다.
      • 문서작성외에도 여러 기능을 제공하긴하지만 일정 수준 이상의 전문성은 갖추고 있지 않은 것으로보인다.
  • 특허조사 및 특허 전략 분석
    • 주식회사 케이티프리텔. 소프트웨어의 유지보수 개발 규모 측정방법 및 그 시스템.KR20090000818A, filed April, 5, 2007, and issued June, 5, 2009
      • 본 발명은 소프트웨어의 유지보수에 대한 요청사항이 있을 때 이를 수행하기 위한 개발 규모 및/또는 개발 공수를 자동으로 산출하여 효율적인 규모 관리가 가능하도록 하는 소프트웨어의 유지보수 개발 규모 측정방법 및 그 시스템에 관한 것으로서, 소프트웨어의 유지보수에 대한 요청사항 발생 시, 상기 요청사항에 포함되는 하나 이상의 기능에 대한 기능유형 및 개선유형을 각각 분별하여 입력하는 단계; 및 입력된 상기 기능유형 및 개선유형 각각에 대해 소정 단위 기간동안 측정된 기능점수로부터 상기 요청 사항의 개발규모를 추정 산출하는 단계를 포함하여 이루어져, 소프트웨어의 유지보수 개발 규모를 용이하고 신속하게 추정할 수 있다. 또한, 개발 규모 및 자원 등을 산출하는 데 있어 기존에 이미 측정된 기능점수 및 투입 공수값을 활용함으로써 요구사항에 따른 소요자원의 예측에 있어서의 객관성 및 효율성을 향상시킬 수 있는 효과가 있다.
    • 주식회사 스트라토아이티. 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템.KR102300005B1, filed March, 5, 2021, and issued September 8, 2021
      • 소프트웨어 컴포넌트 표현 그래픽 객체 간의 연결 조작을 고려하는 소프트웨어 개발 방법이 제공된다. 본 게시의 일 실시예에 따른 소프트웨어 개발 방법은 제1 소스 개체를 가리키는 제1 그래픽 객체와 제2 소스 개체를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 유닛 설계 뷰에 디스플레이 하는 단계와, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제2 소스 개체에 대한 레퍼런스가 상기 제1 소스 개체에 추가되도록 소스 코드를 자동으로 수정하는 단계를 포함할 수 있다.
    • 특허전략
      • 기존의 특허들은 개발툴의 기술적인 면과 소프트웨어 개발프로세스스의 전통적인 가치에 집중되어 등록되어 왔다. 특허조사를 통해 알아본 특허 중 전자와 같이 개발비용, 기간, 자원측정과 같이 프로젝트의 전체적인 비용을 조사하는 식의 특허거나 혹은 두번째 처럼 어떤 식으로 작동해야하는지와 같은 것들에 집중한 특허가 많았다.
      • 우리의 개발툴은 이러한 전통적인 가치에 치중하기 보다, 애자일 프로세스가 가지고 있는 사상적인 측면과 소프트웨어 공학에 대한 교육이라는 측면에서 개발될 것이다. 어떤 식으로 개발해야 애자일스럽게 할 수 있는 것인지 돕고 그 툴을 사용하는 것 만으로 공부가 될 수 있도록 할 것이다.


  • 기술 로드맵
    • 기존의 협력툴들은 대체로 여러가지 기능들을 제공하는데 학생들이나 소규모의 팀들이 상요하기에 너무 비대한 경우가 많다. 따라서 우리가 필요한 기능들을 간략하게 추리고 학생들에게 꼭 필요한 기능을 넣어 가볍고 효율적인 프로그램을 개발한다.
    • 서울시립대 학생들이 자연스럽게 접속하고 편하게 사용할 수 있도록 웹 기반 소프트웨어로 개발을 진행한다.
    • react를 사용해 보기 편한 디자인과 반응형 웹을 구현하여 사용자가 프로젝트를 자연스럽게 따라함으로서 관리프로세스에 대한 이해도를 높일 수 있도록 한다.


시장상황에 대한 분석

  • 경쟁제품 조사 비교

SIRA 비교 공통점.png SIRA 비교 차이점(장점).png SIRA 비교 차이점(단점).png

  • 마케팅 전략 제시
    • 시라의 장점으로는 지라에 없는 여러 기능을 소개할 수 있다. 예를 들어 시라에는 일정관리 기능, 프로필 기능 그리고 툴의 사용방법을 튜토리얼 방식으로 가르쳐주면서 이런 툴을 처음 접해보는 학생들도 보다 간편하게 사용할 수 있도록 한다.
    • 시라의 약점을 분석하기 위해 실제로 사용자 경험과 피드백 또한 설문을 통해서 파악할 예정이다.
    • 시라가 많은 수요를 이끌어낼 수 있는 기회는 바로 초보 개발자를 위해 만들어진 개발 툴이라는 점이다. 기존에 존재하는 지라의 경우 해당 툴을 익히기 위해 공식 문서를 통해 사용법을 익혀야 하는 등 어려움이 존재하지만 시라는 튜토리얼 방식을 통해 사용자가 직접 사용법을 찾아보지 않더라도 안내에 따라 프로세스를 진행하는 것 만으로 성공적으로 프로젝트를 완수 할 수 있도록 도움을 줄 수 있다.
    • 기존에 존재하는 지라 경쟁 제품을 경쟁사 분석을 하면서 시라 툴의 경쟁적 마케팅 전략을 지속적으로 개선해 나간다.

개발과제의 기대효과

기술적 기대효과

  • 애자일 소프트웨어 개발 방법론을 잘 알지 못하거나 경험해보지 못한 학생들이 어려움이나 추가적인 노력 없이 애자일 방법론을 통해 개발을 진행할 수 있을 것이다.
  • 일정 관리 시스템을 통해 프로젝트 팀 회의 일정을 정할 수 있다.

경제적, 사회적 기대 및 파급효과

  • 프로젝트를 참여하고 싶은 학생과 팀원을 구하고 싶은 프로젝트 팀 간의 소통을 촉진하여 학생의 프로젝트 경험을 증대하고 교내 프로젝트 활성화를 기대할 수 있다.

기술개발 일정 및 추진체계

개발 일정

SIRA 개발 일정.png

구성원 및 추진체계

  • FrontEnd Team
    • 김건중, 이성진, 이서영
      • 서비스 기획
      • 프로토타입 제작
      • UX/UI 디자인
      • 페이지 제작
  • BackEnd & DataBase Team
    • 마디나, 김영석
      • 서비스 기획
      • 데이터베이스 설계
      • 서버 구축
      • API 설계

설계

설계사양

제품의 요구사항

SIRA 요구 사항.png

설계 사양

  • 각각의 기능들을 담고 있는 페이지가 모두 구현되었는가?
  • 각각의 페이지가 사용하기 편한 디자인으로 구성되어 있는가?
  • 프로필/프로젝트 검색 시에 검색 키워드에 대한 옳은 정보를 출력하는가?
  • 각각의 프로젝트 페이지에서 협업을 위한 기능이 막힘/오류 없이 작동되는가?
  • 일정 관리기능에 일정 추가/삭제/추천 기능이 오류 없이 작동되는가?
  • 튜토리얼 기능을 통해 사용자가 추가적인 학습 없이 Sira의 사용법을 익힐 수 있는가?
  • 사용자가 이슈 해결 시 얻을 수 있는 경험치를 통해 프로젝트에 몰입하고 동기부여 받을 수 있는가?
  • 사용자가 Sira를 사용함으로써 애자일 프로세스에 대한 경험을 얻을 수 있는가?
  • 사용자가 Sira를 사용해 프로젝트를 효과적으로 진행할 수 있는가?

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용