資源描述:
《軟件工程概要設(shè)計培訓(xùn)講學(xué).ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、軟件工程概要設(shè)計設(shè)計人員把分析的結(jié)果?設(shè)計圖紙程序員拿著設(shè)計圖紙編寫代碼需求規(guī)格說明書概要設(shè)計設(shè)計圖紙-軟件結(jié)構(gòu)圖模塊4設(shè)計詳細(xì)設(shè)計需求分析成果軟件設(shè)計工程設(shè)計工程就是把需求分析過程中確定下來的用戶需求定義書(What=做什么)變?yōu)槟軌蜻M(jìn)行實(shí)際操作的設(shè)計說明書(How=怎樣做)的工程。設(shè)計工程是一個將系統(tǒng)的需求規(guī)格轉(zhuǎn)換成軟件系統(tǒng)的說明過程。從多個可能的思路中找到最佳的解決方案。其任務(wù)包括構(gòu)建系統(tǒng)框架,設(shè)計系統(tǒng)功能,描述系統(tǒng)流程,建立系統(tǒng)的數(shù)據(jù)模型、接口模型及界面模型,形成系統(tǒng)的邏輯結(jié)構(gòu),告訴程序員軟
2、件系統(tǒng)應(yīng)該“怎樣做”。從工程管理角度來看,軟件設(shè)計分兩步完成:概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)確定系統(tǒng)級接口全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。詳細(xì)設(shè)計確立每個模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu)用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)軟件設(shè)計是后續(xù)開發(fā)步驟及軟件維護(hù)工作的基礎(chǔ)。如果沒有設(shè)計,只能建立一個不穩(wěn)定的系統(tǒng)結(jié)構(gòu)。設(shè)計編碼測試維護(hù)測試編碼維護(hù)有軟件設(shè)計沒有軟件設(shè)計WindowsNT的一位系統(tǒng)設(shè)計師擁有8輛法拉利跑車,讓Microsoft公司的一些程序員十分眼紅。但你只能羨慕而不能憤恨,因?yàn)椴?/p>
3、不是每個程序員都有本事成為復(fù)雜軟件系統(tǒng)的設(shè)計師。系統(tǒng)設(shè)計要比純粹的編程困難得多。即便你清楚客戶的需求,卻未必知道應(yīng)該設(shè)計什么樣的軟件系統(tǒng)——既能掙最多的錢又能讓客戶滿意研究內(nèi)容主要內(nèi)容:體系結(jié)構(gòu)設(shè)計、模塊設(shè)計、數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計、用戶界面設(shè)計體系結(jié)構(gòu)就如同人的骨架。如果某個家伙的骨架是猴子,那么無論怎樣喂養(yǎng)和美容,這家伙始終都是猴子,不會成為人。模塊就如同人的器官,具有特定的功能。人體中最出色的模塊設(shè)計之一是手,手只有幾種動作,卻能做無限多的事情。研究內(nèi)容數(shù)據(jù)結(jié)構(gòu)與算法就如同人的血脈和神經(jīng),它讓器官
4、具有生命并能發(fā)揮功能。數(shù)據(jù)結(jié)構(gòu)與算法分布在體系結(jié)構(gòu)和模塊中,它將協(xié)調(diào)系統(tǒng)的各個功能。人的耳朵和嘴巴雖然是相對獨(dú)立的器官,但如果耳朵失聰了,嘴巴就只能發(fā)出“啊”“嗚”的聲音,等于喪失了說話的功能(所以聾子天生就是啞巴),可人們卻又能用手勢代替說話。用戶界面就如同人的外表,最容易讓人一見鐘情或一見惡心。象人類追求心靈美和外表美那樣,軟件系統(tǒng)也追求(內(nèi)在的)功能強(qiáng)大和(外表的)界面友好。研究內(nèi)容在進(jìn)行系統(tǒng)設(shè)計時,我們要深情地關(guān)注軟件的質(zhì)量因素,如正確性與精確性、性能與效率、易用性、可理解性與簡法性、可復(fù)用
5、性與可擴(kuò)充性等等。即使把系統(tǒng)設(shè)計做好了,也并不意味著就能產(chǎn)生好的軟件系統(tǒng)。在程序設(shè)計、測試、維護(hù)等環(huán)節(jié)還要做大量的工作,無論哪個環(huán)節(jié)出了差錯,都會把好事搞砸了。據(jù)說上帝把所有的女士都設(shè)計成天使,可是天使們在下凡時有些雙腳先著地,有些臉先著地。上帝的這一疏忽讓很多女孩傷透了心。我們在開發(fā)軟件時,一定要吸取這個教訓(xùn)。概要設(shè)計概要設(shè)計的主要任務(wù)是把需求分析得到的模型轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計軟件結(jié)構(gòu)的具體任務(wù)是:將一個復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面
6、等。數(shù)據(jù)結(jié)構(gòu)設(shè)計包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫的設(shè)計。概要設(shè)計建立的是目標(biāo)系統(tǒng)的邏輯模型,與計算機(jī)無關(guān)。1.主要內(nèi)容1)軟件的總體結(jié)構(gòu)和模塊外部設(shè)計。2)軟件處理流程設(shè)計。3)確定軟件的功能并分配。4)數(shù)據(jù)結(jié)構(gòu)設(shè)計。5)網(wǎng)絡(luò)及接口設(shè)計。6)運(yùn)行設(shè)計。7)出錯處理設(shè)計。8)性能可靠性及安全保密設(shè)計。9)維護(hù)設(shè)計。2.設(shè)計過程編碼測試設(shè)計信息描述功能描述行為描述其他需求總體結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計過程設(shè)計程序模塊集成并確認(rèn)的軟件3.設(shè)計原則總體設(shè)計的總原則是:由宏觀到微觀、逐步求精的原則,定
7、性定量分析相結(jié)合、分解與協(xié)調(diào)相結(jié)合和模型化方法,并要兼顧系統(tǒng)的一般性、關(guān)聯(lián)性、整體性和層次性。根據(jù)系統(tǒng)的總體結(jié)構(gòu)、功能、任務(wù)和目標(biāo)的要求分解系統(tǒng),使各子系統(tǒng)之間互相協(xié)調(diào)配合,實(shí)現(xiàn)系統(tǒng)的整體優(yōu)化。具體原則如下:3.1模塊化把整個系統(tǒng)劃分成若干個模塊,每個模塊完成一個子功能,將多個模塊組織起來實(shí)現(xiàn)整個系統(tǒng)的功能。模塊的三個屬性:功能---即指該模塊實(shí)現(xiàn)什么樣的功能。邏輯----即描述模塊內(nèi)部怎么做。狀態(tài)-----是指該模塊使用時的環(huán)境和條件。模塊化設(shè)計方法強(qiáng)調(diào)清楚地定義每個模塊的功能和它的輸入/輸出參數(shù)
8、,而模塊的實(shí)現(xiàn)細(xì)節(jié)隱藏在各自的模塊之中,與其它模塊之間的關(guān)系可以是調(diào)用關(guān)系,因此模塊化程序易于調(diào)試和修改。隨著模塊規(guī)模的減小,模塊的開發(fā)成本減少,但是模塊之間的接口變得復(fù)雜起來,使得模塊的集成成本增加。最小成本區(qū)M模塊成本接口成本總成本軟件開發(fā)工作量模塊數(shù)3.2抽象和逐步求精抽象是指抓住事物的本質(zhì)特性而暫時不考慮其細(xì)節(jié)的方法。逐步求精是指為了集中精力解決主要問題而盡量推遲并逐步考慮細(xì)節(jié)問題的方法,是人類解決復(fù)雜問題時采用的一種基本策略,也是軟件工程技術(shù)的基礎(chǔ)。3.3信