畢業(yè)設(shè)計(論文)-醫(yī)藥進(jìn)銷存管理系統(tǒng)_第1頁
畢業(yè)設(shè)計(論文)-醫(yī)藥進(jìn)銷存管理系統(tǒng)_第2頁
畢業(yè)設(shè)計(論文)-醫(yī)藥進(jìn)銷存管理系統(tǒng)_第3頁
畢業(yè)設(shè)計(論文)-醫(yī)藥進(jìn)銷存管理系統(tǒng)_第4頁
畢業(yè)設(shè)計(論文)-醫(yī)藥進(jìn)銷存管理系統(tǒng)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、常州信息職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(論文)報告常州信息職業(yè)技術(shù)學(xué)院學(xué)生畢業(yè)設(shè)計(論文)報告全套設(shè)計加扣 3012250582系 別: 軟件學(xué)院 專 業(yè): 軟件技術(shù) 班 級: 中軟132 學(xué) 生 姓 名: 學(xué) 生 學(xué) 號: 設(shè)計(論文)題目: 醫(yī)藥進(jìn)銷存管理系統(tǒng) 指 導(dǎo) 教 師: 設(shè) 計 地 點: 起 迄 日 期: 2015.06.192015.08.01 畢業(yè)設(shè)計(論文)任務(wù)書專業(yè) 軟件技術(shù) 班級 中軟軟件132 姓名 一、課題名稱: 醫(yī)藥進(jìn)銷存管理系統(tǒng) 二、主要技術(shù)指標(biāo)(或基本要求): 1.文獻(xiàn)資料:大致了解醫(yī)藥管理的流程步驟,閱讀技術(shù)文檔,借鑒實際運行的同類進(jìn)銷存項目。 2.開發(fā)工具:Ecli

2、pse 4.4.2, MySQL Workbench 6.2(MySQL 5.3), Sublime Text 2(網(wǎng)頁制作)。 3.技術(shù)要求:基于B/S架構(gòu),運用Struts2、Hibernate、Spring框架以及JavaScript、JQuery實現(xiàn)技術(shù)操作,部署于Tomcat8.0服務(wù)器上。 3、 工作內(nèi)容和要求:1. 用戶類別:登錄系統(tǒng)的身份定為二種,一是管理員(企業(yè)領(lǐng)導(dǎo)),二是員工,只有被授權(quán)的用戶才可以使用本系統(tǒng)的資源。 2. 權(quán)限管理:系統(tǒng)需要經(jīng)過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。員工可以進(jìn)行修改自己的密碼,貨品的出、入庫操作;管理員(領(lǐng)導(dǎo))可添加

3、員工信息、查詢修改管理員信息、類型管理、出入庫的操作,客戶信息管理,可控制整個系統(tǒng)的登錄功能(控制系統(tǒng))的登錄,擁有整個系統(tǒng)的全部使用權(quán)限。 3. 系統(tǒng)管理:企業(yè)領(lǐng)導(dǎo)可以操作員工是否能使用本系統(tǒng)。 4. 用戶管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)的用戶信息進(jìn)行添加、查詢的功能。 5. 類型管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)中的貨品類別信息進(jìn)行管理,進(jìn)行查詢與添加的功能操作。 6. 倉庫管理:企業(yè)領(lǐng)導(dǎo)可以對倉庫進(jìn)行管理操作。 7. 入庫管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)的入庫貨品信息進(jìn)行添加、查詢管理的功能。 8. 銷售管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)的銷售貨品信息進(jìn)行添加、查詢管理的功能。 9. 供貨商:管理員可以對供貨商信息

4、進(jìn)行管理操作。 10. 客戶信息:管理員可以對本系統(tǒng)中客戶信息項進(jìn)行管理。11. 客戶管理:管理員可以對客戶信息進(jìn)行管理操作。 四、主要參考文獻(xiàn): 1 Cay S. Horstmann, Gary Cornell Java核心技術(shù) 卷I 機(jī)械工業(yè)出版社 2008年6月 2 Cay S. Horstmann, Gary Cornell Java核心技術(shù) 卷II 機(jī)械工業(yè)出版社 2008年6月 3 楊文軍 董玉濤 Java程序設(shè)計教程 清華大學(xué)出版社 北京交通大學(xué)出版社 北京 2010年5月 4 李剛 輕量級Java EE企業(yè)應(yīng)用實戰(zhàn)(第三版) Struts2 Spring3 Hibernate整

5、合開發(fā) 電子工業(yè)出版社 北京 2011年3月 學(xué) 生(簽名) 年 月 日指 導(dǎo) 教師(簽名) 年 月 日 教研室主任(簽名) 年 月 日 系 主 任(簽名) 年 月 日44常州信息職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(論文)報告畢業(yè)設(shè)計(論文)開題報告設(shè)計(論文)題目醫(yī)藥進(jìn)銷存管理系統(tǒng)4、 選題的背景和意義:隨著互聯(lián)網(wǎng)時代的到來,我們依靠網(wǎng)絡(luò)更加高效地解決各種問題。同時這個時代的顯著特征是上網(wǎng)的終端不局限于個人計算機(jī),不管是發(fā)展中國家還是發(fā)達(dá)國家,移動設(shè)備(譬如手機(jī))的數(shù)量甚至在網(wǎng)絡(luò)中的地位超越了其他上網(wǎng)設(shè)備。在我國,截至2013年底,中國網(wǎng)民規(guī)模達(dá)到6.18億,互聯(lián)網(wǎng)普及率為45.8。其中,手機(jī)網(wǎng)民規(guī)模達(dá)

6、5億?;ヂ?lián)網(wǎng)帶來的是高效、迅速、范圍廣,這些優(yōu)點我們能夠很好地運用到企業(yè)管理中。隨著醫(yī)療改革的逐年深化,我們更需要管理上的進(jìn)一步提升。同時,區(qū)別于傳統(tǒng)進(jìn)銷存軟件的C/S架構(gòu)模式,順應(yīng)互聯(lián)網(wǎng)的發(fā)展,我們應(yīng)該把眼光放在更方便的B/S架構(gòu)上。不管是企業(yè)領(lǐng)導(dǎo)還是一線工作人員,只要有一個Web瀏覽器加上網(wǎng)絡(luò),就可以對企業(yè)管理進(jìn)行自己的職責(zé)操作。試想一下,用你的手機(jī)或者平板電腦就可以移動辦公,帶來的舒適體驗度是空前的。5、 課題研究的主要內(nèi)容:本系統(tǒng)結(jié)合醫(yī)藥的管理實現(xiàn)了進(jìn)銷存的業(yè)務(wù)主線,為了便于隨時、隨地、跨越平臺,故采用了B/S的模式。具體內(nèi)容有:1.用戶類別:登錄系統(tǒng)的身份定為二種,一是管理員(企業(yè)領(lǐng)

7、導(dǎo)),二是員工,只有被授權(quán)的用戶才可以使用本系統(tǒng)的資源;2.權(quán)限管理:系統(tǒng)需要經(jīng)過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。員工可以進(jìn)行修改自己的密碼,貨品的出、入庫操作;管理員(領(lǐng)導(dǎo))可添加員工信息、查詢修改管理員信息、類型管理、出入庫的操作,客戶信息管理,可控制整個系統(tǒng)的登錄功能(控制系統(tǒng))的登錄,擁有整個系統(tǒng)的全部使用權(quán)限;3.系統(tǒng)管理:企業(yè)領(lǐng)導(dǎo)可以操作員工是否能使用本系統(tǒng);4.用戶管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)的用戶信息進(jìn)行添加、查詢的功能;5.類型管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)中的貨品類別信息進(jìn)行管理,進(jìn)行查詢與添加的功能操作;6.倉庫管理:企業(yè)領(lǐng)導(dǎo)可以對倉庫進(jìn)行管理操作

8、;7.入庫管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)的入庫貨品信息進(jìn)行添加、查詢管理的功能;8.銷售管理:企業(yè)領(lǐng)導(dǎo)可以對本系統(tǒng)的銷售貨品信息進(jìn)行添加、查詢管理的功能;9.供貨商:管理員可以對供貨商信息進(jìn)行管理操作;10.客戶信息:管理員可以對本系統(tǒng)中客戶信息項進(jìn)行管理;11.客戶管理:管理員可以對客戶信息進(jìn)行管理操作。6、 主要研究(設(shè)計)方法論述:互聯(lián)網(wǎng)時代我們可以從網(wǎng)絡(luò)上取得信息,先了解醫(yī)藥管理的階段和流程,然后設(shè)計簡單的業(yè)務(wù)流程和邏輯關(guān)系,再分模塊和層次完成操作步驟,最后利用相關(guān)的技術(shù)實現(xiàn)預(yù)定的業(yè)務(wù)邏輯。四、設(shè)計(論文)進(jìn)度安排:時間(迄止日期)工 作 內(nèi) 容2015.06.192015.06.23選題

9、公布、確定選題2015.06.232015.06.24確定選題2015.06.252015.06.26完成任務(wù)書、開題報告2015.06.262015.06.26提交開題報告、修改開題報告2015.06.272015.07.13畢業(yè)設(shè)計論文撰寫2015.07.132015.07.18畢業(yè)設(shè)計的部分編碼2015.07.182015.07.21畢業(yè)設(shè)計報告初稿的編寫2015.07.212015.07.23畢業(yè)設(shè)計論文、全部編碼以及項目測試2015.07.312015.08.01畢業(yè)設(shè)計答辯5、 指導(dǎo)教師意見: 指導(dǎo)教師簽名: 年 月 日六、系部意見:系主任簽名: 年 月 日 目 錄摘 要IAbst

10、ractII第一章 緒論11.1.研究背景11.2.研究內(nèi)容11.3.研究意義11.4.論文結(jié)構(gòu)2第二章 開發(fā)技術(shù)32.1.Web分層思想32.1.1.表現(xiàn)層42.1.2.業(yè)務(wù)層42.1.3.持久層52.1.4.域模型層62.2.Struts2、Spring、Hibernate框架62.2.1.Struts2框架72.2.2.Spring框架82.2.3.Hibernate框架9第三章 需求分析103.1.醫(yī)藥企業(yè)現(xiàn)狀分析103.2.醫(yī)藥系統(tǒng)建設(shè)目標(biāo)103.3.醫(yī)藥系統(tǒng)功能模塊113.3.1.庫存管理模塊113.3.2.采購管理模塊123.3.3.銷售管理模塊133.3.4.員工權(quán)限管理模塊1

11、33.4.非功能需求14第四章 系統(tǒng)設(shè)計154.1.三層架構(gòu)設(shè)計154.2.功能模塊設(shè)計164.2.1.權(quán)限管理設(shè)計164.2.2.庫存管理設(shè)計184.2.3.采購管理設(shè)計194.2.4.銷售管理設(shè)計204.3.數(shù)據(jù)庫設(shè)計224.3.1.數(shù)據(jù)庫基本表234.3.2.基本表詳細(xì)設(shè)計23第五章 模塊實現(xiàn)255.1.權(quán)限模塊255.1.1.MVC流程圖255.1.2.算法實現(xiàn)255.2.庫存模塊295.2.1.MVC流程圖295.2.2.算法實現(xiàn)295.3.采購模塊315.3.1.MVC流程圖315.3.2.算法實現(xiàn)325.4.銷售模塊335.4.1.MVC流程圖335.4.2.算法實現(xiàn)33第六章

12、總結(jié)與展望386.1.總結(jié)386.2.展望38參考文獻(xiàn)40致謝42摘 要現(xiàn)今,越來越多的企事業(yè)單位、政府機(jī)構(gòu)將軟件技術(shù)用于管理工作中。科學(xué)合理地運用這些技術(shù)不僅可以使管理工作更加規(guī)范、高效、自動,還可以節(jié)省大量的人力、物力和財力。而進(jìn)銷存管理系統(tǒng)就是把先進(jìn)的管理模式通過最新的科技手段運用到實際的日常工作中去,從而為實現(xiàn)企業(yè)改革、提高工作效率提供了良好的基礎(chǔ)。系統(tǒng)功能主要涵蓋藥品的庫存管理、藥品的購入以及藥品的售出,通過嚴(yán)格控制操作權(quán)限,實現(xiàn)醫(yī)藥企業(yè)的日常管理,并且提供良好的系統(tǒng)交互,便于用戶的操作。通過分析中小型醫(yī)藥企業(yè)進(jìn)銷存管理的現(xiàn)狀,提出了建設(shè)醫(yī)藥信息化管理的目標(biāo)。作為目標(biāo)的第一步,在參考

13、了實際醫(yī)藥企業(yè)業(yè)務(wù)流程特點后,畫出模塊的用例圖,明確模塊職責(zé),參照模塊功能示意圖,細(xì)化模塊的具體功能。再考慮功能點的輸入輸出、定義接口。然后確定模塊的MVC流程,即用MVC的設(shè)計思想通過具體代碼實現(xiàn)流程以達(dá)到模塊的實現(xiàn)。最后組合所有模塊,完成整個進(jìn)銷存系統(tǒng)統(tǒng)一的短期目標(biāo)。系統(tǒng)體系采用了Struts2 + Spring + Hibernate 的組合框架,增強(qiáng)了系統(tǒng)的穩(wěn)定性和可移植性,同時奠定了系統(tǒng)的易擴(kuò)展的基礎(chǔ)。數(shù)據(jù)庫采用最新的MySQL 5.6,主要考慮到其開源免費且符合實際數(shù)據(jù)操作量。關(guān)鍵詞:進(jìn)銷存;Struts2;Spring;Hibernate;醫(yī)藥管理AbstractNowadays

14、, more and more enterprises, government agencies will be used in the management of software technology. Scientific and rational use of these technologies can not only make the management more standardized, efficient, automatic, you can also save a lot of manpower, material and financial resources. T

15、he inventory management system is the use of advanced management mode by means of the latest technology to the actual daily work, so as to achieve enterprise reform, improve efficiency provides a good foundation.System function mainly sold to cover the purchase of inventory management, drug and phar

16、maceutical drugs, by strict control of operating authority, to achieve the daily management of pharmaceutical companies, and provide a good system interaction, user-friendly operation.By analyzing the status of small and medium pharmaceutical enterprises inventory management, proposed building a pha

17、rmaceutical information management objectives. As a first step target, in reference to the actual characteristics of the pharmaceutical business processes, the draw module use case diagram, define module functions, the module features a schematic reference to the specific features detailed module. T

18、hen consider the function of the input and output points, define the interface. Then determine the MVC process module, which uses MVC design thinking process through specific code to achieve the realization of the module. Finally, the combination of all modules, complete reunification of the short-t

19、erm goal of the entire invoicing system.System architecture uses a Struts2 + Spring + Hibernate framework in combination, to enhance the stability and portability of the system while the system is easy to expand laid a foundation. Databases using the latest MySQL 5.6, the main consideration to its f

20、ree open source operating capacity and in accordance with the actual data.Keywords: Invoicing; Struts2; Spring; Hibernate; Medicine managementII第一章 緒論1.1. 研究背景在醫(yī)藥進(jìn)銷存管理中,主要由倉庫管理作為企業(yè)工作流程的基礎(chǔ),銷售管理是企業(yè)業(yè)務(wù)的主線,而采購管理在實際應(yīng)用中,特別是中小型企業(yè)的實際應(yīng)用中則多與倉庫管理合為一體。這此之上,是對于各個流程中操作人員權(quán)限的控制。企業(yè)信息化管理在當(dāng)今社會已經(jīng)滲透進(jìn)入各行各業(yè),其帶來的效果是顯著的。其主要替

21、代了以往人工對于數(shù)據(jù)、流程等一些操作的繁復(fù),和帶來的一系列工作疏忽,以及責(zé)任劃分的不清晰。因而,在此之上,將醫(yī)藥進(jìn)銷存同企業(yè)信息化結(jié)合,實現(xiàn)進(jìn)銷存系統(tǒng)的信息化就顯得尤為重要了。對于中小型醫(yī)藥企業(yè),主要的業(yè)務(wù)就是庫存保障以及藥品銷售。在進(jìn)銷存系統(tǒng)建設(shè)之前,基本依賴于人工管理。人工管理一般采用工作人員填寫表單的方式,例如庫存需要填寫庫存表,銷售需要填寫銷售表。這些表單的填寫和存放本身就占用了很大的資源,而且在查找的時候極為不便,更重要的是有時信息的更新非常滯后。同時,資料的分析、傳輸有著很大的難度,加上個別信息的填寫不準(zhǔn)確,甚至不正確,難以關(guān)聯(lián)相關(guān)信息。這些情況現(xiàn)在都可以用本系統(tǒng)得到很好的解決。1

22、.2. 研究內(nèi)容本論文主要研究采用模塊化設(shè)計實現(xiàn)醫(yī)藥進(jìn)銷存系統(tǒng),主要如下:(1) 庫存管理該部分包括出庫、入庫的功能;(2) 銷售管理該部分包括對于客戶資料的管理和銷售訂單的管理;(3) 采購管理該部分包括對于供應(yīng)商資料的管理和入庫的功能;(4) 用戶權(quán)限管理該部分包括領(lǐng)導(dǎo)和員工權(quán)限的管理。1.3. 研究意義本系統(tǒng)運用了Struts2, Spring, Hibernate框架。主要運了用MVC思想,實現(xiàn)軟件開發(fā)中松耦合。在此之中,Struts2負(fù)責(zé)將業(yè)務(wù)邏輯與具體實現(xiàn)分離開來;Spring主要使用其IOC的設(shè)計思想,以達(dá)到各組件間松耦合的目的;而Hibernate的價值是對于多數(shù)據(jù)庫的支持,便

23、于數(shù)據(jù)的遷移和維護(hù),此外其強(qiáng)大的數(shù)據(jù)庫查詢、操作能力也是非常方便高效的。研究并使用三大框架的目的不僅提升項目開發(fā)的效率以及后期更新維護(hù)的方便,還在實踐中運用了MVC的主流思想。對于類似的框架使用提供了類比,便于更好地實際解決問題。1.4. 論文結(jié)構(gòu)論文主要由六個部分組成:第一章主要是背景分析,分析本系統(tǒng)的研究背景和研究意義;第二章主要是需求分析,通過了解現(xiàn)實情況,對具體需求做出分析;第三章主要是架構(gòu)設(shè)計,運用分層思想,將具體實現(xiàn)與三大框架的運用聯(lián)系起來;第四章主要是系統(tǒng)設(shè)計,確定系統(tǒng)的功能目標(biāo),運行開發(fā)環(huán)境,對數(shù)據(jù)庫進(jìn)行設(shè)計等一系列系統(tǒng)架構(gòu);第五章主要是模塊實現(xiàn),將進(jìn)銷存三個主要模塊通過編碼的

24、形式實現(xiàn)業(yè)務(wù)邏輯;第六章主要是總結(jié)展望,對系統(tǒng)實行總結(jié),并且開拓思路。第二章 開發(fā)技術(shù)架構(gòu)設(shè)計是以Web的經(jīng)典分層思想為主,基于Struts2、Spring、Hibernate框架的整合。其中,Struts2作為表現(xiàn)層(前端JSP使用Struts2標(biāo)簽作為頁面顯示元素,運用Action作為控制轉(zhuǎn)發(fā)器),Hibernate作為數(shù)據(jù)持久層的實現(xiàn),業(yè)務(wù)層則主要利用Spring框架(每個層次之間的關(guān)系調(diào)用、接口實現(xiàn),對Hibernate進(jìn)行封裝,對事務(wù)進(jìn)行靈活的控制),最終設(shè)計出一個松耦合的,具有較高可擴(kuò)展性和后期可維護(hù)性強(qiáng)的系統(tǒng)。同時目前由于快速開發(fā)的思想的影響,在配置框架時,使用注解式聲明越來越普

25、遍,減少了配置配置文件的麻煩和效率低。而且,鑒于目前使用配置式聲明的研究較多,而使用注解式聲明較少,故本系統(tǒng)和本論文主要研究實踐注解式聲明,以符合現(xiàn)今軟件開發(fā)的流程和規(guī)范。在SSH項目中使用注解,會使得使用了框架的程序代碼變得可讀性強(qiáng),使用較XML配置式較為方便,而且便于調(diào)試和維護(hù),但是對于后期維護(hù),在沒有源碼的情況下會導(dǎo)致無法更改,但這種情況較少見。相比之下,XML配置式能夠直接修改,不需要重新編譯??偟膩碚f,需要具體問題具體分析,依開發(fā)實際情況而選擇合適的方法進(jìn)行配置。2.2.1. Web分層思想構(gòu)建企業(yè)級的信息管理系統(tǒng)需要復(fù)雜的業(yè)務(wù)流程,而且開發(fā)時間要求緊急,同時對于系統(tǒng)的穩(wěn)定性、可擴(kuò)展

26、性以及后期可維護(hù)性的要求日益提高。為了滿足用戶的這些需求,需要我們對系統(tǒng)進(jìn)行層次劃分,即將業(yè)務(wù)功能按照模塊進(jìn)行模塊劃分,將用戶界面與業(yè)務(wù)邏輯進(jìn)行模塊劃分,將業(yè)務(wù)邏輯與數(shù)據(jù)庫操作進(jìn)行模塊劃分等等,盡量做到松耦合的開發(fā)實現(xiàn),這樣能做到彼此獨立,從而不會造成牽一發(fā)而動全身。按照上述的邏輯規(guī)劃,在開發(fā)的時候?qū)⑦壿嫹殖扇齻€層次,即表現(xiàn)層、業(yè)務(wù)層以及持久層,根據(jù)分層思想的深化,后期又加入了域模型層。其中,表現(xiàn)層主要是接受用戶發(fā)出的請求,然后通過調(diào)用相關(guān)的業(yè)務(wù)邏輯處理后,在將結(jié)果返回到表現(xiàn)層。業(yè)務(wù)層主要是實現(xiàn)業(yè)務(wù)邏輯,數(shù)據(jù)庫訪問、修改,以及對于事務(wù)的管理。而持久層,也就是數(shù)據(jù)庫層主要是數(shù)據(jù)的存儲,數(shù)據(jù)庫的管

27、理以及數(shù)據(jù)庫的備份等。而實際應(yīng)用中,會發(fā)現(xiàn)在各個層次中相互傳遞數(shù)據(jù)顯得很麻煩,而且沒有很好的封裝性。所以現(xiàn)在流行的是將系統(tǒng)分為四個層次,也就是:表現(xiàn)層、業(yè)務(wù)層、持久層以及域模型層。通過成熟的分層,使得系統(tǒng)各個部分的耦合度降低了很多,而且是開發(fā)人員的工作更加便捷,同時增強(qiáng)了系統(tǒng)的穩(wěn)定性、可擴(kuò)展性和可維護(hù)性。1.1.1.2.2.2.1.2.1.1. 表現(xiàn)層表現(xiàn)層是Web的前端,一般使用Struts2框架。主要負(fù)責(zé):1. 管理請求,做出響應(yīng);2. 控制作用,將接受的請求委派給其他層次進(jìn)行處理;3. 處理異常;4. 為先是層提供數(shù)據(jù)模型;5. 在界面上對于輸入的內(nèi)容進(jìn)行驗證。如表現(xiàn)層處理流程圖2-1所

28、示。圖2-1 表現(xiàn)層處理流程圖2.1.2. 業(yè)務(wù)層業(yè)務(wù)層在分層中的主要作用是實現(xiàn)客戶提出的業(yè)務(wù)邏輯,可以用Spring實現(xiàn):1. 處理業(yè)務(wù)邏輯;2. 管理事務(wù);3. 提供接口;4. 管理業(yè)務(wù)層各個對象間的依賴關(guān)系;5. 關(guān)聯(lián)表現(xiàn)層與持久層,但降低兩個層次間的耦合性。業(yè)務(wù)層處理流程圖2-2所示。圖2-2 業(yè)務(wù)層處理流程圖2.1.3. 持久層持久層是Web服務(wù)器訪問的核心,它是負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互的層次結(jié)構(gòu),可以選擇用Hibernate實現(xiàn):1. 查詢對象信息;2. 增刪改數(shù)據(jù)庫記錄。如持久層處理流程圖2-3所示。圖2-3 持久層處理流程圖2.1.4. 域模型層在不同層中傳遞數(shù)據(jù)的對象模型,由實際

29、需求中的業(yè)務(wù)對象構(gòu)成,其主要作用為:1. 在相關(guān)層次中作為數(shù)據(jù)傳遞,提高系統(tǒng)的效率;2. 為表現(xiàn)層提供數(shù)據(jù)源;3. 為持久層提供可持久化的對象。如域模型對象處理流程圖2-4所示。圖2-4 域模型對象處理流程圖2.2. Struts2、Spring、Hibernate框架2.2.2.2.1. Struts2框架Struts2框架是一個標(biāo)準(zhǔn)的MVC框架,可用于快速開發(fā)Web應(yīng)用,MVC思想是將一個應(yīng)用分為三個部分:Model(模型)、View(視圖)、Controller(控制器),從而使這三個部分以最小的耦合度協(xié)同工作,提高應(yīng)用的可擴(kuò)展和可維護(hù)性。Struts2工作原理圖如圖2-5所示。圖2-5

30、 Struts 2示意圖(1) Model(模型)Struts2中,提供了Action對象,用來管理對業(yè)務(wù)邏輯的調(diào)用。實現(xiàn)了業(yè)務(wù)邏輯的接口以及對于底層數(shù)據(jù)庫的操作。(2) View(視圖)Struts2中,視圖層主要是由JSP頁面組成的。但是在JSP頁面中,Struts2提供一系列標(biāo)簽以幫助顯示和傳輸數(shù)據(jù)。此外,Struts2還提供ModelDriven和DomainModel用以更好地接收和傳輸數(shù)據(jù),以免破壞了數(shù)據(jù)的封裝性。(3) Controller(控制器)Struts2中,控制器主要使用了轉(zhuǎn)發(fā)過濾器以及攔截器。其中,過濾器的主要作用是在接收了客戶發(fā)出資源請求,過濾器檢視請求后,定向到合

31、適的Action。而攔截器則是一種類似于AOP的功能策略。2.2.2. Spring框架Spring是一個輕量級的IOC(控制反轉(zhuǎn))和AOP(面向切面)框架。Spring工作原理圖如圖2-6所示。圖2-6 Spring 示意圖1. IOC控制反轉(zhuǎn)主要將對象的創(chuàng)建責(zé)任反轉(zhuǎn),其中BeanFactory負(fù)責(zé)實例化,XmlBeanFactory是通過xml獲取配置,從而實現(xiàn)對象間的依賴關(guān)系。2. AOPAOP全稱為Aspect Oriented Programming,即為面向切面編程。使用AOP必須了解一些專用術(shù)語,可以便于我們了解AOP的邏輯關(guān)系:(1) 切面(Aspect),描述了一個系統(tǒng)的某一

32、個方面;(2) 通知(Advice),表明切面的行為,主要通知有,before, after, around 等等;(3) 連接點(Joinpoint),表示在應(yīng)用程序中插入切面的點,其中,在Spring中只能在方法的前后建立連接點,使得通知只能在方法的前后執(zhí)行;(4) 切入點(Pointcut),表明了通知執(zhí)行在哪些具體的連接點上;(5) 目標(biāo)對象(Target),是指接收通知的對象;(6) 代理(Proxy),是指將代理運用到目標(biāo)對象后的對象,它能實現(xiàn)和目標(biāo)對象一樣的基本功能,但擴(kuò)充了這些功能,以完成需要織入功能;(7) 織入(Weaving),表示一個過程,將切面應(yīng)用到目標(biāo)對象從而實現(xiàn)了

33、一個新對象的邏輯過程。面向切面主要是重用代碼,在需要相同操作的步驟中,統(tǒng)一步驟代碼,提高代碼的復(fù)用,并且在后期修改中簡化修改流程,不破壞封裝性。2.2.3. Hibernate框架Hibernate是一款輕量級的ORM框架,其主要實現(xiàn)的是表和對象之間的映射關(guān)系,同時,還提供了數(shù)據(jù)查詢和操作的方法,簡化了開發(fā)的時間,特別是在數(shù)據(jù)庫遷移的情況下尤為便捷??梢宰岄_發(fā)者專注于業(yè)務(wù)邏輯問題的實現(xiàn),更可使程序員使用面向?qū)ο蟮乃季S操作數(shù)據(jù)庫。Hibernate工作原理圖如圖2-7所示。圖2-7Hibernate示意圖第三章 需求分析1.2.3.3.1. 醫(yī)藥企業(yè)現(xiàn)狀分析企業(yè)管理的改革和優(yōu)化是企業(yè)信息化的核心

34、目標(biāo),企業(yè)的現(xiàn)代化管理主要采用信息化技術(shù),并在此基礎(chǔ)上實現(xiàn)從注重內(nèi)部資源的管理的傳統(tǒng)業(yè)務(wù)邏輯轉(zhuǎn)向注重外部資源的管理和利用或從企業(yè)內(nèi)部的業(yè)務(wù)集成轉(zhuǎn)向企業(yè)間的業(yè)務(wù)協(xié)作的兩個轉(zhuǎn)變。經(jīng)過長期的實踐證明,從上世紀(jì)90年代的以財務(wù)為核心的企業(yè)管理已經(jīng)取得了良好的成果,企業(yè)的內(nèi)部網(wǎng)絡(luò)已初步建成,此外企業(yè)的Web站點也為企業(yè)與國際交流信息提供了便捷通道,信息化技術(shù)已經(jīng)為企業(yè)本身取得了巨大效益。3.2. 醫(yī)藥系統(tǒng)建設(shè)目標(biāo)醫(yī)藥管理系統(tǒng)應(yīng)該分為多個模塊,包含進(jìn)銷存系統(tǒng)、生產(chǎn)管理系統(tǒng)、人力資源系統(tǒng)、財務(wù)結(jié)算系統(tǒng)等等。所有子系統(tǒng)的拼接組合才產(chǎn)生了完整的企業(yè)信息化總管理系統(tǒng),具體如圖3-1所示。而本系統(tǒng)只研究實現(xiàn)了總管理

35、系統(tǒng)中的子系統(tǒng)進(jìn)銷存管理系統(tǒng)。圖 3-1目標(biāo)總系統(tǒng)流程圖本進(jìn)銷存系統(tǒng)的主要建設(shè)目標(biāo)是,通過引進(jìn)先進(jìn)的現(xiàn)代化管理技術(shù),結(jié)合一流的管理思想和手段,改進(jìn)現(xiàn)有醫(yī)藥企業(yè)的管理方式,利用B/S架構(gòu)模式,實現(xiàn)包含倉庫管理、采購管理、銷售管理為主要核心的管理系統(tǒng)。主要作用加速資金流轉(zhuǎn),合理調(diào)度資源,同時為企業(yè)重大決策提供數(shù)據(jù)支持。主要表現(xiàn)為:(1) 通過信息化管理的建設(shè),提高資金的流動性,加快庫存的周轉(zhuǎn),對各種藥品的庫存進(jìn)行動態(tài)管理,以達(dá)到在企業(yè)日常工作中能合理流轉(zhuǎn),加速資金流動,顯著減少積壓庫存,降低不必要成本的目的,期以提高企業(yè)在市場中的競爭力;(2) 通過對庫存流轉(zhuǎn)的實時監(jiān)控與動態(tài)對比,對關(guān)鍵銷售趨勢以

36、及主要銷售流程進(jìn)行適度的分析和規(guī)劃,增強(qiáng)企業(yè)的在市場中的應(yīng)變能力,以保證各個部門能有序地合作;(3) 以銷售為主線,輔以良好庫存管理作為后備力量,按照客戶的要求供以所需,提高銷售競爭力,加快對市場變化地適應(yīng)力,從而最大程度地適應(yīng)市場調(diào)節(jié),滿足客戶的需求。3.3. 醫(yī)藥系統(tǒng)功能模塊在管理實踐中,產(chǎn)生了進(jìn)銷存管理系統(tǒng),隨著用戶的需求的提高,它的發(fā)展具有鮮明的階段應(yīng)用特征。在設(shè)計思路上,本系統(tǒng)采用模塊化的方式,使系統(tǒng)在功能模塊上的組合具有高度的靈活性,所以在后期模塊的添加上具有良好的兼容性。 企業(yè)信息化建設(shè)中誕生了很多模塊,根據(jù)不同的需求可以組合不同類型和數(shù)量的模塊,因此根據(jù)中小型醫(yī)藥公司的需要,本

37、系統(tǒng)在功能上分為四大模塊:庫存管理模塊、采購管理模塊、銷售管理模塊以及員工權(quán)限管理模塊,具體如下。3.3.1.3.2.3.3.3.3.1. 庫存管理模塊用于管理倉庫庫存,包括藥品的出入庫管理,庫存的查詢,為銷售管理和采購管理提供數(shù)據(jù)上的支撐和協(xié)調(diào):(1) 查詢庫存可以通過庫存表格反映出當(dāng)前存儲的藥品數(shù)量;(2) 入庫操作可以對庫存表格的條目進(jìn)行修改,添加庫存;(3) 出庫操作可以對庫存表格的條目進(jìn)行修改,減少庫存;如圖3-2庫存管理用例圖所示。圖 3-2 庫存管理用例圖3.3.2. 采購管理模塊通過倉庫庫存量以及銷售量確定采購清單,并聯(lián)系供應(yīng)商實行采購,并且不需要手動處理,自動入庫:(1) 查

38、詢庫存可以通過庫存表格反映出當(dāng)前存儲的藥品數(shù)量;(2) 入庫操作可以對庫存表格的條目進(jìn)行修改,添加庫存;(3) 供應(yīng)商管理可以對供應(yīng)商資料進(jìn)行查詢、修改和刪除。如圖3-3采購管理用例圖所示。圖 3-3 采購管理用例圖3.3.3. 銷售管理模塊可以查詢庫存量,確定銷售清單,自動出庫,方便庫存的實時統(tǒng)計(1) 查詢庫存可以通過庫存表格反映出當(dāng)前存儲的藥品數(shù)量;(2) 銷售管理可以對銷售訂單進(jìn)行管理,同時自動操作藥品的出入庫;(3) 客戶管理可以對供應(yīng)商資料進(jìn)行查詢、修改和刪除。如圖3-4銷售管理用例圖所示。圖 3-4 銷售管理用例圖3.3.4. 員工權(quán)限管理模塊領(lǐng)導(dǎo)可以對員工分配管理權(quán)限,領(lǐng)導(dǎo)是系

39、統(tǒng)的管理員,擁有最高的權(quán)限,賦予權(quán)限的員工可以適度地使用管理權(quán)限,但僅僅是員工權(quán)限(1) 修改密碼用戶可以修改自己的密碼;(2) 員工管理領(lǐng)導(dǎo)可以管理所有的用戶,增加、刪除、修改用戶。如圖3-5員工權(quán)限管理用例圖所示。圖 3-5 員工權(quán)限管理用例圖3.4. 非功能需求1. 安全需求對于沒有登錄的訪問者,不允許進(jìn)行數(shù)據(jù)庫級別的查詢、修改、刪除、增加。對于已登錄的用戶,提供符合用戶等級的權(quán)限。2. 性能需求(1) 響應(yīng)速度快,理想狀況下每次查詢到返回結(jié)果需要不多于1秒(具體視網(wǎng)絡(luò)速度而定);(2) 系統(tǒng)穩(wěn)定,在正常使用的情況下(部署于Linux操作系統(tǒng)或OS X Server系統(tǒng)上)達(dá)到一個月不需

40、要重新啟動。第四章 系統(tǒng)設(shè)計3.4.4.1. 三層架構(gòu)設(shè)計根據(jù)對于系統(tǒng)功能及非功能需求的分析,設(shè)計了的系統(tǒng)整體結(jié)構(gòu),系統(tǒng)功能結(jié)構(gòu)圖如圖4-1所示。圖4-1 系統(tǒng)整體結(jié)構(gòu)圖本進(jìn)銷存管理系統(tǒng)是以藥品的庫存管理作為核心,作為企業(yè)信息化管理整個系統(tǒng)的一部分,因此,為了企業(yè)信息化管理的后期擴(kuò)充,在設(shè)計本系統(tǒng)時,充分考慮了系統(tǒng)的可擴(kuò)展性和穩(wěn)定性。本系統(tǒng)主要使用B/S架構(gòu),其中,Struts2作為表現(xiàn)層(前端JSP使用Struts2標(biāo)簽作為頁面顯示元素,運用Action作為控制轉(zhuǎn)發(fā)器),Hibernate作為數(shù)據(jù)持久層的實現(xiàn),業(yè)務(wù)層則主要利用Spring框架(每個層次之間的關(guān)系調(diào)用、接口實現(xiàn),對Hibern

41、ate進(jìn)行封裝,對事務(wù)進(jìn)行靈活的控制),而數(shù)據(jù)庫則使用MySQL數(shù)據(jù)庫作為持久層,具體結(jié)構(gòu)如圖4-2所示。JSP 1JSP 2JSP n控制轉(zhuǎn)發(fā)(Struts2)關(guān)系映射(Hibernate)數(shù)據(jù)庫服務(wù)器(MySQL)前臺用戶顯示層業(yè)務(wù)邏輯層(Spring)后臺持久層圖4-2 三層架構(gòu)示意圖4.2. 功能模塊設(shè)計4.4.1.4.2.4.2.1. 權(quán)限管理設(shè)計1. 模塊概述權(quán)限管理模塊主要是用戶登錄,用戶區(qū)分為企業(yè)領(lǐng)導(dǎo)(管理員用戶)和企業(yè)員工(普通用戶兩種),企業(yè)領(lǐng)導(dǎo)可以使用用戶管理模塊進(jìn)行權(quán)限分配操作;其次,普通用戶不能使用用戶管理模塊。2. 模塊功能圖4-3 權(quán)限管理功能示意圖(1) 對于員

42、工及領(lǐng)導(dǎo)提供登錄功能,并且在登錄后轉(zhuǎn)向系統(tǒng)相應(yīng)管理界面;(2) 對于所有員工及領(lǐng)導(dǎo),提供更改密碼的功能,并對輸入的密碼進(jìn)行格式校驗;(3) 對于領(lǐng)導(dǎo),提供員工管理權(quán)限,開放添加、刪除、更改員工的功能,并在相應(yīng)頁面間操作、轉(zhuǎn)向。3. 輸入輸出項(1) 系統(tǒng)登錄輸入:填寫用戶名、密碼、驗證碼。輸出:無。(2) 修改密碼輸入:原有密碼、更改后密碼。輸出:修改表t_user(password)。(3) 添加用戶輸入:填寫用戶名、用戶密碼、用戶角色。輸出:保存到表t_user。(4) 修改用戶輸入:填寫需修改的用戶名、用戶密碼、用戶角色。輸出:修改表t_user。(5) 刪除用戶輸入:無。輸出:修改表t

43、_user。4. 接口IUserService接口(用戶管理接口)主要方法:User loginCheck(String username, String password) 用戶登錄檢查。User getUserById(Integer id) 根據(jù)ID查詢用戶。void updateUser(User user) 修改用戶信息。List getAllUser() 獲取所有的用戶。User addUser(User user) 添加用戶。void deleteUser(Integer id) 刪除用戶。4.2.2. 庫存管理設(shè)計1. 模塊概述醫(yī)藥企業(yè)管理最重要的是庫存管理,庫存不足需要進(jìn)行采

44、購,銷售需要查看庫存。采購和銷售對于給予庫存反饋的及時性要求很高,所以庫存管理是醫(yī)藥企業(yè)管理工作的基石。2. 模塊功能圖4-4 庫存管理功能示意圖(1) 對于已登錄的用戶提供庫存的添加、刪除、修改的功能;(2) 對于已登錄的用戶提供藥品的添加、刪除、修改的功能;(3) 如果庫存中尚有該藥品,則在刪除時會報錯,終止刪除操作;3. 輸入輸出項(1) 添加藥品輸入:填寫商品名、生產(chǎn)廠家、批準(zhǔn)文號以及附加描述。輸出:添加到表t_drug。(2) 修改藥品輸入:修改需修改的商品名、生產(chǎn)廠家、批準(zhǔn)文號以及附加描述。輸出:修改表t_drug。(3) 刪除藥品輸入:無;輸出:修改表t_drug。(4) 添加庫

45、存輸入:填寫藥品、數(shù)量以及供貨商。輸出:添加到表t_warehouse。(5) 修改庫存輸入:修改需修改的藥品、數(shù)量以及供貨商。輸出:修改表t_warehouse。(6) 刪除庫存輸入:無。輸出:修改表t_warehouse。4. 接口主要方法:Warehouse getWarehouseById(Integer id) 根據(jù)ID查詢庫存。void updateWarehouse(Warehouse warehouse) 修改庫存。List getAllWarehouse() 獲取所有庫存記錄。Warehouse addWarehouse(Warehouse warehouse) 添加庫存記錄

46、。void deleteWarehouse(Integer id) 刪除庫存記錄。4.2.3. 采購管理設(shè)計1. 模塊概述采購管理保證了庫存的及時補(bǔ)充,考慮到中小型企業(yè)的采購和庫存是密不可分的,所以將采購部門與庫存管理部門合并,共用一個模塊,以便維護(hù)的統(tǒng)一與便捷。同時,在采購之前需要做庫存盤點,因而這種設(shè)計方便了信息的錄入。2. 模塊功能圖4-5 采購管理功能示意圖供應(yīng)商信息的增加、刪除以及修改;3. 輸入輸出項(1) 添加供應(yīng)商輸入:填寫供應(yīng)商名稱、聯(lián)系人、聯(lián)系人電話以及供應(yīng)商地址。輸出:修改表t_supplier。(2) 修改供應(yīng)商輸入:修改需修改的供應(yīng)商名稱、聯(lián)系人、聯(lián)系人電話以及供應(yīng)商

47、地址。輸出:修改表t_supplier。(3) 刪除供應(yīng)商輸入:無。輸出:修改表t_supplier。(4) 添加庫存輸入:填寫藥品、數(shù)量以及供貨商。輸出:添加到表t_warehouse。(5) 修改庫存輸入:修改需修改的藥品、數(shù)量以及供貨商。輸出:修改表t_warehouse。(6) 刪除庫存輸入:無。輸出:修改表t_warehouse。4.2.4. 銷售管理設(shè)計1. 模塊概述銷售管理是醫(yī)藥企業(yè)的根本,也是企業(yè)發(fā)展的基石。銷售管理具有相對較高的并發(fā)性,并且需要庫存的及時反饋,所以在設(shè)計中需要重點關(guān)注。良好的銷售管理可以幫助銷售人員以及其他相關(guān)工作人員完成客戶管理、銷售訂單管理等等一系列銷售事

48、務(wù)。指導(dǎo)企業(yè)在日常的工作環(huán)境中做到順利、高效,提高企業(yè)的客戶服務(wù)水準(zhǔn),是企業(yè)更加適應(yīng)多變的市場,能在社會競爭中保持領(lǐng)先地位。2. 模塊功能圖4-6 銷售管理功能示意圖(1) 已登錄的用戶可以對客戶信息進(jìn)行添加、修改以及刪除;(2) 已登錄的用戶可以對訂單信息進(jìn)行添加、修改以及刪除;(3) 當(dāng)訂單生成時,相應(yīng)的庫存隨之減少,訂單的刪除和修改都會引起對庫存對應(yīng)的改變;3. 輸入輸出項(1) 添加客戶輸入:填寫客戶名稱、聯(lián)系人、聯(lián)系人電話以及聯(lián)系地址。輸出:添加到表t_customer。(2) 修改客戶輸入:修改需修改的客戶名稱、聯(lián)系人、聯(lián)系人電話以及聯(lián)系地址。輸出:修改表t_customer。(3

49、) 刪除客戶輸入:無。輸出:修改表t_customer。(4) 添加訂單輸入:填寫庫存、銷售數(shù)量、客戶。輸出:添加到表t_sale。(5) 修改訂單輸入:修改需修改的庫存、銷售數(shù)量、客戶。輸出:修改表t_sale,t_warehouse(amount)。(6) 刪除訂單輸入:無。輸出:修改表t_sale,t_warehouse(amount)。4. 接口主要方法:Sale getSaleById(Integer id) 根據(jù)ID獲取銷售記錄。void updateSale(Sale sale) 修改銷售記錄。List getAllSale() 獲取所有銷售記錄。Sale addSale(Sal

50、e sale) 添加銷售記錄。void deleteSale(Integer id) 刪除銷售記錄。4.3. 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計主要是針對業(yè)務(wù)需求對數(shù)據(jù)庫邏輯進(jìn)行設(shè)計,設(shè)計者主要考慮根據(jù)業(yè)務(wù)需求建立對應(yīng)的基表,每個基表的字段、字段類型、主鍵、外鍵都需要進(jìn)行很好的考量設(shè)計。系統(tǒng)數(shù)據(jù)庫E-R圖如圖4-7所示。圖4-7 數(shù)據(jù)庫設(shè)計E-R圖基于MySQL的特征,設(shè)計的基表如下:4.3.4.3.1. 數(shù)據(jù)庫基本表表4-1 數(shù)據(jù)庫基本表編號基本表作用1系統(tǒng)用戶表管理系統(tǒng)用戶2客戶表管理客戶的基本信息3供應(yīng)商表管理供應(yīng)商的基本信息4藥品表管理藥品基本信息5庫存表管理倉庫庫存6銷售表管理銷售信息4.3.2.

51、 基本表詳細(xì)設(shè)計1. 系統(tǒng)用戶表表4-2 系統(tǒng)用戶表字段類型描述idint(11)管理系統(tǒng)用戶usernamevarchar(20)管理客戶的基本信息passwordvarchar(50)管理供應(yīng)商的基本信息rolevarchar(10)管理藥品基本信息2. 客戶表表4-3 客戶表字段類型描述idint(11)客戶編號namevarchar(50)客戶名(企業(yè)名)contactvarchar(20)客戶聯(lián)系人phonevarchar(20)聯(lián)系人電話addressvarchar(128)客戶地址3. 供應(yīng)商表表4-4 供應(yīng)商表字段類型描述idint(11)供應(yīng)商編號namevarchar(50)供應(yīng)商名(企業(yè)名)contac

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論