軟件項目開發流程及規範

開發流程及規範

Web 開發的分散性和交互性,決定了 Web 開發必須遵從一定的開發規範和技術約定,只有每個開發人員都按照一個共同的規範去設計、溝通、開發、測試、部署,才能保證整個開發團隊協調一致的工作,從而提高開發工作效率,提升工程項目質量。

一、 項目的角色劃分
如果不包括前、後期的市場推廣和產品銷售人員,開發團隊一般可以劃分爲項目負責人、程序員、美工三個角色。

項目負責人在我們中國習慣稱爲"項目經理",負責項目的人事協調、時間進度等安排,以及處理一些與項目相關的其它事宜。程序員主要負責項目的需求分析、策劃、設計、代碼編寫、網站整合、測試、部署等環節的工作。美工負責網站的界面設計、版面規劃,把握網站的整體風格。如果項目比較大,可以按照三種角色把人員進行分組。

角色劃分是Web項目技術分散性甚至地理分散性特點的客觀要求,分工的結果還可以明確工作責任,最終保證了項目的質量。分工帶來的負效應就是增加了團隊溝通、協調的成本,給項目帶來一定的風險。所以項目經理的協調能力顯得十分重要,程序開發人員和美工在項目開發的初期和後期,都必須有充分的交流,共同完成項目的規劃和測試、驗收。

二、 開發工具的選取
不象 C/S結構程序開發,可以一門語言從頭到尾,你用Delphi,就是Delphi程序員,你用VC++,你就是VC程序員。B/S結構的Web開發工作,工具的選擇是一件痛苦的事情。從Windows到Linux,從IIS到 Apache,從J2EE到 .NET,從COM到.NET到EJB組件……還有 Asp、Asp.net、Jsp、Php、Perl、Javascript、Vbscript……

美工也輕鬆不了多少,什麼"網頁三劍客" "新網頁三劍客"、FrontPage、Photoshop、CorelDraw……誰都說自己是最強大的!

我們的經驗是,選用工具時最好是統一的,比如美工統一用DreamwaverMX製作網頁,程序員全部用文本編輯器書寫代碼。統一工具的好處是可以保持同一個項目文檔的一致性,便於開發人員的交流和文檔的保存。

但是也不必刻意強求一致,比如美工可以使用任何自己熟悉的圖形處理軟件,只要最後能生成瀏覽器支持的圖片就可以了。正是Web開發工具的多樣性,才成就了今天互聯網多姿多彩的局面。
只要程序員的純Html和 Javascript 代碼的功夫足夠過硬,就能勝任最後的網站整合工作。

三、 項目開發流程
如果項目真正談下來了,就需要正式確定前階段的需求分析,該補充的步驟必須補上。然後進行詳細的總體設計,其實也基本是前階段工作的重複和完善。

產生各欄目文件夾的結構圖(一些公共文件夾如images、scripts、 styles等需要固定存放,共同調用)。

然後由美工根據內容表現的需要,設計靜態網頁和其它動態頁面界面框架,該切分的圖片要根據尺寸切割開來。給需要程序動態實現的頁面預留頁面空間。制定字體、字號、超級鏈接等CSS樣式等。

在美工設計頁面的同時,程序員着手開發後臺程序代碼,做一些必要的測試。

美工界面完成後,由程序員添加程序代碼,整合網站。
由項目組共同聯調測試,發現bug,完善一些具體的細節。
製作幫助文檔、用戶操作手冊。向用戶交付必要的產品設計文檔。
然後進行網站部署、客戶培訓。

最後進入網站維護階段。這一階段也可以不包括在該項目中,而作爲公司的服務內容。
以上的每一部都會產生一些階段性成果,項目經理需要及時進行監督、審覈,發現問題及時糾正。
爲了控制項目的進度,應當實施填寫"項目進度表"制度,即每天填寫工作日誌,記錄當天的工作細目和工作量,以及需要解決和已經解決的問題。

四、 一些技術規則
1, 數據庫命名約定(參考了"匈牙利命名法")
數據庫(Database):格式 [db]_[ desc]。
表(Table):格式 [tab]_[desc]。表名長度不能超過30個字符,單詞首寫字母大寫,多個單詞間不用連接符號。

字段(Field or Column):格式f_[type]_[desc]。f:表明這是一個字段名稱;type:可選,表明字段類型,字符型爲c,整型爲i,邏輯型爲b,貨幣類型爲m,浮點型爲f,日期型爲d,時間型爲t,二進制爲bl。如果類型爲字符型,可以省略。desc:對字段屬性的有意義的描述,可以用英語單詞、單詞縮寫、漢語拼音、字段實際含義的拼音縮寫等,單詞之間可以用單詞首字母大寫軟分割(推薦),也可以用"_"隔開。舉例:
f_name (姓名)
f_c_ UserInfo 或 f_c_ User_Info
f_xm (姓名)
f_grp_id (組標識)
索引(Index):格式 [idx]_[desc]。
視圖(View):格式 [View]_[表A]_[表B]_[表C]…,其中View表示"視圖"。這個視圖由幾個表產生就用連字符"_"連接幾個表的名,如果表過多可以將表名適當簡化。
存儲過程:格式 [sp]_[表名]_[存取過程名(縮寫)],比如sp_User_Delete。
觸發器(Trigger):格式 [trg]_[d][i[[u]_[desc]。trg 代表觸發器;d,i,u表明觸發器類型(Delete,Insert,Update)定義,書寫順序爲d、i、u;desc是表的名稱,表明觸發器所在的表。
數據庫設備(Database Device):格式 [dev]_[desc]。
約束(Constraint):格式 [cns]_[desc]。

2, SQL語句書寫規範
SQL語句中,SQL關鍵字全部大寫,其它的遵照"數據庫命名約定"。例如:
SELECT * FROM tabNewsInfo WHERE f_UserName=’’ ORDER BY f_i_autoid
3, 文件夾命名約定
公共文件夾:
/images 公共圖片
/styles 樣式表
/scripts 腳本
/ftps 下載
/doc 網站相關素材、文檔
/readme.txt 網站說明文檔
/helps.htm 網站幫助文檔
/mylogs.txt 網站維護記錄
其它欄目的命名,可以用拼音首字母簡稱,也可以用英文單詞。全部文件夾的含義在readme.txt文件中說明。

4,對象及變量命名約定
每個變量名必須先定義,再使用。在ASP文件的最開頭添加語句<%Option Explicit%>可以強制變量定義。代碼塊必須採用縮進格式。每個函數前必須標明函數的功能、輸入參數、返回值的相關信息。

變量類型 縮寫前綴
String str 或 s
Integer Int
Date Dt
Object obj或 o
Boolean bol或 b
Byte Byt
Double Dbl
Error Err
Long Lng
Single Sng

5,圖形對象約定
圖片的格式:最後生成 jpg,gif,png,swf 格式的圖形文件
圖片的字節大小:最大不能超過30k
圖片的尺寸:根據需要確定,最好使用小圖片,大的圖片必須切割成小圖片使用。
圖片的留白:圖片的邊界不能留白,圖片只包含有效的色彩元素

6,媒體對象約定
流媒體的格式: asf,wmv,wma,rm,不建議使用 avi 格式的動畫文件

7,頁面佈局的基本約定
中文段落必須有2個漢字的縮進。字間距採用默認大小。行間距爲16pt~20pt。文字佈局必須留有"天""地""左""右",不能把版面佔滿。
頁面佈局必須保持色彩平衡。注意上下、左右的呼應。注意頁面的整體協調。提倡畫面和文字的融合,而不是畫面和文字的明顯分離。
要按照設計廣告的要求來設計網頁頁面 - 特別是一些產品展示性的頁面。

五、 一些經驗和教訓
1,能用靜態網頁表現的內容,儘量不用程序代碼動態實現。

2,設計階段,必須和用戶進行充分的交流,完全、準確的瞭解用戶的需求。既不能歪曲用戶的意思,也不能一味迎合用戶的非正當需求,也不能對自己沒有把握的技術甚至不可能實現的技術誇下海口。需求分析是一個溝通、交流、引導、教育、鬥爭、妥協的過程。需求分析結果要有文字資料存檔。

3,技術參數必須瞭解準確。比如用戶的軟件平臺是linux系列,那你的系統就要考慮用Java或者 Php 加MySQL開發了,這時候你的ASP.NET技術就用不上了。

4,最好讓用戶對已經確定的需求內容簽字,蓋章。

5,任何交流,必須有書面記錄。對一些喜歡"健忘"-實際上是懶惰的開發人員,要求他必須每天花10分鐘寫工作日誌。

6,每個項目的有關文檔,全部、統一集中歸檔。 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章