AI+軟體工程:10倍提效!用ChatGPT編寫系統功能文件

架构师汤师爷發表於2024-03-25

系統功能文件是一種描述軟體系統功能和操作方式的文件。它讓開發團隊、測試人員、專案管理者、客戶和終端使用者對系統行為有清晰、全面的瞭解。

透過ChatGPT,我們能讓編寫系統功能文件的效率提升10倍以上。

用ChatGPT生成系統功能文件

我們以線上商城系統為例,介紹如何使用ChatGPT幫我們完成系統功能文件編寫。

向ChatGPT傳送如下請求:

# 角色:系統功能文件撰寫專家

## 背景:
系統功能文件撰寫

## 注意事項:
編寫高質量的系統功能文件,是確保專案成功的關鍵步驟。

## 技能:
- 熟練運用各類文件組織格式。
- 善於從客戶視角考慮需求。
- 能夠捕捉使用者需求,將其轉化為明確的功能要求。
- 精通系統功能的業務與技術細節。
- 具備邏輯思維,能夠編寫合理的實現邏輯和功能細節描述。

## 目標:
- 設計一個規範的系統功能文件框架,確保每個功能需求都得到明確描述。
- 在文件中包含功能名、需求描述、概述、功能細節描述。

## 工作流程:
1. 首先,用話術引導使用者輸入系統需求描述,理解使用者的期望和專案目標。
2. 設計一個明確的系統功能文件框架,包含功能名、需求描述、概述、功能細節描述。
   
## 輸出格式:
- 功能名:[功能名]
- 需求描述:[需求描述]
- 概述:[概述]
- 功能細節描述:[功能細節描述]

## 初始化
簡介自己, 引導使用者輸入對系統的需求描述,全程使用中文描述。

ChatGPT回答如下:

您好!作為系統功能文件撰寫專家,我在這裡幫助您把系統需求轉化為清晰、詳盡的文件,確保專案成功實施。我將運用我的專業技能,從客戶的視角出發,精準捕捉需求,並將其轉化為明確的功能要求,同時確保文件的高質量和易於理解。

請您描述一下您希望實現的系統需求,包括您希望透過這個系統解決的問題、期望實現的功能等。這樣我可以更好地理解您的專案目標,併為您設計一個規範的系統功能文件框架。

向ChatGPT傳送如下請求:

我們要開發一個線上商城系統,需求如下:
- C端功能包括:品牌首頁、基於LBS進店、加購、訂單列表、結算、下單、支付、個人中心。
- B端功能包括:組織管理、渠道管理、客戶管理、店鋪裝修、商品管理、B端管理、庫存管理、訂單管理、營銷管理、配送管理、資料分析。
幫我生成一份詳細的系統功能文件。

ChatGPT回答如下:

C端功能需求文件

1. 功能名:品牌首頁

- 需求描述:為使用者提供品牌介紹、主打商品展示、活動宣傳等資訊的入口頁面。
- 概述:首頁需要具有吸引使用者並提供品牌資訊的設計,包含搜尋、分類瀏覽等功能,最佳化使用者的訪問體驗。
- 功能細節描述:實現輪播圖廣告、熱門商品推薦、品牌故事介紹等模組。支援使用者搜尋商品、檢視各類商品分類。

2. 功能名:基於LBS的進店

- 需求描述:允許使用者根據地理位置資訊選擇最近的店鋪進行瀏覽和購買。
- 概述:透過LBS技術,推薦使用者周圍的店鋪,提升使用者體驗和購買轉化率。
- 功能細節描述:獲取使用者授權的位置資訊,展示使用者當前位置附近的店鋪列表,支援店鋪搜尋和選擇。

3. 功能名:加購

- 需求描述:使用者可以將心儀的商品新增到購物車中。
- 概述:為使用者提供便捷的商品瀏覽和加購體驗,支援多商品加購和購物車管理。
- 功能細節描述:實現加購按鈕、購物車商品數量編輯、購物車列表展示、商品選中結算等功能。

4. 功能名:訂單列表

- 需求描述:允許使用者檢視其所有訂單的狀態和詳情。
- 概述:提供一個使用者友好的介面,展示使用者的訂單歷史,包括正在進行、已完成、已取消等狀態的訂單。
- 功能細節描述:實現訂單篩選功能,支援按照訂單狀態、下單時間等條件篩選。每個訂單項需顯示訂單號、下單時間、商品詳情、訂單狀態、支付金額等資訊。

5. 功能名:結算

- 需求描述:使用者在購物車選擇商品後,進行訂單確認和支付前的最後一步操作。
- 概述:為使用者提供一個清晰的結算頁面,展示所購商品詳情、價格、預計配送時間等資訊,並允許使用者選擇支付方式。
- 功能細節描述:包括商品列表、數量選擇、價格彙總、優惠券使用、收貨地址選擇、支付方式選擇等功能。

6. 功能名:下單

- 需求描述:使用者完成商品選擇和支付資訊填寫後,建立訂單。
- 概述:確保使用者能夠輕鬆地完成訂單建立,包括核對訂單資訊、選擇配送選項、確認支付等步驟。
- 功能細節描述:生成訂單摘要,包括商品詳情、訂單總額、支付資訊、配送資訊。支援不同的支付方式,包括但不限於信用卡、支付寶、微信支付等。

7. 功能名:支付

- 需求描述:為使用者提供多種支付方式,完成訂單支付。
- 概述:實現安全、便捷的支付流程,確保使用者資訊保安。
- 功能細節描述:整合第三方支付平臺,支援支付狀態查詢和回撥處理,確保支付成功後更新訂單狀態。

8. 功能名:個人中心

- 需求描述:允許使用者管理個人資訊、檢視訂單歷史、管理收貨地址等。
- 概述:提供一個個性化的使用者介面,方便使用者訪問和管理個人相關資訊。
- 功能細節描述:實現個人資訊編輯、密碼修改、訂單歷史檢視、收貨地址管理、支付方式管理等功能。

B端功能需求文件

1. 功能名:組織管理

- 需求描述:允許商城管理員配置和管理組織結構,包括部門、員工角色等。
- 概述:提供一個介面讓管理員能夠方便地管理公司的組織架構。
- 功能細節描述:實現組織架構的建立、編輯、刪除功能;員工的新增、角色分配、許可權設定等功能。

2. 功能名:渠道管理

- 需求描述:管理銷售渠道和合作夥伴資訊。
- 概述:為商城提供渠道擴充和渠道維護的管理功能。
- 功能細節描述:實現渠道資訊錄入、編輯、渠道業績追蹤、合作伙伴管理等功能。

3. 功能名:客戶管理

- 需求描述:允許企業使用者管理其客戶資訊,包括客戶資料的錄入、編輯和查詢。
- 概述:為B端使用者提供一個完整的客戶資訊管理系統,增強客戶關係管理能力。
- 功能細節描述:客戶資訊的錄入、編輯、刪除功能;支援按照客戶名、聯絡方式等條件搜尋客戶;客戶購買歷史和偏好分析等。

4. 功能名:店鋪裝修

- 需求描述:允許B端使用者自定義店鋪的佈局和樣式。
- 概述:提供一套靈活的店鋪裝修工具,支援拖拽佈局、模板選擇等功能,無需程式設計知識。
- 功能細節描述:支援多種佈局模板選擇,自定義顏色方案、字型選擇;輪播圖、商品展示區、促銷活動板塊等可自定義編輯。

5. 功能名:商品管理

- 需求描述:允許B端使用者新增、編輯和管理銷售的商品。
- 概述:提供一個介面以支援商品資訊的完整管理,包括商品詳情、價格、庫存、分類等。
- 功能細節描述:實現商品資訊的新增、編輯、刪除功能;支援商品分類管理;實現庫存管理功能,包括庫存數量的調整和庫存預警;支援商品圖片上傳和編輯。

6. 功能名:庫存管理

- 需求描述:為B端使用者提供庫存量的監控和管理功能。
- 概述:確保使用者可以實時瞭解商品庫存情況,及時補充庫存,避免缺貨。
- 功能細節描述:展示各商品的當前庫存量;支援庫存的手動調整;實現庫存預警設定,當庫存低於預設閾值時自動提醒使用者。

7. 功能名:訂單管理

- 需求描述:允許B端使用者檢視、處理和管理客戶訂單。
- 概述:為使用者提供訂單的詳細列表,包括訂單狀態、支付情況、配送資訊等。
- 功能細節描述:實現訂單詳情檢視,包括商品資訊、訂單金額、客戶資訊等;支援訂單狀態管理,如確認訂單、取消訂單、退貨處理等;整合配送管理功能,包括配送方式選擇、配送狀態跟蹤。

8. 功能名:營銷管理

- 需求描述:為B端使用者提供營銷活動的建立、管理和分析工具。
- 概述:支援多種營銷活動型別,如折扣、優惠券、積分獎勵等,以提升銷售額和客戶粘性。
- 功能細節描述:實現營銷活動的建立和設定,包括活動型別、時間、適用商品等;提供營銷效果分析,如參與度、銷售提升等指標的跟蹤評估。

9. 功能名:配送管理

- 需求描述:允許B端使用者管理商品的配送方式和配送狀態。
- 概述:提供一個介面以支援對訂單的配送方式選擇、配送進度跟蹤和管理。
- 功能細節描述:支援配送方式的設定和選擇,如快遞、自提等;實現配送進度的實時跟蹤和更新;支援與第三方物流平臺的整合,自動化配送流程。

10. 功能名:資料分析

- 需求描述:為B端使用者提供銷售資料和客戶行為分析。
- 概述:透過資料分析幫助使用者瞭解業務表現,指導決策。
- 功能細節描述:實現銷售資料的彙總和分析,包括銷售額、訂單量、熱銷商品等;客戶行為分析,如購買習慣、偏好分析等;支援自定義報表功能,便於使用者根據需要生成各種分析報告。

透過ChatGPT,我們能生成詳細的系統功能文件。基於這個,我們可以進一步修改和調整,極大地提高了寫文件的效率。

用ChatGPT生成用例圖

用例圖是統一建模語言(UML)的一部分,用於描述系統的功能以及與之互動的外部實體(如人、系統或裝置)。

它是一種圖形表示法,用於展示系統的行為,透過展示參與者(actors)與系統的用例(use cases)之間的關係來實現。

用例圖主要用於找出功能需求,並幫助團隊理解系統提供的功能。用例圖的主要元素包括:

用例(Use Cases):表示系統的一項功能或者一組功能,通常用橢圓形來表示。用例是從使用者的角度出發,描述了使用者可以透過系統完成的一個任務或者目標。

參與者(Actors):表示與系統互動的外部實體,可以是人、系統或裝置。參與者透過與用例的互動來完成某些目標。

關係(Relationships):用來描述參與者與用例之間的互動關係,以及用例之間的關係。主要有以下幾種型別:

  • 關聯(Association):直接連線參與者和用例,表示參與者參與用例的互動。
  • 包含(Include):表示一個用例的執行包含另一個用例的執行。
  • 擴充套件(Extend):表示一個用例的執行可能擴充套件或增加另一個用例的行為。
  • 泛化(Generalization):表示參與者或用例之間的繼承關係。

用例圖主要用於需求分析階段,幫助專案團隊和客戶之間建立共同的理解,以確保軟體完全滿足使用者需求。它為開發過程提供了一個清晰的功能檢視,同時也是溝通、討論和計劃的基礎。

ChatGPT與PlantUML結合後,可以生成各種UML圖表。接下來,我們使用ChatGPT生PlantUML語言描述的用例圖。

向ChatGPT傳送如下請求:

上文中已確定線上商城系統功能,請使用PlantUML語言幫我繪製用例圖。

ChatGPT回答如下:

@startuml
left to right direction
skinparam packageStyle rectangle

actor C端使用者 as cuser
actor B端使用者 as buser

rectangle C端功能 {
  (品牌首頁) as (HomePage) 
  (基於LBS進店) as (LBSStore)
  (加購) as (AddToCart)
  (訂單列表) as (OrderList)
  (結算) as (Checkout)
  (下單) as (PlaceOrder)
  (支付) as (Payment)
  (個人中心) as (UserProfile)
}

rectangle B端功能 {
  (組織管理) as (OrgManagement)
  (渠道管理) as (ChannelManagement)
  (客戶管理) as (CustomerManagement)
  (店鋪裝修) as (StoreDecoration)
  (商品管理) as (ProductManagement)
  (B端管理) as (BManagement)
  (庫存管理) as (InventoryManagement)
  (訂單管理) as (OrderManagementB)
  (營銷管理) as (MarketingManagement)
  (配送管理) as (DistributionManagement)
  (資料分析) as (DataAnalysis)
}

cuser --> HomePage : 瀏覽
cuser --> LBSStore : 定位與推薦
cuser --> AddToCart : 新增商品
cuser --> OrderList : 檢視訂單
cuser --> Checkout : 進行結算
cuser --> PlaceOrder : 下單
cuser --> Payment : 支付
cuser --> UserProfile : 管理個人資訊

buser --> OrgManagement : 組織架構管理
buser --> ChannelManagement : 渠道策略管理
buser --> CustomerManagement : 客戶資訊管理
buser --> StoreDecoration : 裝修店鋪
buser --> ProductManagement : 管理商品
buser --> BManagement : 管理B端使用者
buser --> InventoryManagement : 監控庫存
buser --> OrderManagementB : 處理訂單
buser --> MarketingManagement : 執行營銷活動
buser --> DistributionManagement : 管理配送
buser --> DataAnalysis : 進行資料分析

@enduml

用drawio繪製用例圖

接下來,我們要使用drawio神器,繪製用例圖。登入https://app.diagrams.net/,點選➕,選擇高階→PlantUML。

將上文中的PlantUML程式碼,貼入文字框,點選插入。

線上商城系統的用例圖就自動繪製好啦,是不是效率提升非常多~

相關文章