国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
對(duì)架構(gòu)設(shè)計(jì)的想法 -
1.1 文檔目的
1.2 文檔范圍
1.3 讀者對(duì)象
1.4 參考文獻(xiàn)
1.5 術(shù)語(yǔ)與縮寫解釋
2.  系統(tǒng)的架構(gòu)分析
2.1  本系統(tǒng)“是什么”
2.1.1 訪問(wèn)者定義
2.1.2 創(chuàng)建情節(jié)
2.1.3 競(jìng)爭(zhēng)性分析
2.2  本系統(tǒng)的主要功能
2.2.1 項(xiàng)目?jī)?nèi)容和功能的輸入
2.2.2 項(xiàng)目結(jié)構(gòu)
2.2.3 備選的分析機(jī)制
2.3  系統(tǒng)的架構(gòu)機(jī)制
2.3.1 MVC結(jié)構(gòu)如下圖:
2.3.2 定義過(guò)程流
2.3.3 對(duì)象交互圖
2.3.4 類設(shè)計(jì)—從分析類到設(shè)計(jì)類
2.3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)
3.  概要設(shè)計(jì)
3.1 概要設(shè)計(jì)的目的
3.2 概要設(shè)計(jì)的任務(wù)
3.3 概要設(shè)計(jì)的原則
3.4 概要設(shè)計(jì)的內(nèi)容
3.5 概要設(shè)計(jì)的輸出
4  數(shù)據(jù)庫(kù)設(shè)計(jì)
4.1  數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容
5. 用戶界面設(shè)計(jì)
5.1用戶界面設(shè)計(jì)的內(nèi)容
6  設(shè)計(jì)過(guò)程
6.1  以架構(gòu)為中心的過(guò)程
6.2  迭代和增量開發(fā)
6.3  開發(fā)規(guī)范概述
6.3.1 應(yīng)用項(xiàng)目開發(fā)過(guò)程簡(jiǎn)述
6.3.2設(shè)計(jì)階段的活動(dòng)
7. 數(shù)據(jù)模型設(shè)計(jì)示例
9. 其它
附錄1:用例描述
附錄2: 結(jié)構(gòu)化設(shè)計(jì)方法與面向?qū)ο笤O(shè)計(jì)方法比較
附錄3: Web 服務(wù)(其他文件)
1.5 術(shù)語(yǔ)與縮寫解釋
架構(gòu) (Architecture):   系統(tǒng)在其所處環(huán)境中的最高層次的概念,涉及系統(tǒng)的組織結(jié)構(gòu)。軟件系統(tǒng)的架構(gòu)是通過(guò)接口交互的重要構(gòu)件(在特定時(shí)間點(diǎn))的組織或結(jié)構(gòu),這些構(gòu)件又由一些更小的構(gòu)件和接口組成。架構(gòu)可以遞歸解構(gòu)為部件之間的接口、部件之間關(guān)系以及被組裝部件之間的約束。
SD:    系統(tǒng)設(shè)計(jì),System Design
XML:  (eXtend Markable Language, 擴(kuò)展標(biāo)記語(yǔ)言),用嚴(yán)格的嵌套標(biāo)記表示數(shù)據(jù)信息,特別適合在Internet環(huán)境中的多點(diǎn)數(shù)據(jù)交換環(huán)境下使用
SOAP: (Simple Object Access Protocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議), 用來(lái)定義數(shù)據(jù)描述和遠(yuǎn)程訪問(wèn)的標(biāo)準(zhǔn).
WSDL: (Web Services Description Language,Web服務(wù)描述語(yǔ)言), 是發(fā)布和請(qǐng)求Web服務(wù)的描述語(yǔ)言.
UDDI:  (Universal Description, Discovery and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成),把Web服務(wù)與用戶聯(lián)系起來(lái),起中介作用。
OMT:  (Object-Oriented Modeling Technique  OMT) 面向?qū)ο蟮慕<夹g(shù).
Design patterns:   模式是在一個(gè)上下文中,對(duì)一個(gè)問(wèn)題的解決方案。即模式的四要素:名字、上下文、問(wèn)題和解決方案。分為23種設(shè)計(jì)模式:創(chuàng)建型:5種;結(jié)構(gòu)型:7種;行為型:11種.
1,架構(gòu)分析主要包括:確定分析機(jī)制,確定核心的抽象概念,定義子系統(tǒng)的高層組織,創(chuàng)建用例實(shí)現(xiàn)。
2,對(duì)用例分析包括:補(bǔ)充用例規(guī)約,查找分析類,確定分析類的細(xì)節(jié),限定分析類的分析機(jī)制。
3,確定設(shè)計(jì)元素。
4,確定設(shè)計(jì)機(jī)制。
5,描述運(yùn)行時(shí)架構(gòu)。
6,描述分布。
本系統(tǒng)可采用OMT對(duì)進(jìn)行架構(gòu)分析設(shè)計(jì)
用OMT方法對(duì)系統(tǒng)進(jìn)行分析通常分兩步:
第一步是對(duì)問(wèn)題的描述;
第二步是將對(duì)問(wèn)題的描述建立成三種模型,即對(duì)象模型、動(dòng)態(tài)模型、功能模型。
本系統(tǒng)“是什么”
系統(tǒng)建模方法是從系統(tǒng)的問(wèn)題描述開始的,詳細(xì)精確的問(wèn)題描述能使開發(fā)人員的分析、設(shè)計(jì)更為合理、準(zhǔn)確。這里首先建立理想模型,做行為分析。
主要包括:
訪問(wèn)者定義
誰(shuí)將是該項(xiàng)目的訪問(wèn)者?訪問(wèn)者的目的是什么?訪問(wèn)者能獲到什么信息?進(jìn)行何種商務(wù)功能的處理?或者得到什么形式的獎(jiǎng)勵(lì)?
可以使用下表(簡(jiǎn)化的用例):
信息
商務(wù)處理
獎(jiǎng)勵(lì)
綜       述(如有必要再進(jìn)行全方面的描述,請(qǐng)?zhí)顚懺谙旅妫?div style="height:15px;">
創(chuàng)建情節(jié)
根據(jù)訪問(wèn)者定義,找出能代表大多數(shù)訪問(wèn)者的人,舉例說(shuō)明用戶的真實(shí)網(wǎng)上經(jīng)歷,如何完成一定的任務(wù),就象講述一個(gè)網(wǎng)民上網(wǎng)的故事,可以盡量發(fā)揮想象力去描述。
競(jìng)爭(zhēng)性分析
瀏覽和評(píng)估一至二個(gè)我們主要的競(jìng)爭(zhēng)對(duì)手的網(wǎng)站,嚴(yán)肅客觀地評(píng)價(jià)競(jìng)爭(zhēng)者,分析出該項(xiàng)目在競(jìng)爭(zhēng)上的優(yōu)勢(shì)。
可以使用下表:
網(wǎng)站名
網(wǎng)址
功能描述
優(yōu)勢(shì)分析
本系統(tǒng)的主要功能
根據(jù)上述問(wèn)題描述,需要對(duì)系統(tǒng)的功能做詳細(xì)描述,以構(gòu)造出系統(tǒng)頂層的對(duì)象圖、狀態(tài)圖和數(shù)據(jù)流圖,
項(xiàng)目?jī)?nèi)容和功能的輸入
(1)項(xiàng)目?jī)?nèi)容概述(項(xiàng)目具有哪些內(nèi)容?哪些功能?列出所需的內(nèi)容和功能的清單。)
(2)項(xiàng)目?jī)?nèi)容分組和命名(將內(nèi)容進(jìn)行分組,也即分成若干個(gè)欄目,給每欄起一個(gè)名字,中文英文各取一個(gè),中文的用做導(dǎo)航,英文的作為網(wǎng)站文件目錄的名字。)
(3)功能需求(列出項(xiàng)目中用戶功能性的內(nèi)容)
項(xiàng)目結(jié)構(gòu)
(1)結(jié)構(gòu)列表
建立一個(gè)基于文本形式的項(xiàng)目層次結(jié)構(gòu)圖,結(jié)構(gòu)如下(摘自《云南移動(dòng)門戶網(wǎng)站手機(jī)俱樂(lè)部頻道策劃》):
(2)建立結(jié)構(gòu)藍(lán)圖,定義全局和局部導(dǎo)航。
結(jié)構(gòu)藍(lán)圖是網(wǎng)站結(jié)構(gòu)的可視化表示,顯示網(wǎng)站中的元素如何分組和聯(lián)系的圖表,不同的內(nèi)容(靜態(tài)或是動(dòng)態(tài)的)和功能使用不同的幾何形狀進(jìn)行表示,整個(gè)結(jié)構(gòu)呈現(xiàn)倒樹狀,內(nèi)容要素和功能要素使用不同的方法表示。
可用表的示例:
主線程
分線程
時(shí)間
(天)
所在分線程時(shí)間比
所在總線程時(shí)間比
臺(tái)
發(fā)
設(shè)計(jì)階段
參考
設(shè)計(jì)框架
設(shè)計(jì)裝飾圖片
完成設(shè)計(jì)整合
制作階段
設(shè)計(jì)CSS
制作框架html
加入代碼
作代碼優(yōu)化
設(shè)計(jì)制作
整合
與策劃人員溝通
在后臺(tái)代碼加入后,根據(jù)項(xiàng)目小組意見(jiàn)進(jìn)行整合
WEB
務(wù)
發(fā)
WEB
服務(wù)層
開發(fā)
審閱功能規(guī)范
確定模塊化/分層設(shè)計(jì)參數(shù)
分派任務(wù)
編寫代碼
開發(fā)人員測(cè)試(初步調(diào)試)
上傳功能模塊
數(shù)
據(jù)
庫(kù)
發(fā)
數(shù)據(jù)庫(kù)開發(fā)
審閱功能規(guī)范
確定表/過(guò)程設(shè)計(jì)參數(shù)
分派任務(wù)
編寫代碼
開發(fā)人員測(cè)試(初步調(diào)試)
上傳功能模塊
備選的分析機(jī)制
項(xiàng)目的分析機(jī)制還包括
?         永久性
?         安全性
?         分布
?         進(jìn)程通訊
?         錯(cuò)誤報(bào)告
?         格式轉(zhuǎn)換
?         消息路由
?         進(jìn)程控制與同步
?         事務(wù)管理
?         信息交換
?         冗余度
系統(tǒng)的架構(gòu)機(jī)制
架構(gòu)機(jī)制采用MVC(Model-View-Control),見(jiàn)設(shè)計(jì)模式,
結(jié)構(gòu)如下圖
定義過(guò)程流
然后定義過(guò)程流(Process Flow)。
使用UML描述,包括以下內(nèi)容;
1,描述設(shè)計(jì)對(duì)象的交互
2,使用子系統(tǒng)簡(jiǎn)化序列圖
3,描述永久性相關(guān)行為
4,改進(jìn)事件流描述
輸入的用例見(jiàn)附錄1表:
對(duì)象交互圖
對(duì)象交互圖包括:請(qǐng)求處理序列圖,事件處理序列圖,使用UML描述。
類設(shè)計(jì)—從分析類到設(shè)計(jì)類
從分析類到設(shè)計(jì)類的過(guò)程:可采用如下表(示例)
詳細(xì)描述:
示例:分析類
LoginInfoScreen身份及口令信息
數(shù)據(jù)庫(kù)設(shè)計(jì)
需要考慮:
對(duì)系統(tǒng)中信息流有嚴(yán)格的順序關(guān)系。
建立強(qiáng)大的查詢和統(tǒng)計(jì)功能,用戶只需要對(duì)要查詢的數(shù)據(jù)進(jìn)行簡(jiǎn)單的選擇和組合即可得到查詢結(jié)果。
靈活的授權(quán)管,用戶權(quán)限分為三級(jí):超級(jí)用戶、部門級(jí)用戶、單據(jù)級(jí)用戶。不同的用戶其權(quán)限不同。
2.3.6基于Web瀏覽器的多層結(jié)構(gòu)開發(fā)模式
主流的軟件架構(gòu)B/S與N Tier模式都有一些缺點(diǎn),所以現(xiàn)在出現(xiàn)了許多B-N Tier的系統(tǒng),就是基于Web瀏覽器的多層結(jié)構(gòu)開發(fā)模式,它吸收了兩者的優(yōu)點(diǎn)。
單純的B/S方式,雖然可以認(rèn)為實(shí)現(xiàn)了最終用戶使用成本幾乎為零,但它存在許多不足,它的功能較弱,無(wú)法非常容易地實(shí)現(xiàn)你的理念。比如你要實(shí)現(xiàn)一種商業(yè)模型,你會(huì)發(fā)現(xiàn)實(shí)際上Web方式是不安全、不可靠的,比如,用戶可通過(guò)頁(yè)面回退或前進(jìn)來(lái)改變你所有希望的結(jié)果、報(bào)表制作能力不足等(當(dāng)然這也取決于業(yè)務(wù)的復(fù)雜程度)。
為什么Web會(huì)造成邏輯實(shí)現(xiàn)上的困難?因?yàn)樗腔赟tateless(無(wú)狀態(tài))的,Stateless就是這樣一種情形:不知道用戶端是什么樣子,接收信息是不可控的,不知道傳遞給他的信息的流向,這就是Stateless。所有基于HTTP的東西都是Stateless的。而Socket的魅力就在于它是有狀態(tài)的。
現(xiàn)在發(fā)展起來(lái)的ASP、JSP、Java技術(shù),雖然彌補(bǔ)了HTTP協(xié)議存在的無(wú)狀態(tài)缺陷,但即使這些技術(shù)再先進(jìn),也無(wú)法解決HTTP協(xié)議基于Stateless的事實(shí)。 以基于IIS的ASP技術(shù)來(lái)說(shuō),它使用Session變量來(lái)實(shí)現(xiàn)State。但是不管什么技術(shù),最終都落在了COOKIE上,也就是使用COOKIE來(lái)保留客戶端狀態(tài)。
Socket目前應(yīng)用十分廣泛,ICQ、QQ等即時(shí)通訊軟件,還有許多網(wǎng)絡(luò)工具,大都基于Socket,因?yàn)镾ocket協(xié)議是有狀態(tài)的,所以才能做到這一點(diǎn)。可以這么說(shuō),是Socket讓網(wǎng)絡(luò)生活更精彩!
目前基于Web的多層結(jié)構(gòu)采用的底層技術(shù)主要有SOAP+State類協(xié)議或者HTTP+State類協(xié)議。從Delphi 6開始引入WebSnap包(一種Web Provider產(chǎn)品)。它同時(shí)支持HTTP與SOAP協(xié)議,也采用了一種類似Session變量的模式來(lái)實(shí)現(xiàn)有狀態(tài)(State)。它可以說(shuō)是目前市面上最強(qiáng)大的基于平臺(tái)的Browse/Server開發(fā)工具之一,不足是它還不能稱為完全的RAD工具,且門檻較高。在Delphi 7中還引入了IntraWeb控件包,它是一種真正意義上的網(wǎng)頁(yè)RAD開發(fā)工具,與WebSnap配合更好。
Web Provider、邏輯組件、多線程處理、交易機(jī)制、消息流轉(zhuǎn)等組合在一起是N Tier開發(fā)的高境界,所以是大型商業(yè)軟件架構(gòu)的首選。
另外還需要考慮消息機(jī)制,消息機(jī)制并不一定在所有的多層結(jié)構(gòu)中都存在,而且,如果要實(shí)現(xiàn)消息機(jī)制,必須尋找實(shí)現(xiàn)手段(比如使用Socket),否則,如果在程序中強(qiáng)制實(shí)施大量消息流轉(zhuǎn)(比如使用定時(shí)器監(jiān)控和消息數(shù)據(jù)表方式),無(wú)論是效率還是實(shí)現(xiàn)的復(fù)雜性來(lái)講都是要考慮的問(wèn)題。
概要設(shè)計(jì)
架構(gòu)設(shè)計(jì)的描述—概要設(shè)計(jì)說(shuō)明
概要設(shè)計(jì)的目的
概要設(shè)計(jì)的目的主要即設(shè)計(jì)系統(tǒng)架構(gòu),包括:
1,將軟件系統(tǒng)需求轉(zhuǎn)換為未來(lái)系統(tǒng)的設(shè)計(jì);
2,逐步開發(fā)強(qiáng)壯的系統(tǒng)架構(gòu);
3,使設(shè)計(jì)適合于實(shí)施環(huán)境,為提高性能而進(jìn)行設(shè)計(jì);
4,結(jié)構(gòu)應(yīng)該被分解為模塊和類。
概要設(shè)計(jì)的任務(wù)
概要設(shè)計(jì)的任務(wù)包括:
1,制定規(guī)范
制訂項(xiàng)目組的代碼體系、接口規(guī)約、命名規(guī)則。這是項(xiàng)目小組今后共同作戰(zhàn)的基礎(chǔ),有了開發(fā)規(guī)范和程序模塊之間和項(xiàng)目成員彼此之間的接口規(guī)則、方式方法,大家就有了共同的工作語(yǔ)言、共同的工作平臺(tái),使整個(gè)軟件開發(fā)工作可以協(xié)調(diào)有序地進(jìn)行。
2,總體結(jié)構(gòu)設(shè)計(jì)
功能(加工)->模塊:每個(gè)功能用那些模塊實(shí)現(xiàn),保證每個(gè)功能都有相應(yīng)的模塊來(lái)實(shí)現(xiàn);
模塊層次結(jié)構(gòu):某個(gè)角度的軟件框架視圖;
模塊間的調(diào)用關(guān)系:模塊間的接口的總體描述;
模塊間的接口:傳遞的信息及其結(jié)構(gòu);
處理方式設(shè)計(jì):滿足功能和性能的算法
3,用戶界面設(shè)計(jì)
(略)
4,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
詳細(xì)的數(shù)據(jù)結(jié)構(gòu):表、索引、文件;
算法相關(guān)邏輯數(shù)據(jù)結(jié)構(gòu)及其操作;
上述操作的程序模塊說(shuō)明(在前臺(tái)?在后臺(tái)?用視圖?用過(guò)程?······)
接口控制表的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則
5,其他性能設(shè)計(jì)
主要是壓力性能的考慮。
概要設(shè)計(jì)的原則
總體原則和方法:由粗到細(xì)的原則,互相結(jié)合的原則,定性分析和定量分析相結(jié)合的方法,分解和協(xié)調(diào)的方法和模型化方法。
要系統(tǒng)考慮系統(tǒng)的一般性、關(guān)聯(lián)性、整體性和層次性。
分解協(xié)調(diào):目的是為了創(chuàng)造更好的系統(tǒng)。系統(tǒng)分解是指將一個(gè)復(fù)雜的系統(tǒng)分解為若干個(gè)子系統(tǒng),系統(tǒng)協(xié)調(diào)一是系統(tǒng)內(nèi)協(xié)調(diào),即根據(jù)系統(tǒng)的總結(jié)構(gòu)、總功能、總?cè)蝿?wù)和總目標(biāo)的要求,使各個(gè)子系統(tǒng)之間互相協(xié)調(diào)配合,在各個(gè)子系統(tǒng)局部?jī)?yōu)化基礎(chǔ)上,通過(guò)內(nèi)部平衡的協(xié)調(diào)控制,實(shí)現(xiàn)系統(tǒng)的整體優(yōu)化;
屏蔽抽象:從簡(jiǎn)單的框架開始,隱含細(xì)節(jié);
一致性:統(tǒng)一的規(guī)范、統(tǒng)一的標(biāo)準(zhǔn)、統(tǒng)一的文件模式;
每個(gè)模塊應(yīng)當(dāng)有一個(gè)統(tǒng)一命名的容易理解的名字;
編碼:由外向內(nèi)(界面->核心);
面向用戶:概要設(shè)計(jì)是對(duì)于按鈕按下后系統(tǒng)“怎么做”的簡(jiǎn)要說(shuō)明;
模塊、組件的充分獨(dú)立性、封閉性;
同時(shí)考慮靜態(tài)結(jié)構(gòu)與動(dòng)態(tài)運(yùn)行;
每個(gè)邏輯對(duì)象都應(yīng)當(dāng)說(shuō)明其所處物理對(duì)象(非一一對(duì)應(yīng));
每個(gè)物理對(duì)象都有合適的開發(fā)人員,并且利于分工與組裝。(詳細(xì)說(shuō)明見(jiàn)本人另一篇文章:系統(tǒng)架構(gòu)設(shè)計(jì)應(yīng)考慮的因素);
確立每個(gè)架構(gòu)視圖的整體結(jié)構(gòu):視圖的詳細(xì)組織結(jié)構(gòu)、元素的分組以及這些主要分組之間的接口;
軟件架構(gòu)與使用的技術(shù)平臺(tái)密切相關(guān),目前常用的平臺(tái)有J2EE、.NET、CORBA等等,因此具體的軟件架構(gòu)人員應(yīng)當(dāng)具備使用這些平臺(tái)的軟件開發(fā)經(jīng)驗(yàn);
通過(guò)需求功能與設(shè)計(jì)模塊之間的列表對(duì)應(yīng),檢查每個(gè)需求功能是否都有相應(yīng)的模塊來(lái)實(shí)現(xiàn),保證需求功能的可追溯性和需求實(shí)現(xiàn)(模塊)的完整性,同時(shí)可以檢查重復(fù)和不必要的模塊。
在需求調(diào)研分析過(guò)程中對(duì)業(yè)務(wù)處理過(guò)程了解的完整性和準(zhǔn)確性非常重要。調(diào)查了解清楚所有的業(yè)務(wù)流程才能設(shè)計(jì)出適合各流程業(yè)務(wù)節(jié)點(diǎn)用戶業(yè)務(wù)特點(diǎn)和習(xí)慣的軟件,使開發(fā)出來(lái)的軟件更受歡迎。當(dāng)然在進(jìn)行軟件概要設(shè)計(jì)時(shí),要盡量排除業(yè)務(wù)流程的制約,即把流程中的各項(xiàng)業(yè)務(wù)結(jié)點(diǎn)工作作為獨(dú)立的對(duì)象,設(shè)計(jì)成獨(dú)立的模塊,充分考慮他們與其他各種業(yè)務(wù)對(duì)象模塊的接口,在流程之間通過(guò)業(yè)務(wù)對(duì)象模塊的相互調(diào)用實(shí)現(xiàn)各種業(yè)務(wù),這樣,在業(yè)務(wù)流程發(fā)生有限的變化時(shí)(每個(gè)業(yè)務(wù)模塊本身的業(yè)務(wù)邏輯沒(méi)有變的情況下),就能夠比較方便地修改系統(tǒng)程序模塊間的調(diào)用關(guān)系而實(shí)現(xiàn)新的需求。如果這種調(diào)用關(guān)系被設(shè)計(jì)成存儲(chǔ)在配置庫(kù)的數(shù)據(jù)字典里,則連程序代碼都不用修改,只需修改數(shù)據(jù)字典里的模塊調(diào)用規(guī)則即可。
概要設(shè)計(jì)的內(nèi)容
1. 系統(tǒng)概述
(1)說(shuō)明本系統(tǒng)“是什么”,(2)描述本系統(tǒng)的主要功能。
2. 設(shè)計(jì)約束
(1)需求約束。體系結(jié)構(gòu)設(shè)計(jì)人員從需求文檔(如《用戶需求說(shuō)明書》和《軟件需求規(guī)格說(shuō)明書》)中提取需求約束,例如:本系統(tǒng)應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)或規(guī)范,軟件、硬件環(huán)境(包括運(yùn)行環(huán)境和開發(fā)環(huán)境)的約束,接口/協(xié)議的約束,用戶界面的約束,軟件質(zhì)量的約束,如正確性、健壯性、可靠性、效率(性能)、易用性、清晰性、安全性、可擴(kuò)展性、兼容性、可移植性等等。
(2)隱含約束。有一些假設(shè)或依賴并沒(méi)有在需求文檔中明確指出,但可能會(huì)對(duì)系統(tǒng)設(shè)計(jì)產(chǎn)生影響,設(shè)計(jì)人員應(yīng)當(dāng)盡可能地在此處說(shuō)明。例如對(duì)用戶教育程度、計(jì)算機(jī)技能的一些假設(shè)或依賴,對(duì)支撐本系統(tǒng)的軟件硬件的假設(shè)或依賴等。
3. 設(shè)計(jì)策略
體系結(jié)構(gòu)設(shè)計(jì)人員根據(jù)產(chǎn)品的需求與發(fā)展戰(zhàn)略,確定設(shè)計(jì)策略(Design Strategy)。例如:擴(kuò)展策略。說(shuō)明為了方便本系統(tǒng)在將來(lái)擴(kuò)展功能,現(xiàn)在有什么措施。復(fù)用策略。說(shuō)明本系統(tǒng)在當(dāng)前以及將來(lái)的復(fù)用策略。折衷策略。說(shuō)明當(dāng)兩個(gè)目標(biāo)難以同時(shí)優(yōu)化時(shí)如何折衷,例如“時(shí)-空”效率折衷,復(fù)雜性與實(shí)用性折衷。
4. 系統(tǒng)總體結(jié)構(gòu)
(1)將系統(tǒng)分解為若干子系統(tǒng),繪制物理圖和邏輯圖,說(shuō)明各子系統(tǒng)的主要功能。
(2)說(shuō)明“如何”以及“為什么”(how and why)如此分解系統(tǒng)。
(3)說(shuō)明各子系統(tǒng)如何協(xié)調(diào)工作,從而實(shí)現(xiàn)原系統(tǒng)的功能。接口設(shè)計(jì):說(shuō)明外部用戶、軟、硬件接口;內(nèi)部模塊間接口。
5. 子系統(tǒng)的結(jié)構(gòu)與功能
(1)將子系統(tǒng)分解為模塊(Module),繪制邏輯圖(如果物理圖和邏輯圖不一樣的話,應(yīng)當(dāng)繪制物理圖),說(shuō)明各模塊的主要功能。
(2)說(shuō)明“如何”以及“為什么”(how and why)如此分解子系統(tǒng)N。
(3)說(shuō)明各模塊如何協(xié)調(diào)工作,從而實(shí)現(xiàn)子系統(tǒng)的功能。每個(gè)模塊“做什么”、簡(jiǎn)要說(shuō)明“怎么做”(輸入、輸出、處理邏輯、與其它模塊的接口,與其它系統(tǒng)或硬件的接口),處在什么邏輯位置、物理位置;
6. 開發(fā)環(huán)境的配置
說(shuō)明本系統(tǒng)應(yīng)當(dāng)在什么樣的環(huán)境下開發(fā),有什么強(qiáng)制要求和建議?
計(jì)算機(jī)硬件,軟件,網(wǎng)絡(luò)通信,
7. 運(yùn)行環(huán)境的配置
說(shuō)明本系統(tǒng)應(yīng)當(dāng)在什么樣的環(huán)境下運(yùn)行,有什么強(qiáng)制要求和建議?
8. 測(cè)試環(huán)境的配置
說(shuō)明本系統(tǒng)應(yīng)當(dāng)在什么樣的環(huán)境下測(cè)試,有什么強(qiáng)制要求和建議?
(1)一般地,單元測(cè)試、集成測(cè)試環(huán)境與開發(fā)環(huán)境相同。
(2)一般地,系統(tǒng)測(cè)試、驗(yàn)收測(cè)試環(huán)境與運(yùn)行環(huán)境相同或相似(更加嚴(yán)格)。
概要設(shè)計(jì)的輸出
編碼規(guī)范:信息形式、接口規(guī)約、命名規(guī)則;
物理模型:組件圖、配置圖;
不同角度的架構(gòu)視圖:用例視圖、邏輯視圖、進(jìn)程視圖、部署視圖、實(shí)施視圖、數(shù)據(jù)視圖(可選);
系統(tǒng)總體布局:哪些部分組成、各部分在物理上、邏輯上的相互關(guān)系;
兩個(gè)不可忽視的輸出:
與需求功能的關(guān)系:對(duì)于需求中的每一個(gè)功能,用哪一層、哪個(gè)模塊、哪個(gè)類、哪個(gè)對(duì)象來(lái)實(shí)現(xiàn)(一對(duì)多關(guān)系);反過(guò)來(lái),應(yīng)當(dāng)說(shuō)明將要?jiǎng)?chuàng)建的系統(tǒng)每一層、每個(gè)模塊、每個(gè)對(duì)象、每一個(gè)類“做什么”,他們是為了幫助實(shí)現(xiàn)哪些功能(一對(duì)多關(guān)系)。(需求的顆粒度在一開始往往是比較粗的,因此根據(jù)功能點(diǎn)對(duì)于整體項(xiàng)目規(guī)模的估計(jì)或得到項(xiàng)目WBS其誤差范圍也是比較大的。更為重要的原因是,需求往往不是編碼工作分解的準(zhǔn)確依據(jù),因?yàn)橐粋€(gè)需求的功能點(diǎn)可能對(duì)應(yīng)多個(gè)代碼模塊,而多個(gè)需求的功能點(diǎn)也可能只對(duì)應(yīng)一個(gè)或少數(shù)代碼模塊,同時(shí)還有軟件復(fù)用等因素要考慮,因此只有在概要設(shè)計(jì)完成以后才能準(zhǔn)確地得到詳細(xì)設(shè)計(jì)或編碼階段的二次WBS,并估計(jì)較為準(zhǔn)確的整體項(xiàng)目規(guī)模。)
邏輯與物理位置:每個(gè)對(duì)象在邏輯上分別落在哪一層、哪個(gè)模塊、哪個(gè)類;在物理上每個(gè)模塊、每個(gè)對(duì)象、每一個(gè)類放在哪個(gè)應(yīng)用服務(wù)器或客戶端的哪個(gè)目錄、哪個(gè)文件(庫(kù)),或者是建立在數(shù)據(jù)庫(kù)管理系統(tǒng)中的什么東東(過(guò)程、函數(shù)、視圖、觸發(fā)器等等)。
數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容
數(shù)據(jù)庫(kù)環(huán)境說(shuō)明
(1)說(shuō)明所采用的數(shù)據(jù)庫(kù)系統(tǒng),設(shè)計(jì)工具,編程工具等
(2)詳細(xì)配置
數(shù)據(jù)庫(kù)的命名規(guī)則
(1)完整并且清楚的說(shuō)明本數(shù)據(jù)庫(kù)的命名規(guī)則。
(2)如果本數(shù)據(jù)庫(kù)的命名規(guī)則與機(jī)構(gòu)的標(biāo)準(zhǔn)不完全一致的話,請(qǐng)作出解釋。
邏輯設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)人員根據(jù)需求文檔,創(chuàng)建與數(shù)據(jù)庫(kù)相關(guān)的那部分實(shí)體關(guān)系圖(ERD)。如果采用面向?qū)ο蠓椒ǎ∣OAD),這里實(shí)體相當(dāng)于類(class)。
物理設(shè)計(jì)
(1)主要是設(shè)計(jì)表結(jié)構(gòu)。一般地,實(shí)體對(duì)應(yīng)于表,實(shí)體的屬性對(duì)應(yīng)于表的列,實(shí)體之間的關(guān)系成為表的約束。邏輯設(shè)計(jì)中的實(shí)體大部分可以轉(zhuǎn)換成物理設(shè)計(jì)中的表,但是它們并不一定是一一對(duì)應(yīng)的。
(2)對(duì)表結(jié)構(gòu)進(jìn)行規(guī)范化處理(第三范式)。
)表匯總
列出表名,功能說(shuō)明。
每個(gè)表的列名,數(shù)據(jù)類型(精度范圍),空/非空,約束條件,補(bǔ)充說(shuō)明
安全性設(shè)計(jì)
提高軟件系統(tǒng)的安全性應(yīng)當(dāng)從“管理”和“設(shè)計(jì)”兩方面著手。這里僅考慮數(shù)據(jù)庫(kù)的安全性設(shè)計(jì)。
防止用戶直接操作數(shù)據(jù)庫(kù)的方法
用戶只能用賬號(hào)登陸到應(yīng)用軟件,通過(guò)應(yīng)用軟件訪問(wèn)數(shù)據(jù)庫(kù),而沒(méi)有其它途徑操作數(shù)據(jù)庫(kù)。
用戶賬號(hào)密碼的加密方法
對(duì)用戶賬號(hào)的密碼進(jìn)行加密處理,確保在任何地方都不會(huì)出現(xiàn)密碼的明文。
角色與權(quán)限
確定每個(gè)角色對(duì)數(shù)據(jù)庫(kù)表的操作權(quán)限,如創(chuàng)建、檢索、更新、刪除等。每個(gè)角色擁有剛好能夠完成任務(wù)的權(quán)限,不多也不少。在應(yīng)用時(shí)再為用戶分配角色,則每個(gè)用戶的權(quán)限等于他所具有的所有角色的權(quán)限。
包括: 角色,可以訪問(wèn)的表與列,操作權(quán)限
優(yōu)化
分析并優(yōu)化數(shù)據(jù)庫(kù)的“時(shí)-空”效率,盡可能地“提高處理速度”并且“降低數(shù)據(jù)占用空間”。
包括:優(yōu)先級(jí),優(yōu)化對(duì)象(目標(biāo)),措施
(1)分析“時(shí)-空”效率的瓶頸,找出優(yōu)化對(duì)象(目標(biāo)),并確定優(yōu)先級(jí)。
(2)當(dāng)優(yōu)化對(duì)象(目標(biāo))之間存在對(duì)抗時(shí),給出折衷方案。
(3)給出優(yōu)化的具體措施,例如優(yōu)化數(shù)據(jù)庫(kù)環(huán)境參數(shù),對(duì)表格進(jìn)行反規(guī)范化處理等。
數(shù)據(jù)庫(kù)管理與維護(hù)說(shuō)明
在設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候,及時(shí)給出管理與維護(hù)本數(shù)據(jù)庫(kù)的方法,有助于將來(lái)撰寫出正確完備的用戶手冊(cè)。
用戶界面設(shè)計(jì)
用戶界面設(shè)計(jì)的內(nèi)容
1. 應(yīng)當(dāng)遵循的界面設(shè)計(jì)規(guī)范
結(jié)合用戶需求和機(jī)構(gòu)的《軟件用戶界面設(shè)計(jì)指南》,闡述本軟件用戶界面設(shè)計(jì)應(yīng)當(dāng)遵循的規(guī)范(原則、建議等)。
界面的關(guān)系圖和工作流程圖
(1)給所有界面視圖分配唯一的標(biāo)識(shí)符。
(2)繪制各個(gè)界面之間的關(guān)系圖和工作流程圖。
主界面
(1)繪制主界面的視圖;
(2)說(shuō)明主界面中所有對(duì)象的功能和操作方式;
子界面
(1)繪制子界面的視圖;
(2)說(shuō)明子界面中所有對(duì)象的功能和操作方式;
美學(xué)設(shè)計(jì)
(1)闡述界面的布局及理由
(2)闡述界面的色彩及理由
界面資源設(shè)計(jì)
(1) 圖標(biāo)資源
(2) 圖像資源
(3) 界面組件
設(shè)計(jì)過(guò)程
以架構(gòu)為中心的過(guò)程
軟件系統(tǒng)的架構(gòu)是指系統(tǒng)重要組件的組織或結(jié)構(gòu),這些重要組件通過(guò)接口與那些由不斷減小的組件與接口所構(gòu)成的組件進(jìn)行交互。架構(gòu)具有以下作用:
1)理解系統(tǒng)使用UML可視化建模系統(tǒng)的架構(gòu),并以架構(gòu)為中心進(jìn)行開發(fā),這使得開發(fā)人員、管理人員及其他相關(guān)人員能夠詳細(xì)理解所需要做的工作,以利于他們參與系統(tǒng)的開發(fā)。
2)組織開發(fā)  架構(gòu)設(shè)計(jì)師通過(guò)將系統(tǒng)劃分為帶有明確定義接口的子系統(tǒng),并讓開發(fā)小組負(fù)責(zé)每個(gè)子系統(tǒng),可以顯著減少開發(fā)組之間交流的工作量,而且接口雙方的軟件可獨(dú)立地進(jìn)化。
3)鼓勵(lì)重用  好的架構(gòu)為開發(fā)人員提供了可以在其上開展工作的穩(wěn)定的骨架,它有助于開發(fā)人員知道在哪里能有效地找到可重用的元素以及發(fā)現(xiàn)合適的可重用的組件。
4)進(jìn)化系統(tǒng)  一個(gè)具有穩(wěn)定的架構(gòu)的系統(tǒng)在分析和設(shè)計(jì)時(shí)就考慮到系統(tǒng)進(jìn)化的需求,從而具有一定的容變能力,系統(tǒng)可以適度地進(jìn)化。
迭代和增量開發(fā)
迭代(Iteration)是指帶有已建立基準(zhǔn)(Base Line)的計(jì)劃和評(píng)估準(zhǔn)則的獨(dú)特活動(dòng)序列,迭代生成系統(tǒng)的內(nèi)部或外部發(fā)布版(Release)。
增量(Increment)是指在后續(xù)迭代結(jié)束后,兩個(gè)發(fā)布版本之間存在的差異(差值)。一般軟件的生命周期是由一系列迭代組成的,這些迭代都是由軟件項(xiàng)目分解成的許多袖珍項(xiàng)目(mini-project)。每個(gè)迭代都產(chǎn)生以內(nèi)部版本形式交付的實(shí)際結(jié)果,其中每個(gè)內(nèi)部版本會(huì)增加一個(gè)增量并表明所關(guān)注的風(fēng)險(xiǎn)得以降低。這些版本可以展示給客戶,從而獲得有價(jià)值的反饋以確認(rèn)工作成果。早期階段的迭代主要是關(guān)注確定項(xiàng)目的范圍,消除關(guān)鍵風(fēng)險(xiǎn)和建立系統(tǒng)架構(gòu)基準(zhǔn)。后期迭代則不斷增加增量結(jié)果,直至得到一個(gè)可對(duì)外發(fā)布的產(chǎn)品。迭代有助于管理層規(guī)劃、組織、監(jiān)控和控制項(xiàng)目。
迭代和增量開發(fā)具有以下的一些優(yōu)點(diǎn):(1)允許變更需求;(2)允許持續(xù)的集成;(3)及早降低風(fēng)險(xiǎn);(4)有助于組織學(xué)習(xí)和提高;(5)提高復(fù)用性;(6)生成性能更強(qiáng)壯的產(chǎn)品。
開發(fā)規(guī)范概述
應(yīng)用項(xiàng)目開發(fā)過(guò)程簡(jiǎn)述
每個(gè)項(xiàng)目要根據(jù)具體情況拆分成工作階段,即里程碑,以便對(duì)項(xiàng)目進(jìn)度的有效控制與度量。以項(xiàng)目立項(xiàng)為開始標(biāo)志。以項(xiàng)目結(jié)項(xiàng)為結(jié)束標(biāo)志。
(參考表示)
階段
項(xiàng)目計(jì)劃
需求分析
系統(tǒng)分析&設(shè)計(jì)
編碼實(shí)現(xiàn)
測(cè)試/文檔編制
驗(yàn)收/發(fā)布
項(xiàng)目總結(jié)
1
項(xiàng)目立項(xiàng)
資料收集
確定問(wèn)題域
編碼規(guī)范
單元測(cè)試
項(xiàng)目版本化
項(xiàng)目總結(jié)
2
立項(xiàng)申請(qǐng)
需求分析
需求建模
單元編碼
集成測(cè)試
版本發(fā)布
任務(wù)數(shù)度量
3
提交可行性研究報(bào)告或系統(tǒng)建設(shè)方案
需求分析討論
建立分析對(duì)象模型
編碼調(diào)試
系統(tǒng)測(cè)試
項(xiàng)目組驗(yàn)收
維護(hù)計(jì)劃
4
風(fēng)險(xiǎn)評(píng)估
需求分析測(cè)試/修改
系統(tǒng)分析測(cè)試/測(cè)試后修改
單元測(cè)試/修改
文檔編制
客戶驗(yàn)收
輸出成果
5
進(jìn)度計(jì)劃
需求分析評(píng)審
系統(tǒng)分析評(píng)審
編碼聯(lián)調(diào)
開發(fā)文檔整理
項(xiàng)目結(jié)項(xiàng)
6
提交項(xiàng)目總體計(jì)劃
界面設(shè)計(jì)
集成測(cè)試/修改
用戶文檔編制
7
建立設(shè)計(jì)模型/設(shè)計(jì)合并
系統(tǒng)測(cè)試/修改
宣傳資料編寫
8
對(duì)象持久化設(shè)計(jì)
編碼評(píng)審
9
詳細(xì)設(shè)計(jì)
10
系統(tǒng)設(shè)計(jì)測(cè)試/修改
11
系統(tǒng)設(shè)計(jì)評(píng)審
設(shè)計(jì)階段的活動(dòng)
序號(hào)
活動(dòng)名稱
角色
活動(dòng)描述
備注
1
系統(tǒng)分析
架構(gòu)設(shè)計(jì)師
劃分需求的問(wèn)題域,對(duì)每一個(gè)問(wèn)題域進(jìn)行分析和抽象,定義類和對(duì)象的屬性與服務(wù),以及結(jié)構(gòu)、靜態(tài)聯(lián)系和動(dòng)態(tài)聯(lián)系。
最終產(chǎn)生面向?qū)ο蟮姆治瞿P汀?div style="height:15px;">
2
架構(gòu)設(shè)計(jì)
架構(gòu)設(shè)計(jì)師
建立軟件系統(tǒng)的架構(gòu),將系統(tǒng)的軟件需求分配給軟件結(jié)構(gòu)。
架構(gòu)設(shè)計(jì)—根據(jù)需求,進(jìn)行分析、設(shè)計(jì)系統(tǒng)架構(gòu),產(chǎn)生架構(gòu)設(shè)計(jì)工件。
3
架構(gòu)設(shè)計(jì)評(píng)審
架構(gòu)評(píng)審人員
檢查軟件系統(tǒng)架構(gòu)設(shè)計(jì)是否合理。
發(fā)現(xiàn)和修復(fù)缺陷—根據(jù)同行評(píng)審規(guī)范,評(píng)審架構(gòu)設(shè)計(jì)工件。一致性確認(rèn)—對(duì)架構(gòu)設(shè)計(jì)達(dá)成一致。
4
基線化架構(gòu)設(shè)計(jì)
配置經(jīng)理
將評(píng)審?fù)ㄟ^(guò)的軟件架構(gòu)設(shè)計(jì)工件置于配置管理?;€化架構(gòu)一基線化架構(gòu)設(shè)計(jì),作為詳細(xì)設(shè)計(jì)的基礎(chǔ)。
5
軟件詳細(xì)設(shè)計(jì)
設(shè)計(jì)員
根據(jù)需求工件架構(gòu)設(shè)計(jì)工件,進(jìn)一步精確描述軟件系統(tǒng),并使之適于具體的實(shí)施環(huán)境。
詳細(xì)設(shè)計(jì)一根據(jù)基線化的架構(gòu)、需求工件,進(jìn)行詳細(xì)設(shè)計(jì)。
6
詳細(xì)設(shè)計(jì)評(píng)審
詳細(xì)設(shè)計(jì)評(píng)審人員
檢查軟件系統(tǒng)詳細(xì)設(shè)計(jì)是否合理。
發(fā)現(xiàn)和修復(fù)缺陷—根據(jù)《同行評(píng)審規(guī)范》,評(píng)審詳細(xì)設(shè)計(jì)工件。一致性確認(rèn)—對(duì)詳細(xì)設(shè)計(jì)達(dá)成一致
7
基線化詳細(xì)設(shè)計(jì)
配置管理員
將評(píng)審?fù)ㄟ^(guò)的軟件詳細(xì)設(shè)計(jì)工件置于配置管理。
基線化詳細(xì)設(shè)計(jì)一對(duì)詳細(xì)設(shè)計(jì)進(jìn)行基線化,作為實(shí)施活動(dòng)的基礎(chǔ)。
數(shù)據(jù)模型設(shè)計(jì)示例
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【信管1.9】軟件工程(三)軟件設(shè)計(jì)與過(guò)程管理
《軟件工程》選擇題
軟件工程復(fù)習(xí)題及答案
軟件工程學(xué)位論文寫作模板與心得
如何架構(gòu)一個(gè)BI系統(tǒng)
系統(tǒng)設(shè)計(jì)說(shuō)明書(架構(gòu)、概要、詳細(xì))目錄結(jié)構(gòu)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服