亚洲熟妇av一区二区三区,久久久久久精品观看sss,免费观看四虎精品国产永久,国产成人精品一区二三区熟女,天堂网在线最新版www资源网

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

1、什么是軟件應(yīng)用系統(tǒng)的系統(tǒng)設(shè)計

所謂的軟件系統(tǒng)設(shè)計其實就是通過某種特定的平臺,而達(dá)到完成軟件系統(tǒng)項目的整體軟件的功能和性能。從軟件工程管理的角度來看,軟件系統(tǒng)項目的設(shè)計過程主要分為兩步完成。

(1)概要設(shè)計

將軟件系統(tǒng)項目的需求轉(zhuǎn)化為系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)總體結(jié)構(gòu)——此設(shè)計階段的工作重點在于軟件系統(tǒng)項目的靜態(tài)結(jié)構(gòu)設(shè)計,并設(shè)計出構(gòu)成軟件系統(tǒng)項目的各個物理組成元素——程序模塊、數(shù)據(jù)庫表結(jié)構(gòu)、測試用例、各種設(shè)計文檔文件等。

當(dāng)然,在軟件系統(tǒng)項目的系統(tǒng)概要設(shè)計中所需要的各種信息主要來自于軟件系統(tǒng)項目的需求分析的結(jié)果。

(2)詳細(xì)設(shè)計

在前面的系統(tǒng)概要設(shè)計中的軟件系統(tǒng)項目總體結(jié)構(gòu)設(shè)計完成的基礎(chǔ)上,通過對軟件系統(tǒng)項目結(jié)構(gòu)中的各個物理組成元素進一步設(shè)計細(xì)化和完善,最終得到軟件系統(tǒng)項目的更加詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法、用戶界面設(shè)計、關(guān)鍵性技術(shù)問題(包括開發(fā)環(huán)境和工具、運行環(huán)境和平臺等)的解決方案和對應(yīng)的實現(xiàn)技術(shù)等。

2、軟件系統(tǒng)的概要設(shè)計階段中的主要工作重點

(1)設(shè)計中所需要的各種信息主要來自于軟件系統(tǒng)項目的需求分析結(jié)果。

(2)概要設(shè)計工作的重點內(nèi)容:是設(shè)計出軟件系統(tǒng)項目的系統(tǒng)體系結(jié)構(gòu)。

(3)系統(tǒng)架構(gòu)設(shè)計工作的基本流程如下,這個階段是軟件系統(tǒng)項目的系統(tǒng)架構(gòu)師發(fā)揮作用的主要階段。

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

因此,軟件應(yīng)用系統(tǒng)在進行系統(tǒng)設(shè)計時,軟件系統(tǒng)項目的系統(tǒng)設(shè)計人員需要做到如下的三步:

1)對系統(tǒng)需求進行描述;

2)對系統(tǒng)結(jié)構(gòu)進行描述;

3)對系統(tǒng)行為進行描述。

因此,可以看出在這三個步驟中,第1、2步是靜態(tài)的,其建模方式一般稱為靜態(tài)建模;而第3步則是動態(tài)的,其建模方式則稱為動態(tài)建模。在UML的分析和設(shè)計的建模技術(shù)實現(xiàn)中靜態(tài)建??梢允褂肬ML的例圖、類圖等UML規(guī)范的圖形來表示;而動態(tài)建模則可以用UML中的狀態(tài)圖、時序圖、活動圖等圖形表示。由此可知,靜態(tài)建模機制和動態(tài)建模機制是UML的兩大主要類型。

3、軟件系統(tǒng)的詳細(xì)設(shè)計階段中的主要工作重點

(1)軟件系統(tǒng)的詳細(xì)設(shè)計中所涉及的主要工作內(nèi)容

1)用戶界面設(shè)計、和各個模塊組件的設(shè)計、實現(xiàn)技術(shù)等內(nèi)容(給出軟件結(jié)構(gòu)中各模塊的內(nèi)部過程描述)

2)模塊內(nèi)部的算法設(shè)計

(2)基本要求—— 一般是做到類的方法和屬性的描述,但這些方法的實現(xiàn)就不必做了。

4、為什么要進行(或者開展)軟件應(yīng)用系統(tǒng)的設(shè)計階段的工作

(1)主要的原因

通過對于軟件應(yīng)用系統(tǒng)的用例分析,軟件系統(tǒng)的分析和設(shè)計人員可以產(chǎn)生出一個系統(tǒng)的分析模型,但是設(shè)計人員很少有直接根據(jù)這個分析模型去完成程序的開發(fā)實現(xiàn)。為什么?如下示圖為某個BBS論壇系統(tǒng)的系統(tǒng)后臺管理的用例圖的局部截圖:

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

首先,我們不要幻想直接把分析類圖畫好后,就直接按照其去編碼。

其次,我們應(yīng)該了解到從用例圖中得到的分析模型,只是表達(dá)了系統(tǒng)中的一些關(guān)鍵性的概念,而不能表達(dá)系統(tǒng)中的性能和系統(tǒng)的外觀。

最后,系統(tǒng)的分析模型往往對于系統(tǒng)的結(jié)構(gòu)設(shè)計來說又往往過于簡單,復(fù)用和調(diào)試等等都不能在這個模型中被考慮完成。

因此,我們有必要對前面的分析模型再進一步地進行設(shè)計,以最終產(chǎn)生出軟件系統(tǒng)的最終設(shè)計模型。

5、開展軟件應(yīng)用系統(tǒng)的系統(tǒng)設(shè)計工作的主要目的

進行或者開展軟件應(yīng)用系統(tǒng)的系統(tǒng)設(shè)計主要的目的是能夠指明一種易轉(zhuǎn)化成代碼的工作方案,同時也是對前一個階段中的分析工作的進一步的細(xì)化—— 即進一步細(xì)化軟件系統(tǒng)分析階段所提取的類(包括其操作和屬性),并且增加新類以處理諸如數(shù)據(jù)庫、用戶接口、通信、設(shè)備等技術(shù)領(lǐng)域方面的問題。

之所以如此,是因為軟件系統(tǒng)的系統(tǒng)設(shè)計是對問題域外部可見行為的規(guī)格說明、并增添實際的計算機系統(tǒng)實現(xiàn)所需的細(xì)節(jié),包括人機交互、任務(wù)管理和數(shù)據(jù)管理的細(xì)節(jié)。如下為某個應(yīng)用系統(tǒng)中的某個數(shù)據(jù)庫表結(jié)構(gòu)定義的局部截圖:

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

6、軟件應(yīng)用系統(tǒng)設(shè)計時的基本要求

在進行軟件應(yīng)用系統(tǒng)的系統(tǒng)設(shè)計時所應(yīng)該考慮的主要問題在于:處理什么?怎么處理?如何使用?

因此,軟件應(yīng)用系統(tǒng)設(shè)計時所需要關(guān)注的方面,概括起來主要包括以下三個大類:

(1)處理的對象,也就是數(shù)據(jù)。

(2)處理的方式,也就是我們的系統(tǒng)如何來處理系統(tǒng)的邏輯。

(3)如何進行交互,這個交互包括用戶(使用者),以及外部系統(tǒng)。

7、讀者需要區(qū)分軟件設(shè)計和軟件的編程實現(xiàn)

(1)軟件設(shè)計以面向數(shù)據(jù)為主,以面向功能和面向?qū)ο鬄檩o;

(2)而軟件的編程實現(xiàn)則以面向?qū)ο鬄橹鳎悦嫦驍?shù)據(jù)和功能為輔。

8、在進行軟件應(yīng)用系統(tǒng)設(shè)計時所應(yīng)該要注意的要點

(1)核心問題——能否使用重復(fù)的體系結(jié)構(gòu)模式

也就是能否達(dá)到結(jié)構(gòu)級的軟件重用——即能否在不同的軟件體系中,使用同一體系結(jié)構(gòu)。比如我們經(jīng)常說的C/S和B/S體系結(jié)構(gòu)等問題。因為體系結(jié)構(gòu)是從更高的層面上考慮問題——關(guān)注的問題就體現(xiàn)在"不變"因素上,體系結(jié)構(gòu)一般關(guān)心應(yīng)用程序的模式,更加體現(xiàn)在通過技術(shù)去解決這些業(yè)務(wù)差異帶來的各種影響。

比如,關(guān)心是否是分布式應(yīng)用程序,關(guān)心系統(tǒng)分層是如何設(shè)計,也關(guān)心性能和安全——因此,在這樣的情況之下,會考慮集群,負(fù)載平衡,故障遷移等等一系列技術(shù)的使用。如下示圖為某個軟件應(yīng)用系統(tǒng)在系統(tǒng)架構(gòu)設(shè)計中應(yīng)用MVC體系結(jié)構(gòu)模式的分層設(shè)計結(jié)果的局部示圖:

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

(2)軟件系統(tǒng)設(shè)計工作中所應(yīng)該要遵循的"3W"原則

Who(為誰設(shè)計,用戶是誰)

What(要解決用戶的哪些問題—-功能方面、性能方面)

Why(為什么要解決這些問題—-為用戶帶來價值、降低開發(fā)方的成本等)

其實"3W"的本質(zhì),就是要求軟件應(yīng)用系統(tǒng)的系統(tǒng)設(shè)計人員圍繞著"用戶"而不是圍繞著"我們"或者"時髦的技術(shù)"來開展軟件應(yīng)用系統(tǒng)的設(shè)計工作的,因此滿足"用戶的需求、便于用戶的使用、同時又能使開發(fā)的技術(shù)盡可能簡單而相應(yīng)地降低軟件應(yīng)用系統(tǒng)開發(fā)的總體成本",這就是軟件應(yīng)用系統(tǒng)的設(shè)計人員所要追求的設(shè)計目標(biāo)。

9、軟件應(yīng)用系統(tǒng)設(shè)計中的系統(tǒng)概要設(shè)計——總體結(jié)構(gòu)設(shè)計

(1)在什么時期進行軟件應(yīng)用系統(tǒng)的系統(tǒng)概要設(shè)計

在軟件系統(tǒng)的需求分析明確并對軟件應(yīng)用系統(tǒng)的系統(tǒng)需求進行域建模之后,需要進一步開展系統(tǒng)概要設(shè)計的工作,因為軟件應(yīng)用系統(tǒng)的系統(tǒng)概要設(shè)計對后續(xù)的軟件應(yīng)用系統(tǒng)的開發(fā)、測試、實施、維護等方面的工作都起到關(guān)鍵性的影響。因此,軟件應(yīng)用系統(tǒng)的設(shè)計人員需要重點關(guān)注、細(xì)心周到地開展相關(guān)的工作。

(2)軟件應(yīng)用系統(tǒng)的概要設(shè)計工作的工作重點

如何使得系統(tǒng)概要設(shè)計工作能夠適應(yīng)特定的實施環(huán)境和部署環(huán)境?系統(tǒng)概要設(shè)計工作的核心應(yīng)該是規(guī)劃方案的構(gòu)造,在揭示實施細(xì)節(jié)的基礎(chǔ)上得到設(shè)計方案的詳細(xì)對象模型。如下示圖為某個軟件應(yīng)用系統(tǒng)的部署環(huán)境的局部截圖:

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

(3) 軟件應(yīng)用系統(tǒng)的概要設(shè)計工作的重要性

1)分析和設(shè)計模型是交錯并且迭代的

2)軟件應(yīng)用系統(tǒng)的概要設(shè)計的重要性主要體現(xiàn)在它是把軟件應(yīng)用系統(tǒng)的需求轉(zhuǎn)化為軟件應(yīng)用系統(tǒng)的開發(fā)實現(xiàn)過程中的最重要的環(huán)節(jié),并且軟件應(yīng)用系統(tǒng)的系統(tǒng)設(shè)計最終結(jié)果的優(yōu)劣在根本上也決定了軟件應(yīng)用系統(tǒng)的總體質(zhì)量。

10、軟件應(yīng)用系統(tǒng)設(shè)計中的系統(tǒng)概要設(shè)計所涉及的主要內(nèi)容

(1)制定開發(fā)規(guī)范

制定本軟件應(yīng)用系統(tǒng)中的各種開發(fā)規(guī)范是項目開發(fā)小組今后共同開發(fā)的基礎(chǔ),有了這個開發(fā)規(guī)范和程序模塊之間、項目成員彼此之間的接口規(guī)則、方式和方法,開發(fā)團隊中的各個成員也就有了共同的工作語言、共同的工作平臺,從而使得整個軟件開發(fā)的工作可以協(xié)調(diào)而有序地進行和開展。而制定這些規(guī)范所涉及的主要內(nèi)容包括:

1)代碼體系、接口規(guī)約、命名規(guī)則

2)規(guī)定設(shè)計文檔的編制標(biāo)準(zhǔn)。

3)規(guī)定與硬件,操作系統(tǒng)的接口規(guī)約,命名規(guī)則。

(2)軟件系統(tǒng)的體系結(jié)構(gòu)設(shè)計(架構(gòu)設(shè)計)

體系結(jié)構(gòu)是對復(fù)雜的軟件系統(tǒng)的一種抽象,如客戶/服務(wù)器(C/S)和瀏覽器—Web 服務(wù)器—數(shù)據(jù)庫服務(wù)器(B/W/S)結(jié)構(gòu)等的應(yīng)用。同時在架構(gòu)設(shè)計中還應(yīng)該考慮采用什么形式的框架技術(shù)和服務(wù)器的平臺類型等內(nèi)容。

(3)劃分軟件應(yīng)用系統(tǒng)中的各個模塊并進行組件類的設(shè)計

根據(jù)用戶的需求實現(xiàn)從功能上來劃分各個功能模塊,在模塊設(shè)計中應(yīng)該遵守"功能獨立的單一職責(zé)原則(SRP,Single-Responsibility Principle)"是模塊化設(shè)計的基本原則。因為,"功能獨立"的模塊可以降低軟件應(yīng)用系統(tǒng)在開發(fā)、測試、維護等階段的代價。

(4)數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計

設(shè)計高效率的程序是基于良好的數(shù)據(jù)結(jié)構(gòu)與算法的,而不是基于編程小技巧的。因為數(shù)據(jù)結(jié)構(gòu)與算法就是一類數(shù)據(jù)的表示及其相關(guān)的操作。確定軟件系統(tǒng)所涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)據(jù)庫中的數(shù)據(jù)訪問的模式,進行數(shù)據(jù)完整性和安全性的設(shè)計,并確定輸入,輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)是本階段所要考慮的問題。

(5)數(shù)據(jù)庫的邏輯設(shè)計及系統(tǒng)數(shù)據(jù)流圖(DFD),如下示圖為藍(lán)夢CRM管理系統(tǒng)中的系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計階段所涉及的系統(tǒng)數(shù)據(jù)流圖(DFD)設(shè)計結(jié)果局部示圖。

軟件項目實訓(xùn)及課程設(shè)計指導(dǎo)——軟件系統(tǒng)設(shè)計中的概要設(shè)計示例

(6)其它如可靠性等方面的設(shè)計等

軟件系統(tǒng)在運行過程中,為了能夠適應(yīng)環(huán)境的變化和用戶新的功能要求,需經(jīng)常對軟件進行改造和修正、完善。在軟件開發(fā)的一開始就要確定軟件可靠性和其它質(zhì)量指標(biāo),考慮相應(yīng)措施,以使得軟件易于修改和易于維護。

11、掌握軟件應(yīng)用系統(tǒng)的系統(tǒng)概要設(shè)計中所涉及的系統(tǒng)設(shè)計的一些基本的原則

(1)先進性

在設(shè)計思想、系統(tǒng)構(gòu)架、采用技術(shù)和選用平臺上均要有一定的先進性、前瞻性和擴充性。特別要考慮一定時期內(nèi)業(yè)務(wù)的增長和應(yīng)用的變化趨勢。在充分考慮技術(shù)上先進性的同時,盡量采用技術(shù)成熟、市場占有率比較高的產(chǎn)品,從而保證建成的網(wǎng)站系統(tǒng)具有良好的穩(wěn)定性、可擴展性和安全性。

(2)實用性

在盡量滿足業(yè)務(wù)功能需求的前提下,要適應(yīng)各業(yè)務(wù)角色的工作特點,做到簡單、使用和人性化。實現(xiàn)統(tǒng)一身份和資源管理、統(tǒng)一認(rèn)證、統(tǒng)一內(nèi)容管理、個性化界面和內(nèi)容定制。

(3)可靠性

由于企業(yè)應(yīng)用中不可避免地要涉及不同的用戶群(操作層、管理層和業(yè)務(wù)層等人員),所以建設(shè)的信息服務(wù)網(wǎng)站系統(tǒng)必須在建設(shè)平臺上保證系統(tǒng)的可靠性和安全性。系統(tǒng)設(shè)計中,應(yīng)有適量冗余及其他保護措施,平臺和應(yīng)用軟件應(yīng)具有容錯性和容災(zāi)性。

(4)開放性

在系統(tǒng)架構(gòu)、采用技術(shù)和選用平臺方面都必須要有較好的開放性。特別是在選擇產(chǎn)品上,要符合開放性要求,遵循國際標(biāo)準(zhǔn)化組織的技術(shù)標(biāo)準(zhǔn),對選定的產(chǎn)品既有自己獨特優(yōu)勢,又能與其他多家優(yōu)秀的產(chǎn)品進行組合,共同構(gòu)成一個開放的、易擴充的、穩(wěn)定的和統(tǒng)一軟件的系統(tǒng)。

(5)可維護性

系統(tǒng)設(shè)計應(yīng)標(biāo)準(zhǔn)化和規(guī)范化,按照分層設(shè)計,軟件化實現(xiàn)。對于采用的軟件構(gòu)件化開發(fā)方式要滿足:一是系統(tǒng)結(jié)構(gòu)分層,業(yè)務(wù)與實現(xiàn)分離;二是以統(tǒng)一的服務(wù)接口規(guī)范為核心,使用開放標(biāo)準(zhǔn);三是構(gòu)件語意描述要形式化;四是提煉封裝構(gòu)件要規(guī)范化。

(6)可伸縮性

考慮到一般的企業(yè)應(yīng)用的網(wǎng)站系統(tǒng)的網(wǎng)上業(yè)務(wù)建設(shè)是一個循序漸進、不斷擴充的過程,系統(tǒng)要采用積木式結(jié)構(gòu),整體構(gòu)架的考慮要與現(xiàn)有系統(tǒng)進行無縫連接,為今后系統(tǒng)擴展和集成留有擴充余量。

(7)可移植性

在選擇開發(fā)的應(yīng)用平臺上,應(yīng)該考慮能夠建設(shè)出一套與平臺無關(guān),以統(tǒng)一的服務(wù)接口規(guī)范和與各種數(shù)據(jù)庫相連的應(yīng)用組件。

12、軟件應(yīng)用系統(tǒng)的系統(tǒng)概要設(shè)計階段最終的重要輸出結(jié)果

(1)軟件應(yīng)用系統(tǒng)的概要設(shè)計說明書,一般需要包含如下的主要內(nèi)容:

1)編碼規(guī)范:信息形式、接口規(guī)約、命名規(guī)則;

2)物理模型:組件圖、配置圖;

3)不同角度的構(gòu)架視圖:用例視圖、邏輯視圖、進程視圖、部署視圖、實施視圖、數(shù)據(jù)視圖(可選);

4)系統(tǒng)總體布局:哪些部分組成、各部分在物理上、邏輯上的相互關(guān)系;

(2)數(shù)據(jù)庫設(shè)計說明書

(3)用戶手冊

(4)制定初步的測試計劃

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。