施工組織設(shè)計(jì)-軟件工程 系統(tǒng)設(shè)計(jì)
《施工組織設(shè)計(jì)-軟件工程 系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《施工組織設(shè)計(jì)-軟件工程 系統(tǒng)設(shè)計(jì)(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件工程 系統(tǒng)設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康? n 掌握軟件體系結(jié)構(gòu)模型; n 掌握使用過(guò)程設(shè)計(jì)工具描述模塊的數(shù)據(jù)結(jié)構(gòu)和算法; n 了解人機(jī)界面設(shè)計(jì); n 掌握概要設(shè)計(jì)說(shuō)明書(shū)和詳細(xì)設(shè)計(jì)說(shuō)明書(shū)的撰寫(xiě) 二、實(shí)驗(yàn)原理—概要設(shè)計(jì) n ⑴軟件概要設(shè)計(jì)的基本要點(diǎn) n 基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù),確定系統(tǒng)的物理配置方案,確定系統(tǒng)的結(jié)構(gòu)。 n ⑵系統(tǒng)分析與設(shè)計(jì)的關(guān)系 n 系統(tǒng)分析的基本任務(wù)是定義用戶所需要的軟件任務(wù),也就是回答系統(tǒng)必須“做什么”這個(gè)問(wèn)題。系統(tǒng)設(shè)計(jì)的基本任務(wù)是設(shè)計(jì)實(shí)現(xiàn)目標(biāo)系統(tǒng)的具體方案,也就是回答“怎樣做”這個(gè)問(wèn)題。 二、實(shí)驗(yàn)原理—詳細(xì)設(shè)計(jì) n ⑴軟件詳細(xì)
2、設(shè)計(jì)的基本要點(diǎn) n 關(guān)鍵任務(wù)是確定怎樣具體地實(shí)現(xiàn)用戶需要的軟件系統(tǒng)。 n 除了保證軟件可靠性之外,使程序可讀性好、容易理解、容易測(cè)試、容易修改和維護(hù)。 n 結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)是實(shí)現(xiàn)上述目標(biāo)的基本保證,是進(jìn)行詳細(xì)設(shè)計(jì)的邏輯基礎(chǔ)。 n 人機(jī)界面設(shè)計(jì)是接口設(shè)計(jì)的一個(gè)重要組成部分。在設(shè)計(jì)人機(jī)界面的過(guò)程中,必須充分重視并認(rèn)真處理好系統(tǒng)響應(yīng)時(shí)間、用戶幫助設(shè)施、出錯(cuò)信息處理和命令交互等4個(gè)設(shè)計(jì)問(wèn)題。 n 過(guò)程設(shè)計(jì)在數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)和接口設(shè)計(jì)完成之后進(jìn)行,任務(wù)是設(shè)計(jì)算法。 n 過(guò)程設(shè)計(jì)的工具可分為圖形、表格和語(yǔ)言3類(lèi),應(yīng)根據(jù)需要選用適當(dāng)?shù)墓ぞ摺? n ⑵人機(jī)界面設(shè)計(jì) n 人機(jī)界面的設(shè)計(jì)質(zhì)量
3、,直接影響用戶對(duì)軟件產(chǎn)品的評(píng)價(jià)。 n 人機(jī)界面設(shè)計(jì)是接口設(shè)計(jì)的一個(gè)重要的組成部分。對(duì)于交互式系統(tǒng)來(lái)說(shuō),人機(jī)界面設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)及過(guò)程設(shè)計(jì)一樣重要。 n 使用基于原型的系統(tǒng)化的設(shè)計(jì)策略,是成功地設(shè)計(jì)人機(jī)界面的關(guān)鍵。 n 用戶界面設(shè)計(jì)是一個(gè)迭代的過(guò)程,也就是說(shuō),通常先創(chuàng)建設(shè)計(jì)模型,再用原型實(shí)現(xiàn)這個(gè)設(shè)計(jì)模型,并由用戶試用和評(píng)估,然后根據(jù)用戶意見(jiàn)進(jìn)行修改,直到用戶滿意為止。 n ⑶過(guò)程設(shè)計(jì) n 過(guò)程設(shè)計(jì)的任務(wù)是要設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫(xiě)出實(shí)際的程序代碼。過(guò)程設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。 n 衡量程序的質(zhì)量不僅要看它的邏輯是否正確,性能是否
4、滿足要求,更主要的是要看它是否容易閱讀和理解。 n 過(guò)程設(shè)計(jì)的目標(biāo)不僅僅是正確實(shí)現(xiàn)每個(gè)模塊的功能,更重要的是盡可能簡(jiǎn)明易懂。 n 結(jié)構(gòu)程序設(shè)計(jì)技術(shù)是實(shí)現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù)。 n ⑷過(guò)程設(shè)計(jì)工具 n 描述程序處理過(guò)程的工具稱為過(guò)程設(shè)計(jì)工具,它們可以分為圖形、表格和語(yǔ)言三類(lèi)。 n 不論是哪類(lèi)工具,對(duì)它們的基本要求都是要提供對(duì)設(shè)計(jì)的無(wú)歧義的描述,也就是應(yīng)該指明控制流程、處理功能、數(shù)據(jù)組織以及其他方面的實(shí)現(xiàn)細(xì)節(jié),從而在編碼階段能把對(duì)設(shè)計(jì)的描述直接翻譯成程序代碼。 n 這類(lèi)工具應(yīng)該盡可能直觀、易學(xué)、易懂。 三、實(shí)驗(yàn)內(nèi)容與步驟 n 軟件體系結(jié)構(gòu)模型 n 模塊過(guò)程設(shè)計(jì)與界面設(shè)計(jì) n 撰寫(xiě)
5、系統(tǒng)設(shè)計(jì)說(shuō)明書(shū) 圖書(shū)館管理系統(tǒng) C.概要設(shè)計(jì)說(shuō)明書(shū) 一、引言 1.1編寫(xiě)目的 為完善圖書(shū)管理系統(tǒng)軟件的開(kāi)發(fā)途徑及應(yīng)用方法,以提高開(kāi)發(fā)效率,使應(yīng)用更為方便。根據(jù)《需求規(guī)格說(shuō)明書(shū)》,在仔細(xì)考慮討論之后,我們又進(jìn)一步對(duì)《圖書(shū)管理系統(tǒng)》軟件的功能劃分、數(shù)據(jù)結(jié)構(gòu)、軟件總體結(jié)構(gòu)有了進(jìn)一步的認(rèn)識(shí)。我們把討論的結(jié)果記錄下來(lái),作為概要設(shè)計(jì)說(shuō)明書(shū),并作為進(jìn)一步詳細(xì)設(shè)計(jì)軟件的基礎(chǔ)。 1.2背景 說(shuō)明: a. 待開(kāi)發(fā)軟件系統(tǒng)的名稱:圖書(shū)管理系統(tǒng) b. 列出此項(xiàng)目的任務(wù)提出者是本小組成員,開(kāi)發(fā)者也為本小組成員、用戶是學(xué)校圖書(shū)館。 1.3定義 開(kāi)發(fā)(develop):除了單純的開(kāi)發(fā)活動(dòng)外,還包括維
6、護(hù)活動(dòng)。 項(xiàng)目(project):向顧客交付的最終的全部產(chǎn)品,包括程序及各種文檔,以及開(kāi)發(fā)活動(dòng)所需資源經(jīng)費(fèi)等各種信息。 項(xiàng)目開(kāi)發(fā)計(jì)劃(project development plan):把項(xiàng)目與過(guò)程聯(lián)系起來(lái)的計(jì)劃方案。 產(chǎn)品生命周期(product life cycle):產(chǎn)品從構(gòu)思到不可在使用的持續(xù)時(shí)間。 1.4參考資料 《軟件工程導(dǎo)論》 —— 張海藩 編著 清華大學(xué)出版社 《數(shù)據(jù)庫(kù)系統(tǒng)概論》 —— 薩師煊 王 珊 編著 高等教育出版社 《Visual Basic 數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航(第二版)》 —— 劉 韜駱娟何旭洪 編著 人民郵電出版社 《C#
7、程序設(shè)計(jì)教程》——曾強(qiáng)聰編著中國(guó)水利水電出版社 二總體設(shè)計(jì) 2.1需求規(guī)定 主要輸入輸出項(xiàng)目: 圖書(shū)信息:(圖書(shū)編號(hào)、圖書(shū)名稱、圖書(shū)ISBN號(hào)、作者、出版社、類(lèi)型、價(jià)格、庫(kù)存量、副本總量、圖書(shū)總數(shù)) 學(xué)生信息:(學(xué)生編號(hào)、學(xué)生姓名、性別、入校時(shí)間、畢業(yè)時(shí)間) 借書(shū)登記:(借書(shū)編號(hào)、學(xué)生編號(hào)、結(jié)束時(shí)間、歸還時(shí)間、是否歸還) 還書(shū)登記:(圖書(shū)編號(hào)、圖書(shū)名稱、歸還時(shí)間、作者、出版社、 2.2運(yùn)行環(huán)境 硬件環(huán)境: PC機(jī)配置:奔騰133 、內(nèi)存1GB以上PC機(jī),內(nèi)存要求不得低于1GB,硬盤(pán)大于20G的PC臺(tái)式機(jī)和便攜式電腦; 軟件環(huán)境: Windows2000\XP
8、 SQL Server2000 C# 2.3基本設(shè)計(jì)概念和處理流程 該系統(tǒng)的主程序流程圖如下圖所示: 2.4功能需求與程序的關(guān)系 本條用一張如下的矩陣圖說(shuō)明各項(xiàng)功能需求的實(shí)現(xiàn)同各塊程序的分配關(guān)系: 創(chuàng)建 查找 修改 刪除 圖書(shū)信息管理(管理員) √ √ √ √ 學(xué)生信息管理(管理員) √ √ √ √ 學(xué)生信息查詢(學(xué)生) √ 查詢圖書(shū)信息(學(xué)生) √ 歸還圖書(shū)(管理員) √ √ √ √ 借閱圖書(shū)(管理員) √ √ √ √ 2.5人工處理過(guò)程 管理員登錄:圖書(shū)管理員需要手動(dòng)輸入
9、登錄信息驗(yàn)證身份登錄系統(tǒng)后方能進(jìn)行操作。 圖書(shū)入庫(kù):對(duì)于新購(gòu)圖書(shū),管理員需要手動(dòng)對(duì)其進(jìn)行分類(lèi)進(jìn)行編號(hào),并把圖書(shū)基本信息錄入計(jì)算機(jī)。 修改圖書(shū)信息:學(xué)生借閱圖書(shū)時(shí),管理員需要對(duì)該圖書(shū)進(jìn)行登記,記錄被借閱圖書(shū)信息和學(xué)生信息。當(dāng)學(xué)生歸還圖書(shū)時(shí),同樣需要對(duì)圖書(shū)信息進(jìn)行修改。 三接口設(shè)計(jì) 3.1用戶接口 向用戶提供命令軟件回答對(duì)應(yīng)信息 操作員登記添加用戶 學(xué)生登記添加學(xué)生信息 學(xué)生查詢學(xué)生信息查詢 圖書(shū)登記管理員登記圖書(shū)信息 借閱登記管理員登記學(xué)生的借閱信息 借閱查詢管理員查詢學(xué)生的借閱情況 3.2外部接口 接口傳遞信息 軟件接口:與數(shù)據(jù)庫(kù)接口圖書(shū)信息學(xué)生信息 3.3內(nèi)
10、部接口 接口 傳遞信息 圖書(shū)信息管理 錄入 圖書(shū)信息:(圖書(shū)編號(hào)、圖書(shū)名稱、圖書(shū)ISBN號(hào)、作者、出版社、類(lèi)型、價(jià)格、庫(kù)存量、副本總量、圖書(shū)總數(shù)) 圖書(shū)信息管理 修改 圖書(shū)信息:(圖書(shū)編號(hào)、圖書(shū)名稱、圖書(shū)ISBN號(hào)、作者、出版社、類(lèi)型、價(jià)格、庫(kù)存量、副本總量、圖書(shū)總數(shù)) 學(xué)生信息管理 添加 學(xué)生信息:(學(xué)生編號(hào)、學(xué)生姓名、性別、入校時(shí)間、畢業(yè)時(shí)間) 學(xué)生信息管理 修改 學(xué)生信息:(學(xué)生編號(hào)、學(xué)生姓名、性別、入校時(shí)間、畢業(yè)時(shí)間) 借書(shū)登記 登記借閱圖書(shū)以及學(xué)生信息 借書(shū)登記:(借書(shū)編號(hào)、學(xué)生編號(hào)、結(jié)束時(shí)間、歸還時(shí)間、是否歸還) 還書(shū)登記 修改借書(shū)登記的信息
11、 還書(shū)登記:(圖書(shū)編號(hào)、圖書(shū)名稱、歸還時(shí)間、作者、出版社、) 四 運(yùn)行設(shè)計(jì) 4.1運(yùn)行模塊組合 對(duì)系統(tǒng)施加不同的外界運(yùn)行控制時(shí)所引起的各種不同的運(yùn)行模塊組合,以及每種運(yùn)行所歷經(jīng)的內(nèi)部模塊和支持軟件。 4.2運(yùn)行控制 運(yùn)行控制 控制方法 學(xué)生信息管理 管理員對(duì)學(xué)生信心進(jìn)行管理,包括增加學(xué)生用戶,修改用戶信息,以及刪除學(xué)生信息 學(xué)生信息查詢 用戶可以對(duì)學(xué)生的信息進(jìn)行查詢 圖書(shū)信息登記 錄入新的圖書(shū)信息,以及對(duì)已有圖書(shū)的各項(xiàng)信息進(jìn)行修改,查詢,刪除等 圖書(shū)信息查詢 用戶對(duì)所要借閱的圖書(shū)信息進(jìn)行查詢 借閱登記 管理員登記學(xué)生所借圖書(shū)以及學(xué)生本人的信息 借閱查詢
12、 管理員對(duì)學(xué)生或者所對(duì)應(yīng)圖書(shū)的信息進(jìn)行查詢 4.3運(yùn)行時(shí)間 檢索任務(wù)所需時(shí)間:<3秒 執(zhí)行任務(wù)所需時(shí)間:<3秒 五系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 5.1邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn) 1.圖書(shū)信息表(tBook),其字段列表如表5-1-1所示。 表5-1-1 圖書(shū)信息表的結(jié)構(gòu) 序號(hào) 字段名稱 字段說(shuō)明 類(lèi)型 位數(shù) 屬性 備注 1 cBooksID 圖書(shū)編號(hào) 文本 7 必須非空 2 cBooksName 圖書(shū)名稱 文本 20 必須非空 3 cBooksISBN 圖書(shū)ISBN號(hào) 文本 15 可為空 4 cBooksAuthor 圖書(shū)作者
13、文本 10 可為空 5 cBooksPublisher 圖書(shū)出版社 文本 20 可為空 6 cBooksType 圖書(shū)類(lèi)型 文本 16 可為空 7 smBooksPrice 圖書(shū)價(jià)格 貨幣 可為空 8 iBooksStoreQuan 圖書(shū)庫(kù)存量 整數(shù) 可為空 9 iBooksLeftQuant 圖書(shū)副本數(shù)量 整數(shù) 可為空 10 iBooksTotalQuan 圖書(shū)總數(shù) 整數(shù) 可為空 2.圖書(shū)借閱登記表(tBorrow),其字段列表如表5-1-2所示。 表5-1-2 圖書(shū)借閱登
14、記表的結(jié)構(gòu) 序號(hào) 字段名稱 字段說(shuō)明 類(lèi)型 位數(shù) 屬性 備注 1 cBorrowID 借書(shū)編號(hào) 文本 6 必須非空 2 cVipID 學(xué)生編號(hào) 文本 6 必須非空 3 cBooksID 圖書(shū)編號(hào) 文本 7 必須非空 4 cBorrwTime 借書(shū)時(shí)間 時(shí)間日期 可為空 5 cReturnTime 還書(shū)時(shí)間 時(shí)間日期 可為空 6 cReturn 是否歸還 文本 1 可為空 3.圖書(shū)歸還登記表(tReturn),其字段列表如表5-1-3所示。 表5-1-3 圖書(shū)歸還登記表的結(jié)構(gòu)
15、 序號(hào) 字段名稱 字段說(shuō)明 類(lèi)型 位數(shù) 屬性 備注 1 cBorrowID 借書(shū)編號(hào) 文本 6 必須非空 2 cVipID 學(xué)生編號(hào) 文本 6 必須非空 3 cBooksID 圖書(shū)編號(hào) 文本 7 必須非空 4 cBorrwTime 借書(shū)時(shí)間 時(shí)間日期 可為空 5 cReturnTime 還書(shū)時(shí)間 時(shí)間日期 必須非空 6 cReturn 是否歸還 文本 1 必須非空 7 cNoReturn 歸還異常 文本 8 可為空 4.學(xué)生信息表(tVip),其字段列表如表5
16、-1-4所示。 表5-1-4 學(xué)生信息表的結(jié)構(gòu) 序號(hào) 字段名稱 字段說(shuō)明 類(lèi)型 位數(shù) 屬性 備注 1 cVipID 學(xué)生編號(hào) 文本 6 必須非空 2 cVipName 學(xué)生姓名 文本 10 必須非空 4 cVipSex 學(xué)生性別 文本 1 可為空 5 vipAddTime 學(xué)生入學(xué)時(shí)間 時(shí)間日期 必須非空 6 vipEndTime 學(xué)生畢業(yè)時(shí)間 時(shí)間日期 必須非空 5.管理員信息表(tOperators),其字段列表如表5-1-5所示。 表5-1-5 管理員信息表的結(jié)構(gòu) 序號(hào) 字段名
17、稱 字段說(shuō)明 類(lèi)型 位數(shù) 屬性 備注 1 cOperatorID 管理員編號(hào) 文本 5 必須非空 2 cOperatorName 管理員姓名 文本 10 必須非空 3 cOperatorPassword 密碼 文本 6 必須非空 4 cOperatorAddTime 管理員加入時(shí)間 時(shí)間日期 10 必須非空 5.2數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系 主模塊:連接數(shù)據(jù)庫(kù) 學(xué)生管理模塊: 學(xué)生信息管理模塊:管理員輸入帳號(hào)密碼進(jìn)入系統(tǒng)后可以對(duì)學(xué)生信息進(jìn)行管理,包括修改,插入,刪除等。 學(xué)生信息查詢模塊:管理員可以對(duì)學(xué)生信息進(jìn)行查詢
18、,學(xué)生輸入學(xué)生的賬號(hào)密碼后,成功登陸后,學(xué)生可以對(duì)其信息進(jìn)行查詢,輸入學(xué)生編號(hào)后,對(duì)應(yīng)輸出學(xué)生姓名,性別,入校時(shí)間,畢業(yè)時(shí)間等。 圖書(shū)管理模塊: 圖書(shū)信息登記模塊:管理員對(duì)圖書(shū)信息進(jìn)行登記,輸入相應(yīng)的圖書(shū)信息,如圖書(shū)書(shū)名,作者,出版社。單價(jià)等信息。 圖書(shū)信息查詢模塊:學(xué)生和管理員都可以進(jìn)行此操作,通過(guò)查詢數(shù)據(jù)庫(kù),匹配要查找的圖書(shū)信息,包括讀入圖書(shū)號(hào),圖書(shū)作者,圖書(shū)出版社 ,圖書(shū)單價(jià)等基本信息。 借閱管理模塊: 借閱登記模塊:管理員對(duì)圖書(shū)的借閱情況進(jìn)行登記,記錄借書(shū)者的學(xué)生編號(hào),學(xué)生姓名等學(xué)生信息以及圖書(shū)編號(hào),圖書(shū)名稱,作者,出版社等圖書(shū)信息,并修改圖書(shū)狀態(tài)。 借閱查詢模塊:管理員和
19、學(xué)生都可以對(duì)圖書(shū)的借閱情況進(jìn)行查詢,輸入讀者號(hào),對(duì)應(yīng)輸出學(xué)生姓名,性別,入校時(shí)間,畢業(yè)時(shí)間。輸入圖書(shū)號(hào),對(duì)應(yīng)輸出圖書(shū)書(shū)名,圖書(shū)作者,圖書(shū)出版社,圖書(shū)單價(jià),圖書(shū)狀態(tài)。 歸還管理模塊: 讀入圖書(shū)編號(hào),對(duì)應(yīng)輸出借書(shū)記錄表中的學(xué)生編號(hào),借書(shū)時(shí)間,應(yīng)歸還時(shí)間等,修改圖書(shū)狀態(tài),刪除借書(shū)記錄表中的學(xué)生編號(hào),圖書(shū)編號(hào),借書(shū)時(shí)間等信息。 六 系統(tǒng)出錯(cuò)處理設(shè)計(jì) 6.1出錯(cuò)信息 出錯(cuò)的位置 出錯(cuò)的原因 提示信息 用戶名 輸入數(shù)據(jù)庫(kù)中不存在的用戶名 You are a not system user 用戶名密碼 輸入的密碼不正確 Password eroor,please check y
20、our passwprd 添加用戶 輸入已存在的用戶信息 用戶已存在 添加信息 添加信息必填信息不完整 信息必須完整 普通用戶操作權(quán)限 使用管理員的 你沒(méi)有該權(quán)限 出錯(cuò)信息處理:學(xué)生或管理人員輸入的帳號(hào)和密碼不匹配或輸入不存在的帳號(hào),系統(tǒng)應(yīng)友好進(jìn)行提示,如提示"您輸入的帳號(hào)或密碼錯(cuò)誤,請(qǐng)重新輸入!" 6.2補(bǔ)救措施 故障出現(xiàn)后可能采取的變通措施,包括: a. 后備技術(shù)說(shuō)明準(zhǔn)備采用的后備技術(shù),當(dāng)原始系統(tǒng)數(shù)據(jù)萬(wàn)一丟失時(shí)啟用的副本的建立和啟動(dòng)的技術(shù),例如周期性地把磁盤(pán)信息記錄到磁帶上去就是對(duì)于磁盤(pán)媒體的一種后備技術(shù); b. 降效技術(shù)說(shuō)明準(zhǔn)備采用的后備技術(shù),使用另一個(gè)效率稍
21、低的系統(tǒng)或方法來(lái)求得所需結(jié)果的某些部分,例如一個(gè)自動(dòng)系統(tǒng)的降效技術(shù)可以是手工操作和數(shù)據(jù)的人工記錄; c. 恢復(fù)及再啟動(dòng)技術(shù)說(shuō)明將使用的恢復(fù)再啟動(dòng)技術(shù),使軟件從故障點(diǎn)恢復(fù)執(zhí)行或使軟件從頭開(kāi)始重新運(yùn)行的方法。 圖書(shū)管理系統(tǒng) D.詳細(xì)設(shè)計(jì)說(shuō)明 1.1 編寫(xiě)目的 圖書(shū)管理系統(tǒng)詳細(xì)設(shè)計(jì)是設(shè)計(jì)的第三個(gè)階段,這個(gè)階段的主要任務(wù)是在圖書(shū)管理系統(tǒng)概要設(shè)計(jì)書(shū)基礎(chǔ)上,對(duì)概要設(shè)計(jì)中產(chǎn)生的功能模塊進(jìn)行過(guò)程描述,設(shè)計(jì)功能模塊的內(nèi)部細(xì)節(jié),包括算法和詳細(xì)數(shù)據(jù)結(jié)構(gòu),為編寫(xiě)源代碼提供必要的說(shuō)明。 概要設(shè)計(jì)解決了軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)的問(wèn)題,包括整個(gè)軟件系統(tǒng)的結(jié)構(gòu)、模塊劃分、模塊功能和模塊間的聯(lián)系等。詳細(xì)設(shè)計(jì)則要解決
22、如何實(shí)現(xiàn)各個(gè)模塊的內(nèi)部功能,即模塊設(shè)計(jì)。具體的說(shuō),模塊設(shè)計(jì)就是要為已經(jīng)產(chǎn)生的圖書(shū)管理各子系統(tǒng)設(shè)計(jì)詳細(xì)的算法。但這并不等同于系統(tǒng)實(shí)現(xiàn)階段用具體的語(yǔ)言編碼,它只是對(duì)實(shí)現(xiàn)細(xì)節(jié)作精確的描述,這樣編碼階段就可以將詳細(xì)設(shè)計(jì)中對(duì)功能實(shí)現(xiàn)的描述,直接翻譯、轉(zhuǎn)化為用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。 1.2 項(xiàng)目背景 為提高圖書(shū)信息的管理,借閱管理,查詢管理,統(tǒng)計(jì)及工作效率,給予用戶的要求開(kāi)發(fā)《圖書(shū)管理系統(tǒng)》 1.3 定義 SQL :數(shù)據(jù)庫(kù) C# :開(kāi)發(fā)工具 2 總體設(shè)計(jì) 2.1 需求概述 按照需求分析文檔中的規(guī)格要求,使用給定圖書(shū)編號(hào)添加進(jìn)書(shū)、借書(shū)、還書(shū)等等,使得信息傳遞準(zhǔn)確、流暢。同時(shí),系統(tǒng)最大限
23、度地實(shí)現(xiàn)易安裝,易維護(hù)性,易操作性,運(yùn)行穩(wěn)定,安全可靠。 2.2 軟件結(jié)構(gòu)模塊(軟件總體結(jié)構(gòu)細(xì)化) 3 程序界面和代碼描述 3.1.1登錄模塊設(shè)計(jì) 登陸界面是圖書(shū)管理管理系統(tǒng)運(yùn)行后首先打開(kāi)的界面。在這個(gè)界面,用戶必須輸入預(yù)先設(shè)定好的用戶名以及密碼才能進(jìn)入,這樣有利于防止他人在沒(méi)有授權(quán)的情況下進(jìn)入系統(tǒng)。 1 功能說(shuō)明: 用戶輸入登錄帳號(hào)和密碼,連接數(shù)據(jù)庫(kù)進(jìn)入到操作界面。 2 流程圖: 需要的問(wèn)題說(shuō)明: (1) 錄入的密碼和用戶名不能為空; (2) 錄入數(shù)據(jù)后根據(jù)用戶的編號(hào)判斷授權(quán)。 登錄界面如圖所示: 問(wèn)題說(shuō)明:本窗體有兩個(gè)文本框textBoxIP,t
24、extBoxpassword是用作用戶輸入用戶名和密碼。查詢?cè)撚脩羰欠駷楹戏ǖ挠脩簦⑴袛嘤脩舻念?lèi)別和權(quán)限。合法用戶進(jìn)入系統(tǒng)的操作界面區(qū)。pub.dataSql()為連接數(shù)據(jù)庫(kù)的方法函數(shù),以后就不在講解 sqlselsect = "select * from Main_view where 登陸編號(hào)='"; sqlcon = new SqlConnection(pub.dataSql());//連接數(shù)據(jù)庫(kù) sqlcon.Open(); logincon = new SqlCommand(sqlselsect + te
25、xtBoxIP.Text.Trim() + "'", sqlcon); loginer = logincon.ExecuteReader(); while (loginer.HasRows) { loginer.Read(); if ((textBoxpassword.Text).Equals(loginer.GetString(1).Trim())) { guanliindex guan = new
26、 guanliindex(); guan.Show(); return; } else { MessageBox.Show("密碼錯(cuò)誤!"); textBoxpassword.Text = ""; textBoxpassword.Focus();
27、 return; } } sqlcon.Close(); MessageBox.Show("無(wú)此用戶名,請(qǐng)注冊(cè)后再登陸"); 當(dāng)用戶沒(méi)有沒(méi)有填寫(xiě)textBoxIP,textBoxpassword兩個(gè)文本框時(shí)而點(diǎn)擊登錄按鈕將不做任何操作。 3.1.2 圖書(shū)管理系統(tǒng)模塊(系統(tǒng)主操作界面) 管理系統(tǒng)模塊是用戶成功進(jìn)入系統(tǒng)的操作界面:該界面包括了讀者下拉菜單、管理員的下拉菜單和一個(gè)工具欄。該窗體使用的是MDI容器,在這里不在說(shuō)明怎么調(diào)用各個(gè)窗體。MDI容器防止相同的子窗體的重復(fù)出現(xiàn)的處理方法是: 構(gòu)造一個(gè)
28、checkChildFrmExist函數(shù): private bool checkChildFrmExist(string childFrmName) { for (int i = 0; i < this.MdiChildren.Length; i++) { if (this.MdiChildren[i].Text == childFrmName) { this.MdiChildren[i].Activate();
29、 return true; } } return false; } 這個(gè)函數(shù)會(huì)把顯示的每個(gè)子窗體的名字存放在一個(gè)數(shù)組里面,在連接一個(gè)新的子窗體時(shí)先判斷該窗體是否以顯示(MdiChildren[i]里是否存在這個(gè)窗體的名字),如果該窗體已經(jīng)顯示就不用再?gòu)棾鲈摯绑w否則就彈出該子窗體。 最后根據(jù)用戶的權(quán)限顯示相應(yīng)的下拉列名。權(quán)限是根據(jù)用戶登錄時(shí)從數(shù)據(jù)庫(kù)里面讀取的數(shù)據(jù)和用戶的登錄編號(hào)等數(shù)據(jù)傳入到系統(tǒng)操作界面當(dāng)中,進(jìn)行相應(yīng)的處理。根據(jù)傳入的數(shù)據(jù)顯示相應(yīng)的下拉
30、列表: if (public_Class.NU == "1") { this.toolStrip_Xiaoxi.Text = " 讀者編號(hào): " + public_Class.NumID.ToString(); this.menuStrip2.Visible = true; //讀者下拉菜單 this.menuStrip1.Visible = false; } else if (p
31、ublic_Class.NU == "2") { this.toolStrip_Xiaoxi.Text = " 操作員編號(hào): " + public_Class.NumID.ToString(); this.menuStrip1.Visible = true; //操作員下來(lái)菜單 this.menuStrip2.Visible = false; } 3.1.3 圖書(shū)編目模塊(書(shū)籍信息管理) 該模塊是給管理員或者操作員用的。功能是
32、管理員用作添加、修改、刪除相關(guān)信息的模塊。 實(shí)現(xiàn)該模塊首先是要把要維護(hù)圖書(shū)的存放的表查詢出來(lái)。然后給據(jù)文本框的一一對(duì)應(yīng)相應(yīng)的添加。本窗體共有7個(gè)文本框1個(gè)下拉框和兩個(gè)時(shí)間框,他們分別和(圖書(shū)表)的各個(gè)列相對(duì)應(yīng)。 功能的流程圖如下所示: 需要的問(wèn)題說(shuō)明: (1) 操作員填寫(xiě)的相關(guān)信息必須符合要求。 (2) 可以一次性添加多條圖書(shū)的信息。 (3) 點(diǎn)擊工具欄上面的添加按鈕,并沒(méi)有把用戶所輸入的數(shù)據(jù)添加到數(shù)據(jù)庫(kù)里,只是把它放在內(nèi)存里面。最后要點(diǎn)擊保存按鈕。 (4) 只要沒(méi)有彈出“添加成功”信息提示框,表明沒(méi)有添加成功。 功能描述: (1) 功能類(lèi)型:添加數(shù)據(jù), (2) 功
33、能概述:添加圖書(shū)的相關(guān)信息,操作簡(jiǎn)單。 (3) 操作權(quán)限:圖書(shū)管理人員。 (4) 前提業(yè)務(wù):管理模塊 (5) 后繼業(yè)務(wù):無(wú) 界面設(shè)計(jì)描述: 1 動(dòng)作說(shuō)明: 添加:是文本框的內(nèi)容添加到內(nèi)存表里面。 取消操作:放棄添加的內(nèi)容 保存:把一添加的內(nèi)容保存到熟數(shù)據(jù)庫(kù)里 退出:點(diǎn)擊按鈕,退出該窗體 2 界面展示如下圖: 連接數(shù)據(jù)庫(kù),查詢圖書(shū)表中的信息,把查詢的結(jié)果放在DataSet()里面,并取名的映射表明為(Table0)。 添加圖書(shū)代碼: DataRow data = Dataset.Tables["Table0"].NewRow(); //添加
34、一個(gè)新行 data["圖書(shū)編號(hào)"] = AddBookID.Text; data["圖書(shū)名"] = AddBookName.Text; data["作者"] = AddBookZuozhe.Text; data["出版社"] = AddBookShe.Text; data["類(lèi)編號(hào)"] = Btun; data["出版日期"] = dateTimePicker1.Text; data["上架時(shí)間"] = dateT
35、ime.Text; data["價(jià)格"] = AddBookjiage.Text; data["上架編號(hào)"] = AddBookjiaNum.Text; data["是否借出"] = AddBookYesNo.Text; data["備注"] = AddBookbeizhu.Text; Dataset.Tables["Table0"].Rows.Add(data); 這段代碼是把文本框的內(nèi)容添加到Table0表里面還沒(méi)有保存到數(shù)據(jù)庫(kù)里面。 ddlStoreName的下
36、拉框是為吧圖書(shū)的類(lèi)別類(lèi)別添加到下拉列表中: SqlConnection con = new SqlConnection(); con.Open(); SqlCommand cmd = new SqlCommand(" select 類(lèi)名稱 from Bookship",con); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { dd
37、lStoreName.Items.Add(sdr.GetString(0)); } sdr.Close(); con.Close(); 維護(hù)圖書(shū)的方法與上面有相似一處,進(jìn)行數(shù)據(jù)的網(wǎng)格綁定。在這里不一一介紹。 最后保存添加的以上的內(nèi)容,填寫(xiě)的信息必須符合相關(guān)的要求如果出現(xiàn)填寫(xiě)錯(cuò)誤:就提示一下信息 如果是保存到數(shù)據(jù)庫(kù)成功就提示成功的操作。 (注意:添加讀者信息功能相似) 3.1.4 讀者編目模塊(讀者信息管理維護(hù)) 該模塊的功能就是添加用戶,修護(hù)讀者的信息;該模塊的功能與上面模塊的功能代碼相識(shí)。在這里講解讀者的
38、信息維護(hù)功能的實(shí)現(xiàn): 該窗體含有一個(gè)toolStrip工具欄(定位,修改,刪除等按鈕) 流程圖 :改流程圖與圖書(shū)編目模塊相識(shí)。 需要的問(wèn)題說(shuō)明: (1) 操作員填寫(xiě)的讀者相關(guān)信息必須符合要求。 (2)可以一次性修改多條圖書(shū)的信息。 (3)點(diǎn)擊工具欄上面的修改按鈕,并沒(méi)有把用戶所修改的數(shù)據(jù)添加到數(shù)據(jù)庫(kù)里,只是把它放在內(nèi)存里面。最后要點(diǎn)擊保存按鈕。 (4)只要沒(méi)有彈出“修改成功”信息提示框,表明沒(méi)有修改該數(shù)據(jù)。 功能描述: (1) 功能類(lèi)型: 修改數(shù)據(jù)和查詢數(shù)據(jù) (2) 功能概述:修改文本框里的內(nèi)容,更新讀者信息表文件信息 (3) 前提業(yè)務(wù):管理模塊 (4) 后續(xù)業(yè)務(wù):
39、無(wú) (5) 權(quán)限操作:圖書(shū)管理人員 界面設(shè)計(jì)描述: 1操作說(shuō)明 (1)定位按鈕:4個(gè)定位按鈕能夠快速定位到操作員所要維護(hù)的人員 (2)文本框:錄入讀者編號(hào)吧相應(yīng)讀者的信息定位顯示出來(lái) (3)修改:點(diǎn)擊按鈕式把修改后的數(shù)據(jù)添加到內(nèi)存表里面 (4)刪除:點(diǎn)擊按鈕把當(dāng)前讀者從內(nèi)存表里刪除 (5)取消操作:放棄對(duì)該讀者信息的修改 (6)保存:把修改后的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)里面 (7)退出:點(diǎn)擊按鈕,退出該窗體 2 界面展示如下圖所示: 思 想:先要把被修改的讀者的全部信息提取出來(lái),方放進(jìn)相應(yīng)的為本框中,在選定文本框,修改文本框里的內(nèi)容。 ///
40、數(shù)據(jù)的綁定的網(wǎng)格功能 text_ID.DataBindings.Add("Text", Dataset, "Table.讀者編號(hào)"); text_name.DataBindings.Add("Text", Dataset, "Table.姓名"); text_sex.DataBindings.Add("Text", Dataset, "Table.性別"); text_phone.DataBindings.Add("Text", Dataset, "Table.聯(lián)系電話"); text_work.DataBindi
41、ngs.Add("Text", Dataset, "Table.工作單位"); text_home.DataBindings.Add("Text", Dataset, "Table.住址"); text_number.DataBindings.Add("Text", Dataset, "Table.證件號(hào)碼"); text_time.DataBindings.Add("Text", Dataset, "Table.登記日期"); text_ZT.DataBindings.Add("Text", Dataset, "Table.讀者狀態(tài)"
42、); bangD = this.BindingContext[Dataset, "Table"]; /// 修改功能 bangD.EndCurrentEdit(); /// 刪除功能 bangD.RemoveAt(bangD.Position); //取消操作 Dataset.RejectChanges(); 同樣:這段代碼是把文本框的內(nèi)容添加到Table0表里面還沒(méi)有保存到數(shù)據(jù)庫(kù)里面。最后調(diào)用 SqlDa.Update(Dataset, "Table");方法 3.1.5 圖書(shū)借閱模塊 這個(gè)模塊的功能就是讀者借書(shū)。 借書(shū)要求就是 1 每個(gè)讀者按照自
43、己的級(jí)別查詢出最多借書(shū)的數(shù)量,如果有超期沒(méi)有歸還的圖書(shū),則不能借書(shū);如果超過(guò)借書(shū)數(shù)量則不能借,如果圖書(shū)已經(jīng)被借出則不能借閱。 該模塊含有兩個(gè)文本框textbookID,textReadID用來(lái)寫(xiě)入讀者的編號(hào)和圖書(shū)編號(hào)和一個(gè)確定借書(shū)按鈕,dataGridView用來(lái)顯示讀者要借的書(shū)籍,操作員只需要有鼠標(biāo)點(diǎn)擊dataGridView上面的的網(wǎng)格就為讀者借閱的圖書(shū)。 為了代碼精簡(jiǎn),本系統(tǒng)采用借書(shū)的存儲(chǔ)過(guò)程(數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)后面將詳細(xì)講解) 流程圖: 需要的問(wèn)題說(shuō)明: (1)在讀者進(jìn)行借閱圖書(shū)時(shí),先根據(jù)讀者的編號(hào)查詢?cè)撟x者的借閱情況;如果該讀者借書(shū)的數(shù)量已滿則不能再借,如果含有過(guò)期圖書(shū)未歸還
44、則拒絕借閱。 (2)如果該圖書(shū)已經(jīng)被借出,彈出相應(yīng)的提示。 (3)可以一次性借閱多本圖書(shū),接過(guò)的出書(shū)做好標(biāo)識(shí)。 功能描述: (1) 功能類(lèi)型:修改數(shù)據(jù)、查詢數(shù)據(jù)、添加數(shù)據(jù) (2) 功能描述:更新學(xué)生借閱文件(表),圖書(shū)信息文件(表) (3) 前提業(yè)務(wù):管理模塊 (4) 后續(xù)業(yè)務(wù):無(wú) (5) 操作權(quán)限:圖書(shū)管理人員 界面設(shè)計(jì)描述: 操作說(shuō)明: (1) 管理員根據(jù)讀者編號(hào)和圖書(shū)編號(hào)查詢相關(guān)的信息。讀者的借閱數(shù)量,是否有借書(shū)未歸還歷史。圖書(shū)是否借出。 (2) 確定借書(shū)按鈕:點(diǎn)擊此按鈕并提示:借閱是否成功 (3) 推出按鈕:退出當(dāng)前窗體 界面展示如下圖:
45、借書(shū)功能的精簡(jiǎn)代碼如下: sqlcommand = new SqlCommand(); sqlcommand.CommandType = CommandType.StoredProcedure; sqlcommand.Connection = sqlcon; sqlcommand.CommandText="qq11";//儲(chǔ)存過(guò)程 SqlParameter bookID = new SqlParameter("@BookID", Convert.ToInt32(textbookID.Tex
46、t)); SqlParameter readID = new SqlParameter("@ReaderID", Convert.ToInt32(textReadID.Text)); SqlParameter Bookxix = new SqlParameter("@Bookxinxi", SqlDbType.VarChar, 100); Bookxix.Direction = ParameterDirection.Output; sqlcommand.Parameters.Add(bo
47、okID); sqlcommand.Parameters.Add(readID); sqlcommand.Parameters.Add(Bookxix); sqlcon.Open(); sqlcommand.ExecuteNonQuery(); sqlcon.Close(); MessageBox.Show(Bookxix.Value.ToString()); 該代碼為借書(shū)功能的代碼,并還有輸出參數(shù)。如果借書(shū)沒(méi)有成功原因彈出如下圖
48、所示的提示: 如果有過(guò)期未還的圖書(shū),借書(shū)不成功,彈出以下信息如下圖所示: 如果借書(shū)數(shù)量已滿或者借書(shū)成功也會(huì)彈出相應(yīng)的提示框。 (流程圖見(jiàn)概要設(shè)計(jì)) 3.1.6 圖書(shū)歸還模塊 該模塊是為讀者歸還圖書(shū)。 歸還圖書(shū)思想:歸還讀書(shū)前要查詢?cè)撚脩羰欠窠栝喅冢绻呀?jīng)超期就要根據(jù)讀者的類(lèi)型查詢出罰金公式和計(jì)算出超期天數(shù)及罰金的總金額;并把罰金的相關(guān)信息存儲(chǔ)起來(lái);如果沒(méi)有超期就正常歸還。 該模塊含有兩個(gè)文本框textbookID,textReadID用來(lái)寫(xiě)入讀者的編號(hào)和圖書(shū)編號(hào)和一個(gè)確定歸還按鈕,dataGridView用來(lái)顯示讀者已經(jīng)借的書(shū)籍,操作員只需要有鼠標(biāo)點(diǎn)擊
49、dataGridView上面的的網(wǎng)格就為讀者要?dú)w還閱的圖書(shū)。 textBox1_newmoney為本框時(shí)輸入讀者罰金金額。 流程圖如下: 需要的問(wèn)題說(shuō)明: (1) 根據(jù)該讀者歸還圖書(shū)的編號(hào)查詢?cè)撟x者是否借閱超期,如果超期結(jié)算處超期的金額。 (2) 根據(jù)讀者的編號(hào),查詢讀者所借閱的圖書(shū)信息,并顯示在dataGridView表格里。用鼠標(biāo)點(diǎn)擊歸還的圖書(shū)。 (3) 更新歷史借書(shū)表 功能描述: (1) 功能類(lèi)型:修改數(shù)據(jù),添加數(shù)據(jù)信息 (2) 功能概述:完成讀者的還書(shū)業(yè)務(wù)并計(jì)算出超期天數(shù)和罰金金額,如果沒(méi)有超期,就不用計(jì)算。 (3) 前提業(yè)務(wù):管理模塊 (4) 后繼業(yè)務(wù):無(wú)
50、 (5) 操作權(quán)限:圖書(shū)管理人員 界面設(shè)計(jì)描述: 操作說(shuō)明: (1) 輸入讀者編號(hào)查詢?cè)撟x者的當(dāng)前借閱歷史,動(dòng)鼠標(biāo)點(diǎn)擊讀者要?dú)w還的圖書(shū)。系統(tǒng)自動(dòng)計(jì)算借閱是否超期和罰金金額。 (2) 讀者借閱超期,借提示下面的消息框 (3) 如有罰金,并輸入罰金金額和備注信息 (4) 確定歸還:歸還圖書(shū)按鈕 (5) 推出按鈕:推出該窗體 界面展示如下圖所示: 超期罰金提示框如下圖所示 計(jì)算超期罰金代碼函數(shù): private decimal calPenalty(DateTime rTime,double money) {
51、//計(jì)算過(guò)期天數(shù) int overDays = 365 * (System.DateTime.Now.Year - rTime.Year) + System.DateTime.Now.DayOfYear - rTime.DayOfYear; //根據(jù)過(guò)期天數(shù)計(jì)算罰金 decimal fee = (decimal) money * overDays; return (fee); } 歸還圖書(shū)也是采用存儲(chǔ)過(guò)程下面數(shù)據(jù)設(shè)計(jì)將詳細(xì)介紹。 3.1.7 圖書(shū)查詢模塊
52、該模塊給管理員和讀者都能使用的模塊。能夠快速的查詢到每本書(shū)的相關(guān)信息(是否被借閱、簡(jiǎn)介)等等。 多功能的查詢,能夠根據(jù)圖書(shū)編號(hào)查詢、根據(jù)作者查詢、根據(jù)圖書(shū)名查詢、根據(jù)出版社查詢等等。 圖書(shū)查詢的流程圖為 需要問(wèn)題說(shuō)明: (1) 查詢:可以查詢?nèi)繄D書(shū)和未借閱圖書(shū)的范圍 (2) 精確查詢:可以按照?qǐng)D書(shū)編號(hào)、圖書(shū)名稱、作者、出版社查詢圖書(shū)。 (3) 查詢的結(jié)果集放在dataGridView (4) 輸入信息正確 (5) 進(jìn)行的是模糊精確匹配 (6) (讀者)可以查詢自己的借書(shū)歷史、熱門(mén)圖書(shū)查詢、新書(shū)查詢 (7) (管理員)可以查詢所有用戶的借書(shū)歷史、熱門(mén)圖書(shū)、新
53、書(shū)查詢。 功能描述: (1) 功能類(lèi)型:查詢數(shù)據(jù) (2) 功能概述:顯示查詢結(jié)果集 (3) 前提業(yè)務(wù):無(wú) (4) 后繼業(yè)務(wù):無(wú) (5) 操作權(quán)限:面向所有用戶 界面設(shè)計(jì)描述: 操作說(shuō)明: (1) 單選按鈕:用戶選擇查詢圖書(shū)的范圍(分為全部圖書(shū)和未接圖書(shū),默認(rèn)為全部圖書(shū)) (2) 下拉列表:用戶選擇查詢圖書(shū)的方式(圖書(shū)編號(hào)、圖書(shū)名稱、出版社、作者) (3) 下拉列表:用戶選擇的圖書(shū)類(lèi)型 (4) 錄入文本框:用戶查詢的錄入相關(guān)信息 界面展示如下圖所示: 查詢?nèi)缦拢? 首先是把所有圖書(shū)查詢出來(lái)放入到內(nèi)存中再根據(jù)內(nèi)存中的表
54、查詢出來(lái) 放入到dataGridView中。 SqlDa = new SqlDataAdapter(sql, sqlcon); SqlCommandBuilder ScomdB = new SqlCommandBuilder(SqlDa); Dataset = new DataSet(); SqlDa.Fill(Dataset, "Table"); DataView dv_book = Dataset.Tables["Table"].DefaultView; switch
55、(comboBox2.SelectedItem.ToString()) { case "圖書(shū)編號(hào)": dv_book.RowFilter = " 圖書(shū)編號(hào) like'" + textBox1.Text + "%'"; break; case "圖書(shū)名": dv_book.RowFilter = "圖書(shū)名 like '" + textBox1.Text + "%'"; break; case "作者":
56、 dv_book.RowFilter = "作者 like '" + textBox1.Text + "%'"; break; case "出版社": dv_book.RowFilter = "出版社 like '" + textBox1.Text + "%'"; break; default: dv_book.RowFilter = ""; break;
57、 } 3.1.8 管理員進(jìn)行讀者查詢模塊 管理員可以查詢?cè)撃K查詢讀者的相關(guān)信息(除讀者的密碼),例如(聯(lián)系方式)。該模塊于圖書(shū)查詢模塊基本相識(shí) 流程圖如下 需要問(wèn)題說(shuō)明: (1) 條件是按用戶編號(hào)進(jìn)行查詢。 (2) 本窗體采用的是網(wǎng)格布局dataGridView;管理員根據(jù)用戶的編號(hào)查詢讀者的相關(guān)信息和預(yù)覽全部讀者的信息。 (3) 采用的是分頁(yè)操作 (4) 不可顯示用戶的密碼。 功能說(shuō)明描述: (1) 功能類(lèi)型:查詢數(shù)據(jù) (2) 功能概述:顯示查詢數(shù)據(jù)結(jié)構(gòu) (3) 前提業(yè)務(wù):管理模塊 (4) 后繼業(yè)務(wù):無(wú) (5) 操作權(quán)
58、限:圖書(shū)管理人員 界面設(shè)計(jì)描述: 操作說(shuō)明: (1) 文本框:錄入查詢信息的要求,條件是安讀者編號(hào)進(jìn)行查詢 (2) 確定按鈕:保存錄入讀者信息 (3) 推出按鈕:退出操作界面 相關(guān)代碼在這里不在做相關(guān)的介紹介紹。 3.1.9 讀者自己信息維護(hù)模塊 這個(gè)模塊是只是針對(duì)讀者用的用來(lái)是讀者修改自己的密碼信息; 在用戶修改自己的密碼需要2次輸入新的密碼,判斷是否輸入一直,否則修改不成功。 需要的說(shuō)明: (1) 修改密碼時(shí)要兩次輸入新的密碼和舊密碼 (2) 兩次輸入的密碼必須一致 (3) 密碼的長(zhǎng)度必須大于6位 功能描述:
59、(1) 功能類(lèi)型:修改數(shù)據(jù) (2) 功能概述:修改用戶或者管理員的密碼 (3) 前提業(yè)務(wù):管理系統(tǒng) (4) 后繼業(yè)務(wù):無(wú) (5) 操作權(quán)限:面向所有用戶(只能修改自己的密碼) 界面設(shè)計(jì)描述: 操作說(shuō)明: (1) 為本框:錄入密碼信息 (2) 確定修改按鈕:信息保存到數(shù)據(jù)庫(kù)。 窗體界面如下圖所示: 修改的基本操作代碼如下: if ((textBox2.Text.Trim())!=(textBox3.Text.Trim())) { MessageBox.Show("你的密碼輸入不一致");
60、 return; } if (textBox3.Text.Length < 6) { MessageBox.Show("密碼過(guò)短,請(qǐng)輸入大于6位數(shù)字的密碼"); return; } try { sqlcon.Open(); SqlCommand scd = new SqlCo
61、mmand("update ReadPassword_view set 密碼='" + textBox2.Text.Trim() + "' where 讀者編號(hào)='" + public_Class.NumID + "'", sqlcon); int res = scd.ExecuteNonQuery(); string s = res > 0 ? "操作成功!" : "找不到該用戶"; MessageBox.Show(s); } catch
62、(Exception ex) { MessageBox.Show("操作失敗,請(qǐng)檢查網(wǎng)絡(luò)連接是否正常!"); } finally { if (sqlcon.State == ConnectionState.Open) sqlcon.Close(); } 如果用戶輸入的密碼2次不一致或者密碼輸入過(guò)簡(jiǎn)單,這不允許該用戶修改并彈出一下信息提示: 如果操作成功也彈出修改成功的提示:密碼修改成功。
63、 (管理員的的密碼修改于讀者的一直以后不在說(shuō)明) 3.1.10 讀書(shū)類(lèi)型和讀書(shū)類(lèi)型設(shè)置模塊模 讀者類(lèi)型和圖書(shū)分類(lèi)的操作功能是:修改、添加、刪除讀者的分類(lèi)或者圖書(shū)分類(lèi)設(shè)置,分別是放在兩個(gè)窗體當(dāng)中。流程圖和代碼編寫(xiě)與讀者編目有許多相識(shí)之處,所以不在講解。 3.1.11 統(tǒng)計(jì)模塊 該模塊的作用是分別統(tǒng)計(jì),統(tǒng)計(jì)出本年的借閱信息、熱門(mén)圖書(shū)信息,歷史的支出與收支金額信息。 A 本年度借閱信息設(shè)計(jì): 需要說(shuō)明: 1 這個(gè)統(tǒng)計(jì)的功能是根據(jù)借閱歷史表和圖書(shū)信息表里的相關(guān)信息統(tǒng)計(jì)出來(lái)的,條件是今年以內(nèi)。 2 統(tǒng)計(jì)出信息有:今年購(gòu)書(shū)圖書(shū)總數(shù)、外借圖書(shū)總數(shù)、購(gòu)置圖書(shū)總支出、預(yù)計(jì)罰款總收
64、入、實(shí)際罰款總收入、超期歸還總數(shù)、超期未歸還總數(shù)。 3 統(tǒng)計(jì)思想:采用數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程統(tǒng)計(jì)(Stat_nowyear)。 功能描述: 1 功能類(lèi)型:查詢數(shù)據(jù) 2 功能概述:統(tǒng)計(jì)顯示相關(guān)信息 3 操作權(quán)限:圖書(shū)管理員 界面設(shè)計(jì)描述: 1 操作說(shuō)明: 2 界面展示如下圖所示: B熱門(mén)圖書(shū)統(tǒng)計(jì)設(shè)計(jì)(含有打印功能): 需要說(shuō)明: 1 這個(gè)子模塊的功能是統(tǒng)計(jì)今年最好最熱門(mén)的圖書(shū)的全部信息。條件是今年。 2 統(tǒng)計(jì)出信息有:圖書(shū)的全部信息。 3 統(tǒng)計(jì)思想:采用數(shù)據(jù)庫(kù)的試圖,根據(jù)每本書(shū)被借的次數(shù)安降序排列。 4 統(tǒng)計(jì)出來(lái)的信息放入到dat
65、aGridView里面;并卻能夠支持打印出表格的數(shù)據(jù)。 功能說(shuō)明描述: 1 功能類(lèi)型:查詢數(shù)據(jù) 2 功能概述:統(tǒng)計(jì)顯示相關(guān)信息 3 操作權(quán)限:面向所有用戶 打印功能接口: public static void ExportData(DataGridView srcDgv, string fileName) //導(dǎo)出數(shù)據(jù),傳入一個(gè)datagridview和一個(gè)文件路徑 { Excel.Application excel = new Excel.Application(); excel.Appl
66、ication.Workbooks.Add(true); excel.Visible = true; for (int i = 0; i < srcDgv.ColumnCount; i++) { excel.Cells[1, i + 1] = srcDgv.Columns[i].HeaderText; } for (int i = 0; i < srcDgv.RowCount - 1; i++) { for (int j = 0; j < srcDgv.ColumnCount; j++) { excel.Cells[i + 2, j + 1] = srcDgv[j, i].Value.ToString(); } }
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測(cè)量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末豐收?qǐng)@作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語(yǔ)文上冊(cè)第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語(yǔ)文下冊(cè)課文5識(shí)字測(cè)評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版