標籤:c# sqlserver 程式設計語言 控制項 系統
基於C#的超市收銀管理系統前序
一直在忙學習Qt有關的知識,很有幸這學期學習了C#。讓我也感覺到了一絲欣慰,欣慰的是感覺好上手啊,學了幾天頓時懂了!好多控制項的用法好相似,雖然平時上課沒有怎麼認真聽過課,但是好多知識還是理解的差不多,這一點還是挺高興的!又到了一學期的期末,凡是程式設計語言這門課,最後肯定少不了課程設計,想來想去還是用C#實現以下自己曾經做過的超市收銀管理系統,商務邏輯也不用多想了,直接開始編寫代碼。說實話,感覺學校裡邊包括作業以及各種任務都好應付,要是真正做企業級的項目,那可不是分分鐘就能解決的,首先說明一下,這份課設也就用了3到4天時間不到吧,個人感覺還行,基本的進銷存功能都實現了,當然,作為課設已經可以了。
在開始之前,我不得吐槽一點,在學校中只要你做的東西稍微好看點,老師就果斷說你是從網上當的,業界良心啊!記得上學期的資料庫課設,我當時做的是酒店管理系統詳情可看這個http://download.csdn.net/detail/u013704336/8543019,
當時感覺是做到挺好的,不信可以去看看。可最後的成績……我就無語了,貌似是最低的,我也沒有說啥,畢竟成績著事,一直都不在意的,何必為這一門成績在意。大學校園的中的成績不能說明什麼,任它去吧,嘿嘿……關鍵還是你能夠做出像樣的東西出來!
軟體開發需求分析是最重要的。前期的分析大約佔60%左右,後期代碼編寫以及其他佔40%,這是我個人+瞭解到的,有不對的地方請大家指出。下面我就當時總結總結,說說一些當時自己的想法。
簡單的需求分析
功能模組劃分
超市收銀管理系統主要就是進銷存功能,作為一次課設大概實現了這三個功能也就可以了。如果是商業的那功能可就多了,也就更複雜了。下面主要說說這三個模組
進貨管理模組
進貨模組無非就是將所進貨的商品資訊進行儲存,至於怎麼儲存,這就得進行細分了。一般進貨的時候都會有一個進貨流水號,以進行唯一區分,再有什麼呢?肯定有商品的一些屬性了,像什麼單品數量、單品單價、生產日期、進貨時間。總進貨價格、數量等等一些資訊。詳細資料見下面的資料表的設計。
前台銷售
銷售模組中,輸入商品的條碼檢索出對應的商品資訊,並顯示出它的價格,數量、規格等一些資訊,,若沒有該商品則進行提醒,購買成後也要對該商品在庫存中的數量進行相應的更新操作,以免資料不對應。這是很關鍵的一步!
庫存管理
倉庫管理模組中,主要是對倉庫中商品的增、刪、改、查操作。另外還用該有庫存提醒功能,某個商品的數量低於設定值時,可進行及時提醒,防止庫存為零。
實體分析
實體分析中主要是對各個對象進行一個建模的過程。啥話都不說了,直接就行了(E-R圖)。相信學過資料庫的都知道吧!
資料庫的設計
由於本次程式設計語言是C#,因此選用sqlserver應該最合適的了,在相容性上,自己家的東西應該更能很好在一起吧!看了下自己電腦很久以前就裝個sqlserver2000,所以就用2000吧,免的下載了,估計很多人要說2000已經落伍了吧,我想也是的,都過去這麼多年了,不過軟體一般都是向下相容!所以應該沒有多大的問題。
我是直接寫好指令碼,然後倒入後自動產生的,沒有手動進行建立,感覺那樣好麻煩,也很不方便,好多同學反而覺得用滑鼠點擊方便,其實那樣更不方便,在後期編寫代碼過程中就會體會到這一點,我覺得這是一種好習慣!
資料表的建立
只要各個實體分析清楚了,建表那隻是分分鐘的事情!當然,我這裡所說的表,可遠遠不止上面提到的,還有好多的沒有說,就像簡單的使用者權限管理,我設計了5張表,有使用者資訊表(這個表還可以分成自然資訊表和帳號資訊表)、許可權表,角色表,許可權角色表,使用者角色表。關於許可權管理分析,我是參考別人的,可以搜到的,這是我從他哪兒得到的關係圖。再次說明,這是參考別人的,在這裡多謝了!
架構設計
* 各個模組設計
- 前台銷售
- 採購進貨
- 庫存管理
- 會員管理
- 銷售統計
- 員工資訊管理
代碼編寫
好多人覺得的編寫代碼好難啊!這類人是屬於長期不寫代碼的人,我身邊好多人就死這樣的,正是因為沒有寫過幾行代碼,才覺得難。現在的大學生好多都成了這樣,還是學電腦的,哎……別說讓他們寫代碼了,很多時候就連裝個基本的軟體也不會,找別人裝,我就像說,你不會,百度應該會啊,你不會百度?每個人都有第一次,第一次裝的時候都基本不會的,百度一下就會了麼,連基本學習能力都喪失了!如果大學生連基本的自學能力都沒有,那以後……我不敢肯定說,不過也好不到那裡去!有點扯遠了,代碼編寫應該輸入最低層的勞動了。那些說編寫代碼難的,你就不知道需求分析階段是多麼的難嗎?哦,我忘記了,他們根本不懂什麼是需求分析……原諒他們了。
本次代碼編寫對我來說還是很容易的,雖然接觸時間不長,但是有一種似曾相識的感覺,可能是由於自己之前學過Qt的緣故吧,總感覺好多控制項設計起來特別給力,觸類旁通,這一點挺高興的!
C#中的委託和事件機制很重要,我覺得和Qt中的訊號與槽有一拼,都是精華啊!不過自己對於委託和事件屬於會用階段,還沒有到了“懂”的階段,繼續加油吧,少年!
最後說明一點,原始碼我完了肯定會上傳的,我的意願就是開源,自己也從別人開源的代碼中學到很多的思路,因此我會堅持下去。
軟體編寫過程中使用了一款皮膚外掛程式“IrisSkin2.dll”,有好多樣式可以進行選擇,免去了美化工作。但是這個外掛程式有個缺點,好像是只能給予.NET FrameWork2.0,而且會出現閃爍。要想自己實現還是靠WPF技術,貌似有點難!!
技術在於交流、分享…… 部落格地址:http://blog.csdn.net/u013704336Email:[email protected]QQ:936563422轉載請註明出處:多謝!
基於C#的超市收銀管理系統