詳細設計文檔模板


文件名稱

 

文件版本

V1.0

文檔編號

 

總頁數

共  頁

 

                                                                                                    xxx系統詳細設計說明書                                                                                                           

 

擬  制

 

日  期

 

復  核

 

日  期

 

質  量

 

日  期

 

標准化

 

日  期

 

批  准

 

日  期

 

                                                                   xxx有限公司

                                                                  修訂記錄

日期

修訂版本

描述

作者

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目    錄

 

1       引言... 5

1.1             背景... 5

1.2             編寫目的與范圍... 6

1.3             術語定義... 6

1.4             參考資料... 8

1.5             相關工具... 8

2       設計概述... 8

2.1             任務和目標... 8

2.2             需求概述... 8

2.3             運行環境概述... 9

2.3.1         硬件環境... 9

2.3.2         支持環境... 11

2.4             限制和約束... 11

2.5             詳細設計方法... 11

3       總體方案確認... 12

3.1             體系結構詳細設計... 12

3.2             功能模塊划分... 13

3.3             程序框架設計... 13

4       系統詳細設計... 15

4.1             車輛信息維護... 15

4.1.1         界面... 15

5       數據庫設計... 40

6       安全性設計... 41

6.1             用戶權限... 41

6.2             軟件授權... 41

7       設計與開發規范... 43

 

1  引言

1.1   背景

xxx。

產品名稱:xxx

所屬系統:xxx

任務提出:xxx

任務承擔:xxx

產品用戶:xxx

應用場景:xxx。

1.2   編寫目的與范圍

本文檔為“xxx系統詳細設計說明書”,主要用於為實現系統功能而進行的系統詳細設計說明,具體描述了系統包含的的軟件模塊的實現流程、功能、接口、數據結構等內容,供項目組開發人員和軟件維護人員閱讀。

本文檔用於軟件設計階段的詳細設計階段,其范圍是:系統各組成部門的構成;各軟件模塊(或類)的屬性、方法、事件、外部接口;用戶界面設計;數據結構設計等內容。

1.3   術語定義

分層:在分解復雜的軟件系統時,軟件設計者用得最多的技術之一就是分層。在計算機本身的架構中,可以看到:到處都有分層的例子。不同的層從包含了操作系統調用的程序設計語言,到設備驅動程序和CPU指令集,再到芯片內部的各種邏輯門。網絡互聯眾,FTP層架構再TCP之上,TCP架構再IP之上,IP又架構再以太網之上。

當用分層的觀點來考慮系統時,可以將各個子系統想象成按照“多層蛋糕”的形式來組織,每一層都依托在其下層之上。在這種組織方式下,上層使用了下層定義的各種服務,而下層對上層一無所知。另外,每一層對自己的上層隱藏其下層的細節。因此,第4層使用第3層的服務,第3層使用第2層的服務,第4層無需知道第2層的細節。(當然,並非所有的分層架構都這么隔絕,但絕大多數是不透明的,或至少是幾乎不透明的。)

WPFWindows Presentation Foundation(WPF)是Microsoft的一個圖形子系統(類似於WinForms),用於在基於Windows的應用程序中呈現用戶界面。 WPF,以前稱為“Avalon”,最初於2006年作為.NET Framework 3.0的一部分發布.WPF使用DirectX,並嘗試為構建應用程序提供一致的編程模型。

MVVMModel-view-viewmodel是一種軟件架構模式,它有助於將應用程序的業務和表示邏輯與其用戶界面(UI)完全分離。 在應用程序邏輯和UI之間保持清晰的分離有助於解決許多開發問題,並使應用程序更易於測試,維護和發展。 它還可以極大地改善代碼重用機會,並允許開發人員和UI設計人員在開發應用程序的各個部分時更輕松地進行協作。

MVVM模式中有三個核心組件:模型,視圖和視圖模型。 每個都有不同的目的。 下圖顯示了三個組件之間的關系。 

EF 6Entity Framework 6是一個經過實踐檢驗的.NET對象關系映射器(O / RM),具有經過多年開發的功能和穩定性。

作為ORM,EF6減少了關系和面向對象世界之間的阻抗不匹配,使開發人員能夠開發這樣的程序:使用.NET應用程序域中的強類型對象,與存儲在關系數據庫中的數據進行交互,這樣就不再需要編寫大量的數據訪問“管道”代碼。

1.4   參考資料

《xxx需求規格設計說明書》

1.5   相關工具

設計時采用Power Designer、Visio等工具。開發時采用Visual Studio 2019、Sql Sever Management Studio 2012等工具。

2  設計概述

2.1   任務和目標

 

2.2   需求概述

 

2.3   運行環境概述

本系統的運行環境的規定如下:

2.3.1       硬件環境

本系統的硬件環境包括:

a)  服務器

服務器硬件推薦選用寶德至強雙路雲服務器PR2510SW,其主要技術參數如下表所示:

表1 服務器主要技術參數

指標名稱

指標參數

處理器型號

Intel® Xeon® E5-2600V3/V4系列處理器

處理器數量

1/2個

尺寸

2U機架

內存

8 DIMM插槽, 支持2400MHz DDR4的RDIMM內存 ,最大支持512GB

硬盤

支持8個3.5”/2.5” SATA/SAS/SSD硬盤,可內置兩個2.5” SATA/SAS/SSD硬盤,最大支持存儲容量68TB

板載網絡

集成2個Intel i210千兆GE網口;可選配外接千兆及萬兆網卡

PCIE擴展

提供6個PCI-E 擴展插槽(3 PCI-E3.0×8,1 PCI-E3.0×4(in×8),1 PCI-E 3.0 ×16, 1 PCI-E 2.0×4(in ×8))

風扇

3個熱插拔風扇

2.3.2       支持環境

本系統軟件運行環境包括:

a)  xxx系統軟件所需的軟件支持環境包括:

1)   數據庫: SQL Server 2008 R2;

2)   操作系統:Windows Server 2012 Enterprise(如需正版軟件,由用戶方提供);

3)   Web Server:IIS 7.5

4)   .Net Framework 4.5.2

2.4   限制和約束

 

2.5   詳細設計方法

本文采用結構化設計方法,結合數據流圖進行整體功能模塊的划分。針對各個具體模塊的設計采用面向對象設計方法,結合相應的UML模型進行功能設計,具體包括以包圖表示的軟件體系結構圖,以交互圖表示的用例實現圖,完整精美的類圖、針對復雜對象的類圖,用以描述流程處理過程的活動圖。

3  總體方案確認

3.1   體系結構詳細設計

 

3.2   功能模塊划分

 

3.3   程序框架設計

本系統采用分層架構模式將整個系統分為業務展示層(提供服務、顯示信息)、系統服務層(業務邏輯,系統中真正的核心)、數據采集層(與數據庫、消息系統及其他軟件包通信)。

表現層采用MVVM(Model-View-View-Model)設計模式,結合微軟 WPF 框架,可以把界面設計(用xaml語言實現)和業務邏輯開發(用C#實現)分離。

領域層設計符合面向接口編程規范,這樣可以降低層與層之間的耦合,也有利於接口設計和實現的分離,但針對基本的單表的增刪改查服務則是直接調用數據源層的EF API來實現,從而減少過度的接口封裝。

數據源層運用ORM技術來簡化對數據表結構的維護,具體運用了微軟 .Net框架下的的Entity Framework 框架。

 

4  系統詳細設計

4.1   車輛信息管理

4.1.1   菜單

基礎數據 >> 車輛信息

 

4.1.2   界面

 

4.1.3   界面描述

頁面元素

元素說明

查詢條件

 

車牌號

文本錄入,忽略大小寫模糊匹配

列表項

 

車牌號

PlateNumber

操作

 

頁面加載

默認不查詢數據

查詢

查詢表“xxx”

固定條件:IsDelete != true

查詢條件:根據條件錄入,對應字段

排序:ID 倒序

 

4.1.4   新增/修改界面

 

4.1.5   功能詳細說明

xxx。

4.1.6   類圖

 

4.1.7   主要方法

public List<xxxDto> QueryList(); //查詢信息列表

 

4.1.8   數據庫表

xxx xxx表,表關系如下圖:

 

4.1.9   UML模型

 

5  數據庫設計

數據庫表整體結構如下,詳見《xxx系統數據庫設計說明》。

 

6  安全性設計

6.1   用戶權限

 

6.2   軟件授權

 

7  設計與開發規范

7.1   界面設計原則

以用戶為中心:Theo Mandel博士創造了人機交互的“黃金三原則”:置於用戶控制之下;保持界面一致性;減輕用戶的記憶負擔。

擁有良好的直覺特征:以用戶所熟悉的現實世界事務的抽象來給用戶暗示和隱喻,來幫助用戶快速地學會使用軟件。

較快的響應速度。

簡單且美觀。

7.2   面向對象程序設計原則

單一職責原則(SRP):就一個類而言,應該僅有一個引起它變化的原因。

里氏替換原則(LSP):子類型(subtype)必須能夠替換掉它們的基類型。

依賴倒置原則(DIP):

a高層模塊不應該依賴於低層模塊,兩者都應該依賴於抽象。

b抽象不應該依賴於細節,細節應該依賴於抽象。

接口隔離原則(ISP):不應該強迫客戶依賴於它們不要的方法。接口屬於客戶,不屬於它所在的類層次結構。

開閉原則(OCP):軟件實體(類、模塊、函數等)應該是可以擴展的,但是不可修改的。

迪米特原則(LoD):也叫最少知識原則,即一個軟件是他應當盡可能少地於其他實體發生相互作用,模塊之間的交互要少。

7.3   編碼規范

7.3.1   模塊命名

       每一個模塊分一個包,包名以包名的英文單詞命名。小模塊依次放在所屬的大模塊下面,也是以模塊的英文單詞來命名。

7.3.2   類命名

數據訪問類,用駝峰式命名法,首字母大寫,以業務名稱開頭,Repository結尾,例如UserRepository.cs。

業務邏輯類,用駝峰式命名法,首字母大寫,以業務名稱開頭,Service結尾,例如UserService.cs。

業務控制類,用駝峰式命名法,首字母大寫,以業務名稱開頭,ViewModel結尾,例子如UserViewModel.cs。

7.3.3   變量命名

要以有意義的命名的方式來為變量命名,並且單詞首字母小寫,以駝峰式命名法。

7.3.4   過程函數命名

本系統的過程或函數都在Sql Server2012中運行,命名規則按駝峰式命名法,寫好每一個變量、過程、函數、包的注釋。變量以@開頭,后接實際名稱。

總之一點,不管程序代碼中還是數據庫的過程或函數,都要以清晰的代碼結構和詳細的注釋,以此為標准。

7.4   代碼目錄結構


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM