概要设计、详细设计(二) 设计的内容
3.1概要設(shè)計(jì)的主要內(nèi)容
不同的系統(tǒng)類(lèi)型其概要設(shè)計(jì)的內(nèi)容也不相同,通過(guò)概要設(shè)計(jì)準(zhǔn)則我們可以根據(jù)實(shí)際情況確定概要設(shè)計(jì)的具體內(nèi)容,但是一般來(lái)說(shuō),概要設(shè)計(jì)的內(nèi)容可以包含系統(tǒng)構(gòu)架、模塊劃分、系統(tǒng)接口、數(shù)據(jù)設(shè)計(jì)4個(gè)主要方面的內(nèi)容。
1.系統(tǒng)構(gòu)架
系統(tǒng)構(gòu)架包含系統(tǒng)使用的軟硬件技術(shù)平臺(tái)及相關(guān)技術(shù)列表、系統(tǒng)的物理架構(gòu)、物理器件類(lèi)型、數(shù)據(jù)庫(kù)管理系統(tǒng)類(lèi)型、服務(wù)器類(lèi)型、子系統(tǒng)劃分及部署方式、系統(tǒng)的軟件架構(gòu)、第三方軟件平臺(tái)列表等。
例:硬件架構(gòu)
例:軟件架構(gòu):包括層次劃分、子系統(tǒng)&模塊劃分
例:軟件技術(shù)平臺(tái)
軟件技術(shù)平臺(tái)通常定義采用什么樣的軟件體系來(lái)實(shí)現(xiàn)具體的功能,比如采用SOA結(jié)構(gòu)實(shí)現(xiàn)服務(wù)分散部署,用ESB解決數(shù)據(jù)通訊以及共享,采用MVC結(jié)構(gòu)實(shí)現(xiàn)交互、業(yè)務(wù)分離,采用RIA技術(shù)支撐復(fù)雜、可視交互等等。
例:子系統(tǒng)劃分
2.模塊劃分
模塊劃分的主要工作是結(jié)合業(yè)務(wù)領(lǐng)域以及系統(tǒng)的要求,通過(guò)拆分、合并、分組等方法,將各功能劃分到子系統(tǒng)和功能模塊中,并細(xì)化到各機(jī)能組件和功能模塊上。模塊劃分可以通過(guò)2步來(lái)實(shí)現(xiàn),層次以及模塊設(shè)計(jì)和流程設(shè)計(jì)。
第1步層次設(shè)計(jì),對(duì)于復(fù)雜系統(tǒng)需要對(duì)系統(tǒng)進(jìn)行多層的劃分,然后一層層的設(shè)計(jì)。層次劃分的方法可以結(jié)合業(yè)務(wù)、部署、運(yùn)用功能等因素考慮,首先進(jìn)行分類(lèi),然后進(jìn)行抽象分析,整理共性要素,將功能歸納到模塊。制作方法方法可以采用各種表述方法,下例都是按圖或表的方式制作的。
例層次、模塊劃分
例中對(duì)系統(tǒng)首先進(jìn)行了平臺(tái)的劃分(省、市、終端)、各平臺(tái)中的子系統(tǒng)(監(jiān)控系統(tǒng)、分析系統(tǒng))進(jìn)行定義,同時(shí)對(duì)子系統(tǒng)中的各模塊(服務(wù))進(jìn)行的明確的定義。
例層次、模塊劃分
按業(yè)務(wù)功能進(jìn)行劃分,同時(shí)對(duì)一些共性模塊進(jìn)行抽象后歸納。
第2步進(jìn)行流程劃分,進(jìn)行模塊間的流程設(shè)計(jì)。層次、模塊劃分完成后,需要對(duì)整理描述各模塊間的關(guān)系,這些關(guān)系可以包括時(shí)序關(guān)系、狀態(tài)關(guān)系、數(shù)據(jù)關(guān)系等等。在實(shí)際設(shè)計(jì)中,可以根據(jù)情況采用不同的描述方法來(lái)制作對(duì)應(yīng)的設(shè)計(jì)文檔,比如以時(shí)序?yàn)橹鞯南到y(tǒng)可以采用時(shí)序圖。
例模塊切分后,切分用例、流程。采用時(shí)序圖的方式進(jìn)行的模塊間流程設(shè)計(jì)
3.接口設(shè)計(jì)
軟件系統(tǒng)結(jié)合業(yè)務(wù)、功能、部署等等因素將軟件系統(tǒng)逐步分解到模塊,那么模塊與模塊間就必須根據(jù)各模塊的功能定義對(duì)應(yīng)的接口。概要中的接口設(shè)計(jì)主要用于子系統(tǒng)/模塊之間或內(nèi)部系統(tǒng)與外部系統(tǒng)進(jìn)行各種交互。接口設(shè)計(jì)的內(nèi)容應(yīng)包含:功能描述、接口的輸入輸出定義、錯(cuò)誤處理等。軟件系統(tǒng)接口的種類(lèi)以及規(guī)范很多,可以有API、服務(wù)接口、文件、數(shù)據(jù)庫(kù)等等,所以設(shè)計(jì)的方法也有很大的差異。但是總體來(lái)說(shuō)接口設(shè)計(jì)的內(nèi)容包含:通訊方法、協(xié)議、接口調(diào)用方法、功能內(nèi)容、輸入出參數(shù)、錯(cuò)誤/例外機(jī)制等。從成果上來(lái)看,接口一覽(表)以及詳細(xì)設(shè)計(jì)資料是必須的資料。
例.Web Service調(diào)用的XML格式的接口設(shè)計(jì)
這個(gè)接口定義了數(shù)據(jù)的格式、含義、類(lèi)型等方面的內(nèi)容。
例.API調(diào)用模式的接口設(shè)計(jì)
4.數(shù)據(jù)設(shè)計(jì)
現(xiàn)代的軟件系統(tǒng)和信息數(shù)據(jù)緊密的相連,尤其信息系統(tǒng)主要就是處理各類(lèi)數(shù)據(jù)。從本質(zhì)上來(lái)說(shuō)各類(lèi)系統(tǒng)都是(信息)收集、轉(zhuǎn)換、處理、再轉(zhuǎn)換、傳播的過(guò)程。難道不是這樣嗎?從人體這個(gè)系統(tǒng)到我們的電視、手機(jī)系統(tǒng),這些本質(zhì)過(guò)程有差異嗎?軟件系統(tǒng)的數(shù)據(jù)設(shè)計(jì),尤其信息系統(tǒng),主要包含數(shù)據(jù)庫(kù)設(shè)計(jì)或完成核心(庫(kù))表的設(shè)計(jì),當(dāng)然除了數(shù)據(jù)庫(kù)設(shè)計(jì)還包括建立在內(nèi)存、文件中各種關(guān)鍵的數(shù)據(jù)也是設(shè)計(jì)內(nèi)容。
ü數(shù)據(jù)庫(kù)設(shè)計(jì):數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)、物理設(shè)計(jì)、容量設(shè)計(jì)、數(shù)據(jù)字典、數(shù)據(jù)部署設(shè)計(jì)等等內(nèi)容。
ü數(shù)據(jù)設(shè)計(jì):配置文件設(shè)計(jì)、臨時(shí)文件設(shè)計(jì)、內(nèi)存數(shù)據(jù)設(shè)計(jì)(共享數(shù)據(jù)設(shè)計(jì)、內(nèi)容數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì))等內(nèi)容。
例數(shù)據(jù)庫(kù)設(shè)計(jì)(E-R圖)
例數(shù)據(jù)字典
補(bǔ)充
例內(nèi)存設(shè)計(jì)
補(bǔ)充
例配置文件設(shè)計(jì)
補(bǔ)充
3.2詳細(xì)設(shè)計(jì)的主要內(nèi)容
詳細(xì)設(shè)計(jì)的是概要設(shè)計(jì)的延續(xù),這個(gè)延續(xù)體現(xiàn)在設(shè)計(jì)粒度上。一般來(lái)說(shuō),詳細(xì)設(shè)計(jì)根據(jù)業(yè)務(wù)要求以及概要設(shè)計(jì)的內(nèi)容,確定細(xì)化個(gè)各類(lèi)組件的功能、邏輯流程、業(yè)務(wù)要求、組件接口。從過(guò)程上基本遵循設(shè)計(jì)的4個(gè)主要活動(dòng),具體操作一般可以概括為模塊組件分割、模塊組件設(shè)計(jì)、設(shè)計(jì)共通功能3個(gè)步驟,其中組件分割是比較關(guān)鍵的。一般的信息系統(tǒng),主要的組件分類(lèi)可以包括畫(huà)面、報(bào)表、服務(wù)、共同組件。
1.畫(huà)面設(shè)計(jì)
畫(huà)面設(shè)計(jì)是交互性設(shè)計(jì)的主要內(nèi)容之一。常見(jiàn)的設(shè)計(jì)內(nèi)容包括畫(huà)面一覽對(duì)應(yīng)的畫(huà)面遷移關(guān)系,詳細(xì)的畫(huà)面功能。
例,畫(huà)面一覽
例,畫(huà)面遷移
畫(huà)面遷移主要描述畫(huà)面間的動(dòng)作關(guān)系、定義所有畫(huà)面的出入口等內(nèi)容。
單體畫(huà)面設(shè)計(jì)
例畫(huà)面的原型
例畫(huà)面的動(dòng)作定義
例畫(huà)面要素、處理定義
2.服務(wù)設(shè)計(jì)
服務(wù)組件對(duì)應(yīng)軟件系統(tǒng)主要通過(guò)軟件接口實(shí)現(xiàn)功能的模塊,詳細(xì)設(shè)計(jì)中服務(wù)設(shè)計(jì)主要內(nèi)容包括對(duì)應(yīng)程序模塊(package)設(shè)計(jì)、Class設(shè)計(jì)、處理邏輯(時(shí)序關(guān)系)、內(nèi)外接口、限制條件等等。
例處理邏輯
例Class設(shè)計(jì)
3.共同設(shè)計(jì)
詳細(xì)設(shè)計(jì)中關(guān)鍵的步驟就是進(jìn)行共同設(shè)計(jì),共同設(shè)計(jì)的多少往往極大的影響后續(xù)開(kāi)發(fā)的工作量。比如一個(gè)系統(tǒng)抽取40%的共同和只抽取10%的共同,開(kāi)發(fā)、測(cè)試工作量差異很大。建議具體項(xiàng)目中應(yīng)盡早以及有效的管理共同設(shè)計(jì)。共同設(shè)計(jì)可以大體分為業(yè)務(wù)共同、技術(shù)共同。
ü業(yè)務(wù)共同是同業(yè)務(wù)相關(guān)的,可以根據(jù)業(yè)務(wù)的特征識(shí)別并抽象出不同的模型進(jìn)行設(shè)計(jì),不過(guò)一些常見(jiàn)共同比較容易識(shí)別,比如權(quán)限管理、基礎(chǔ)(master)數(shù)據(jù)管理、用戶(hù)管理、安全管理等等。再如常見(jiàn)的電商系統(tǒng),包括內(nèi)容(CMS)管理、推薦引擎、TM、OSS、BI、支付、廣告管理等都可以根據(jù)情況納入到共同設(shè)計(jì)中。
ü技術(shù)共同一般是和計(jì)算機(jī)技術(shù)相關(guān)的,比如線程管理、畫(huà)面各組件、LOG管理、內(nèi)存管理、文件處理、文字處理、配置管理、加解密、日志、消息、異常、錯(cuò)誤處理等。
例共同設(shè)計(jì)
補(bǔ)充
例目錄(配置)結(jié)構(gòu)的設(shè)計(jì)
總結(jié)
以上是生活随笔為你收集整理的概要设计、详细设计(二) 设计的内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华为P50 Pro新配色即将登场:尝鲜H
- 下一篇: 泡泡玛特股价创历史新低:市值缩水千亿 8