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

来源:https://www.cnblogs.com/tangshiye/p/18093747
-Advertisement-
Play Games

系統功能文檔是一種描述軟體系統功能和操作方式的文檔。它讓開發團隊、測試人員、項目管理者、客戶和最終用戶對系統行為有清晰、全面的瞭解。 通過ChatGPT,我們能讓編寫系統功能文檔的效率提升10倍以上。 用ChatGPT生成系統功能文檔 我們以線上商城系統為例,介紹如何使用ChatGPT幫我們完成系統 ...


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

通過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代碼,貼入文本框,點擊插入。

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

本文來自博客園,作者:架構師湯師爺,轉載請註明原文鏈接:https://www.cnblogs.com/tangshiye/p/18093747


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、Flex 1.概述 Flex佈局它可以讓容器中的子元素具有彈性伸縮性。Flex佈局是一種二維佈局模型,它可以在任意方向上對元素進行排列,並且可以動態地調整元素的大小和位置,以適應不同的屏幕尺寸和設備。通過使用Flex佈局,我們可以實現響應式佈局效果,以適應不同的屏幕尺寸和設備。Flex布 ...
  • 本文記錄如何使用 adb 命令修改 Android/data 目錄下的文件,然後給國服的碧藍檔案打上布丁~ 前言 今天下午刷著刷著微博就看到國服 BA 又又又發了和諧公告 ... 心情複雜。jpg 於是乎終於想起來得吃布丁了,至於此次更新後布丁有沒有用還未知,但還是先搞上 食用方法之前就出了 ...
  • 原創研發flutter3+getX+mediaKit仿抖音app短視頻直播實戰Flutter-DouYin。 flutter3_dylive使用最新跨平臺技術flutter3.x+dart3+getx+get_storage+media_kit開發手機端仿抖音app小視頻直播實戰項目。實現了抖音全屏 ...
  • 一、Stack 1.概述 HarmonyOS中的層疊佈局Stack是一種可以將多個組件按照一定順序疊放的佈局。Stack佈局中的組件可以是任意類型的組件,且每個組件都可以設置在哪個位置疊放。在疊放時,後添加的組件會自動覆蓋前面添加的組件。 Stack佈局佈局中的每個子組件都可以設置偏移量、旋 ...
  • 一、是什麼 TCP/IP,傳輸控制協議/網際協議,是指能夠在多個不同網路間實現信息傳輸的協議簇 TCP(傳輸控制協議) 一種面向連接的、可靠的、基於位元組流的傳輸層通信協議 IP(網際協議) 用於封包交換數據網路的協議 TCP/IP協議不僅僅指的是TCP和IP兩個協議,而是指一個由FTP、SMTP、T ...
  • 前言 習慣了在 css 文件裡面編寫樣式,其實JavaScript 的 CSS對象模型也提供了強大的樣式操作能力, 那就隨文章一起看看,有多少能力是你不知道的吧。 樣式來源 客從八方來, 樣式呢, 樣式五方來。 chrome舊版本用戶自定義樣式目錄: %LocalAppData%/Google/Ch ...
  • VUE 腳手架 腳手架文件結構 ├── node_modules ├── public │ ├── favicon.ico: 頁簽圖標 │ └── index.html: 主頁面 ├── src │ ├── assets: 存放靜態資源 │ │ └── logo.png │ │── componen ...
  • 最近看到了許多關於 :has() 選擇器的知識點,在此總結下來。 MDN 對 :has() 選擇器 的解釋是這樣的: CSS 函數式偽類 :has() 表示一個元素,如果作為參數傳遞的任何相對選擇器在錨定到該元素時,至少匹配一個元素。這個偽類通過把可容錯相對選擇器列表作為參數,提供了一種針對引用元素 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...