軟件工程詳細(xì)設(shè)計(jì)_第1頁(yè)
軟件工程詳細(xì)設(shè)計(jì)_第2頁(yè)
軟件工程詳細(xì)設(shè)計(jì)_第3頁(yè)
軟件工程詳細(xì)設(shè)計(jì)_第4頁(yè)
軟件工程詳細(xì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1/15/2023

第3章結(jié)構(gòu)化分析與設(shè)計(jì)之詳細(xì)設(shè)計(jì)1/15/20232

主要內(nèi)容詳細(xì)設(shè)計(jì)的目的和內(nèi)容結(jié)構(gòu)化程序設(shè)計(jì)界面設(shè)計(jì)詳細(xì)設(shè)計(jì)的工具

-程序流程圖、盒圖、PAD圖和PDL偽碼1/15/20233

詳細(xì)設(shè)計(jì)的目的和內(nèi)容

詳細(xì)設(shè)計(jì)的目的:

為軟件結(jié)構(gòu)圖(SC)中的每一個(gè)模塊確定采用的算法和模塊內(nèi)

數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具給出清晰的描述。1/15/20234

詳細(xì)設(shè)計(jì)階段的主要任務(wù)為每一模塊確定算法確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)確定模塊的外部接口和用戶界面為每一模塊設(shè)計(jì)一組測(cè)試用例1/15/20235……if(A.LT.B)goto120if(B.LT.C)goto110100write(6,*)C

goto140

110write(6,*)B

goto140

120if(A.LT.C)goto130

goto100

130write(6,*)A140continue

結(jié)構(gòu)化程序設(shè)計(jì)1/15/2023無(wú)節(jié)制地使用了GOTO語(yǔ)句所產(chǎn)生的程序流程

M1/15/2023

結(jié)構(gòu)化程序設(shè)計(jì):背景資料-提出了信號(hào)量和PV原語(yǔ)-解決了“哲學(xué)家聚餐”問(wèn)題-最短路徑算法的創(chuàng)造者-第一個(gè)Algol60編譯器的設(shè)計(jì)者-THE操作系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)者-1972年獲圖靈獎(jiǎng)-與D.E.Knuth并稱為我們這個(gè)時(shí)代最偉大的計(jì)算機(jī)科學(xué)家EdsgerW.Dijkstra1/15/2023GoToStatementConsideredHarmful,Dijkstra,1968

“goto,又見(jiàn)goto”-“thequalityofprogrammersisadecreasingfunctionofthedensityofgotostatementsintheprogramstheyproduce.”-“thegotostatementshouldbeabolishedfromall‘higherlevel’programminglanguages.”1/15/2023對(duì)goto應(yīng)當(dāng)取其精華,去其糟粕

“goto,又見(jiàn)goto”-Java語(yǔ)言中取消了goto語(yǔ)句,而且嚴(yán)格限制了標(biāo)簽的使用范圍:標(biāo)簽只能緊靠在循環(huán)語(yǔ)句之前out:for(i=0;i<m;i++)for(j=0;j<n;j++)if(a[i][j]==key)breakout;-很多面向?qū)ο笳Z(yǔ)言引入了異常處理1/15/2023結(jié)構(gòu)程序設(shè)計(jì)

結(jié)構(gòu)化程序設(shè)計(jì)-1966年,B?hm和Jacopini證明,只需要順序、選擇和循環(huán)結(jié)構(gòu)就可以寫(xiě)出所有單入單出的程序-1977年,Mills提出程序應(yīng)該單入單出1/15/2023

結(jié)構(gòu)化程序設(shè)計(jì):背景資料-數(shù)學(xué)家-IBM客座科學(xué)家-DistinguishedInformationScienceAwardin1985-WarnierPrizein1987-凈室(Cleanroom)軟件工程理論的提出者HarlanMills1/15/2023結(jié)構(gòu)化程序設(shè)計(jì)最傳統(tǒng)的定義

結(jié)構(gòu)化程序設(shè)計(jì)-僅通過(guò)順序、選擇、循環(huán)這3種結(jié)構(gòu)進(jìn)行連接-每個(gè)模塊只有一個(gè)入口一個(gè)出口修正和擴(kuò)展-有助于提高程序可讀性和效率的情況下可以使用goto語(yǔ)句-可以使用break等語(yǔ)句(受限制的goto)-可以使用do-until,switch-case語(yǔ)句1/15/2023從鼠標(biāo)說(shuō)起:

界面設(shè)計(jì)-自動(dòng)吸附的Winamp1/15/2023

界面設(shè)計(jì)-按鈕跟隨鼠標(biāo)的ACDSee1/15/2023

界面設(shè)計(jì)-Windows左下角的“開(kāi)始”-MacOS界面設(shè)計(jì)專家BruceTognazzini說(shuō)過(guò):“屏幕上用鼠標(biāo)最容易指到的5個(gè)位置是:屏幕的四個(gè)角和鼠標(biāo)指針當(dāng)前的位置”1/15/2023界面設(shè)計(jì)的基本要求:好用,好看

界面設(shè)計(jì)-大學(xué)教育存在缺陷:沒(méi)有開(kāi)設(shè)人機(jī)工程學(xué)、美學(xué)、心理學(xué)這些必修課。學(xué)生不知道如何設(shè)計(jì)出易用、美觀的界面,甚至想都沒(méi)有想過(guò)。當(dāng)他們畢業(yè)后真正參與軟件開(kāi)發(fā)時(shí),只好憑著個(gè)人的經(jīng)驗(yàn)與感覺(jué)設(shè)計(jì)軟件的界面,結(jié)果往往得不到大眾用戶的認(rèn)可開(kāi)發(fā)人員的能力缺陷-開(kāi)發(fā)人員還常犯“錯(cuò)位”的毛病,以為只要自己感覺(jué)漂亮、使用方便,那么用戶也一定會(huì)滿意1/15/2023課件制作人:謝希仁原則1:用戶界面適合于軟件的功能

用戶界面設(shè)計(jì):基本原則-軟件的功能需要通過(guò)用戶界面來(lái)展現(xiàn)-例如,對(duì)于一個(gè)三維建模軟件而言,如果用戶不能使用鼠標(biāo)對(duì)模型進(jìn)行旋轉(zhuǎn)、移動(dòng)、縮放等操作,那么這個(gè)軟件的用戶界面就不適合于軟件的功能。如果不改進(jìn)用戶界面的話,即使軟件的內(nèi)核功能很強(qiáng)(如算法很先進(jìn)),這個(gè)軟件也很難賣得出去1/15/202318原則2:容易理解

用戶界面設(shè)計(jì):基本原則如果用戶很難理解界面的意圖,那么他使用起來(lái)肯定很費(fèi)勁,因此:

-界面元素應(yīng)當(dāng)提供充分的提示,例如當(dāng)鼠標(biāo)移動(dòng)到工具欄上的某個(gè)按鈕時(shí),應(yīng)當(dāng)在該圖標(biāo)旁邊出現(xiàn)功能提示1/15/202319

用戶界面設(shè)計(jì):基本原則界面結(jié)構(gòu)能夠清晰地反映工作流程,以便用戶按部就班地操作,比如提供向?qū)?/p>

1/15/2023原則3:風(fēng)格一致

用戶界面設(shè)計(jì):基本原則-同類的界面元素應(yīng)當(dāng)有相同的視感和操作方式-同類型軟件的用戶界面應(yīng)當(dāng)有一定程度的相似性。例如office家族里的Word、Excel、PowerPoint、Outlook等軟件所提供的“復(fù)制、剪切、粘貼”等功能的操作方式都是相同的-風(fēng)格一致的最大好處就是能夠減少用戶的記憶量、減少出錯(cuò)幾率,并且迅速積累操作經(jīng)驗(yàn)。所以熟悉word軟件的人基本上不用翻閱手冊(cè)就能使用PowerPoint軟件,可謂“無(wú)師自通”1/15/2023原則4:及時(shí)反饋信息

用戶界面設(shè)計(jì):基本原則用戶進(jìn)行某項(xiàng)操作后,如果過(guò)了一會(huì)兒界面一點(diǎn)反應(yīng)都沒(méi)有,用戶會(huì)感到迷茫和不安及時(shí)反饋信息可以讓用戶心里有數(shù),例如:

下載一個(gè)文件,界面上應(yīng)當(dāng)顯示“百分比”等數(shù)據(jù)來(lái)表示下載進(jìn)度給出提示信息如“正在處理,請(qǐng)等待。。?!碧峁┮恍﹦?dòng)畫(huà)讓用戶明白軟件正在干活,沒(méi)有死機(jī)1/15/2023原則5:出錯(cuò)處理

用戶界面設(shè)計(jì):基本原則用戶難免會(huì)出現(xiàn)一些操作錯(cuò)誤。在設(shè)計(jì)界面時(shí)必須考慮出錯(cuò)處理,讓用戶不必為避免犯錯(cuò)誤而提心吊膽、小心翼翼,比如:

對(duì)輸入數(shù)據(jù)的合法性進(jìn)行校驗(yàn)在某些情況下不應(yīng)該使用的按鈕,將其“失效”(如變成灰色)可以有效防止該功能被錯(cuò)誤地使用提供Undo/Redo功能執(zhí)行破壞性操作之前,應(yīng)當(dāng)獲得用戶的確認(rèn)1/15/202323原則6:適應(yīng)各種用戶

用戶界面設(shè)計(jì):基本原則

一個(gè)軟件產(chǎn)品可能有許多類型的用戶。在設(shè)計(jì)界面時(shí)應(yīng)考慮不同類型用戶的需求和水平,使用戶在操作軟件的時(shí)候感覺(jué)不到差異和麻煩1/15/202324原則7:國(guó)際化

用戶界面設(shè)計(jì):基本原則盡可能使用標(biāo)準(zhǔn)的圖解方式和國(guó)際通行的語(yǔ)言,要求簡(jiǎn)單易懂,易于翻譯,方便于不同母語(yǔ)的用戶特別要留意下列易變的元素:字體、提示信息、在線幫助;貨幣、度量單位;數(shù)字、日期格式;人的名字、電話號(hào)碼、通信地址;圖標(biāo)、標(biāo)簽;聲音;閱讀順序或習(xí)慣1/15/202325原則8:個(gè)性化

用戶界面設(shè)計(jì):基本原則對(duì)于普通的應(yīng)用軟件而言,有個(gè)性化的界面顯然比大眾化的界面更具有吸引力設(shè)計(jì)人員應(yīng)當(dāng)根據(jù)軟件的需求以及廣大用戶的喜好,在使用戶界面具備必要的“一致性”的前提下,突出該軟件的“個(gè)性”。不僅讓用戶使用起來(lái)方便,而且對(duì)軟件留下深刻的印象1/15/202326原則9:合理的布局

用戶界面設(shè)計(jì):基本原則首先,界面的布局應(yīng)當(dāng)符合邏輯,最好能夠與工作流程吻合

其次,界面的布局應(yīng)當(dāng)整潔

-界面元素應(yīng)當(dāng)在水平或者垂直方向?qū)R

-行、列的間距保持一致

-窗體、控件的尺寸/間距要合適

-要善于利用窗體和控件的空白,以及分割用的線條1/15/202327原則10:和諧的色彩

用戶界面設(shè)計(jì):基本原則用戶界面是否美觀,主要取決于該界面的布局和色彩搭配設(shè)計(jì)和諧的色彩需要一定的美學(xué)知識(shí)1/15/202328設(shè)計(jì)好的界面的基本方法

用戶界面設(shè)計(jì)模仿:著名公司已經(jīng)在此投入了巨資遵循一些基本規(guī)則界面設(shè)計(jì)的一般流程1/15/202329描述工具程序流程圖N-S

圖PAD

圖PDL

偽代碼詳細(xì)設(shè)計(jì)的工具1/15/202330A1、順序型一、程序流程圖

B幾個(gè)連續(xù)的加工依次序排列expFTA

B2、選擇型

由某個(gè)判斷式的取值決定選擇兩個(gè)加工中的一個(gè)1/15/2023313、當(dāng)型循環(huán)型

當(dāng)循環(huán)控制條件成立時(shí),重復(fù)執(zhí)行特定的加工。expFTS4、直到型循環(huán)型

重復(fù)執(zhí)行特定的加工,直到循環(huán)控制條件成立時(shí)。

expFTS1/15/2023325、多情況選擇型

列出多種加工情況,根據(jù)控制變量的取值,選擇執(zhí)行其一。exp=1FTS1exp=2exp=nS2TSnTFF1/15/2023課件制作人:謝希仁33-----具有嵌套形式的程序流程圖X1FTaX4cTfTFF入口bX2X3deghiX5X6FTFT=1=2=31/15/202334

標(biāo)準(zhǔn)程序流程圖的規(guī)定符號(hào)

起止端點(diǎn)

輸入/輸出

一般處理

預(yù)備或預(yù)處理

預(yù)定義處理X1

條件判斷

文件或文檔

外接

內(nèi)接

流程線虛線

省略線

并行方式

注解或注釋1/15/202335

程序流程圖:舉例1/15/202337缺點(diǎn)

本質(zhì)上不具備逐步求精的特點(diǎn),對(duì)于提高大型系統(tǒng)的可理解性作用甚微不易表示數(shù)據(jù)結(jié)構(gòu)

任何復(fù)雜的程序流程圖都應(yīng)由以上五種基本結(jié)構(gòu)組合而成

程序流程圖優(yōu)點(diǎn)

容易掌握,且歷史“悠久”,使用廣泛趨勢(shì):停止使用1/15/2023二、盒圖盒圖(BoxDiagram)

Nassi&Shneiderman1973年提出,由稱為N-S圖

Chapin1974年作擴(kuò)充,故也稱為ChapinCharts1/15/2023

順序型A

B

選擇型

BpFTA

ApFT

p=1=2…=n

A1

A2

An

dowhile(p)

S

dountil(p)

S

當(dāng)型循環(huán)型

直到型循環(huán)型

多分支選擇型

基本符號(hào)1/15/2023

盒圖:舉例1/15/2023

盒圖特點(diǎn)

沒(méi)有箭頭,不允許隨意轉(zhuǎn)移控制每個(gè)矩形框都是一個(gè)功能域,結(jié)構(gòu)表示明確

Case中條件取值例外局部及全程數(shù)據(jù)的作用域易見(jiàn)容易表現(xiàn)嵌套關(guān)系以及模塊的層次結(jié)構(gòu)1/15/2023三、PAD圖PAD圖

日立公司,1973

ProblemAnalysisDiagram1/15/202343基本符號(hào)

直到型循環(huán)型A

BAB

pA

pWhile

P

SUntil

P

S

當(dāng)型循環(huán)型

順序型

選擇型A1

pA2An

=1

=2

=n

多分支選擇型1/15/202344

PAD圖:舉例1/15/202345PAD圖特點(diǎn)

結(jié)構(gòu)清晰,層次分明,易讀支持逐步求精的設(shè)計(jì)思想容易將PAD自動(dòng)轉(zhuǎn)換為高級(jí)語(yǔ)言源程序1/15/202346四、PDL----ProgramDdesignLanguage

PDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)節(jié)的語(yǔ)言,稱為程序設(shè)計(jì)語(yǔ)言。它是一種偽代碼

(Pseudocode)

PDL-----關(guān)鍵詞+自然語(yǔ)言1/15/202347(1)、數(shù)據(jù)說(shuō)明:格式:

TYPE

<變量名>

AS

<限定詞1><限定詞2>其功能是定義數(shù)據(jù)的類型和作用域說(shuō)明:1.變量名:是一個(gè)模塊內(nèi)部使用的變量或模塊間共用的全局變量名。

2.限定詞1:標(biāo)明數(shù)據(jù)類型

3.限定詞2:標(biāo)明該變量的作用域

TYPEnumberASSTRING

LENGTH(12)PDL偽代碼1/15/202348(2)、程序塊:PDL的過(guò)程成分是由塊結(jié)構(gòu)構(gòu)成的,而塊將作為一個(gè)單個(gè)的實(shí)體來(lái)執(zhí)行。

BEGIN<塊名><一組偽代碼語(yǔ)句>END1/15/202349(3)、子程序結(jié)構(gòu):把PDL中的過(guò)程稱為子程序。

PROCEDURE<子程序名><一組屬性>

INTERFACE

<參數(shù)表><程序塊或一組偽代碼語(yǔ)句>END1/15/202350(4)、基本控制結(jié)構(gòu):

IF<條件>

THEN

<程序塊/偽代碼語(yǔ)句組>;

ELSE<程序塊/偽代碼語(yǔ)句組>;

ENDIF---選擇型結(jié)構(gòu)

1/15/202351

DOWHILE<條件描述>

<程序塊/偽代碼語(yǔ)句組>;

ENDDO

REPEATUNTIL<條件描述>

<程序塊/偽代碼語(yǔ)句組>;

ENDREP---重復(fù)型結(jié)構(gòu)

1/15/202352

DOLOOP<條件描述>

<程序塊/偽代碼語(yǔ)句組>;

EXITWHENENDLOOP

DOFOR<下標(biāo)=下標(biāo)表,表達(dá)式>

<程序塊/偽代碼語(yǔ)句組>;

ENDFOR---重復(fù)型結(jié)構(gòu)

1/15/202353-----多路選擇結(jié)構(gòu)

CASEOF<case變量名>;

WHEN

<case條件1>SELECT<程序塊/偽代碼語(yǔ)句組>;

WHEN

<case條件2>SELECT<程序塊/偽代碼語(yǔ)句組>;……

DEFAULT:

<缺省或錯(cuò)誤case:<程序塊/偽代碼語(yǔ)句組>;

ENDCASE1/15/202354

READ/WRITETO<設(shè)備><I/O表>

---輸入/輸出結(jié)構(gòu)

1/15/202355EnteravectorSetMaximumto

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論