摘 要:軟件系統的質量及其中所含的缺陷也很大程度上取決于開發它的程序員。程序員的個性品格的研究對提高所開發的軟件質量有著重要的意義。研究了程序員的個性品格,并運用了專家打分等方法建立相關的模糊評價模型,并進行了實例分析。
關鍵詞:程序員;個性品格;模糊評價
中圖分類號:F272.92文獻標識碼:A文章編號:1672-3198(2008)03-0133-02
1 程序員個性品格分析測評模型
早在1999年,由Donald Gotterbarn擔任主席的ACM/IEEE-CS軟件工程師道德規范和職業實踐(SEEPP)聯合工作組就制訂了《軟件工程師職業道德規范和實踐要求》(Software Engineering Code of Ethics and Professional Practice),該要求從8個方面就軟件工程師的道德水平提出了要求,這8個方面分別是:公眾、客戶和雇主、產品、判斷、管理、專業、同行以及自身。總結這八個方面的細則對軟件工程師所提出的要求,基本集中在誠信、協作、技能以及經驗等方面。
有關程序員個人品格的考察,人力資源方面也有許多的研究。中國人才測評網中,“智維通用人才選拔測評”就是一個通用人才個性品質的評價樣本,它是以西方經典的人格理論為基礎開發的專業測評工具,能對被測試者的思維風格、人際交往、個性成熟度、性格特征等方面有一個全面客觀的了解。評價維度為:進取心、責任心、自我控制、自信心、洞察力、創造性、靈活性、獨立性、支配愿望、社交能力、寬容性、敏感性。其關系如下表所示:
除此之外,我們還可以登陸到各大招聘網站,查找各軟件公司對其所招聘的程序員提出的個性品格的要求。
將以上我們所搜集的資料綜合起來,就可以得到程序員個性品格的基本要求。將這些要求加以分析歸類,可以分為四個大方面,分別是:性格、品質、知識水平和能力水平。也就是程序員個性品格的一級指標因素:其中,每個大方面又可以細分為三項指標,如圖1所示:
(1)性格。主要考察程序員的細心程度、勤奮程度以及自信心。
(2)品質。主要考察程序員的毅力,比如鉆研精神,壓力承受能力等;道德感,也就是程序員的誠信程度;以及責任感。
(3)知識水平。主要考察程序員的學歷水平,若考察對象為學生,可以綜合其學歷水平以及學習成績;技能,指掌握相應開發工具的技能;經驗,是指與程序員所從事的工作相關的經驗。
(4)能力水平。主要考察程序員的學習能力、理解能力和邏輯思維能力。
圖1 程序員個性品質分析測評指標
設評價指標集為U,程序員個性品格評價一級指標要素可設定為U={性格,品質,知識水平,能力水平}={U1,U2,U3,U4},二級指標為U1={細心,勤奮,自信心};U2={毅力,道德,責任};U3={學歷(成績),技能,經驗};U4={學習能力,理解能力,邏輯思維能力}。
我們可以對一級指標Ui進行單因素模糊綜合評價,首先要取得Ui包含的二級指標的評判集,設評判集V={v1,v2,…,vm}。結合評價程序員個性品格所包含各級指標的特征,把V確定為五個等級:V={非常好,比較好,好,一般,不好},并以此進行一級評判工作。然后,確定Ui中各評價指標的權重,Ai={wi1,wi2,…,win},且應有∑nj=1wij=1。其中,權重系數的確定很重要,它直接影響著最終的評價結果。權重系數的確定可利用二元對比函數法、層次分析法、專家評分等方法確立響應指標權重。在這里,我們采用專家評分,得到的一級指標要素對應的權重集為A=(0.2,0.27,0.2,0.33)。對應的權向量分為別:A1=(0.42,0.33,0.25);A2=(0.31,0.31,0.38);A3=(0.25,0.33,0.42);A4=(0.31,0.31,0.38)。對每一個評價指標Ui進行單指標評價,確定從Ui到U的模糊關系集Ri。Ri={ri1,ri2,ri3},這里rij表示指標uij對評語v的隸屬度。這樣,我們得到Ui的最終評判結果記為Bi,Bi=(Bi1,Bi2,Bi3,Bi4)=Ai×Ri,(i=1,2,3,4)。最后,將Ui視為一個單獨元素,用Bi作為Ui的單指標評價向量,可構成U到V的模糊評價矩陣R。由于這時對因素Ui(i=1,2,3,4)的單因素評判向量Bi已經得出,故評判矩陣即為:
R=B1B2B3B4=
B11B12B13B14
B21B22B23B24
B31B32B33B34
B41B42B43B44
按照Ui在U中的重要程度,進行專家打分得到的權重,為A=(0.2,0.27,0.2,0.33),于是得出U的最終評語向量B=A*R=(b1,b2,b3,b4),按照最大隸屬度原則,可以找出bk=Max(bi),進而得出評價對象在評判總體V中得到的綜合評價值。
2 程序員個性品格分析測評實例
某公司對公司內的某程序員個性品格水平進行模糊評價,評價指標體系中各指標的評判采用問卷調查的形式,調查對象是各個部門的高層管理人員。例如,對該程序員的“細心程度”這一評價指標打分時,有20%的人認為該程序員的“細心程度”為“非常細心”,25%的人認為“比較細心”,30%的人認為“細心”,15%的人認為“一般”,10%的人認為“不細心”這樣,參與評價的人員對該程序員的“細心程度”的評價為:(0.2,0.25,0.3,0.15,0.1);同樣的方法該程序員的“勤奮程度”的評價:(0.18,0.24,0.26,0.22, 0.1);對該程序員的“自信心”的評價:(0.3,0.25,0.25,0.2,0),于是可以得到在該程序員的性格U1上的測評結果矩陣:
V1=0.2,0.25,0.3,0.15,0.1
0.18,0.24,0.26,0.22,0.1
0.3,0.25,0.25,0.2,0
有關程序員“性格”的二級指標權重為:
A1=(0.42,0.33,0.25)
利用同樣的方法,得出評級指標體系中其它評價指標上的評判矩陣和權重集,分別為:
V2=0,0.2,0.3,0.3,0.2
0.1,0.3,0.4,0.15,0.05
0.3,0.25,0.25,0.1,0.1
A2=(0.31,0.31,0.38)
V3=0.5,0.4,0.1,0.0
0.32,0.24,0.24,0.15,0.05
0.2,0.2,0.2,0.2,0.2
A3=(0.25,0.33,0.42)
V4=0,0.1,0.6,0.2,0.1
0.2,0.6,0.1,0.1,0
0.1,0.2,0.3,0.3,0.1
A4= (0.31,0.31,0.38)
B1=A1*V1=(0.2184,0.2467,0.2743,0.1856,0.075)
B2=A2*V2=(0.145,0.25,0.312,0.1775,0.1155)
B3=A3*V3=(0.108,0.307,0.309,0.209,0.067)
B4=A4*V4=(0.1,0.293,0.331,0.207,0.069)
專家評分法給出一級評價指標的權重為A=(0.2,0.27,0.2,0.33)
B=A*R=A*B1B2B3B4=(0.2,0.27,0.2,0.33)*
0.2184,0.2467,0.2743,0.1856,0.075
0.145,0.25,0.312,0.1775,0.1155
0.108,0.307,0.309,0.209,0.067
0.1,0.293,0.331,0.207,0.069
=(0.13743,0.27493,0.31013,0.195155,0.082355)
根據隸屬度最大原則可看出,該程序員的個性品格為“好”。由以上的評價過程可知該程序員的各項個性品格指標均為好。其中,在知識水平上略有優勢,而在品質上略有不足。該程序員在以后發展過程中應該注重綜合素質的培養。
參考文獻
[1]何童,陳勇.一種改進的個人綜合素質模糊評價方法[J].濟南大學學報(自然科學版),2005,(01).
[2]曾祥金,魯倩.應用綜合評價模型評價學生綜合素質[J].科技創業月刊,2007,(08).
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。