PBL : 시퀀스 다이어그램

송민준·2023년 7월 12일

PBL 교육

목록 보기
3/11

들어가기 전

서비스를 개발하기 전에 생각해야할 것.

우리나라 인구 층 중에 스마트폰을 잘 못쓰는 연령층: 60대 이상

아주 잘 쓰는 연령층: 10대, 20대

내가 만드는 서비스가 어린 친구들이 많이 쓰는 서비스라면

⇒ 10대, 20대를 노려야한다. + 스마트폰이 보급이 잘된 곳. 돈이 지불하는 시스템이 잘된 곳이어야한다.

⇒ 동남아

→ 즉 현지 파악이 필요하다. 실제로 런칭하기 전에 개발자보고 그 나라를 갔다오고 latancy 등 체크하는 경우가 많다. (ex: Line) (사진을 못받는 대역폭을 사용하는 나라가 있다.)

개발을 하려면 타깃층에 대한 이해(도메인)이 필요하다. 게임하는 회사라면 게임을 잘 아는 개발자를 뽑고 싶어한다.


시퀀스 다이어그램

어제까지 RFP로 만든 시퀀스를 도식화하는 단계.

  • 시퀀스 다이어그램의 구성 요소
    • 액터: 유저, 사용자 API 등
    • 객체: 메시지를 주고 받는 객체
    • 생명선(점선: 객체의 생명선, 메모리에 상ㅈ하는것을 기준으로 메모리에서 해제될때까지를 표현한다. (클래스의 생애주기를 잘 알아야한다.)
    • 실행상자: 함수, 클래스 등 객체의 활동
    • 메세지: 전달선. 전달하는 메시지, 파라메터를 전달하는 다양한 부분을 정의한다.
    • 객체소멸: 메모리에서 해제됨을 표현
    • 프레임: 다이어그램을 하나로 묶을 때 표현
    • 블랙박스: 따로 줄을 그어서 다른 곳에서 설명한다.
💡 이 구성요소들을 IDE를 열기 전에 미리 머리속에 그려놔야한다. 코드를 작성하거나 에러를 찾을 때 길을 잃지 않을 수 있다.

(시퀀스다이어그램 안에서 블랙박스가 있고 그 블랙박스를 설명할 때도 안에 블랙박스가 있을 수 있다.

주니어개발자가 하는 실수 중 하나가 가장 안쪽 블랙박스부터 구현하려고 하는 실수가 있는데 나중에는 엉망진창이 된다. )

예시

이렇게 한 문장이 세분화하는 과정은 어제 마이크로 시퀀스를 작성하듯이 시퀀스 다이어그램에도 똑같다.

그걸 합치면 아래같은 큰 결과가 나온다.

이 그림을 개발하기 전에 머리 속에 가져가야하고 다른 개발자 또는 기획자에게 설명할 때 코드가 아니라 위 시퀀스 다이어그램을 보여주면서 설명해야한다.

  • Task

  • 고민했던 점
    • AD Server에서 광고를 DB에서 가져올 때 루프를 돌면서 가져온다고 했는데 이렇게하면 DB에 굉장히 부담이 되는것 같다. 때문에 한번에 가져오는 것으로 결정했고 그 전에 fit한 광고를 가져오기 전에 광고 선정하는 로직을 넣었다.
    • id를 파라미터로 해서 유저가 AD Server에 광고를 요청하는데 이걸 토큰으로 대체해서 로그인했는지 확인하고 id를 받는게 낫지 않을까. → 토의중
    • 삭제를 그냥 삭제가 아니라 임시삭제와 영구삭제로 나누자. 임시삭제를 만든 이유는 광고주가 광고 기간이 끝나고 나서도 나중에 데이터가 필요하기 때문이다.

  • 와이어프레임과 시퀀스다이어그램의 차이점: 시퀀스 다이어그램은 액션에 대한 모든 마이크로 시퀀스를 정의한다. 그 결과가 와이어 프레임에 나옴.
profile
개발자

0개의 댓글