GPT로 날먹하기

백진암·2024년 4월 18일
0
post-thumbnail

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이다 라는 말이 나오는 이유인 것 같다.

이런 프로젝트 초기설계에도 잘 이용하면 좋을 것 같다만
아직까지는 부족한 점이 많아서 참고 선에서 끝내는게 적당해 보인다.

좀 더 지켜보자.

0개의 댓글

관련 채용 정보