版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章軟件工程問(wèn)題引出人們把程序設(shè)計(jì)過(guò)程中遇到的困境稱為“軟件危機(jī)”.那么,如何走出這種困境,即如何運(yùn)用現(xiàn)代軟件工程技術(shù)手段和方法開(kāi)發(fā)出快速、高效、可靠和可維護(hù)的軟件?這就是本章所要討論的問(wèn)題。軟件危機(jī)和軟件工程概念、軟件工程目標(biāo)、軟件工程原則、軟件過(guò)程模型、軟件生存周期和軟件質(zhì)量評(píng)價(jià)。教學(xué)重點(diǎn)教學(xué)要求了解:軟件危機(jī)和軟件工程概念;熟悉:
軟件工程目標(biāo)、軟件工程原則、軟件過(guò)程模型;掌握:軟件開(kāi)發(fā)的基本方法和軟件質(zhì)量評(píng)價(jià)方法?!?.1軟件工程概述§6.4軟件質(zhì)量評(píng)價(jià)§6.3如阿健工程實(shí)施§6.2軟件過(guò)程本章教學(xué)內(nèi)容計(jì)算機(jī)軟件工程§6.1軟件工程概述
軟件工程是研究大規(guī)模程序設(shè)計(jì)的方法、工具和管理的一門(mén)工程科學(xué),它應(yīng)用計(jì)算機(jī)科學(xué)以及數(shù)學(xué)等原理,以工程化的原則和方法來(lái)指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程。具體說(shuō),是用管理學(xué)的原理、方法來(lái)進(jìn)行軟件生產(chǎn)管理;用工程學(xué)的觀點(diǎn)來(lái)進(jìn)行費(fèi)用估算、制定進(jìn)度和實(shí)施方案;用數(shù)學(xué)方法來(lái)建立軟件可靠性模型以及分析各種算法和性質(zhì),其目標(biāo)是提高軟件生產(chǎn)率和軟件質(zhì)量,降低軟件成本。軟件工程是在20世紀(jì)60年代末為了克服“軟件危機(jī)”,在這一領(lǐng)域做了大量工作,逐漸形成了系統(tǒng)的軟件開(kāi)發(fā)理論、技術(shù)和方法。軟件工程的發(fā)展大體經(jīng)歷了3個(gè)時(shí)代:程序設(shè)計(jì)時(shí)代、軟件時(shí)代、軟件工程時(shí)代。軟件工程經(jīng)過(guò)40多年的研究與發(fā)展,正逐步走向成熟。6.1.1軟件危機(jī)
“軟件危機(jī)”(SoftwareCrisis)一詞是1968年北大西洋公約組織的計(jì)算機(jī)科學(xué)家在聯(lián)邦德國(guó)召開(kāi)的國(guó)際學(xué)術(shù)會(huì)議上第一次提出了來(lái)的,是指軟件開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題。
1、產(chǎn)生軟件危機(jī)的原因早期的軟件開(kāi)發(fā)依賴于開(kāi)發(fā)人員的素質(zhì)和個(gè)人技能,沒(méi)有可遵循的原理、原則和方法,缺乏有效的管理。開(kāi)發(fā)出來(lái)的軟件,在質(zhì)量、可靠性、可維護(hù)性等方面較差。2、軟件危機(jī)的表現(xiàn)軟件危機(jī)主要包括兩個(gè)方面:一是如何開(kāi)發(fā)軟件,以滿足不斷增長(zhǎng),日趨復(fù)雜的需求;二是如何維護(hù)數(shù)量不斷膨脹的軟件產(chǎn)品,主要表現(xiàn)為:6.1.1軟件危機(jī)①不能正確地估計(jì)軟件開(kāi)發(fā)成本和進(jìn)度,致使實(shí)際開(kāi)發(fā)成本往往高出預(yù)算很多。
②軟件產(chǎn)品不可靠,軟件質(zhì)量差,滿足不了用戶的需求,甚至無(wú)法使用,維護(hù)困難。③交付使用的軟件不易演化,很少能夠重用,以致于不得不重復(fù)開(kāi)發(fā)類似的軟件。④軟件生產(chǎn)率低下,遠(yuǎn)遠(yuǎn)滿足不了社會(huì)發(fā)展的需求。⑤軟件缺乏適當(dāng)?shù)奈臋n資料。
軟件工程的原則軟件開(kāi)發(fā)目標(biāo)適用于所有的軟件系統(tǒng)開(kāi)發(fā)。6.1.2軟件工程概念
1、軟件工程的定義
弗里茲?鮑爾(FritzBauer)曾經(jīng)為軟件工程下了定義:“軟件工程是為了經(jīng)濟(jì)地獲得能夠在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件而建立和使用的一系列完善的工程化原則”。
2、軟件工程要素
(1)軟件工程方法:包括項(xiàng)目計(jì)劃、系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、總體結(jié)構(gòu)設(shè)計(jì)、算法設(shè)計(jì)、編碼、測(cè)試以及維護(hù)等。
(2)軟件工程工具:為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。計(jì)算機(jī)輔助軟件工程將各種軟件工具、開(kāi)發(fā)機(jī)器和一個(gè)存放開(kāi)發(fā)過(guò)程信息的工程數(shù)據(jù)庫(kù)組合起來(lái)形成千個(gè)軟件開(kāi)發(fā)支撐系統(tǒng),即軟件工程環(huán)境。
(3)軟件工程過(guò)程:是將軟件工程的方法和工具綜合起來(lái)以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開(kāi)發(fā)的目的。6.1.3軟件工程目標(biāo)
1可靠性:指能夠防止因概念、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善造成的軟件系統(tǒng)失效,具有挽回系統(tǒng)失效的能力。2可修改性:指允許對(duì)系統(tǒng)進(jìn)行修改而不增加原系統(tǒng)的復(fù)雜性,是一個(gè)難以度量和難以達(dá)到的目標(biāo)。3有效性:指軟件系統(tǒng)能最有效地利用計(jì)算機(jī)的時(shí)間資源和空間資源,是衡量軟件質(zhì)量的一項(xiàng)重要技術(shù)指標(biāo)。4可理解性:指系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映問(wèn)題的需求。它有助于控制軟件系統(tǒng)的復(fù)雜性,支持軟件維護(hù)…5可維護(hù)性:指軟件產(chǎn)品交付使用后能夠?qū)λM(jìn)行修改,以便改正潛伏的錯(cuò)誤,改進(jìn)性能和其它屬性。6.1.3軟件工程目標(biāo)
6可移植性:指軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境搬到另一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境的難易程度。7可重用性:指概念或功能相對(duì)獨(dú)立的一個(gè)或一組相關(guān)模塊定義為一個(gè)軟部件。8可適應(yīng)性:指軟件在不同的系統(tǒng)約束條件下,使用戶需求得到滿足的難易程度。9可追蹤性:指根據(jù)軟件需求對(duì)軟件設(shè)計(jì)進(jìn)行正向追蹤,或根據(jù)程序、軟件設(shè)計(jì)對(duì)軟件需求進(jìn)行逆向追蹤的能力。10可互操作性:指多個(gè)軟件元素相互通信并協(xié)同完成任務(wù)的能力。軟件工程是研究軟件結(jié)構(gòu)、軟件設(shè)計(jì)與維護(hù)方法、軟件工具與環(huán)境、軟件工程標(biāo)準(zhǔn)與規(guī)范、軟件開(kāi)發(fā)與管理技術(shù)的相關(guān)理論。軟件工程的最終目標(biāo)是以較少投資獲得易于維護(hù)、高可靠性、高性能、按時(shí)交付的軟件產(chǎn)品。軟件工程目標(biāo)之間的關(guān)系如圖6-1所示。圖6-1
軟件工程目標(biāo)之間的關(guān)系互斥關(guān)系按時(shí)交付易于維護(hù)低開(kāi)發(fā)成本高性能高可靠性互補(bǔ)關(guān)系6.1.3軟件工程目標(biāo)6.1.4軟件工程原則
1、選取合適的開(kāi)發(fā)模型在系統(tǒng)設(shè)計(jì)中,軟件的需求、硬件需求以及其它因素之間是相互制約和影響的,需要權(quán)衡。
2、選取合適的設(shè)計(jì)方法在軟件設(shè)計(jì)中,通常要考慮軟件的特征,合適的設(shè)計(jì)方法有利于特征的實(shí)現(xiàn),以達(dá)到軟件工程的目標(biāo)。
(1)抽象(Abstraction):指抽取事物最基本的特性和行為,忽略非基本的細(xì)節(jié)。
(2)信息隱藏(Informationhiding):指將模塊中的軟件設(shè)計(jì)決策封裝起來(lái)的技術(shù)。由于對(duì)象或操作的實(shí)現(xiàn)細(xì)節(jié)被隱藏,軟件開(kāi)發(fā)人員便能將注意力集中于更高層次的抽象上。
6.1.4軟件工程原則
(3)模塊化(Modularity):模塊是程序中邏輯上相對(duì)獨(dú)立的成分,是一個(gè)獨(dú)立的編程單位,應(yīng)有良好的接口定義。
(4)局部化(Localization):指要求在一個(gè)物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算資源。從物理和邏輯兩個(gè)方面保證系統(tǒng)中模塊之間具有松散的耦合關(guān)系,而在模塊內(nèi)部有較強(qiáng)的內(nèi)聚性,這樣有助于控制解的復(fù)雜性。
(5)確定性(Accuracy):指軟件開(kāi)發(fā)過(guò)程中所有概念的表達(dá)應(yīng)該是確定的、無(wú)歧義、規(guī)范的。
(6)一致性(Consistency):整個(gè)軟件系統(tǒng)的各個(gè)模塊均應(yīng)使用一致的概念、符號(hào)和術(shù)語(yǔ);程序內(nèi)部接口應(yīng)保持一致;軟件與硬件接口應(yīng)保持一致;系統(tǒng)規(guī)格說(shuō)明與系統(tǒng)行為應(yīng)保持一致;用于形式化規(guī)格說(shuō)明的公理系統(tǒng)應(yīng)保持一致,等等。
6.1.4軟件工程原則
(7)完備性(Completeness):軟件系統(tǒng)不丟失任何重要成分,完全實(shí)現(xiàn)系統(tǒng)所需功能的程度在形式化開(kāi)發(fā)方法中,按照給出的公理系統(tǒng),描述系統(tǒng)行為的充分性;當(dāng)系統(tǒng)處于出錯(cuò)或非預(yù)期狀態(tài)時(shí),系統(tǒng)行為保持正常的能力。
(8)可驗(yàn)證性(Verifiability):開(kāi)發(fā)大型軟件系統(tǒng)需要對(duì)系統(tǒng)逐步分解。系統(tǒng)分解應(yīng)該遵循系統(tǒng)容易檢查、測(cè)試、評(píng)審的原則,以便保證系統(tǒng)的正確性。
3、提供高質(zhì)量的工程支撐軟件工程項(xiàng)目的質(zhì)量與開(kāi)銷直接取決于對(duì)軟件工程所提供的支撐質(zhì)量和效用。
4、重視軟件工程的管理軟件工程的管理直接影響可用資源的有效利用、生產(chǎn)滿足目標(biāo)的軟件產(chǎn)品以及提高軟件組織的生產(chǎn)能力等。
軟件過(guò)程(SoftwareProcesses)的概念在20世紀(jì)80年代被正式提出和明確定義,ISO9000將其過(guò)程定義為:“把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)”。進(jìn)入90年代,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電氣與電子工程師學(xué)會(huì)(IEEE)分別推出《軟件過(guò)程標(biāo)準(zhǔn)》,我們可將其描述為:軟件過(guò)程是一個(gè)為建造高質(zhì)量軟件所需完成任務(wù)的框架,即形成軟件產(chǎn)品的一系列步驟,包括中間產(chǎn)品、資源、角色及過(guò)程中采取的方法、工具等范疇。軟件過(guò)程規(guī)定了開(kāi)發(fā)和維護(hù)一個(gè)軟件時(shí),要實(shí)施的基本過(guò)程、活動(dòng)和任務(wù),其目的是為各種人員提供一個(gè)公共的框架,以便用相同的語(yǔ)言進(jìn)行交流,用相似的方法進(jìn)行實(shí)施。這個(gè)相似的方法就是軟件生存周期、軟件開(kāi)發(fā)模型和軟件開(kāi)發(fā)方法?!?.2軟件工程過(guò)程6.2.1軟件生存周期軟件生存周期是軟件工程中的一個(gè)基礎(chǔ)概念,指軟件產(chǎn)品從提出開(kāi)發(fā)要求、功能確定、設(shè)計(jì)再到開(kāi)發(fā)成功投入使用,并在使用中不斷地修改、增補(bǔ)和完善,直至被新的需要所替代而停止該軟件的使用過(guò)程。軟件開(kāi)發(fā)過(guò)程如圖6-2所示。軟件開(kāi)發(fā)階段過(guò)時(shí)嗎?軟件運(yùn)行階段軟件維護(hù)階段停止(廢棄)軟件規(guī)劃階段開(kāi)始
6.2.1軟件生存周期軟件生存周期的劃分使得軟件開(kāi)發(fā)變得“有章可循”,即前一階段任務(wù)的完成是后一階段的前提和基礎(chǔ);后一階段通常是將前一階段方案的進(jìn)一步具體化,而且每一階段的開(kāi)始都有嚴(yán)格的技術(shù)標(biāo)準(zhǔn),每一個(gè)階段結(jié)束之前都要接受嚴(yán)格的技術(shù)評(píng)審。軟件生存周期各階段的任務(wù)和文檔要求如表6-1所示。階段/項(xiàng)目任務(wù)文檔軟件規(guī)劃階段問(wèn)題定義確定問(wèn)題的性質(zhì)、工程目標(biāo)以及規(guī)模作為項(xiàng)目計(jì)劃書(shū)中的一項(xiàng)項(xiàng)目計(jì)劃進(jìn)行可行性分析,安排資源分配、進(jìn)度可行性分析、項(xiàng)目計(jì)劃書(shū)需求分析確定軟件的功能、性能、數(shù)據(jù)、界面等需求規(guī)格說(shuō)明書(shū)軟件開(kāi)發(fā)階段系統(tǒng)設(shè)計(jì)把需求轉(zhuǎn)變?yōu)榉铣杀竞唾|(zhì)量要求方案設(shè)計(jì)說(shuō)明書(shū)和數(shù)據(jù)說(shuō)明書(shū)軟件編碼用程序語(yǔ)言將軟件設(shè)計(jì)轉(zhuǎn)變?yōu)楣δ艹绦蚓幋a規(guī)范的源程序清單軟件測(cè)試發(fā)現(xiàn)軟件中的錯(cuò)誤并加以糾正軟件測(cè)試計(jì)劃和測(cè)試報(bào)告維護(hù)退役軟件維護(hù)為改正錯(cuò)誤或滿足需要而修改和完善記錄軟件維護(hù)過(guò)程軟件退役終止對(duì)軟件產(chǎn)品的支持,軟件停止使用記錄軟件退役原因、日期6.2.2軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)模型是從一個(gè)特定角度提出的軟件過(guò)程的簡(jiǎn)化描述,是一種開(kāi)發(fā)策略,這種策略針對(duì)軟件工程的各個(gè)階段提供了一套范型,使工程的進(jìn)展達(dá)到預(yù)期的目的。因此,可定義“軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。自20世紀(jì)60年代以來(lái),隨著軟件工程思想逐漸形成與發(fā)展,出現(xiàn)了很多軟件過(guò)程模型與方法,例如瀑布模型、增量模型和螺旋模型等,稱它們?yōu)閭鹘y(tǒng)軟件過(guò)程模型。這些模型的提出不斷豐富著軟件過(guò)程理論,也為開(kāi)發(fā)者提供了一個(gè)可參考的過(guò)程框架。但是,這些新方法或多或少仍有局限性,這也是激勵(lì)人們對(duì)現(xiàn)有的軟件過(guò)程及其模型進(jìn)行持續(xù)改進(jìn)的原動(dòng)力。下面簡(jiǎn)要介紹幾種常見(jiàn)的軟件開(kāi)發(fā)模型。
6.2.2軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)模型BECDA演化模型
螺旋模型
智能模型
噴泉模型
瀑布模型6.2.2軟件開(kāi)發(fā)模型
1、瀑布模型(WaterfallModel)
將開(kāi)發(fā)過(guò)程劃分成若干個(gè)互相區(qū)別而又彼此聯(lián)系的階段,每個(gè)階段中的工作都以上一個(gè)階段工作的結(jié)果為依據(jù),同時(shí)為下一個(gè)階段的工作提供了前提,如圖6-3所示。圖6-3瀑布模型制訂計(jì)劃需求分析系統(tǒng)設(shè)計(jì)軟件編碼軟件測(cè)試使用、維護(hù)規(guī)劃階段開(kāi)發(fā)階段維護(hù)階段
2、演化模型(EvolutionaryModel)
是針對(duì)事先不能完整定義需求的軟件項(xiàng)目開(kāi)發(fā)。對(duì)需要開(kāi)發(fā)的軟件給出基本需求,作第一次試驗(yàn)開(kāi)發(fā),其目標(biāo)僅在于探索可行性和弄清需求,取得有效的反饋信息,以支持軟件的最終設(shè)計(jì)和實(shí)現(xiàn),圖6-4是演化模型的例子。圖6-4演化模型例子工作版本2信息流信息流R2I/ASC/TDI/ASC/TDRn工作版本1工作版本nR1I/ASC/TD其中:R為需求;D為設(shè)計(jì);C/T為編碼/測(cè)試;I/AS為安裝和驗(yàn)收支持。6.2.2軟件開(kāi)發(fā)模型
3、螺旋模型圖(SpiralModel)
是由TRW公司的B.Boehm于1988年提出的,它是將瀑布模型和演化模型結(jié)合起來(lái),并強(qiáng)調(diào)其它模型均忽略了的風(fēng)險(xiǎn)分析。該模型更適合于大型軟件的開(kāi)發(fā),對(duì)于具有高度風(fēng)險(xiǎn)的大型復(fù)雜軟件系統(tǒng)的開(kāi)發(fā)是較為實(shí)際的方法。螺旋模型將開(kāi)發(fā)劃在笛卡爾坐標(biāo)的4個(gè)象限上分別表達(dá)制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶評(píng)估4個(gè)方面的活動(dòng),如圖6-5所示。沿著螺旋線每轉(zhuǎn)一圈,表示開(kāi)發(fā)出一個(gè)更完善的新軟件版本。如果開(kāi)發(fā)風(fēng)險(xiǎn)過(guò)大,開(kāi)發(fā)機(jī)構(gòu)和客戶無(wú)法接受,項(xiàng)目有可能就此終止;多數(shù)情況下會(huì)沿著螺旋線繼續(xù)下去,自內(nèi)向外逐步延伸,最終得到滿意的軟件產(chǎn)品。6.2.2軟件開(kāi)發(fā)模型圖6-5螺旋模型累計(jì)成本提交線評(píng)審制訂計(jì)劃決定目標(biāo)、方案和限制風(fēng)險(xiǎn)分析評(píng)價(jià)方案、識(shí)別風(fēng)險(xiǎn)、消除風(fēng)險(xiǎn)客戶評(píng)價(jià)實(shí)施工程開(kāi)發(fā)、驗(yàn)證下一產(chǎn)品6.2.2軟件開(kāi)發(fā)模型
4、噴泉模型(FountainModel)是于1990年提出的一種新開(kāi)發(fā)模型。噴泉一詞本身就體現(xiàn)了迭代和無(wú)間隙的特性,表明軟件開(kāi)發(fā)活動(dòng)之間沒(méi)有明顯的間隙。噴泉模型如圖6-6所示。圖6-6噴泉模型維
護(hù)確
認(rèn)實(shí)
現(xiàn)演
化
設(shè)
計(jì)分
析6.2.2軟件開(kāi)發(fā)模型
5、智能模型(IntelligentModel)智能模型是基于知識(shí)的開(kāi)發(fā)模型,它綜合了上述若干模型,并把專家系統(tǒng)結(jié)合在一起,是知識(shí)工程與軟件工程在開(kāi)發(fā)模型上結(jié)合的產(chǎn)物。智能模型如圖6-7所示。圖6-7智能模型需求分析需求分析需求分析獲取需求需求分析具體描述優(yōu)化程序知識(shí)庫(kù)/專家系統(tǒng)6.2.2軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)方法是在不斷的實(shí)踐過(guò)程中形成的,并在一定程度上受程序設(shè)計(jì)方法的影響,但軟件開(kāi)發(fā)方法絕不僅僅限于程序設(shè)計(jì),它包含了更多的軟件工程的活動(dòng),并且貫穿于整個(gè)軟件工程活動(dòng)過(guò)程。都目前為止,常見(jiàn)的軟件開(kāi)發(fā)方法有以下幾種。
1、Parnas方法最早的軟件開(kāi)發(fā)方法是加拿大學(xué)者帕尼斯(DavidParnas)在1972年提出的,由于當(dāng)時(shí)軟件在可維護(hù)性和可靠性方面存在著嚴(yán)重問(wèn)題,因此帕尼斯提出的方法是針對(duì)這兩個(gè)問(wèn)題的。帕尼斯對(duì)軟件開(kāi)發(fā)提出了深刻的見(jiàn)解,遺憾的是他沒(méi)有給出明確的工作流程,所以這一方法不能獨(dú)立使用,只能作為其它方法的補(bǔ)充。6.2.3軟件開(kāi)發(fā)方法
2.Yourdon方法Yourdon方法是1978年由美國(guó)科學(xué)家尤頓和康斯坦丁提出來(lái)的結(jié)構(gòu)化方法,即SASD方法,也稱為面向功能或面向數(shù)據(jù)流的軟件開(kāi)發(fā)方法。1979年湯姆·迪馬克對(duì)此方法作了進(jìn)一步的完善。Yourdon方法是20世紀(jì)80年代使用最廣泛的軟件開(kāi)發(fā)方法,它首先使用結(jié)構(gòu)化分析方法對(duì)軟件進(jìn)行需求分析,然后用結(jié)構(gòu)化設(shè)計(jì)方法進(jìn)行總體設(shè)計(jì),最后是結(jié)構(gòu)化編程。
3、面向數(shù)據(jù)結(jié)構(gòu)方法面向數(shù)據(jù)結(jié)構(gòu)方法是結(jié)構(gòu)化方法的變形,它注重?cái)?shù)據(jù)結(jié)構(gòu)而不是數(shù)據(jù)流。結(jié)構(gòu)化方法以分析信息流為主,用數(shù)據(jù)流圖來(lái)表示信息流;面向數(shù)據(jù)結(jié)構(gòu)方法是從數(shù)據(jù)結(jié)構(gòu)方面分析,并用數(shù)據(jù)結(jié)構(gòu)圖來(lái)表示,至今仍廣泛使用的軟件開(kāi)發(fā)方法。6.2.3軟件開(kāi)發(fā)方法
4、面向問(wèn)題分析法面向問(wèn)題分析法(ProblemAnalysisMethod,PAM)是20世紀(jì)80年代末由日立公司提出的一種軟件開(kāi)發(fā)方法。它的基本思想是:考慮到輸入、輸出數(shù)據(jù)結(jié)構(gòu),指導(dǎo)系統(tǒng)的分解,在系統(tǒng)分析指導(dǎo)下逐步綜合。這一方法的具體步驟是從輸入、輸出數(shù)據(jù)結(jié)構(gòu)導(dǎo)出基本處理框;分析這些處理框之間的先后關(guān)系;按先后關(guān)系逐步綜合處理框,直到畫(huà)出整個(gè)系統(tǒng)的PAD圖。從上述步驟中可以看出,這一方法本質(zhì)上是綜合的自底向上的方法,但在逐步綜合之前已進(jìn)行了有目的的分解,這個(gè)目的就是充分考慮系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)。PAM方法的另一個(gè)優(yōu)點(diǎn)是使用二維樹(shù)形結(jié)構(gòu)圖PAD,是到目前為止最好的詳細(xì)設(shè)計(jì)表示方法之一。6.2.3軟件開(kāi)發(fā)方法
5、面向?qū)ο箝_(kāi)發(fā)方法隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O(shè)計(jì))和OOP(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成了面向?qū)ο蟮能浖_(kāi)發(fā)方法(ObjectModelingTechnique,OMT)。面向?qū)ο蟮能浖_(kāi)發(fā)方法是一種自底向上和自頂向下相結(jié)合的方法,并且它以對(duì)象建模為基礎(chǔ),不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),而且也包含了所有對(duì)象的數(shù)據(jù)結(jié)構(gòu),所以O(shè)MT完全實(shí)現(xiàn)了PAM沒(méi)有完全實(shí)現(xiàn)的目標(biāo)。不僅如此,面向?qū)ο蠹夹g(shù)在需求分析、可維護(hù)性和可靠性這3個(gè)軟件開(kāi)發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實(shí)質(zhì)性的突破,基本解決了在這方面存在的嚴(yán)重問(wèn)題。6.2.3軟件開(kāi)發(fā)方法
6、可視化開(kāi)發(fā)方法可視化開(kāi)發(fā)方法是20世紀(jì)90年代軟件界最大的兩個(gè)熱點(diǎn)之一。隨著圖形用戶界面的興起,用戶界面在軟件系統(tǒng)中所占的比例也越來(lái)越大,有的甚至高達(dá)60%~70%。
7、軟件重用和組件連接軟件重用(Reuse)又稱軟件復(fù)用或軟件再用。軟件重用是利用已有的軟件成分來(lái)構(gòu)造新的軟件。它可以大大減少軟件開(kāi)發(fā)所需的費(fèi)用和時(shí)間,且有利于提高軟件的可維護(hù)性和可靠性。目前軟件重用沿著下面3個(gè)方向發(fā)展。6.2.3軟件開(kāi)發(fā)方法
(1)基于軟件復(fù)用庫(kù)的軟件重用:是一種傳統(tǒng)的軟件重用技術(shù),這類軟件開(kāi)發(fā)方法要求提供軟件可重用成分的模式分類和檢索,且要解決如何有效地組織、標(biāo)識(shí)、描述和引用這些軟件成分。
(2)與面向?qū)ο蠹夹g(shù)結(jié)合:OO技術(shù)中類的聚集、實(shí)例對(duì)類的成員函數(shù)或操作的引用、子類對(duì)父類的繼承等使軟件的可重用性有了較大的提高,而且這種類型的重用容易實(shí)現(xiàn),所以這種方式的軟件重用發(fā)展較快。
(3)組件連接:是目前發(fā)展最快的軟件重用方式。組件連接技術(shù)的實(shí)質(zhì)是一種軟件組件的接口標(biāo)準(zhǔn),任何人都可以按此標(biāo)準(zhǔn)獨(dú)立地開(kāi)發(fā)組件和增值組件。這樣一來(lái),應(yīng)用系統(tǒng)的開(kāi)發(fā)人員可以把主要精力放在應(yīng)用系統(tǒng)本身的研究上,因?yàn)樗麄兛稍诮M件市場(chǎng)上購(gòu)買所需的大部分組件。6.2.3軟件開(kāi)發(fā)方法系統(tǒng)分析是為系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施提供可靠的具體依據(jù)。系統(tǒng)分析階段的主要活動(dòng)包括系統(tǒng)初步調(diào)查、可行性研究、系統(tǒng)詳細(xì)調(diào)查和系統(tǒng)邏輯方案的提出。
1、系統(tǒng)初步調(diào)查系統(tǒng)初步調(diào)查是系統(tǒng)分析階段的第一項(xiàng)活動(dòng),也是整個(gè)系統(tǒng)開(kāi)發(fā)的第一項(xiàng)活動(dòng),其主要目標(biāo)就是從系統(tǒng)分析人員和管理人員的角度看有無(wú)必要開(kāi)發(fā)該系統(tǒng)。
2、可行性研究可行性研究的主要目標(biāo)是進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模與功能,對(duì)系統(tǒng)開(kāi)發(fā)背景、必要性和意義進(jìn)行調(diào)查分析并根據(jù)需要和可能提出擬開(kāi)發(fā)系統(tǒng)的初步方案與計(jì)劃,它包括三個(gè)方面:§6.3軟件工程過(guò)程6.3.1系統(tǒng)分析
(1)技術(shù)可行性:對(duì)現(xiàn)有技術(shù)進(jìn)行評(píng)價(jià),分析系統(tǒng)是否可以利用現(xiàn)有技術(shù)來(lái)實(shí)施以及該技術(shù)對(duì)未來(lái)系統(tǒng)開(kāi)發(fā)的影響。
(2)經(jīng)濟(jì)可行性:對(duì)組織的經(jīng)濟(jì)狀況和投資能力進(jìn)行分析,對(duì)系統(tǒng)的開(kāi)發(fā)、運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng)建成后可能取得的社會(huì)效益及經(jīng)濟(jì)效益進(jìn)行估算。
(3)運(yùn)行可行性:分析組織的現(xiàn)有機(jī)構(gòu)、人員、設(shè)施能否適應(yīng)新系統(tǒng)的運(yùn)行??尚行匝芯客瓿珊?,要提交可行性研究報(bào)告。可行性研究報(bào)告的主要內(nèi)容包括現(xiàn)行系統(tǒng)概況、用戶主要信息需求、擬開(kāi)發(fā)系統(tǒng)的初步設(shè)計(jì)方案、技術(shù)可行性分析、經(jīng)濟(jì)可行性分析、運(yùn)行可行性分析和結(jié)論。6.3.1系統(tǒng)分析
3、系統(tǒng)詳細(xì)調(diào)查系統(tǒng)詳細(xì)調(diào)查是在可行性研究的基礎(chǔ)上進(jìn)一步對(duì)現(xiàn)行系統(tǒng)進(jìn)行全面、深入的調(diào)查和分析,弄清楚現(xiàn)行系統(tǒng)運(yùn)行狀況,發(fā)現(xiàn)其薄弱環(huán)節(jié),找出要解決問(wèn)題的實(shí)質(zhì),確保所開(kāi)發(fā)系統(tǒng)有效。系統(tǒng)詳細(xì)調(diào)查的主要工作包括對(duì)現(xiàn)行系統(tǒng)的目標(biāo)、主要功能、組織結(jié)構(gòu)、業(yè)務(wù)流程、數(shù)據(jù)流程的調(diào)查和分析。
4、系統(tǒng)分析說(shuō)明書(shū)在對(duì)現(xiàn)行系統(tǒng)詳細(xì)調(diào)查分析的基礎(chǔ)上,著重對(duì)用戶需求進(jìn)行進(jìn)一步調(diào)查分析,明確用戶的信息需求,包括組織、發(fā)展、改革的總信息需求和各級(jí)管理人員完成各自工作任務(wù)的信息需求,確定新系統(tǒng)的邏輯功能,提出新系統(tǒng)的邏輯方案。編寫(xiě)完成系統(tǒng)分析階段的最終成果——系統(tǒng)分析說(shuō)明書(shū)。6.3.1系統(tǒng)分析
5、系統(tǒng)分析評(píng)審
為了提高軟件質(zhì)量,確保軟件開(kāi)發(fā)成功,降低軟件開(kāi)發(fā)成本,一旦對(duì)目標(biāo)系統(tǒng)提出具體要求之后必須嚴(yán)格驗(yàn)證這些需求的正確性。系統(tǒng)分析評(píng)審應(yīng)該從以下4個(gè)方面進(jìn)行驗(yàn)證。
(1)一致性:所有需求必須是一致的,任何一條需求不能和其它求互相矛盾。
(2)完整性:需求必須是完整的,規(guī)格說(shuō)明書(shū)應(yīng)該包括用戶需要的每一個(gè)功能或性能。
(3)現(xiàn)實(shí)性:指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。
(4)有效性:必須證明需求是正確有效的,確實(shí)能解決用戶面對(duì)的問(wèn)題。6.3.1系統(tǒng)分析軟件需求分析是一個(gè)不斷認(rèn)識(shí)和逐步細(xì)化的過(guò)程。在該過(guò)程中能將軟件計(jì)劃階段所確定的軟件范圍逐步細(xì)化到可詳細(xì)定義的程度,并分析和提出各種不同的軟件元素(程序、文件、數(shù)據(jù)庫(kù)、文檔等),然后為這些元素找到解決方法。
1、需求分析的任務(wù)需求分析是軟件規(guī)劃階段的最后一個(gè)步驟,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問(wèn)題。需求分析階段的任務(wù)主要有以下4個(gè)方面。
(1)確定對(duì)系統(tǒng)的綜合需求:主要有系統(tǒng)功能需求、系統(tǒng)性能需求、系統(tǒng)運(yùn)行需求以及將來(lái)可能提出的其它需求。這一過(guò)程中,系統(tǒng)分析人員要與用戶協(xié)商,澄清模糊需求,刪除無(wú)法做到的需求,改正錯(cuò)誤需求。6.3.2需求分析
(2)分析系統(tǒng)的數(shù)據(jù)需求:就是由系統(tǒng)的信息流歸納抽象出數(shù)據(jù)元素組成、數(shù)據(jù)的邏輯關(guān)系、數(shù)據(jù)字典格式和數(shù)據(jù)模型;并以輸入/處理/輸出的結(jié)構(gòu)方式表示出來(lái)的過(guò)程。因此,必須分析系統(tǒng)的數(shù)據(jù)需求,這是軟件需求分析的一個(gè)重要任務(wù)。
(3)導(dǎo)出系統(tǒng)的邏輯模型:就是在理解當(dāng)前系統(tǒng)“怎么做”的基礎(chǔ)上;抽取其“做什么”的本質(zhì)。在物理模型中有許多物理因素,需要對(duì)物理模型進(jìn)行分析,區(qū)分本質(zhì)和非本質(zhì)因素,去掉那些非本質(zhì)因素就可獲得反映系統(tǒng)本質(zhì)的邏輯模型,只要明確目標(biāo)系統(tǒng)要“做什么”,就可以導(dǎo)出系統(tǒng)詳細(xì)的邏輯模型。
(4)修正系統(tǒng)開(kāi)發(fā)計(jì)劃:在經(jīng)過(guò)需求分析階段的工作后,分析員對(duì)目標(biāo)系統(tǒng)有了更深入更具體的認(rèn)識(shí),因此可以對(duì)系統(tǒng)的成本和進(jìn)度做出更準(zhǔn)確的估計(jì),在此基礎(chǔ)上對(duì)開(kāi)發(fā)計(jì)劃進(jìn)行修正。6.3.2需求分析
2、需求分析的步驟
(1)調(diào)查研究:分析人員協(xié)同程序員研究系統(tǒng)數(shù)據(jù)的流程及調(diào)查用戶需求或查閱可行性報(bào)告、項(xiàng)目開(kāi)發(fā)計(jì)劃報(bào)告,訪問(wèn)現(xiàn)場(chǎng),獲得當(dāng)前系統(tǒng)的具體模型,以IPO圖或DFD圖表示。
(2)分析與綜合:從數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)出發(fā),逐步細(xì)化軟件功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特性和設(shè)計(jì)上的限制,最終綜合成系統(tǒng)的解決方案,給出目標(biāo)系統(tǒng)的邏輯模型。
(3)書(shū)寫(xiě)需求規(guī)格說(shuō)明書(shū):詳細(xì)說(shuō)明軟件系統(tǒng)的功能需求、性能需求、接口需求、設(shè)計(jì)需求、基本結(jié)構(gòu)以及開(kāi)發(fā)標(biāo)準(zhǔn)和驗(yàn)收原則等。
(4)需求分析評(píng)審:需求分析的最后一步,應(yīng)該對(duì)功能的正確性、完整性、清晰性,以及其它需求給予評(píng)價(jià)。6.3.2需求分析
3、需求分析的基本原則近年來(lái)已提出了許多軟件分析與說(shuō)明的方法,雖然各種分析方法都有其獨(dú)特的描述方法,但總的看來(lái),所有需求分析方法都有共同適用的基本原則。
(1)必須清晰描述數(shù)據(jù)域和功能域:所有軟件定義與開(kāi)發(fā)工作最終是為了解決數(shù)據(jù)處理問(wèn)題,即將一種形式的數(shù)據(jù)轉(zhuǎn)換成另一種形式的數(shù)據(jù)。
(2)按自頂向下、逐層分解問(wèn)題:在需求分析階段,軟件的功能域和信息域都能做進(jìn)一步的分解。
(3)給出系統(tǒng)的邏輯視圖和物理視圖:給出系統(tǒng)的邏輯視圖表示和物理視圖表示。6.3.2需求分析系統(tǒng)設(shè)計(jì)的主要目的是將系統(tǒng)分析階段提出的反映用戶需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的物理(技術(shù)方案)。系統(tǒng)設(shè)計(jì)階段的主要工作可分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。
1、概要設(shè)計(jì)概要設(shè)計(jì)也稱為總體結(jié)構(gòu)設(shè)計(jì),其內(nèi)容主要有網(wǎng)絡(luò)運(yùn)行模式選擇、操作系統(tǒng)選擇、數(shù)據(jù)庫(kù)管理系統(tǒng)選擇、網(wǎng)絡(luò)平臺(tái)及其結(jié)構(gòu)選擇和系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)等。
(1)運(yùn)行模式選擇:目前常用的運(yùn)行模式有4種:?jiǎn)螜C(jī)模式、主機(jī)模式、客戶機(jī)服務(wù)器(C/S)模式、瀏覽器服務(wù)器(B/S)模式。模式的選擇根據(jù)軟件需求分析來(lái)確定,但對(duì)于信息管理一類的軟件,通常選擇客戶機(jī)服務(wù)器(C/S)模式或?yàn)g覽器服務(wù)器(B/S)模式。6.3.3系統(tǒng)設(shè)計(jì)
(2)操作系統(tǒng)選擇:目前流行的操作系統(tǒng)較多,可以考慮運(yùn)行模式和數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)環(huán)境的要求來(lái)確定。
(3)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)選擇:目前可供選擇的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)有Oracle、SQLServer、DB2和Access等。前三種系統(tǒng)都是大型數(shù)據(jù)庫(kù)管理系統(tǒng),Access是一種小型數(shù)據(jù)庫(kù)管理系統(tǒng),適用于在單機(jī)上設(shè)計(jì)開(kāi)發(fā)小型軟件。
(4)網(wǎng)絡(luò)平臺(tái)及其結(jié)構(gòu)選擇:機(jī)關(guān)和各基層單位應(yīng)分別建立相對(duì)獨(dú)立的局域網(wǎng),各基層單位的局域網(wǎng)與機(jī)關(guān)的局域網(wǎng)互聯(lián)。當(dāng)然,整個(gè)組織也可以只建一個(gè)局域網(wǎng)。
(5)系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì):將整個(gè)系統(tǒng)合理地劃分成各個(gè)功能模塊,其主要原則是模塊內(nèi)部聯(lián)系越緊密越好,模塊之間聯(lián)系越松散越好。6.3.3系統(tǒng)設(shè)計(jì)
2、詳細(xì)設(shè)計(jì)是對(duì)概要設(shè)計(jì)的進(jìn)一步細(xì)化,設(shè)計(jì)內(nèi)容主要有4個(gè)方面。
(1)算法設(shè)計(jì):是確定每個(gè)模塊內(nèi)部的詳細(xì)執(zhí)行過(guò)程,即設(shè)計(jì)出完成模塊功能所需要的工作步驟,
(2)程序編碼:系統(tǒng)設(shè)計(jì)的一項(xiàng)重要工作就是把管理對(duì)象數(shù)字化或字符化,這就是編碼設(shè)計(jì)。編碼的作用有三個(gè):①標(biāo)識(shí)作用。用來(lái)標(biāo)識(shí)和確定某個(gè)具體的對(duì)象,以便于計(jì)算機(jī)的識(shí)別和區(qū)分。②統(tǒng)計(jì)和檢索作用。當(dāng)按對(duì)象的屬性或類別進(jìn)行編碼設(shè)計(jì)時(shí),易于完成有關(guān)的統(tǒng)計(jì)和檢索工作。③對(duì)象狀態(tài)的描述作用。編碼可以用來(lái)標(biāo)明事物所處的狀態(tài),便于對(duì)象的動(dòng)態(tài)管理。6.3.3系統(tǒng)設(shè)計(jì)
(3)數(shù)據(jù)庫(kù)設(shè)計(jì):數(shù)據(jù)庫(kù)設(shè)計(jì)的科學(xué)、合理,可以提高系統(tǒng)開(kāi)發(fā)效率和運(yùn)行效率。數(shù)據(jù)庫(kù)設(shè)計(jì)要滿足下面三項(xiàng)要求。①符合用戶需求,設(shè)計(jì)的數(shù)據(jù)庫(kù)要能合理存儲(chǔ)用戶的所有數(shù)據(jù),并支持用戶需要進(jìn)行的所有操作。②與選用的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)所支持的數(shù)據(jù)模型相匹配,這樣便于數(shù)據(jù)庫(kù)設(shè)計(jì)方案在計(jì)算機(jī)上的實(shí)現(xiàn)。③數(shù)據(jù)組織合理,易于實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作和維護(hù)。
(4)用戶界面設(shè)計(jì):用戶界面指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人機(jī)對(duì)話的界面與方式等,界面設(shè)計(jì)目前已成為評(píng)價(jià)軟件質(zhì)量的一項(xiàng)重要指標(biāo)。用戶界面設(shè)計(jì)沒(méi)有什么統(tǒng)一的標(biāo)準(zhǔn),做到美觀大方、風(fēng)格與系統(tǒng)功能協(xié)調(diào)、方便用戶使用即可。6.3.3系統(tǒng)設(shè)計(jì)軟件編碼是用程序設(shè)計(jì)語(yǔ)言編寫(xiě)出正確的、容易理解的、容易維護(hù)的程序模塊代碼。在編碼中要考慮以下幾個(gè)問(wèn)題:●程序能按使用要求正確運(yùn)行,這是最基本的要求?!癯绦蛞子谡{(diào)試、檢測(cè)。●程序可讀性好,易于修改和維護(hù)。軟件編碼是通過(guò)軟件工具來(lái)實(shí)現(xiàn)的。軟件工具指能為軟件工程方法提供自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境,支持軟件的開(kāi)發(fā)、管理和各種軟件文檔的生成。它能在軟件開(kāi)發(fā)的各個(gè)階段為開(kāi)發(fā)人員提供幫助,有助于提高軟件開(kāi)發(fā)的質(zhì)量和效率。軟件工具包括項(xiàng)目管理工具、配置管理工具、分析和設(shè)計(jì)工具、編程工具、測(cè)試工具等?,F(xiàn)在開(kāi)發(fā)規(guī)模較大的軟件,一般都要借助于軟件工具或軟件開(kāi)發(fā)環(huán)境或計(jì)算機(jī)輔助軟件工程
工具與環(huán)境的支持。6.3.4軟件編碼測(cè)試是軟件交付使用前的最后一個(gè)階段,是保證軟件質(zhì)量的關(guān)鍵步驟,是對(duì)需求分析、設(shè)計(jì)和編碼的最后復(fù)審。
1、軟件測(cè)試過(guò)程軟件測(cè)試項(xiàng)目通常包括以下4個(gè)方面。
(1)單元測(cè)試:在編寫(xiě)出每個(gè)模塊的代碼之后就對(duì)它做必要的測(cè)試,所以又稱為“模塊測(cè)試”。
(2)集成測(cè)試:在所有模塊都通過(guò)單元測(cè)試后,將所有模塊按一定邏輯組裝成一個(gè)完整的程序,檢驗(yàn)?zāi)K之間的接口關(guān)系、數(shù)據(jù)訪問(wèn)、模塊調(diào)用、各組成部分是否按照系統(tǒng)設(shè)計(jì)和程序設(shè)計(jì)規(guī)范協(xié)同一致地工作等,所以集成測(cè)試又稱為綜合測(cè)試。
(3)確認(rèn)測(cè)試:包括功能測(cè)試、性能測(cè)試、強(qiáng)度測(cè)試和配置評(píng)審等內(nèi)容。6.3.5軟件測(cè)試
(4)系統(tǒng)測(cè)試:是軟件開(kāi)發(fā)過(guò)程中的最后一項(xiàng)測(cè)試,包括驗(yàn)收測(cè)試和安裝測(cè)試。驗(yàn)收測(cè)試用來(lái)檢查系統(tǒng)能否滿足用戶需求,按用戶的意愿進(jìn)行工作;安裝測(cè)試是為確保系統(tǒng)應(yīng)有的功能。
2、軟件測(cè)試方法軟件測(cè)試方法很多,最常用的有黑盒測(cè)試法和白盒測(cè)試法。
(1)黑盒測(cè)試法:又稱功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試。用這種方法進(jìn)行測(cè)試時(shí),被測(cè)程序被當(dāng)做看不見(jiàn)內(nèi)部的黑盒。黑盒測(cè)試試圖發(fā)現(xiàn)功能錯(cuò)誤或遺漏、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤、性能錯(cuò)誤、初始化和終止錯(cuò)誤。
(2)白盒測(cè)試法:也稱為結(jié)構(gòu)測(cè)試法,是基于程序內(nèi)部語(yǔ)句的邏輯結(jié)構(gòu)的測(cè)試。為此,在設(shè)計(jì)測(cè)試數(shù)據(jù)之前,必須仔細(xì)分析程序內(nèi)部的邏輯結(jié)構(gòu)。6.3.5軟件測(cè)試
1、軟件維護(hù)的分類包括糾錯(cuò)性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。
2、軟件維護(hù)的任務(wù)在軟件可交付使用的整個(gè)期間,為適應(yīng)外界環(huán)境的變化以及擴(kuò)充功能和改善質(zhì)量6.4.1軟件質(zhì)量概念,對(duì)軟件進(jìn)行修改。軟件的維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。①系統(tǒng)文檔。包括開(kāi)發(fā)軟件系統(tǒng)各個(gè)階段的有關(guān)文檔。②用戶文檔。包括系統(tǒng)功能、安裝、使用、參考手冊(cè)等。
3、軟件退役是軟件生存周期中的最后一個(gè)階段,終止對(duì)軟件產(chǎn)品的支持,軟件停止使用。6.3.6軟件維護(hù)§6.4
軟件質(zhì)量評(píng)價(jià)6.4.1軟件質(zhì)量概念
1、軟件質(zhì)量定義軟件質(zhì)量的定義有多種,無(wú)論采用何種形式的定義,軟件質(zhì)量的定義均包含以下3個(gè)方面的含義:
(1)與所確定的功能和性能需求的一致性:軟件需求是進(jìn)行“質(zhì)量”測(cè)量的基礎(chǔ),與需求不符必然質(zhì)量不高。
(2)與所成文的開(kāi)發(fā)標(biāo)準(zhǔn)的一致性:開(kāi)發(fā)標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開(kāi)發(fā)的準(zhǔn)則,用來(lái)指導(dǎo)軟件人員用工程化方法開(kāi)發(fā)軟件。如果不能遵照這些準(zhǔn)則,軟件的高質(zhì)量無(wú)法得到保證。
(3)與所有專業(yè)開(kāi)發(fā)的軟件所期望的隱含特性的一致性:如果軟件只滿足那些精確定義了的需求而沒(méi)有滿足哪些隱含的需求,軟件質(zhì)量也就不能得到保證。6.4.1軟件質(zhì)量概念
2、軟件質(zhì)量的度量和評(píng)價(jià)一般來(lái)說(shuō),影響軟件質(zhì)量的因素可以分為以下兩大類:
(1)直接度量的因素:如單位時(shí)間內(nèi)千行代碼中所產(chǎn)生的錯(cuò)誤數(shù)。
(2)間接度量的因素:在軟件開(kāi)發(fā)和維護(hù)過(guò)程中,為了定量地評(píng)價(jià)軟件質(zhì)量,必須對(duì)軟件質(zhì)量特性進(jìn)行度量,以測(cè)定軟件具有要求質(zhì)量特性的程度。1976年,Boehm等人提出了定量評(píng)價(jià)軟件質(zhì)量的層次模型。Walters和McCall提出了從軟件質(zhì)量要素、準(zhǔn)則到度量的3個(gè)層次式的軟件質(zhì)量度量模型。G.Murine根據(jù)上述等人的工作
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年石家莊市高邑縣招聘社區(qū)工作者筆試真題
- 2023年陜西神渭煤炭管道運(yùn)輸有限責(zé)任公司招聘筆試真題
- 房屋租賃合同匯編【15篇】
- 建設(shè)工程和承攬合同
- 2024年血壓調(diào)節(jié)用品合作協(xié)議書(shū)
- 消防發(fā)票合同范本
- 三年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案
- 擔(dān)保期限 合同范本
- 粉刷房子合同范本
- 房屋單間租賃合同范本
- 希臘神話-大力神-赫拉克勒斯
- 軍隊(duì)文職招聘(數(shù)學(xué)2+物理)近年考試真題題庫(kù)(含真題、典型題匯總)
- 結(jié)構(gòu)加固改造施工方案
- 《診斷學(xué)》心臟聽(tīng)診
- 藍(lán)色商務(wù)發(fā)展歷程時(shí)間軸PPT模板
- 咽鼓管異常開(kāi)放課件
- 部編版高中語(yǔ)文必修下冊(cè)整本書(shū)閱讀《紅樓夢(mèng)》課件
- GB/T 4358-1995重要用途碳素彈簧鋼絲
- GB/T 31422-2015個(gè)體防護(hù)裝備護(hù)聽(tīng)器的通用技術(shù)條件
- GB/T 15773-2008水土保持綜合治理驗(yàn)收規(guī)范
- GB/T 13738.1-2017紅茶第1部分:紅碎茶
評(píng)論
0/150
提交評(píng)論