軟件工程 系統(tǒng)設計

上傳人:仙*** 文檔編號:68865679 上傳時間:2022-04-05 格式:DOCX 頁數(shù):35 大?。?05.59KB
收藏 版權申訴 舉報 下載
軟件工程 系統(tǒng)設計_第1頁
第1頁 / 共35頁
軟件工程 系統(tǒng)設計_第2頁
第2頁 / 共35頁
軟件工程 系統(tǒng)設計_第3頁
第3頁 / 共35頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《軟件工程 系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《軟件工程 系統(tǒng)設計(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、軟件工程 系統(tǒng)設計一、實驗目的n 掌握軟件體系結構模型;n 掌握使用過程設計工具描述模塊的數(shù)據(jù)結構和算法;n 了解人機界面設計;n 掌握概要設計說明書和詳細設計說明書的撰寫二、實驗原理概要設計n 軟件概要設計的基本要點n 基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成預定的任務,確定系統(tǒng)的物理配置方案,確定系統(tǒng)的結構。n 系統(tǒng)分析與設計的關系n 系統(tǒng)分析的基本任務是定義用戶所需要的軟件任務,也就是回答系統(tǒng)必須“做什么”這個問題。系統(tǒng)設計的基本任務是設計實現(xiàn)目標系統(tǒng)的具體方案,也就是回答“怎樣做”這個問題。二、實驗原理詳細設計n 軟件詳細設計的基本要點n 關鍵任務是確定怎樣具體地實現(xiàn)用戶需要的軟

2、件系統(tǒng)。n 除了保證軟件可靠性之外,使程序可讀性好、容易理解、容易測試、容易修改和維護。n 結構化程序設計技術是實現(xiàn)上述目標的基本保證,是進行詳細設計的邏輯基礎。n 人機界面設計是接口設計的一個重要組成部分。在設計人機界面的過程中,必須充分重視并認真處理好系統(tǒng)響應時間、用戶幫助設施、出錯信息處理和命令交互等4個設計問題。n 過程設計在數(shù)據(jù)設計、體系結構設計和接口設計完成之后進行,任務是設計算法。n 過程設計的工具可分為圖形、表格和語言3類,應根據(jù)需要選用適當?shù)墓ぞ?。n 人機界面設計n 人機界面的設計質量,直接影響用戶對軟件產(chǎn)品的評價。n 人機界面設計是接口設計的一個重要的組成部分。對于交互式系

3、統(tǒng)來說,人機界面設計和數(shù)據(jù)設計、體系結構設計及過程設計一樣重要。n 使用基于原型的系統(tǒng)化的設計策略,是成功地設計人機界面的關鍵。n 用戶界面設計是一個迭代的過程,也就是說,通常先創(chuàng)建設計模型,再用原型實現(xiàn)這個設計模型,并由用戶試用和評估,然后根據(jù)用戶意見進行修改,直到用戶滿意為止。n 過程設計n 過程設計的任務是要設計出程序的“藍圖”,以后程序員將根據(jù)這個藍圖寫出實際的程序代碼。過程設計的結果基本上決定了最終的程序代碼的質量。n 衡量程序的質量不僅要看它的邏輯是否正確,性能是否滿足要求,更主要的是要看它是否容易閱讀和理解。n 過程設計的目標不僅僅是正確實現(xiàn)每個模塊的功能,更重要的是盡可能簡明易

4、懂。n 結構程序設計技術是實現(xiàn)上述目標的關鍵技術。n 過程設計工具n 描述程序處理過程的工具稱為過程設計工具,它們可以分為圖形、表格和語言三類。n 不論是哪類工具,對它們的基本要求都是要提供對設計的無歧義的描述,也就是應該指明控制流程、處理功能、數(shù)據(jù)組織以及其他方面的實現(xiàn)細節(jié),從而在編碼階段能把對設計的描述直接翻譯成程序代碼。n 這類工具應該盡可能直觀、易學、易懂。三、實驗內(nèi)容與步驟n 軟件體系結構模型n 模塊過程設計與界面設計n 撰寫系統(tǒng)設計說明書圖書館管理系統(tǒng)C概要設計說明書一、引言1.1編寫目的為完善圖書管理系統(tǒng)軟件的開發(fā)途徑及應用方法,以提高開發(fā)效率,使應用更為方便。根據(jù)需求規(guī)格說明書

5、,在仔細考慮討論之后,我們又進一步對圖書管理系統(tǒng)軟件的功能劃分、數(shù)據(jù)結構、軟件總體結構有了進一步的認識。我們把討論的結果記錄下來,作為概要設計說明書,并作為進一步詳細設計軟件的基礎。1.2背景說明:a. 待開發(fā)軟件系統(tǒng)的名稱:圖書管理系統(tǒng)b. 列出此項目的任務提出者是本小組成員,開發(fā)者也為本小組成員、用戶是學校圖書館。1.3定義開發(fā)(develop):除了單純的開發(fā)活動外,還包括維護活動。項目(project):向顧客交付的最終的全部產(chǎn)品,包括程序及各種文檔,以及開發(fā)活動所需資源經(jīng)費等各種信息。項目開發(fā)計劃(project development plan):把項目與過程聯(lián)系起來的計劃方案。產(chǎn)

6、品生命周期(product life cycle):產(chǎn)品從構思到不可在使用的持續(xù)時間。1.4參考資料軟件工程導論 張海藩 編著 清華大學出版社 數(shù)據(jù)庫系統(tǒng)概論 薩師煊 王 珊 編著 高等教育出版社 Visual Basic 數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航(第二版) 劉 韜駱娟何旭洪 編著 人民郵電出版社 C#程序設計教程曾強聰編著中國水利水電出版社二總體設計2.1需求規(guī)定主要輸入輸出項目:圖書信息:(圖書編號、圖書名稱、圖書ISBN號、作者、出版社、類型、價格、庫存量、副本總量、圖書總數(shù))學生信息:(學生編號、學生姓名、性別、入校時間、畢業(yè)時間)借書登記:(借書編號、學生編號、結束時間、歸還時間、是否

7、歸還)還書登記:(圖書編號、圖書名稱、歸還時間、作者、出版社、2.2運行環(huán)境硬件環(huán)境:PC機配置:奔騰133 、內(nèi)存1GB以上PC機,內(nèi)存要求不得低于1GB,硬盤大于20G的PC臺式機和便攜式電腦;軟件環(huán)境: Windows2000XP SQL Server2000 C#2.3基本設計概念和處理流程該系統(tǒng)的主程序流程圖如下圖所示:2.4功能需求與程序的關系本條用一張如下的矩陣圖說明各項功能需求的實現(xiàn)同各塊程序的分配關系:創(chuàng)建查找修改刪除圖書信息管理(管理員)學生信息管理(管理員)學生信息查詢(學生)查詢圖書信息(學生)歸還圖書(管理員)借閱圖書(管理員)2.5人工處理過程管理員登錄:圖書管理員

8、需要手動輸入登錄信息驗證身份登錄系統(tǒng)后方能進行操作。圖書入庫:對于新購圖書,管理員需要手動對其進行分類進行編號,并把圖書基本信息錄入計算機。修改圖書信息:學生借閱圖書時,管理員需要對該圖書進行登記,記錄被借閱圖書信息和學生信息。當學生歸還圖書時,同樣需要對圖書信息進行修改。三接口設計3.1用戶接口向用戶提供命令軟件回答對應信息操作員登記添加用戶學生登記添加學生信息學生查詢學生信息查詢圖書登記管理員登記圖書信息借閱登記管理員登記學生的借閱信息借閱查詢管理員查詢學生的借閱情況3.2外部接口接口傳遞信息軟件接口:與數(shù)據(jù)庫接口圖書信息學生信息3.3內(nèi)部接口接口傳遞信息圖書信息管理錄入圖書信息:(圖書編

9、號、圖書名稱、圖書ISBN號、作者、出版社、類型、價格、庫存量、副本總量、圖書總數(shù))圖書信息管理修改圖書信息:(圖書編號、圖書名稱、圖書ISBN號、作者、出版社、類型、價格、庫存量、副本總量、圖書總數(shù))學生信息管理添加學生信息:(學生編號、學生姓名、性別、入校時間、畢業(yè)時間)學生信息管理修改學生信息:(學生編號、學生姓名、性別、入校時間、畢業(yè)時間)借書登記登記借閱圖書以及學生信息借書登記:(借書編號、學生編號、結束時間、歸還時間、是否歸還)還書登記修改借書登記的信息還書登記:(圖書編號、圖書名稱、歸還時間、作者、出版社、)四 運行設計4.1運行模塊組合對系統(tǒng)施加不同的外界運行控制時所引起的各種

10、不同的運行模塊組合,以及每種運行所歷經(jīng)的內(nèi)部模塊和支持軟件。4.2運行控制運行控制控制方法學生信息管理管理員對學生信心進行管理,包括增加學生用戶,修改用戶信息,以及刪除學生信息學生信息查詢用戶可以對學生的信息進行查詢圖書信息登記錄入新的圖書信息,以及對已有圖書的各項信息進行修改,查詢,刪除等圖書信息查詢用戶對所要借閱的圖書信息進行查詢借閱登記管理員登記學生所借圖書以及學生本人的信息借閱查詢管理員對學生或者所對應圖書的信息進行查詢4.3運行時間檢索任務所需時間:3秒執(zhí)行任務所需時間:3秒五系統(tǒng)數(shù)據(jù)結構設計5.1邏輯結構設計要點1.圖書信息表(tBook),其字段列表如表5-1-1所示。表5-1-

11、1 圖書信息表的結構序號字段名稱字段說明類型位數(shù)屬性備注1cBooksID圖書編號文本7必須非空2cBooksName圖書名稱文本20必須非空3cBooksISBN圖書ISBN號文本15可為空4cBooksAuthor圖書作者文本10可為空5cBooksPublisher圖書出版社文本20可為空6cBooksType圖書類型文本16可為空7smBooksPrice圖書價格貨幣可為空8iBooksStoreQuan圖書庫存量整數(shù)可為空9iBooksLeftQuant圖書副本數(shù)量整數(shù)可為空10iBooksTotalQuan圖書總數(shù)整數(shù)可為空2.圖書借閱登記表(tBorrow),其字段列表如表5-1

12、-2所示。表5-1-2 圖書借閱登記表的結構序號字段名稱字段說明類型位數(shù)屬性備注1cBorrowID借書編號文本6必須非空2cVipID學生編號文本6必須非空3cBooksID圖書編號文本7必須非空4cBorrwTime借書時間時間日期可為空5cReturnTime還書時間時間日期可為空6cReturn是否歸還文本1可為空3.圖書歸還登記表(tReturn),其字段列表如表5-1-3所示。表5-1-3 圖書歸還登記表的結構序號字段名稱字段說明類型位數(shù)屬性備注1cBorrowID借書編號文本6必須非空2cVipID學生編號文本6必須非空3cBooksID圖書編號文本7必須非空4cBorrwTim

13、e借書時間時間日期可為空5cReturnTime還書時間時間日期必須非空6cReturn是否歸還文本1必須非空7cNoReturn歸還異常文本8可為空4.學生信息表(tVip),其字段列表如表5-1-4所示。表5-1-4 學生信息表的結構序號字段名稱字段說明類型位數(shù)屬性備注1cVipID學生編號文本6必須非空2cVipName學生姓名文本10必須非空4cVipSex學生性別文本1可為空5vipAddTime學生入學時間時間日期必須非空6vipEndTime學生畢業(yè)時間時間日期必須非空5.管理員信息表(tOperators),其字段列表如表5-1-5所示。表5-1-5 管理員信息表的結構序號字段

14、名稱字段說明類型位數(shù)屬性備注1cOperatorID管理員編號文本5必須非空2cOperatorName管理員姓名文本10必須非空3cOperatorPassword密碼文本6必須非空4cOperatorAddTime管理員加入時間時間日期10必須非空5.2數(shù)據(jù)結構與程序的關系主模塊:連接數(shù)據(jù)庫學生管理模塊:學生信息管理模塊:管理員輸入帳號密碼進入系統(tǒng)后可以對學生信息進行管理,包括修改,插入,刪除等。學生信息查詢模塊:管理員可以對學生信息進行查詢,學生輸入學生的賬號密碼后,成功登陸后,學生可以對其信息進行查詢,輸入學生編號后,對應輸出學生姓名,性別,入校時間,畢業(yè)時間等。圖書管理模塊:圖書信息

15、登記模塊:管理員對圖書信息進行登記,輸入相應的圖書信息,如圖書書名,作者,出版社。單價等信息。圖書信息查詢模塊:學生和管理員都可以進行此操作,通過查詢數(shù)據(jù)庫,匹配要查找的圖書信息,包括讀入圖書號,圖書作者,圖書出版社 ,圖書單價等基本信息。借閱管理模塊:借閱登記模塊:管理員對圖書的借閱情況進行登記,記錄借書者的學生編號,學生姓名等學生信息以及圖書編號,圖書名稱,作者,出版社等圖書信息,并修改圖書狀態(tài)。借閱查詢模塊:管理員和學生都可以對圖書的借閱情況進行查詢,輸入讀者號,對應輸出學生姓名,性別,入校時間,畢業(yè)時間。輸入圖書號,對應輸出圖書書名,圖書作者,圖書出版社,圖書單價,圖書狀態(tài)。歸還管理模

16、塊:讀入圖書編號,對應輸出借書記錄表中的學生編號,借書時間,應歸還時間等,修改圖書狀態(tài),刪除借書記錄表中的學生編號,圖書編號,借書時間等信息。六 系統(tǒng)出錯處理設計6.1出錯信息出錯的位置出錯的原因提示信息用戶名輸入數(shù)據(jù)庫中不存在的用戶名You are a not system user用戶名密碼輸入的密碼不正確Password eroor,please check your passwprd添加用戶輸入已存在的用戶信息用戶已存在添加信息添加信息必填信息不完整信息必須完整普通用戶操作權限使用管理員的你沒有該權限出錯信息處理:學生或管理人員輸入的帳號和密碼不匹配或輸入不存在的帳號,系統(tǒng)應友好進行提

17、示,如提示您輸入的帳號或密碼錯誤,請重新輸入!6.2補救措施故障出現(xiàn)后可能采取的變通措施,包括:a. 后備技術說明準備采用的后備技術,當原始系統(tǒng)數(shù)據(jù)萬一丟失時啟用的副本的建立和啟動的技術,例如周期性地把磁盤信息記錄到磁帶上去就是對于磁盤媒體的一種后備技術;b. 降效技術說明準備采用的后備技術,使用另一個效率稍低的系統(tǒng)或方法來求得所需結果的某些部分,例如一個自動系統(tǒng)的降效技術可以是手工操作和數(shù)據(jù)的人工記錄;c. 恢復及再啟動技術說明將使用的恢復再啟動技術,使軟件從故障點恢復執(zhí)行或使軟件從頭開始重新運行的方法。圖書管理系統(tǒng)D詳細設計說明1.1 編寫目的圖書管理系統(tǒng)詳細設計是設計的第三個階段,這個階

18、段的主要任務是在圖書管理系統(tǒng)概要設計書基礎上,對概要設計中產(chǎn)生的功能模塊進行過程描述,設計功能模塊的內(nèi)部細節(jié),包括算法和詳細數(shù)據(jù)結構,為編寫源代碼提供必要的說明。概要設計解決了軟件系統(tǒng)總體結構設計的問題,包括整個軟件系統(tǒng)的結構、模塊劃分、模塊功能和模塊間的聯(lián)系等。詳細設計則要解決如何實現(xiàn)各個模塊的內(nèi)部功能,即模塊設計。具體的說,模塊設計就是要為已經(jīng)產(chǎn)生的圖書管理各子系統(tǒng)設計詳細的算法。但這并不等同于系統(tǒng)實現(xiàn)階段用具體的語言編碼,它只是對實現(xiàn)細節(jié)作精確的描述,這樣編碼階段就可以將詳細設計中對功能實現(xiàn)的描述,直接翻譯、轉化為用某種程序設計語言書寫的程序。1.2 項目背景為提高圖書信息的管理,借閱管

19、理,查詢管理,統(tǒng)計及工作效率,給予用戶的要求開發(fā)圖書管理系統(tǒng)1.3 定義SQL :數(shù)據(jù)庫C# :開發(fā)工具2 總體設計2.1 需求概述按照需求分析文檔中的規(guī)格要求,使用給定圖書編號添加進書、借書、還書等等,使得信息傳遞準確、流暢。同時,系統(tǒng)最大限度地實現(xiàn)易安裝,易維護性,易操作性,運行穩(wěn)定,安全可靠。2.2 軟件結構模塊(軟件總體結構細化)3 程序界面和代碼描述3.1.1登錄模塊設計登陸界面是圖書管理管理系統(tǒng)運行后首先打開的界面。在這個界面,用戶必須輸入預先設定好的用戶名以及密碼才能進入,這樣有利于防止他人在沒有授權的情況下進入系統(tǒng)。1 功能說明:用戶輸入登錄帳號和密碼,連接數(shù)據(jù)庫進入到操作界面

20、。2 流程圖:需要的問題說明:(1) 錄入的密碼和用戶名不能為空;(2) 錄入數(shù)據(jù)后根據(jù)用戶的編號判斷授權。登錄界面如圖所示:問題說明:本窗體有兩個文本框textBoxIP,textBoxpassword是用作用戶輸入用戶名和密碼。查詢該用戶是否為合法的用戶,并判斷用戶的類別和權限。合法用戶進入系統(tǒng)的操作界面區(qū)。pub.dataSql()為連接數(shù)據(jù)庫的方法函數(shù),以后就不在講解sqlselsect = select * from Main_view where 登陸編號=; sqlcon = new SqlConnection(pub.dataSql();/連接數(shù)據(jù)庫 sqlcon.Open()

21、; logincon = new SqlCommand(sqlselsect + textBoxIP.Text.Trim() + , sqlcon); loginer = logincon.ExecuteReader(); while (loginer.HasRows) loginer.Read(); if (textBoxpassword.Text).Equals(loginer.GetString(1).Trim() guanliindex guan = new guanliindex(); guan.Show(); return; else MessageBox.Show(密碼錯誤!);

22、 textBoxpassword.Text = ; textBoxpassword.Focus(); return; sqlcon.Close(); MessageBox.Show(無此用戶名,請注冊后再登陸);當用戶沒有沒有填寫textBoxIP,textBoxpassword兩個文本框時而點擊登錄按鈕將不做任何操作。3.1.2 圖書管理系統(tǒng)模塊(系統(tǒng)主操作界面)管理系統(tǒng)模塊是用戶成功進入系統(tǒng)的操作界面:該界面包括了讀者下拉菜單、管理員的下拉菜單和一個工具欄。該窗體使用的是MDI容器,在這里不在說明怎么調用各個窗體。MDI容器防止相同的子窗體的重復出現(xiàn)的處理方法是:構造一個checkChil

23、dFrmExist函數(shù):private bool checkChildFrmExist(string childFrmName) for (int i = 0; i this.MdiChildren.Length; i+) if (this.MdiChildreni.Text = childFrmName) this.MdiChildreni.Activate(); return true; return false; 這個函數(shù)會把顯示的每個子窗體的名字存放在一個數(shù)組里面,在連接一個新的子窗體時先判斷該窗體是否以顯示(MdiChildreni里是否存在這個窗體的名字),如果該窗體已經(jīng)顯示就不用

24、再彈出該窗體否則就彈出該子窗體。最后根據(jù)用戶的權限顯示相應的下拉列名。權限是根據(jù)用戶登錄時從數(shù)據(jù)庫里面讀取的數(shù)據(jù)和用戶的登錄編號等數(shù)據(jù)傳入到系統(tǒng)操作界面當中,進行相應的處理。根據(jù)傳入的數(shù)據(jù)顯示相應的下拉列表: if (public_Class.NU = 1) this.toolStrip_Xiaoxi.Text = 讀者編號: + public_Class.NumID.ToString(); this.menuStrip2.Visible = true; /讀者下拉菜單 this.menuStrip1.Visible = false; else if (public_Class.NU = 2)

25、 this.toolStrip_Xiaoxi.Text = 操作員編號: + public_Class.NumID.ToString(); this.menuStrip1.Visible = true; /操作員下來菜單 this.menuStrip2.Visible = false; 3.1.3 圖書編目模塊(書籍信息管理)該模塊是給管理員或者操作員用的。功能是管理員用作添加、修改、刪除相關信息的模塊。實現(xiàn)該模塊首先是要把要維護圖書的存放的表查詢出來。然后給據(jù)文本框的一一對應相應的添加。本窗體共有7個文本框1個下拉框和兩個時間框,他們分別和(圖書表)的各個列相對應。功能的流程圖如下所示:需要

26、的問題說明:(1) 操作員填寫的相關信息必須符合要求。(2) 可以一次性添加多條圖書的信息。(3) 點擊工具欄上面的添加按鈕,并沒有把用戶所輸入的數(shù)據(jù)添加到數(shù)據(jù)庫里,只是把它放在內(nèi)存里面。最后要點擊保存按鈕。(4) 只要沒有彈出“添加成功”信息提示框,表明沒有添加成功。功能描述:(1) 功能類型:添加數(shù)據(jù),(2) 功能概述:添加圖書的相關信息,操作簡單。(3) 操作權限:圖書管理人員。(4) 前提業(yè)務:管理模塊(5) 后繼業(yè)務:無界面設計描述:1 動作說明:添加:是文本框的內(nèi)容添加到內(nèi)存表里面。取消操作:放棄添加的內(nèi)容保存:把一添加的內(nèi)容保存到熟數(shù)據(jù)庫里退出:點擊按鈕,退出該窗體2 界面展示如

27、下圖:連接數(shù)據(jù)庫,查詢圖書表中的信息,把查詢的結果放在DataSet()里面,并取名的映射表明為(Table0)。添加圖書代碼: DataRow data = Dataset.TablesTable0.NewRow();/添加一個新行 data圖書編號 = AddBookID.Text; data圖書名 = AddBookName.Text; data作者 = AddBookZuozhe.Text; data出版社 = AddBookShe.Text; data類編號 = Btun; data出版日期 = dateTimePicker1.Text; data上架時間 = dateTime.Te

28、xt; data價格 = AddBookjiage.Text; data上架編號 = AddBookjiaNum.Text; data是否借出 = AddBookYesNo.Text; data備注 = AddBookbeizhu.Text; Dataset.TablesTable0.Rows.Add(data);這段代碼是把文本框的內(nèi)容添加到Table0表里面還沒有保存到數(shù)據(jù)庫里面。ddlStoreName的下拉框是為吧圖書的類別類別添加到下拉列表中: SqlConnection con = new SqlConnection(); con.Open(); SqlCommand cmd =

29、new SqlCommand( select 類名稱 from Bookship,con); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read() ddlStoreName.Items.Add(sdr.GetString(0); sdr.Close(); con.Close();維護圖書的方法與上面有相似一處,進行數(shù)據(jù)的網(wǎng)格綁定。在這里不一一介紹。最后保存添加的以上的內(nèi)容,填寫的信息必須符合相關的要求如果出現(xiàn)填寫錯誤:就提示一下信息如果是保存到數(shù)據(jù)庫成功就提示成功的操作。(注意:添加讀者信息功能相似)3.1.4 讀者編目模塊(讀者

30、信息管理維護)該模塊的功能就是添加用戶,修護讀者的信息;該模塊的功能與上面模塊的功能代碼相識。在這里講解讀者的信息維護功能的實現(xiàn):該窗體含有一個toolStrip工具欄(定位,修改,刪除等按鈕)流程圖 :改流程圖與圖書編目模塊相識。需要的問題說明:(1) 操作員填寫的讀者相關信息必須符合要求。(2)可以一次性修改多條圖書的信息。(3)點擊工具欄上面的修改按鈕,并沒有把用戶所修改的數(shù)據(jù)添加到數(shù)據(jù)庫里,只是把它放在內(nèi)存里面。最后要點擊保存按鈕。(4)只要沒有彈出“修改成功”信息提示框,表明沒有修改該數(shù)據(jù)。功能描述:(1) 功能類型: 修改數(shù)據(jù)和查詢數(shù)據(jù)(2) 功能概述:修改文本框里的內(nèi)容,更新讀者

31、信息表文件信息(3) 前提業(yè)務:管理模塊(4) 后續(xù)業(yè)務:無(5) 權限操作:圖書管理人員界面設計描述: 1操作說明(1)定位按鈕:4個定位按鈕能夠快速定位到操作員所要維護的人員(2)文本框:錄入讀者編號吧相應讀者的信息定位顯示出來(3)修改:點擊按鈕式把修改后的數(shù)據(jù)添加到內(nèi)存表里面(4)刪除:點擊按鈕把當前讀者從內(nèi)存表里刪除(5)取消操作:放棄對該讀者信息的修改(6)保存:把修改后的數(shù)據(jù)保存到數(shù)據(jù)庫里面(7)退出:點擊按鈕,退出該窗體 2 界面展示如下圖所示:思 想:先要把被修改的讀者的全部信息提取出來,方放進相應的為本框中,在選定文本框,修改文本框里的內(nèi)容。 /數(shù)據(jù)的綁定的網(wǎng)格功能 tex

32、t_ID.DataBindings.Add(Text, Dataset, Table.讀者編號); 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.DataBindings.Add(Text, Dataset, Table.工作單位); text_home.DataBindings.Add(Text, D

33、ataset, Table.住址); text_number.DataBindings.Add(Text, Dataset, Table.證件號碼); text_time.DataBindings.Add(Text, Dataset, Table.登記日期); text_ZT.DataBindings.Add(Text, Dataset, Table.讀者狀態(tài)); bangD = this.BindingContextDataset, Table;/ 修改功能bangD.EndCurrentEdit();/ 刪除功能bangD.RemoveAt(bangD.Position); /取消操作Da

34、taset.RejectChanges();同樣:這段代碼是把文本框的內(nèi)容添加到Table0表里面還沒有保存到數(shù)據(jù)庫里面。最后調用 SqlDa.Update(Dataset, Table);方法3.1.5 圖書借閱模塊這個模塊的功能就是讀者借書。借書要求就是 1 每個讀者按照自己的級別查詢出最多借書的數(shù)量,如果有超期沒有歸還的圖書,則不能借書;如果超過借書數(shù)量則不能借,如果圖書已經(jīng)被借出則不能借閱。該模塊含有兩個文本框textbookID,textReadID用來寫入讀者的編號和圖書編號和一個確定借書按鈕,dataGridView用來顯示讀者要借的書籍,操作員只需要有鼠標點擊dataGridV

35、iew上面的的網(wǎng)格就為讀者借閱的圖書。為了代碼精簡,本系統(tǒng)采用借書的存儲過程(數(shù)據(jù)結構設計后面將詳細講解)流程圖:需要的問題說明:(1)在讀者進行借閱圖書時,先根據(jù)讀者的編號查詢該讀者的借閱情況;如果該讀者借書的數(shù)量已滿則不能再借,如果含有過期圖書未歸還則拒絕借閱。(2)如果該圖書已經(jīng)被借出,彈出相應的提示。(3)可以一次性借閱多本圖書,接過的出書做好標識。功能描述:(1) 功能類型:修改數(shù)據(jù)、查詢數(shù)據(jù)、添加數(shù)據(jù)(2) 功能描述:更新學生借閱文件(表),圖書信息文件(表)(3) 前提業(yè)務:管理模塊(4) 后續(xù)業(yè)務:無(5) 操作權限:圖書管理人員界面設計描述:操作說明:(1) 管理員根據(jù)讀者編

36、號和圖書編號查詢相關的信息。讀者的借閱數(shù)量,是否有借書未歸還歷史。圖書是否借出。(2) 確定借書按鈕:點擊此按鈕并提示:借閱是否成功(3) 推出按鈕:退出當前窗體界面展示如下圖:借書功能的精簡代碼如下:sqlcommand = new SqlCommand(); sqlcommand.CommandType = CommandType.StoredProcedure; sqlcommand.Connection = sqlcon; sqlcommand.CommandText=qq11;/儲存過程 SqlParameter bookID = new SqlParameter(BookID, C

37、onvert.ToInt32(textbookID.Text); SqlParameter readID = new SqlParameter(ReaderID, Convert.ToInt32(textReadID.Text); SqlParameter Bookxix = new SqlParameter(Bookxinxi, SqlDbType.VarChar, 100); Bookxix.Direction = ParameterDirection.Output; sqlcommand.Parameters.Add(bookID); sqlcommand.Parameters.Add(

38、readID); sqlcommand.Parameters.Add(Bookxix); sqlcon.Open(); sqlcommand.ExecuteNonQuery(); sqlcon.Close(); MessageBox.Show(Bookxix.Value.ToString();該代碼為借書功能的代碼,并還有輸出參數(shù)。如果借書沒有成功原因彈出如下圖所示的提示:如果有過期未還的圖書,借書不成功,彈出以下信息如下圖所示:如果借書數(shù)量已滿或者借書成功也會彈出相應的提示框。(流程圖見概要設計)3.1.6 圖書歸還模塊該模塊是為讀者歸還圖書。歸還圖書思想:歸還讀書前要查詢該用戶是否借閱超期

39、,如果已經(jīng)超期就要根據(jù)讀者的類型查詢出罰金公式和計算出超期天數(shù)及罰金的總金額;并把罰金的相關信息存儲起來;如果沒有超期就正常歸還。該模塊含有兩個文本框textbookID,textReadID用來寫入讀者的編號和圖書編號和一個確定歸還按鈕,dataGridView用來顯示讀者已經(jīng)借的書籍,操作員只需要有鼠標點擊dataGridView上面的的網(wǎng)格就為讀者要歸還閱的圖書。textBox1_newmoney為本框時輸入讀者罰金金額。流程圖如下:需要的問題說明:(1) 根據(jù)該讀者歸還圖書的編號查詢該讀者是否借閱超期,如果超期結算處超期的金額。(2) 根據(jù)讀者的編號,查詢讀者所借閱的圖書信息,并顯示在

40、dataGridView表格里。用鼠標點擊歸還的圖書。(3) 更新歷史借書表功能描述:(1) 功能類型:修改數(shù)據(jù),添加數(shù)據(jù)信息(2) 功能概述:完成讀者的還書業(yè)務并計算出超期天數(shù)和罰金金額,如果沒有超期,就不用計算。(3) 前提業(yè)務:管理模塊(4) 后繼業(yè)務:無(5) 操作權限:圖書管理人員界面設計描述:操作說明:(1) 輸入讀者編號查詢該讀者的當前借閱歷史,動鼠標點擊讀者要歸還的圖書。系統(tǒng)自動計算借閱是否超期和罰金金額。(2) 讀者借閱超期,借提示下面的消息框(3) 如有罰金,并輸入罰金金額和備注信息(4) 確定歸還:歸還圖書按鈕(5) 推出按鈕:推出該窗體界面展示如下圖所示:超期罰金提示框

41、如下圖所示計算超期罰金代碼函數(shù):private decimal calPenalty(DateTime rTime,double money) /計算過期天數(shù) int overDays = 365 * (System.DateTime.Now.Year - rTime.Year) + System.DateTime.Now.DayOfYear - rTime.DayOfYear; /根據(jù)過期天數(shù)計算罰金 decimal fee = (decimal) money * overDays; return (fee); 歸還圖書也是采用存儲過程下面數(shù)據(jù)設計將詳細介紹。3.1.7 圖書查詢模塊該模塊給

42、管理員和讀者都能使用的模塊。能夠快速的查詢到每本書的相關信息(是否被借閱、簡介)等等。多功能的查詢,能夠根據(jù)圖書編號查詢、根據(jù)作者查詢、根據(jù)圖書名查詢、根據(jù)出版社查詢等等。圖書查詢的流程圖為需要問題說明:(1) 查詢:可以查詢?nèi)繄D書和未借閱圖書的范圍(2) 精確查詢:可以按照圖書編號、圖書名稱、作者、出版社查詢圖書。(3) 查詢的結果集放在dataGridView(4) 輸入信息正確(5) 進行的是模糊精確匹配(6) (讀者)可以查詢自己的借書歷史、熱門圖書查詢、新書查詢(7) (管理員)可以查詢所有用戶的借書歷史、熱門圖書、新書查詢。功能描述:(1) 功能類型:查詢數(shù)據(jù)(2) 功能概述:顯

43、示查詢結果集(3) 前提業(yè)務:無(4) 后繼業(yè)務:無(5) 操作權限:面向所有用戶界面設計描述: 操作說明:(1) 單選按鈕:用戶選擇查詢圖書的范圍(分為全部圖書和未接圖書,默認為全部圖書)(2) 下拉列表:用戶選擇查詢圖書的方式(圖書編號、圖書名稱、出版社、作者)(3) 下拉列表:用戶選擇的圖書類型(4) 錄入文本框:用戶查詢的錄入相關信息 界面展示如下圖所示:查詢?nèi)缦拢菏紫仁前阉袌D書查詢出來放入到內(nèi)存中再根據(jù)內(nèi)存中的表查詢出來放入到dataGridView中。 SqlDa = new SqlDataAdapter(sql, sqlcon); SqlCommandBuilder Scomd

44、B = new SqlCommandBuilder(SqlDa); Dataset = new DataSet(); SqlDa.Fill(Dataset, Table);DataView dv_book = Dataset.TablesTable.DefaultView; switch (comboBox2.SelectedItem.ToString() case 圖書編號: dv_book.RowFilter = 圖書編號 like + textBox1.Text + %; break; case 圖書名: dv_book.RowFilter = 圖書名 like + textBox1.T

45、ext + %; break; case 作者: dv_book.RowFilter = 作者 like + textBox1.Text + %; break; case 出版社: dv_book.RowFilter = 出版社 like + textBox1.Text + %; break; default: dv_book.RowFilter = ; break; 3.1.8 管理員進行讀者查詢模塊管理員可以查詢該模塊查詢讀者的相關信息(除讀者的密碼),例如(聯(lián)系方式)。該模塊于圖書查詢模塊基本相識流程圖如下需要問題說明:(1) 條件是按用戶編號進行查詢。(2) 本窗體采用的是網(wǎng)格布局da

46、taGridView;管理員根據(jù)用戶的編號查詢讀者的相關信息和預覽全部讀者的信息。(3) 采用的是分頁操作(4) 不可顯示用戶的密碼。功能說明描述:(1) 功能類型:查詢數(shù)據(jù)(2) 功能概述:顯示查詢數(shù)據(jù)結構(3) 前提業(yè)務:管理模塊(4) 后繼業(yè)務:無(5) 操作權限:圖書管理人員界面設計描述: 操作說明:(1) 文本框:錄入查詢信息的要求,條件是安讀者編號進行查詢(2) 確定按鈕:保存錄入讀者信息(3) 推出按鈕:退出操作界面相關代碼在這里不在做相關的介紹介紹。3.1.9 讀者自己信息維護模塊 這個模塊是只是針對讀者用的用來是讀者修改自己的密碼信息;在用戶修改自己的密碼需要2次輸入新的密碼

47、,判斷是否輸入一直,否則修改不成功。需要的說明:(1) 修改密碼時要兩次輸入新的密碼和舊密碼(2) 兩次輸入的密碼必須一致(3) 密碼的長度必須大于6位功能描述:(1) 功能類型:修改數(shù)據(jù)(2) 功能概述:修改用戶或者管理員的密碼(3) 前提業(yè)務:管理系統(tǒng)(4) 后繼業(yè)務:無(5) 操作權限:面向所有用戶(只能修改自己的密碼)界面設計描述:操作說明:(1) 為本框:錄入密碼信息(2) 確定修改按鈕:信息保存到數(shù)據(jù)庫。窗體界面如下圖所示:修改的基本操作代碼如下: if (textBox2.Text.Trim()!=(textBox3.Text.Trim() MessageBox.Show(你的密

48、碼輸入不一致); return; if (textBox3.Text.Length 0 ? 操作成功! : 找不到該用戶; MessageBox.Show(s); catch (Exception ex) MessageBox.Show(操作失敗,請檢查網(wǎng)絡連接是否正常!); finally if (sqlcon.State = ConnectionState.Open) sqlcon.Close();如果用戶輸入的密碼2次不一致或者密碼輸入過簡單,這不允許該用戶修改并彈出一下信息提示:如果操作成功也彈出修改成功的提示:密碼修改成功。(管理員的的密碼修改于讀者的一直以后不在說明)3.1.10

49、讀書類型和讀書類型設置模塊模讀者類型和圖書分類的操作功能是:修改、添加、刪除讀者的分類或者圖書分類設置,分別是放在兩個窗體當中。流程圖和代碼編寫與讀者編目有許多相識之處,所以不在講解。3.1.11 統(tǒng)計模塊該模塊的作用是分別統(tǒng)計,統(tǒng)計出本年的借閱信息、熱門圖書信息,歷史的支出與收支金額信息。A 本年度借閱信息設計:需要說明:1 這個統(tǒng)計的功能是根據(jù)借閱歷史表和圖書信息表里的相關信息統(tǒng)計出來的,條件是今年以內(nèi)。2 統(tǒng)計出信息有:今年購書圖書總數(shù)、外借圖書總數(shù)、購置圖書總支出、預計罰款總收入、實際罰款總收入、超期歸還總數(shù)、超期未歸還總數(shù)。3 統(tǒng)計思想:采用數(shù)據(jù)庫的存儲過程統(tǒng)計(Stat_nowye

50、ar)。功能描述:1 功能類型:查詢數(shù)據(jù)2 功能概述:統(tǒng)計顯示相關信息3 操作權限:圖書管理員界面設計描述:1 操作說明:2 界面展示如下圖所示:B熱門圖書統(tǒng)計設計(含有打印功能):需要說明: 1 這個子模塊的功能是統(tǒng)計今年最好最熱門的圖書的全部信息。條件是今年。 2 統(tǒng)計出信息有:圖書的全部信息。 3 統(tǒng)計思想:采用數(shù)據(jù)庫的試圖,根據(jù)每本書被借的次數(shù)安降序排列。 4 統(tǒng)計出來的信息放入到dataGridView里面;并卻能夠支持打印出表格的數(shù)據(jù)。功能說明描述:1 功能類型:查詢數(shù)據(jù)2 功能概述:統(tǒng)計顯示相關信息3 操作權限:面向所有用戶打印功能接口:public static void Ex

51、portData(DataGridView srcDgv, string fileName) /導出數(shù)據(jù),傳入一個datagridview和一個文件路徑 Excel.Application excel = new Excel.Application(); excel.Application.Workbooks.Add(true); excel.Visible = true; for (int i = 0; i srcDgv.ColumnCount; i+) excel.Cells1, i + 1 = srcDgv.Columnsi.HeaderText; for (int i = 0; i srcDgv.RowCount - 1; i+) for (int j = 0; j srcDgv.ColumnCount; j+) excel.Cellsi + 2, j + 1 = srcDgvj, i.Value.ToString();

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!