open ai가 GPTs라는 챗봇을 만들었다.
GPTs 링크
GPT4를 구독하면 사용할 수 있는 GPTs를 여러 웹사이트 들을 이용하면 다양한 작업을 날먹 할 수 있다.
이번에는 프로젝트의 초기설계인 디자인, 일정, 여러 다이어그램, 기능 명세서를 작성해보겠다.
이세계 아이돌 굿즈샵
(저의 의견과는 무관합니다)
실제 프로젝트에 도입하기에는 무리가 있으니 가상 프로젝트로 실험
UML, 요구사항 명세서, 개발 일정 GPTs - Software Architect GPT
요구사항 명세서, 개발 일정 마크업 시각화 - https://asciidoc.org/
굿즈 판매
아이돌의 최신 일정, 공지, 이벤트 정보 확인
특정 멤버의 생일이면 홈페이지에 이펙트 적용
타켓은 팬층
이런 내용을 잘 정돈해서 gpt에게 제공하면
= 요구사항 명세서: 아이돌 굿즈 샵
:sectnums:
:toc:
== 1. 서론
=== 1.1 목적
이 문서는 "아이돌 굿즈 샵" 프로젝트의 요구사항을 명세하고, 개발 팀과 이해관계자가 프로젝트의 목표와 기능을 명확하게 이해할 수 있도록 도와줍니다.
=== 1.2 대상 독자
이 문서의 대상 독자는 프로젝트 매니저, 개발 팀, UI/UX 디자이너, 그리고 프로젝트의 기타 이해관계자입니다.
== 2. 전체 설명
=== 2.1 제품 관점
"아이돌 굿즈 샵"은 특정 아이돌 팬덤을 대상으로 한 온라인 상점입니다. 사용자는 이 플랫폼을 통해 자신이 좋아하는 아이돌의 굿즈를 손쉽게 구매할 수 있으며, 아이돌의 최신 일정, 공지 및 이벤트 정보를 확인할 수 있습니다.
=== 2.2 제품 기능
- 사용자는 굿즈를 카테고리별로 탐색할 수 있습니다.
- 사용자는 특정 굿즈에 대해 자세한 정보를 확인할 수 있습니다.
- 사용자는 굿즈를 장바구니에 담고, 구매할 수 있습니다.
- 사용자는 아이돌의 최신 일정, 공지, 이벤트 정보를 확인할 수 있습니다.
- 특정 멤버의 생일에는 홈페이지에 생일 이펙트가 나타나며, 생일을 알릴 수 있습니다.
=== 2.3 사용자 클래스 및 특성
- **팬**: 특정 아이돌의 팬이며, 굿즈 구매 및 아이돌 정보에 관심이 많습니다.
- **일반 방문자**: 특정 아이돌에 대한 관심이 있으며, 굿즈 구매 의사는 있지만 적극적이지 않은 사용자입니다.
== 3. 구체적 요구사항
=== 3.1 기능적 요구사항
[width="100%",options="header"]
|===
|ID |요구사항 |우선순위
|FR1 |사용자는 굿즈를 카테고리별로 탐색할 수 있어야 한다. |필수
|FR2 |사용자는 특정 굿즈에 대해 자세한 정보를 확인할 수 있어야 한다. |필수
|FR3 |사용자는 굿즈를 장바구니에 담고, 구매할 수 있어야 한다. |필수
|FR4 |사용자는 아이돌의 최신 일정, 공지, 이벤트 정보를 확인할 수 있어야 한다. |필수
|FR5 |특정 멤버의 생일에 홈페이지에 생일 이펙트가 나타나며, 생일을 알릴 수 있어야 한다. |필수
|===
=== 3.2 비기능적 요구사항
[width="100%",options="header"]
|===
|ID |요구사항 |우선순위
|NFR1 |웹사이트는 사용자 친화적이어야 한다. |높음
|NFR2 |로딩 시간은 2초 이내로 유지되어야 한다. |높음
|NFR3 |웹사이트는 모바일 및 데스크톱 환경에서 모두 접근 가능해야 한다. |높음
|===
이런 코드를 준다. 이거를 변환하면
대충 이런게 나온다.
완벽하진 않지만 나름 잘 만든다.
https://www.plantuml.com/
UML을 시각화 해주는 사이트
챗지피티에게 일정 UML을 받고
@startuml
skinparam componentStyle uml2
package "Implementation" {
package "환경 설정 및 초기 구성" {
[개발 환경 설정]
[MySQL 데이터베이스 초기 설정]
[프로젝트 저장소 설정]
}
package "백엔드 개발" {
[REST API 설계 및 구현]
[데이터베이스 연동]
[아이돌 이벤트 및 생일 이펙트 관련 로직 구현]
}
package "프론트엔드 개발" {
[사용자 인터페이스 설계]
[프론트엔드 로직 구현]
[사용자 경험 개선]
}
package "테스트 및 검증" {
[단위 테스트]
[통합 테스트]
[사용자 테스트]
}
package "배포 및 유지보수" {
[초기 배포]
[지속적인 업데이트 및 유지보수]
}
[개발 환경 설정] --> [MySQL 데이터베이스 초기 설정]
[MySQL 데이터베이스 초기 설정] --> [프로젝트 저장소 설정]
[REST API 설계 및 구현] --> [데이터베이스 연동]
[데이터베이스 연동] --> [아이돌 이벤트 및 생일 이펙트 관련 로직 구현]
[사용자 인터페이스 설계] --> [프론트엔드 로직 구현]
[프론트엔드 로직 구현] --> [사용자 경험 개선]
[단위 테스트] --> [통합 테스트]
[통합 테스트] --> [사용자 테스트]
[초기 배포] --> [지속적인 업데이트 및 유지보수]
}
@enduml
사이트에 들어가서 코드를 입력하면
이런게 나온다.
이 외에도
클래스 다이어그램
유즈케이스 다이어그램
@startuml
class User {
- username: string
- password: string
+ browseGoodsByCategory()
+ viewGoodsDetails()
+ addToCart()
+ purchase()
+ viewIdolSchedule()
+ viewIdolUpdates()
+ viewNews()
+ participateInEvents()
}
class Goods {
- name: string
- description: string
- price: float
- category: string
+ viewDetails()
}
class Cart {
- items: List<Goods>
+ addItem()
+ removeItem()
+ checkout()
}
class Idol {
- name: string
- schedule: string
- announcements: string
- events: string
- birthday: Date
+ displayBirthdayEffect()
}
class Review {
- user: User
- rating: int
- comment: string
}
class Community {
- posts: List<Post>
+ shareOpinion()
}
class Post {
- user: User
- content: string
}
User -- Cart
User — Review
User — Community
Goods "1" — "many" Cart : in
Goods "1" — "many" Review : has
Idol "1" — "many" User : follows
Community "1" — "many" Post : has
@enduml
액티비티 다이어그램
@startuml
(*) --> "User: Selects Browse Goods by Category"
--> "System: Displays Goods by Category"
--> "User: Selects a Good"
--> "System: Displays Good Details"
--> "User: Adds Good to Cart"
--> "System: Updates Cart"
--> "User: Proceeds to Checkout"
--> "System: Processes Payment"
--> "System: Confirms Purchase"
--> "User: Selects View Idol Schedule"
--> "System: Displays Idol Schedule"
--> "User: Selects View Idol Updates"
--> "System: Displays Idol Updates"
--> "User: Selects View News"
--> "System: Displays News"
--> "User: Selects Participate in Events"
--> "System: Displays Events"
--> "User: Exits"
@enduml
등을 만들 수 있다.
웹사이트 디자인GPTs - DesignerGPT, Midjourney
korean virtual idol goods sales website design, simple, vivid
이렇게만 내용을 보내도
이런 웹사이트 디자인을 그려준다.
아직 완벽하게 구현은 못해서 참고만 하면 좋을 것 같다.
지피티는 어떻게 사용하냐에 따라 결과가 천차만별인 것 같다.
누구는 좋다하는데 누구는 병X이다 라는 말이 나오는 이유인 것 같다.
이런 프로젝트 초기설계에도 잘 이용하면 좋을 것 같다만
아직까지는 부족한 점이 많아서 참고 선에서 끝내는게 적당해 보인다.
좀 더 지켜보자.