ETC/프로젝트

[AoG Service]E-Sports helper완성. (DEMO/느낀점/유지보수-개선)

지과쌤 2020. 7. 21.
반응형

데모영상

https://www.youtube.com/watch?v=29mU2NJrz_s&feature=youtu.be

 


 

초기 flowchart

 

- 경기 일정은 Excel -> JSON 형태로 가져와서 처리. (이후 DB쪽으로 전환)

 


 

메인화면 flowchart

welcome intent에서 바로 각 서비스로의 방향성을 지시해준다.

 

기본적으로 서비스들은 병렬적으로 구성되어있고, 상속되어 조건적인 intent나 entity 를 제외하고는 자유롭게 이동이 가능하다.

 

어느 한 종류의 서비스를 이용한 후, 선택적으로 사용자가 종료할 수 있도록 하였다.

 


 

경기 일정

사용자에게 원하는 일정 (일, 특정 주, 특정 달) 을 입력받는다.

String date = CommonUtil.makeSafeString(request.getParameter("whatday"));

whatday 변수에 entity가 들어가고, date 변수에 날짜를 받는다.

 

입력받은 날짜를 토대로 dataCall.class 에서 연산 후, 리턴값은 결과를 토대로 유효성을 결정한다.

 

유효하면 적절하게 출력.

 

유효하지 않다면 재입력 요청 또는 경기가 없는 날짜임을 알려주게 된다.

 


 

다시보기

역시 사용자에게 날짜를 입력받고, 유효성 판단.

 

이후 쿼리가 포함된 URL을 통해 사용자가 해당 컨텐츠에 접근할 수 있도록.

 


 

실시간 중계 안내

live streaming intent 실행시, 현재 날짜와 일정을 비교하여 실시간 경기를 하는지, 하지않는지 판단.

 

경기 진행시 사용자에게 플랫폼 선택 요청.

 

이후 사용자에게 버튼 형태로 URL 제공

 


 

대략적인 sequence diagram

일정 data가 datacall.class 에 저장되어있으므로, 기본적으로는 AoG가 datacall.class 에 접근하여 일정 관련 연산을 진행하게 된다.

 

하지만 현재 메인 app에 따로 복제본을 저장해두고 연산하는 부분도 있으므로, 추후 아예 뒷단에다가 연산 알고리즘은 다 박는게 좋을듯싶다.

 


<느낀점>

 

1주일간 대화시나리오, 플로우차트, 시퀸스다이어그램 등을 만들었다.

 

웹쪽이 메인이고 AoG 부분을 추가기능 정도로 생각하고있었어서 기능의 퀄리티나 다양성보다 최대한 실용적이고 필요한 기능만 간단히 구현하여 연동하자 라는 생각을 갖고 진행하였다.

 

여태까지 프로그램/앱 을 만들때, 단순히 머릿속에서 생각하고 계획하거나 끄적끄적 대충 방향성만 잡고 시작했었는데 이번에 처음으로 처음부터 짜임새있게 구성하고 여러 절차를 거쳐보았다.

 

기획단계에서 내가 만들 프로그램에 대해 소개하면서, 목적성과 사용 대상 등 실용성에 대해 생각해봤고, 비즈니스 모델에 대해서도 고민해봤다.

 

설계단계에서 플로우차트, 대화시나리오, 시퀸스 다이어그램 을 통해 전체적인 구조를 설계하였고 각각의 프로세스에서 쓰일 변수나 로직 등을 계획하고 메모하는 과정을 통해 보다 프로그램 구조를 체계적으로 잡고 시작할 수 있겠다는 생각이 들었다.

 

특히 플로우차트와 시퀸스다이어그램을 통해 세부적으로 어떤 구조와 어떤 로직으로 코딩을 할지 가닥이 잡혔고, 진심으로 얼른 코딩을 시작하고싶어 미치는줄알았다. (정작 시작하고부터는 쉴새없이 터지는 오류로 머리를 쥐어뜯었다고 한다)

 

설계단계를 거치니 로직의 최적화에 대해서 내가 진짜 많이 부족하다는걸 느꼈고 더 공부해서 더 효율적으로 코드를 짜고싶다는 생각을 했다.

 

기획단계를 거치면서 자료조사 및 준비 그리고 발표를 했었는데 이 부분도 굉장히 재미있고 흥미로웠다.

 

그냥 발표라고 생각하지 않고, 비즈니스 모델을 영업한다는 생각으로 준비했었어서 더 재미있었던것같다.

 

 

<유지보수-개선 이 필요하다고 생각되는 부분들>

 

-일정 부분은 정확한 날짜 또는 특정 팀의 일정도 출력할 수 있게 해야겠다.

 

-일정 부분의 출력부분을 좀 더 가독성있는 형태로 바꾸어 퀄리티를 높여야겠다.

 

-알고리즘을 개선하여 부피와 무게를 줄여야겠다.

 

-연산,계산 부분들을 따로 다 뒤로 빼서 최대한 인텐트 부분을 깔끔하게 만드는것이 좋을 것 같다   -> 이후 관리하기 편하기 때문!

 

- (추가예정)

 

-

 

 

https://github.com/jerrygoha/2020_summer_AoG

 

jerrygoha/2020_summer_AoG

Contribute to jerrygoha/2020_summer_AoG development by creating an account on GitHub.

github.com

반응형

댓글

💲 추천 글