詳細設計文檔模板

文件名稱數據庫

 

文件版本編程

V1.0設計模式

文檔編號安全

 

總頁數服務器

共  頁網絡

 

                                                                                                    xxx系統詳細設計說明書                                                                                                           數據結構

 

擬  制架構

 

日  期app

 

復  核框架

 

日  期

 

質  量

 

日  期

 

標準化

 

日  期

 

批  準

 

日  期

 

                                                                   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 201九、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   代碼目錄結構

相關文章
相關標籤/搜索