news
1 需求分析階段質量控制
MES信息系統(tǒng)需求分析階段在整個MES軟件建設中占有非常重要的地位,它為下一階段的開發(fā)奠定了基礎、指明了方向。據(jù)統(tǒng)計,信息系統(tǒng)建設過程中有15%的錯誤起源于錯誤的需求分析。而對于這些錯誤的修改需要耗費大量的資源,甚至導致最終無法按時完成任務等嚴重后果。因此需求分析對于信息系統(tǒng)質量以及開發(fā)成本都有非常重要的影響,所以研究需求分析階段的質量控制顯得十分重要。
1.1需求分析階段質量因素分析
需求分析階段影響質量控制的主要因素有:
(1)需求分析目標不明確,不能詳細充分的理解客戶對于產(chǎn)品、質量、價格等方面的需求和期望,從而導致需求分析結果與實際不符。
(2)需求分析進度安排不合理,進度安排過快導致質量無法得到保障。進度安排過慢會浪費大量的資金及人力資源,而對MES系統(tǒng)建設并沒有根本性的提升作用。
(3)需求分析階段質量控制缺乏質量評價標準或者質量控制標準制定的不合理。
(4)對于能對需求分析階段質量產(chǎn)生影響的隨機因素缺乏相應的應急處理措施。
(5)成本分析不合理導致成本遠遠超出預期。
1.2需求分析階段質量控制方法
作為信息系統(tǒng)開發(fā)中非常重要的一部分,MES系統(tǒng)需求分析階段的質量控制方法與普通商品的質量控制方法有很大的差異。MES系統(tǒng)需求分析階段質量控制方法主要從兩個方面來進行研究:一是從管理學與經(jīng)濟學的角度進行研究,在MES項目的管理中如何降低風險、減少錯誤從而降低成本、提高項目質量并對人力資源進行合理的使用及分配;二是從技術的角度進行研究,主要研究如何在項目的整個生命周期中采用模塊化、分階段以及過程控制的思想使需求分析階段的質量得到有效的控制。
(1)從管理學與經(jīng)濟學的角度
作業(yè)成本法是流程分析法的一種,作業(yè)成本法以活動為中心,通過對活動成本的計算,對所有活動進行追蹤,盡可能地消除不增值活動,改進可增值活動。作業(yè)成本法是對現(xiàn)有業(yè)務進行分解,找出基本活動,側重于對各個活動的成本,特別是活動所消耗的人工、時間等分析,因為流程費用和流程周期是評價流程的重要指標,使用作業(yè)成本法計算出流程每項活動的費用,并以此確定需要優(yōu)化的關鍵活動或流程。
首先我們采用作業(yè)成本法思想從大量影響需求分析成敗的因素中找出了項目建設的進度、成本、人力資源等主要影響因素,它們對需求分析階段質量的影響非常大,因此被稱為需求分析階段質量控制的主成分。其對質量控制的影響可以采用下面的函數(shù)進行描述:
Q=F(c,P,h,r)
在上式中:Q表示需求分析達到的質量;C表示需求分析階段的成本;P表示最終的需求分析進度;h表示需求分析階段投資的人力資源;r表示在需求分析階段對質量產(chǎn)生隨機影響的其它因素。MES項目需求分析階段對質量產(chǎn)生影響的因素圖如下圖1所示。
圖1 需求分析階段對質量產(chǎn)生影響的因素分析圖
1)成本分析及控制方法
在需求分析階段,成本對于需求分析質量的影響是單方向的。當在開發(fā)環(huán)境保持不變情況下,若提高對需求分析階段質量的要求,則完成該需求分析所花費的成本一般將會提高;然而,假如只是簡單提高需求分析階段的成本,需求分析階段的質量并不一定會得到提高。
需求分析階段的成本投入應遵循的相關質量控制方法如下:
①當投資方對系統(tǒng)功能有較高要求的時應適當加大投資額。只追求質量提高而不適當加大資金投入是不現(xiàn)實的。
②正確看待成本與需求分析質量之間的關系。不能隨意夸大資金投入對質量提升的作用,應該認識到當投入達到一定程度時,其對需求分析質量的提升力會逐步減少,最終趨于零。
2)進度分析及相關控制策略。
需求分析的進度對于需求分析階段的質量影響具有一定的單調性。假如進度安排過快,那么需求分析的質量就無法得到保證。進度安排在一定的范圍內,如果進度降低則對于需求分析的質量起到明顯的提升作用。當然假如進度安排無限期延后則對于MES需求分析的質量并沒有根本性的提升作用。
需求分析階段進度安排應該遵循如下的質量控制方法:
①借鑒成熟的、成功的軟件開發(fā)的進度安排,并結合項目本身的特點進行建立需求分析階段的進度安排。
②進度安排不能過快,過快會使出現(xiàn)錯誤的幾率大大增加,以致影響到整個項目的質量。因此進度應控制在合理的范圍之內。
3)人力資源配置及相關控制方法。
人力資源在需求分析質量控制中占據(jù)核心的地位。這是因為需求分析屬于智力密集型工作。要想使需求分析達到較高的質量就必須是相關人員的聰明才智及創(chuàng)造精神得到充分發(fā)揮。
在需求分析階段對人力資源的管理方面所遵循的質量控制方法如下:
①崗位分配做到人盡其才”,為了發(fā)掘每個人的長處,我們建立了合理的崗位分配制度,從而使每個人的特長得到最大限度的發(fā)揮,進而提升了需求分析的質量。
②經(jīng)常對有關員工驚醒需求分析理念、方法方面的培訓,從而促進了需求分析階段質量的提升。
(2)從工程技術的角度
需求分析的質量主要取決于需求分析的過程。假如能夠對需求分析的過程加以控制,那么就可以大幅提高需求分析的質量。如果能夠使需求分析過程的劃分獨立于技術以及MES軟件的生存周期模型,那么就可以避免技術的限制,大多數(shù)高質量的軟件的需求分析就是通過對過程的穩(wěn)定受控來進行軟件的需求分析。
圖2 需求分析的流程圖
需求分析的過程可細分為以下幾個步驟:
1)定義項目視圖及范圍;
2)確定需求的來源;
3)收集、整理并分析用戶的需求;
4)編寫用戶需求說明書;
5)對用戶需求規(guī)格說明進行評審;
6)將用戶的需求轉化為開的需求;
7)編寫出開發(fā)需求規(guī)格說明;
8)對開發(fā)需求規(guī)格進行評審;
9)軟件需求的變更管理及控制。
以上這些步驟還可以根據(jù)項目的實際情況再進一步地細分為多個子過程,當然這些子過程會由于項目的不同出現(xiàn)一些細微的差別,但它們總體上的差別并不大。
客戶滿意度的提升是進行質量控制的動力,無論是為客戶提供產(chǎn)品還是為客戶提供服務都必須要充分理解客戶的需求,所以必須要多次做調研,與用戶進行充分的交流,理解并滿足用戶的需求。以客戶為中心的質量控制準則,必須確保所提供的產(chǎn)品及服務范圍和客戶達成一致。這就要充分地理解客戶對于產(chǎn)品、質量、價格等方面的需求及期望,實現(xiàn)客戶的需求與期望之間的平衡,將這些需求與期望下達到整個企業(yè),測試客戶的滿意度并進行不斷地改進。
軟件需求是軟件開發(fā)計劃的主要輸入,軟件需求分析人員詳細描述和提煉需求,并生成文件化的軟件需求,并由以下人員審查:項目經(jīng)理、系統(tǒng)測試組、質量部、用戶。更改軟件計劃、工作產(chǎn)品和活動,以便與軟件需求的改變保持一致。需求評審過程如圖2所示。
圖3 需求分析階段的評審過程
2 設計階段質量控制
軟件與硬件一樣,它的質量是設計和生產(chǎn)決定的。其中,軟件項目設計階段對軟件項目質量具有關鍵性的影響。設計階段的對于軟件項目的重要性可從下圖看出,其中(a)為經(jīng)歷了設計階段后的軟件項目的質量效果,其在軟件使用以及維修階段出現(xiàn)的問題較少;(b)為跳過設計階段的軟件項目質量效果,當?shù)搅耸褂煤途S修階段,出現(xiàn)軟件問題很多,到了無法解決的地步。從以上這種情況可以看出,軟件項目設計階段對于質量控制的重要性。
軟件設計工作是MES軟件開發(fā)過程的最重要階段之一,軟件設計文檔是該階段最重要的產(chǎn)品。軟件設計階段容易出現(xiàn)許多的問題,同時軟件編碼階段與軟件設計階段的脫節(jié)也是常見現(xiàn)象。這些問題的出現(xiàn)有各方面的原因。但最終結果都將造成軟件產(chǎn)品質量不高。
完成這個階以后,軟件設計者會設計出一種用來表示最終系統(tǒng)的模型,這個模型將會影響產(chǎn)品的后續(xù)的開發(fā)過程難易度以及未來系統(tǒng)升級的難易度。因此,軟件設計階段在軟件開發(fā)的三個階段(設計、編碼、測試)中處于核心位置。設計階段起始于軟件需求階段完成以后,這一階段是采用概括性的語言對軟件產(chǎn)品進行描述,所以設計者可以集中精力考慮軟件的質量而不需要過多的考慮軟件實現(xiàn)過程中的復雜度,因此軟件的質量主要取決于設計階段的工作,而非一般認為的編碼階段。設計階段的軟件模型將是軟件質量評估的標準,它是將用戶需求準確轉化為軟件產(chǎn)品的唯一方法。如果沒有軟件設計,在軟件編碼階段,程序員將缺乏軟件實現(xiàn)的標準,開發(fā)出的軟件將會很不穩(wěn)定:可能直到編碼階段的后期才會發(fā)現(xiàn)系統(tǒng)的缺陷,這時無論是重新設計還是修改都將浪費大量的人力、物力。
軟件設計階段的主要任務是:在確定了軟件需求的基礎之上,對軟件的架構、模塊與算法、組件等進行概要設計與詳細設計。軟件設計需要遵循的原則是與平無關且代碼透明。一個高質量的MES軟件架構,應該最大限度的考慮并滿足不同角色的不同要求。
衡量MES軟件設計質量可以通過以下幾個方面進行考慮:
(1)功能性:包括正確性、完全性、安全性、互用性、兼容性。正確性表示軟件設計與需求的一致度。完全性包括普通功能點的覆蓋率,重點功能點的覆蓋率以及優(yōu)先功能覆蓋率。安全性根據(jù)軟件需求的不同而不同。
(2)效率:主要是指軟件利用的硬件資源的效率以及運行的時間效率。
(3)維護性:主要是指軟件架構的可修改性,可測試性以及可擴充性。假如用戶的需求發(fā)生很小的變更而導致架構設計發(fā)生很大的變化,則這樣的軟件架構設計的可擴充性以及可修改性就比較差。
(4)可移植性:主要包括軟件的獨立性、硬件的獨立性、軟件的可重用性及可安裝性。軟件設計時應該認真考慮軟件的模塊化以及每個模塊的可復用性等。
(5)安全可靠性:在軟件運行環(huán)境方面,服務器應采用高可靠性的集群設置,保證可以不問斷運行,確保軟件的開發(fā)進度及服務質量。
(6)使用性:包括可理解性、易學習性、可操作性、易溝通性。軟件設計的最終目的是提高用戶的工作效率,如果易用性、可操作性不好將會影響用戶對軟件的使用。
2.1設計階段質量因素分析
(1)軟件概要設計階段與詳細設計階段的劃分不清晰
軟件概要設計階段的主要內容是進行軟件需求的高層的設計,這一階段的主要任務就是把用戶需求轉換為軟件的體系結構,建立軟件的形態(tài)結構。然后進行結構的分解,按功能需求的不同把軟件分解為能夠獨立運行的組件,確定各個軟組件所處的結構層次。而軟件的詳細設計階段是把概要設計階段所分解出來的每一個軟組件進行底層的設計,主要是描述每個軟組件的過程特征,包括它們之間的時間關系及順序關系。
在此階段必須詳細描述出MES的每個軟組件中各個軟件單元之間的組成關系以及控制關系;還要詳細定義出每個軟件單元的處理邏輯以及單元之間的所有接口信息,另外還要詳細定義出各個單元內部所使用的數(shù)據(jù)。可見在軟件設計階段,概要設計更為看重的是單元以及各組件之間的關系,還有整個軟件的層次結構。而在詳細設計階段,主要是對各個軟組件的內部進行詳細設計。但是如果對軟件的詳細設計與概要設計階段劃分不清楚,特別是當使用面向對象的設計方法后,概要設計和詳細設計階段的區(qū)分已經(jīng)不太明顯,這樣很多人在每個階段設計的過程中不清楚自己的設計工作,從而導致了文檔缺乏一致性,使程序員不容易閱讀。
(2)軟件設計的文檔描述不規(guī)范
當軟件設計完成后,需要采用規(guī)范的語言編寫出軟件的設計文檔。而有些人沒有按照規(guī)范對需要的內容進行描述,導致軟件描述不完整,內容出現(xiàn)遺漏。文檔是各部分人員溝通的橋梁,需要用簡潔的語句表達清楚。有些文檔語句有二義性。有些文檔編寫者習慣使用或、大概之類的字眼。有些文檔采用被動語句描述,使文檔閱讀者不易理解。有些文檔術語的使用前后不一致,與同一項目中的其他文檔的術語使用也不一致。有些文檔性能實現(xiàn)、軟件功能的描述缺乏可追蹤性,讓閱讀者不清楚依據(jù)是什么,可參考的方法是建立一個追蹤表,把每一項描述與上一級文檔中的關系列入表中。
(3)詳細設計文檔描述粗糙
在當今的軟件項目開發(fā)中。軟件設計階段的重要性大大提高,軟件的編碼已經(jīng)成為一種將軟件設計階段的偽碼使用另一種語言進行轉換的簡單勞作過程。在這樣的要求的約束下,就要求軟件的詳細設計文檔要細之又細。如果是面向過程的設計方法,就要求將軟件的每一個算法、公式進行描述,對于程序的每一個輸入、輸出以及操作和處理步驟都應該詳細描述,達到編碼的功能。如果是面向對象的設計方法,就要求將軟件的每一個類以及類之間的每一個接口調用都應該進行偽碼描述。但是軟件設計人員多數(shù)時候達不到這么細的設計要求。他們認為軟件的開發(fā)還是應該看重軟件的編碼過程,要給予程序員更大的發(fā)揮空間,這就導致了軟件的質量沒有一個明確的標準,軟件質量不易控制,不符合軟件工程的要求。
2.2 設計階段質量控制方法
質量功能展開(QFD)技術是以顧客需求為驅動的產(chǎn)品開發(fā)技術,它是一種在產(chǎn)品設計階段進行質量保證的方法,其目的是使產(chǎn)品能以最低的成本、最快的速度以及最優(yōu)的質量占領市場。QFD通過對市場進行調查來獲取顧客的需求,然后采用矩陣圖解法將顧客的需求分解到產(chǎn)品開發(fā)的各個階段和各職能部門中,通過協(xié)調各部門的工作以保證軟件的產(chǎn)品質量,使得軟件產(chǎn)品能真正地滿足顧客的需求。
QFD的核心思想是:從可行性分析到產(chǎn)品生產(chǎn)都是以顧客需求為核心,強調將顧客需求轉變?yōu)楫a(chǎn)品開發(fā)和生產(chǎn)計劃部門等相關人員均能理解執(zhí)行的信息,從而最終保證企業(yè)能生產(chǎn)出符合顧客需求的產(chǎn)品。QFD的核心內容是需求轉換,采用的是質量屋形式,質量屋是一種直觀的矩陣框架表達形式,是QFD方法的重要工具。質量屋如下圖5所示:
圖5 質量屋
質量屋主要由以下幾個部分組成:
(1)左墻(WHATS),表示顧客需求及其重要度,可以通過市場調查等方法獲??;
(2)天花板(HOWS),表示工程技術措施,由專門的功能小組從獲取的顧客需求中抽取,是為了滿足用戶而采取的一系列的方法;
(3)房間,表示W(wǎng)HATS項和HOWS項的相關關系;
(4)屋頂(HOWS的相互關系矩陣),用于評估各項技術要求之間的相關程度;
(5)右墻,競爭性或可競爭力或可行性分析比較;
(6)地下室,工程技術措施的指標及重要度,一般就是指加權后的技術要求的權重。
通過運用QFD中的質量屋,把顧客需求有效地轉換成質量特性,并層層順次展開,將顧客需求逐步映射至軟件開發(fā)設計的全部過程和各個環(huán)節(jié),建立起一系列流程和控制目標,最終體現(xiàn)在質量控制規(guī)范的過程監(jiān)控措施和質量管理文檔上,通過實現(xiàn)和協(xié)調這些目標,最大限度地滿足顧客需求。
因此設計階段我們采用質量功能展開(QFD)思想,以顧客需求的轉換、映射和實現(xiàn)為主線,通過采用矩陣圖解法,將顧客需求轉換到軟件開發(fā)的各個功能模塊以及各職能部門中,由質量控制組制定具體的質量保證措施,通過協(xié)調各部門的工作從而控制軟件的質量,使得軟件項目建設的質量滿足預期要求。
圖6 基于用戶需求的QFD思想的質量控制模型
根據(jù)質量功能展開的思想,為了滿足MES項目設計階段質量控制的要求還需要做好如下工作:
(1)做好MES軟件設計階段項目管理的組織工作
由于MES項目設計階段可能涉及到很多相關方的參與,因此為了做好MES項目設計階段的質量控制,實現(xiàn)預期的目標,根據(jù)質量功能展開思想,在設計階段,必須建立項目設計階段質量控制負責的團隊及其相應的工作流程。做好軟件設計階段的組織工作。
(2)對于軟件設計的每個階段進行細化,制定出相應的質量標準體系
項目質量指標體系一定要具備完整性、科學性以及合理性。軟件設計分為概要設計和詳細設計兩個階段,在概要設計階段,應建立總體結構,進行模塊劃分模塊并定義出每個模塊所對應的接口,還要進行可靠性安全性分析設計,并制定軟件集成測試計劃。在詳細設計階段,則要設計軟件每個部件的算法與細節(jié),確定軟件每個部件接口的詳細信息并擬訂出測試方案。在此期間,必須嚴格進行配置管理,組織驗收與評審,詳細記錄出現(xiàn)的問題。
設計評審是對MES系統(tǒng)實現(xiàn)方案和實現(xiàn)技術確認的一種評審形式。設計評審的目的是在工程進入下一階段之前,盡可能地識別出MES系統(tǒng)中的重大技術缺陷,避免后續(xù)工程因系統(tǒng)的質量缺陷而出現(xiàn)大量返工和嚴重工期延誤。同時,通過設計評審可以使相關人員對工作產(chǎn)品和能夠預防的缺陷有更好的理解。設計評審人員按照事先定義好的檢查表系統(tǒng)地審查MES系統(tǒng),找出其中可能存在的缺陷、確定需要更改的范圍,并對消除缺陷過程進行跟蹤。MES系統(tǒng)設計評審工作流程如圖7所示。
圖7 設計評審工作流程圖
軟件開發(fā)質量控制的過程就是各個工作組相互交流協(xié)調的過程。大家的目標是相同的,角度是不同的。軟件設計階段的目標就是將用戶的需求轉化為能夠實現(xiàn)的程序,技術實現(xiàn)人員更多的是從技術出發(fā),需求分析人員主要要從用戶的角度出發(fā),因此軟件設計人員必須和需求分析人員保持溝通,避免軟件的設計和用戶的需求出現(xiàn)偏差。此外設計出來的軟件最后需要編碼人員來實現(xiàn),因此兩者之間也需要經(jīng)常保持溝通,避免軟件的設計通過編碼實現(xiàn)過于困難,而且兩者之間的溝通還有利于軟件運行效率的提高以及避免產(chǎn)生歧義。
在整個軟件設計過程中應正確的對待出現(xiàn)的問題:首先出現(xiàn)問題是很正常的,有問題并不針對個人,不能直接說明個人能力。其次,每個工作組應該將適度妥協(xié)和堅持原則相結合,根據(jù)實際情況可以調節(jié)適當?shù)耐讌f(xié),但關乎到原則性的東西,比如先改文檔后改程序,先有文檔后有程序的原則時就不能妥協(xié)。
3 實旅階段質量控制
3.1 實施階段質量因素分析
MES系統(tǒng)項目實施階段,系統(tǒng)質量因素分為三組,分別反映用戶在使用軟件產(chǎn)品時的三種不同觀點。這三種觀點是:產(chǎn)品運行、產(chǎn)品修改和產(chǎn)品轉移。MES系統(tǒng)作為一個軟件產(chǎn)品,可參照圖11三種觀點來定義。
圖11 系統(tǒng)質量因素模型
質量因素如下表2定義。
在MES系統(tǒng)項目實施過程中,影響軟件質量因素的原因很多,具體地說,主要有如下幾點:
(1)交流不夠或者根本不進行交流:在應該做什么或不應該做什么不清晰的情況下進行開發(fā);
(2)軟件復雜性:圖形用戶界面(GUI)、客戶/服務器結構、分布式應用、數(shù)據(jù)通信、超大型關系型數(shù)據(jù)庫以及龐大的系統(tǒng)規(guī)模,使得軟件及系統(tǒng)的復雜性呈指數(shù)增長,沒有現(xiàn)代軟件開發(fā)經(jīng)驗的人很難理解它;
(3)程序設計錯誤:像所有的人一樣,程序員也會出錯:
(4)需求變化:需求變化的后果是造成系統(tǒng)的重新設計,設計人員的日程重新安排,已經(jīng)完成的工作可能要重做或者完全拋棄,等等。如果有許多小的改變或者一次大的變化,項目各部分之間已知或未知的依賴性可能會相互影響而導致更多問題的出現(xiàn),需求改變帶來的復雜性可能導致錯誤;
(5)時間壓力:軟件項目的日程表很難做到準確,很多時候需要預計和猜測。當最終期限迫近和關鍵時刻到來之際,錯誤也就跟著到來;
(6)代碼文檔貧乏:貧乏或者差勁的文檔使得代碼維護和修改變的異常艱辛,其結果是帶來許多錯誤;
針對MES系統(tǒng)實施階段質量因素,系統(tǒng)實施人員在實施階段需要從系統(tǒng)質量角度出發(fā),組織實施和審核MES系統(tǒng)。在審核過程中,首先需驗證MES系統(tǒng)在用戶的使用環(huán)境下是否滿足功能需求,從用戶的角度進行驗收測試,以驗證MISS系統(tǒng)運行的正確性;其次需按照系統(tǒng)研制任務書中規(guī)定的條款進行技術評審,通過技術評審及時識別并消除MES系統(tǒng)中的缺陷,以達到改善MES系統(tǒng)的質量。
3.2 實施階段質量控制方法
(1)實施階段的質量控制方法
MES項目建設的最終目標是向用戶方提供優(yōu)質的產(chǎn)品和服務。對MES項目建設實施過程中各階段的質量進行控制是實施質量控制的核心,只有對每個階段的質量進行嚴格控制,才有可能保證整個項目的質量。這一階段的質量控制就是控制階段性產(chǎn)品的質量特征和特性指標是否達到技術要求標準和用戶需求。
首先MES項目建設必須以客戶需求為導向,實施階段質量管理必須需要用戶方參與,如軟件開發(fā)過程中的評審、軟件運行記錄等工作都需要用戶方給予積極的配合。其次必須遵循業(yè)界以及國內外關于質量的標準,依靠現(xiàn)代項目控制方法論的實踐而形成的質量控制體系。規(guī)范要求對每一個項目或產(chǎn)品制定質量計劃,通過成熟的技術和經(jīng)驗,為客戶提供完善的服務并達到高標準的客戶滿意程度。
實施階段質量控制的要點:
1)首先以質量方針為指導,構筑完善的質量管理組織結構,建立完整的質量控制體系文件,制訂明確的質量控制目標,質量檢驗方法及手段。
2)進行各階段分析,分清主次,抓住關鍵是階段性質量控制的目的。對實施階段的每一步進行分析,從該階段眾多影響工程質量的因素中重要的或關鍵的質量特征特性指標,以便在實施中對那些主要因素制定出相應的控制措施和標準,開展對關鍵質量的重點控制。
3)明確實施階段質量控制的資源需求,包括人員、工具和設施等。其次要明確實施階段質量控制組的每個成員的職責和權限,當出現(xiàn)質量問題時能夠責任到人。
4)制定出實施階段質量控制的評審組,進行評審和檢查時所參見的項目標準和過程等。
(2)驗收測試的組織與管理
1)驗收測試過程及組織
實施階段MES系統(tǒng)驗收測試,由一位對整個系統(tǒng)設計熟悉的設計人員編寫驗收測試大綱,明確驗收測試的內容和驗收測試的準則。驗收測試人員仔細閱讀有關資料,包括規(guī)格說明、設計文檔、使用說明書及在設計過程中形成的測試大綱、測試內容及測試的通過準則,全面熟悉系統(tǒng),編寫測試計劃,設計測試用例,作好測試前的準備工作。
為了保證測試的質量,將驗收測試過程分成三個階段,即:驗收測試、驗收測試問題改正和驗收。驗收測試的主要目的是驗證所開發(fā)的系統(tǒng)在用戶的使用環(huán)境下是否滿足系統(tǒng)需求,從用戶的角度驗證整個系統(tǒng)進行的正確性;驗收測試問題改正是對驗收測試中發(fā)差異性問題進行修改;驗收則是在驗收測試的基礎上,對項目的完成情況進行綜合評價。
①驗收測試
驗收測試流程圖如下圖12所示:
圖12 驗收測試流程圖
驗收測試任務:
a準備驗收測試
驗收測試人員從配置庫提取MES系統(tǒng)驗收測試計劃和MES系統(tǒng)的目標代碼,根據(jù)測試計劃建立測試環(huán)境,必要時準備測試數(shù)據(jù)和編寫測試用例程序。
b執(zhí)行驗收測試用例
按驗收測試計劃反復執(zhí)行驗收測試用例。
c分析并報告測試結果
分析測試結果并形成MES系統(tǒng)驗收測試報告。
②驗收測試問題改正
驗收測試問題改正流程如下圖13所示:
圖13 驗收測試問題改正流程圖
包括以下活動:
a修改軟件錯誤
開發(fā)組人員根據(jù)測試問題報告單分析、修改錯誤,若有變更則按變更控制的要求執(zhí)行。
b升級配置庫
對新提交的配置進行配置。
③驗收
a組織驗收
驗收在驗收測試的基礎上由驗收組進行。驗收內容一般包括以下方面:對MES系統(tǒng)項目實施的技術路線、采用的關鍵技術進行評價;對MES系統(tǒng)的完整性、正確性進行評價;對驗收測試的結果進行評價;依據(jù)項目任務書對項目的完成情況進行綜合評價。
在上述評價的基礎上,給出驗收結論,并形成驗收報告。驗收結論分為:通過驗收;需要復評;不通過驗收。
b發(fā)布已通過驗收的系統(tǒng)
通過驗收的系統(tǒng),將經(jīng)用戶驗收確認的最終版配置到客戶區(qū),并形成運行基線。
2)驗收測試文件管理
驗收測試文件描述MES系統(tǒng)驗收測試及測試的結果。由于驗收測試是一個很復雜的過程,必須把對驗收測試要求、測試過程及測試結果以正式的文件形式寫出。
①測試文件的類型
根據(jù)測試文件所起的作用不同,通常把測試文件分成兩類,即測試計劃和測試分析報告。驗收測試計劃詳細規(guī)定驗收測試的要求,包括測試的目的和內容、方法和步驟,以及測試的準則等。測試報告用來對測試結果的分析說明,經(jīng)過測試后,證實了系統(tǒng)具有的能力,以及它的缺陷和限制,并給出評價的結論性意見。
②測試文件的使用
系統(tǒng)實施階段,驗收測試文件的重要性表現(xiàn)在以下幾個方面:
a驗證需求的正確性:測試文件規(guī)定了用以驗證系統(tǒng)需求的測試條件,測試條件有助于弄清用戶需求;
b檢驗測試資源:測試計劃不僅要用文件的形式把測試過程規(guī)定下來,測試工作必不可少的資源,進而檢驗這些資源是否可以得到;
c明確任務的風險:有了測試計劃,就可以弄清楚測試可以做什么,不能做什么。了解測試任務的風險有助于對潛伏的可能出現(xiàn)的問題事先作好思想上和物質上的準備:
d生成測試用例:測試用例決定著測試工作的效率,選擇合適的測試用例是做好測試工作的關鍵;
e評價測試結果:測試文件包括測試用例,即若干測試數(shù)據(jù)及對應的預期測試結果。完成測試后,將測試結果與預期的結果進行比較,便可對已進行的測試提出評價意見;
f決定測試的有效性:完成測試后,把測試結果寫入文件,對分析測試的有效性,甚至整個軟件的可用性提供依據(jù)。
3)技術評審的組織與管理
技術評審是針對MES系統(tǒng)項目實施過程中旨在發(fā)現(xiàn)系統(tǒng)可能存在的缺陷的技術性評審活動,例如,針對系統(tǒng)需求規(guī)格說明書、設計說明書和源代碼文件進行的設計評審和檢查活動等。技術評審通常按照事先定義好的檢查表,系統(tǒng)地檢測MES系統(tǒng),找出其中可能存在的缺陷、確定需要更改的范圍。
通過技術評審活動可以及早消除MES系統(tǒng)中的缺陷,改善系統(tǒng)質量。同時,通過技術評審活動可以使相關人員對MES系統(tǒng)和能夠預防的缺陷有更好的理解。因此技術評審目標是有計劃地進行技術類評審一以成本效益較高的方式來發(fā)現(xiàn)缺陷,提高生產(chǎn)效率;及早識別并消除軟件工作產(chǎn)品中的缺陷一改善產(chǎn)品質量。
4 維護階段質量控制
4.1 維護階段質量因素分析
系統(tǒng)維護工作在整個系統(tǒng)生命周期中常常被忽視。人們往往熱衷于系統(tǒng)開發(fā),當開發(fā)工作完成以后,多數(shù)情況下開發(fā)隊伍被解散或撤走,而在系統(tǒng)開始運行后并沒有配置適當?shù)南到y(tǒng)維護人員。一旦系統(tǒng)發(fā)生問題或環(huán)境發(fā)生變化,最終用戶將無從下手,這就是一些信息系統(tǒng)在運行環(huán)境中,長期與舊系統(tǒng)并行運行不能轉換,甚至最后被廢棄的原因。因此,系統(tǒng)維護是MES系統(tǒng)可靠運行的重要技術保障,必須足夠的重視。
在系統(tǒng)維護的過程中,一般存在的問題有:許多系統(tǒng)中的維護工作非常困難,如文檔不全、代碼編寫不規(guī)范、沒有完整的注釋、變量命名各行其是、風格不統(tǒng)一等;系統(tǒng)維護費高,軟件功能模塊的升級費一般為原來購買價格的20%,費用最高的是在通用系統(tǒng)基礎上所進行的二次開發(fā)部分,要專門維護開發(fā);維護工作面廣、維護工作量大、新的需求不斷涌現(xiàn)、舊的問題還沒完全解決,且維護是一個有始無終的漫長過程;維護的關聯(lián)性大,一個模塊的維護往往牽涉到多個模塊的共用程序。
影響MES系統(tǒng)項目維護工作質量的因素有:
(1)系統(tǒng)規(guī)模的大?。?br/> (2)系統(tǒng)的復雜性較大,牽一發(fā)動全身;
(3)應提供的系統(tǒng)開發(fā)文檔和用戶報告較少、不準確;
(4)原文件開發(fā)文檔質量較差,描述不準確、內容不完善;
(5)系統(tǒng)的涉及領域復雜,需求變化較大。
因此,針對影響維護工作的因素,必須從管理維護過程入手,有計劃、有組織地對MES系統(tǒng)進行維護,以保證MES系統(tǒng)正常而可靠的運行,并使MES系統(tǒng)不斷得到改善和提高,充分發(fā)揮其作用。
4.2維護階段質量控制方法
MES系統(tǒng)在完成系統(tǒng)實施、投入正常運行之后,就進入了系統(tǒng)運行與維護階段。
(1)系統(tǒng)維護包括以下幾種類型
改正性維護:為識別和糾正系統(tǒng)錯誤、改正系統(tǒng)性能上的缺陷所進行的診斷和改正錯誤的過程。
適應性維護:因外部環(huán)境或數(shù)據(jù)環(huán)境發(fā)生變化而修改系統(tǒng)的過程。
完善性維護:為滿足用戶擴充系統(tǒng)功能、增強系統(tǒng)性能、改進工作效率等新的需求而修改或開發(fā)系統(tǒng)的過程。
預防性維護:提高系統(tǒng)可維護性、可靠性等,為進一步改進系統(tǒng)打下基礎的修改過程。
(2)系統(tǒng)維護過程事件流
系統(tǒng)維護過程事件流如下圖14所示:
圖14 MES系統(tǒng)維護過程事件流圖
(3)維護階段的任務
1)建立系統(tǒng)維護小組
系統(tǒng)維護小組的組成可以是項目組的成員,也可以不是項目組的成員。
2)制定維護實施計劃
由系統(tǒng)維護小組負責人負責該計劃的編制。內容包括維護小組的組成及職責,規(guī)定維護工作流程、維護過程信息記錄與統(tǒng)計等。維護實施計劃編制后應進行評審。
3)實施系統(tǒng)維護
系統(tǒng)維護的具體實施按規(guī)定的維護工作流程進行。MES系統(tǒng)維護的工作流程如下圖15所示:
圖15 MES系統(tǒng)維護工作流程圖
①獲取系統(tǒng)問題、分配維護任務
在系統(tǒng)維護期,維護負責人根據(jù)問題的嚴重程度或申請的輕重緩急將維護任務分配給維護小組的成員。對于緊急維護任務,應優(yōu)先安排人力,執(zhí)行維護任務,解決完問題再進行問題登記;對于緊急程度低的任務,可以列入維護計劃,按計劃執(zhí)行維護任務。
②實施維護任務
由于維護工作實際是排除錯誤、功能修改和開發(fā)新功能等過程,所維護的問題可能涉及系統(tǒng)開發(fā)的各個過程,包括系統(tǒng)需求規(guī)格說明、設計、編碼、測試等。所有涉及對上述過程的配置項的修改,必須嚴格按照軟件配置管理的要求進行。軟件配置管理人員應對維護中的配置項的狀態(tài)進行跟蹤。
③維護過程記錄
為評價維護的有效程度,確定維護的實際人工時,維護人員在維護過程中應記錄以下信息:系統(tǒng)問題報告單編號、維護類型、程序語言類型、所屬功能模塊、代碼文件名稱、維護所付出的人工時和累計人工時、維護開始日期和結束日期、維護人員等。同時對維護階段所發(fā)現(xiàn)的缺陷數(shù)進行統(tǒng)計。在維護期間,維護記錄應由維護組負責保存,并定期提交所在總部的軟件質量保證組。