




已閱讀5頁(yè),還剩61頁(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)介
軟件質(zhì)量保證和管理-Ch.2軟件質(zhì)量,1,第1章回顧,1.1質(zhì)量質(zhì)量就是產(chǎn)品或工作的優(yōu)劣程度,換句話說(shuō),質(zhì)量就是衡量產(chǎn)品的或工作的好壞。,2,質(zhì)量屬性,質(zhì)量的內(nèi)涵是由一組滿足客戶及其他相關(guān)方所要求的固有特性組成,包括內(nèi)在特性和外在特性質(zhì)量的客戶屬性,質(zhì)量是相對(duì)客戶而存在,也是質(zhì)量相對(duì)性的一種體現(xiàn)。質(zhì)量的成本屬性,也可以稱為質(zhì)量的經(jīng)濟(jì)性,質(zhì)量越好的產(chǎn)品,帶給社會(huì)的損失就越小。社會(huì)屬性,質(zhì)量很多時(shí)候體現(xiàn)的是一種理念,是哲學(xué)而不僅僅是方法,它與社會(huì)的價(jià)值觀有直接的關(guān)系??蓽y(cè)性。產(chǎn)品的質(zhì)量好壞將取決對(duì)相應(yīng)特征的衡量,質(zhì)量的可測(cè)性決定了質(zhì)量的可控特性。質(zhì)量的可預(yù)見(jiàn)性:可以預(yù)測(cè)質(zhì)量在不同過(guò)程中的結(jié)果。,3,1.2客戶,外部客戶,不是組織內(nèi)部的組成部分,但是受本組織活動(dòng)影響的個(gè)人和組織。外部客戶是在傳統(tǒng)意義上大家所認(rèn)知的客戶內(nèi)部客戶,指組織內(nèi)部的部門和員工,組織內(nèi)部某一方向?qū)Ψ教峁┊a(chǎn)品或服務(wù),“對(duì)方”就被視為內(nèi)部客戶內(nèi)部客戶又分為4種,即職級(jí)客戶、職能客戶、工序客戶和流程客戶,4,客戶與質(zhì)量的關(guān)系,質(zhì)量是相對(duì)客戶而存在的,客戶與質(zhì)量的基本關(guān)系是相互依賴的關(guān)系,質(zhì)量服務(wù)于客戶,因客戶存在而存在,而且質(zhì)量由客戶判定??蛻羰琴|(zhì)量的接受者,可以直接觀察或感覺(jué)到質(zhì)量的存在。,5,1.3不同的質(zhì)量觀點(diǎn),客觀的/協(xié)調(diào)的:客觀地認(rèn)為質(zhì)量是一個(gè)合理的工程過(guò)程。質(zhì)量是和“開(kāi)發(fā)過(guò)程的詳細(xì)闡述和嚴(yán)格控制”聯(lián)系在一起的,“質(zhì)量是產(chǎn)品屬性”的觀點(diǎn)。客觀的/矛盾的:不僅明白“質(zhì)量是客觀的”,而且理解“質(zhì)量屬性之間總是存在沖突的矛盾的存在”,于是認(rèn)為不可能滿足所有的質(zhì)量需求,而只能滿足主要的需求。主觀的/一致的:認(rèn)為質(zhì)量關(guān)系到團(tuán)體的結(jié)構(gòu),要解決許多不同團(tuán)體的不同的觀點(diǎn)和興趣。最終的結(jié)果反映了不同觀點(diǎn)的一致意見(jiàn)。主觀的/矛盾的:假定會(huì)有沖突和功能上的限制,需構(gòu)造質(zhì)量的新思路,以滿足多的興趣而忽視少數(shù)的部分功能。這一點(diǎn)更像一種協(xié)調(diào)而不是意見(jiàn)統(tǒng)一。,6,1.4質(zhì)量概念的發(fā)展,第一層次,“符合性質(zhì)量”:能夠滿足國(guó)家或行業(yè)標(biāo)準(zhǔn)、產(chǎn)品規(guī)范的要求,最初的質(zhì)量觀念第二層次,“適用性質(zhì)量”:讓客戶滿意,不僅滿足標(biāo)準(zhǔn)、規(guī)范的要求,而且滿足客戶的其他要求第三層次,“廣義質(zhì)量“:不僅要讓客戶滿意,還要讓客戶愉快,也就是,想在客戶的前面,超出客戶的希望,7,第2章軟件質(zhì)量,軟件質(zhì)量是低缺陷率、軟件功能忠實(shí)于用戶需求、高可靠性的組合。2.1軟件特點(diǎn)2.2軟件過(guò)程2.3軟件缺陷2.4軟件質(zhì)量2.5軟件質(zhì)量的內(nèi)容,8,2.1軟件特點(diǎn),硬件是可以直觀感覺(jué)到、觸摸到的物理產(chǎn)品。硬件在生產(chǎn)時(shí),人的創(chuàng)造性的過(guò)程(設(shè)計(jì)、制作、測(cè)試)可以完全轉(zhuǎn)換成物理的形式。軟件是相對(duì)硬件而相對(duì)存在,是邏輯的、知識(shí)性的產(chǎn)品集合,是對(duì)物理世界的一種抽象,或者是某種物理形態(tài)的虛擬化。軟件是由開(kāi)發(fā)或工程化完成,不是傳統(tǒng)方式生產(chǎn)的,而且大多數(shù)軟件是自定義的,不是通過(guò)已有的“零件”組裝成的,因此,軟件具有與硬件完全不同的特征。,9,軟硬件特征比較,10,軟、硬件開(kāi)發(fā)過(guò)程比較,軟件的開(kāi)發(fā)過(guò)程,相對(duì)傳統(tǒng)行業(yè)(硬件制造)來(lái)說(shuō),實(shí)際上只是一個(gè)設(shè)計(jì)的過(guò)程,可以通過(guò)比較分析過(guò)程來(lái)進(jìn)一步說(shuō)明。,11,2.2軟件過(guò)程,2.2.1軟件開(kāi)發(fā)的基本過(guò)程2.2.2軟件開(kāi)發(fā)過(guò)程模型2.2.3V模型的完整詮釋2.2.4敏捷方法之極限編程2.2.5階段性開(kāi)發(fā)模型,12,軟件的開(kāi)發(fā)過(guò)程不同于傳統(tǒng)的制造業(yè),具有其自身的過(guò)程特點(diǎn),通過(guò)V模型(作者完善的)可以介紹軟件過(guò)程特點(diǎn),并通過(guò)敏捷開(kāi)發(fā)來(lái)進(jìn)一步介紹開(kāi)發(fā)人員和軟件開(kāi)發(fā)過(guò)程的關(guān)系,從而更好理解提高軟件質(zhì)量的根本路徑。,13,2.2.1軟件開(kāi)發(fā)的基本過(guò)程,需求分析:根據(jù)客戶的要求,清楚了解客戶需求中的產(chǎn)品功能、特性、性能、界面和具體規(guī)格等,然后進(jìn)行分析,確定軟件產(chǎn)品所能達(dá)到的目標(biāo)。設(shè)計(jì):根據(jù)需求分析的結(jié)果,考慮如何在邏輯、程序上去實(shí)現(xiàn)所定義的產(chǎn)品功能、特性等,可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),也可分為數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、軟件體系結(jié)構(gòu)設(shè)計(jì)、應(yīng)用接口設(shè)計(jì)、模塊設(shè)計(jì)、界面設(shè)計(jì)等。編程:將設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可讀的形式。測(cè)試:對(duì)設(shè)計(jì)、編程進(jìn)行驗(yàn)證和用戶需求確認(rèn)的過(guò)程維護(hù):維持軟件運(yùn)行,修改軟件缺陷、增強(qiáng)已有功能、增加新功能、升級(jí)等。,14,2.2.2軟件開(kāi)發(fā)過(guò)程模型,模型是對(duì)事物的一種抽象,人們常常在正式建造實(shí)物之前,首先建立一個(gè)簡(jiǎn)化的模型,以便更透徹地了解它的本質(zhì),抓住問(wèn)題的要害。在模型中,先要剔除那些問(wèn)題無(wú)關(guān)的、非本質(zhì)的東西,從而使模型與真實(shí)的實(shí)體相比更加簡(jiǎn)單明了、易于把握??偟膩?lái)說(shuō),使用模型可以使人們從全局上把握系統(tǒng)的全貌及其相關(guān)部件之間的關(guān)系,可以防止人們過(guò)早地陷入各個(gè)模塊的細(xì)節(jié)。經(jīng)過(guò)軟件領(lǐng)域的專家和學(xué)者不斷努力,從早期的瀑布模型到現(xiàn)在的極限編程模型、Rational統(tǒng)一過(guò)程模型(RUP)、微軟公司的MSF過(guò)程模型等,各種軟件過(guò)程模型不斷被退出。,15,2.2.2軟件開(kāi)發(fā)過(guò)程模型,瀑布模型原型模型快速應(yīng)用開(kāi)發(fā)(RAD)模型改進(jìn)的V模型螺旋模型增量模型和迭代模型構(gòu)件組裝模型并發(fā)模型Rational統(tǒng)一過(guò)程模型和UMLXP模型協(xié)議開(kāi)發(fā)形式描述技術(shù)FDT,16,2.2.3V模型的完整詮釋,17,從水平對(duì)應(yīng)關(guān)系看,左邊是設(shè)計(jì)和分析,是軟件設(shè)計(jì)實(shí)現(xiàn)的過(guò)程,同時(shí)伴隨著質(zhì)量保證活動(dòng)審核的過(guò)程,也就是靜態(tài)的測(cè)試過(guò)程;右邊是對(duì)左邊結(jié)果的驗(yàn)證,是動(dòng)態(tài)測(cè)試的過(guò)程,即對(duì)設(shè)計(jì)和分析的結(jié)果進(jìn)行測(cè)試,以確認(rèn)是否滿足用戶的需求。通過(guò)V模型能清楚地看到質(zhì)量保證活動(dòng)和項(xiàng)目同時(shí)展開(kāi)。項(xiàng)目一啟動(dòng),軟件測(cè)試的工作也就啟動(dòng)了,V模型避免了瀑布模型所帶來(lái)的誤區(qū)軟件測(cè)試是在代碼完成之后進(jìn)行。,18,從垂直對(duì)應(yīng)關(guān)系看,水平虛線上部表明,其需求分析、定義和驗(yàn)收測(cè)試等主要工作是面向用戶,要和用戶進(jìn)行充分的溝通和交流,或者是和用戶一起完成。水平虛線下部的大部分工作,相對(duì)來(lái)說(shuō),都是技術(shù)工作,在開(kāi)發(fā)組織內(nèi)部進(jìn)行,主要是由工程師、技術(shù)人員完成。從垂直方向看,越在下面,白盒測(cè)試方法使用越多,到了集成、系統(tǒng)測(cè)試,更多是將白盒測(cè)試方法和黑盒測(cè)試方法結(jié)合起來(lái)使用,形成灰盒測(cè)試方法。而在驗(yàn)收測(cè)試過(guò)程中,由于用戶一般要參與,所以使用黑盒測(cè)試方法。,19,2.2.4敏捷方法之極限編程,最簡(jiǎn)單的可能就是最有效的極限編程適合小團(tuán)隊(duì)(2-10programmers)“高風(fēng)險(xiǎn)”快速變化或不穩(wěn)定的需求強(qiáng)調(diào)可測(cè)試性格言“溝通、簡(jiǎn)化、反饋、激勵(lì)”,KentBeck,XP-eXtremeProgramming,20,極限編程XP基本思想和原則,個(gè)體和交互勝過(guò)過(guò)程和工具可以工作的軟件勝過(guò)面面俱到的文檔客戶合作勝過(guò)合同談判響應(yīng)變化勝過(guò)遵循計(jì)劃,最優(yōu)先要做的是通過(guò)盡早的、持續(xù)的交付有價(jià)值的軟件來(lái)使客戶滿意。敏捷過(guò)程提倡可持續(xù)的開(kāi)發(fā)速度,責(zé)任人、開(kāi)發(fā)者和用戶應(yīng)該能夠保持一個(gè)長(zhǎng)期穩(wěn)定的開(kāi)發(fā)速度。即使到了開(kāi)發(fā)的后期,需求改變還是受歡迎。每隔一定時(shí)間,團(tuán)隊(duì)會(huì)進(jìn)行反省,然后相應(yīng)地對(duì)自己的行為進(jìn)行調(diào)整。,21,極限編程(XP)生命周期,極限編程是敏捷方法的代表,并包括可測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)思想。測(cè)試驅(qū)動(dòng)型開(kāi)發(fā),在XP被稱之為“測(cè)試第一的開(kāi)發(fā)”,而在RUP過(guò)程中又被稱為“測(cè)試第一的設(shè)計(jì)”。極限編程強(qiáng)調(diào)下列基本觀點(diǎn),模型如圖,22,23,(1)客戶作為團(tuán)隊(duì)成員。(2)用戶素材(3)短交付周期(4)驗(yàn)收測(cè)試(5)結(jié)對(duì)編程(6)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(7)集體所有權(quán)(8)持續(xù)集成(9)可持續(xù)的開(kāi)發(fā)速度(10)開(kāi)放的工作空間(11)計(jì)劃博弈(12)重構(gòu)(13)隱喻,24,2.2.5階段性開(kāi)發(fā)模型1、軟件開(kāi)發(fā)分階段的必要性,原因如下市場(chǎng)的壓力和競(jìng)爭(zhēng)策略的需要,是市場(chǎng)策略和產(chǎn)品功能之間平衡所要求的。較早地、不失時(shí)機(jī)地占領(lǐng)市場(chǎng)對(duì)軟件企業(yè)是很重要的,不能等到一個(gè)完美的軟件產(chǎn)品被開(kāi)發(fā)出來(lái)。產(chǎn)品的開(kāi)發(fā)預(yù)算是有限的,產(chǎn)品的開(kāi)發(fā)周期和資源會(huì)受到預(yù)算的限制。軟件的復(fù)雜程度不斷提高,增加了項(xiàng)目失敗的可能性,將一個(gè)產(chǎn)品進(jìn)行分階段處理,可以盡早發(fā)現(xiàn)產(chǎn)品的市場(chǎng)問(wèn)題或方向錯(cuò)誤,降低風(fēng)險(xiǎn)。軟件的復(fù)雜程度不斷提高,使系統(tǒng)的分析和設(shè)計(jì)變得非常困難。對(duì)于越來(lái)越復(fù)雜、龐大的系統(tǒng),多數(shù)情況下不容易一次性整體實(shí)現(xiàn),而是通過(guò)分解逐步實(shí)現(xiàn)。,25,軟件在實(shí)際開(kāi)發(fā)過(guò)程中是按階段進(jìn)行,逐步完善或深化系統(tǒng)的功能,如圖所示,26,2、分階段開(kāi)發(fā)的基本模型,(1)增量模型描述軟件產(chǎn)品的不同階段是按產(chǎn)品所具有的功能進(jìn)行劃分,先開(kāi)發(fā)主要功能或用戶最重要的功能,然后隨著時(shí)間推進(jìn),不斷增加新的輔助功能或次要功能,最終開(kāi)發(fā)出一個(gè)功能完善的、穩(wěn)定的產(chǎn)品(2)迭代模型描述軟件產(chǎn)品的不同階段是按產(chǎn)品深度或細(xì)化的程度來(lái)劃分,現(xiàn)將產(chǎn)品的整個(gè)框架都建立起來(lái),在系統(tǒng)的初期,已經(jīng)具有用戶所需求的全部功能。然后,隨著時(shí)間推進(jìn),不斷細(xì)化已有的功能或完善已有的功能,這個(gè)過(guò)程是一個(gè)迭代的過(guò)程,如圖所示,27,增量和迭代模型,28,3、分階段開(kāi)發(fā)的其他形式,實(shí)際上,分階段軟件開(kāi)發(fā)在上述的極限編程思想中得到很好的體現(xiàn),對(duì)階段的劃分更細(xì),由兩周一次的小版本軟件發(fā)布到為期3個(gè)月的大版本發(fā)布,形成多層迭代的過(guò)程,也可以說(shuō)是多層迭代的增量過(guò)程,即迭代過(guò)程和增量過(guò)程的自然融合。迭代模型在IBMRational統(tǒng)一過(guò)程(RUP)中也得到另外一種詮釋,軟件產(chǎn)品經(jīng)過(guò)先啟、精華、構(gòu)建和產(chǎn)品化這一大迭代的過(guò)程。在“精化、構(gòu)建和產(chǎn)品”每一個(gè)階段中,又包含著幾次小的迭代過(guò)程。當(dāng)然,在RUP中,迭代的內(nèi)容豐富了,不僅是用戶的需求、業(yè)務(wù)建模和產(chǎn)品的功能設(shè)計(jì)等,而且還包括實(shí)施、部署、配置管理、變更管理、環(huán)境等,如圖所示。,29,RUP模型迭代過(guò)程,30,2.3軟件缺陷,2.3.1什么是軟件缺陷2.3.2軟件缺陷的產(chǎn)生2.3.3軟件缺陷的分類,31,2.3.1什么是軟件缺陷1、軟件缺陷的定義,軟件缺陷,常常又被叫做Bug(臭蟲(chóng))。軟件缺陷是計(jì)算機(jī)系統(tǒng)或者程序中存在的任何一種破壞正常運(yùn)行能力的問(wèn)題或錯(cuò)誤,或者隱藏的功能缺陷或瑕疵。缺陷會(huì)導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。,32,2.3.1什么是軟件缺陷,缺點(diǎn)(defect)偏差(variance)謬誤(fault)失?。╢ailure)問(wèn)題(problem)矛盾(inconsistency)錯(cuò)誤(error)毛?。╥ncident)異常(anomy),IEEE(1983)729軟件缺陷一個(gè)標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開(kāi)發(fā)或維護(hù)過(guò)程中所存在的錯(cuò)誤、毛病等各種問(wèn)題;從外部看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。,33,2、軟件缺陷的類型,軟件缺陷表現(xiàn)形式有多種,不僅僅體現(xiàn)在功能的失效方面,還體現(xiàn)在其他方面,軟件缺陷的主要類型/現(xiàn)象:功能、特性沒(méi)有實(shí)現(xiàn)或部分實(shí)現(xiàn)設(shè)計(jì)不合理,存在缺陷實(shí)際結(jié)果和預(yù)期結(jié)果不一致運(yùn)行出錯(cuò),包括運(yùn)行中斷、系統(tǒng)崩潰、界面混亂數(shù)據(jù)結(jié)果不正確、精度不夠用戶不能接受的其他問(wèn)題,如存取時(shí)間過(guò)長(zhǎng)、界面不美觀硬件或系統(tǒng)軟件上存在的其他問(wèn)題。,34,3、軟件錯(cuò)誤,軟件缺陷是一個(gè)更廣的概念,而軟件錯(cuò)誤屬于缺陷的一種內(nèi)部缺陷,往往是軟件本身的問(wèn)題,如程序的算法錯(cuò)誤、語(yǔ)法錯(cuò)誤或數(shù)據(jù)計(jì)算不正確、數(shù)據(jù)溢出等,部分軟件錯(cuò)誤如下。數(shù)組和變量初始化錯(cuò)誤或賦值錯(cuò)誤。算法錯(cuò)誤。在給定的條件下沒(méi)能給出正確或準(zhǔn)確的結(jié)果語(yǔ)法錯(cuò)誤。一般情況下,對(duì)應(yīng)的結(jié)果沒(méi)有滿足所需要的精度,35,系統(tǒng)結(jié)構(gòu)不合理,算法不科學(xué),造成系統(tǒng)性能低下接口參數(shù)傳遞不匹配,導(dǎo)致模塊集成出現(xiàn)問(wèn)題文字顯示內(nèi)容不正確或拼寫(xiě)錯(cuò)誤輸出格式不對(duì)或不美觀等但軟件錯(cuò)誤往往導(dǎo)致系統(tǒng)某項(xiàng)功能的失效,或成為系統(tǒng)使用的故障。,36,2.3.2軟件缺陷的產(chǎn)生,軟件錯(cuò)誤產(chǎn)生的原因可能還有其他一些,如軟件設(shè)計(jì)文檔不清楚,文檔本身就存在錯(cuò)誤,導(dǎo)致是使用者產(chǎn)生更多的錯(cuò)誤。還有溝通上的問(wèn)題、開(kāi)發(fā)人員的態(tài)度問(wèn)題以及項(xiàng)目管理問(wèn)題等。主要原因如下:項(xiàng)目期限的壓力產(chǎn)品的復(fù)雜度溝通不良開(kāi)發(fā)人員的疲勞、壓力或受到干擾缺乏足夠的知識(shí)、技能和經(jīng)驗(yàn)不了解客戶的需求缺乏動(dòng)力,37,軟件缺陷的產(chǎn)生-2,技術(shù)問(wèn)題算法錯(cuò)誤,語(yǔ)法錯(cuò)誤,計(jì)算和精度問(wèn)題,接口參數(shù)傳遞不匹配團(tuán)隊(duì)工作誤解、溝通不充分軟件本身文檔錯(cuò)誤、用戶使用場(chǎng)合(userscenario),時(shí)間上不協(xié)調(diào)、或不一致性所帶來(lái)的問(wèn)題系統(tǒng)的自我恢復(fù)或數(shù)據(jù)的異地備份、災(zāi)難性恢復(fù)等問(wèn)題,38,2.3.3軟件缺陷的分類,39,軟件產(chǎn)品規(guī)格說(shuō)明書(shū)為什么是軟件缺陷存在最多的地方,主要原因如下:用戶一般是非計(jì)算機(jī)專業(yè)人員,軟件開(kāi)發(fā)人員和用戶的溝通存在較大的困難,對(duì)要開(kāi)發(fā)的產(chǎn)品功能理解不一致。由于軟件產(chǎn)品還沒(méi)有設(shè)計(jì)、開(kāi)發(fā),完全靠想象去描述系統(tǒng)的實(shí)現(xiàn)結(jié)果,所有有些特性還不夠清楚。用戶的需求總是在不斷變化的,容易引起前后文、上下文的矛盾和需求描述的不一致。,40,需求分析沒(méi)有得到足夠重視。在規(guī)格說(shuō)明書(shū)設(shè)計(jì)和寫(xiě)作上投入的人力、時(shí)間不足。沒(méi)有再整個(gè)開(kāi)發(fā)隊(duì)伍中進(jìn)行充分溝通,有時(shí)只有設(shè)計(jì)師或項(xiàng)目經(jīng)理得到比較多的信息。,41,如果從軟件開(kāi)發(fā)各個(gè)階段所能發(fā)現(xiàn)的軟件缺陷分布來(lái)看,也主要集中在需求分析,系統(tǒng)設(shè)計(jì)階段,代碼階段的錯(cuò)誤要比前兩個(gè)階段少,如圖所示。,42,2.4軟件質(zhì)量,2.4.1軟件質(zhì)量需求的背景2.4.2軟件質(zhì)量需求的內(nèi)容2.4.3軟件質(zhì)量的定義2.4.4軟件質(zhì)量的特性分析,43,問(wèn)題出在哪里?,項(xiàng)目沒(méi)有被很好地理解;計(jì)劃不周,最終導(dǎo)致進(jìn)度拖延。沒(méi)有充分的文檔資料。人與人的交流比寫(xiě)程序困難得多。軟件可靠性缺少度量的標(biāo)準(zhǔn),質(zhì)量無(wú)法保證。軟件難以維護(hù)、不易升級(jí)。,44,2.4.1軟件質(zhì)量需求的背景,質(zhì)量的需求是被絕對(duì)認(rèn)可的,但質(zhì)量在軟件業(yè)的地位還不是十分堅(jiān)固市場(chǎng)力量對(duì)于軟件質(zhì)量的影響,既有正面的,也有負(fù)面的軟件越來(lái)越復(fù)雜,軟件的復(fù)雜性又是軟件質(zhì)量(包括軟件可靠性)的另一個(gè)敵人。軟件缺陷造成的質(zhì)量事故數(shù)不勝數(shù),給企業(yè)帶來(lái)的損失或負(fù)面影響很大。,45,2.4.2軟件質(zhì)量需求的內(nèi)容,軟件質(zhì)量的需求,不僅要滿足用戶的需求,還要降低復(fù)雜性,滿足可靠性要求,保證具有良好的可維護(hù)性。1、用戶的需求滿足用戶的需求,軟件的所有的功能正是用戶所需要的無(wú)缺陷或用戶可接受的非常低的缺陷率功能強(qiáng)大,而且界面美觀、易用、好用軟件界面美觀,內(nèi)容健康,有益于生活和工作用戶的數(shù)據(jù)安全、受保護(hù)和兼容及時(shí)得到新的產(chǎn)品或得到更完美的軟件服務(wù)軟件可靠性很高,使用軟件服務(wù)沒(méi)有時(shí)間障礙,46,2、軟件企業(yè)的需求軟件質(zhì)量是市場(chǎng)競(jìng)爭(zhēng)的需要;質(zhì)量好的軟件是留住客戶的最關(guān)鍵的手段之一,軟件企業(yè)也必須依靠質(zhì)量,才能立于不敗之地。高質(zhì)量的軟件可以大大降低“質(zhì)量問(wèn)題產(chǎn)生的成本”,增加公司的盈利;軟件已是國(guó)際化的市場(chǎng),質(zhì)量是進(jìn)入國(guó)際市場(chǎng)的一個(gè)關(guān)鍵門坎;容易維護(hù)、移植和擴(kuò)充,以擴(kuò)大市場(chǎng)或適應(yīng)環(huán)境的變化。,47,2.4.3軟件質(zhì)量的定義,ANSI/IEEESTD729給出了軟件質(zhì)量定義:軟件產(chǎn)品滿足規(guī)定的和隱含的與需求能力有關(guān)的全部特征和特性:軟件產(chǎn)品質(zhì)量滿足用戶要求的程度;軟件各種屬性的組合程度;用戶對(duì)軟件產(chǎn)品的綜合反映程度;軟件在使用過(guò)程中滿足用戶要求的程度。,48,軟件質(zhì)量的其它定義,SEI的WattsHumphrey認(rèn)為軟件質(zhì)量是“在實(shí)用性、需求、可靠性和可維護(hù)性一致上,達(dá)到優(yōu)秀的水準(zhǔn)”,客戶滿意度:使最終的軟件產(chǎn)品能最大限度地滿足客戶需求的程度。一致性準(zhǔn)則:在生命周期的每個(gè)階段中,其工作產(chǎn)品總能保持與上一階段工作產(chǎn)品的一致性,最終可追索到分配需求。軟件質(zhì)量度量:設(shè)立軟件質(zhì)量度量指標(biāo)體系(例如:ISO9126),并以此來(lái)度量軟件產(chǎn)品的質(zhì)量。過(guò)程質(zhì)量觀:軟件的質(zhì)量就是其開(kāi)發(fā)過(guò)程的質(zhì)量。Humphrey的質(zhì)量觀是“軟件系統(tǒng)的質(zhì)量取決于開(kāi)發(fā)和維護(hù)它的過(guò)程的質(zhì)量。”,49,軟件質(zhì)量范圍-3A,3A特性Accountability(可說(shuō)明性)用戶可以基于產(chǎn)品或服務(wù)的描述和定義進(jìn)行使用.(例如:市場(chǎng)需求說(shuō)明書(shū),功能設(shè)計(jì)說(shuō)明書(shū).)Availability(有效性)產(chǎn)品或服務(wù)對(duì)于99.999%客戶總是有效的(例如:性能測(cè)試和恢復(fù)測(cè)試)Accessibility(易用性)對(duì)于用戶,產(chǎn)品或服務(wù)非常容易使用并且一定是非常有用的功能.(例如:確認(rèn)測(cè)試和用戶可用性測(cè)試),50,RUP軟件質(zhì)量的三個(gè)維度,功能(Functionality):按照既定意圖和要求,執(zhí)行指定用例的能力??煽啃裕≧eliability):軟件堅(jiān)固性和可靠性(防故障能力,如防止崩潰、內(nèi)存丟失等能力)、資源利用率、代碼完整性以及技術(shù)兼容性等。健壯性和有效性有時(shí)可看成是可靠性的一部分。性能(Performance):用來(lái)衡量系統(tǒng)占用系統(tǒng)資源(CPU時(shí)間、內(nèi)存)和系統(tǒng)響應(yīng)、表現(xiàn)的狀態(tài),51,高質(zhì)量的軟件,應(yīng)該是相對(duì)的無(wú)產(chǎn)品缺陷(BugFree)或只有極少量的缺陷,它能夠準(zhǔn)時(shí)遞交給用戶并且所用的費(fèi)用都是在預(yù)算內(nèi)的并且滿足客戶需求,是可維護(hù)的。但是,有關(guān)質(zhì)量的好壞最終評(píng)價(jià)依賴于用戶的反饋。,52,2.4.4軟件質(zhì)量的特性分析,軟件系統(tǒng)的可靠性和性能相互關(guān)聯(lián)、相互影響。高可靠性可能降低性能,如數(shù)據(jù)的備份、重復(fù)計(jì)算等可以提高軟件系統(tǒng)的可靠性,但在一定程度上降低了系統(tǒng)的性能。又如一些協(xié)同工作的關(guān)鍵流程要求快速處理,達(dá)到高性能,而這些關(guān)鍵流程可能是單點(diǎn)失效設(shè)計(jì),其可靠性是不夠的。軟件系統(tǒng)的安全性和可靠性是一致的。因?yàn)槿魏我粋€(gè)失效,可能造成數(shù)據(jù)的不安全總之,對(duì)軟件系統(tǒng)的設(shè)計(jì),不僅要考慮功能、性能和可靠性等的要求,而且在可靠性、安全性、性能、適用性等軟件質(zhì)量特性方面達(dá)到平衡也是非常重要的。,53,軟件產(chǎn)品質(zhì)量屬性,3個(gè)基本屬性“可說(shuō)明性、有效性、易用性”或“功能、可靠性和性能”是不夠的。前5項(xiàng)對(duì)客戶重要,后4項(xiàng)對(duì)軟件開(kāi)發(fā)組織重要。-功能性Functionality-可用性Usability(簡(jiǎn)單安裝;輕松使用;友好界面)-可靠性Reliability(用戶使用的根本)-性能Performance-容量Capacity-可測(cè)量性Scalability-可維護(hù)性Servicemanageability-兼容性Compatibility-可擴(kuò)展性Extensibility,54,軟件質(zhì)量特征(1991年ISO發(fā)布ISO9126),功能:與一組功能及其指定性質(zhì)有關(guān)的一組屬性,這里的功能是滿足明確或隱含的需求的那些功能??煽浚涸谝?guī)定的一段時(shí)間和條件下,與軟件維持其性能水平的能力有關(guān)的一組屬性。易用:由一組規(guī)定或潛在的用戶為使用軟件所需作的努力和所作的評(píng)價(jià)有關(guān)的一組屬性。效率:與在規(guī)定條件下軟件的性能水平與所使用資源量之間關(guān)系有關(guān)的一組屬性??删S護(hù):與進(jìn)行指定的修改所需的努力有關(guān)的一組屬性??梢浦玻号c軟件從一個(gè)環(huán)境轉(zhuǎn)移到另一個(gè)環(huán)境的能力有關(guān)的一組屬性。其中每一個(gè)質(zhì)量特征都分別與若干子特征相對(duì)應(yīng)。,55,軟件質(zhì)量特性類圖,軟件質(zhì)量特性可以從產(chǎn)品和過(guò)程、動(dòng)態(tài)和靜態(tài)去歸納分析,如圖所示,56,用戶要求與軟件質(zhì)量特性(從用戶要求歸納),57,2.5軟件質(zhì)量的內(nèi)容,產(chǎn)品質(zhì)量是人們實(shí)踐產(chǎn)物的屬性和行為,是可以認(rèn)識(shí),可以科學(xué)地描述的。并且可以通過(guò)一些方法和人類活動(dòng),來(lái)改進(jìn)質(zhì)量.質(zhì)量模型:McCall模型,Boehm模型,ISO9126模型過(guò)程質(zhì)量:軟件能力成熟度模型CMM(CapabilityMaturityModel).國(guó)際標(biāo)準(zhǔn)過(guò)程模型ISO9000軟件過(guò)程改進(jìn)和能力決斷SPICE(SoftwareProcessImprovementandCapabilitydEtermination)在商業(yè)過(guò)程中有關(guān)的質(zhì)量?jī)?nèi)容:培訓(xùn)、成品制作、宣傳、發(fā)布日起、客戶、風(fēng)險(xiǎn)、成本、業(yè)務(wù)等,58,2.5.1軟件產(chǎn)品質(zhì)量,產(chǎn)品質(zhì)量是人們實(shí)踐產(chǎn)物的屬性和行為,是可以辨識(shí)的,并能進(jìn)行科學(xué)的描述??梢酝ㄟ^(guò)一些方法和人類活動(dòng),來(lái)改進(jìn)產(chǎn)品的質(zhì)量。軟件產(chǎn)品質(zhì)量,一般體現(xiàn)在以下方面。(1)功能性。軟件所實(shí)現(xiàn)的功能達(dá)到它的設(shè)計(jì)規(guī)范和滿足用戶需求的程度。(2)可用性。對(duì)于一個(gè)軟件,用戶學(xué)習(xí)、操作、準(zhǔn)備輸入和理解輸出所作努力的程度。(3)可靠性。用戶使用的根本,在規(guī)定的時(shí)間和條件下,軟件所能維持其正常的功能操作、性能水平的程度。,59,(4)性能。在指定條件下,用軟件實(shí)現(xiàn)某種功能所需的計(jì)算機(jī)資源的有效程度。(5)容量。系統(tǒng)的接受、容納或
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水產(chǎn)養(yǎng)殖基地土地使用權(quán)合同
- 公司技術(shù)服務(wù)采購(gòu)合同
- 豪華酒店廚師服務(wù)合同
- 電子產(chǎn)品購(gòu)銷合同標(biāo)準(zhǔn)版
- 房地產(chǎn)投資專項(xiàng)法律服務(wù)合同
- (完整版)農(nóng)村土地租賃合同書(shū)
- 光學(xué)玻璃的紫外光固化涂層技術(shù)考核試卷
- 醫(yī)療用品行業(yè)服務(wù)平臺(tái)拓展考核試卷
- 搪瓷原材料市場(chǎng)動(dòng)態(tài)與價(jià)格趨勢(shì)考核試卷
- 數(shù)字出版物的長(zhǎng)期保存與數(shù)字遺產(chǎn)考核試卷
- GB/T 18913-2002船舶和航海技術(shù)航海氣象圖傳真接收機(jī)
- 高中教師先進(jìn)事跡材料范文六篇
- 烹飪專業(yè)英語(yǔ)課件
- 3d3s基本操作命令教程課件分析
- 人教版三年級(jí)語(yǔ)文下冊(cè)晨讀課件
- 傳染病防治法培訓(xùn)講義課件
- 河南大學(xué)版(2020)信息技術(shù)六年級(jí)下冊(cè)全冊(cè)教案
- 法律方法階梯實(shí)用版課件
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 白描課件講義整理
- 實(shí)驗(yàn) 探究彈簧彈力與形變量的關(guān)系2022-2023學(xué)年高一物理(人教版2019必修第一冊(cè))
評(píng)論
0/150
提交評(píng)論