整個系統分爲三個部分: 前端展現部分、用戶管理中心、管理員後臺 , 採用的環境是 lamp php
文章將從如下 7 個方面來記錄此次項目的開發經驗: 需求整理 , 數據模型創建 , 代碼撰寫 , 系統測試 , 業務知識的重要性 , 最後的總結。html
該項目直接面向技術整理需求 , 因此在避免了直接面向客戶的需求整理 , 可是在整理的過程當中 , 急於下手coding , 並無認真的分析需求的細節 , 以至於在創建CMD時候, 沒有對有些信息設立相應的字段 , 這也是項目在中途進展不利的重要緣由 。在在之後的開發中是要避免的 , 只有前期的工做到位, 才能在coding的過程當中更加順暢。前端
創建數據模型使用的是powerdesigner , 這其中碰見了聯動的問題,後來發如今新建項目之後(沒有建表以前), 要在tools選項中model options 去除unique code , 便可以解決 。在表單的建設上 ,必定要注意細節問題 , 字段的屬性, 順序,認真考量。jquery
代碼撰寫, 坦誠的說,此次項目整個代碼的撰寫過程就一個打補丁的過程 , 由於前期的工做作得不完善, 對model層的設計不完善 , 出現了不少處的冗餘的方法。 在之後model撰寫中 , 計劃這樣安排 ,根據需求撰寫數據查詢字典 , 而後按照字典最後得出須要撰寫方法 , 一方面能夠很方便設計方法 , 同時對數據的索引也比較清晰。此次項目的代碼中, 多處出現了對上游代碼返回值的依賴 , 這在之後的代碼中是須要注意的 , 對代碼返回值的控制 , 儘管在php中沒有嚴格的要求 ,可是最好是作到, 一個方法只返回一種類型 , 這樣會更加清晰。瀏覽器
代碼中碰見到了大文件上傳的問題 , 使用的是 SwfUpload , 碰見了302問題 , 解決的辦法與網上的相似, 不過我直接在upload url後面附上了標誌數據 。具體的使用與本身使用的框架相關。框架
http://*********/upload-action_upload-NOREDIRECT_1-adSignString_{{$t._signad}}.htmlide
代碼中使用到了視頻播放器 , 使用的ckplay , 參數的配置比較簡單 , 推薦使用。測試
對於一些js的效果 , 例如圖片的輪播使用的是jquery.KinSlideshow-1.2.1.min.js 插件 , 對於一些選項卡的使用, 例如鼠標點擊選項卡的中被點擊項亮起 , 其餘恢復 , 使用的php代碼控制 , 直接根據 壓入模板的參數進行控制 ,直接避免瀏覽器的兼容問題 , 很實用 。 由於選項卡已經被做爲頁面的公用模塊 , 抽出來做爲了一個COMMON 模板,修改的時候很方便。 url
代碼的撰寫的過程當中 , 碰見的最大的問題是留尾巴的問題 , 不少地方沒有一次性進行處理 , 而後就出現了後期的遺漏問題 , 這點是必定要避免的 , 若是問題是在解決不了也必定要有相應的記錄 , 供後期查看。插件
系統測試,
系統測試包括 , 開發過程當中的測試數據和後期系統正式測試數據。建議在開發過程當中使用正規的測試數據 , 所謂的正規數據就是 ,指的是與業務必定的數據 , 這樣作的好處就是 , 能更好的發現問題 , 避免是用一些當時覺得很簡單的沒有目的性的數據 。
業務知識的重要性
業務知識在我如今看來 , 與技術是一樣的重要 , 記得在設計訂單的時候 , 就出現了這樣的問題 , 首先碰見的一個問題就是 歷史數 與 業務數據的問題 , 歷史數據例如訂單 , 供查詢使用 , 訂單數據流向業務數據 , 這纔是跟這正的業務流程中各個部分交流的數據部分 。 業務知識每每會決定你的數據表的字段的設置 , 這條數據會有多大 , 會不會常常性的變更 。
最後的總結
此次項目在需求分析 , 數據建模 , 代碼撰寫 ,測試 方面都給了本身不少經驗 , 但願之後在本身的項目可以更多的去總結。
(待續......)