script知識(shí)3) css知識(shí)4) 后臺(tái)編程語言,僅使用到與前臺(tái)界面編寫相關(guān)的部分知識(shí)。5) 業(yè)務(wù)知識(shí)
通過以上分析可以看到,在編寫單表的維護(hù)代碼階段是使用知識(shí)最少的一個(gè)步驟,同樣的當(dāng)業(yè)務(wù)產(chǎn)生變更時(shí),為該處的變化所用的編碼時(shí)間也比較少,而變化所花費(fèi)的時(shí)間與表結(jié)構(gòu)的調(diào)整所花費(fèi)的時(shí)間是正比關(guān)系。這個(gè)關(guān)系將在復(fù)雜度分析時(shí)進(jìn)一步說明。接下來看編寫該表與其他表的業(yè)務(wù)關(guān)系代碼和編寫界面代碼部分,這個(gè)2個(gè)階段所使用的知識(shí)繁多,并且涉及的知識(shí)面也很廣,是項(xiàng)目中花費(fèi)時(shí)間最多的地方。但是在實(shí)際項(xiàng)目開發(fā)中并沒有再對(duì)這兩個(gè)步驟進(jìn)行更細(xì)的分解的過程。
現(xiàn)在可以得出一個(gè)這樣的結(jié)論,工作量是與所使用的知識(shí)相關(guān)的。一個(gè)業(yè)務(wù)所使用的知識(shí)點(diǎn)越少,所涵蓋的知識(shí)面越少,那么所耗費(fèi)的工作量也會(huì)越少。由此,當(dāng)需要提高工作效率時(shí),盡量少的使用知識(shí)是一種有效的手段。但是在實(shí)際情況中,并不能有效的減少知識(shí)使用種類,只能在使用知識(shí)的熟練度上下工夫,一個(gè)開發(fā)者所掌握的知識(shí)熟練度越高,那么相對(duì)的工作量也就會(huì)越少,一個(gè)知識(shí)點(diǎn)的入門門檻越低,那么工作量也會(huì)越少。因此,設(shè)置工作量為G,知識(shí)點(diǎn)入門門檻為B,B1為交給新手人員開發(fā)的知識(shí)點(diǎn),知識(shí)點(diǎn)總數(shù)為C,P1為高級(jí)開發(fā)人數(shù)的,P2為新手人數(shù),那么G = ( C - B )/P1 + ( B - B1 ) / P1 + B1 / P2 。
對(duì)知識(shí)點(diǎn)分析完后,再對(duì)業(yè)務(wù)的復(fù)雜度進(jìn)行分析,知識(shí)點(diǎn)的應(yīng)用可以看作是開發(fā)中的橫切方向的話,那業(yè)務(wù)的復(fù)雜度就是開發(fā)中的縱切方向,業(yè)務(wù)的復(fù)雜度貫穿了所有的開發(fā)步驟。
在本文中,從數(shù)據(jù)的應(yīng)用著手,來分析業(yè)務(wù)的復(fù)雜度。
在項(xiàng)目開發(fā)中,經(jīng)常要遇到"類型"這樣的業(yè)務(wù)點(diǎn),例如職務(wù)。對(duì)于這一類業(yè)務(wù),其主要開發(fā)時(shí)間就花費(fèi)在"對(duì)于單表的增刪改查"上。另一種類型的業(yè)務(wù),其復(fù)雜度高一點(diǎn),主要應(yīng)用于該表需要與另一個(gè)表進(jìn)行組合,然后產(chǎn)生一種"所屬"的關(guān)系,例如權(quán)限,角色等,其主要開發(fā)時(shí)間就花費(fèi)在"對(duì)于多個(gè)表的所屬關(guān)系的增刪改查"上。還有一種類型的業(yè)務(wù),主要是將多個(gè)表的數(shù)據(jù)進(jìn)行組合轉(zhuǎn)換后輸出,例如報(bào)表,CMS的模板解析等,其主要開發(fā)時(shí)間就花費(fèi)在"對(duì)于多個(gè)表數(shù)據(jù)的監(jiān)測(cè)和重組上",最后一種類型的業(yè)務(wù),主要是為數(shù)據(jù)附加上狀態(tài),例如工作流等,其主要開發(fā)時(shí)間就花費(fèi)在"對(duì)于數(shù)據(jù)的不同狀態(tài)的處理上"。
以上4點(diǎn)基本涵蓋了做項(xiàng)目時(shí)所面對(duì)的業(yè)務(wù)。接下來,我們?yōu)檫@4種業(yè)務(wù)定一個(gè)權(quán)值
1.對(duì)于單表的增刪改查"權(quán)值為1
2.對(duì)于多個(gè)表的所屬關(guān)系的增刪改查"權(quán)值為4
3.對(duì)于多個(gè)表數(shù)據(jù)的監(jiān)測(cè)和重組上"權(quán)值為8
4.對(duì)于數(shù)據(jù)的不同狀態(tài)的處理上"權(quán)值為16
這個(gè)權(quán)值的比值基本來自于數(shù)據(jù)的維度,1類業(yè)務(wù)是單一緯度。2類業(yè)務(wù)除了要處理多個(gè)1類業(yè)務(wù)外,還需要處理多個(gè)1類業(yè)務(wù)之間的關(guān)系。3類業(yè)務(wù)除了要處理2類業(yè)務(wù)中包含的,還需要對(duì)數(shù)據(jù)本身進(jìn)行轉(zhuǎn)換處理,4類業(yè)務(wù)除了要處理3類業(yè)務(wù)的,還需要處理數(shù)據(jù)的狀態(tài)。后一種業(yè)務(wù)要比前一種業(yè)務(wù)多處理一種邏輯結(jié)構(gòu)。
根據(jù)這個(gè)權(quán)值,來看看在項(xiàng)目中經(jīng)常遇到的情況,以職務(wù)為例,最開始的需求就是1類業(yè)務(wù),這個(gè)時(shí)候客戶的需求變更可能如果僅限制在1類業(yè)務(wù)的需求范圍內(nèi),那么如果完成職務(wù)的業(yè)務(wù)開發(fā)時(shí)間為1的話,那么修改的時(shí)間應(yīng)該在<=1的開發(fā)時(shí)間內(nèi)。但是,這個(gè)時(shí)候客戶提出一種需求變更,他要求,職務(wù)是有從屬關(guān)系