




已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件開(kāi)發(fā)的過(guò)程信息工程學(xué)院 0802班 王勇(2008011728)摘要:什么是軟件工程 軟件工程(SoftWare Engineering)的框架可概括為:目標(biāo)、過(guò)程和原則。 (1)軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開(kāi)銷(xiāo)合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶(hù)可用的程度。開(kāi)銷(xiāo)合宜是指軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷(xiāo)滿(mǎn)足用戶(hù)要求的程度。這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問(wèn)題,它們形成了對(duì)過(guò)程、過(guò)程模型及工程方法選取的約束。 (2)軟件工程過(guò)程:生產(chǎn)一個(gè)最終能滿(mǎn)足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過(guò)程主要包括開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程。它們覆蓋了需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)。需求活動(dòng)包括問(wèn)題分析和需求分析。問(wèn)題分析獲取需求定義,又稱(chēng)軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)建立整個(gè)軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說(shuō)明、每一模塊的接口定義。詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說(shuō)明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說(shuō)明及加工描述。實(shí)現(xiàn)活動(dòng)把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動(dòng)貫穿于整個(gè)開(kāi)發(fā)過(guò)程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿(mǎn)足用戶(hù)的要求。維護(hù)活動(dòng)包括使用過(guò)程中的擴(kuò)充、修改與完善。伴隨以上過(guò)程,還有管理過(guò)程、支持過(guò)程、培訓(xùn)過(guò)程等。 (3)軟件工程的原則是指圍繞工程設(shè)計(jì)、工程支持以及工程管理在軟件開(kāi)發(fā)過(guò)程中必須遵循的原則。1 軟件開(kāi)發(fā)的流程概要需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試維護(hù)2 需求調(diào)研 調(diào)研用戶(hù)領(lǐng)域的組織結(jié)構(gòu)、崗位設(shè)置和職責(zé)定義,從功能上區(qū)分有多少個(gè)子系統(tǒng),劃分系統(tǒng)的大致范圍,明確系統(tǒng)的目標(biāo)。 調(diào)研每個(gè)子系統(tǒng)所需的工作流程、功能與處理規(guī)則,收集單據(jù)、報(bào)表和賬本等原始資料,分析物流、資金流和信息流三者的關(guān)系,以及如何用數(shù)據(jù)流來(lái)表示這三者的關(guān)系。 對(duì)調(diào)研的內(nèi)容事先準(zhǔn)備,針對(duì)不同管理層次的用戶(hù)詢(xún)問(wèn)不同的問(wèn)題,列出問(wèn)題清單。將操作層、管理層和決策層的需求既聯(lián)系,又區(qū)分開(kāi)來(lái),形成一個(gè)金字塔,使下層滿(mǎn)足上層的需求。 對(duì)與用戶(hù)溝通的情況及時(shí)總結(jié)歸納,整理調(diào)研結(jié)果,找出新的疑點(diǎn),初步構(gòu)成需求基線(xiàn)。 若基線(xiàn)符合要求,則需求分析完畢;反之返回到第1步或第2或第3步。如此循環(huán)多次,直到需要分析使雙方滿(mǎn)意為止。3 可行性分析和需求分析可行性分析是要決定“做還是不做”。需求分析是要決定“做什么,不做什么”。3.1 可行性分析3.1.1 經(jīng)濟(jì)經(jīng)濟(jì)可行性分析主要包括:“成本收益”分析和“短期長(zhǎng)遠(yuǎn)利益”分析。3.1.1.1 成本收益(1)辦公室房租。(¥)(2)辦公用品,如桌、椅、書(shū)柜、照明電器、空調(diào)等。(¥)(3)計(jì)算機(jī)、打印機(jī)、網(wǎng)絡(luò)等硬件設(shè)備。(¥)(4)電話(huà)、傳真等通訊設(shè)備以及通訊費(fèi)用。(¥)(5)資料費(fèi)。(¥)(6)辦公消耗,如水電費(fèi)、打印復(fù)印費(fèi)等。(¥)(7)軟件開(kāi)發(fā)人員與行政人員的工資。(¥)(8)購(gòu)買(mǎi)系統(tǒng)軟件的費(fèi)用,如買(mǎi)操作系統(tǒng)、數(shù)據(jù)庫(kù)、軟件開(kāi)發(fā)工具等。有些老板買(mǎi)盜版的系統(tǒng)軟件,卻按市場(chǎng)價(jià)算成本,可從美國(guó)佬那里賺一筆。(¥)(9)做市場(chǎng)調(diào)查、可行性分析、需求分析的交際費(fèi)用。(¥)(10)公司人員培訓(xùn)費(fèi)用。(¥)(11)產(chǎn)品宣傳費(fèi)用。如果用Internet作宣傳,則要考慮建設(shè)Web站點(diǎn)的費(fèi)用。(¥)(12)如果客戶(hù)是政府部門(mén),還要充分考慮用于吃喝玩樂(lè)、行賄的費(fèi)用。(¥)(13)如果公司的風(fēng)水不好,會(huì)有很多莫名其妙的管理費(fèi)。每戳一個(gè)紅艷艷的公章都要化一把鈔票。(¥)3.1.1.2 短期長(zhǎng)遠(yuǎn)利益人們喜歡吃著碗里的、看著鍋里的,還想著別人家里的。短期利益和長(zhǎng)遠(yuǎn)利益兼得是人們夢(mèng)寐以求的事。在商業(yè)上,這等好事可不會(huì)輕易降臨。短期利益容易把握,風(fēng)險(xiǎn)較低。但收益有限,做的是項(xiàng)目。長(zhǎng)遠(yuǎn)利益難以把握,風(fēng)險(xiǎn)較大。但收益可能巨大,做的是企業(yè)。3.1.2 技術(shù)技術(shù)可行性分析至少要考慮以下幾方面因素:(1)在給定的時(shí)間內(nèi)能否實(shí)現(xiàn)需求說(shuō)明中的功能。(2)軟件的質(zhì)量如何?主要考慮在網(wǎng)絡(luò)、硬件、市場(chǎng)競(jìng)爭(zhēng)等上面的分析。 (3)軟件的生產(chǎn)率如何?主要是開(kāi)發(fā)的周期、移植性、維護(hù)、擴(kuò)展方面的考慮。 技術(shù)可行性分析可以簡(jiǎn)單地表述為:做得了嗎?做得好嗎?做得快嗎?3.1.3 社會(huì)環(huán)境社會(huì)環(huán)境的可行性至少包括兩種因素:市場(chǎng)與政策。3.1.3.1 市場(chǎng)市場(chǎng)又分為未成熟的市場(chǎng)、成熟的市場(chǎng)和將要消亡的市場(chǎng)。涉足未成熟的市場(chǎng)要冒很大的風(fēng)險(xiǎn),要盡可能準(zhǔn)確地估計(jì)潛在的市場(chǎng)有多大?自己能占多少份額?多長(zhǎng)時(shí)間能實(shí)現(xiàn)?擠進(jìn)成熟的市場(chǎng),雖然風(fēng)險(xiǎn)不高,但油水也不多。如果供大于求。收入穩(wěn)定將要消亡的市場(chǎng)就別進(jìn)去了。如DOS時(shí)代編程現(xiàn)在不可能有人去做了。3.1.3.2 政策政策對(duì)軟件公司的生存與發(fā)展影響非常大。需要考慮:國(guó)家的網(wǎng)絡(luò)法律的發(fā)展、與對(duì)項(xiàng)目的限制,是否有鼓勵(lì)機(jī)制,新的網(wǎng)絡(luò)技術(shù)等先進(jìn)科技的引進(jìn)等 3.1.4 人的因數(shù)技術(shù)人員的水平如何,時(shí)間安排是否可以到位,特殊情況(如病假等)等對(duì)項(xiàng)目開(kāi)發(fā)的進(jìn)度和質(zhì)量的影響。如何合理安排人手,對(duì)各個(gè)計(jì)劃(小功能塊)的開(kāi)發(fā)時(shí)限分析等,對(duì)于項(xiàng)目開(kāi)發(fā)是非常重要的。3.2 需求分析有幾種原因使需求分析變得困難:(1)客戶(hù)說(shuō)不清楚需求;(2)需求自身經(jīng)常變動(dòng);(3)分析人員或客戶(hù)理解有誤。3.2.1 客戶(hù)說(shuō)不清楚需求也可以理解為市場(chǎng)人員和初級(jí)策劃要給出整個(gè)軟件開(kāi)發(fā)的目的,消費(fèi)人群,市場(chǎng)等內(nèi)容。3.2.2 需求自身經(jīng)常變動(dòng)首先先接受“需求會(huì)變動(dòng)”這個(gè)事實(shí),免得在需求變動(dòng)時(shí)驚慌失措。明白“需求會(huì)變動(dòng)”這個(gè)道理后,在進(jìn)行需求分析時(shí)就要留點(diǎn)神:(1)盡可能地分析清楚哪些是穩(wěn)定的需求,哪些是易變的需求。以便在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),將軟件的核心建筑在穩(wěn)定的需求上,否則將會(huì)吃盡苦頭。(2)在文檔中一定要說(shuō)清楚“做什么”和“不做什么”。3.2.3 分析人員或客戶(hù)理解有誤不同的分析人員可能有不同的理解。如果分析人員理解錯(cuò)了,可能會(huì)導(dǎo)致開(kāi)發(fā)人員白干活,吃力不討好。所以在具體的項(xiàng)目開(kāi)發(fā)過(guò)程中,程序員和策劃還有市場(chǎng)要隨時(shí)溝通,不斷交流。3.2.4 業(yè)務(wù)需求業(yè)務(wù)需求說(shuō)明了提供給客戶(hù)和產(chǎn)品開(kāi)發(fā)商的新系統(tǒng)的最初利益。不同產(chǎn)品可能會(huì)有不同的側(cè)重點(diǎn)。本部分描述了你為什么要從事此項(xiàng)項(xiàng)目的開(kāi)發(fā),以及它將給開(kāi)發(fā)者和購(gòu)賣(mài)者帶來(lái)的利益。3.2.4.1 背景在這一部分,總結(jié)新產(chǎn)品的理論基礎(chǔ),并提供關(guān)于產(chǎn)品開(kāi)發(fā)的歷史背景或形勢(shì)的一般性描述。3.2.4.2 業(yè)務(wù)機(jī)遇描述現(xiàn)存的市場(chǎng)機(jī)遇或正在解決的業(yè)務(wù)問(wèn)題。描述商品競(jìng)爭(zhēng)的市場(chǎng)和信息系統(tǒng)將運(yùn)用的環(huán)境。包括對(duì)現(xiàn)存產(chǎn)品的一個(gè)簡(jiǎn)要的相對(duì)評(píng)價(jià)和解決方案,并指出所建議的產(chǎn)品為什么具有吸引力和它們所能帶來(lái)的競(jìng)爭(zhēng)優(yōu)勢(shì)。認(rèn)識(shí)到目前只能使用該產(chǎn)品才能解決的一些問(wèn)題,并描述產(chǎn)品是怎樣順應(yīng)市場(chǎng)趨勢(shì)和戰(zhàn)略目標(biāo)的。3.2.4.3 業(yè)務(wù)目標(biāo)用一個(gè)定量和可測(cè)量的合理方法總結(jié)產(chǎn)品所帶來(lái)的重要商業(yè)利潤(rùn)。關(guān)于給客戶(hù)帶來(lái)的價(jià)值在后面闡述,這里僅把重點(diǎn)放在給業(yè)務(wù)的價(jià)值上。這些目標(biāo)與收入預(yù)算或節(jié)省開(kāi)支有關(guān),并影響到投資分析和最終產(chǎn)品的交付日期。3.2.4.4 客戶(hù)或市場(chǎng)需求描述一些典型客戶(hù)的需求,包括不滿(mǎn)足現(xiàn)在市場(chǎng)上的產(chǎn)品或信息系統(tǒng)的需求。提出客戶(hù)目前所遇到的問(wèn)題在新產(chǎn)品中將可能(或不可能)出現(xiàn)的闡述,提供客戶(hù)怎樣使用產(chǎn)品的例子。確定了產(chǎn)品所能運(yùn)行的軟、硬件平臺(tái)。定義了較高層次的關(guān)鍵接口或性能要求,但避免設(shè)計(jì)或?qū)崿F(xiàn)細(xì)節(jié)。把這些要求寫(xiě)到列表中,可以反過(guò)來(lái)跟蹤調(diào)查特殊用戶(hù)和功能需求。3.2.4.5 提供給客戶(hù)的價(jià)值確定產(chǎn)品給客戶(hù)帶來(lái)的價(jià)值,并指明產(chǎn)品怎樣滿(mǎn)足客戶(hù)的需要??梢杂孟铝醒赞o表達(dá)產(chǎn)品帶給客戶(hù)的價(jià)值:1.提高生產(chǎn)效率,減少返工;2.節(jié)省開(kāi)支;3.業(yè)務(wù)過(guò)程的流水線(xiàn)化;4.先前人工勞動(dòng)的自動(dòng)化;5.符合相關(guān)標(biāo)準(zhǔn)和規(guī)則;6.與目前的應(yīng)用產(chǎn)品相比較,提高了可用性或減少了失效程度。3.2.4.6 業(yè)務(wù)風(fēng)險(xiǎn)總結(jié)開(kāi)發(fā)(或不開(kāi)發(fā))該產(chǎn)品有關(guān)的主要業(yè)務(wù)風(fēng)險(xiǎn),例如市場(chǎng)競(jìng)爭(zhēng)、時(shí)間問(wèn)題、用戶(hù)的接受能力、實(shí)現(xiàn)的問(wèn)題或?qū)I(yè)務(wù)可能帶來(lái)的消極影響。預(yù)測(cè)風(fēng)險(xiǎn)的嚴(yán)重性,指明你所能采取的減輕風(fēng)險(xiǎn)的措施。3.2.4.7 項(xiàng)目視圖文檔中的這一部分為系統(tǒng)建立了一個(gè)長(zhǎng)遠(yuǎn)的項(xiàng)目視圖,它將指明業(yè)務(wù)目標(biāo)。這一項(xiàng)目視圖為在軟件開(kāi)發(fā)生存期中做出決策提供了相關(guān)環(huán)境背景。這部分不包括詳細(xì)的功能需求和項(xiàng)目計(jì)劃信息。3.2.4.7.1 項(xiàng)目視圖陳述編寫(xiě)一個(gè)總結(jié)長(zhǎng)遠(yuǎn)目標(biāo)和有關(guān)開(kāi)發(fā)新產(chǎn)品目的的簡(jiǎn)要項(xiàng)目視圖陳述。項(xiàng)目視圖陳述將考慮權(quán)衡有不同需求客戶(hù)的看法。它可能有點(diǎn)理想化,但必須以現(xiàn)有的或所期待的客戶(hù)市場(chǎng)企業(yè)框架。組織的戰(zhàn)略方向和資源局限性為基礎(chǔ)。3.2.4.7.2 主要特征包括新產(chǎn)品將提供的主要特性和用戶(hù)性能的列表。強(qiáng)調(diào)的是區(qū)別于以往產(chǎn)品和競(jìng)爭(zhēng)產(chǎn)品的特性??梢詮挠脩?hù)需求和功能需求中得到這些特性。包括擁有的功能,用戶(hù)對(duì)象,優(yōu)勢(shì)等內(nèi)容。3.2.4.7.3 假設(shè)和依賴(lài)環(huán)境在構(gòu)思項(xiàng)目和編寫(xiě)項(xiàng)目視圖和范圍文檔時(shí),要記錄所做出的任何假設(shè)。通常一方所持的假設(shè)應(yīng)與另一方不同。如果你把它們都記錄下來(lái),并加以評(píng)論,就能對(duì)項(xiàng)目?jī)?nèi)部隱含的基本假設(shè)達(dá)成共識(shí)。(該產(chǎn)品的市場(chǎng)定位,和依賴(lài)環(huán)境)3.2.4.8 范圍和局限性項(xiàng)目范圍定義了所提出的解決方案和概念和適用領(lǐng)域,而局限性則指出產(chǎn)品所不包括的某些性能。如果一般客戶(hù)所提出的需求超出項(xiàng)目的范圍時(shí)就應(yīng)當(dāng)拒絕它,除非這些需求是很有益的。記錄這些需求以及拒絕它們的原因,以待查。3.2.4.8.1 首次發(fā)行的范圍總結(jié)首次發(fā)行的產(chǎn)品所具有的性能。描述了產(chǎn)品的質(zhì)量特性,這些特性使產(chǎn)品可以為不同的客戶(hù)群提供預(yù)期的成果。應(yīng)當(dāng)避免將想到的每一個(gè)特性都包括到1.0版本產(chǎn)品中去。開(kāi)發(fā)者應(yīng)把重點(diǎn)放在能提供最大價(jià)值、花花費(fèi)最合理的開(kāi)發(fā)費(fèi)用及普及率最高的產(chǎn)品上。3.2.4.8.2 隨后發(fā)行的范圍如果你想象一個(gè)周期性的產(chǎn)品演變過(guò)程,就要指明哪一個(gè)主要特性的開(kāi)發(fā)將被延期,并期待隨后版本發(fā)行的日期。3.2.4.8.3 局限性和專(zhuān)用性明確定義包括和不包括的特性和功能的界線(xiàn)是處理范圍設(shè)定和客戶(hù)期望的一個(gè)途徑。列出風(fēng)險(xiǎn)承擔(dān)者們期望的而你卻不打算把它包括到產(chǎn)品中的特性和功能。3.2.4.9 業(yè)務(wù)環(huán)境這一部分總結(jié)了一些項(xiàng)目的業(yè)務(wù)問(wèn)題。3.2.4.10 客戶(hù)概貌客戶(hù)概述明確了這一產(chǎn)品的不同類(lèi)型客戶(hù)的一些本質(zhì)特點(diǎn),以及目標(biāo)市場(chǎng)部門(mén)和在這些部門(mén)中的不同客戶(hù)的特征。對(duì)于每一種客戶(hù)類(lèi)型,概述要包括: 各種客戶(hù)類(lèi)型將從產(chǎn)品中獲得的主要益處; 它們對(duì)產(chǎn)品所持的態(tài)度; 感興趣的關(guān)鍵產(chǎn)品的特性; 哪一類(lèi)型客戶(hù)能成功使用; 必須適應(yīng)任何客戶(hù)的限制。3.2.4.11 項(xiàng)目的優(yōu)先級(jí)一旦明確建立項(xiàng)目的優(yōu)先級(jí),風(fēng)險(xiǎn)承擔(dān)者和項(xiàng)目的參與者就能把精力集中在一系列共同的目標(biāo)上。達(dá)到這一目的的一個(gè)途徑是考慮軟件項(xiàng)目的五個(gè)方面:性能、質(zhì)量、計(jì)劃、成本和人員。3.2.4.12 產(chǎn)品成功的因素明確產(chǎn)品的成功是如何定義和測(cè)量的,并指明對(duì)產(chǎn)品的成功有巨大影響的幾個(gè)因素。不僅要包括組織直接控制的范圍內(nèi)的事務(wù),還要包括我部素。如果可能,可建立測(cè)量的標(biāo)準(zhǔn),用于評(píng)價(jià)是否達(dá)到業(yè)務(wù)目標(biāo),如:市場(chǎng)股票、銷(xiāo)售量及收入、客戶(hù)滿(mǎn)意度、交易處理量和準(zhǔn)確度。4 系統(tǒng)設(shè)計(jì)(策劃與程序員完成)系統(tǒng)設(shè)計(jì)是新系統(tǒng)的物理設(shè)計(jì)階段。根據(jù)系統(tǒng)分析階段所確定的新系統(tǒng)的邏輯模型、功能要求,在用戶(hù)提供的環(huán)境條件下,設(shè)計(jì)出一個(gè)能在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境上實(shí)施的方案,即建立新系統(tǒng)的物理模型。這個(gè)階段的任務(wù)是設(shè)計(jì)軟件系統(tǒng)的模塊層次結(jié)構(gòu),設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)以及設(shè)計(jì)模塊的控制流程,其目的是明確軟件系統(tǒng)如何做。這個(gè)階段又分兩個(gè)步驟:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)解決軟件系統(tǒng)的模塊劃分和模塊的層次機(jī)構(gòu)以及數(shù)據(jù)庫(kù)設(shè)計(jì);詳細(xì)設(shè)計(jì)解決每個(gè)模塊的控制流程,內(nèi)部算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。這個(gè)階段結(jié)束,要交付概要設(shè)計(jì)說(shuō)明書(shū)和設(shè)計(jì)說(shuō)明,也可以合并在一起,稱(chēng)為設(shè)計(jì)說(shuō)明書(shū)。4.1 架構(gòu)設(shè)計(jì)架構(gòu)設(shè)計(jì)也被認(rèn)為是體系結(jié)構(gòu)設(shè)計(jì),重點(diǎn)在于將系統(tǒng)分層并產(chǎn)生層次內(nèi)的模塊、闡明模塊之間的關(guān)系。主要工作是根據(jù)架構(gòu)分析和設(shè)計(jì)思想產(chǎn)生系統(tǒng)的架構(gòu)圖,并對(duì)架構(gòu)圖進(jìn)行描述,說(shuō)明分層的原因、層次的職責(zé),并根據(jù)架構(gòu)圖繪制系統(tǒng)的物理部署圖,描述系統(tǒng)的部署體系。根據(jù)架構(gòu)圖進(jìn)行模塊的劃分并闡明模塊劃分的理由,繪制模塊物理圖以及模塊依賴(lài)圖。體系結(jié)構(gòu)是軟件系統(tǒng)中最本質(zhì)的東西:(1)體系結(jié)構(gòu)是對(duì)復(fù)雜事物的一種抽象。良好的體系結(jié)構(gòu)是普遍適用的,它可以高效地處理多種多樣的個(gè)體需求。(2)體系結(jié)構(gòu)在一定的時(shí)間內(nèi)保持穩(wěn)定。只有在穩(wěn)定的環(huán)境下,人們才能干點(diǎn)事情,社會(huì)才能發(fā)展。如果當(dāng)需求發(fā)生變化時(shí),程序員不得不去修改軟件的體系結(jié)構(gòu),那么這個(gè)軟件的系統(tǒng)設(shè)計(jì)是失敗的。良好的體系結(jié)構(gòu)意味著普適、高效和穩(wěn)定。4.2 概要設(shè)計(jì)概要設(shè)計(jì)的主要任務(wù)是把需求分析得到的數(shù)據(jù)流圖(DFD)轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計(jì)軟件結(jié)構(gòu)的具體任務(wù)是:將一個(gè)復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫(kù)的設(shè)計(jì)。顯然,總體設(shè)計(jì)建立的是目標(biāo)系統(tǒng)的邏輯模型,與計(jì)算機(jī)無(wú)關(guān)。概要設(shè)計(jì)重點(diǎn)在于將模塊分解為對(duì)象并闡明對(duì)象之間的關(guān)系,引用架構(gòu)設(shè)計(jì)說(shuō)明書(shū)中的模塊圖,并闡述對(duì)于模塊進(jìn)行設(shè)計(jì)的大致思路。主要工作是根據(jù)該模塊的職責(zé)對(duì)模塊進(jìn)行概要設(shè)計(jì)(分解模塊為對(duì)象、描述對(duì)象的職責(zé)以及聲明對(duì)象之間的接口),繪制模塊的對(duì)象圖、對(duì)象間的依賴(lài)圖以及模塊主要功能的序列圖,分別加以描述并相應(yīng)的描述模塊異常的處理方法。如果需要并描述數(shù)據(jù)視圖。 在需求明確、準(zhǔn)備開(kāi)始編碼之前,要做概要設(shè)計(jì),而詳細(xì)設(shè)計(jì)可能大部分公司沒(méi)有做,有做的也大部分是和編碼同步進(jìn)行,或者在編碼之后。因此,對(duì)大部分的公司來(lái)說(shuō),概要設(shè)計(jì)文檔是唯一的設(shè)計(jì)文檔,對(duì)后面的開(kāi)發(fā)、測(cè)試、實(shí)施、維護(hù)工作起到關(guān)鍵性的影響。4.2.1 概要設(shè)計(jì)的任務(wù) 制定規(guī)范:代碼體系、接口規(guī)約、命名規(guī)則。這是項(xiàng)目小組今后共同作戰(zhàn)的基礎(chǔ),有了開(kāi)發(fā)規(guī)范和程序模塊之間和項(xiàng)目成員彼此之間的接口規(guī)則、方式方法,大家就有了共同的工作語(yǔ)言、共同的工作平臺(tái),使整個(gè)軟件開(kāi)發(fā)工作可以協(xié)調(diào)有序地進(jìn)行。 總體結(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ì):滿(mǎn)足功能和性能的算法 用戶(hù)界面設(shè)計(jì); 數(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ī)則 其他性能設(shè)計(jì)。 4.2.2 概要設(shè)計(jì)寫(xiě)什么 結(jié)構(gòu)化軟件設(shè)計(jì)說(shuō)明書(shū)結(jié)構(gòu)任務(wù):目標(biāo)、環(huán)境、需求、局限; 總體設(shè)計(jì):處理流程、總體結(jié)構(gòu)與模塊、功能與模塊的關(guān)系; 接口設(shè)計(jì):總體說(shuō)明外部用戶(hù)、軟、硬件接口;內(nèi)部模塊間接口(注:接口系統(tǒng)界面) 數(shù)據(jù)結(jié)構(gòu):邏輯結(jié)構(gòu)、物理結(jié)構(gòu),與程序結(jié)構(gòu)的關(guān)系; 模塊設(shè)計(jì):每個(gè)模塊“做什么”、簡(jiǎn)要說(shuō)明“怎么做”(輸入、輸出、處理邏輯、與其它模塊的接口,與其它系統(tǒng)或硬件的接口),處在什么邏輯位置、物理位置; 運(yùn)行設(shè)計(jì):運(yùn)行模塊組合、控制、時(shí)間; 出錯(cuò)設(shè)計(jì):出錯(cuò)信息、處錯(cuò)處理; 其他設(shè)計(jì):保密、維護(hù);4.2.3 概要設(shè)計(jì)的模板1引言 1.1編寫(xiě)目的 說(shuō)明編寫(xiě)這份概要設(shè)計(jì)說(shuō)明書(shū)的目的,指出預(yù)期的讀者。 1.2背景 說(shuō)明: a. 待開(kāi)發(fā)軟件系統(tǒng)的名稱(chēng); b. 列出此項(xiàng)目的任務(wù)提出者、開(kāi)發(fā)者、用戶(hù)以及將運(yùn)行該軟件的計(jì)算站(中心)。 1.3定義 列出本文件中用到的專(zhuān)門(mén)術(shù)語(yǔ)的定義和外文首字母組詞的原詞組。 1.4參考資料 列出有關(guān)的參考文件,如: a. 本項(xiàng)目的經(jīng)核準(zhǔn)的計(jì)劃任務(wù)書(shū)或合同,上級(jí)機(jī)關(guān)的批文; b. 屬于本項(xiàng)目的其他已發(fā)表文件; c. 本文件中各處引用的文件、資料,包括所要用到的軟件開(kāi)發(fā)標(biāo)準(zhǔn)。列出這些文件的標(biāo)題、文件編號(hào)、發(fā)表日期和出版單位,說(shuō)明能夠得到這些文件資料的來(lái)源。 (序號(hào) 資料名 文件編號(hào) 發(fā)表日期 出版單位 )2總體設(shè)計(jì) 2.1需求規(guī)定 說(shuō)明對(duì)本系統(tǒng)的主要的輸入輸出項(xiàng)目、處理的功能性能要求(可以參考需求說(shuō)明書(shū)) 2.1.1功能描述 2.1.2性能要求 2.2運(yùn)行環(huán)境 簡(jiǎn)要地說(shuō)明對(duì)本系統(tǒng)的運(yùn)行環(huán)境(包括硬件環(huán)境和支持環(huán)境)的規(guī)定(可以參考需求說(shuō)明書(shū)) 2.3基本設(shè)計(jì)概念和處理流程 說(shuō)明本系統(tǒng)的基本設(shè)計(jì)概念和處理流程,盡量使用圖表的形式。注:可以使用word繪制流程圖(示意圖),也可以使用專(zhuān)業(yè)的MS Visio或者Rational Rose繪制 2.4結(jié)構(gòu) 用一覽表及框圖或者樹(shù)狀圖的形式說(shuō)明本系統(tǒng)的系統(tǒng)元素(各層模塊、子程序、公用程序等)的劃分,扼要說(shuō)明每個(gè)系統(tǒng)元素的標(biāo)識(shí)符和功能,分層次地給出各元素之間的控制與被控制關(guān)系。2.5功能需求與程序的關(guān)系 本條用一張如下的矩陣圖說(shuō)明各項(xiàng)功能需求的實(shí)現(xiàn)是處于哪個(gè)模塊中的: 模塊1模塊2模塊n 功能需求1功能需求2 功能需求n如: 模塊1模塊2模塊n 用戶(hù)名、密碼驗(yàn)證修改用戶(hù)個(gè)人信息2.6人工處理過(guò)程 說(shuō)明在本軟件系統(tǒng)的工作過(guò)程中不得不包含的人工處理過(guò)程(如果有的話(huà))。 2.7尚未問(wèn)決的問(wèn)題 說(shuō)明在概要設(shè)計(jì)過(guò)程中尚未解決、而設(shè)計(jì)者認(rèn)為在系統(tǒng)完成之前必須解決的各個(gè)問(wèn)題。 3接口設(shè)計(jì) 3.1用戶(hù)接口 說(shuō)明將向用戶(hù)提供的命令和它們的語(yǔ)法結(jié)構(gòu),以及軟件的回答信息。3.2外部接口(硬件接口) 說(shuō)明本系統(tǒng)同外界的所有接口的安排,包括軟件與硬件之間的接口、本系統(tǒng)與各支持軟件之間的接口關(guān)系,比如需要從外界系統(tǒng)接收哪些數(shù)據(jù),或者需要輸出哪些數(shù)據(jù)給外部系統(tǒng)等 3.3內(nèi)部接口(軟件接口) 說(shuō)明本系統(tǒng)之內(nèi)的各個(gè)系統(tǒng)元素之間的接口的安排(可暫時(shí)先省去) 4運(yùn)行設(shè)計(jì) 4.1運(yùn)行模塊組合 說(shuō)明對(duì)系統(tǒng)施加不同的外界運(yùn)行控制時(shí)所引起的各種不同的運(yùn)行模塊組合,說(shuō)明每種運(yùn)行所歷經(jīng)的內(nèi)部模塊和支持軟件。 模塊集合 運(yùn)行條件 支持軟件 4.2運(yùn)行控制 說(shuō)明每一種外界的運(yùn)行控制的方式方法和操作步驟。 運(yùn)行名稱(chēng) 控制方法 操作步驟 4.3運(yùn)行時(shí)間 說(shuō)明每種運(yùn)行模塊組合將占用各種資源的時(shí)間。 運(yùn)行名稱(chēng) 所占資源 時(shí)間 5系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 5.1邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn) 給出本系統(tǒng)內(nèi)所使用的每個(gè)數(shù)據(jù)結(jié)構(gòu)的名稱(chēng)、標(biāo)識(shí)符以及它們之中每個(gè)數(shù)據(jù)項(xiàng)、記錄、文卷和系的標(biāo)識(shí)、定義、長(zhǎng)度及它們之間的層次的或表格的相互關(guān)系。 5.2物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn) 給出本系統(tǒng)內(nèi)所使用的每個(gè)數(shù)據(jù)結(jié)構(gòu)中的每個(gè)數(shù)據(jù)項(xiàng)的存儲(chǔ)要求,訪問(wèn)方法、存取單位、存取的物理關(guān)系(索引、設(shè)備、存儲(chǔ)區(qū)域)、設(shè)計(jì)考慮和保密條件。 補(bǔ)充說(shuō)明:5.1和5.2可以合并為列出數(shù)據(jù)庫(kù)中的所有表的設(shè)計(jì)結(jié)構(gòu)5.3數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系 說(shuō)明各個(gè)數(shù)據(jù)結(jié)構(gòu)(表)與訪問(wèn)這些數(shù)據(jù)結(jié)構(gòu)的模塊的關(guān)系: 模塊1模塊2模塊n 數(shù)據(jù)庫(kù)表1數(shù)據(jù)庫(kù)表2 數(shù)據(jù)庫(kù)表n6系統(tǒng)出錯(cuò)處理設(shè)計(jì) 6.1出錯(cuò)信息 用一覽表的方式說(shuō)明每種可能的出錯(cuò)或故障情況出現(xiàn)時(shí),系統(tǒng)輸出信息的形式、含意及處理方法。 出錯(cuò)情況 提示信息 發(fā)生條件 解決辦法 6.2補(bǔ)救措施 說(shuō)明故障出現(xiàn)后可能采取的變通措施,可能包括: a. 后備技術(shù)說(shuō)明準(zhǔn)備采用的后備技術(shù),當(dāng)原始系統(tǒng)數(shù)據(jù)萬(wàn)一丟失時(shí)啟用的副本的建立和啟動(dòng)的技術(shù),例如周期性地把磁盤(pán)信息記錄到磁帶上去就是對(duì)于磁盤(pán)媒體的一種后備技術(shù); b. 降效技術(shù)說(shuō)明準(zhǔn)備采用的后備技術(shù),使用另一個(gè)效率稍低的系統(tǒng)或方法來(lái)求得所需結(jié)果的某些部分,例如一個(gè)自動(dòng)系統(tǒng)的降效技術(shù)可以是手工操作和數(shù)據(jù)的人工記錄; c. 恢復(fù)及再啟動(dòng)技術(shù)說(shuō)明將使用的恢復(fù)再啟動(dòng)技術(shù),使軟件從故障點(diǎn)恢復(fù)執(zhí)行或使軟件從頭開(kāi)始重新運(yùn)行的方法。 6.3系統(tǒng)維護(hù)設(shè)計(jì) 說(shuō)明為了系統(tǒng)維護(hù)的方便而在程序內(nèi)部設(shè)計(jì)中做出的安排,包括在程序中專(zhuān)門(mén)安排用于系統(tǒng)的檢查與維護(hù)的檢測(cè)點(diǎn)和專(zhuān)用模塊。 各個(gè)程序之間的對(duì)應(yīng)關(guān)系4.3 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)重點(diǎn)在于對(duì)每個(gè)模塊進(jìn)行實(shí)現(xiàn),將模塊的對(duì)象分解為屬性和方法,并闡述如何實(shí)現(xiàn)。主要工作視根據(jù)模塊概要設(shè)計(jì)詳細(xì)描述對(duì)于模塊內(nèi)對(duì)象的實(shí)現(xiàn),包括對(duì)象的職責(zé)、屬性、方法、對(duì)象內(nèi)功能的流程圖、對(duì)象關(guān)聯(lián)的類(lèi)、對(duì)象的異常。(需要繪制的主要為類(lèi)圖) 詳細(xì)設(shè)計(jì)的目標(biāo)有兩個(gè):實(shí)現(xiàn)模塊功能的算法要邏輯上正確和算法描述要簡(jiǎn)明易懂。主要任務(wù):1為每個(gè)模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過(guò)程,寫(xiě)出模塊的詳細(xì)過(guò)程性描述;2確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);3確定模塊接口的細(xì)節(jié),包括對(duì)系統(tǒng)外部的接口和用戶(hù)界面,對(duì)系統(tǒng)內(nèi)部其它模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。在詳細(xì)設(shè)計(jì)結(jié)束時(shí),應(yīng)該把上述結(jié)果寫(xiě)入詳細(xì)設(shè)計(jì)說(shuō)明書(shū),并且通過(guò)復(fù)審形成正式文檔。交付給下一階段(編碼階段)的工作依據(jù)。4要為每一個(gè)模塊設(shè)計(jì)出一組測(cè)試用例,以便在編碼階段對(duì)模塊代碼(即程序)進(jìn)行預(yù)定的測(cè)試,模塊的測(cè)試用例是軟件測(cè)試計(jì)劃的重要組成部分,通常應(yīng)包括輸入數(shù)據(jù),期望輸出等內(nèi)容。5 編碼(主要為程序員完成)對(duì)具體軟件的編寫(xiě)與實(shí)現(xiàn)。軟件編碼是將上一階段的詳細(xì)設(shè)計(jì)得到的處理過(guò)程的描述轉(zhuǎn)換為基于某種計(jì)算機(jī)語(yǔ)言的程序,即源程序代碼。需注意根據(jù)項(xiàng)目的應(yīng)用領(lǐng)域選擇適當(dāng)?shù)木幊陶Z(yǔ)言、編程的軟硬件環(huán)境以及編碼的程序設(shè)計(jì)風(fēng)格等事項(xiàng)6 測(cè)試(主要為程序員完成)“白盒測(cè)試”是指開(kāi)發(fā)人員從程序內(nèi)部對(duì)上述內(nèi)容進(jìn)行測(cè)試,而“黑盒測(cè)試”是指獨(dú)立的測(cè)試人員從程序外部對(duì)上述內(nèi)容進(jìn)行測(cè)試。6.1 單元測(cè)試對(duì)單個(gè)模塊進(jìn)行測(cè)試單元測(cè)試是在軟件開(kāi)發(fā)過(guò)程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng),在單元測(cè)試活動(dòng)中,軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試。6.2 集成測(cè)試對(duì)整
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 開(kāi)拓職場(chǎng)教育新局面基于虛擬現(xiàn)實(shí)的干細(xì)胞培訓(xùn)探索
- 商業(yè)培訓(xùn)中游戲化教學(xué)的成功案例分析
- 心理學(xué)在教師激勵(lì)與管理的應(yīng)用
- 抖音商戶(hù)策劃專(zhuān)員熱點(diǎn)跟蹤機(jī)制制度
- 2025屆錦州市重點(diǎn)中學(xué)九年級(jí)化學(xué)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 成都東軟學(xué)院《構(gòu)成基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024-2025學(xué)年四川省成都市錦江區(qū)七中學(xué)育才學(xué)校七年級(jí)數(shù)學(xué)第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)模擬試題含解析
- 北京師范大學(xué)《園林寫(xiě)景詩(shī)文鑒賞》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇省鹽城市東臺(tái)市第一教研片2024-2025學(xué)年化學(xué)九上期末學(xué)業(yè)水平測(cè)試模擬試題含解析
- 教育培訓(xùn)行業(yè)的興起與發(fā)展趨勢(shì)研究
- 管道非開(kāi)挖修復(fù)方案
- 四升五數(shù)學(xué)入學(xué)摸底考試
- 外研版(三起)英語(yǔ)三年級(jí)上冊(cè)全冊(cè)課件
- 江蘇省射陽(yáng)中等專(zhuān)業(yè)學(xué)校教師招聘考試真題2022
- 熔鑄作業(yè)指導(dǎo)書(shū)
- 2022年全球及射頻微波儀器行業(yè)發(fā)展現(xiàn)狀分析
- 經(jīng)皮胃鏡下胃造瘺空腸管置入術(shù)
- 暑期托管服務(wù)考核表
- 車(chē)站旅客地道施工方案
- 分子生物學(xué)期末考試題目及答案
- 鄉(xiāng)烤煙生產(chǎn)工作總結(jié)及工作打算
評(píng)論
0/150
提交評(píng)論