




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
畢業(yè)設(shè)計論文題目起訖日期年月日至年月日學生姓名專業(yè)班級所在院系指導教師職稱講師所在單位年月日摘要在市場經(jīng)濟中,銷售是企業(yè)運作的重要環(huán)節(jié)。為了更好的推動銷售,不少企業(yè)建立分公司或代理機制,通過分公司或代理把產(chǎn)品推向最終用戶,這些分公司或代理商大部分分布在不同的地理位置,跨空間、跨時間的頻繁業(yè)務(wù)交流是這些企業(yè)業(yè)務(wù)活動的主要特點。在這種形式下,傳統(tǒng)地依靠管理人員人工工作傳遞信息和數(shù)據(jù)的管理方式就無法滿足企業(yè)日益增長的業(yè)務(wù)需求了。本系統(tǒng)即為一個基本的藥品銷售管理系統(tǒng)就是利用信息化手段把企業(yè)先進的管理方法引入企業(yè)的實踐,為企業(yè)的管理改革提供切實易行的途徑。系統(tǒng)對企業(yè)中常見的采購、庫存、銷售等商業(yè)活動以及相關(guān)的供應商和客戶等基本的信息進行管理。本系統(tǒng)采用目前流行的JSP進行開發(fā),后臺數(shù)據(jù)庫使用功能強大、操作便捷的SQL2005數(shù)據(jù)庫。關(guān)鍵詞:管理系統(tǒng)、銷售、藥品、JSP、信息技術(shù)
目錄TOC\o"1-3"\h\u第一章引言 11.1課題的來源及意義 11.2發(fā)展狀況 11.3開發(fā)技術(shù)介紹 21.4本論文的研究內(nèi)容及結(jié)構(gòu) 2第二章開發(fā)環(huán)境 42.1軟件工程介紹 42.2開發(fā)環(huán)境及工具 42.2.1選擇JSP2.0作為開發(fā)語言 42.2.2選擇SQL2005作為后臺數(shù)據(jù)庫 52.3JSP數(shù)據(jù)庫開發(fā)技術(shù) 52.3.1.JDBC開發(fā)數(shù)據(jù)庫 52.3.2BDE開發(fā)數(shù)據(jù)庫 62.4開發(fā)方法整體選擇 7第三章系統(tǒng)分析 93.1可行性分析 93.1.1技術(shù)可行性分析 93.1.2管理可行性分析 93.1.3經(jīng)濟可行性分析 93.2需求分析 103.2.2功能需求分析 103.2.3系統(tǒng)功能模塊圖 113.3數(shù)據(jù)庫設(shè)計概述 113.4數(shù)據(jù)庫設(shè)計周期 113.5SQL查詢語言及使用 123.6系統(tǒng)數(shù)據(jù)庫設(shè)計 133.6.1實體描述 133.6.2聯(lián)系描述 133.6.2E-R圖 143.6.3數(shù)據(jù)庫的邏輯設(shè)計 153.6.4數(shù)據(jù)庫的實現(xiàn) 16第四章系統(tǒng)的詳細設(shè)計與實現(xiàn) 194.1登錄界面設(shè)計 194.2JDBC連接 204.3系統(tǒng)基本信界面設(shè)計 214.4庫存添加界面 214.5客戶管理 234.6藥品信息界面 234.7供應商管理 254.8數(shù)據(jù)備份 26第五章系統(tǒng)的調(diào)試與測試 275.1程序調(diào)試 275.2程序的測試 275.2.1測試的重要性及目的 275.2.2測試的步驟 285.2.3測試的主要內(nèi)容 28第六章結(jié)論 30謝辭 32參考文獻 33PAGE33第一章引言1.1課題的來源及意義隨著我國市場經(jīng)濟的蓬勃發(fā)展,醫(yī)藥行業(yè)正處于一個高速發(fā)展的時期。目前市場上的藥品銷售軟件比較多,應用價值也挺高,但是大部分的重點都放在了藥品信息管理和員工信息管理方面,對于客戶,供貨商信息的管理做得都不完善,有的根本沒這部分內(nèi)容。而這些信息也是很重要的,有利于公司上層高級管理人員從各個方面對公司狀況進行分析,管理和決策。因此,開發(fā)一個集處理藥品、客戶、供貨商信息于一體的,兼有員工管理的藥品銷售管理系統(tǒng),是符合市場發(fā)展需要的。藥品銷售管理系統(tǒng)是一個基于Internet的應用系統(tǒng),它是一個面對當前的進銷存管理工作基本還處于手工和半信息自動化處理狀態(tài)應運而生的一個基于Internet的完全自動化的系統(tǒng),整個系統(tǒng)從符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā),完成進貨、銷售、庫存管理的全過程。企業(yè)單位只需要具備訪問Internet的條件,即可在系統(tǒng)發(fā)布的站點上進行進銷存的管理,在圖形化的人機界面中完成日常的進銷存管理工作,一方面擺脫了時間和空間的界限,另一方面也能有效地解決數(shù)據(jù)可共享的問題。經(jīng)過實際使用證明,這里所設(shè)計的企業(yè)進銷存管理系統(tǒng)可以滿足企業(yè)進貨、銷售管理等方面的需求。將計算機這一信息處理利器應用于藥品銷售的日常管理已是勢必所然,而且這也將為倉庫管理帶來前所未有的改變,它可以帶來意想不到的效益,同時也會為企業(yè)的飛速發(fā)展提供無限潛力。采用計算機管理信息系統(tǒng)已成為倉庫管理科學化和現(xiàn)代化的重要標志,它給企業(yè)管理來了明顯的經(jīng)濟效益和社會效益。極大提高了倉庫工作人員的工作效率,大大減少了以往入出存流程繁瑣,雜亂,周期長的弊端?;趥}庫管理的全面自動化,可以減少入庫管理、出庫管理及庫存管理中的漏洞,可以節(jié)約不少管理開支,增加企業(yè)收入。倉庫的管理的操作自動化和信息的電子化,全面提高了倉庫的管理水平。1.2發(fā)展狀況隨著中國電子商務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展,國內(nèi)許多企業(yè)已跨入電腦網(wǎng)絡(luò)管理時代,并因此提高了管理效率和市場競爭力。但目前仍有部分企業(yè)還停留在原始計賬管理階段,而隨著全球經(jīng)濟信息化進程加快和WTO的成功實現(xiàn),企業(yè)面臨著前所未有的機遇和挑戰(zhàn),在如此激變的社會形勢和激烈的市場競爭下,越來越多企業(yè)管理者意識到效率管理和科學管理的重要性,以及增強市場競爭力的迫切性。因此建立科學,規(guī)范,高效的管理制度和秉承富有競爭力的經(jīng)營理念是每一個企業(yè)管理者的渴望,企業(yè)采用電腦管理進貨、存貨、銷售等諸多環(huán)節(jié)也已成為趨勢必然。在進貨、庫存、銷售環(huán)節(jié)中,由于商品種類繁多、業(yè)務(wù)量大、庫存管理復雜,使用手工操作的工作量很大,在操作過程中也很容易出現(xiàn)各種錯誤。而采用計算機管理則可以大大提高日常的效率,不僅將原來由手工操作的進貨、出貨及銷售這一整套流程用計算機進行全程管理,而且消除了手工操作中可能存在的不確定因素,實現(xiàn)了進銷存管理流程清晰,從而能夠比較徹底地貫徹經(jīng)營者的管理模式。1.3開發(fā)技術(shù)介紹SQLServer2005數(shù)據(jù)庫引擎提供完整的XML支持。它還具有構(gòu)成最大的Web站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能。SQLServer2000程序設(shè)計模型與WindowsDNA構(gòu)架集成,用以開發(fā)Web應用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服務(wù)等功能,在Web應用程序中包含了用戶友好的查詢和強大的搜索功能。數(shù)據(jù)庫SQLServer2005管理器提供了一個強大的任務(wù)安排引擎、管理警告能力、以及內(nèi)建的復制管理界面。因此可以通過SQLServer管理器可用來管理登錄和用戶權(quán)限,創(chuàng)建腳本,管理SQLSERVER對象的備份,備份數(shù)據(jù)庫和事務(wù)日志,管理表、視圖、存儲過程、觸發(fā)器、索引、規(guī)則、缺省設(shè)定和自定義數(shù)據(jù)類型等來進行不同的數(shù)據(jù)管理任務(wù)。MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持Struts,JSP,Dss,Spring,SQL,Hibernate。Genuitec發(fā)布了MyEclipseEnterpriseWorkbench56.0,更智能、更快捷、更簡單和更便宜的J2EE工具的新版本的誕生。它的價格對于個人和企業(yè)開發(fā)人員來說都是非常有吸引力的。這是J2EEIDE市場一個重量級的選手。通過增加UML雙向建模工具、WYSIWYG的JSP/Strutsdesigner、可視化的Hibernate/ORM工具、Spring和Webservices支持,以及新的數(shù)據(jù)庫開發(fā),MyEclipse6.0.1繼續(xù)為業(yè)界提供全面的產(chǎn)品。1.4本論文的研究內(nèi)容及結(jié)構(gòu)本次課題主要研究對象是監(jiān)獄管理系統(tǒng)。主要是針對解決目前監(jiān)獄管理中存在的問題。系統(tǒng)采用目前管理系統(tǒng)開發(fā)主流技術(shù)JSP技術(shù),基于Windows7操作系統(tǒng)開發(fā),并采用了SQLServer2005數(shù)據(jù)庫。本次開發(fā)按照軟件工程的瀑布模型進行,與之相應的,論文結(jié)構(gòu)如下::引言。包含內(nèi)容有,介紹課題來源、外發(fā)展情況、開發(fā)環(huán)境介紹以及論文結(jié)構(gòu)。:系統(tǒng)的需求分析。包括系統(tǒng)的可行性分析,大致的功能模塊。:系統(tǒng)的概要設(shè)計。包括系統(tǒng)的總體結(jié)構(gòu),主要功能模塊設(shè)計以及數(shù)據(jù)庫設(shè)計。:系統(tǒng)的詳細設(shè)計與實現(xiàn)。包括系統(tǒng)的總體流程,以及主要功能模塊的詳細設(shè)計。:系統(tǒng)的測試與維護。:結(jié)論。
第二章開發(fā)環(huán)境2.1軟件工程介紹軟件工程是用科學知識和技術(shù)原理來定義、開發(fā)、維護軟件的一門學科。它涉及計算機科學、工程科學、管理科學、數(shù)學等領(lǐng)域,計算機科學著重于原理和理論,而軟件工程著重于如何建造一個軟件系統(tǒng)。軟件工程在軟件開發(fā)過程中占有不可動搖的重要地位,一個軟件從開始計劃起,到廢棄不用止,稱為軟件生存周期。一般來說,軟件生存周包括計劃、開發(fā)、運行三個時期,每一時期又可分為若干更小的階段。計劃時期的主要任務(wù)是分析用戶要求,分析新系統(tǒng)的主要目標以及開發(fā)該系統(tǒng)的可行性。開發(fā)時期要完成設(shè)計和實現(xiàn)兩大任務(wù)具體。具體分為需求分析、概要設(shè)計、詳細設(shè)計、編碼、測試。其中編碼和測試是軟件開發(fā)期的最后兩個階段。運行時期是軟件生存周期的最后一個時期,軟件人員在這一時期的工作,主要是做好軟件維護。“監(jiān)獄值班與監(jiān)所排帳管理系統(tǒng)”雖然只是一個比較小的項目,但是為了做的更規(guī)范,也盡量按照軟件工程的指導來做,事實上,不管一個多小的工程,都是離不開軟件工程的指導思想的。2.2開發(fā)環(huán)境及工具2.2.1選擇JSP2.0作為開發(fā)語言JSP(JavaServerPages)是由SunMicrosystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準。JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件。用JSP開發(fā)的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統(tǒng)上運行。
JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應用程序的開發(fā)變得迅速和容易。JSP技術(shù)的強勢:1.一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。
2.系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。
3.強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進行集群和負載均衡,到多臺Application進行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。4.多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。2.2.2選擇SQL2005作為后臺數(shù)據(jù)庫SQL是StructuredQuevyLanguage(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時,只需要發(fā)出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經(jīng)成為了數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。2.3JSP數(shù)據(jù)庫開發(fā)技術(shù)2.3.1.JDBC開發(fā)數(shù)據(jù)庫JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫應用程序,同時,JDBC也是個商標名。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBCAPI寫一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應用程序連接數(shù)據(jù)庫的標準方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標準的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標準方法。JDBC使用已有的SQL標準并支持與其它數(shù)據(jù)庫連接標準,如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。Java具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應用程序的杰出語言。所需要的只是Java應用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。而JDBC正是作為此種用途的機制。JDBC擴展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁,而該applet使用的信息可能來自遠程數(shù)據(jù)庫企業(yè)也可以用JDBC通過Intranet將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語言,對從Java中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。MIS管理員們都喜歡Java和JDBC的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應用程序。對于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。2.3.2BDE開發(fā)數(shù)據(jù)庫BDE是負責用戶和數(shù)據(jù)庫交流的中間媒介。事實上,應用程序是通過數(shù)據(jù)訪問組件和BDE連接,再由BDE去訪問數(shù)據(jù)庫,完成對數(shù)據(jù)庫的操作,而并非直接操作BDE。這樣用戶只需關(guān)心JSP中的數(shù)據(jù)組件即可,不用直接和BDE打交道。數(shù)據(jù)庫組件主要分為兩類:“數(shù)據(jù)訪問組件”和“數(shù)據(jù)控制組件”,它們和數(shù)據(jù)庫的關(guān)系如圖2-1所示:圖2-1數(shù)據(jù)庫組件與數(shù)據(jù)庫關(guān)系圖其中,數(shù)據(jù)訪問組件在JSP組件面板的DataSQL組件頁上。其中的Table、Query和Storedproc三個控件,它們稱為“數(shù)據(jù)集組件”,用于和數(shù)據(jù)庫連接。這些組件功能如下:1.DataSource控件是數(shù)據(jù)集組件和數(shù)據(jù)控制組件的連接媒介。數(shù)據(jù)控制組件是用戶操作數(shù)據(jù)庫中數(shù)據(jù)的界面,只有通過DataSource控件才能和數(shù)據(jù)集組件連接,從而對數(shù)據(jù)進行顯示、修改、維護等操作。2.Table控件是通過數(shù)據(jù)庫引擎——BDE來存取數(shù)據(jù)庫中的數(shù)據(jù)的。通過BDE將用戶對數(shù)據(jù)庫的操作(如添加、刪除、修改等)傳遞給數(shù)據(jù)庫。3.Query控件是利用SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言)通過BDE來操作數(shù)據(jù)庫的,和Table控件完成的功能相似,它只是采用了SQL來實現(xiàn)。4.Storedproc控件是通過BDE對服務(wù)器數(shù)據(jù)庫進行操作的,常用于客戶/服務(wù)器(C/S)結(jié)構(gòu)的數(shù)據(jù)庫應用程序。5.DataBase控件一般用于建立遠程的數(shù)據(jù)庫服務(wù)器——客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫應用程序和數(shù)據(jù)庫之間的連接。6.Session控件是用于控制數(shù)據(jù)庫應用程序和數(shù)據(jù)庫連接的,主要用于復雜功能的實現(xiàn),例如:多線程數(shù)據(jù)庫程序設(shè)計。而數(shù)據(jù)控制組件也可以稱為數(shù)據(jù)顯示組件或數(shù)據(jù)瀏覽組件。它們的主要功能是與數(shù)據(jù)訪問組件相配合,提供給用戶一個對數(shù)據(jù)進行瀏覽、編輯等操作的界面。數(shù)據(jù)控制組件在組件板上的DataControl頁上。從上圖可以看出,BDE負責與具體的數(shù)據(jù)庫相連,通過BDE,幾乎可以操作目前所有類型的數(shù)據(jù)庫。但是BDE也有很大的缺點,當然,在對于一些比較簡單的數(shù)據(jù)庫,例如ASCII,BDE可以直接訪問。另外它也可以通過一些相應的驅(qū)動,訪問特定的數(shù)據(jù)庫,例如通過DAO訪問SQL數(shù)據(jù)庫。不同類型的驅(qū)動程序都具有不同的特征,主要是表現(xiàn)在:數(shù)據(jù)庫的安全性,事務(wù),數(shù)據(jù)字典和完整性驗證,存儲過程和觸發(fā)器。對于不能直接支持的數(shù)據(jù)庫,BDE還可以連接到ODBC,通過ODBC進行訪問,所以BDE有時效率很低。在JSP提供的所有數(shù)據(jù)庫訪問方式中,BDE的歷史最長,因此提供的功能也最多,包括大量的和數(shù)據(jù)庫交互的API。使用它訪問PARJDBCX和DBASE時效率最高。同時,針對Oracle的訪問也有專門的優(yōu)化,效率也最高。JSP目前正逐步放棄BDE,已經(jīng)不再為BDE增加新的功能,只是對現(xiàn)有的功能進行維護,排除BUG。BDE包含如下組件:TDATABASE,TTABLE,TQUERY,TSTOREDPROC,TSESSION,TBATCHMOVE,TUPDATESQL,TNESTEDTABLE。2.4開發(fā)方法整體選擇根據(jù)用戶的實際情況和需要,最終決定采用在Windows7下使用JSP+SQL開發(fā),采用B/S結(jié)構(gòu),使用JDBC連接數(shù)據(jù)庫。這樣的好處是:1.使用JSP+SQL靈活方便,可擴充性、可移植性較好。2.JDBC與SQL同為微軟開發(fā),兼容性好,同時存取效率高,且較成熟,目前許多數(shù)據(jù)庫應用系統(tǒng)都采用這種方式。3.采用B/S結(jié)構(gòu)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應的優(yōu)點就是客戶端響應速度快。JDBC是Microsoft主要數(shù)據(jù)存儲技術(shù),JDBC主要讓應用程序或WEB應用程序存取各種不同的數(shù)據(jù)源。JDBC封裝了OLE-DB復雜的接口,以極為簡單的COM接口存儲數(shù)據(jù),簡化了程序員數(shù)據(jù)存取的工作。JDBC架構(gòu)圖如圖2-2所示:OLEDBOLEDBJDBCApplication/BrowserJDBCSQLDATA圖2-2JDBC架構(gòu)圖
第三章系統(tǒng)分析隨著信息技術(shù)集成化和網(wǎng)絡(luò)化的不斷發(fā)展,互聯(lián)網(wǎng)在人們政治、經(jīng)濟、生活等各個方面都發(fā)揮著重要的作用。需求分析是指理解用戶需求,就軟件功能與客戶達成一致,估計軟件風險和評估項目代價,最終形成開發(fā)計劃的一個復雜的過程。簡言之,需求分析的任務(wù)就是解決“做什么”的問題,就是要全面地理解用戶的各項要求,并準確地表達所接受的用戶需求。需求分析之所以重要,就因為它具有決策性,方向性,策略性的作用,它在軟件開發(fā)的過程中具有舉足輕重的地位。3.1可行性分析3.1.1技術(shù)可行性分析JSP+Servlet在技術(shù)上已經(jīng)成熟,SQLServers數(shù)據(jù)庫易于連接,采用MVC模式,使得視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動MVC的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。MVC模式允許你使用各種不同樣式的視圖來訪問同一個服務(wù)器端的代碼。由于模型返回的數(shù)據(jù)沒有進行格式化,所以同樣的構(gòu)件能被不同的界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的僅令是改變視圖層的實現(xiàn)方式,而控制層和模型層無需做任何改變。3.1.2管理可行性分析本管理系統(tǒng)設(shè)有后臺管理,方便數(shù)據(jù)維護,可確保系統(tǒng)在管理層面上可行,過本系統(tǒng)進行信息管理工作,可以提高工作效率,管理科學,數(shù)據(jù)處理準確性高。3.1.3經(jīng)濟可行性分析JSP+Tomcat+SQLServer是免費開源的框架或者軟件,使得開發(fā)成本大大下降??芍赜眯愿撸?jīng)過修改后,可用于其他類型的博覽會管理服務(wù)。采用MVC模式是的開本成本降低和易于維護用戶接口。界面簡潔、易懂、操作方便,電腦初學者無需經(jīng)過學習就可以輕松得操作本系統(tǒng)的所有功能。本系統(tǒng)的開發(fā)在經(jīng)濟上是可行的。3.2需求分析通過對藥品進銷存等業(yè)務(wù)過程的了解和分析,本系統(tǒng)的主要功能模塊可以分為系統(tǒng)登錄模塊、藥品查詢管理模塊、藥品采購管理模塊、藥品庫存管理模塊、藥品銷售管理模塊、用戶管理模塊、系統(tǒng)設(shè)置模塊、統(tǒng)計分析模塊這七個大模塊。3.2.2功能需求分析(1)系統(tǒng)登錄模塊本模塊主要實現(xiàn)登錄身份驗證功能,即當用戶登錄系統(tǒng)時,需要驗證個人詳細信息,只有系統(tǒng)注冊用戶才能登錄到系統(tǒng)中。(2)藥品查詢管理模塊本模塊主要完成藥品信息的添加、修改、刪除,查看詳細信息,按不同關(guān)鍵字進行搜索等,以及藥品類別信息的添加、修改、刪除、檢索功能。(3)藥品采購管理模塊本模塊主要功能是完成藥品采購全過程的信息化管理。要向不同的供應商采購所需要的藥品,就要有采購單管理、付款管理、統(tǒng)計打印等。(4)藥品庫存管理模塊本模塊功能主要是完成藥品入庫和出庫管理。藥品采購回來后要進行入庫操作,藥品售出后要進行出庫操作,庫存中的藥品還要進行調(diào)價、盤點、缺貨處理等操作。(5)藥品銷售管理模塊本模塊功能主要完成是對藥品售出過程相關(guān)信息的管理。藥品售出時要統(tǒng)計金額、打印清單、從庫存中減去相關(guān)藥品的數(shù)量,還要對銷售情況進行統(tǒng)計等。(6)系統(tǒng)管理模塊本模塊主要功能是系統(tǒng)用戶的管理,如添加用戶、刪除用戶、用戶信息查看、編輯、打印,用戶權(quán)限設(shè)置等。管理員密碼修改、系統(tǒng)數(shù)據(jù)庫的備份和還原等功能。(7)統(tǒng)計分析模塊主要功能是對藥品進銷存情況進行全面統(tǒng)計,分析經(jīng)營活動中的獲利情況等。實現(xiàn)藥品采購支出情況的統(tǒng)計,已采購付款但還未到貨或還未入庫情況的統(tǒng)計,庫存藥品情況的統(tǒng)計、藥品銷售收入情況的統(tǒng)計等[15]。3.2.3系統(tǒng)功能模塊圖根據(jù)需求分析,設(shè)計出藥品銷售管理系統(tǒng)的總體結(jié)構(gòu)。系統(tǒng)功能模塊圖如圖3-1所示。藥品銷售管理系統(tǒng)藥品銷售管理系統(tǒng)數(shù)據(jù)備份統(tǒng)計管理銷售管理數(shù)據(jù)備份統(tǒng)計管理銷售管理庫存管理采購庫存管理采購管理供應商管理商品信息管理客戶管理系統(tǒng)用戶管理圖3-1系統(tǒng)功能模塊圖3.3數(shù)據(jù)庫設(shè)計概述計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。對于數(shù)據(jù)庫應用開發(fā)人員來說,為使現(xiàn)實世界的信息流計算機化,并對計算機化的信息進行各種操作,就是如何利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關(guān)硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫結(jié)構(gòu)易于實現(xiàn)用戶新的要求的過程。確切的說,數(shù)據(jù)庫設(shè)計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。3.4數(shù)據(jù)庫設(shè)計周期根據(jù)軟件工程的思想,數(shù)據(jù)庫設(shè)計的周期可以劃分為六個階段:規(guī)劃階段:確定開發(fā)的總目標,給出計劃開發(fā)的軟件系統(tǒng)的功能、性能以及可靠性等方面的設(shè)想。需求分析階段:認真細致地了解用戶對數(shù)據(jù)的加工要求,確定系統(tǒng)的功能與邊界。本階段的最終結(jié)果能夠提供一個可作為設(shè)計基礎(chǔ)的系統(tǒng)說明書,包括對軟硬件環(huán)境的要求和一整套完善的數(shù)據(jù)流程圖。設(shè)計階段:把需求分析階段所確定的功能細化,主要工作是概念設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段,然后,對每個階段內(nèi)部設(shè)計詳細的流程。程序編制階段:以一種或幾種特定的程序設(shè)計語言表達上一階段確定的各模塊控制流程。程序編制時應遵循結(jié)構(gòu)化程序設(shè)計方法。調(diào)試階段:對已編好的程序進行單元調(diào)試(分調(diào)),整體調(diào)試(聯(lián)調(diào))和系統(tǒng)測試(驗收)。運行和維護階段:是整個設(shè)計周期最長的階段,其工作重點是收集和記錄系統(tǒng)實際運行的數(shù)據(jù)。在運行中,必須保持數(shù)據(jù)庫的完整性,必須有效地處理數(shù)據(jù)故障和進行數(shù)據(jù)庫恢復。同時解決開發(fā)過程的遺留問題,改正錯誤進行功能完善。數(shù)據(jù)是系統(tǒng)的靈魂所在,整個系統(tǒng)的運行基礎(chǔ)是系統(tǒng)數(shù)據(jù)庫,因而數(shù)據(jù)庫的設(shè)計質(zhì)量對整個系統(tǒng)的功能與效率有很大影響,所以我們在進行數(shù)據(jù)文件和數(shù)據(jù)庫設(shè)計時,充分考慮了數(shù)據(jù)存儲的完整性、可靠性、安全性和數(shù)據(jù)的一致性及便于操作等方面的問題。一個完整的信息系統(tǒng)的建設(shè)并不是一步到位的。在實際的建設(shè)過程中,在時間上各子系統(tǒng)有先建、后建之分,在開發(fā)人員的分配上有他建、我建之別,這就涉及到各子系統(tǒng)之間的兼容問題。在現(xiàn)有的軟件水平下,追求應用系統(tǒng)間的相互兼容存在困難,但對于數(shù)據(jù)的兼容也就是數(shù)據(jù)的共享來說,既非常重要,又相對應用系統(tǒng)的兼容較易實現(xiàn)。在提高數(shù)據(jù)共享性方面,可主要從數(shù)據(jù)的一致性方面來考慮。在我們的數(shù)據(jù)庫系統(tǒng)建設(shè)中,著重考慮了以下兩個標準保證數(shù)據(jù)的一致性:字段標準:字段標準不統(tǒng)一是造成數(shù)據(jù)庫難以共享的一個主要原因,因為字段的設(shè)計處于數(shù)據(jù)庫設(shè)計的最底層,或者可以說是最基本的一層,如果這一層都不能統(tǒng)一的話,會直接影響到數(shù)據(jù)庫中數(shù)據(jù)的共享。代碼標準:代碼的引入為保持數(shù)據(jù)庫中數(shù)據(jù)的一致性提供了一個重要手段。
此外本數(shù)據(jù)庫設(shè)計主要遵循以下原則:數(shù)據(jù)庫文件的實用性,數(shù)據(jù)庫文件的安全性,數(shù)據(jù)庫文件的獨立性,節(jié)省磁盤空間。數(shù)據(jù)庫設(shè)計是要在一個給定的應用環(huán)境(DBMS)中,通過合理的邏輯設(shè)計和有效的物理設(shè)計,構(gòu)造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設(shè)計應用程序,滿足用戶的各種信息需求。物理結(jié)構(gòu)設(shè)計的原則如下:1.盡可能的減少數(shù)據(jù)冗余和重復。2.結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合。
3.數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性?;谝陨显O(shè)計原則,本系統(tǒng)設(shè)計了一個數(shù)據(jù)庫,包含基本信息表(如員工類別、存貨等)及幾個實體聯(lián)系建模后的表(如散件銷售、整機銷售等)。為了加快系統(tǒng)訪問的速度把這些表放在一個數(shù)據(jù)庫中。3.5SQL查詢語言及使用SQL語言是結(jié)構(gòu)化語言(StructureQueryLanguage)的縮寫,是一種用于數(shù)據(jù)庫查詢和編程的語言,已經(jīng)成為關(guān)系型數(shù)據(jù)庫普遍使用的標準,使用這種標準數(shù)據(jù)庫語言對程序設(shè)計和數(shù)據(jù)庫的維護都帶來了極大的方便,廣泛地應用于各種數(shù)據(jù)查詢。JSP和其他的應用程序包括SQLserver2000、Foxpro、Orcale、SQLSEVER2000等都支持SQL語言。SQL語言的常用操作有:建立數(shù)據(jù)庫數(shù)據(jù)表(CREATETABLE),如本系統(tǒng)中的學生及成績備份就用到該語句;從數(shù)據(jù)庫中篩選一個記錄集(SELECT),這是最常用的一個語句,功能強大,能有效地對數(shù)據(jù)庫中一個或多個數(shù)據(jù)表中的數(shù)據(jù)進行訪問,并兼有排序、分組等功能;在數(shù)據(jù)表中添加一個記錄(INSERT);刪除符合條件的記錄(DELETE);更改符合條件的記錄(UPDATE)。JSP中的數(shù)據(jù)庫操作對象都提供了對SQL語句的支持。其一般的用法是以JSP的各種控件接收用戶對數(shù)據(jù)庫訪問的請求,在事件響應程序代碼中將其轉(zhuǎn)換成對數(shù)據(jù)庫的SQL查詢語句,并以字符串的形式存在,然后將其傳遞給相應的數(shù)據(jù)庫操作對象,最終完成對數(shù)據(jù)庫的訪問。3.6系統(tǒng)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是開發(fā)數(shù)據(jù)庫及其應用系統(tǒng)的技術(shù),也是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。具體的說,數(shù)據(jù)庫設(shè)計是要在一個給定的應用環(huán)境中,通過合理的邏輯設(shè)計和有效的物理設(shè)計,構(gòu)造較優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),滿足用戶的各種信息需求。在系統(tǒng)的數(shù)據(jù)庫設(shè)計中,首先對系統(tǒng)分析得到的數(shù)據(jù)字典中的數(shù)據(jù)存儲進行分析,分析各數(shù)據(jù)存儲之間的關(guān)系,然后得出系統(tǒng)的關(guān)系模式。本系統(tǒng)用實體-聯(lián)系圖(簡稱E-R圖)來描述系統(tǒng)的概念模型。E-R圖由實體、屬性、聯(lián)系三部分組成,其符號如圖所示:實體屬性聯(lián)系圖3-2E-R圖圖例3.6.1實體描述本系統(tǒng)中所涉及的實體有3個,其結(jié)構(gòu)如下:客戶(客戶編號、客戶名稱、聯(lián)系人、聯(lián)系電話、聯(lián)系地址)藥品(藥品號、藥品名稱、規(guī)格、單價、計量單位)供應商(供應商編號、供應商名稱、地址、聯(lián)系人、聯(lián)系電話)3.6.2聯(lián)系描述本系統(tǒng)中實體之間有5個聯(lián)系,其關(guān)系如下:(1)訂貨關(guān)系:業(yè)務(wù)員、客戶和藥品的關(guān)系是1:M:N,因為多個客戶可以向某一個業(yè)務(wù)員訂購多種藥品;(2)存儲關(guān)系:倉位和藥品的關(guān)系是1:N,因為一個倉位可以存放多種藥品,一種藥品只能存放在一個倉位中;(3)出庫關(guān)系:客戶、倉位和藥品的關(guān)系是M:N:N,因為多個用戶可以將多個倉位中的多種藥品銷售。(4)入庫關(guān)系:供銷商、倉位和藥品的關(guān)系是:N:M:N,因為多個供銷商可以將多種藥品存放在多個倉位中。以上實體的聯(lián)系屬性如下:訂貨(訂貨單號、訂貨日期、數(shù)量、單價)入庫(入庫單號、日期、數(shù)量)出庫(出庫單號、日期、數(shù)量)存儲(日期、數(shù)量)3.6.2E-R圖本系統(tǒng)的E-R圖如下圖所示:圖3-3藥品管理E-R圖圖3-4管理員E-R圖圖3-5庫存管理E-R圖圖3-6供應商E-R圖3.6.3數(shù)據(jù)庫的邏輯設(shè)計數(shù)據(jù)庫的邏輯設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段的基本E-R圖轉(zhuǎn)化為與選用具體機器上的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),首先要實現(xiàn)的是E-R圖關(guān)系模型的轉(zhuǎn)化。而為此要解決的問題是如何將實體和實體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。對于實體,將每個實體轉(zhuǎn)換為一個關(guān)系,實體的屬性即為關(guān)系的屬性,實體的碼即為關(guān)系的碼。對于實體間的聯(lián)系,可以分成三種情況:若實體間的聯(lián)系是1:1,可以在兩個實體轉(zhuǎn)換成的兩個關(guān)系中任意一個關(guān)系的屬性中加入另一個關(guān)系的碼。若實體間的聯(lián)系是1:n,則在n端實體轉(zhuǎn)換成的關(guān)系中加入1端實體轉(zhuǎn)換成的關(guān)系碼。若實體間的聯(lián)系是n:m,則將聯(lián)系轉(zhuǎn)換為關(guān)系,關(guān)系的屬性為諸個實體的碼加上聯(lián)系具有的屬性,而關(guān)系的碼則為諸實體的碼的組合。本系統(tǒng)中所涉及到的6個實體轉(zhuǎn)換為6個關(guān)系,4個三元聯(lián)系轉(zhuǎn)換為4個關(guān)系,1:N的聯(lián)系轉(zhuǎn)換為1個關(guān)系,所以本系統(tǒng)共有11個關(guān)系,每個關(guān)系的主碼用下劃線,外碼用#標出:客戶(客戶編號、客戶名稱、聯(lián)系人、聯(lián)系電話、聯(lián)系地址)藥品(藥品號、藥品名稱、規(guī)格、計量單位、安全庫存)供應商(供應商編號、供應商名稱、地址、聯(lián)系人、聯(lián)系電話)出庫(出庫單號、倉位號#、藥品號#、日期、數(shù)量)存儲(倉位號#、藥品號#、日期、數(shù)量、)入庫(入庫單號、倉位號#、藥品號#、日期、數(shù)量)3.6.4數(shù)據(jù)庫的實現(xiàn)按照數(shù)據(jù)字典中的數(shù)據(jù)元素說明確定每個數(shù)據(jù)項的類型和長度,使每個關(guān)系都對應一個數(shù)據(jù)庫表:用戶表:此表中存儲的是該管理系統(tǒng)所有用戶的基本信息。表5-1用戶表序號字段名稱字段類型大小允許為空是否是主鍵最大長度1IDInt4自增編號是102usernameVarChar50是否2553pwdVarChar50是否2554cxVarChar50是否2555addtimeDateTime8是否23出庫記錄表:記載所有產(chǎn)品出庫的信息,包括時間、編號、數(shù)量等等。表5-2出庫記錄表序號字段名稱字段類型大小允許為空是否是主鍵最大長度1IDInt4自增編號是102bianhaoVarChar50是否2553mingchengVarChar50是否2554kucunVarChar50是否2555chukushuliangVarChar50是否2556kehuVarChar50是否2557beizhuVarChar50是否2558caozuoyuanVarChar50是否2559addtimeDateTime8是否23
供應商信息表:表中記載了供應商的詳細信息。表5-3供應商信息表序號字段名稱字段類型大小允許為空是否是主鍵最大長度1IDInt4自增編號是102bianhaoVarChar50是否2553gongsimingchengVarChar50是否2554dianhuaVarChar50是否2555chuanzhenVarChar50是否2556youxiangVarChar50是否2557dizhiVarChar50是否2558zhuyingchanpinVarChar50是否2559beizhuVarChar50是否25510addtimeDateTime8是否23客戶信息表:表中記載的是客戶的詳細信息。表5-4客戶信息表序號字段名稱字段類型大小允許為空是否是主鍵最大長度1IDInt4自增編號是102bianhaoVarChar50是否2553xingmingVarChar50是否2554gongsimingchengVarChar50是否2555dianhuaVarChar50是否2556chuanzhenVarChar50是否2557youxiangVarChar50是否2558dizhiVarChar50是否2559beizhuVarChar50是否25510addtimeDateTime8是否23
入庫記錄表:表中記載的是藥品入庫的全部信息,包括藥品入庫的數(shù)量、編號等信息。表5-5入庫記錄表序號字段名稱字段類型大小允許為空是否是主鍵最大長度1IDInt4自增編號是102bianhaoVarChar50是否2553mingchengVarChar50是否2554kucunVarChar50是否2555rukushuliangVarChar50是否2556gongyingshangVarChar50是否2557beizhuVarChar50是否2558caozuoyuanVarChar50是否2559addtimeDateTime8是否23
藥品信息:表中記載的是藥品的詳細信息,包括藥品的編號、名稱、供應商等等。表5-6藥品信息表序號字段名稱字段類型大小允許為空是否是主鍵最大長度1IDInt4自增編號是102bianhaoVarChar50是否2553mingchengVarChar50是否2554leibieVarChar50是否2555tupianVarChar50是否2556beizhuVarChar50是否2557addtimeDateTime8是否238jiageVarChar50是否2559kucunInt4是否10
第四章系統(tǒng)的詳細設(shè)計與實現(xiàn)詳細設(shè)計的主要任務(wù)是設(shè)計每個模塊的詳細功能、實現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu)等。基于前面的系統(tǒng)總體設(shè)計和數(shù)據(jù)庫設(shè)計,在此章進入詳細設(shè)計與實現(xiàn)階段的任務(wù)。在這個階段需要對總體設(shè)計階段所闡述的基本功能進行一一具體描述并實現(xiàn)。4.1登錄界面設(shè)計為了保證系統(tǒng)的安全性,進入系統(tǒng)之前必須經(jīng)過必要的安全性檢驗,輸入相應的用戶名和密碼,只有合法用戶方可登陸。簡潔、清晰、友好是此模塊的設(shè)計風格,如圖6-1所示:圖6-1用戶登錄界面如果輸入的用戶名或者密碼錯誤,就會彈出下面的窗口,見圖4.1所示:圖6-2錯誤信息本模塊是系統(tǒng)登陸界面,實現(xiàn)的功能是檢測合法用戶,驗證其用戶名和密碼,以杜絕非法用戶侵入系統(tǒng),對系統(tǒng)所存儲的信息構(gòu)成威脅。本模塊界面非常簡單,就一用戶名和密碼兩個文本框和一個登陸按鈕,但實現(xiàn)的方法比較復雜,因為系統(tǒng)要自動判斷其輸入的用戶名及密碼的正誤,還要自動識別其權(quán)限(超級管理員與普通管理員之分),如果登陸正常后,系統(tǒng)要將當前用戶名和權(quán)限記錄下來以便之后其他操作給予適當?shù)臋?quán)限分配。4.2JDBC連接要想讓本系統(tǒng)運行成功需要將此設(shè)計與數(shù)據(jù)庫連接起來,用戶在頁面進行的操作在數(shù)據(jù)庫中得以保存,新進的藥品、新來的管理員、倉庫內(nèi)清除的藥品等這樣方便以后的正常的記錄。而如果想讓這些操作都被記錄下來操作成功就離不開頁面與數(shù)據(jù)庫的交互,JDBC部分代碼就是要將數(shù)據(jù)庫和頁面操作連接起來,通過代碼控制并將數(shù)據(jù)庫連接所需要的東西配置好就將數(shù)據(jù)庫連接成功了。在程序中JDBC連接部分的代碼如下:packagedb;importjava.sql.*;publicclassdb{ privateStringdbDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; privateStringsConnStr="jdbc:microsoft:sqlserver://localhost:1433;databasename=jspspjxcxns"; publicConnectionconnect=null; publicResultSetrs=null; publicdb(){ try{ Class.forName(dbDriver).newInstance(); connect=DriverManager.getConnection(sConnStr,"sa","8888"); } catch(Exceptionex){ System.out.println("12121"); } } publicResultSetexecuteQuery(Stringsql){ try{ connect=DriverManager.getConnection(sConnStr,"sa","8888"); Statementstmt=connect.createStatement(); rs=stmt.executeQuery(sql); }catch(SQLExceptionex){ System.err.println(ex.getMessage()); } returnrs; } publicvoidexecuteUpdate(Stringsql) { Statementstmt=null; rs=null; try {connect=DriverManager.getConnection(sConnStr,"sa","8888"); stmt=connect.createStatement(); stmt.executeUpdate(sql); stmt.close(); connect.close(); } catch(SQLExceptionex) { System.err.println(ex.getMessage()); } }}4.3系統(tǒng)基本信界面設(shè)計輸入正確的用戶名和密碼后,即進入系統(tǒng)的主界面。系統(tǒng)的基本操作界面如圖4-1所示:圖4-1系統(tǒng)基本操作界面該界面是系統(tǒng)登陸后的第一個界面,也是系統(tǒng)操作的主界面,除了登錄模塊之外,其他后臺操作均在本平臺上進行,再次頁面可以找到所想要做的操作所在的模塊,可以對藥品、客戶、供應商進行操作。本界面是由一個框架組成,包括上左右三大塊。左邊是一個菜單列表,包括該系統(tǒng)所能進行的所有操作,單擊菜單時右邊顯示主模塊頁,顯示出所能進行的操作,非常簡單明了。4.4庫存添加界面(1)入庫記錄添加,和入庫記錄查詢界面如下:圖4-4入庫記錄添加界面圖4-5入庫記錄查詢界面當有新的產(chǎn)品進入到倉庫中被保存的時候進入入庫添加界面,藥品入庫的時候需要錄入藥品的詳細信息,藥品的編號、名稱、入庫數(shù)量、供應商等等詳細的信息,這樣方便以后的管理,輸入結(jié)束之后點擊提交,這樣藥品的信息會被放到數(shù)據(jù)庫中保存。當需要查詢倉庫內(nèi)現(xiàn)有的藥品或者查找某一個藥品時進入該頁面,在此頁面可以根據(jù)藥品的編號查找所要找的藥品以及藥品的詳細信息,省去了在大量藥品中查找的時間,快捷方便,只需要知道編號和名稱即可找到所想要查找的藥品。(2)銷售記錄添加,銷售記錄查詢界面如下:圖4-6銷售記錄添加界面當從該倉庫出庫藥品時需要經(jīng)過該頁面,需要記錄一下本次出庫藥品的詳細信息,藥品編號、藥品名稱庫存等等,每一次出庫藥品的時候都需要記錄這些信息以方便之后的藥品管理,見信息填寫完畢提交之后信息就會在數(shù)據(jù)庫中完整保存,這樣方便以后的查找。需要查詢每次藥品出庫的數(shù)量等信息時需要調(diào)用此出庫記錄查詢界面,在此界面可以根據(jù)某以藥品的編號以及名稱查詢到某一藥品出庫的詳細信息,包括數(shù)量、出庫時間等。方便對某一藥品作具體查詢。庫存查詢界面圖6-8庫存查詢界面此頁面為庫存查詢頁面,所提供的功能為查詢當前庫存的藥品及數(shù)量,也可以根據(jù)編號和名稱詳細查詢某一藥品的詳細庫存數(shù)量信息。4.5客戶管理(1)客戶添加圖4-9客戶添加界面隨著企業(yè)壯大,出現(xiàn)的新客戶會越來越多。當出現(xiàn)新客戶的時候進入該客戶添加界面對新出現(xiàn)的客戶進行信息登記,輸入客戶的編號、姓名、聯(lián)系方式等重要信息,以方便日后對客戶的管理。(2)客戶查詢圖6-10客戶查詢界面當客戶越來越多的時候難免要從眾多的客戶中尋找想要找的客戶,本模塊就是為了方便查找客戶而設(shè)計的,根據(jù)客戶添加信息時的編號、客戶姓名等可以準確找找客戶的詳細信息,也可以查看現(xiàn)有的全部客戶的信息。4.6藥品信息界面(1)藥品類別圖4-11藥品類別添加界面?zhèn)}庫中不會一直只存放一種類別的藥品,所以設(shè)計了藥品類別添加界面,此界面的功能只是添加新類別的產(chǎn)品,以方便日后同種類別的藥品的存放歸類,以避免倉庫內(nèi)藥品信息的過于雜亂。(2)藥品類別查詢圖6-12藥品類別查詢界面如若不確定莫以藥品類別倉庫內(nèi)是否存在則可通過該功能查詢倉庫內(nèi)的藥品類別以及某一編號對應的藥品類別,這樣可以方便新建藥品類別或者將某一藥品歸類,方便倉庫內(nèi)藥品的管理。藥品信息添加有新藥品入庫的時候需要調(diào)用該頁面,在本頁面輸入藥品的庫存編號、藥品名稱等將藥品信息添加完成后點擊提交將數(shù)據(jù)傳到后臺數(shù)據(jù)庫保存,以后調(diào)用的時候根據(jù)編號就可以從數(shù)據(jù)庫中將本次信息調(diào)用出來,方便操作員操作和庫存的管理。圖6-13藥品信息添加界面(4)藥品信息查詢圖6-14藥品信息查詢界面在眾多的倉庫鎖儲存的藥品中找到所想要查找的藥品就是本界面的設(shè)計理念,當庫存藥品越來越多藥品越來越復雜的時候本模塊就會顯示出優(yōu)越性,可以查詢出本倉庫鎖存儲的所有藥品,也可以根據(jù)編號具體查找所想要的具體的藥品的詳細信息。4.7供應商管理圖4-15供應商查詢界面?zhèn)}庫內(nèi)所儲存的藥品都是由供應商供給的,所以有必要登記供應商信息,每出現(xiàn)一個新的供應商的時候都會登記該供應商的詳細信息,然后保存到后臺數(shù)據(jù)庫中,當要查詢某一個供應商的信息的時候根據(jù)編號和供應商的名稱進行詳細查詢,查詢該供應商的詳細信息。4.8數(shù)據(jù)備份系統(tǒng)有很強的不穩(wěn)定性,該系統(tǒng)有可能會出現(xiàn)某些故障,電腦系統(tǒng)也有可能出現(xiàn)故障,所以當有新信息添加或者倉庫的進、銷、存相關(guān)操作進行過后要隨時做好數(shù)據(jù)備份,以便突然出現(xiàn)問題的時候可以找到數(shù)據(jù)的備份,避免對企業(yè)造成很嚴重的損失。
第五章系統(tǒng)的調(diào)試與測試5.1程序調(diào)試在設(shè)計系統(tǒng)的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時自動提示,并請求立即糾正,因此,這類錯誤比較容易發(fā)現(xiàn)和糾正。但另一類錯誤是在程序執(zhí)行時由于不正確的操作或?qū)δ承?shù)據(jù)的計算公式的邏輯錯誤導致的錯誤結(jié)果。這類錯誤隱蔽性強,有時會出現(xiàn),有時又不出現(xiàn),因此,對這一類動態(tài)發(fā)生的錯誤的排查是耗時費力的。5.2程序的測試5.2.1測試的重要性及目的測試的重要性:軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應包含測試,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導致最后成品測試的巨大困難。事實上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內(nèi),討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這包括:1.認為測試工作不如設(shè)計和編碼那樣容易取得進展難以給測試人員某種成就感;2.以發(fā)現(xiàn)軟件錯誤為目標的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責任者工作的一種否定;3.測試工作枯燥無味,不能引起人們的興趣;4.測試工作是艱苦而細致的工作;5.對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。這些觀點對軟件測試工作是極為不利的,必須澄清認識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。測試的目的:如果測試的目的是為了盡可能多地找出錯誤,那么測試就應該直接針對軟件比較復雜的部分或是以前出錯比較多的位置。1.軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;2.測試是為了證明程序有錯,而不是證明程序無錯誤;3.一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;4.一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導,認為發(fā)現(xiàn)錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。5.2.2測試的步驟與開發(fā)過程類似,測試過程也必須分步驟進行,每個步驟在邏輯上是前一個步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由若干個模塊組成。因此,大型軟件系統(tǒng)的測試基本上由下述幾個步驟組成:1.模塊測試:在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細設(shè)計的錯誤。2.系統(tǒng)測試:在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。3.驗收測試:在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。5.2.3測試的主要內(nèi)容為了保證測試的質(zhì)量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試、確認測試和系統(tǒng)測試。1.單元測試單元測試集中在檢查軟件設(shè)計的最小單位—模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。2.集成測試集成測試是將模塊按照設(shè)計要求組裝起來同時進行測試,主要目標是發(fā)現(xiàn)與接口有關(guān)的問題。如一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯誤等。3.確認測試確認測試的目的是向未來的用戶表明系統(tǒng)能夠像預定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應該進一步驗證軟件的有效性,這就是確認測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。4.系統(tǒng)測試軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運行,進行系統(tǒng)測試。包括恢復測試、安全測試、強度測試和性能測試等。單獨對系統(tǒng)的測試主要從以下幾方面入手:1.功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標準。2.強度測試及性能測試:測試系統(tǒng)能力最高實際限度,即軟件在一些超負荷情況下功能實現(xiàn)的情況。3.安全測試:驗證安裝在系統(tǒng)內(nèi)的保護機構(gòu)確實能夠?qū)ο到y(tǒng)進行保護,使之不受各種非常的干擾。針對本系統(tǒng)主要是對權(quán)限系統(tǒng)的測試和對無效數(shù)據(jù)、錯數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測試。經(jīng)過上述的測試過程對軟件進行測試后,軟件基本滿足開發(fā)的要求,測試宣告結(jié)束。
結(jié)論幾個月來忙碌緊張而又有條不紊的畢業(yè)設(shè)計,使我有機會對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年經(jīng)濟師考試財經(jīng)知識試題及答案
- 2022年全國中學生數(shù)學奧林匹克競賽(預賽)暨2022年全國高中數(shù)學聯(lián)合競賽一試(A卷)參考答案及評分標準
- 快遞合作協(xié)議和勞動合同
- 橡膠輸送帶合同協(xié)議
- 商場進場裝修協(xié)議書范本
- 正骨專家簽合同協(xié)議
- 商務(wù)禮儀培訓合同協(xié)議
- 微電影廣告制作合同協(xié)議
- 2025年請教下亞馬遜銷售培訓生的待遇合同及職業(yè)發(fā)展前景
- 2025授權(quán)合同范本:國際專利許可協(xié)議
- 2024-2030年中國順式1,4-丁烯二醇行業(yè)市場競爭態(tài)勢及未來趨勢研判報告
- 第7課 珍視親情 學會感恩(教案)-【中職專用】高一思想政治《心理健康與職業(yè)生涯》(高教版2023·基礎(chǔ)模塊)
- 2024年度幼小銜接全套數(shù)學課件
- MOOC 老子的人生智慧-東北大學 中國大學慕課答案
- (正式版)QBT 5985-2024 綠色設(shè)計產(chǎn)品評價技術(shù)規(guī)范 工業(yè)衡器
- MOOC 動物學-華中農(nóng)業(yè)大學 中國大學慕課答案
- (2024年)中華人民共和國環(huán)境保護法全
- 凈水設(shè)備驗收方案
- 材料科技有限公司年產(chǎn)12500噸電子冷卻液項目環(huán)評可研資料環(huán)境影響
- 貝雕工藝材料
- 轉(zhuǎn)轉(zhuǎn)的驗機報告
評論
0/150
提交評論