軟件開發(fā)質(zhì)量管理層次模型及軟件開發(fā)質(zhì)量管理提升系統(tǒng)SDIMS咨詢與通訊子系統(tǒng)的設(shè)計(jì)_第1頁
軟件開發(fā)質(zhì)量管理層次模型及軟件開發(fā)質(zhì)量管理提升系統(tǒng)SDIMS咨詢與通訊子系統(tǒng)的設(shè)計(jì)_第2頁
軟件開發(fā)質(zhì)量管理層次模型及軟件開發(fā)質(zhì)量管理提升系統(tǒng)SDIMS咨詢與通訊子系統(tǒng)的設(shè)計(jì)_第3頁
軟件開發(fā)質(zhì)量管理層次模型及軟件開發(fā)質(zhì)量管理提升系統(tǒng)SDIMS咨詢與通訊子系統(tǒng)的設(shè)計(jì)_第4頁
軟件開發(fā)質(zhì)量管理層次模型及軟件開發(fā)質(zhì)量管理提升系統(tǒng)SDIMS咨詢與通訊子系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件開發(fā)質(zhì)量管理層次模型本文對軟件開發(fā)質(zhì)量管理的層次進(jìn)行了初步的劃分,形成了軟件開發(fā)質(zhì)量管理層次模型,并對模型中的各個(gè)層次內(nèi)涵做了簡要說明。

1概述

質(zhì)量:一組固有特性滿足要求的程度,指產(chǎn)品或服務(wù)滿足規(guī)定或潛在需要的特征和特性的總和。它既包括有形產(chǎn)品也包括無形產(chǎn)品;既包括產(chǎn)品內(nèi)在的特性、也包括產(chǎn)品外在的特性。即包括了產(chǎn)品的適用性和符合性的全部內(nèi)涵。

軟件質(zhì)量:與軟件產(chǎn)品滿足明確或隱含需求的能力有關(guān)的特征和特征的總和。有四個(gè)含義:1、能滿足給定需要的特性之全體;2、具有所希望的各種屬性的組合的程度;3、顧客或用戶認(rèn)為能滿足其綜合期望的程度;4、軟件的組合特性,它確定軟件在使用中將滿足顧客預(yù)期要求的程度。

從用戶最感興趣的的角度來說,軟件質(zhì)量可以從三個(gè)不同的角度來看待:如何使用軟件、使用效果如何、軟件性能如何;從軟件開發(fā)的團(tuán)隊(duì)的角度來說,不僅要生產(chǎn)出滿足質(zhì)量要求的軟件,也對中間產(chǎn)品的質(zhì)量感興趣,也對如何運(yùn)用最少的的資源、最快的進(jìn)度生產(chǎn)出質(zhì)量最優(yōu)的產(chǎn)品感興趣;從軟件維護(hù)者的角度看,對軟件維護(hù)方面的特性感興趣;對企業(yè)的管理層來說,注重的是總體效益和長遠(yuǎn)利益,就是說質(zhì)量好的軟件一般可以幫助企業(yè)擴(kuò)大市場;反之,質(zhì)量差的軟件一般會(huì)造成企業(yè)市場萎縮。

軟件質(zhì)量特性:根據(jù)《GB/T16260-1996(idtISO/IEC9126:1991)信息技術(shù)軟件產(chǎn)品評價(jià)

質(zhì)量特性及其使用指南》軟件的質(zhì)量特性包括功能性、可靠性、易用性、效率、可維護(hù)性、可移植性等六個(gè)方面,每個(gè)方面都包含若干個(gè)子特性:

功能性:適合性、準(zhǔn)確性、互操作性、依從性、安全性;

可靠性:成熟性、容錯(cuò)性、易恢復(fù)性;

易用性:易理解性、易學(xué)性、易操作性;

效率:時(shí)間特性、資源特性;

可維護(hù)性:易分析性、易改變性、穩(wěn)定性、易測試性;

可移植性:適應(yīng)性、易安裝性、遵循性、易替換性;

質(zhì)量管理:在質(zhì)量方面指揮和控制組織的協(xié)調(diào)的活動(dòng),指對確定和達(dá)到質(zhì)量所必須的全總職能和活動(dòng)的管理,其管理職能主要包括制定質(zhì)量方針和質(zhì)量目標(biāo)以及質(zhì)量策劃、質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn)。

軟件開發(fā)質(zhì)量管理,就是為了開發(fā)出符合質(zhì)量要求的軟件產(chǎn)品,貫穿于軟件開發(fā)生存期過程的質(zhì)量管理工作。

軟件開發(fā)質(zhì)量管理層次初步劃分如下:

1、技術(shù)層次(數(shù)據(jù)、編程、文檔)

2、方法體系層次(措施、項(xiàng)目、過程)

3、社會(huì)因素層次(質(zhì)量環(huán)境、技術(shù)標(biāo)準(zhǔn)、業(yè)務(wù)標(biāo)準(zhǔn)、人員)

軟件開發(fā)質(zhì)量管理層次模型如下圖:

2技術(shù)層次

2.1數(shù)據(jù)質(zhì)量管理層次

多數(shù)情況下,軟件系統(tǒng)的最終目的是對用戶關(guān)心的各類數(shù)據(jù)(信息)完成各種各樣靜態(tài)或者動(dòng)態(tài)的處理或管理任務(wù),為用戶創(chuàng)造他們所期望和額外的價(jià)值。因此數(shù)據(jù)質(zhì)量是用戶最為關(guān)心的,數(shù)據(jù)質(zhì)量也反映了軟件系統(tǒng)產(chǎn)品的質(zhì)量。數(shù)據(jù)質(zhì)量是數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)整合、數(shù)據(jù)倉庫以及管理信息系統(tǒng)開發(fā)等項(xiàng)目中質(zhì)量控制和質(zhì)量保證必須考慮的主要工作。數(shù)據(jù)質(zhì)量管理可分為人工比對、程序比對、統(tǒng)計(jì)分析三個(gè)層次。

2.1.1人工比對

為了檢查數(shù)據(jù)的正確性,測試人員打開相關(guān)數(shù)據(jù)庫,對轉(zhuǎn)換前和轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行直接的比對,發(fā)現(xiàn)其不一致性,通知相關(guān)人員進(jìn)行糾正。

2.1.2程序比對

為了自動(dòng)化地檢查數(shù)據(jù)的質(zhì)量,更好地進(jìn)行測試對比,程序員編寫查詢比對程序給測試人員使用。測試人員使用此程序?qū)D(zhuǎn)換前和轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行比對,發(fā)現(xiàn)其不一致性,通知相關(guān)人員進(jìn)行糾正。

2.1.3統(tǒng)計(jì)分析

為了更加全面地從總體上檢查數(shù)據(jù)的質(zhì)量,需要通過統(tǒng)計(jì)分析的方法,主要通過對新舊數(shù)據(jù)不同角度、不同視圖的統(tǒng)計(jì)對數(shù)據(jù)轉(zhuǎn)換的正確程度進(jìn)行量化的分析,發(fā)現(xiàn)其在某個(gè)統(tǒng)計(jì)結(jié)果的不一致性,通知相關(guān)人員進(jìn)行糾正。

2.2編程質(zhì)量管理層次

軟件系統(tǒng)是靠“編”出來的,為了確保軟件產(chǎn)品的質(zhì)量,就必須確保軟件程序代碼的質(zhì)量。為了提高編程質(zhì)量,應(yīng)檢查源碼的邏輯、屬性、對象命名標(biāo)準(zhǔn)、語言代碼布局等內(nèi)容;代碼的編譯、鏈接、集成和構(gòu)建必須得到驗(yàn)證和確認(rèn)。編程質(zhì)量管理層次可分為黑盒測試、灰盒測試、白盒測試、編譯檢查、編程規(guī)范、編程邏輯、編程優(yōu)化。

2.2.1黑盒測試

黑盒測試檢驗(yàn)是否符合系統(tǒng)需求,也稱功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個(gè)功能是否都能正常使用。在測試時(shí),把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。

2.2.2灰盒測試

灰盒測試介于白盒與黑盒二者之間,關(guān)注輸出對于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不像白盒那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運(yùn)行狀態(tài),有時(shí)候輸出是正確的,但內(nèi)部其實(shí)已經(jīng)錯(cuò)誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會(huì)很低,因此需要采取這樣的一種灰盒的方法。

2.2.3白盒測試

白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試,它是在知道產(chǎn)品內(nèi)部工作過程的情況下,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能。白盒測試的主要方法有邏輯驅(qū)動(dòng)、基路測試等。

2.2.4編譯檢查

使用開發(fā)工具所帶的編譯功能或?qū)iT程序?qū)浖创a進(jìn)行檢查,分析和尋找源碼存在的問題。

2.2.5編程規(guī)范

通過人工源碼檢查判斷源碼是否符合企業(yè)已經(jīng)制定的相關(guān)編程規(guī)范。制定編程規(guī)范,在企業(yè)內(nèi)形成一個(gè)開發(fā)約定和規(guī)則,有利于整體風(fēng)格統(tǒng)一、代碼的可讀性、可維護(hù)性和可擴(kuò)展性。

2.2.6編程邏輯

所編寫的源碼是否考慮周全,無矛盾或遺漏之處。常見問題如:忘記定義變量就使用、變量沒有賦值初就直接使用、輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致、沒有注意數(shù)據(jù)的數(shù)值范圍造成數(shù)組越界或數(shù)據(jù)溢出、輸入時(shí)數(shù)組的組織方式與要求不符、循環(huán)語句可能會(huì)造成死循環(huán)、條件語句只考慮符合的情況而沒有考慮例外的情況、讀取文件或數(shù)據(jù)庫中的數(shù)據(jù)沒有考慮例外情況,等等。

2.2.7編程優(yōu)化

通過人工或軟件檢查判斷是否可進(jìn)一步提高源碼總體性能和運(yùn)行可管理性。總體性能如內(nèi)存管理、數(shù)據(jù)庫組織和內(nèi)容、非數(shù)據(jù)庫信息、任務(wù)并行性、網(wǎng)絡(luò)多人操作、關(guān)鍵算法、與網(wǎng)絡(luò)、硬件和其他系統(tǒng)接口對性能的影響等等;運(yùn)行可管理性如便于控制系統(tǒng)運(yùn)行、監(jiān)視系統(tǒng)狀態(tài)、錯(cuò)誤處理;模塊間通信的簡單性等等。

2.3文檔質(zhì)量管理層次

文檔(包括模型)是軟件開發(fā)過程中的中間成果,這些中間結(jié)果關(guān)系到軟件需求的準(zhǔn)確性完整性、設(shè)計(jì)的合理性,對軟件系統(tǒng)的最終結(jié)果有決定性作用。文檔質(zhì)量管理層次包括文檔規(guī)范、文檔語法、文檔語義、文檔邏輯、文檔美學(xué)、文檔優(yōu)化。

2.3.1文檔規(guī)范

文檔成果符合企業(yè)或業(yè)界已經(jīng)制定的文檔模板規(guī)范。企業(yè)甚至行業(yè)應(yīng)當(dāng)制定統(tǒng)一的文檔規(guī)范,形成一個(gè)文檔約定和規(guī)則,以統(tǒng)一文檔內(nèi)容與風(fēng)格。

2.3.2文檔語法

文檔成果正確使用通用的工具與術(shù)語、符合相關(guān)行業(yè)的技術(shù)標(biāo)準(zhǔn)。所有語言都有它的語法,所有質(zhì)量合格的文檔(包括模型)都應(yīng)該是語法正確的,不正確的語法會(huì)影響規(guī)格說明和可視化的質(zhì)量。

2.3.3文檔語義

文檔成果表達(dá)正確、無歧義。所有質(zhì)量合格的文檔(包括模型)都代表它期望代表的語義,而且應(yīng)該在代表這些語義的時(shí)候具有一致性。

2.3.4文檔邏輯

文檔成果考慮周全,不矛盾,滿足客戶的關(guān)鍵要求,特別是要符合相關(guān)行業(yè)的業(yè)務(wù)標(biāo)準(zhǔn)。

2.3.5文檔美學(xué)

文檔成果是最佳表述,文字、圖表是均衡和完整的。就是追求平衡的美,每個(gè)組成部分應(yīng)該不大不小,可解讀、可變更、不同時(shí)代表太多的元素。

2.3.6結(jié)果優(yōu)化

通過檢查判斷文檔成果(如項(xiàng)目計(jì)劃、需求規(guī)格、設(shè)計(jì)方案)是否還有改進(jìn)的空間,以盡可能達(dá)到最佳方案。任何一項(xiàng)設(shè)計(jì),都可以有許多不同的方案,通過“方案優(yōu)化”選定一種最好的方案。

任何一位設(shè)計(jì)師在做一項(xiàng)設(shè)計(jì)的時(shí)候總是選擇他認(rèn)為是最好的方案,都有某種程度上的“優(yōu)化”,因此他可以說他的產(chǎn)品是經(jīng)過“優(yōu)化”的。無論何種意義上的優(yōu)化,都有一個(gè)共同的特點(diǎn),就是相對性。這個(gè)相對性有兩方面的意義,一是優(yōu)化是相對某種目標(biāo)的,目標(biāo)不同優(yōu)化的結(jié)果不同。另一方面是在大多數(shù)的情況下,優(yōu)化的結(jié)果并不是最優(yōu)的,只能是相對好的3方法體系層次

3.1措施質(zhì)量管理層次

為提高軟件質(zhì)量企業(yè)所采取的相關(guān)措施。決定成敗的不是目標(biāo),而是措施。任何好的規(guī)章制度或計(jì)劃,最終都需要具體措施才能落到實(shí)處。措施層次包括質(zhì)量檢查、質(zhì)量保證、預(yù)防不合格品、完美無缺。

3.1.1質(zhì)量檢查

保證質(zhì)量的方式是進(jìn)行臨時(shí)性的最后檢查,然后消除次品。軟件測試是軟件質(zhì)量檢查的具體實(shí)現(xiàn)環(huán)節(jié)。把軟件測試有效地組織進(jìn)軟件的生產(chǎn)流程,是軟件質(zhì)量控制規(guī)劃的主要內(nèi)容。

3.1.2質(zhì)量保證

質(zhì)量目標(biāo)仍主要通過生產(chǎn)部門或企業(yè)進(jìn)行生產(chǎn)過程的優(yōu)化和穩(wěn)定化來保證質(zhì)量目標(biāo)的達(dá)成。從軟件產(chǎn)業(yè)的發(fā)展初期到目前的大型軟件開發(fā)過程,軟件質(zhì)量保證已經(jīng)成為開發(fā)中的一個(gè)不可分割的部分。

3.1.3預(yù)防不合格品

整個(gè)軟件業(yè)項(xiàng)目屬于需求分析和軟件設(shè)計(jì)的錯(cuò)誤和缺陷約占軟件錯(cuò)誤的64%,而屬于程序代碼的錯(cuò)誤僅占36%。軟件錯(cuò)誤具有隨著階段的進(jìn)展而產(chǎn)生積累與放大效應(yīng),因此應(yīng)當(dāng)盡早消除錯(cuò)誤,否則“差之毫厘,失之千里”。所以在軟件開發(fā)生命周期的前期就通過對關(guān)鍵過程成果的評審控制來預(yù)防不合格品。

3.1.4完美無缺

這一級上的企業(yè)都有一種內(nèi)在的質(zhì)量文化氛圍,在此氛圍下的方方面面工作都有助于質(zhì)量的提高。每個(gè)員工都意識到質(zhì)量對企業(yè)成功的重要性,都在尋求提高質(zhì)量的新途徑,都在為達(dá)到完美無缺而奮斗。同時(shí),企業(yè)始終如一地面向外部客戶,通過優(yōu)越的設(shè)計(jì)質(zhì)量來滿足客戶需要,并從供應(yīng)商到客戶形成一個(gè)優(yōu)化的管理流程。

3.2項(xiàng)目管理質(zhì)量層次

軟件開發(fā)任務(wù)一般是以項(xiàng)目的形式完成,項(xiàng)目管理質(zhì)量包括組織資源、組建團(tuán)隊(duì)、設(shè)定目標(biāo)、確定范圍、確定優(yōu)先級、管理風(fēng)險(xiǎn)、建立溝通機(jī)制等內(nèi)容,其層次分為通用術(shù)語、通用過程、單一方法、基準(zhǔn)比較、持續(xù)改進(jìn)。

科茲納博士對項(xiàng)目成功的定義,不僅要滿足傳統(tǒng)的項(xiàng)目時(shí)間、費(fèi)用和性能的三大目標(biāo)以及滿足客戶或用戶定義的質(zhì)量標(biāo)準(zhǔn),還要滿足具有最少的或者雙方同意的范圍變更、沒有干擾組織的企業(yè)文化或者價(jià)值觀、沒有干擾組織的日常工作進(jìn)程等條件。

3.2.1通用術(shù)語

企業(yè)了解了項(xiàng)目管理的重要性,并需要進(jìn)一步了解對項(xiàng)目管理基礎(chǔ)知識以及相關(guān)的語言和術(shù)語。在企業(yè)內(nèi)部普及項(xiàng)目管理基礎(chǔ)知識,使用業(yè)界通語言和用術(shù)語進(jìn)行溝通,使大家形成對問題的正確理解。

3.2.2通用過程

企業(yè)認(rèn)識到自己需要定義和建立通用過程,以便在一個(gè)項(xiàng)目上成功之后,還可以將該過程及其成功經(jīng)驗(yàn)重復(fù)地用于其他許多個(gè)項(xiàng)目。在這一層次上,還包括理解項(xiàng)目管理原則對公司所用其他方法的應(yīng)用和支持。

3.2.3單一方法

企業(yè)盡量通過單一的方法開發(fā),而不是使用多個(gè)方法,可以最好地實(shí)現(xiàn)協(xié)同效應(yīng)和控制,認(rèn)識到了把公司所以方法結(jié)合成一個(gè)單一方法所產(chǎn)生的協(xié)同效應(yīng),其核心是項(xiàng)目管理。與使用多個(gè)方法相比,只用一個(gè)方法所產(chǎn)生的協(xié)同效應(yīng)使得程控更加容易。

3.2.4基準(zhǔn)比較

不斷將本企業(yè)的管理實(shí)踐與行業(yè)龍頭企業(yè)比較,以獲得信息來幫助自己改善。企業(yè)認(rèn)識到為了保持競爭優(yōu)勢,過程改進(jìn)是必要的?;鶞?zhǔn)比較必須連續(xù)進(jìn)行。公司必須決定以誰為基準(zhǔn)點(diǎn)及需要比較什么。

3.2.5持續(xù)改進(jìn)

質(zhì)量是“沒有最好,只有更好”。企業(yè)持續(xù)在必要時(shí)評估基準(zhǔn)比較中獲得的信息,實(shí)施為改進(jìn)過程所必要的變革。在ISO9000:2000中,持續(xù)改進(jìn)不是一個(gè)單獨(dú)的過程或質(zhì)量體系要素,而是管理質(zhì)量體系的方法。

企業(yè)最重要的問題是“明天這樣做的比今天好”企業(yè)要永不滿足,沒有終點(diǎn),永無休止地努力工作,追求進(jìn)步和持續(xù)改進(jìn),為未來努力奮斗。

3.3過程質(zhì)量管理層次

《GB/T8566—2001(idtISO/IEC12207)信息技術(shù)-軟件生存周期過程》把軟件生存周期的各個(gè)過程分為三類,即基本生存周期過程、支持生存周期過程、組織生存周期過程。

對于質(zhì)量,強(qiáng)調(diào)的是對過程的重視,通過保證每個(gè)環(huán)節(jié)的工作質(zhì)量,來保證最終質(zhì)量,而不是通過最后的檢驗(yàn)測試找出缺陷。它們的質(zhì)量概念,不僅涵蓋產(chǎn)品,還包括企業(yè)的整個(gè)運(yùn)營過程,貫穿產(chǎn)業(yè)鏈的各個(gè)環(huán)節(jié)。確保生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,就是遵循一套有質(zhì)量原則的軟件開發(fā)過程。目前軟件過程改進(jìn)主要根據(jù)能力成熟度模型集成CMMI,其層次分為初始級、可重復(fù)級、已定義級、已經(jīng)管級、優(yōu)化級。

3.3.1初始級

企業(yè)的軟件過程是無序的,甚至是混亂的。幾乎沒有什么過程是經(jīng)過妥善定義的,項(xiàng)目的成功往往依賴于沒寫個(gè)人的技能和經(jīng)驗(yàn)。

3.3.2可重復(fù)級

已經(jīng)建立了基本的項(xiàng)目管理過程規(guī)范,項(xiàng)目經(jīng)理能跟蹤成本、進(jìn)度、和產(chǎn)品功能等,項(xiàng)目能重復(fù)以前的成功。企業(yè)的過程能力可以概括為“有紀(jì)律的”。

3.3.3已定義級

已經(jīng)將管理和開發(fā)兩個(gè)方面的過程文檔化,并綜合成企業(yè)的標(biāo)準(zhǔn)軟件過程。所有項(xiàng)目都可以通過裁減企業(yè)標(biāo)準(zhǔn)過程而建立適合于本項(xiàng)目的過程規(guī)范。此過程能力可以概括成“標(biāo)準(zhǔn)的”和“一致的”,它建立在整個(gè)企業(yè)對軟件過程中的活動(dòng)、角色、職責(zé)的共同理解之上。

3.3.4已管理級

對軟件過程與產(chǎn)品都有定量的理解和控制,有專門的數(shù)據(jù)庫系統(tǒng)來收集和分析數(shù)據(jù)。此過程能力可以概括成“定量的”和“可預(yù)測的”。

3.3.5優(yōu)化級

能夠有效地識別企業(yè)過程的優(yōu)勢和薄弱環(huán)節(jié),發(fā)現(xiàn)并采用最佳的軟件工程實(shí)踐,預(yù)先防范過程和產(chǎn)品中的缺陷。整個(gè)企業(yè)強(qiáng)調(diào)持續(xù)地改進(jìn)過程能力。

4社會(huì)因素層次

4.1企業(yè)質(zhì)量環(huán)境層次

企業(yè)質(zhì)量環(huán)境是有關(guān)創(chuàng)建和管理質(zhì)量環(huán)境的管理,包括質(zhì)量規(guī)劃、資源組織、提供相關(guān)工具等,其層次可分為質(zhì)量形象、質(zhì)量制度、質(zhì)量戰(zhàn)略、質(zhì)量文化、企業(yè)文化、全社會(huì)質(zhì)量意識。

4.1.1質(zhì)量形象

企業(yè)的良好形象與其產(chǎn)品和服務(wù)的高質(zhì)量密不可分。質(zhì)量、信譽(yù)、品牌、服務(wù)等構(gòu)成企業(yè)整體形象的堅(jiān)實(shí)基礎(chǔ),其中質(zhì)量形象是企業(yè)形象的核心。塑造良好的質(zhì)量形象是企業(yè)提高自身核心競爭力的重要手段。

4.1.2質(zhì)量制度

企業(yè)建立了完善的質(zhì)量制度,包括ISO9001質(zhì)量管理體系、與質(zhì)量相關(guān)的配套管理、教育、激勵(lì)制度的完善程度,以及對于質(zhì)量制度的執(zhí)行力度。

有些企業(yè)或部門制定了太多的規(guī)章制度,但都流于形式,最終落到實(shí)處的不多。再好的規(guī)章制度,再偉大的計(jì)劃,都成了一堆廢紙。對企業(yè)來說,最重要的不是制定了多少制度多少計(jì)劃,而是做了多少事情。

企業(yè)如果強(qiáng)調(diào)質(zhì)量,就要檢查質(zhì)量,不檢查質(zhì)量就是不重視質(zhì)量,有制度就必須執(zhí)行好。

4.1.3質(zhì)量戰(zhàn)略

在企業(yè)管理中以人為本,以提高質(zhì)量為中心,一切活動(dòng)圍繞質(zhì)量行為,將質(zhì)量管理提高到戰(zhàn)略的高度。制定質(zhì)量方針目標(biāo)。

4.1.4質(zhì)量文化

企業(yè)在長期的質(zhì)量管理中形成的具有本企業(yè)特色的管理思想和精神理念,同時(shí)也是企業(yè)員工為實(shí)現(xiàn)質(zhì)量方針目標(biāo)而自覺遵守的一條共同的價(jià)值觀和信念。

4.1.5企業(yè)文化

一個(gè)企業(yè)中各個(gè)部門,至少是企業(yè)高層管理者們所共同擁有的那些企業(yè)價(jià)值觀念、經(jīng)營實(shí)踐、文化現(xiàn)象。它以企業(yè)的價(jià)值觀體系為基礎(chǔ),以企業(yè)員工的群體意識形態(tài)為反映。

4.1.6全社會(huì)質(zhì)量意識

產(chǎn)品質(zhì)量不完全取決于企業(yè)本身,社會(huì)環(huán)境、顧客的成熟程度對產(chǎn)品質(zhì)量起到比較重要的作用。顧客盲目壓低價(jià)格、壓縮進(jìn)度,造成的惡性競爭環(huán)境嚴(yán)重影響產(chǎn)品的質(zhì)量。

4.2標(biāo)準(zhǔn)層次

國際競爭有三個(gè)層次:第一個(gè)層次是價(jià)格和質(zhì)量的競爭、第二個(gè)層次是專利技術(shù)的競爭、第三個(gè)層次是標(biāo)準(zhǔn)和制度的競爭。誰掌握了標(biāo)準(zhǔn)的使用,誰掌握了標(biāo)準(zhǔn)的制定權(quán),誰就可以搶占先機(jī)。一流企業(yè)賣標(biāo)準(zhǔn),二流企業(yè)賣品牌,三流企業(yè)賣產(chǎn)品,四流企業(yè)賣企業(yè)。我國軟件企業(yè)要適應(yīng)更高層次的競爭,就要在標(biāo)準(zhǔn)領(lǐng)域占據(jù)一席之地。

標(biāo)準(zhǔn)主要包括技術(shù)標(biāo)準(zhǔn)和業(yè)務(wù)標(biāo)準(zhǔn)兩大類(當(dāng)然還可以其他分類如基礎(chǔ)標(biāo)準(zhǔn)、產(chǎn)品標(biāo)準(zhǔn)、質(zhì)量標(biāo)準(zhǔn)、管理標(biāo)準(zhǔn)、工作標(biāo)準(zhǔn)、安全標(biāo)準(zhǔn)、術(shù)語標(biāo)準(zhǔn)等等)。對標(biāo)準(zhǔn)化領(lǐng)域中需要協(xié)調(diào)統(tǒng)一的技術(shù)事項(xiàng)所制定的標(biāo)準(zhǔn),稱為技術(shù)標(biāo)準(zhǔn)。技術(shù)標(biāo)準(zhǔn)包含兩個(gè)方面:一是作為軟件開發(fā)企業(yè)的軟件行業(yè)技術(shù)標(biāo)準(zhǔn),包括知識體系指南、過程標(biāo)準(zhǔn)、建模標(biāo)準(zhǔn)、質(zhì)量管理標(biāo)準(zhǔn)、程序語言標(biāo)準(zhǔn)、數(shù)據(jù)庫標(biāo)準(zhǔn);二是軟件開發(fā)服務(wù)對象所在的行業(yè)技術(shù)標(biāo)準(zhǔn),如安全保密標(biāo)準(zhǔn)、技術(shù)性能標(biāo)準(zhǔn)。業(yè)務(wù)標(biāo)準(zhǔn)指的是軟件開發(fā)服務(wù)對象所在的組織或行業(yè)制定的業(yè)務(wù)流程標(biāo)準(zhǔn)和業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)等。

運(yùn)用統(tǒng)一的技術(shù)與業(yè)務(wù)標(biāo)準(zhǔn)是對于質(zhì)量能夠做出重大而且顯著貢獻(xiàn)的因素之一,有助于減少無效的討論,有助于不同的產(chǎn)品之間的兼容和銜接。

標(biāo)準(zhǔn)要不斷地與時(shí)俱進(jìn),因此,標(biāo)準(zhǔn)是種動(dòng)態(tài)信息。

4.2.1標(biāo)準(zhǔn)作用范圍級別

項(xiàng)目標(biāo)準(zhǔn):項(xiàng)目團(tuán)隊(duì)在軟件開發(fā)周期的早期就確定下來的相互達(dá)成一致的標(biāo)準(zhǔn)集合;

企業(yè)標(biāo)準(zhǔn):企業(yè)自行制定的規(guī)范整個(gè)企業(yè)架構(gòu)和所有企業(yè)級交付產(chǎn)品的標(biāo)準(zhǔn)集合;

地方標(biāo)準(zhǔn):由一個(gè)國家的地方一級行政機(jī)構(gòu)(省、州或加盟共和國)制定的標(biāo)準(zhǔn),稱為地方標(biāo)準(zhǔn)。它一般由地方所屬的各企業(yè)與單位執(zhí)行。同樣是一個(gè)行業(yè),每個(gè)地方可能有不同的業(yè)務(wù)政策、業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)、業(yè)務(wù)流程標(biāo)準(zhǔn);

行業(yè)標(biāo)準(zhǔn)(部頒標(biāo)準(zhǔn)):指沒有國家標(biāo)準(zhǔn)而又需要在全國某個(gè)行業(yè)范圍內(nèi)統(tǒng)一的技術(shù)要求。行業(yè)規(guī)定的全國本行業(yè)必須遵守的的業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)、業(yè)務(wù)流程標(biāo)準(zhǔn),標(biāo)準(zhǔn)編號一般以行業(yè)名稱的拼音頭個(gè)字母打頭,如環(huán)境HJ、電力DL、公安GA;

國家標(biāo)準(zhǔn):是在全國范圍內(nèi)統(tǒng)一的技術(shù)要求。由國家規(guī)定的標(biāo)準(zhǔn),主要是數(shù)據(jù)標(biāo)準(zhǔn),行業(yè)之間的接口標(biāo)準(zhǔn),標(biāo)準(zhǔn)編號一般以GB、GB/T、GB/Z打頭。

國際標(biāo)準(zhǔn):涉及到國際上多個(gè)國家或地區(qū)必須遵守的如金融、電信、財(cái)務(wù)、貿(mào)易等業(yè)務(wù)標(biāo)準(zhǔn)。國際標(biāo)準(zhǔn)一般由國際標(biāo)準(zhǔn)化組織制定,如ISO、ANSI、IEEE等等,這也是標(biāo)準(zhǔn)編號的打頭字母,如ISO9001。

4.2.2標(biāo)準(zhǔn)強(qiáng)制程度級別

強(qiáng)制標(biāo)準(zhǔn):保障人體健康、人身、財(cái)產(chǎn)安全的標(biāo)準(zhǔn)和法律、行政法規(guī)規(guī)定強(qiáng)制執(zhí)行的標(biāo)準(zhǔn)是強(qiáng)制性標(biāo)準(zhǔn),其他標(biāo)準(zhǔn)是推薦性標(biāo)準(zhǔn);如編號以GB、HJ、DL、GA字母開頭的標(biāo)準(zhǔn),一般業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)是強(qiáng)制標(biāo)準(zhǔn)。

推薦標(biāo)準(zhǔn):推薦性標(biāo)準(zhǔn)又稱非強(qiáng)制性標(biāo)準(zhǔn)或自愿性標(biāo)準(zhǔn)。是指生產(chǎn)、交換、使用等方面,通過經(jīng)濟(jì)手段或市場調(diào)節(jié)而自愿采用的一類標(biāo)準(zhǔn)。如GB/T、HJ/T、DL/T、GA/T,一般業(yè)務(wù)流程標(biāo)準(zhǔn)、工作規(guī)范或指南等是推薦標(biāo)準(zhǔn)。

指導(dǎo)性標(biāo)準(zhǔn):對標(biāo)準(zhǔn)化工作的原則和一些具體做法的統(tǒng)一規(guī)定,稱為指導(dǎo)性標(biāo)準(zhǔn)。例如:產(chǎn)品型號編制規(guī)則、各類標(biāo)準(zhǔn)編制導(dǎo)則等。如GB/Z、HJ/Z、DL/Z、GA/Z編號的標(biāo)準(zhǔn)。

4.2.3軟件開發(fā)常用技術(shù)標(biāo)準(zhǔn)

知識體系:軟件工程知識體系指南SWEBOK2004、項(xiàng)目管理知識體系指南PMBOK2000(最新的是PMBOK2004)、組織管理標(biāo)準(zhǔn)等等;

過程標(biāo)準(zhǔn):CMMI、PSP、TSP、RUP、軟件工程規(guī)范國家標(biāo)準(zhǔn);(AP、XP、ASD等開發(fā)過程思想好像還不能稱其為標(biāo)準(zhǔn))

建模標(biāo)準(zhǔn):UML、軟件工程規(guī)范國家標(biāo)準(zhǔn);

質(zhì)量管理標(biāo)準(zhǔn):ISO9001:2000、TQC、6σ;

程序語言標(biāo)準(zhǔn):Java、C++、PB、編程規(guī)范;

數(shù)據(jù)庫標(biāo)準(zhǔn):Oracle數(shù)據(jù)庫后臺規(guī)范。

4.3人員質(zhì)量管理層次

人員質(zhì)量是所有工作質(zhì)量的基礎(chǔ)。要提高工作質(zhì)量,就要以人為本,根本的問題是提高人的質(zhì)量。人員質(zhì)量就是人員素質(zhì),層次分為個(gè)人素質(zhì)、團(tuán)隊(duì)素質(zhì)、組織素質(zhì)、行業(yè)素質(zhì)、國民素質(zhì)。

4.3.1個(gè)人素質(zhì)

軟件開發(fā)的個(gè)人素質(zhì)的內(nèi)涵很廣,包含多個(gè)方面,包括學(xué)習(xí)能力、總結(jié)能力、學(xué)識經(jīng)驗(yàn)、進(jìn)取精神、社交能力、責(zé)任心、自我控制、成就動(dòng)機(jī)、靈活性、創(chuàng)造性潛力、管理潛力、工作態(tài)度、誠實(shí)水平等等。關(guān)鍵是根據(jù)自身特點(diǎn)發(fā)揮自己的特長,同時(shí)要有過硬扎實(shí)基本功的真才實(shí)學(xué),不做表面功夫花架子的花拳繡腿。這一點(diǎn)在做程序員的時(shí)候大家都會(huì)很注意學(xué)習(xí),但在從程序員提升到設(shè)計(jì)師、分析師、項(xiàng)目經(jīng)理時(shí),往往存在不注意學(xué)習(xí)新角色所需知識技能,學(xué)了皮毛就覺得什么都會(huì)的情況。

4.3.2團(tuán)隊(duì)素質(zhì)

軟件開發(fā)的團(tuán)隊(duì)素質(zhì)的范圍涉及到很多團(tuán)隊(duì)管理方面的知識經(jīng)驗(yàn)技巧。關(guān)鍵是能夠合理地按照成員的特點(diǎn)分配工作任務(wù),同時(shí)計(jì)劃好各個(gè)工作人員的工作接口,鼓勵(lì)互相補(bǔ)位。團(tuán)隊(duì)素質(zhì)的提高在于團(tuán)隊(duì)建設(shè),團(tuán)隊(duì)建設(shè)活動(dòng)包括為提高團(tuán)隊(duì)運(yùn)作水平而進(jìn)行的管理,以及采用的專門的、重要的個(gè)別措施。團(tuán)隊(duì)精神就是團(tuán)隊(duì)的精神,因此要問某個(gè)團(tuán)隊(duì)有沒有團(tuán)隊(duì)精神,不問某個(gè)成員有沒有團(tuán)隊(duì)精神。

軟件開發(fā)團(tuán)隊(duì)素質(zhì)可以學(xué)習(xí)參考TSP、RUP、SWEBOK、PMBOK、CMMI、ISO9001等要求進(jìn)行提高,也可以借鑒AP、XP、ASD等開發(fā)經(jīng)驗(yàn)(不管那種都不一定要完全照搬實(shí)施)。

4.3.3組織素質(zhì)

軟件開發(fā)的組織素質(zhì)內(nèi)涵涉及到很多組織管理方面的知識經(jīng)驗(yàn)技巧。組織應(yīng)當(dāng)為實(shí)現(xiàn)共同的愿景,建立學(xué)習(xí)型的組織,不斷持續(xù)改進(jìn)。企業(yè)組織高層領(lǐng)導(dǎo)可以不必需要那么多軟件開發(fā)的專業(yè)知識,最主要是要認(rèn)識到人是一切活動(dòng)的核心,是一切活動(dòng)成功的前提,所以要尊重專業(yè)人員使其發(fā)揮作用。根據(jù)彼得原理,大部分領(lǐng)導(dǎo)因?yàn)樵谀承┓矫嫱怀龆惶岚蔚剿麩o法勝任的位置,因此有些被提拔上去的領(lǐng)導(dǎo)急于證明自己樣樣精通是可笑的。領(lǐng)導(dǎo)最重要的是選對人、用對人、激勵(lì)人、提高人,使每個(gè)人都充分發(fā)揮應(yīng)有的作用。

4.3.4行業(yè)素質(zhì)

行業(yè)素質(zhì)有兩層意思,一是作為軟件開發(fā)企業(yè)的軟件行業(yè),另一個(gè)是軟件開發(fā)服務(wù)對象所在的行業(yè)。行業(yè)素質(zhì)可以從幾個(gè)方面看,如行業(yè)機(jī)構(gòu)的健全程度,行業(yè)學(xué)術(shù)的活躍程度,行業(yè)標(biāo)準(zhǔn)制定的完整程度、適用程度、先進(jìn)程度,行業(yè)標(biāo)準(zhǔn)規(guī)范的推廣力度和程度,行業(yè)從業(yè)人員的規(guī)模及總體水平,行業(yè)外貿(mào)出口金額,例如,為什么印度的軟件外貿(mào)出口金額讓中國望塵莫及?為什么印度可以擁有那么龐大的軟件藍(lán)領(lǐng)隊(duì)伍?印度軟件企業(yè)對CMMI是什么態(tài)度,中國軟件企業(yè)對CMMI是什么態(tài)度?為什么對于AP、XP、“顛覆軟件工程”的片面理解在中國大有市場?

(注意:《軟件工藝》實(shí)際上是從另一個(gè)角度來強(qiáng)調(diào)“個(gè)人素質(zhì)”的重要性,實(shí)際上是要說明組織性規(guī)范性和創(chuàng)造性特色性之間的平衡,就像《軟件工藝》自己所說的那樣,“軟件工藝并非與軟件工程或者計(jì)算機(jī)科學(xué)針鋒相對,格格不入。與科學(xué)和工程學(xué)相比,軟件工藝是另一種完全不同的教義,但又能與這兩者很好地共存,并從中獲益,它融合了藝術(shù)、科學(xué)、工程學(xué)三者”。如果因?yàn)閺?qiáng)調(diào)“個(gè)人素質(zhì)”的作用,強(qiáng)調(diào)作坊工藝的作用,而否定團(tuán)隊(duì)開發(fā)、和使用有效地分析設(shè)計(jì)方法和過程,就是走向了另一個(gè)極端?!盾浖に嚒钒衍浖娜毕莳M隘地定義成“程序員所犯的錯(cuò)誤”,所以其結(jié)論是“真正決定項(xiàng)目成敗的,是作為個(gè)體的程序員的技能、知識和經(jīng)驗(yàn)。”實(shí)際上如果在需求、分析或設(shè)計(jì)上犯了錯(cuò),或者在項(xiàng)目管理上犯了錯(cuò),其造成的缺陷比“程序員所犯的錯(cuò)誤”的影響不知道要大多少。另外極限編程所需的程序員隨時(shí)直接與用戶交談的條件也是大多數(shù)軟件開發(fā)項(xiàng)目很難滿足的。)

4.3.5國民素質(zhì)

中國的國民素質(zhì)與其他國家相比,有些地方是高的,有些地方是不足的。我們要發(fā)揚(yáng)我們的優(yōu)點(diǎn),同時(shí)也要學(xué)習(xí)別人的優(yōu)點(diǎn),彌補(bǔ)自己的缺點(diǎn)。自己過去為什么會(huì)被人看不起、會(huì)被人侵略?發(fā)幾句牢騷,喊幾句口號起得了什么作用?我們應(yīng)當(dāng)從自己和他人兩個(gè)方面同時(shí)查找原因。關(guān)鍵是不斷提高自身的整體素質(zhì),增強(qiáng)國力。如果我們看看歐美日等國家的企業(yè)是如何進(jìn)行質(zhì)量管理的,就不難理解他們的產(chǎn)品質(zhì)量為什么那么好,甚至連印度在軟件質(zhì)量管理等方面也有很多值得我們學(xué)習(xí)的地方。

5結(jié)語

人是一切人類活動(dòng)的基礎(chǔ),要提高軟件開發(fā)質(zhì)量,就必須以人為本,首先提高人的質(zhì)量。通過標(biāo)準(zhǔn)化、規(guī)范化的建設(shè)和落實(shí),通過創(chuàng)建良好的社會(huì)和企業(yè)質(zhì)量環(huán)境,在企業(yè)內(nèi)部不斷改進(jìn)開發(fā)過程質(zhì)量、項(xiàng)目管理質(zhì)量,改進(jìn)質(zhì)量措施。針對具體項(xiàng)目進(jìn)行良好的分析設(shè)計(jì)規(guī)劃,編寫出質(zhì)量優(yōu)良的系統(tǒng)程序,確保數(shù)據(jù)(信息)及其管理的質(zhì)量,為客戶、為社會(huì)提供滿意的產(chǎn)品和服務(wù)。畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)論文題目:學(xué)生姓名:學(xué)生學(xué)號:計(jì)算機(jī)畢業(yè)設(shè)計(jì)專業(yè)班級:咨詢QQ:學(xué)院名稱: 指導(dǎo)老師:學(xué)院院長: 20XX年XX月XX日軟件開發(fā)質(zhì)量管理提升系統(tǒng)SDIMS咨詢與通訊子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要軟件開發(fā)質(zhì)量管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,從而對成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。為了對軟件開發(fā)進(jìn)行有效的管理,新太軟件開發(fā)質(zhì)量管理提升系統(tǒng),以下簡稱Suntek-SDIMS,正是基于目前軟件開發(fā)企業(yè)的現(xiàn)狀,結(jié)合了新太的軟件項(xiàng)目管理經(jīng)驗(yàn)(SPMS)而設(shè)計(jì)開發(fā)的一套管理平臺,來幫助企業(yè)提高軟件開發(fā)管理質(zhì)量。Suntek-SDIMS以軟件開發(fā)生命周期為中心,基于軟件工程過程和項(xiàng)目管理過程兩個(gè)方面來構(gòu)建軟件開發(fā)管理工具,為項(xiàng)目組、高級管理者提供方便有效的項(xiàng)目計(jì)劃、任務(wù)跟蹤、問題處理、需求管理、缺陷管理、配置管理、質(zhì)量管理、培訓(xùn)等工具。咨詢模塊結(jié)合系統(tǒng)知識庫,通過知識庫解答和統(tǒng)計(jì)有關(guān)軟件開發(fā)過程中的任何問題。咨詢模塊負(fù)責(zé)解答用戶在項(xiàng)目開發(fā)過程中遇到的問題,除了普通知識解答,咨詢模塊還有多個(gè)功能,一是回復(fù)項(xiàng)目相關(guān)問題,如用戶想知道項(xiàng)目進(jìn)度如何時(shí),可以直接使用咨詢系統(tǒng)向助手詢問“項(xiàng)目進(jìn)度怎么樣了”,系統(tǒng)會(huì)詳細(xì)回答用戶的問題,并告訴你有多少任務(wù)已經(jīng)完成,多少任務(wù)未完成,有什么重要任務(wù)需要優(yōu)先處理。二是統(tǒng)計(jì)數(shù)據(jù),用戶可以直接向咨詢系統(tǒng)詢問統(tǒng)計(jì)的數(shù)據(jù),比如“項(xiàng)目有多少測試人員”這樣的問題,系統(tǒng)給出回復(fù)的同時(shí),提供鏈接讓用戶知道這些測試人員的姓名。三是執(zhí)行功能,用戶向系統(tǒng)輸入“打開我的任務(wù)列表”,系統(tǒng)自動(dòng)轉(zhuǎn)到任務(wù)管理,用戶便可以進(jìn)行任務(wù)管理的操作。通訊模塊是系統(tǒng)重要的一部份,功能有即時(shí)通訊,歷史記錄,文件傳送,圖片傳送,屏幕截圖,遠(yuǎn)程桌面。異地開發(fā)人員在開發(fā)過程使用即時(shí)通訊來聯(lián)系,知道項(xiàng)目進(jìn)展情況。而客戶使用通訊模塊可以向軟件開發(fā)人員進(jìn)行遠(yuǎn)程桌面連接,開發(fā)人員通過遠(yuǎn)程桌面幫助客戶解決軟件產(chǎn)品使用中的問題。同時(shí)通訊模塊是SDMIS系統(tǒng)各個(gè)模塊的連接點(diǎn),系統(tǒng)相關(guān)功能貫穿整個(gè)系統(tǒng),通過此功能主管可以查看各開發(fā)人員的任務(wù),可以向開發(fā)人員分配任務(wù),某個(gè)重要的任務(wù)系統(tǒng)會(huì)自動(dòng)進(jìn)行任務(wù)提醒。關(guān)鍵詞:軟件質(zhì)量提升;即時(shí)通訊;中文分詞

Suntek-SDMISconsultationandcommunicationssubsystemdesignandimplementationAbstractThequalitymanagementinsoftwaredevelopmentistoinsurethesoftwareprojectsfavorablecompletewithinthecost,schedule,quality,thenatthesametimeanalysisandmanagementthecost,schedule,qualityandrisk.Inordertodevelopsoftwareeffectively,Sunteksoftwaredevelopmentqualityimprovemanagementsystem,hereinafterreferredSuntek-SDIMS,isbasedoncurrentstatusofsoftwareenterprises,helpenterprisesimprovethequalityofmanagementinsoftwaredevelopment,combiningprojectmanagementexperience(SPMS)andthedesignofsoftwaremanagementplatform.Suntek-SDIMS,basesonsoftwaredevelopmentlifecycle,constructstwosides,processofsoftwareengineeringandprojectmanagement,fortheprojectteamandSeniormanagers.Itprovidesconvenientandeffectivedevelopmentinprojects.Itcontainstaskstracking,bugmanagement,defectmanagement,configurationmanagement,qualitymanagement,trainingandothertools.Consultationmodulescombineknowledgedatabase,answerandprocessanyproblemsinsoftwaredevelopmenthoughknowledgedatabase.Consultationmoduleistoanswerquestionsencounteredwhenusersdevelopmentsoftwareintheproject,inadditiontogeneralknowledgeanswering,thereareseveralfunctionsinconsultationmodule,firstresponseprojectrelatedissues,suchasuserswouldliketoknowhowistheprogressoftheproject,hecandirectaccesstheHelpSystemandask,"howistheprojectprogress",thesystemwillreplytousersindetail,andtellyouhowmanytaskshavebeencompleted,howmanyofunfinishedtasks,whataretheimportanttasksofpriority.Second,statisticaldata,userscanaskeddirectlytotheConsultationSystemtostatisticaldata,forexample,"numberoftestingengineerinproject",thesystemgivelinkstogetthenamesofthetestingengineer.Third,theimplementationoffunctions,userinputtothesystem,"openedmytasklist",thesystemautomaticallyopenthetaskmanagement,Userswillstartthetaskmanagementoperation.CommunicationsmoduleisanimportantpartofSDMIS,itcontainfunctionofinstantcommunications,thehistoricalrecord,filetransfer,picturetransmission,screenshots,RemoteDesktop.Romotedevelopmentstaffinthedevelopmentcanuseinstantcommunication,getcontracttheprogressoftheproject.Andthecustomercanusecommunicationsmoduletogethelpfromsoftwaredevelopersthoughremotedesktop,tosolveissuesofsoftwareproducts.communicationsmoduleislinkpointofSDMISsystem,system-relatedfunctionsthroughoutthesystem,thisfunctioncancheckthetasksofstaffindevelopmentofthemandate,andallocatetaskstothestaff.Thecertainimportanttasksystemwillautomaticallyreminded.Keywords:softwarequalityimprovement;intenetmessage;theChinesephraseSeparation

目錄1.緒論 11.1選題背景及目的 11.1.1選題背景 11.1.2選題目的 11.2國內(nèi)外研究狀況 21.2.1MsnMessage的聊天機(jī)器人小布 21.2.2集成工具Firefly與SDMIS比較 31.3課題研究方法 41.4系統(tǒng)及開發(fā)環(huán)境 41.5論文構(gòu)成及研究內(nèi)容 42模塊需求分析 62.1咨詢模塊需求分析 62.2通訊模塊需求分析 73模塊的設(shè)計(jì) 83.1咨詢模塊總體設(shè)計(jì) 83.1.1中文分詞的原理 83.1.2中文分詞和咨詢系統(tǒng) 93.1.2詞語的匹配 103.2通訊模塊總體設(shè)計(jì) 133.2.1界面 133.2.2功能 133.3咨詢模塊詳細(xì)設(shè)計(jì) 133.3.1自動(dòng)回復(fù) 143.3.2統(tǒng)計(jì)數(shù)據(jù) 143.3.3執(zhí)行功能 153.4通訊模塊詳細(xì)設(shè)計(jì) 153.4.1界面 153.4.2功能 163.5數(shù)據(jù)庫 163.5.1語句庫 163.5.2回復(fù)句庫 173.5.3詞庫 173.5.4消息信息數(shù)據(jù)庫 183.5.5消息本體數(shù)據(jù)庫 184模塊的實(shí)現(xiàn) 194.1咨詢模塊的實(shí)現(xiàn) 194.1.1客戶端 194.1.2服務(wù)端 194.1.3結(jié)果過多的處理方法 204.1.4最終界面 204.2通訊模塊的實(shí)現(xiàn) 234.2.1消息通訊 234.2.2文件傳送 254.2.3圖片傳送 264.2.4屏幕截圖 264.2.5遠(yuǎn)程桌面 274.2.6系統(tǒng)結(jié)合功能 285結(jié)論 30致謝 31參考文獻(xiàn) 32附錄 331咨詢模塊客戶端代碼 331.1咨詢模塊執(zhí)行功能 331.2客戶端發(fā)送代碼 361.3客戶端執(zhí)行解析后的功能 382通訊模塊部分代碼 422.1顯示即時(shí)消息 422.2遠(yuǎn)程桌面 452.3發(fā)送本地屏幕 462.4模擬鍵盤操作遠(yuǎn)程桌面 461.緒論1.1選題背景及目的1.1.1選題背景隨著信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來越龐大,個(gè)人單打獨(dú)斗的作坊式開發(fā)方式已經(jīng)越來越不適應(yīng)發(fā)展的需要。各軟件企業(yè)都在積極將軟件開發(fā)質(zhì)量管理引入開發(fā)活動(dòng)中,對開發(fā)實(shí)行有效的管理。從概念上講,軟件開發(fā)質(zhì)量管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,從而對成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。新太軟件開發(fā)質(zhì)量管理提升系統(tǒng),以下簡稱Suntek-SDIMS,正是基于目前軟件開發(fā)企業(yè)的現(xiàn)狀,結(jié)合了新太的軟件項(xiàng)目管理經(jīng)驗(yàn)(SPMS)而設(shè)計(jì)開發(fā)的一套管理平臺,來幫助企業(yè)提高軟件開發(fā)管理質(zhì)量。Suntek-SDIMS以軟件開發(fā)生命周期為中心,基于軟件工程過程和項(xiàng)目管理過程兩個(gè)方面來構(gòu)建軟件開發(fā)管理工具,為項(xiàng)目組、高級管理者提供方便有效的項(xiàng)目計(jì)劃、任務(wù)跟蹤、問題處理、需求管理、缺陷管理、配置管理、質(zhì)量管理、培訓(xùn)等工具。Suntek-SDIMS內(nèi)部集成了網(wǎng)絡(luò)協(xié)同辦公OA及即時(shí)通訊功能,通過靈活的二次開發(fā)設(shè)計(jì)工具,并結(jié)合項(xiàng)目管理工具,幫助企業(yè)順利實(shí)施項(xiàng)目的各類管理流程。SDIMS是集咨詢、培訓(xùn)、工具為一體的全套IT企業(yè)質(zhì)量管理提升方案。對于項(xiàng)目任務(wù)的發(fā)送接收以及中間處理過程,系統(tǒng)提供即時(shí)通知功能,迅速通知相關(guān)人員處理相關(guān)的任務(wù)及項(xiàng)目流程,大大減輕人力跟蹤監(jiān)督的工作。1.1.2選題目的在系統(tǒng)已經(jīng)成型的基礎(chǔ)上,我完成了結(jié)合系統(tǒng)平臺各種功能的咨詢與通訊模塊,以此可以作為本論文的選題。圖1.1SDMIS構(gòu)架圖SDMIS的構(gòu)架圖如上,本系統(tǒng)得咨詢與通訊模塊在應(yīng)用服務(wù)層,與系統(tǒng)的需求過程,任務(wù)管理過程緊密相連接。從設(shè)計(jì)到完成和完善總共用了近2個(gè)月時(shí)間。2個(gè)模塊客戶端用同一窗口,因此先完成的是通訊模塊,再完成咨詢模塊。2個(gè)模塊使系統(tǒng)在方便性方面提高很大,開發(fā)使用的是Delphi7,和DatabaseUnity數(shù)據(jù)庫,咨詢模塊用到了最大匹配算法,解決了用戶輸入的識別問題。通訊模塊中,為了做出專業(yè)的界面,在PS上也下足了功夫,最后完成了多個(gè)功能,消息通訊,歷史紀(jì)錄,文件傳送,遠(yuǎn)程控制,系統(tǒng)功能結(jié)合。1.2國內(nèi)外研究狀況1.2.1MsnMessage的聊天機(jī)器人小布打開MSN并登錄,然后在主窗口中點(diǎn)擊“添加聯(lián)系人”,將電子郵件地址為“MrRobot090@”的機(jī)器人小布添加進(jìn)來,稍等片刻,就會(huì)出現(xiàn)機(jī)器人小布將你添加到他的聯(lián)系人中的對話框,“確定”之后就可以與機(jī)器人小布聊天了。小布是智能機(jī)器人,會(huì)根據(jù)人的提問“聰明的”給出答案(如圖1-1機(jī)器人小布)。圖1.2機(jī)器人小布Msn機(jī)器人比較優(yōu)秀,回答的時(shí)候并不單一,有時(shí)候會(huì)給人很多隨機(jī)應(yīng)變的答案,什么情況下都給人友好的感覺,不過它也有很多不足的問題,需要用戶“教”,我的開發(fā)目標(biāo)是一個(gè)結(jié)合項(xiàng)目知識庫,能友好應(yīng)變用戶的機(jī)器人。1.2.2集成工具Firefly與SDMIS比較集成工具Firefly軟件工程和SDMIS一樣是集成工具,也有即時(shí)通訊功能,與系統(tǒng)的各個(gè)功能結(jié)合緊密。表1.1Firefly與SDMIS比較FireflySDMIS即時(shí)通訊功能簡單,能與系統(tǒng)結(jié)合緊密即時(shí)通訊基本功能齊全,與系統(tǒng)結(jié)合緊密擴(kuò)展性能支持大規(guī)模開發(fā)靈活,適合小中大規(guī)模的開發(fā)1.3課題研究方法本課題安全按照軟件工程的思想來實(shí)施的。明確需求,設(shè)計(jì)系統(tǒng)。當(dāng)需求得到確認(rèn)后,進(jìn)入到設(shè)計(jì)階段。進(jìn)行概要設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等,并確認(rèn)設(shè)計(jì)方案的可行性。依據(jù)設(shè)計(jì),開發(fā)系統(tǒng)。按照設(shè)計(jì)階段的設(shè)計(jì)過程,開發(fā)在線工作日志管理系統(tǒng)。測試系統(tǒng),修改BUG。除了在編碼的時(shí)候采用單元測試的方式來測試。在系統(tǒng)完成后還對系統(tǒng)進(jìn)行一次完整的測試,找出系統(tǒng)存在的各種問題并修改。整個(gè)開發(fā)的過程采用迭代式開發(fā)。每一次迭代均由需求分析、設(shè)計(jì)、編碼、測試等階段組成,為整個(gè)系統(tǒng)增加一個(gè)可定義的、可管理的子集。每一個(gè)迭代過程都會(huì)進(jìn)一步完善系統(tǒng)功能,滿足用戶需求。像QQ,MSM大家都比較熟悉的即時(shí)通訊軟件,他們能夠幾乎實(shí)時(shí)傳送消息給接收人,他們有各自的協(xié)議,能夠?qū)崿F(xiàn)顯示圖片,發(fā)送文件,遠(yuǎn)程控制,語音視頻這樣的重要功能,我的模塊就必須有這些重要的基本功能,而且要和合同管理,需求管理,計(jì)劃管理,提醒模塊緊密結(jié)合。當(dāng)然我沒有QQ源代碼,我必須根據(jù)自己的技能和找到的資料,來完成這個(gè)模塊。我原來有做過即時(shí)通訊的軟件,現(xiàn)在就要加上上述的幾個(gè)重要功能。及時(shí)通訊模塊較難之處在于與各個(gè)模塊結(jié)合協(xié)議的制定,并且希望能夠結(jié)合到未來新加入的新模塊。信息智能咨詢模塊可以為各個(gè)小型數(shù)據(jù)領(lǐng)域通用,,這個(gè)模塊是使用中文分詞算法得到用戶的詞語,再在關(guān)鍵字?jǐn)?shù)據(jù)庫中找到匹配的多個(gè)關(guān)鍵字,通過這些關(guān)鍵字能模糊的得到用戶想查詢的功能,然后就可以通過這些功能回答用戶提出的問題了。1.4系統(tǒng)及開發(fā)環(huán)境系統(tǒng)使用WindowsXP/2000/2003開發(fā)環(huán)境Delphi7。1.5論文構(gòu)成及研究內(nèi)容本文主體部分由五大部分構(gòu)成:1.緒論部分主要介紹選題背景及目的,以及國內(nèi)外研究狀況和課題研究方法。2.咨詢模塊,通訊模塊的需求分析。3.咨詢模塊,通訊模塊的總體設(shè)計(jì),包括硬件和軟件環(huán)境,咨詢模塊詞語匹配的算法和原理。4.咨詢模塊,通訊模塊的詳細(xì)設(shè)計(jì)及實(shí)現(xiàn),,總體結(jié)構(gòu)流程,功能分配,數(shù)據(jù)庫設(shè)計(jì)以及系統(tǒng)界面設(shè)計(jì)。5.結(jié)論、致謝及參考文獻(xiàn)。

2模塊需求分析2.1咨詢模塊需求分析咨詢模塊主要在“咨詢”上,用戶通過向系統(tǒng)提問來得到答案。本模塊的重點(diǎn)是通過對用戶問題分析,得到用戶需要哪些問題,重點(diǎn)想知道的是什么。本模塊就是讓系統(tǒng)明白用戶的意思,至少能夠從用戶的提問中找到有用的信息,作出接近用戶意思的回復(fù)。通過詞庫,使用最大匹配算法得到關(guān)鍵詞,從這些關(guān)鍵詞和語句庫中的句子相比較,可以找到最符合的句子,再通過回復(fù)句庫返回回復(fù)語句給客戶端,客戶端處理各種異常后就可以呈現(xiàn)給用戶了。詞庫-語句庫-回復(fù)句庫也并不一定很智能,只要數(shù)據(jù)庫錄入時(shí)語句精確,詞語沒有遺漏,使用起來還是很能達(dá)到指用戶語義的程度。咨詢模塊除了回復(fù)項(xiàng)目方面的問題,還可以做很多事情,比如查詢電話號碼,航班號,還可以執(zhí)行功能,如讓程序打開Baidu網(wǎng)頁,打開于某用戶聊天的窗口。在網(wǎng)上發(fā)現(xiàn)類似的機(jī)器人有天氣預(yù)報(bào),星座咨詢,節(jié)氣常識,比賽得分查詢等等功能。機(jī)器人小布還有許多不錯(cuò)的功能,如查詢天氣預(yù)報(bào)、今日星運(yùn)、萬年歷、大城市公交車站、區(qū)號郵編、成語等等。你只要在對話框中輸入“?”,機(jī)器人小布就會(huì)告訴你有關(guān)他具有的功能及查詢格式的所有信息(見圖2.1)。圖2.1機(jī)器人小布

2.2通訊模塊需求分析由于通訊模塊的通用行,基本需求就有個(gè),一是發(fā)送短消息,二是文件傳送,三要窗口能顯示圖片,四是歷史記錄。在項(xiàng)目開發(fā)和客戶驗(yàn)證過程中,可能需要向用戶演示軟件功能,因此需要有遠(yuǎn)程桌面和語音視頻功能。以下是功能說明發(fā)送短消息:要求發(fā)送內(nèi)容帶表情符號,發(fā)送后字體保持不變。文件傳送:從安全方面考慮,發(fā)送需經(jīng)過雙方確認(rèn),否則不能發(fā)送文件。顯示圖片:能直接在聊天窗口顯示圖片。屏幕截圖:截取屏幕的一部分發(fā)送給對方。遠(yuǎn)程控制:發(fā)起方可操作接收方的桌面。由于開發(fā)時(shí)間比較短,計(jì)劃實(shí)現(xiàn)以下功能,消息通訊,文件傳送,圖片傳送,屏幕截圖,遠(yuǎn)程桌面。

3模塊的設(shè)計(jì)3.1咨詢模塊總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)為CS結(jié)構(gòu)服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQLServer,典型的CS結(jié)構(gòu)倒是可以配置成瘦服務(wù)器端胖客戶端的模式,客戶端需要安裝專用的客戶端軟件。

CS的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快??蛻舳丝蛻舳朔?wù)端圖3.1咨詢模塊結(jié)構(gòu)圖中服務(wù)端比較復(fù)雜,負(fù)責(zé)了分詞,匹配,查詢,輸出等工作。3.1.1中文分詞的原理3.1.1眾所周知,英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述一個(gè)意思。例如,英文句子Iamastudent,用中文則為:“我是一個(gè)學(xué)生”。計(jì)算機(jī)可以很簡單通過空格知道student是一個(gè)單詞,但是不能很容易明白“學(xué)”、“生”兩個(gè)字合起來才表示一個(gè)詞。把中文的漢字序列切分成有意義的詞,就是中文分詞,有些人也稱為切詞。我是一個(gè)學(xué)生,分詞的結(jié)果是:我/是/一個(gè)學(xué)生。[m]分詞就是將連續(xù)的字序列按照一定的規(guī)范重新組合成詞序列的過程。3.1.2中文分詞對咨詢系統(tǒng)來說,最重要的是找到最少的關(guān)鍵字,通過關(guān)鍵字來判斷用戶的咨詢的是什么意思。中文分詞是中文信息分析中的一大難題,和英文分詞不同,中文分詞無法直接確定分詞。3.2.2英文詞語按空格分開,詞態(tài)也很有規(guī)律1)數(shù)字:123,456.78190.7%3/82)縮略(包含不同的情況):A字母-點(diǎn)號-字母-點(diǎn)號組成的序列,比如:U.S.i.e.等等;B字母開頭,最后以點(diǎn)號結(jié)束,比如:Mr.eds.3)包含非字母字符,比如:AT&TMicro$oft4)帶“-”詞串,比如:three-years-old,one-third,so-called5)帶“撇”的詞串,比如:I'mcan'tdog'slet's6)帶空格詞串,比如:"andsoon","adhoc"對數(shù)字的識別算法如下:digit=0|1|2|3|4|5|6|7|8|9圖3.2數(shù)字識別狀態(tài)圖對于英文的識別,使用Tokenization算法:Tokenization算法的一般過程(1)對一個(gè)待分析的字符串(S),從左到右進(jìn)行掃描,讀入當(dāng)前字符(char)到候選詞數(shù)組(W[i]),并將指針(pointer)前移,i=i+1;(2)看char是否為詞分隔符(事先可以預(yù)定義空格以及一般標(biāo)點(diǎn)均為詞分隔符);(3)如果char是詞分隔符,并且W不是空格,將W中從起始位置到i-1位置的字符作為一個(gè)詞匯單位輸出,同時(shí)將S中的W部分刪去,然后清空W,轉(zhuǎn)入(1),如果char是詞分隔符,且W是空格,將S中的W部分刪去,清空W,轉(zhuǎn)入(1);(4)如果不是詞分隔符,看指針是否已經(jīng)指到字符流尾部;(5)如果指針已經(jīng)指到字符流尾部,將當(dāng)前W從起始位置到i-1位置的字符作為一個(gè)詞匯單位輸出,結(jié)束。(6)如果不是字符流尾部,轉(zhuǎn)入(1);中文分詞不象英文分詞那么簡單,中文詞語的不確定性注定了中文信息難以識別處理,從語句到詞串,是一個(gè)降低不確定性的過程。如,漢字的簡繁轉(zhuǎn)換:後對應(yīng)后文本校對(改錯(cuò)別字):拋妻別字對應(yīng)拋妻別子(字音編碼輸入)一個(gè)句子可能因?yàn)樗惴ú煌玫讲煌慕Y(jié)果:利益讓公司不看重大項(xiàng)目的風(fēng)險(xiǎn)利益讓公司不看重大項(xiàng)目的風(fēng)險(xiǎn)利益讓公司不看重大項(xiàng)目的風(fēng)險(xiǎn)又如:這小巷車很難過3.1.2詞語的匹配3.1.2僅僅會(huì)分詞還不夠,如果真的要讓機(jī)器人了解人說的話,肯定需要一些人工智能的算法。我們就是做個(gè)機(jī)器人玩玩,沒必要研究的那么深。人工智能走到現(xiàn)在,太聰明的聊天機(jī)器人也少之又少。而且,讓專業(yè)的研究人員去研究就好了,我們僅僅就是玩玩。所以我們就用一個(gè)最簡單的辦法。我們的方法是,讓機(jī)器人找這一句話的關(guān)鍵詞,這句話大概的詞性搭配,再去語料庫里面找到符合這樣規(guī)則的回答的話。比如對方說:“誰是項(xiàng)目經(jīng)理”我們先用分詞算法,把這句話分成“誰/是/項(xiàng)目經(jīng)理”,然后找出關(guān)鍵詞“項(xiàng)目經(jīng)理”。同時(shí)把這句話的詞性搭配也記錄下來。這樣,當(dāng)找到關(guān)鍵詞“項(xiàng)目經(jīng)理”在詞語庫中的時(shí)候,我們再來找是否有類似這這句話詞性搭配的回答,如果有,隨機(jī)回答出一句:“這個(gè)項(xiàng)目的項(xiàng)目經(jīng)理是某某人”,這樣,可以給聊天者比較好的感覺。那么問題來了,如何找出關(guān)鍵詞呢?找出這句話中長度最長的詞作為關(guān)鍵詞。沒有為什么,因?yàn)檫@樣速度會(huì)快些。如果一句話中所有的詞都被掃描成為關(guān)鍵詞,再去查庫,會(huì)出現(xiàn)些匹配上的問題。可以這樣處理:把與關(guān)鍵字匹配的結(jié)果都列出來。提問者的問題不會(huì)太長,我想提問者的問題也不會(huì)有十幾個(gè)關(guān)鍵字把。在少量的關(guān)鍵字下,就可以找到比較符合用戶意思的問題語句。3.1.2圖3.3最大匹配算法流程圖用戶提出這樣的問題“項(xiàng)目開發(fā)人員總共有多少人”。最終結(jié)果應(yīng)該為表3-1中例子所示。表3.1分詞示例項(xiàng)目開發(fā)人員總共有多少人分詞過程如下所示:(1)S2="";S1不為空,從S1左邊取出候選子串W="項(xiàng)目開發(fā)人員";(2)查詞表,“計(jì)算語言學(xué)”在詞表中,將W加入到S2中,S2=“項(xiàng)目開發(fā)人員/”,并將W從S1中去掉,此時(shí)S1="總共有多少人";(3)S1不為空,于是從S1左邊取出候選子串W="總共有多少人";(4)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W="總共有多少";(5)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W="總共有多";(6)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W="總共"(7)查詞表,W在詞表中,將W加入到S2中,S2=“項(xiàng)目開發(fā)人員/總共/”,并將W從S1中去掉,此時(shí)S1="有多少人";(8)S1不為空,于是從S1左邊取出候選子串W="有多少人";(9)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W="有多少";(10)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W="有多";(11)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W=“有”,這時(shí)

W是單字,將W加入到S2中,S2=“項(xiàng)目開發(fā)人員/總共/有”,并將W從S1中去掉,此時(shí)S1="多少人";(12)S1不為空,從S1左邊取出候選子串W="多少人";(13)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W=“多少”,這時(shí)

W是單字,將W加入到S2中,S2=“項(xiàng)目開發(fā)人員/總共/有/多少/”,并將W從S1中去掉,此時(shí)S1="人";(14)S1不為空,從S1左邊取出候選子串W="人";(15)查詞表,W不在詞表中,將W最右邊一個(gè)字去掉,得到W=“人”,這時(shí)W是單字,將W加入到S2中,S2=“項(xiàng)目開發(fā)人員/總共/有/

多少/人/",并將W從S1中去掉,此時(shí)S1="";(16)S1為空,輸出S2作為分詞結(jié)果,分詞過程結(jié)束。3.1.2一是不能處理有歧義的詞語。像“路很難過”這樣的句子,“難過”和“難”,“過”這樣的單字詞無法判斷,目前的解決辦法是加入詞語組合概率因子,通過多層概率表來判斷是單字還是詞語的一個(gè)單字。不過這樣查詢起來會(huì)比較慢。二是匹配算法從左到右提取子串和從右到左提取子串得到詞語可能不符。如“我不看重大筆的錢”這樣的句子,就會(huì)出現(xiàn)問題,若從左到右分詞則結(jié)果是“我不看重大筆的錢”,而從右到做的結(jié)果是“我不看重大筆的錢”,目前處理方法是否定詞要作為單字,碰到帶否定詞的詞語就要多判斷了。3.1.2確定結(jié)果就是得到分出的詞語,詞語用TStrings來保存。在delphi中Tstrings可以保存詞語數(shù)組,保存了結(jié)果,就可以與待符合的語句進(jìn)行匹配了。3.2通訊模塊總體設(shè)計(jì)3.2.1界面以淡藍(lán)色為主體,帶輸入框,信息顯示框,輔助按鈕框(用于系統(tǒng)結(jié)合)3.2.2功能消息通訊:發(fā)送文字消息,可以顯示表情。文件傳送:可以發(fā)送文件。文件傳送在日常工作比較重要,速度和準(zhǔn)確度高。圖片傳送:發(fā)送圖片文件的時(shí)候可以直接顯示在信息顯示框中。屏幕截圖:在軟件開發(fā)中,屏幕截圖經(jīng)常使用到??山厝∑聊灰粎^(qū)域存為圖片。遠(yuǎn)程桌面:在幫助客戶解決問題時(shí)有時(shí)會(huì)用到??梢赃h(yuǎn)程控制對方桌面。系統(tǒng)功能:結(jié)合了任務(wù)管理模塊。3.3咨詢模塊詳細(xì)設(shè)計(jì)3.3.1語句庫語句庫回復(fù)語句相關(guān)數(shù)據(jù)庫SQL圖3.4自動(dòng)回復(fù)數(shù)據(jù)庫關(guān)系以用戶提問“誰是本項(xiàng)目的項(xiàng)目經(jīng)理?”為例1.去標(biāo)點(diǎn)符號,如果有多個(gè)標(biāo)點(diǎn)則分句,每句重復(fù)第2步。2.對用戶提問進(jìn)行分詞。用到最大匹配算法,找到數(shù)據(jù)庫保存的關(guān)鍵字,關(guān)鍵字有“誰/是/本項(xiàng)目/項(xiàng)目經(jīng)理”3.按每對關(guān)鍵字在回復(fù)語句庫中查詢,很可能得到多個(gè)匹配結(jié)果4.下面要判斷最符合提問的回復(fù)語句,有2個(gè)小技巧可以提高準(zhǔn)確度,1個(gè)是最長的詞語往往是用戶的主要意思,若以評分的方式評最符合的語句,3分最高,這個(gè)詞語可以評3分。第2個(gè)技巧是可以判斷詞語出現(xiàn)順序。5.以這樣的方式計(jì)算符合度,普通詞匹配2分,順序1分,3字以上詞3分(可能根據(jù)具體要求不同可修改)6.得分最高的符合語句“誰是這個(gè)項(xiàng)目[本項(xiàng)目]項(xiàng)目經(jīng)理”評分是2+2+3+3+1+1+1+1=14。7.為了提高效率,可以讓得分高于8分就認(rèn)為匹配。8.得到匹配語句后,確定回復(fù)語句9.通過回復(fù)語句的SQL,通過數(shù)據(jù)庫查詢結(jié)果10.顯示結(jié)果。結(jié)果為回復(fù)語句+SQL查詢結(jié)果。3.3.2語句庫語句庫回復(fù)語句相關(guān)數(shù)據(jù)庫返回sumSQL圖3.5統(tǒng)計(jì)數(shù)據(jù)數(shù)據(jù)庫關(guān)系以用戶提問“本項(xiàng)目有多少開發(fā)人員?”為例1.去標(biāo)點(diǎn)符號,如果有多個(gè)標(biāo)點(diǎn)則分句,每句重復(fù)第2步。2.對用戶提問進(jìn)行分詞。用到最大匹配算法,找到數(shù)據(jù)庫保存的關(guān)鍵字,關(guān)鍵字有“本項(xiàng)目/有/多少/開發(fā)人員”3-7.與字回復(fù)相同8.得到匹配語句后,確定回復(fù)語句9.通過回復(fù)語句的SQL,通過數(shù)據(jù)庫查詢結(jié)果,求總和(SUM)。10.顯示結(jié)果。結(jié)果為回復(fù)語句+SQL查詢結(jié)果。3.3.3客戶端收到解析的功能若為“執(zhí)行功能”類型則可直接執(zhí)行功能。例如用戶輸入“打開項(xiàng)目需求管理”1.去標(biāo)點(diǎn)符號,如果有多個(gè)標(biāo)點(diǎn)則分句,每句重復(fù)第2步。2.對用戶提問進(jìn)行分詞。用到最大匹配算法,找到數(shù)據(jù)庫保存的關(guān)鍵字,關(guān)鍵字有“打開/項(xiàng)目/需求管理”3-7.與字回復(fù)相同,數(shù)據(jù)庫中符合語句為“打開[執(zhí)行/運(yùn)行/open]需求管理”8.得到匹配語句,他的類型為執(zhí)行功能F3,F3表示打開需求管理的窗口。9.通過代碼執(zhí)行功能。3.4通訊模塊詳細(xì)設(shè)計(jì)3.4.1界面見附件的UnitPersonalChat.dfm(需要有Delphi7環(huán)境)。3.4.2功能消息通訊:使用系統(tǒng)內(nèi)部函數(shù)sendmidmessage,實(shí)現(xiàn)點(diǎn)對點(diǎn)的消息發(fā)送,用轉(zhuǎn)義實(shí)現(xiàn)表情傳送。文件傳送:使用Tsocket組件實(shí)現(xiàn)文件傳送圖片傳送:使用TiceRichEdit組件實(shí)現(xiàn)能顯示圖片的RichEdit組件。屏幕截圖:屬于簡單圖像操作功能遠(yuǎn)程桌面:利用模擬鼠標(biāo)鍵盤可以操作遠(yuǎn)程桌面系統(tǒng)功能:結(jié)合了任務(wù)管理模塊。3.5數(shù)據(jù)庫3.5.1語句庫保存的是可能被用戶提問中使用到的句子,句子求簡單,通用性強(qiáng),范圍廣,各種同意的詞語前可以用特殊符號([,])表示。例如項(xiàng)目經(jīng)理想知道項(xiàng)目有多少缺陷,他會(huì)有多種問法,比如,本項(xiàng)目有多少bug,項(xiàng)目有多少缺點(diǎn)。入庫時(shí)句子就可以寫成:本項(xiàng)目[項(xiàng)目]有多少bug[缺陷/缺點(diǎn)]。入庫時(shí)句子中詞語保持順序,詞語間按空格為單位隔開。考慮到會(huì)有英文的存在入庫時(shí)英文都轉(zhuǎn)為小寫。對應(yīng)的回復(fù)自然是對本問題回復(fù)的回復(fù)句庫的回復(fù)編號。語句所屬類別表示一個(gè)適用范圍,比如對項(xiàng)目有關(guān)的詢問可以與需求有關(guān)的詢問分為2種功能。表3.2語句庫名稱表作用語句編號SentenceID語句功能Type語句類別分為查詢,統(tǒng)計(jì),執(zhí)行功能語句Sentence對應(yīng)功能編號FunctionID對應(yīng)回復(fù)編號ReplyID語句所屬類別Sort區(qū)分查電話,問候這樣的功能3.5.2回復(fù)語句自然是對語句庫的回復(fù),當(dāng)語句庫中匹配到句子,便從本庫提出回復(fù)語句,返回給用戶。SQL用于查詢結(jié)果,如用戶提問列出本項(xiàng)目的客戶,即可用sql里的表名和條件找出符合要求的客戶。語句所屬類別,對不同類別的句子的區(qū)分。表3.3回復(fù)句庫名稱表作用回復(fù)編號ReplyID回復(fù)功能Type語句類別分為查詢,統(tǒng)計(jì),執(zhí)行功能回復(fù)語句SentenceSQLSql查詢表名+條件,用于統(tǒng)計(jì)語句所屬類別Sort區(qū)分查電話,問候這樣的功能3.5.3詞語重復(fù)率高,不同類別詞語可以通用一個(gè)sort。表3.4詞庫名稱表作用詞語編號WordID名稱表作用詞語Word詞語所屬類別Sort不同類別來區(qū)分同一詞語3.5.4消息信息數(shù)據(jù)庫以下是儲存消息的數(shù)據(jù)庫,ChatInfoDB,不保存消息本體,節(jié)省了空間:表3.5CharInfoDB名稱表名作用編號InfoID發(fā)送者Sender接收者Receiver消息IDMessageID對應(yīng)ChatMessageDB的消息ID時(shí)間Time附加功能1Addition1可以完成文件傳送等功能附加功能2Addition2可能用到多個(gè)3.5.5消息本體數(shù)據(jù)庫以下是儲存消息的數(shù)據(jù)庫,ChatMessageDB,保存消息本體。表3.6ChatMessageDB名稱表名作用編號InfoID消息IDMessageID消息本體Message消息內(nèi)容字體名FontName字體大小FontSize字體類型FontType字體顏色FontColor字體有效范圍Scale包括開始位置和結(jié)束位置

4模塊的實(shí)現(xiàn)4.1咨詢模塊的實(shí)現(xiàn)4.1.1客戶端4.1.以下代碼可以參見附件自動(dòng)回復(fù)需要由客戶端發(fā)送用戶輸入的問句到服務(wù)端,用特殊的標(biāo)記告訴服務(wù)器,問句是詢問狀態(tài)。由服務(wù)端坐做分詞處理,查找符合的回復(fù)語句和SQL部分,由SQL中的表和條件得出答案,再由客戶端上顯示出。界面如6.3中的圖6-1。4.1.詳細(xì)代碼見附件。統(tǒng)計(jì)數(shù)據(jù)的回復(fù)語句與自動(dòng)回復(fù)不同,是回復(fù)語句1+統(tǒng)計(jì)結(jié)果+回復(fù)語句2這樣的形勢,例如“本項(xiàng)目共有7個(gè)bug”,其中7是統(tǒng)計(jì)結(jié)果,前面后面的句子分別是回復(fù)語句1和回復(fù)語句2。4.1.詳細(xì)代碼見附件客戶端需要處理大量細(xì)節(jié)上的問題,其中執(zhí)行功能部分已經(jīng)在附錄中給出。客戶端代碼定義了F1到F23的23個(gè)功能。4.1.2服務(wù)端4.1.服務(wù)端接到用戶問句后,對問句分詞,與語句庫中語句匹配到句子,判斷是到句子是自動(dòng)回復(fù),從回復(fù)句庫中的SQL中查得回復(fù)結(jié)果,然后把回復(fù)語句和結(jié)果合并后返回回給客戶端。若找不到結(jié)果,可以用數(shù)據(jù)庫保存的專門用于出錯(cuò)或者沒有結(jié)果的語句。4.1.服務(wù)端接到用戶問句后,對問句分詞,與語句庫中語句匹配到句子,發(fā)現(xiàn)句子屬于統(tǒng)計(jì)數(shù)據(jù),可以從回復(fù)句庫中把回復(fù)語句和結(jié)果返回給客戶端。若統(tǒng)計(jì)結(jié)果是0,可以用數(shù)據(jù)庫保存的專門用于出錯(cuò)或者沒有結(jié)果的語句。4.1.服務(wù)端接到用戶問句后,對問句分詞,與語句庫中語句匹配到句子,回復(fù)句庫發(fā)現(xiàn)句子屬于執(zhí)行功能,就可以返回給客戶端功能代號。由客戶端處理或執(zhí)行功能。4.1.3結(jié)果過多的處理方法當(dāng)符合語句有多個(gè)時(shí),可以由客戶端把符合的語句列出,數(shù)據(jù)庫中的語句是以空格隔開詞語,可以把這些詞語組合為句子,去掉[]的內(nèi)容一一列出,可以代表用戶的意思。以選項(xiàng)的方式提供給用戶選擇。typePLinkTask=^TLinkTask;TLinkTask=recordLinkID:Integer;Pointer:TIPPLinkObject;end;在ICErichedit中使用鏈接的形式列出,當(dāng)用戶點(diǎn)擊鏈接,可以再由服務(wù)器提供回復(fù)。4.1.4最終界面最終的界面如下所示:圖4.1界面效果1圖4.2界面效果2

4.2通訊模塊的實(shí)現(xiàn)4.2.1消息通訊Sendmidmessage消息通訊使用Sendmidmessage函數(shù)來傳遞消息。Sendmidmessage是原系統(tǒng)的底層函數(shù),能對指定用戶發(fā)送消息。消息通訊主要靠這個(gè)函數(shù)完成,系統(tǒng)要作的就是轉(zhuǎn)化下消息的格式。首先,判斷要發(fā)送的內(nèi)容是否為空和不能超過規(guī)定字?jǐn)?shù)。由于咨詢模塊需要經(jīng)過數(shù)據(jù)庫,需要字符轉(zhuǎn)義,轉(zhuǎn)化掉’,”,%,<,>等特殊符號。發(fā)送格式必須包括消息本題,發(fā)送者,接受者,時(shí)間日期,和4個(gè)字體屬性(font,fontsize,fontstyle,color),及字體范圍,可以加上發(fā)送者的頭像代號,還有與系統(tǒng)相關(guān)的功能。加入字體屬性和字體范圍,可以保持發(fā)送者的字體,接受者收到消息可以顯示為原有的消息和字體。在QQ等即時(shí)聊天工具中輸入/sun會(huì)顯示一個(gè)太陽的動(dòng)畫。消息通訊表情可以帶來輕松的溝通過程。Delphi中第3方組件TICErichEdit可以很好的顯示圖片和連接功能,可以使用此組件完成系統(tǒng)。首先完成表情選擇框,表情框界面可以用做好的圖片,圖片上有所有表情,利用Canvas.Rectangle可以做成比較好看的效果,鼠標(biāo)移動(dòng)在每個(gè)表情上時(shí)可以顯示紅色的正方形。以下是顯示效果的代碼:procedureTfrmprojectChat.imagechatpicMouseMove(Sender:TObject;Shift:TShiftState;X,Y:Integer);VARi,j:integer;beginimagechatpic.Canvas.Brush.Style:=bsclear;imagechatpic.Canvas.Pen.Style:=psSolid;imagechatpic.Canvas.Pen.color:=Clred;imagechatpic.Canvas.Pen.Width:=1;fori:=0to30dobeginif(x>(i)*30)and(x<(i+1)*30)thenbeginforj:=0to30dobeginimagechatpic.Canvas.Pen.color:=$00F0E6DF;imagechatpic.Canvas.Rectangle((j)*30,0,(j+1)*30,30);imagechatpic.Canvas.Rectangle((j)*30,30,(j+1)*30,60);end;imagechatpic.Canvas.Pen.color:=Clred;if(0<y)and(y<31)thenimagechatpic.Canvas.Rectangle((i)*30,0,(i+1)*30,30);if(31<y)and(y<60)thenimagechatpic.Canvas.Rectangle((i)*30,30,(i+1)*30,60);imagechatpic.Canvas.Pen.color:=ClBlack;imagechatpic.Canvas.Rectangle(0,0,420,62);caseiof0:beginif(0<y)and(y<31)thenbeginsbtChatsend.Tag:=45end;if(31<y)and(y<61)thenbeginsbtChatsend.Tag:=50end;end;1:beginif(0<y)and(y<31)thenbeginsbtChatsend.Tag:=46end;if(31<y)and(y<61)thenbeginsbtChatsend.Tag:=51end;end;2:beginif(0<y)and(y<31)thenbeginsbtChatsend.Tag:=47end;if(31<y)and(y<61)thenbeginsbtChatsend.Tag:=52end;end;3:beginif(0<y)and(y<31)thenbeginsbtChatsend.Tag:=48end;if(31<y)and(y<61)thenbegins

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論