前段時間,有個朋友讓我給其寫個網上自動投票軟體,鑑於朋友不好拒絕,但又迫於時間、盡力根本沒法一下子完成,於是給其做了個投票軟體功能點、技術難點及開發工作量分析。
1.投票軟體原理
簡單點說投票軟體就是模擬手工投票的整個過程
+ip欺騙(可能是
cookie
清空,可能是不間斷的撥號和斷網,也可能是不間斷的尋找可用**)
+不間斷的迴圈操作,從而實現使用者執行投票軟體的投票操作,即可替使用者完成耗時、耗力的簡單手工勞動。 2
.投票軟體功能點 1
)網路診斷:
pc機是何種方式上網,自動撥號和斷開,**偵聽等; 2
)傳送包和接收包的解析、模擬:不同的投票鏈結往往都有其特徵傳送包格式,而且現在很多投票已經不是簡單的一次包傳送和接收即可完成,而是需要多次傳送和接收才可以成功投票; 3
)驗證碼識別:現在很多投票需要輸入驗證碼,有數字的,也有字元的等等; 4
)**伺服器樣本維護和評價問題:由於很多投票是嚴格
ip唯一的,使用者就必須通過**來實現。為此,就要手工維護**伺服器樣本庫,然後投票軟體自動作出**伺服器的好壞評價,這是軟體本身的乙個自我學習過程。 3
.技術難點分析 1
)傳送包和接收包解析、模擬問題,雖說技術上不是很複雜,但是需要做很多投票前的分析工作。就是說,在投票前,我們需額外分析傳送包是什麼樣的格式,接收包還需不需要二次傳送等等,只有這些分析完成並形成乙個完整的傳送包、接收包處理格式之後,投票軟體才可以呼叫該格式完成投票。
評價:該功能點技術雖說不上難,但是工作量很大。即使投票軟體已經有現成的了,那麼每次真實投票時,還要花費很多時間來分析傳送包和接收包是如何處理的。 2
)驗證碼識別:投票時往往需要輸入驗證碼,那麼換成投票軟體的話,投票軟體必須能自動識別出該驗證碼具體是什麼內容,即驗證碼識別。驗證碼識別由於涉及到影象處理、人工智慧、複雜的算數運算,因此其開發難度很大,而且識別成功率視不同的驗證碼型別差異很大。
評價:該功能點技術難度最大,而且可參考資料很少,因此,需要投入的人力會很多。 4
.開發工作量分析 0
)軟體詳細設計:1人,
2天; 1
)網路診斷:1人,
4天; 2
)傳送包和接收包解析、模擬:開發階段1人,
4天,應用階段視實際投票的複雜情況,估計1人
1小時是需要的; 3
)驗證碼識別:2人,
18天; 4
)**伺服器樣本維護和評價:1人
2天; 5
)軟體內部測試,加密:所有參與開發者,2天;
6)總計(保守):
1*2+1*4+1*4+2*18+1*2+3*2 = 54人/
天;
的技術難點 人臉識別技術特點及難點
人臉識別技術特點 人臉識別的優勢還有以下四個方面 1 自然性。所謂的自然性是指通過觀察就可以比較人臉來區分和確認身份。2 非強制性。被識別的人臉影象資訊可以主動獲取而不被被測個體察覺,對個體是隱蔽的。3 非接觸性。相比較其他生物識別技術而言,人臉識別是非接觸的,使用者不需要和裝置直接接觸。4 併發性...
自動投票軟體功能分析
投票之前首先要分析投票的 以得到投票提交的 提交的資料,並判斷是否有ip位址限制,是否有投票間隔時間的限制,是否有cookie的限制等等。需要有一定的 知識的人的學習。2 捕獲提交頁面的時候所post的資訊。從網頁源 中可以分析出來,資料是post上去的,post的資料為 checkvalue 32...
C語言易錯點及難點
獲得字串長度 strlen s 需要標頭檔案 include 判斷兩個字元是否相等用 判斷兩個字串相等 if strcmp s1,s2 0 strcmp s1,s2 相等返回0 想要輸入帶空格用gets s 標頭檔案stdlib.h中的方法atoi可以實現字串轉數字 996 轉為996 includ...