【正文】
經(jīng)常提出一。在設(shè)計(jì)過(guò)程中,我從于常梅老師身上學(xué)到了很多東西。參考文獻(xiàn)[1] 楊學(xué)全. Visual C .NET Web ,.[2] 陳明. 軟件工程實(shí)用教程. 電子工業(yè)出版社,2022,1.[3] 楊文龍. : 高等教育出版社 .[4] 王立峰,延偉東,: 清華大學(xué)出版社,2022.[5] :中央廣播電視大學(xué)出版社,2022.[6] [D]. 上海:海事大學(xué),.[7] [J].中國(guó)計(jì)算機(jī)報(bào),:3233.[8] 趙克佳,沈志宇 ,趙慧. UNIX 程序設(shè)計(jì)教程[M].北京: 清華大學(xué)出版社,.[9] 陳紹英,戴金龍 .軟件測(cè)試案例分析[J].:2325.致 謝本論文是在于常梅老師的指導(dǎo)下修改完成的。另外本系統(tǒng)在安全方面考慮的也比較完善,只有管理員才可以對(duì)藥品的各種功能進(jìn)行操作,普通用戶只能進(jìn)行查詢還可以進(jìn)行改進(jìn)和擴(kuò)展,可以有匯總、自檢、調(diào)配等功能。入庫(kù)和出庫(kù)都要先生成入、出表單,只有確認(rèn)的話才可以對(duì)藥品進(jìn)行入庫(kù)或出庫(kù),這樣做的好處是可以避免信息輸入錯(cuò)誤而無(wú)法修改或刪除。本系統(tǒng)所完成的功能包括供操作人員管理、藥品基本信息管理、入庫(kù)管理、出庫(kù)管理、庫(kù)存管理、藥品有效期管理和查詢。 結(jié)論:測(cè)試成功。 操作:用戶退出系統(tǒng)。 結(jié)論:測(cè)試成功。 操作:輸入新密碼,修改密碼。 結(jié)論:測(cè)試成功。 操作:輸入要?jiǎng)h除用戶的名字。 結(jié)論:測(cè)試成功。 結(jié)論:測(cè)試成功。 結(jié)論:測(cè)試成功。 結(jié)論:測(cè)試成功。結(jié)論:測(cè)試成功。 測(cè)試結(jié)果(1)登錄信息判斷測(cè)試內(nèi)容:判斷登錄是否成功操作:用戶將自己的用戶名與密碼輸入到登錄界面。 表 醫(yī)院藥房管理系統(tǒng)路經(jīng)測(cè)試的主要路徑測(cè)試用例 真 假 執(zhí)行路徑1 登錄信息是否正確1 . 1 . 是否添加藥品信息1 1 是否刪除藥品信息1 . 1 . 是否查看藥品信息1 1 信息 1 . . 1 在 1 1 信息是否存在 1 1 信息是否符合 1 1 . 藥品信息是否存在1 . 表 介紹了系統(tǒng)每個(gè)操作的主要路徑,隨著用戶執(zhí)行不同的操作,所經(jīng)過(guò)的路徑也是不同的,在路徑測(cè)試中,是根據(jù)系統(tǒng)中的每個(gè)判斷來(lái)決定路徑的不同。 系統(tǒng)測(cè)試在這里醫(yī)院藥房管理系統(tǒng)采用的是白盒測(cè)試中的路徑測(cè)試。根據(jù)軟件的需求規(guī)格說(shuō)明書(shū)設(shè)計(jì)測(cè)試用例,從程序的輸入和輸出特性上測(cè)試是否滿足設(shè)定的功能。白盒測(cè)試:也稱結(jié)構(gòu)測(cè)試,將軟件看成一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來(lái)選定測(cè)試用例,對(duì)軟件的邏輯路徑及過(guò)程進(jìn)行測(cè)試,檢查它與設(shè)計(jì)是否相符。目前軟件測(cè)試仍然是保證軟件質(zhì)量的關(guān)鍵步驟,它是對(duì)軟件規(guī)格說(shuō)明、設(shè)計(jì)和編碼的最后復(fù)審。編程人員力求在每個(gè)階段結(jié)束之前通過(guò)嚴(yán)格的技術(shù)審查,盡可能早的發(fā)現(xiàn)并糾正錯(cuò)誤。一般來(lái)說(shuō),系統(tǒng)測(cè)試是功能性測(cè)試,不是結(jié)構(gòu)性測(cè)試。(2) 集成測(cè)試 在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是概要設(shè)計(jì)的錯(cuò)誤。因此,大型軟件系統(tǒng)的測(cè)試的基本層次,如圖 所示:需求分析說(shuō)明書(shū)概要設(shè)計(jì)說(shuō)明書(shū)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)源程序代碼單元測(cè)試 集成測(cè)試 確認(rèn)測(cè)試圖 測(cè)試的基本層次(1) 單元測(cè)試單元測(cè)試的用例從單元詳細(xì)設(shè)計(jì)中導(dǎo)出。與開(kāi)發(fā)過(guò)程類似,測(cè)試過(guò)程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟地繼續(xù)。這些部分主要是藥房信息部分。首先,用戶進(jìn)入登錄狀態(tài),前提是要輸入用戶信息,在登錄成功后進(jìn)入系統(tǒng)主界面,這時(shí)根據(jù)用戶所選擇的操作,系統(tǒng)轉(zhuǎn)變到不同的狀態(tài),在整個(gè)系統(tǒng)中,系統(tǒng)狀態(tài)大致分登錄狀態(tài)、查看系統(tǒng)信息狀態(tài)、查詢藥品信息狀態(tài)、藥品信息管理狀態(tài)以及退出狀態(tài)。 系統(tǒng)狀態(tài)圖錯(cuò)誤!未指定主題。 用戶登錄系統(tǒng)類圖+ I D : i n t+ n a m e : s t r i n g+ p a s s W o r d : s t r i n g+ E m a i l : s t r i n g用 戶登 錄 子 界 面系 統(tǒng) 數(shù) 據(jù) 庫(kù)+ I D : i n t+ N a m e : s t r i n g+ p a s s W o r d : s t r i n g+ p o s i t i o n : s t r i n g操 作 記 錄 表[ 進(jìn)入 ] [ 檢測(cè) I D 與密碼 ] [ 生成一條操作記錄 ] 主 界 面[ 進(jìn)入 ] 用戶登錄類圖圖 為用戶登錄的類圖,從圖中可以看出用戶登錄時(shí)會(huì)使用到登錄類來(lái)進(jìn)行數(shù)據(jù)連接。如果要查看藥品信息需要進(jìn)行搜索,可以根據(jù)藥品的特性來(lái)進(jìn)行模糊查找。 系統(tǒng)的流程圖開(kāi)始信息是否正確 ?管理員頁(yè)面增加藥品信息是刪除藥品信息查看用戶基本信息查看藥品信息是否符合 ?是是否符合 ?否是是否存在 ?是否藥品信息存在 ?是否否登錄賬號(hào)和密碼輸入要增加的藥品信息輸入要?jiǎng)h除的藥品信息輸入用戶名輸入要查找藥品信息添加成功 !刪除成功 !顯示用戶基本信息顯示該藥品信息信息結(jié)束是否增加藥品信息 ?是否刪除藥品信息 ?是否查看藥品信息 ?是否查看用戶基本信息 ?是否否否否否是是是圖 醫(yī)院藥房管理系統(tǒng)流程圖如圖 所示,用戶進(jìn)入系統(tǒng)時(shí),需要通過(guò)帳號(hào)和密碼來(lái)進(jìn)行身份驗(yàn)證,判斷該用戶登錄是否合法,如果存在此用戶進(jìn)入管理員管理界面,根據(jù)管理員執(zhí)行的操作來(lái)判斷執(zhí)行的程序,如果要添加藥品,需要輸入藥品的必要信息看是否符合存檔要求,系統(tǒng)進(jìn)行判斷是否添加成功。(3)查找藥品圖 醫(yī)院藥房管理系統(tǒng)查找藥品界面圖 為醫(yī)院藥房管理系統(tǒng)查找藥品界面,要對(duì)藥品進(jìn)行添加和刪除時(shí),必不可少的就是查找,由于藥品的數(shù)量、種類過(guò)多,要對(duì)一個(gè)藥品的信息進(jìn)行修改,就會(huì)為了方便快速起見(jiàn)添加查找藥品模塊,如果查找不成功,系統(tǒng)會(huì)提示不存在該藥品,否則會(huì)顯示該藥品的詳細(xì)信息。(1)添加藥品 醫(yī)院藥房管理系統(tǒng)添加藥品界面圖 為醫(yī)院藥房管理系統(tǒng)添加藥品界面,管理員為了維護(hù)藥品信息,根據(jù)系統(tǒng)對(duì)存儲(chǔ)藥品定時(shí)的自檢所提示的信息,管理員會(huì)做出相對(duì)應(yīng)的操作,如添加藥品就是其中之一的一個(gè)功能,來(lái)及時(shí)滿足患者的病情需要。在實(shí)現(xiàn)查詢用戶模塊時(shí),只記錄了要查詢用戶的名字信息,在控件中添加的 SQL 語(yǔ)句,讓系統(tǒng)直接生成代碼,方便了程序的編寫(xiě)。如果查找不成功,系統(tǒng)會(huì)提示不存在該用戶,否則會(huì)顯示該用戶的詳細(xì)信息,讓管理員進(jìn)行詳細(xì)的操作。代碼也和添加用戶相近,不同的就是 sql 語(yǔ)句會(huì)不同。 }(2)刪除用戶由于開(kāi)藥處的人員調(diào)整,很有可能增加人員或減少人員,這里就編寫(xiě)了一個(gè)添加用戶的模塊。 int result = (dbComand)。 (dbComand, userPosition, , userPosition)。 (dbComand, userName, , userName)。 string sql = insert into UserInfo(userName,userPW,userPosition,userEmail)Values(userName,userPW,userPosition,userEmail)。 用戶管理(1)添加用戶由于開(kāi)藥處的人員調(diào)整,很有可能增加人員或減少人員,這里就編寫(xiě)了一個(gè)添加用戶的模塊。這時(shí)系統(tǒng)將釋放用戶在系統(tǒng)中的緩存。 } return userPW。 using (IDataReader dr = (dbCommand)) { while (()) { userPW = dr[userPW].ToString()。 DbCommand dbCommand = (sql)。 Database db = (PMSDSN)。 } return userID。 using (IDataReader dr = (dbCommand)) { while (()) { userID = (dr[userID].ToString())。 DbCommand dbCommand = (sql)。 Database db = (PMSDSN)。用戶身份不對(duì)者將不能進(jìn)入系統(tǒng)進(jìn)行操作。詳細(xì)代碼見(jiàn)附錄。(11)完成安裝。單擊“下一步” 。默認(rèn)情況下,將打開(kāi)錯(cuò)誤報(bào)告。單擊“下一步” 。(8)在“身份驗(yàn)證模式”頁(yè)上,指定連接到 SQL Server 實(shí)例時(shí)使用的安全模式。如果選擇“命名實(shí)例” ,則指定一個(gè)實(shí)例名或使用 SQLExpress 的默認(rèn)命名實(shí)例。(7)在“實(shí)例名”頁(yè)上,選擇用于安裝的“默認(rèn)實(shí)例”或“命名實(shí)例” 。單擊“下一步” 。若要在掃描完成后繼續(xù)進(jìn)行安裝,請(qǐng)單擊“繼續(xù)” 。(4)在“系統(tǒng)配置檢查”頁(yè)上,會(huì)掃描計(jì)算機(jī)以查看有無(wú)潛在的安裝問(wèn)題。(3)將出現(xiàn)“歡迎使用 Microsoft SQL Server 安裝向?qū)А表?yè)。(2)在“最終用戶許可協(xié)議”頁(yè)上,閱讀許可協(xié)議,再選中“我接受許可條款和條件”復(fù)選框。SQL Server Express 是低端 ISV、低端服務(wù)器用戶、創(chuàng)建 Web 應(yīng)用程序的非專業(yè)開(kāi)發(fā)人員以及創(chuàng)建客戶端應(yīng)用程序的編程愛(ài)好者的理想選擇。SQL Server Express 與 Microsoft Visual Studio 2022 集成在一起,可以輕松開(kāi)發(fā)功能豐富、存儲(chǔ)安全、可快速部署的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序。本次開(kāi)發(fā)使用的是 Express 版。 Microsoft SQL Server 2022SQL Server 2022 除了繼承了 SQL Server 2022 數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)外,還持續(xù)在性能、可靠性、可用性、可編程性和易使用性各方面做了改進(jìn),使得它適合于大型在線事務(wù)處理(OLTP) 、數(shù)據(jù)存儲(chǔ)和電子商務(wù)應(yīng)用程序的使用。你必須人為地將它們復(fù)制到程序的 Bin 路徑??偠灾?dāng)部屬程序時(shí),你必須考慮到以下幾點(diǎn):如果企業(yè)庫(kù) dll 文件沒(méi)有存儲(chǔ)在 GAC 中,那么它們已經(jīng)分布在程序的 bin 路徑。如果你實(shí)在需要多種程序,你可以使用一個(gè)具有特征意義的名稱給程序集命名。這可以簡(jiǎn)化配置過(guò)程,因?yàn)榭梢酝ㄟ^(guò)復(fù)制命令安裝所有程序,包括程序集。由企業(yè)庫(kù)源代碼編譯生成的程序集并非為強(qiáng)命名(Strong Named),所以程序集將無(wú)法安裝在全局程序集緩沖區(qū) GAC(Global Assembly Cache),而且也沒(méi)有強(qiáng)命名程序集的相關(guān)功能。程序模塊在 XML 配置文件中保存相關(guān)數(shù)據(jù),這些 XML 文件包括 (Web程序) 或者 (桌面程序)。這一菜單能夠訪問(wèn)每一程序塊以及 QuickStart。缺省安裝路徑為:c:Program FilesMicrosoft Enterprise Library,并且 Windows 的程序菜單將增加 Microsoft patterns amp。 企業(yè)庫(kù)一旦下載并安裝企業(yè)庫(kù),你的機(jī)器上已經(jīng)擁有了一套全新的工具。6) 最終安裝程序自動(dòng)生成一個(gè)安裝報(bào)告。4) 單擊【下一步 】 ,在【 選擇要安裝的功能】中選擇要安裝的功能。2) 單擊【安裝 Visual Studio 2022】按鈕,彈出【歡迎使用 Microsoft Visual Studio 2022 安裝向?qū)А拷缑?,此向?qū)?huì)引導(dǎo)完成程序和全部組件的安裝?!icrosoft Visual Studio 20221)裝入安裝光盤(pán),安裝程序會(huì)自動(dòng)彈出安裝界面。5) 按照系統(tǒng)給定的提示,進(jìn)行 IIS 的安裝。2) 在【添加或刪除程序 】 窗口左邊單擊【添加/刪除 Windows 組件】按鈕3) 系統(tǒng)會(huì)啟動(dòng) 【W(wǎng)indows 組件】對(duì)話框,在組件列表中勾選“Inter 信息服務(wù)(IIS) ”復(fù)選框,單擊【下一步】按鈕。在這里主要是用控件 GridView 來(lái)訪問(wèn)、顯示數(shù)據(jù)庫(kù),根據(jù)不同的操作, sql 語(yǔ)句也相應(yīng)的不同,這就實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的實(shí)現(xiàn)。藥品表中設(shè)有 ID、名稱、功能、廠商、價(jià)格、種類、備注和庫(kù)存等屬性,ID 值設(shè)為主鍵,不可以為空,名稱與不許為空,ID、庫(kù)存的數(shù)據(jù)類型設(shè)為 int 型,名稱、功能、廠商、種類、備注設(shè)為 nvarchar(50)型,價(jià)格設(shè)為 float 型。用戶表里設(shè)有用戶的 ID、姓名、密碼、Email 等屬性。而操作人員只能對(duì)進(jìn)行藥品的提取設(shè)定。 系統(tǒng)流程圖根據(jù)需求分析,整個(gè)系統(tǒng)的流程如圖 所示:系統(tǒng)搜索藥品是否刪除或進(jìn)貨提取藥品檢索藥品信息修改藥品信息是否有藥品過(guò)期或庫(kù)存不足 保存藥品信息藥品信息更新圖 醫(yī)院藥房管理系統(tǒng)流程圖在系統(tǒng)啟動(dòng)時(shí),系統(tǒng)本身先要檢索藥品信息,判斷是否有需要更新的信息,如果有,就要對(duì)管理員進(jìn)行提示,在系統(tǒng)設(shè)計(jì)時(shí)就要對(duì)藥品的數(shù)量和有效期進(jìn)行下限的設(shè)定,這樣就可以提供一個(gè)標(biāo)準(zhǔn)來(lái)對(duì)藥房