機房收費系統是我們第一在沒有原始碼的前提下進行的獨立開發的一個小系統。雖然在敲機房收費系統的時候,過程並不是很愉快,但是不管怎麼樣,這個坎還是要過的。記得自己在剛開始敲機房收費系統的時候,迷迷糊糊的就開始了,機房收費系統和下一個軟體工程的學習結合起來,其實開發一個系統就應該要按照軟體工程的流程來進行。每一個步驟都是很關鍵的,缺一不可。
下面挑了一些自己在收費系統測試過程中遇到的錯誤,其實錯誤多的去了!(悲啊~~~~)
- 錯誤1:沒分配許可權
- 錯誤2:修改密碼時,總是提示“請輸入您的口令”,登入錯誤,也沒清空資料!
- 錯誤3:使用者登入不成功,沒給出提示
- 錯誤4:上下機表單:消費金額,1元/min 下機之後餘額顯示錯誤
- 錯誤5:添加刪除使用者和選中學生下機 沒實現按選中的記錄刪除
- 錯誤6:學生基本資料維護缺修改表單
和退出 功能
需求分析的錯誤(主要):
聽劉佳翰說,他光是需求分析就整整花了四天的時間。而自己在敲機房收費系統的時候,自己只是分析了資料庫裡的東西,即只是瞭解裡面大概要用到哪些表,存放什麼資料,分析了表與表之間的聯絡。但是在關係這方面,分析的也不咋地!
需求分析,就是要瞭解這個系統是幹什麼的?有什麼樣的功能和效能?
在需求分析階段,如果沒有分析好,對於後面的返工會很大。像我的機房收費系統我就是經過反反覆複的返工。雖然說第一遍不要求盡善盡美,但是準系統起碼要運行起來。而自己在拿到胡陽—機房收費系統程式的時候,看見上面有什麼按鈕,點擊那個按鈕出現什麼效果,就照搬著上去,完全沒有考慮到這個按鈕的作用是幹什麼用的,它在這個表單當中起到什麼作用。而且也沒有站在系統的使用者角度去考慮。
系統的最終目的是為了交付給使用者進行使用。所以,在進行系統開發的時候,首先應該要站在使用者的角度,試想如何才能讓使用者滿意,讓使用者用的方便。這需要訓練自己平時多替別人著想,而不能只是為了自己。只有這樣,你才能開發出一款滿意的軟體。
在進行系統開發的時候,首先,你應該要想一下這個系統是給哪些人用的,每個人各用些什麼功能,也就是許可權的問題。其次是這些功能,是全部的功能這些人都能同時擁有嗎?比如機房收費系統中的(操作員就可以擁有一般使用者的全部功能,而管理員除具有自己的功能之外,還可以同時擁有一般使用者和操作員的功能。) 然後才是畫介面和進行資料庫的設計,開始進行系統的開發!在分析介面的功能的時候,也要試想一下哪些功能的代碼是可以重複使用的,這就可以提高了效率,而且對自己也有起到一定的積極暗示作用。
機房收費系統當中,有幾個表單都用到了匯出Execel 表,還有幾個查詢表單都是用到多表查詢,報表等,像這些類似的功能,只要研究好一個就可以了,其他的都可以重複使用。這也涉及到一個很重要的學習方法,那就是要學會對知識進行打包。
在進行功能實現的時候,也沒有把自己放到使用者的角度上去思考,試想如果是自己要用這個功能,那要進行什麼樣的操作,資料是怎麼走的,也就是流程是怎麼樣的。以及在使用的時候,可能會遇到什麼問題,這些都是要考慮的。
技術上的錯誤:刪除功能方面,知道刪除資料的時候,不僅僅是刪除控制項顯示的資料還要刪除表裡相應的資料,但是,自己沒有實現出來。
邏輯上的錯誤:學生基本資料維護等表單,對多表查詢的操作沒有技術上的問題,但是因為裡當時,在敲這個表單的時候,就因為理不清裡面的關係,在這個方面糾結了好久。其次就是對消費金額的計算,計算出來的資料不準確。
細節上的錯誤:對一些控制項上的一些簡單的按鈕,比如說退出等,反而出錯的越多,全部的退出按鈕,都實現為了退出整個程式,而不是退出當前表單。還有就是結賬成功的時候,沒有對資料進行清空。尤其是在敲學生基本資料維護表單的時候,沒看見底下的兩個按鈕,所以缺了修改學生資訊這個表單。這也跟沒分析好有關,如果對學生基本資料維護進行功能上的分析,既然是對資訊進行維護,那肯定就會想到不僅僅是查詢資訊這個功能!
在測試的過程當中也是對自己系統條理的一個梳理。在測試過後,之前很多理不清思路的難題都會得到解決。不過,確實是如果在系統進行之前沒有進行一個良好的分析,測試出來的問題就會越多,而且很多自己都不知道,怎麼是這樣的?例如,每次我在敲完的時候,都感覺應該是沒有問題了,但是經過測試的時候,就有很多的問題暴露出來。