온라인강좌 사이트 만들기 1단계 분석(2024.07.09~10)
가볍게 접근하며 만들어 봅시다.
요구사항 분석, 기술검토, 프로젝트 특이사항 검토를 통한 프로젝트 분석 진행했습니다.
1. 웹서비스 목적과 구성, 사전 검토 필요사항 도출
: 서비스 구성은 관리자 사이트랑 회원 사이트, 강사용 사이트 정도로 구성하고, 회원 사이트는 Thymeleaf로 만들고 추후 flutter, react
2024.07.07 - [프로그램/mariadb] - 심심풀이_온라인강의사이트 DATABASE(2024.07.07~)
심심풀이_온라인강의사이트 DATABASE(2024.07.07~)
지인중에 온라인 강좌를 회원 가입해서 볼 수 있는게 필요하다고 해서 사이드 프로젝트로 해볼까 생각중에 문득 오늘 해보는 것도 좋을 것 같아서 시작하게 되었습니다. 서비스 구성은 일단 최
jsi0.tistory.com
: 시스템 사용자 분석, 고객요청 사항 분석, 기본 기술 선택을 위한 구성 테스트, 설계 및 개발 툴 검토
- 초기고객요청사항: 초등학생대상, 회원가입후 강의 목록 및 샘플강의 노출, 강의신청 후 별도 결제 진행(1차는 오프라인 결제, 추후 온라인 결제), 강의별 신청 승인, 승인된 강좌에 대해서 1년간 온라인 강의 수강 기능제공
2. 공통영역 설계
: 유저, 유저그룹, 유저그룹권한
: 메뉴-메뉴트리, 메뉴그룹, 유저그룹별 접근 가능한 메뉴그룹-메뉴트리와화면메뉴
: 공통코드-상위코드-콤보등
: 기초생성자료-슈퍼유저-프로그램구성설정을위한최소설정등
3. 작업순서를 위한 작업내용 도출
: 테이블설계, 기초화면설계
: 로그인 후 랜딩페이지- 메뉴및레이아웃설계,
: 관리자시스템 설계, 온라인수강 시스템 설계, 온라인교수자 시스템 설계
: 디자인 시안
: 개발방법 검토
4. 개발특이사항도출
: 짬짬히 시간 날때 해야 하는 관계로 전체 설계를 완성 후 개발하기는 어려움 - 개발시간 연속성 확보 불가
: 특별한 요청사항보다는 온라인 강좌 서비스 파일롯 시스템을 고객이 요청한 상태라 단계별 개발 필요
: 기술관련 선택 제한 없음( 잦은 테이블 변경 대응을 위해 JPA 도입, 상세조건 적용 단계시 mybatis적용으로 변경 )
: 사이드 프로젝트로 3개월이 넘어갈 경우 업무 부하 발생시 중지될 가능성 존재함
: 비주얼한 파일롯 시스템을 만들고 해당 사이트 구성에 필요한 관리자 시스템을 만들고 강좌 개설 시스템을 만드는 방식 검토
- 단위 기능 구현 후 통합시스템 구성방식으로 개발
: 핵심 기능분해도 도출 후 일정 산정 필요 - 개발 기한 산정 필요 ( 개발 중단 방지를 위한 일정관리 )
: 제출용이 아니기 때문에 문서는 최소한으로 선택적 작성
: 필요시 밴치마킹 - 일반유료강좌 사이트 이용 경험을 살려 초등학생 특이점 반영필요
5. 핵심 기능
: 로그인, 회원가입, 회원탈퇴, 회원정보관리, 비밀번호찾기, 비밀번호변경, 비밀번호초기화
: 비회원 강좌조회, 강좌안내페이지, 무료샘플강좌보기, 강좌스트리밍시 무료여부 확인 로직
: 회원강좌신청, 회원강좌신청정보, 회원승인강좌(기한관리), 회원승인강좌 영상별진도관리
: 스트리밍시 진도관리, 강좌스트리밍시 해당회원 승인강좌 여부 확인 로직
: 강의자료 등록, 무료자료, 유료자료, 샘플영상, 유료영상, 다운로드제한방안
: 스트리밍 서비스 속도 및 환경 별 해상도 지원방안
6. 개발방법 선택
: 에자일 방법 적용
- 최우선 단위 기능에 대해서 선택적 개발
: 나선형 개발 방법 적용
- 1단계 기능 개발 후 통합 기능 개발을 진행하고 전체적 통합 개발 하는 방법
- 개발 후 리팩토링 발생 빈도가 높음, 1인 설계로 일관성 유지로 해결
- 점진적 설계로 인해 미 검토된 부분 발생시 전체 재검토로 일정 지연 발생 가능
- 단계 구분 마일스톤 사전 정의 필요
7. 기타 개발툴 및 에자일 개발방법시 사용할 것들
: 테이블 기초 설계 - 엑셀,erd - (검토중)
: mariadb, dbever, 인텔리제이, springboot, figma
: 초등학생대상 교수자료
------- 기본 분석 종료.... 더 자세히 분석 정리하는 것이 더 좋겠지만 가볍게 개발을 위해서 여기까지.
다음은 에자일 방법론으로 개발할 기초 테이블 설계, 화면 설계, 기능 모듈 설계 및 기능 테스트 설계 대상 도출