手把手教你寫設計方案
來源:撿田螺的小男孩
前言
那今天田螺哥跟大家講講設計方案如何寫哈。我將基於一個送禮物的介面,為其實現冪等,來寫一份模板方案設計。
背景 目的 用例圖 時序圖 流程圖 狀態圖 資料庫設計 介面文件 總結
背景
假設你負責一個禮物系統的開發,領導給你分配一個技術需求,給系統的送禮介面,實現冪等。於是你開始寫技術方案...
目的
本文件旨在概述如何設計冪等,以確保禮物系統中的送禮介面具有冪等性。
用例圖
用例圖(Use Case Diagram):是軟體工程中的一種行為模型,用於描述系統的功能需求和使用者與系統的互動。它展示了系統中的不同使用者(或角色)和系統功能之間的關係,以及各種用例(功能需求)的互動關係。
用例圖一般包含這三要素:
參與者:表示與系統互動的外部實體,可以是使用者、另一個系統或外部裝置等。它們以符號形式表示,通常是一個人的輪廓圖示。 用例:表示系統提供的各種功能或服務需求。每個用例都描述了一個系統的功能,它以橢圓形圖示表示,並與參與者之間透過連線連線。 關係:用例圖透過連線(箭頭)表示參與者和用例之間的關係,通常表示參與者和用例之間的互動行為。
回到冪等方案處理,我們這麼寫用例圖:
時序圖
時序圖(Sequence Diagram)是軟體工程中的一種行為模型,用於描述物件之間的互動和訊息傳遞順序。它展示了物件之間互動方式。我們一般方案設計的實現細節,都體現在時序圖。
要素解釋:
物件(Object):在時序圖中表示系統中的各個物件或參與者,可以是類、例項、角色或系統元件等。它們用矩形框表示,並在頂部寫有物件名稱。 生命線(Lifeline):每個物件下方有一條垂直的虛線,稱為生命線,表示物件存在的時間段。生命線上方的箭頭表示物件的生命週期。 訊息(Message):表示物件之間的通訊或互動,以箭頭的形式從一個物件向另一個物件傳遞,指示訊息的傳遞方向。訊息可以是同步訊息、非同步訊息、返回訊息等,箭頭上方標註了訊息的型別和內容。 啟用(Activation):在生命線上方,表示物件正在執行操作時的時間段,通常用豎直的方塊或者壓扁的橢圓形表示。
比如送禮的冪等處理邏輯,就可以體現在以下的時序圖:
流程圖
流程圖,通常被用來描述一個過程、系統或活動中的步驟和流程。它一般用於把一些分支體現出來,以方便更好體現設計方案。比如送禮介面的冪等方案,用流程表現如下:
狀態圖
狀態圖是一種圖形化的建模工具,用於描述系統中一個特定物件的各種狀態以及它們之間的轉換和事件觸發。比如回到我們冪等處理這個方案設計,這個冪等表的狀態,就可以用一個狀態圖來表示。
INIT: 冪等表插入的時候,就是初始化狀態 SUCCESS: 如果送禮的業務邏輯處理成功,就更新為成功狀態 FAIL: 如果送禮的業務邏輯處理失敗,冪等表就更新為失敗狀態
資料庫設計
對於寫方案設計,資料庫這塊是比較重要的,尤其我們是後端開發。一般來說,你的表是如何設計的,就把ER圖放出來。如果你的方案只是修改原有的一些資料庫表,比如加欄位、加索引等等,只需要突出就行。
比如我的送禮冪等方案,我的ER圖就是這樣的:
因為沒有其他表跟它關聯,所以這個ER圖只有一個單表。
介面文件
請求方式: POST
介面名稱: 送禮介面
請求引數:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024420/viewspace-2999237/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手把手教你寫VueRouterVue
- 嘿,程式設計師!手把手教你寫出智慧合約”Hello,World”程式設計師
- 手把手教你寫一個SpringMVC框架SpringMVC框架
- 手把手教你寫蛇蛇大作戰
- 手把手教你寫 Socket 長連線
- “手把手教你設計”—12個最佳手機APP介面設計教程APP
- 手把手教你寫一個 VSCode 外掛VSCode
- Flutter實戰:手把手教你寫Flutter PluginFlutterPlugin
- 手把手教你寫vue裁切預覽元件Vue元件
- 手把手教你撰寫本科畢業論文
- 超貼心的,手把手教你寫爬蟲爬蟲
- 手把手教你使用nodejs編寫cli(命令列)NodeJS命令列
- 手把手教你寫一個java的orm(五)JavaORM
- 手把手教你寫一個java的orm(三)JavaORM
- 手把手教你寫一個java的orm(一)JavaORM
- 流程圖之美:手把手教你設計一個流程圖流程圖
- 手把手教你如何寫事件處理的程式碼事件
- 10種常見OOM分析——手把手教你寫bugOOM
- 手把手教你寫一個Java的orm框架(4)JavaORM框架
- 手把手教你寫一個Java的orm框架(2)JavaORM框架
- 手把手教你寫一個Java的orm框架(1)JavaORM框架
- 手把手教你寫一個Java的orm框架(3)JavaORM框架
- 【管理系統課程設計】美少女手把手教你後臺管理
- 手把手教你寫一個簡易的微前端框架前端框架
- Vite 實戰:手把手教你寫一個 Vite 外掛Vite
- Python爬蟲:手把手教你寫迷你爬蟲架構Python爬蟲架構
- 手把手教你做一個超寫實爆炸特效特效
- 手把手教你寫網路爬蟲(4):Scrapy入門爬蟲
- 手把手教你寫網路爬蟲(5):PhantomJS實戰爬蟲JS
- 手把手教你寫網路爬蟲(7):URL去重爬蟲
- 戰勝拖延症,手把手教你零基礎掌握 Python 程式設計Python程式設計
- 手把手教你如何簡單使用laravel Modules寫外掛(1)Laravel
- 手把手教你寫一個微信小程式日曆元件微信小程式元件
- 手把手教你寫DI_3_小白徒手支援 `Singleton` 和 `Sc
- 手把手教你編寫最簡單的效能指令碼指令碼
- 手把手教你根據PromiseA+手寫一個Promise類Promise
- 教你程式設計師的年終報告怎麼寫程式設計師
- 手把手教你手寫一個最簡單的 Spring Boot StarterSpring Boot