1. 程式人生 > >基於C#的超市收銀管理系統

基於C#的超市收銀管理系統

sqlserve 兼容性 腳本 asc 正是 work 銷售 的人 身邊

基於C#的超市收銀管理系統

前序

一直在忙學習Qt有關的知識,非常有幸這學期學習了C#。讓我也感覺到了一絲欣慰,欣慰的是感覺好上手啊,學了幾天頓時懂了。好多控件的使用方法好類似,盡管平時上課沒有怎麽認真聽過課。可是好多知識還是理解的幾乎相同。這一點還是挺高興的!又到了一學期的期末,凡是編程語言這門課,最後肯定少不了課程設計。想來想去還是用C#實現以下自己以前做過的超市收銀管理系統。業務邏輯也不用多想了,直接開始編寫代碼。

說實話。感覺學校裏邊包含作業以及各種任務都好應付,要是真正做企業級的項目,那可不是分分鐘就能解決的,首先說明一下。這份課設也就用了3到4天時間不到吧。個人感覺還行。主要的進銷存功能都實現了,當然。作為課設已經能夠了。


在開始之前,我不得吐槽一點。在學校中僅僅要你做的東西略微好看點,老師就果斷說你是從網上當的,業界良心啊!記得上學期的數據庫課設,我當時做的是酒店管理系統詳情可看這個http://download.csdn.net/detail/u013704336/8543019,
當時感覺是做到挺好的。不信能夠去看看。可最後的成績……我就無語了,貌似是最低的。我也沒有說啥,畢竟成績著事。一直都不在意的。何必為這一門成績在意。大學校園的中的成績不能說明什麽。任它去吧,嘿嘿……關鍵還是你能夠做出像樣的東西出來!


軟件開發需求分析是最重要的。前期的分析大約占60%左右,後期代碼編寫以及其它占40%,這是我個人+了解到的,有不正確的地方請大家指出。

以下我就當時總結總結,說說一些當時自己的想法。

簡單的需求分析

  • 功能模塊劃分

    超市收銀管理系統主要就是進銷存功能,作為一次課設大概實現了這三個功能也就能夠了。

    假設是商業的那功能可就多了,也就更復雜了。

    以下主要說說這三個模塊

    • 進貨管理模塊

      進貨模塊無非就是將所進貨的商品信息進行保存。至於怎麽保存,這就得進行細分了。一般進貨的時候都會有一個進貨流水號,以進行唯一區分,再有什麽呢?肯定有商品的一些屬性了,像什麽單品數量、單品單位價格、生產日期、進貨時間。總進貨價格、數量等等一些信息。具體信息見以下的數據表的設計。

    • 前臺銷售

      銷售模塊中。輸入商品的條碼檢索出相應的商品信息。並顯示出它的價格,數量、規格等一些信息,。若沒有該商品則進行提醒,購買成後也要對該商品在庫存中的數量進行相應的更新操作,以免數據不正確應。這是非常關鍵的一步!

    • 庫存管理

      倉庫管理模塊中,主要是對倉庫中商品的增、刪、改、查操作。另外還用該有庫存提醒功能,某個商品的數量低於設定值時,可進行及時提醒,防止庫存為零。

  • 實體分析

    實體分析中主要是對各個對象進行一個建模的過程。啥話都不說了。直接上圖即可了(E-R圖)。

    相信學過數據庫的都知道吧!


    技術分享

  • 數據庫的設計

    因為本次編程語言是C#。因此選用sqlserver應該最合適的了,在兼容性上。自己家的東西應該更能非常好在一起吧!

    看了下自己電腦非常久以前就裝個sqlserver2000。所以就用2000吧。免的下載了,預計非常多人要說2000已經落伍了吧,我想也是的。都過去這麽多年了,只是軟件一般都是向下兼容。所以應該沒有多大的問題。

    我是直接寫好腳本。然後倒入後自己主動生成的,沒有手動進行創建,感覺那樣好麻煩,也非常不方便,好多同學反而認為用鼠標點擊方便,事實上那樣更不方便,在後期編寫代碼過程中就會體會到這一點,我認為這是一種好習慣!

  • 數據表的創建

    僅僅要各個實體分析清楚了,建表那僅僅是分分鐘的事情!當然。我這裏所說的表。可遠遠不止上面提到的,還有好多的沒有說,就像簡單的用戶權限管理。我設計了5張表,實用戶信息表(這個表還能夠分成自然信息表和賬號信息表)、權限表。角色表,權限角色表,用戶角色表。

    關於權限管理分析,我是參考別人的,能夠搜到的。這是我從他哪兒得到的關系圖。再次說明。這是參考別人的,在這裏多謝了!

    技術分享

框架設計

  • 主框架設計

    啥都不用說,直接上圖,看的非常清楚。


    技術分享

技術分享
* 各個模塊設計

- 前臺銷售

技術分享

- 採購進貨

技術分享

- 庫存管理

技術分享

- 會員管理

技術分享

- 銷售統計

技術分享

- 員工信息管理

技術分享

代碼編寫

好多人認為的編寫代碼好難啊!

這類人是屬於長期不寫代碼的人,我身邊好多人就死這種,正是因為沒有寫過幾行代碼,才認為難。如今的大學生好多都成了這樣。還是學計算機的,哎……別說讓他們寫代碼了,非常多時候就連裝個主要的軟件也不會,找別人裝,我就像說。你不會,百度應該會啊,你不會百度?每一個人都有第一次。第一次裝的時候都基本不會的,百度一下就會了麽。連基本學習能力都喪失了!假設大學生連主要的自學能力都沒有,那以後……我不敢肯定說,只是也好不到那裏去。有點扯遠了,代碼編寫應該輸入最低層的勞動了。那些說編寫代碼難的。你就不知道需求分析階段是多麽的難嗎?哦。我忘記了,他們根本不懂什麽是需求分析……原諒他們了。


本次代碼編寫對我來說還是非常easy的,盡管接觸時間不長,可是有一種似曾相識的感覺,可能是因為自己之前學過Qt的緣故吧。總感覺好多控件設計起來特別給力,觸類旁通,這一點挺高興的!


C#中的托付和事件機制非常重要。我認為和Qt中的信號與槽有一拼,都是精華啊。只是自己對於托付和事件屬於會用階段。還沒有到了“懂”的階段,繼續加油吧。少年。

最後說明一點。源碼我完了肯定會上傳的,我的意願就是開源,自己也從別人開源的代碼中學到非常多的思路,因此我會堅持下去。


  軟件編寫過程中使用了一款皮膚插件“IrisSkin2.dll”,有好多樣式能夠進行選擇,免去了美化工作。可是這個插件有個缺點,好像是僅僅能給予.NET FrameWork2.0,並且會出現閃爍。要想自己實現還是靠WPF技術,貌似有點難!!


技術在於交流、分享…… 
博客地址:http://blog.csdn.net/u013704336Email:[email protected]
QQ:936563422
轉載請註明出處:多謝!

基於C#的超市收銀管理系統