已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1 摘摘 要要 隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實 施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,企業(yè) 要生存要發(fā)展,要高效率地把企業(yè)活動有機地組織起來,就必須加強企業(yè) 管理,即加強對企業(yè)內(nèi)部的各種資源(人、財、物等)的有效管理,建立 與自身特點相適應(yīng)的管理信息系統(tǒng)。 本文介紹了在 powerbuider 環(huán)境下采用“自上而下地總體規(guī)劃,自下 而上地應(yīng)用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)的過程。通過分析傳統(tǒng)的 人工管理圖書館的不足,創(chuàng)建了一套行之有效的計算機管理圖書館的方案。 文章詳細介紹了圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、組 織機構(gòu)分析、管理職能分析、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典、 處理描述等等;系統(tǒng)設(shè)計部分主要介紹了系統(tǒng)功能設(shè)計和數(shù)據(jù)庫設(shè)計;系 統(tǒng)實現(xiàn)部分列出了幾個主要的程序框圖,并附帶了一些主要的窗口和程序。 本系統(tǒng)界面友好,操作簡單,比較實用。 【關(guān)鍵字關(guān)鍵字】管理信息系統(tǒng)、圖書管理、powerbuider 應(yīng)用。 2 abstract with more and more widespread and profound application of information technology in management, the implement of management information system has become mature in technology step by step. managing information system is a new subject. enterprise needs existence and development, so enterprise activities should be organized efficiently and organically, which means tightening up the enterprise management and strengthening effective management of any resource (staff, finance, property, etc.) internal the enterprise, and also establishing a management information system fitting in with its own characteristics. this article introduces the detailed process of exploring a management information system under the environment of powerbuilder, utilizing “top- bottom” overall plan and a strategy according to “bottom-top” application and exploitation. that is to establish a set of effective scheme for library management by computer, through analyzing disadvantages of traditional library management by human resources. this article emphasizes on three sections. the system analysis section of library management information includes feasible analysis, organizing organs analysis, management function analysis, technological process of business analysis, technological process of data analysis, data dictionary, disposal description and the like. the system design section mainly focuses on system function design and data base design. and the system realization section has provided several major program charts, together with the main windows and programs. this economical and pragmatic system has explicit interface, with simple operation. keywords mis、library management、powerbuilder application 3 目目 錄錄 一一 前前 言言.1 1 mis 系統(tǒng)開發(fā)方法1 2 mis 系統(tǒng)開發(fā)過程2 二二 系統(tǒng)需求分析系統(tǒng)需求分析.4 1 現(xiàn)行業(yè)務(wù)描述4 2 現(xiàn)行系統(tǒng)存在問題的分析5 3 解決方案6 1 系統(tǒng)目標設(shè)計7 2 系統(tǒng)功能分析8 3 系統(tǒng)各功能模塊設(shè)計8 4 數(shù)據(jù)流圖9 1 數(shù)據(jù)庫需求分析13 2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計14 1 powerbuilder開發(fā)工具簡介.20 2 powerbuilder 8 應(yīng)用程序開發(fā)的基本步驟20 3 編碼規(guī)范21 4 創(chuàng)建祖先窗口和全局函數(shù)21 5 應(yīng)用程序?qū)ο?app_librarain.24 7 補充說明48 七七 結(jié)束語結(jié)束語.49 1 一一 前前 言言 隨著人類社會的發(fā)展,人類對知識的需求也不斷地增長。在這種形勢 下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然 而然地在人們的生活中占據(jù)了一定的位置,如何科學(xué)地管理圖書館不但關(guān) 系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善 的圖書館管理系統(tǒng)就必不可少了。 管理信息系統(tǒng)(簡稱 mis)是介于信息論,經(jīng)濟管理理論,統(tǒng)計學(xué)與運 籌學(xué)及計算機科學(xué)之間的一門邊緣性,綜合性,系統(tǒng)性的交叉科學(xué),它是 隨著管理科學(xué),信息技術(shù),計算機技術(shù)等的發(fā)展而產(chǎn)生和發(fā)展起來的。 圖書館管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的 建立和維護以及前端的應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立數(shù)據(jù) 的一致性和完整性,對于后者則要求應(yīng)用程序功能的完備,易用等的特點。 基于上述考慮本系統(tǒng)主要利用 powerbuilder 8 作前端的應(yīng)用開發(fā)工具 , 利用 adaptive server anywhere 7 作為后臺的數(shù)據(jù)庫,利用 windows 作 為系統(tǒng)平臺開發(fā)的圖書管理系統(tǒng)。另外本圖書館管理系統(tǒng)利用軟件工程化 思想和方法,總體上是采用結(jié)構(gòu)化生命法進行系統(tǒng)分析和設(shè)計的,而系統(tǒng) 實現(xiàn)等步驟則采用了原型法和面對對象的方法。 1 mis 系統(tǒng)開發(fā)方法系統(tǒng)開發(fā)方法 管理信息系統(tǒng)的開發(fā)方法有生命周期法、原型法和面向?qū)ο蟮拈_發(fā)方法等: 生命周期法(life cycle method)是 20 世紀 60 年代發(fā)展起來的一種應(yīng)用廣泛 且比較成熟的管理系統(tǒng)開發(fā)方法,它的基本思想是將系統(tǒng)的開發(fā)工作從開始到結(jié)束 劃分為若干個階段,每個階段都有明確的任務(wù),而系統(tǒng)開發(fā)出來后,并不意味著生 2 命周期的結(jié)束,而意味著根據(jù)組織的需要對系統(tǒng)的修改和重建的開始。 原型法(prototyping method)是 20 世紀 80 年代發(fā)展起來的,旨在改變生命周 期法的缺點的一種系統(tǒng)開發(fā)方法,該法的開發(fā)思路是首先根據(jù)用戶的要求,由用戶 和開發(fā)者共同確定系統(tǒng)的基本要求和主要功能,利用系統(tǒng)快速生成工具,建立一個 系統(tǒng)模型,再在此基礎(chǔ)上與用戶交流,將模型不斷補充、修改、完善,如此反復(fù), 最終直至用戶和開發(fā)者都比較滿意為止,從而形成一個相對穩(wěn)定、較為理想的管理 信息系統(tǒng)。 面向?qū)ο螅╫bject oriented)的開發(fā)方法于 20 世紀 80 年代開始興起的,是一 種基于問題對象的自底向上的一種系統(tǒng)開發(fā)方法,這種方法的特點是以對象為基礎(chǔ), 對象是分析問題和解決問題的核心。 2 mis 系統(tǒng)開發(fā)過程系統(tǒng)開發(fā)過程 一個 mis 系統(tǒng)的開發(fā)過程一般包括如下幾個步驟: (1)需求分析:需求分析主要是了解用戶的需求。需求了解得越詳細, 程序的后期開發(fā)與維護費用就會越少。一般的開發(fā)團隊中,需求分析都是 由資歷較深的系統(tǒng)分析員或項目經(jīng)理擔(dān)當,可見它的重要性。需求分析制 訂好后,需要反復(fù)修改。將最后的結(jié)果交給用戶審定,確認無誤后,由系 統(tǒng)分析員完成需求分析文檔,再開始下一步工作。 (2)概要設(shè)計:概要設(shè)計緊跟在需求分析之后。用戶需求明確后,將得 到的數(shù)據(jù)分析后,開始構(gòu)建數(shù)據(jù)庫的邏輯結(jié)構(gòu)。此時,數(shù)據(jù)庫中的表格還 未成形,通過各種分析工具(如 powerdesigner 等)畫出數(shù)據(jù)流圖,最后 就可抽象出數(shù)據(jù)庫的具體表結(jié)構(gòu)。這時由系統(tǒng)分析人員反復(fù)審核。確認所 有的需求都考慮在內(nèi),沒有遺漏后,就可以開始制訂概要設(shè)計文檔。概要 設(shè)計文檔形成后,整個程序的邏輯框架也就形成了。 (3)詳細設(shè)計:概要設(shè)計完成后,根據(jù)設(shè)計中制訂的業(yè)務(wù)模塊。就可以 進行詳細分析設(shè)計了。詳細設(shè)計就是將各個業(yè)務(wù)模塊的窗口全部建好,各 3 個窗口控件的處理代碼全部用語言表達出。所以詳細設(shè)計是整個系統(tǒng)中最 繁瑣的環(huán)節(jié)。詳細設(shè)計完成后,整個程序就確定了,再由編程人員根據(jù)詳 細設(shè)計文檔將代碼完成。整個開發(fā)工作就宣告結(jié)束。 1) 程序編碼:程序編碼相對于其他環(huán)節(jié)來說比較簡單,程序員只需要根 據(jù)詳細分析文檔寫程序編碼,保證代碼沒有錯誤即可。程序編碼需要 注意的是整個程序書寫中命名的規(guī)范化與編程風(fēng)格的規(guī)范化,這需要 較長時間的培養(yǎng)來形成。需要在不斷的實踐中形成自己獨特的風(fēng)格。 總的來說,不要過分地追求復(fù)雜的算法,因為那可能會導(dǎo)致后期維護 人員無法讀懂你的代碼而造成維護的困難。 (4)測試:程序編碼完成后,就需要測試。測試有幾種類型,主要是測 試代碼有無邏輯錯誤以及在加載數(shù)據(jù)環(huán)境下程序的穩(wěn)定性問題。測試工作 中發(fā)現(xiàn)的錯誤應(yīng)及時改正,然后將它記錄到測試文檔中。 (5)打包:測試完成,確認無誤后。程序就可以打包發(fā)行了。打包一般 使用工具如 pwise 等。 以上是一個完整的 mis 系統(tǒng)開發(fā)過程,其實不僅 mis 系統(tǒng),其他類型 的程序開發(fā)也基本相同。 4 二二 系統(tǒng)需求分析系統(tǒng)需求分析 整個軟件生命周期中,開發(fā)所占的費用和時間都很小。后期維護工作 一般要占整個軟件生命周期的 80% 以上。所以系統(tǒng)分析很重要,一個好 的系統(tǒng)分析可以減少很多后期維護工作。 1 1 現(xiàn)行業(yè)務(wù)描述現(xiàn)行業(yè)務(wù)描述 下面以一所學(xué)校的圖書館為例子進行分析,畫出圖書館的組織結(jié)構(gòu)圖如下: 圖 2.1 該圖書館各個部門負責(zé)的主要業(yè)務(wù)如下: (1)采編組主要負責(zé)圖書采編工作,包括購置新書、打印編目、增加 數(shù)量。 (2)目錄廳主要負責(zé)讀者查詢工作,包括可借圖書(按圖書類別、圖 書名稱或圖書作者查詢) ;新書目錄(按圖書類別、日期查詢) 。 (3)借閱組主要負責(zé)圖書流通、查詢統(tǒng)計、借閱查詢等工作。 (4)閱覽室、工具書室主要負責(zé)讀者閱覽工作,包括:閱覽各種雜志、 館 長 采 編 組 書 庫 閱 覽 室 工 具 書 室 目 錄 廳 借 閱 室 5 報紙、閱覽各種工具書。 下面繪制出圖書館流通業(yè)務(wù)中借書的流程圖: (1)讀者在目錄廳查閱索引卡; (2)讀者寫出所借圖書的分類號、種次號、交給圖書管理員,并出示 本人的借書證; (3)圖書管理員根據(jù)圖書的分類號、種次號到書庫找書; (4)將圖書交給讀者,并由讀者填寫所借圖書的借書卡。 (5)圖書管理員把借書卡保存到寫有該讀者借書證號的口袋里。 得出該圖書館業(yè)務(wù)流程圖如下所示: 圖 2.2 2 2 現(xiàn)行系統(tǒng)存在問題的分析現(xiàn)行系統(tǒng)存在問題的分析 該圖書館工作大部分還是進行著手工管理,工作起來效率很低,由于 不可避免的人為因素,經(jīng)常造成數(shù)據(jù)的遺漏、誤報。計算機信息化管理有 著儲存信息量大、速度快等許多優(yōu)點,提供給我們的處理信息及時快捷, 6 同時也提高了我們工作人員的自身素質(zhì)。 3 3 解決方案解決方案 基于以上的對問題的分析,利用計算機給我們提供信息,及時地調(diào)整 學(xué)校圖書館圖書結(jié)構(gòu),并且對學(xué)生們的借閱過程形成一整套動態(tài)的管理就 十分必要了。 圖書館信息系統(tǒng)的建立,需要進行用戶的需求調(diào)查與分析,以確定 系統(tǒng)目標,提出解決 問題的詳細方案,這是系統(tǒng)建設(shè)的重要環(huán)節(jié)。 學(xué)校圖書館規(guī)模相對于商業(yè)圖書館小,但要有著完善的圖書信息,對 每一冊書要有詳細的記錄信息,功能上對系統(tǒng)的需求是全面的。因此對用 戶的需求可分為四個方面:一方面是圖書館工作人員通過計算機來管理各 類圖書,分類編號,調(diào)整圖書結(jié)構(gòu),增加圖書庫存,適應(yīng)學(xué)生的需求;二 方面是學(xué)生們能通過計算機來查詢?yōu)g覽圖書館中的圖書,來確定自己需要 的書籍,為借閱做好準備;三方面是工作人員對學(xué)生們的借書證發(fā)放;四 方面也是圖書館的核心工作,對圖書的借閱管理。 這四個方面形成了學(xué)校圖書館一個工作整體,采用計算機自動化信息 處理,可方便快捷地共享信息、交流信息,高效地協(xié)同工作。 在軟、硬件方面對系統(tǒng)的需求,軟件要求易學(xué),界面友好,容易掌握, 可以很簡單方便的管理各種圖書信息。硬件的配置要求不能太高,這樣可 以很好的適應(yīng)當前的學(xué)校圖書館。 在開發(fā)方式上對系統(tǒng)的需求,由于學(xué)校圖書館是一種無商業(yè)利益的,所以 系統(tǒng)設(shè)計開發(fā)的周期要短,在短時間內(nèi)完成,減少開發(fā)成本,提高開發(fā)效 率,方便、簡單、實用作為系統(tǒng)開發(fā)的指導(dǎo)思想。 7 三三 系統(tǒng)總體結(jié)構(gòu)設(shè)計系統(tǒng)總體結(jié)構(gòu)設(shè)計 如果要完成一個完整的圖書管理系統(tǒng),需要的相關(guān)信息很多。由于種 種條件的限制,同時考慮到開發(fā)成本,所以本系統(tǒng)僅實現(xiàn)基本的管理功能。 并不能完全滿足上面例子所描述的圖書館,使用前應(yīng)進行二次開發(fā)。 1 1 系統(tǒng)目標設(shè)計系統(tǒng)目標設(shè)計 系統(tǒng)開發(fā)的總目標是實現(xiàn)內(nèi)部圖書借閱管理的系統(tǒng)化、規(guī)范化和自動 化。 能夠?qū)D書進行注冊登記,也就是將圖書的基本信息(如:書名、作 者、價格等)預(yù)先存入數(shù)據(jù)庫中,供以后檢索。 能夠?qū)栝喨诉M行注冊登記,包括記錄借閱人的姓名、地址、電話等 信息。 提供方便的查詢方法。如:以書名、作者、出版社、出版時間(確切 的時間、時間段、某一時間之前、某一時間之后)等信息進行圖書檢索, 并能反映出圖書的借閱情況;以借閱人編號對借閱人信息進行檢索;以出 版社名稱查詢出版社聯(lián)系方式信息。 提供統(tǒng)計分析功能。可以展現(xiàn)出圖書類型比例、庫存與借出比例。 提供舊書銷毀功能,對于淘汰、損壞、丟失的書目可及時對數(shù)據(jù)庫進 行修改。 能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶進行管理,按照不同的工作職能提供不 同的功能授權(quán)。 提供較為完善的差錯控制與友好的用戶界面,盡量避免誤操作。 8 2 2 系統(tǒng)功能分析系統(tǒng)功能分析 根據(jù)以上功能,將圖書管理系統(tǒng)的數(shù)據(jù)分為: 數(shù)據(jù)輸入部分:主要包括圖書基本信息的錄入、借閱人基本信息的錄 入、用戶基本信息的錄入。 數(shù)據(jù)輸出部分:主要是各種統(tǒng)計查詢,包括:根據(jù)圖書信息(如書名、 作者、出版社等)查閱圖書及其借閱信息、統(tǒng)計輸出 圖書類型比例等。 數(shù)據(jù)處理部分:主要涉及借閱和歸還的處理,如一本書借出后,必須 在數(shù)據(jù)庫中將該書標記為已借出,以防出現(xiàn)數(shù)據(jù)庫中 有書但圖書館無書的情況;一本書歸還后,同樣必須 在數(shù)據(jù)庫中將其標記為已經(jīng)歸還,以便再次借出。 3 3 系統(tǒng)各功能模塊設(shè)計系統(tǒng)各功能模塊設(shè)計 在系統(tǒng)功能分析的基礎(chǔ)上,考慮 powerbuilder 程序編制的特點,得 到如圖所示的系統(tǒng)功能模塊圖: 圖 3.1 圖書借閱管理系統(tǒng) 數(shù) 據(jù) 輸 入 子 系 統(tǒng) 數(shù) 據(jù) 輸 出 子 系 統(tǒng) 數(shù) 據(jù) 管 理 子 系 統(tǒng) 9 4 4 數(shù)據(jù)流圖數(shù)據(jù)流圖 (1) 圖書基本信息登記/修改 圖 3.2 說明:出版社信息人工錄入后,存放在出版社信息庫中,便于今后書 籍信息的錄入以及出版社信息的查詢。分類信息由圖書館進行分 類定制,存放在圖書分類信息庫中, 用于圖書的分類管理。登記新書時,當涉及到出版社和分類的 填寫時,只需做相應(yīng)的選擇即可,并存放在圖書信息庫中。 (2) 借閱人基本信息登記/修改 圖 3.3 圖書信息 出版社 信息庫 圖書分類 信息庫 出版社信息分類信息 得到完整的圖書信息 圖書信息庫 借閱人基本信息 借閱人信息庫 10 說明:錄入借閱人基本信息后存放在借閱人信息庫中。 (3) 圖書查詢 圖 3.4 說明:輸入查詢條件后,檢索圖書信息庫,并反應(yīng)出查詢結(jié)果。 (4) 圖書統(tǒng)計 圖 3.5 說明:根據(jù)選擇的統(tǒng)計條件,檢索圖書分類信息庫或圖書信息庫,并反 應(yīng)出統(tǒng)計結(jié)果。 查詢條件 圖書信息庫 信息查詢 圖書查詢結(jié)果 統(tǒng)計 條件 圖書分類 信息庫 信息統(tǒng)計 圖書統(tǒng) 計結(jié)果 圖書信息庫 11 (5)圖書借閱 圖 3.6 說明:輸入借閱人編號,通過檢索借閱人信息庫,核實借閱人身份。輸 入圖書編號,通過 檢索圖書信息庫,核實圖書信息。進行圖書借出處理后,在圖書 借閱庫中進行登記, 并將借出圖書的在借標志設(shè)為“是” 。 (6)圖書歸還 圖 3.7 借閱人編號 借閱人 信息庫 借閱人信息認證 圖書 信息庫 圖書借出處理 圖書編號 圖書信息認證 在借信息庫 圖書在借 狀態(tài)修改 在借圖書編號 圖書 信息庫 借閱人 信息庫 在借 信息庫 圖書歸還處理 圖書在借 狀態(tài)修改 在借信息 庫修改 12 說明:輸入圖書編號,檢索在借信息庫,反應(yīng)出圖輸借閱情況。進行歸 還操作后,修改在 借信息庫中相關(guān)條目,同時在圖書信息庫中修改相關(guān)圖書在借標志為“否 13 四四 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫的設(shè)計是 mis 系統(tǒng)的核心部分,設(shè)計數(shù)據(jù)庫,首先要進行需 求分析,然后進行數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫結(jié)構(gòu) 實現(xiàn)等步驟。 1 1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析 根據(jù)以上的需求分析和數(shù)據(jù)組織,開始設(shè)計數(shù)據(jù)結(jié)構(gòu),即根據(jù)需求勾 畫出實體/關(guān)系圖(e/r) 。在概念上,e/r 圖代表的是系統(tǒng)需要的數(shù)據(jù)及 其這些數(shù)據(jù)之間的關(guān)系。如圖所示的實體/關(guān)系圖: 圖 4.1 從圖中可以看出,在這個系統(tǒng)中實際存在的實體:圖書和借閱人,其 中借閱人和圖書是多對多關(guān)系,針對本系統(tǒng),通過對圖書借閱管理的內(nèi)容 和數(shù)據(jù)流程分析,設(shè)計數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下: (1)圖書基本信息,其數(shù)據(jù)項有圖書編號、圖書名稱、作者、出版 社等。 (2)借閱人基本信息,其數(shù)據(jù)項有借閱人編號、借閱人姓名、電話 等。 (3)圖書借閱登記,其數(shù)據(jù)項有借閱序號、借閱圖書編號、借閱人 借閱人(member) 圖書基本信息(book) 圖書借閱登記 (book loan) 14 編號等。 為了實現(xiàn)圖書信息錄入的方便性與規(guī)范性以及相關(guān)的統(tǒng)計功能,還應(yīng) 增加出版社信息 與圖書分類信息: (4) 出版社信息,其數(shù)據(jù)項有出版社編號、出版社名稱、地址、電 話、傳真等。 (5) 圖書分類信息,其數(shù)據(jù)項有分類編號、分類名稱、同一類型圖 書數(shù)目。 同時針對于本系統(tǒng)的多用戶使用特點,增加用戶信息表: (6)用戶信息表,其數(shù)據(jù)項有用戶名、密碼、用戶權(quán)限。 為了實現(xiàn)圖書借閱超期罰款制度,還應(yīng)增設(shè)罰金規(guī)則表: (7)罰金規(guī)則表,其數(shù)據(jù)項包括免費使用天數(shù)、罰金費率、規(guī)則啟 用開關(guān)。 2 2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫設(shè)計有幾個范式,一般我們要做到的是第三范式,即數(shù)據(jù)表中 沒有冗余字段以及同一個表中的字段沒有函數(shù)依賴關(guān)系,冗余字段即在一 個表中已經(jīng)保存過的信息,在另一個表中就不應(yīng)該存在,如果需要的話, 可以通過表間的關(guān)聯(lián)來得到,函數(shù)依賴性就是一個表中的字段間不應(yīng)該有 計算關(guān)系,如一個表中有單價字段、數(shù)量字段,就不應(yīng)該有一個總金額字 段。如果程序運行過程中需要總金額,可以實時計算。不過在一些較常用 的表中,我們可以適當?shù)乇A羧哂嘧侄?,這樣,在程序運行過程中可以減 少由于表間互相關(guān)聯(lián)而使用速度降低等問題。這就是所謂的第四范式。數(shù) 據(jù)表設(shè)計時,最好不要使用用戶輸入的信息作為主鍵,每一個數(shù)據(jù)表自己 定義一個主鍵,添加信息是由程序自動添加,這樣就可以減少數(shù)據(jù)更新時 產(chǎn)生的錯誤。表與表相關(guān)聯(lián)的外鍵最好是由程序自動生成的主鍵,這樣數(shù) 15 據(jù)庫就比較規(guī)范了。 另外,數(shù)據(jù)表設(shè)計時一般都應(yīng)該有一些標志字段,標志字段可以定義 成 char(1)或 bit 型。建議實際應(yīng)用中定義成 char(1)字段可以存儲多種可能的狀態(tài),在最 初設(shè)計時,可能我們沒有考慮到的一些情況,在程序后來的開發(fā)中,可以 通過設(shè)計標志字段為不同的 值來解決,這樣就避免了修改數(shù)據(jù)庫結(jié)構(gòu)。 數(shù)據(jù)庫初期設(shè)計時一定要謹慎,把所有可能的情況都考慮進去,即使 當時沒有用到,也要將它留在數(shù)據(jù)庫中作為備用字段以便將來擴充。 程序一旦開始編碼,就應(yīng)該盡量避免再修改數(shù)據(jù)庫。因為如果數(shù)據(jù)庫 結(jié)構(gòu)一旦改變, 所有與修改的數(shù)據(jù)表相關(guān)的業(yè)務(wù)都有可能受到影響,而某些影響還很難看 到,這樣就容易形成一個惡性循環(huán)。錯誤越改越多,越改越亂,最終導(dǎo)致 程序的失敗。pb 的數(shù)據(jù)窗口與其他語言的數(shù)據(jù)控件不一樣,它的很多東 西是預(yù)編譯的。即使你一個模塊已經(jīng)調(diào)試無誤,但只要數(shù)據(jù)庫結(jié)構(gòu)改動。 相應(yīng)的模塊就一定要重新修改,否則一定會出問題。 圖書借閱管理系統(tǒng)數(shù)據(jù)庫中各個表的設(shè)計結(jié)果如下面幾個表格所示。 每個表格表示為數(shù)據(jù)庫中的一個表。 借閱人基本信息表 memberinfo 說明:記錄借閱人的基本情況,memberid 設(shè)為主鍵、索引。 表 4.1 列名數(shù)據(jù)類型長度可否為空注釋 memberidchar10not null 借閱人編號 membernamechar10null 借閱人姓名 idvarchar20null 身份證號 addchar50null 聯(lián)系地址 phonechar20null 聯(lián)系電話 16 mobilechar20null 移動電話 用戶基本信息表 people 說明:記錄系統(tǒng)用戶的用戶名、密碼與權(quán)限,name 設(shè)為主鍵。 表 4.2 列名數(shù)據(jù)類型長度可否為空注釋 namechar10not null 用戶名 passwordchar10not null 密碼 levelchar1not null 權(quán)限 圖書基本信息表 bookinfo 說明:記錄圖書基本信息,bookid 設(shè)為主鍵、索引。 表 4.3 列名數(shù)據(jù)類型長度可否為空注釋 bookidchar10not null 圖書編號 isbnchar30null 圖書 isbn classnamechar20null 圖書類型 titlechar40null 圖書名稱 publishdatedate-null 出版日期 authorchar20null 作者 wordsint-null 字數(shù)(千字) pubchar30null 出版社 pricenumeric19.4null 價格 diskchar1null 附帶光盤 keywordchar30null 關(guān)鍵詞 numberint-null 存放代碼 abstractvarchar100null 摘要 bookonloanchar1null 圖書在借標志 17 (y-在借 n-未借) 出版社基本信息表 publishinfo 說明:記錄出版社信息,pubid 設(shè)為主鍵。 表 4.4 列名數(shù)據(jù)類型長度可否為空注釋 pubidchar4not null 出版社編號 pubchar30null 出版社名稱 addchar50null 聯(lián)系地址 zipchar6null 郵政編碼 telchar16null 聯(lián)系電話 faxchar16null 傳真 httpchar16null 網(wǎng)址 分類信息表 bookclass 說明:記錄定制的分類情況,classid 設(shè)為主鍵。 表 4.5 列名數(shù)據(jù)類型長度可否為空注釋 classidchar2not null 分類編號 classnamechar20null 分類名稱 numberint-null 數(shù)目 借閱情況信息表 loan 說明:進行借閱的登記,loanid 設(shè)為主鍵、自動增長。 表 4.6 列名數(shù)據(jù)類型長度可否為空注釋 loanidint-not null 借閱序號 18 bookidchar10not null 圖書編號 memberidchar10not null 借閱人編號 loandatedate-null 借閱日期 規(guī)則信息表 regular 說明:記錄設(shè)置的借閱規(guī)則,days 設(shè)為主鍵。 表 4.7 列名數(shù)據(jù)類型長度可否為空注釋 daysint4not null 免費借閱天數(shù) finedec5.2null 罰金標準 flagchar1null 規(guī)則開關(guān) (1)規(guī)劃有效的索引 a.在組合表的列中創(chuàng)建索引,包括主關(guān)鍵字和外部關(guān)鍵字所在的列。 b.在列或類組合中創(chuàng)建唯一的索引能增強唯一性。 c.瀏覽索引并卸載不使用的索引。索引需要一定硬盤空間和時間來維 護。具有較高數(shù)據(jù)插入操作頻率的數(shù)據(jù)庫最好不要索引。有較高讀 操作頻率的數(shù)據(jù)庫應(yīng)該有更多的索引。 d.避免在簇索引中包括不必要的列。在可能的情況下,使用較小的數(shù) 據(jù)類型,例如用 varchar 替代 char。 e.考慮使用簇索引來支持排序和范圍化查詢。在為數(shù)據(jù)檢索優(yōu)化表時, 簇索引必須支持數(shù)據(jù)的分組索引。為簇關(guān)鍵字選擇列或列組,簇關(guān) 鍵字以經(jīng)常需要的順序排序數(shù)據(jù)或以必須被一起訪問的記錄而分組 記錄。 f.創(chuàng)建支持一般查詢的查找參數(shù)索引。具有高選擇性的列是索引的最 好候選列。具有高密度的列是索引糟糕的候選列。 (2)使用約束實現(xiàn)數(shù)據(jù)的完整性 primary key 約束在表中定義了主關(guān)鍵字,它是行唯一的標識符, 19 它可以強制實體完整性。在使用 primary key 約束時考慮以下事實: a.每個表只能有一個 primary key 約束。 b.鍵入的值必須是唯一的。 c.不允許有空值。 d.primary key 約束在指定的列創(chuàng)建唯一的索引,可以指定簇索引 和非簇索引(如果 非簇索引先前并不存在,簇索引是默認的) 。 unique 約束指定,在一列中的兩行不能有相同的值。該約束使 用唯一的索引來強制實體的完整性。在已有一個主關(guān)鍵字時 unique 約束很有用,例如雇員號,但是必須保證其他標識符(例如,雇員駕 駛證號)也是唯一的。在使用 unique 約束時,考慮以下事實; a.允許有空值。 b.在一個表中可以設(shè)置多個 unique 約束。 c.可以將 unique 約束運用于具有唯一值的單列或多列,但不能用于 表的主關(guān)鍵字。 d.通過在指定的列或列組中創(chuàng)建唯一的索引,可以使 unique 索引 得到強制 20 五五 圖書管理系統(tǒng)的具體實現(xiàn)圖書管理系統(tǒng)的具體實現(xiàn) 1 1 powerbuilderpowerbuilder 開發(fā)工具簡介開發(fā)工具簡介 powerbuilder 是目前開發(fā) client/server 結(jié)構(gòu)的應(yīng)用系統(tǒng)的主要工具之一。 powerbuilder8.0 在繼承與發(fā)展以前版本優(yōu)秀功能的基礎(chǔ)上,為適應(yīng)網(wǎng)絡(luò)應(yīng)用程序 的開發(fā)要求集成了 enterprise application studio 中 powerbuilder 以及 power site 的功能,在傳統(tǒng)數(shù)據(jù)庫開發(fā)的基礎(chǔ)上,將 web 應(yīng)用更好地集成到 powerbuilder 中。powerbuilder 全面支持面向?qū)ο缶幊獭J枪δ軓姶蟛⒁子谑褂?的第 4 代編程語言(4gl),它內(nèi)置了包括數(shù)據(jù)窗口在內(nèi)的多種對象類,可以方便地 訪問數(shù)據(jù)庫。相對于其他應(yīng)用工具,powerbuilder 具有工作效率高、成本低、質(zhì) 量高、功能強的特點。 2 2 powerbuilderpowerbuilder 8 8 應(yīng)用程序開發(fā)的基本步驟應(yīng)用程序開發(fā)的基本步驟 我們要開發(fā)應(yīng)用程序時,首先要對它進行分析。無論哪種、哪方面的 應(yīng)用程序,都要先建立一個應(yīng)用對象。下面我們介紹以下 powerbuilder 8 應(yīng)用程序開發(fā)的基本步驟: (1)首先要建立應(yīng)用對象。 (2)創(chuàng)建窗口。在窗口里放置各種控件和編寫事件響應(yīng)的腳本。 (3)創(chuàng)建菜單。窗口里的菜單可包括菜單條,下拉式菜單,級聯(lián)菜 單和彈出式菜單為菜單編寫事件響應(yīng)的腳本。 (4)創(chuàng)建用戶對象。如果想要重復(fù)使用某個控件的功能,可以把窗 口上經(jīng)常放置的控件定義為用戶對象。 21 (5)創(chuàng)建數(shù)據(jù)窗口。數(shù)據(jù)窗口可以檢索數(shù)據(jù)庫中的數(shù)據(jù),可以建立 各種報或統(tǒng)計表,可以修改數(shù)據(jù)庫。 (6)創(chuàng)建函數(shù)、結(jié)構(gòu)、事件。為了能夠更好地支持腳本,編寫自定 義的函數(shù),定義結(jié)構(gòu)類型變量,也可以為對象和控件定義自己的事件。 (7)運行與調(diào)試??梢栽陂_發(fā)環(huán)境中隨時運行應(yīng)用程序,發(fā)現(xiàn)錯誤 后,可以用調(diào)試工具進行調(diào)試。 (8)當應(yīng)用程序開發(fā)完畢后,可以把它編譯成可執(zhí)行的文件,讓用 戶比較容易地建立應(yīng)用系統(tǒng)的運行環(huán)境。 3 3 編碼規(guī)范編碼規(guī)范 為了減少在軟件開發(fā)過程中的錯誤,在軟件開發(fā)過程中應(yīng)該遵守一定 的標準。 給對象命名要有一定的規(guī)范,部件名稱可以達到 40 個字符,窗口的 命名:w_功能代碼_功能描述。數(shù)據(jù)窗口的命名:dw_功能代碼_功能描述。 菜單命名:m_功能代碼_功能描述。 標識符命名時,應(yīng)該使標識符有一定的字面含義,有助于程序的調(diào)試 和腳本的可讀性的提高。本系統(tǒng)中使用的命名規(guī)范為:變量作用域+變量 類型+”_”+具有一定字面含義的名稱。例如:li_selectrow 反映出的含 義:”l”代表是本地變量,是 local 的縮寫, ”i”代表是 integer 類型 的變量,selectrow 表示該變量是用來記錄一個行號的計數(shù)器。 4 4 創(chuàng)建祖先窗口和全局函數(shù)創(chuàng)建祖先窗口和全局函數(shù) 為充分利用 pb 的面向?qū)ο蟮奶匦浴3绦蜷_發(fā)時一般創(chuàng)建幾個模板窗 口。將功能窗口上的某些常用功能封裝在模板窗口中。然后將這些模板窗 口作為祖先窗口。所有的子孫窗口都可以通過繼承的方法來生成。這樣就 減少了代碼的書寫量。使得整個程序界面保持整齊。當修改祖先窗口時, 22 所有的子孫窗口都會自動修改。所以,祖先窗口的確定要十分謹慎。 全局函數(shù)與局部函數(shù)的作用類似。唯一不同的是全局函數(shù)的作用域是 整個程序周期。不論你在任何一個模塊的代碼中都可以調(diào)用它。所以我們 可以把某些常用功能寫成全局函數(shù)。在程序的其他地方反復(fù)調(diào)用。 4.14.1 函數(shù)函數(shù) level(characterlevel(character lev)lev) 功能介紹:通過傳入的 lev 值,將某些菜單項設(shè)為“非使能” ,以限制某 些功能的使用。lev 值即不同職責(zé)的權(quán)限(系統(tǒng)管理 1、圖書 管理 2、借閱人管理 3、借閱操作員 4) ,從 people 表中的 level 字段中讀取。 代碼分析: choose case lev case “1“ case “2“ m_main.m_借閱人管理.enabled=false m_main.m_圖書租賃.enabled=false m_main.m_系統(tǒng)菜單.m_用戶管理.enabled=false m_main.m_系統(tǒng)菜單.m_借閱規(guī)則設(shè)置.enabled=false m_main.m_系統(tǒng)菜單.m_圖書信息設(shè)置.enabled=false case “3“ m_main.m_圖書管理.enabled=false m_main.m_圖書租賃.enabled=false m_main.m_圖書查詢.enabled=false m_main.m_統(tǒng)計資料.enabled=false m_main.m_系統(tǒng)菜單.m_用戶管理.enabled=false 23 m_main.m_系統(tǒng)菜單.m_借閱規(guī)則設(shè)置.enabled=false m_main.m_系統(tǒng)菜單.m_圖書信息設(shè)置.enabled=false case “4“ m_main.m_圖書管理.enabled=false m_main.m_借閱人管理.enabled=false m_main.m_系統(tǒng)菜單.m_用戶管理.enabled=false m_main.m_系統(tǒng)菜單.m_借閱規(guī)則設(shè)置.enabled=false m_main.m_系統(tǒng)菜單.m_圖書信息設(shè)置.enabled=false end choose 4.24.2 函數(shù)函數(shù) countdaycountday countday (date date1,date date2) 功能介紹:通過傳入的 date1(起始日期)值與 date2(結(jié)束日期)值, 計算出中間相差的天數(shù),返回值為 integer 型。 代碼分析: int day day=(integer(year(date2) - integer(year(date1)*365 +uid=;pwd=“ connect using sqlca; /判斷數(shù)據(jù)庫連接是否成功 if sqlca.sqlcode = 0 then 25 open(w_login) else messagebox(系統(tǒng)提示,連接數(shù)據(jù)庫失??!) end if 6 具體窗口的實現(xiàn)具體窗口的實現(xiàn) (1 1)登錄窗口)登錄窗口 w_loginw_login 圖 5.1 功能介紹:本窗口主要是檢查操作員輸入的用戶名及密碼是否正確,如果 正確,允許登錄。如果錯誤,顯示出錯誤提示。 操作方法:填寫“用戶名”與“密碼”后,點擊“登錄”按鈕進行驗證, 點擊“放棄”退出。 代碼分析: open 事件:sle_1.setfocus()/“用戶名”輸入框獲得焦點 this.width=923 this.height=588 “登錄”按鈕:string name,pwd char lev int test 26 name=sle_1.text pwd=sle_2.text /檢測用戶名與密碼是否匹配 select level into :lev from people where name=:name and password=:pwd; if lev“ then open(w_main) level(lev)/根據(jù)權(quán)限設(shè)定菜單狀態(tài) else sle_1.setfocus() test=messagebox(“提示:“,“用戶名或者密碼錯誤! “,exclamation!, okcancel!, 2) end if/檢測是否重新登錄 if test=1 then return 1 else close(parent) end if (2 2) 主窗口主窗口 w_mainw_main 功能介紹:本窗口作為菜單及其他子窗口的容器。 窗口設(shè)置;本窗口為容器窗口,故它的 windowtype 為 mdihelp!,表示本 窗口為多文檔界面,可以有菜單、工具欄與狀態(tài)欄。windowstate 為 maximized!,表示窗口在運行時是最大化的風(fēng)格。menuname 屬性設(shè)為 27 m_main,即是與本窗口連接的菜單名稱。 (3 3) 菜單菜單 m_mainm_main 圖 5.2 功能介紹:打開各功能窗口 操作方法:點擊菜單項或工具欄上相應(yīng)的按鈕,狀態(tài)欄可顯示幫助信息。 代碼分析:每個相應(yīng)的菜單項的 clicked 事件都使用 opensheet 方法來打 開相應(yīng)的功能窗口,如“新書入庫”的菜單項下的 clicked 事 件的處理代碼為: opensheet(w_newbook,“w_newbook“,parentwindow,0,cascaded!) 28 (4 4)新書入庫窗口)新書入庫窗口 w_newbookw_newbook 圖 5.3 功能介紹:增加、修改圖書信息。 操作方法:a.增加圖書信息:點擊“新增”按鈕,添加圖書信息,完成后 點擊“保存”按鈕 b.修改圖書信息:通過“圖書編號”檢索出圖書信息,修改后 點擊“保存”按鈕 代碼分析: open 事件:dw_1.settransobject(sqlca) /為數(shù)據(jù)窗口指定事務(wù)對象 dw_1.retrieve()/為數(shù)據(jù)窗口從數(shù)據(jù)庫中獲得數(shù)據(jù) this.width=2926 /設(shè)置窗口的高度和寬度 this.height=1572 “檢索”按鈕:string ls_bookid,ls_filter ls_bookid=sle_bookid.text dw_1.setfilter(“bookid=“+ls_bookid+“)/設(shè)置過濾 條件 dw_1.filter()/過濾數(shù)據(jù) 29 “上一條”按鈕:dw_1.scrollpriorrow()/滾動到上一行 “下一條”按鈕:dw_1.scrollnextrow()/滾動到下一行 “新增”按鈕:long ll_row ll_row=dw_1.insertrow(0) /在數(shù)據(jù)窗口中增加一行 dw_1.scrolltorow(ll_row) /數(shù)據(jù)窗口滾動到當前行 dw_1.setcolumn(2) /使第一列為當前列,并得到焦點 dw_1.setfocus() “保存”按鈕:long ll_row dw_1.accepttext()/將數(shù)據(jù)寫入主緩沖區(qū) if dw_1.modifiedcount()0 then /檢測數(shù)據(jù)是否被修 改 if dw_1.update()0 then /如果被修改則更新數(shù)據(jù)庫 commit; /提交事務(wù) cb_new.setfocus()/“新增”按鈕獲得焦點 else rollback; /回滾事務(wù) messagebox(“系統(tǒng)提示“,“保存失??!請檢驗數(shù)據(jù)的 正確性“) dw_1.setcolumn(1) /數(shù)據(jù)窗口第一列獲得焦點 dw_1.setfocus() end if else cb_new.setfocus()/“新增”按鈕獲得焦點 end if 30 (5 5) 舊書銷毀窗口舊書銷毀窗口 w_delbookw_delbook 圖 5.4 功能介紹:刪除圖書信息。 操作方法:首先通過圖書編號檢索出圖書信息,然后點擊“銷毀”按鈕注 銷圖書。 代碼分析: open 事件:類同“新書入庫窗口 w_newbook” “檢索”按鈕:string ls_bookid,ls_filter ls_bookid=sle_bookid.text/設(shè)置過濾條件 dw_1.setfilter(“bookid=“+ls_bookid+“)/過濾數(shù)據(jù) dw_1.filter()/使“銷毀”按鈕可用 cb_del.enabled=true sle_bookid.setfocus() “銷毀”按鈕:long li_row li_row=dw_1.getrow()/得到當前行號 if li_row0 then/判斷是否有可刪除的行 31 if messagebox(刪除詢問,真的要注銷此書嗎? ,question!,yesno!,2)=1 then dw_1.deleterow(li_row) /刪除行 if dw_1.update()0 then/更新數(shù)據(jù)庫 commit; else rollback; messagebox(“錯誤提示“,“無法注銷!“) end if li_row=dw_1.getrow()/得到當前行 if li_rowid_end then messagebox(“數(shù)據(jù)錯誤“,“開始日期不能大于結(jié)束日期.“) else dw_1.retrieve(id_start,id_end) end if em_date.setfocus() “重置”按鈕:em_date.text=“ em_date2.text=“ em_date.setfocus() 43 數(shù)據(jù)窗口的數(shù)據(jù)源 sql 語句: select “bookinfo“.“bookonloan“, “bookinfo“.“number“, “bookinfo“.“title“, “bookinfo“.“author“, “bookinfo“.“pub“, “bookinfo“.“publishdate“, “bookinfo“.“isbn“, “bookinfo“.“keywords“, “bookinfo“.“abstract“ from “bookinfo“ where “bookinfo“.“publishdate“ between :date1 and :date2 /:date1 與:date2 為查詢變量 (1111)統(tǒng)計窗口)統(tǒng)計窗口 各類圖書比例窗口 w_count_booktype、庫存/借出比例窗口 w_count_loan 說明:由于這兩個窗口大同小異,所以僅對 w_count_booktype 進行說 明。 圖 5.11 44 功能介紹:統(tǒng)計現(xiàn)有各類圖書比例,并以餅型圖顯示出來。 數(shù)據(jù)窗口的數(shù)據(jù)源 sql 語句: select “bookinfo“.“bookonloan“, count(*) from “bookinfo“ group by “bookinfo“.“bookonloan“ (1212) 用戶管理窗口用戶管理窗口 w_people 圖 5.12 功能介紹:添加、刪除、修改用戶信息。 操作方法:a.添加用戶:點擊“添加”按鈕,輸入用戶名、密碼、選擇等級,點擊 “保存” b.刪除用戶:點擊欲刪除的用戶,點擊“刪除”按鈕 c.修改用戶:修改用戶信息,點擊“保存”按紐 代碼分析: open 事件:類同“新書入庫窗口 w_newbook” 數(shù)據(jù)窗口 rowfocuschanged 事件:this.selectrow(0,false) /高亮顯示當前選中的 行 this.selectrow(currentrow,true) 數(shù)據(jù)窗口 clicked 事件:cb_del.enabled=true /點擊數(shù)據(jù)窗口后使“刪除”按鈕 可用 “增加”按紐:類同“新書入庫窗口 w_newbook” 45 “保存”按紐:類同“新書入庫窗口 w_newbook” “刪除”按紐:類同“舊書銷毀窗口 w_delbook” (1313 )圖書信息設(shè)置)圖書信息設(shè)置 圖書分類設(shè)置窗口 w_bookclass、出版社信息窗口 w_pubinfo 圖 5.13 功能介紹:設(shè)置圖書分類信息與出版社信息,同時可以對出版社信息進行 查詢 說明:設(shè)置“圖書分類信息”是為了今后統(tǒng)計現(xiàn)有圖書類型比例,設(shè)置 “出版社信息”是為了今后查詢出版社信息,同時在“新書入庫” 時方便相應(yīng)項目的輸入(下拉 datawindow) 代碼分析:略 46 (1414 )借閱規(guī)則設(shè)置窗口)借閱規(guī)則設(shè)置窗口 w_regular 圖 5.14 功能介紹:設(shè)置罰金規(guī)則 操作方法:填寫“免費使用天數(shù)” 、 “罰金費率” ,點擊“啟用規(guī)則”開啟 或關(guān)閉此項規(guī)則,點擊“確定”實施規(guī)則。 代碼分析: open 事件:int li_days dec ld_fine cha
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版學(xué)校游泳池兒童游樂區(qū)設(shè)計與施工承包合同示范3篇
- 2025版土地使用權(quán)出讓居間合同(新型合作模式)3篇
- 2025版城市住宅小區(qū)全面滅蟑螂服務(wù)合同4篇
- 2025版土地測繪保密協(xié)議:保密項目合作與技術(shù)支持合同3篇
- 乳粉產(chǎn)品質(zhì)量法律規(guī)制與合規(guī)考核試卷
- 會展產(chǎn)業(yè)與數(shù)字經(jīng)濟的創(chuàng)新結(jié)合考核試卷
- 2025版十五年商業(yè)地產(chǎn)租賃合同范本15篇
- 2025版城市慶典活動委托演出合同3篇
- 2025年水土保持設(shè)施驗收技術(shù)服務(wù)與生態(tài)修復(fù)實施合同3篇
- 2025年醫(yī)療設(shè)備使用及維護管理協(xié)議
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細目表三級
- 2024年河北省中考數(shù)學(xué)試題(含答案解析)
- 小學(xué)二年級數(shù)學(xué)口算練習(xí)題1000道
- 納布啡在產(chǎn)科及分娩鎮(zhèn)痛的應(yīng)用
- DZ/T 0462.4-2023 礦產(chǎn)資源“三率”指標要求 第4部分:銅等12種有色金屬礦產(chǎn)(正式版)
- 化學(xué)-福建省龍巖市2024屆高三下學(xué)期三月教學(xué)質(zhì)量檢測(一模)試題和答案
- 凸優(yōu)化在經(jīng)濟學(xué)與金融學(xué)中的應(yīng)用
評論
0/150
提交評論