개요
오늘은 저번 포스팅이었던 '늦기 전에' ERD 포스팅에 이어, 유스케이스 다이어그램을 포스팅을 하려 해요. 유스케이스 다이어그램은 사용자가 시스템과 상호작용하는 방식을 시각적으로 표현한 UML(Unified Modeling Language) 다이어그램의 한 종류에요.
주로 시스템의 기능적 요구사항을 정의하는 데 사용하고, 사용자와 시스템 간의 상호작용을 직관적으로 보여주는 역할을 합니다😊
UseCase Diagram이란?📙
유스케이스 다이어그램의 구성 요소로는 액터, 유스케이스, 관계, 시스템 경계로 나뉩니다. 액터는 말 그대로 시스템과 상호작용하는 외부 요소로 보통 사람을 일컫습니다. 해당 프로그램을 관리하는 관리자가 될 수도 있고, 해당 프로젝트를 사용하는 사용자가 될 수도 있어요.
유스케이스는 시스템이 수행하는 기능이나 작업을 의미해요. 일반적으로는 원 모양으로 표시하며, 각각의 유스케이스는 하나의 기능을 나타내요. 예를 들어, '회원가입' '로그인' '게시판 작성' 등의 기능들을 의미합니다.
관계는 액터와 유스케이스, 유스케이스 간의 관계를 나타내요. 액터와 유스케이스 사이의 기본적인 상호작용은 '연결', 로그인 유스케이스에서 비밀번호 재설정 같이 기능이 확장되는 '확장 관계', 결제 유스케이스에서 결제 수단 선택 유스케이스를 포함하는 '포함 관계' 등 여러 관계가 있습니다.
마지막으로, 시스템 경계는 시스템의 경계를 나타내는 박스로, 시스템의 유스케이스가 포함된 영역을 정의해요. 시스템 바깥의 액터들은 이 경계를 통해 시스템과 상호작용합니다.
사실 글로 이해하기보다는 그림으로 이해하는 것이 훨씬 편해요. 아래는 제가 앞으로 기획할 '늦기 전에' 프로젝트의 유스케이스 다이어그램을 가져왔어요😃
'늦기 전에' UseCase Diagram📗
제가 만들 '늦기 전에' 프로젝트의 UseCase Diagram 초기본을 가져왔어요. 더 추가할 기능들이 많지만, 사진에 나와있는 기능들을 모두 구현한 후에 추가적으로 개발할 생각입니다!
🔆 Join Membership
첫 번째로 Join Membership은 회원 가입에 관한 내용이에요. 회원가입은 '관리자', '정보 구매자', '정보 판매자'로 나눌 생각이에요. 관리자는 회원가입 시에 따로 관리자로 회원가입 하는 것이 아닌, 회원가입 후 관리자 페이지에서 '관리자' 권한을 부여할 생각입니다. 관리자도 슈퍼관리자와 일반관리자로 나뉘는데, 각 등급마다 접근할 수 있는 페이지를 다르게 구현할 생각이에요. 예를 들어, 회원들을 관리하는 페이지는 '슈퍼관리자'만 제어할 수 있도록요.
'정보 구매자'는 일반적인 회원들로 구성이 될 거예요. 웹 사이트의 전반적인 내용들을 확인할 수 있고, 추후에 유료 시스템이 도입되면 '정보 판매자'가 등록한 서비스들을 구매하고 이용할 수 있도록 구성하려고 해요.
'정보 판매자'는 위에서 언급한 바와 같이 자신만의 정보를 판매할 수 있도록 서비스를 구현할 생각이고, '정보 판매자'로 가입 시 해당 유저들에게만 서비스를 등록할 수 있도록 따로 페이지를 구현할 생각입니다. 한 가지, 더 생각해야 할 건 '정보 판매자'여도 다른 서비스를 구입하려면 '정보 구매자'로의 권한을 바꿀 수 있도록 해야 하는데 이 부분은 조금 더 고민해 봐야 할 것 같네요!
🔆 Community
커뮤니티는 크게 '자유 게시글 및 공지사항', 'Q&A', '직업 관련 게시판'으로 나눴어요. 자유게시글은 누구나 작성할 수 있는 공간이고, Q&A는 관리자에게 해당 서비스에 관한 질의응답을 할 수 있는 공간이에요. 여기서 비밀글도 넣어 볼 생각인데, 작성자가 비밀글로 선택하면 해당 게시글의 비밀번호를 설정하여 비밀번호를 아는 사람만 해당 Q&A를 볼 수 있도록 구성할 겁니다.
직업 관련 게시판은 사용자들의 전직 및 이직 성공 사례나 직업 정보들을 자유롭게 공유할 수 있는 공간을 만들려고 해요. 몰론, 어떤 권한이 든 간에 상관없이 작성할 수 있도록 하려고 합니다.
🔆 Occupation Chart
Occupation Chart는 한국어로 번역하면 '직업 차트'인 데, 여기서 차트는 '직업별 지역 분포도 차트', '이 달의 떠오르는 직업 차트' 2가지를 고안해 봤어요. 사실 차트를 구성하는 건 어렵지 않지만, 매달 바뀌는 데이터들을 어디서 크롤링해와야 할지는 아직 고민 중이에요. 기능이 완성된다면 이 기능도 권한에 상관없이 모든 사람이 볼 수 있도록 할 예정이고, 메인에 위치하지 않을까 생각이 듭니다.
🔆 Occupation Info
Occupation Info는 '직업 정보'를 의미해요. 직업 정보는 정말 많은 데이터를 가질 텐데, '직무 설명 및 기본 정보', '현직자 Q&A', '필요 자격 및 역량' 등의 데이터들로 이루어질 예정이에요. 사실, 직업에 대한 정보도 특정 몇 개의 직업들은 제가 시장조사하여 데이터를 수집하면 되는데, 추후에는 '정보 판매자'로 등록한 사용자들의 정보들을 축약하여 넣을 생각입니다. 하지만, 그 사용자들의 정보가 신뢰성이 있는지, 정확한 정보인지에 대한 판단을 어떻게 해야 할지는 아직 고민 중입니다!
🔆 Conversation with incumbent
Conversation with incumbent는 현직자와 직접적으로 소통하는 과정이에요. 몰론, 현직자('정보 판매자')도 시간을 내야 하는 작업이기 때문에, 위에서 언급한 '정보 판매자'의 서비스 등록, '정보 구매자'의 서비스 구입 단계를 걸쳐 유료화할 예정이에요.
소통이라는 개념이 포괄적인데, 좀 더 자세히 설명을 덧 붙이면 '포트폴리오 첨삭', '직업 준비 방향성 멘토링' 등의 작업들이 이루어질 것 같아요. 그 밖의, 개인적인 질문이나 현직자가 미리 작성한 Q&A들도 해당 서비스에 들어갈 것 같네요.
🔆 Management Settings
Management Settings에는 슈퍼관리자나 일반관리자가 해당 웹사이트의 모든 설정들을 제어할 수 있는 공간이에요. 일반 사용자들은 해당 페이지에 접근할 수 없어요. 이곳에서는, 회원들을 관리하거나 차트 관리, 직업 정보 관리, 대시보드 및 UI 관리 등 웹사이트의 전반적인 것들을 모두 설정할 수 있도록 만들려고 해요.
그리고, 회원들이 서비스를 등록하거나 구매, 어떤 페이지에 접근하고 어떤 게시글을 썼는지 감사로그도 살펴볼 수 있도록 구성할 예정입니다.
마치며
지금까지 앞으로 개발할 '늦기 전에' 프로젝트의 유스케이스 다이어그램을 살펴봤어요. 몰론, 유스케이스도 ERD처럼 추후에 기능이 바뀌면서 수정될 가능성이 있지만, 개발 초기 단계에서 시스템의 주요 기능들을 한눈에 파악하면서 설계하기 위해서 만들게 되었습니다.
다음 포스팅은 앞으로 '늦기 전에' 프로젝트의 개발 상세 계획을 담을 '간트 차트'에 대해 포스팅할게요😁
'Project > Individual' 카테고리의 다른 글
[Toy Project] '늦기 전에' ERD 포스팅 (4) | 2024.10.28 |
---|---|
[Toy Project] '늦기 전에' 기획 및 포스팅 (3) | 2024.10.16 |