본문 바로가기
BackEnd/Project

[Board] Ch01. 유즈 케이스 작성하기

by 개발 Blog 2024. 8. 6.

공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.

 

유즈케이스

유즈케이스는 시스템이 사용자와 상호작용하는 방법을 설명하는 모델링 기법이다. 이는 시스템의 기능적 요구사항을 정의하고, 사용자가 목표를 달성하기 위해 시스템과 어떻게 상호작용하는지를 나타낸다. 유즈케이스 다이어그램을 통해 시스템의 동작을 시각적으로 표현할 수 있다.

 

draw io를 사용하여 유즈케이스를 그려보자

 

폴더를 하나 만들어서 유즈케이스를 그릴 것이다. 이를 위해 GitKraken의 터미널에서 다음 명령어를 사용하여 폴더를 만든다

 mkdir document

 

이후, 빈 껍데기 파일을 만들어 커밋하기 위해 다음 명령어를 입력한다:

 touch document/use-case.svg

 

이제 파일을 커밋한다.

 

이제 diagrams.net으로 돌아가서 새로고침 하면, 방금 푸시한 feature 브랜치 안의 document 폴더를 확인할 수 있다. 그 안에 유즈케이스 다이어그램을 생성하여 저장할 것이다.

 

아래와 같이 게시판 서비스 시스템에서 사용자가 수행할 수 있는 주요 작업과 시스템이 제공하는 기능을 시각적으로 표현한다.

액터(Actor)

- Actor: 게시판 서비스 시스템과 상호작용하는 사용자를 나타낸다.

 

유즈케이스(Use Cases)

1. 회원 가입: 사용자가 시스템에 새로운 계정을 생성한다.
2. 회원 로그인: 사용자가 시스템에 로그인하여 자신의 계정에 접근한다.
   - 인증 (include): 로그인 과정에서 사용자 인증이 필요하다.
   - 로그인 실패 (extend): 로그인 시도가 실패할 경우 발생하는 추가적인 시나리오이다.
3. 게시판 보기: 사용자가 게시판의 목록을 확인한다.
4. 게시판 검색: 사용자가 특정 키워드를 사용하여 게시판을 검색한다.
5. 게시판 정렬: 사용자가 게시판의 글을 특정 기준에 따라 정렬한다.
6. 게시글 보기: 사용자가 특정 게시글의 내용을 확인한다.
7. 게시글 쓰기, 수정, 삭제: 사용자가 새로운 게시글을 작성하거나 기존 게시글을 수정 및 삭제한다.
8. 댓글 보기, 쓰기, 수정, 삭제: 사용자가 특정 게시글에 대한 댓글을 확인하고, 새로운 댓글을 작성하거나 기존 댓글을 수정 및 삭제한다.

 

관계(Relationships)

- include: 유즈케이스 간에 포함 관계를 나타낸다.
  - 회원 로그인 -> 인증: 로그인 과정에서 인증 유즈케이스가 포함된다.
- extend: 유즈케이스 간에 확장 관계를 나타낸다.
  - 회원 로그인 -> 로그인 실패: 로그인 시도가 실패할 경우 추가적인 시나리오로 확장된다.

 

시스템 경계(System Boundary)

- 게시판 서비스: 시스템의 경계를 나타내며, 유즈케이스들이 이 경계 내에서 수행된다.

 

데이터베이스(DB)

- DB: 모든 유즈케이스가 데이터베이스와 상호작용하여 데이터를 저장하거나 조회한다.

 

결론

이 유즈케이스 다이어그램은 게시판 서비스 시스템의 주요 기능과 사용자의 상호작용을 명확하게 나타낸다. 이를 통해 시스템의 기능적 요구사항을 정의하고, 개발팀과 이해관계자 간의 의사소통을 원활하게 할 수 있다.

 

https://viewer.diagrams.net/?lightbox=1&highlight=0000ff&nav=1&title=use-case.svg#R%3Cmxfile%3E%3Cdiagram%20id%3D%22zmI6HFhX2IK5Owax6nhA%22%20name%3D%22Page-1%22%3E7V1Zc6M4EP41PCYF4pIefWSO1O7WVGW3dmZfprBRbGaw5cJ47MyvXwkkzBWMYw4ZJy%2BRmiPQra%2FV%2FalRFH2yOnwMnM3yT%2BJiXwGqe1D0qQKAZugG%2FcUkL7HEtrRYsAg8l590FDx5vzEXqly681y8zZwYEuKH3iYrnJP1Gs%2FDjMwJArLPnvZM%2FOxf3TgLXBA8zR2%2FKP3Xc8NlLIXAPso%2FYW%2BxFH9Zs1B8ZOWIk%2FmbbJeOS%2FYpkf6g6JOAkDBurQ4T7DPlCb3E13145WjyYAFeh3UueAgQsv0f8%2B8z5%2BXT439fzW9%2FWXeaye%2Fzy%2FF3%2FJWVh4mCpsrYiBojZYSixoOCxJuEL0I99KU2rLlb%2BaN5SAJFH%2F%2FCQehRBf7hzLD%2FhWy90CNresqMhCFZpU4Y%2Bd6CHQjJhkqX4cqnHY02i28mHpJeiQ8pEX%2FTj5iscBi80FP4UYM%2F6ovo8mG4P9pQ56csU%2BazuMzho2aR3PioWNrguj1Lz6BEzyNlDBQ4YeqFYwXRxpR1mZ7VSGhEwrEyRqzNJNQcRpUVPgTOijbH%2B6UX4qeNM2fyPcVmVsVCDxrFGT0gVADUZtSvgaz%2BNVUt6N9WSwwAQXsW0At6C8hu7WJ2FXtvEoRLsiBrOnQJG5KRon7gMHzhbsnZhSSrRnzwwq%2F8ctb%2Bxtr3Ju9ND6lD0xfRWdPX%2BSpuwDqpq1j3eFnUE9e9apYt2QVzXPnqfMiETrDAYeWZVnwmdjNusWjoAPtO6P3KeskWjGa86p5iYKgKghFaKrD0qtW100Bxgjm3vsGM8EzW4YT4zNHRW%2Blq9MPknu%2Bn5M%2F0Z87k2zAgP3HmCL%2BiESeX83JGEWUJEtMoM9oDmVlQNxtKT7y7JmvmnKTCnZ77OQHDqPcFBx7VGA4SoTtiwcbxFankg8eUdzF2rdrY1STDrnX2lEcBrUeBBz0NMnAPFruaJR92bYmx2xq%2BhB2aQw2%2F9Avx6MMkBrdz9gZG9g4xvvlFOVMmT3GJdWGn1tXOsK7rbJcJplOmnvvOduvNM9auzA%2FksbaeS0D0zs2Nis4XWM6KuUg%2FjJSY7nnrub9zcSJcZE7hvZLhEyV5Oa%2FL07o5tQ5OJ4Qi31t5rutHgw1vvd%2FOLLofGwcbpo1IP%2BZYMaellq4e3AX%2FmxAD%2FM8o6dy7zC%2Br94Yq7sZtxzO3t44IcQp5ft7idowtRvWJmTaaVOGtz7RWSS7a8UwrOLAbm2n125hpxXtm0DhlTFqMRjQ%2BhrsjTSDTZjjkqW1xqh4MGgHMWifp94jGIqEmS2SU5KxJpx5X1CaKeYZ%2FOh%2BFsGm817Xz%2Funz42Pw%2BZ%2Bf2uNqb85m29F3%2B%2B76mIkzrNxGqFzb0M079gsBbRYc8HTMKfXYvdLGyGLtwfpZM8fAg%2F75BauED6pISfAhpGP57Ixk4IDO5MqXoNu%2BWnTbJeFVRSSl8gxoZHCucTTg8CoPex30D%2FtuiacucNohYWWDujgVS2XS4PQ8BuqN7l4SAspqjIC6U%2B81G2YZqDvugiWmoOwigzQolHcCYdQ4O30ZhO2S4qDBQliM4CY4ZF3XtMsgK7xB7oo2EQxK4qpTFUojVUFmFH6pymgy3LjKyheUIXRv9h1Z2cWKJll87rkRUg9FUXbtDKj5yKoc7Hlu1ATGvZr6yd2wbR7bLqm9Gq73F6R9A95fgzrIxm8XTgZdeP%2Fh0aONxW%2B1HYV08VsnjJssCBasbxMI1gDKIBg0Es11GMyVkWTVwVx8NGbLdAWi2wnmTBv2HsrBor3eufG%2BODdU1%2BE3X0524TAq4dxOFAJRIWQ19EkyByZCDpTRVMhvKLezrN45cygvm3YFmR3U%2B8NvvczO6romCd4SkwcbZPLUpBpU4uQNgk7dxXkVTNWVSG%2BtcOrEPTRfwfRKxaKuZoieLHtgaL3SQLCsnHEcJQ76qZpiEUrQM8dqVm5FjmYW0FbsUG444rD7L86B3RZBdlxN03QRpHAMp12IiMhlyRDg8Hg%2BOexsS2Zn693OrdgZSGZnmT%2FavGI7I8k2QoBFgnBaTMJSFnMDsvlbvGZDcQvMpbEGVEtWwe2SwEWQ8y0opkhUSz6%2Bs2C8YDSL5abr29ZDPHn%2BEymT7zp0XJ7QM1W97xt9RH2zf4YSyfsJ4wWIqr%2FUK1u8h7qlgK5p%2FR7V30FFshJqVEK9DJa1FSO4kRJqFYrdcK6nBAddAQWTQu23NKL7%2F6CpPspl%2B6AJFT9XHPBWHWKUN7I4Y2lZlAP5QV5vU6zsCn2ePh9qnFuostZ6L8xBg%2BZXWnbKQK2docpWSYM6KciSxSeLasEmfLKpZUsn5f92DRUpJHmWz9%2B2PN4eh3oGpvvbAKT6yYsr2VB9X9JudupONnLuYuou3e%2BlmE0NbZauBeJS3Wi1p%2BXecqWq587tBj1GnDZOGnT2Ztuk3%2FSOL1qXJHGptao%2FTzzi7%2BEovdpI%2Bu2zbKnqQBGgVYCQBJ6CwasJz7L5Mo%2FW3P9BAEpJoVLHq56aAdpb9aTd478EiSPc4z9W0R%2F%2BBw%3D%3D%3C%2Fdiagram%3E%3C%2Fmxfile%3E