2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  軟件工程概論實驗手冊</p><p>  實驗題目:圖書借閱管理系統(tǒng)</p><p><b>  學院 :計算機</b></p><p>  專業(yè):計算機科學與技術(shù)</p><p><b>  姓名: </b></p><p><b> 

2、 班級: </b></p><p><b>  學號:</b></p><p><b>  圖書借閱管理系統(tǒng)</b></p><p><b>  實驗目的:</b></p><p>  通過獨立完成項目分析,加深對軟件開發(fā)分析過程的流程和方法的理解,建<

3、;/p><p>  立軟件工程的思想,同時,明確軟件開發(fā)的成本和時間管理的相關(guān)概念。</p><p><b>  實驗要求:</b></p><p>  該系統(tǒng)要求能夠具有圖書管理和會員管理的功能,并且能夠具有增加圖書、查詢圖書、刪除圖書、圖書借閱——借書、還書的功能,還具有增加會員、查詢會員、刪除會員、借書信息等功能。</p>&l

4、t;p><b>  實驗內(nèi)容:</b></p><p>  1. 建立系統(tǒng)的分析模型。</p><p>  2. 對系統(tǒng)進行需求分析,掌握ER圖、DFD、DD的設(shè)計與編寫</p><p>  3. 熟悉Visio環(huán)境和基本操作,制作一個簡單的系統(tǒng)流程圖和數(shù)據(jù)流圖、主要數(shù)據(jù)項的數(shù)據(jù)字典描述及主要加工的邏輯說明(自己選擇結(jié)構(gòu)語言、判定樹、判定

5、表等)。</p><p>  4.撰寫需求分析規(guī)格說明書</p><p><b>  主要模塊:</b></p><p><b>  1.系統(tǒng)分析</b></p><p>  2.需求分析 (數(shù)據(jù)流圖 數(shù)據(jù)字典等內(nèi)容)</p><p>  3.概要設(shè)計:(設(shè)計目標 軟件結(jié)構(gòu)圖

6、和層次圖等內(nèi)容)</p><p>  4.詳細設(shè)計:(程序流程圖 判定樹以及詳細設(shè)計說明等內(nèi)容)</p><p>  5.編碼:(各模塊核心代碼)</p><p>  6.測試:(測試方法和測試用例等)</p><p>  7.UML建模:(類圖 用例圖)</p><p><b>  8.總結(jié)</b&g

7、t;</p><p>  第一部分--系統(tǒng)分析</p><p><b>  1.1系統(tǒng)目標</b></p><p>  方便圖書館管理人員對圖書和用戶信息的管理,能夠輕松快捷的管理借閱事務,同時也方便讀者隨時隨地的對圖書進行查詢等。</p><p><b>  1.2功能實現(xiàn)</b></p&g

8、t;<p>  1)性能:會員信息、圖書信息的數(shù)據(jù)庫錄入;會員信息、圖書信息的增加、刪除、修改及查詢;圖書借閱;圖書借閱信息的記錄及查詢。</p><p>  2)輸入:會員信息,圖書信息。</p><p>  3)輸出:會員信息,圖書信息,借閱信息、借閱證。</p><p>  4)基本的數(shù)據(jù)流程和處理流程:</p><p>

9、  圖1-2-4 基本數(shù)據(jù)和處理流程</p><p>  5)安全與保密要求:登錄系統(tǒng)時,需驗證身份和密碼;不同身份的登錄者,具有不同的使用權(quán)限。</p><p>  1.3系統(tǒng)可行性分析</p><p>  可行性分析是為了清除的了解系統(tǒng)開發(fā)是否能夠?qū)嶋H進行,是否能夠帶來一定效益,是否值得實現(xiàn)。因而進行可行性分析是非常必要的,從下面幾個方面來進行分析。</p

10、><p>  技術(shù)可行性:設(shè)置不同權(quán)限,提高了數(shù)據(jù)的安全性;能夠提高處理速度,方便管理查詢和借閱等事務。 </p><p>  運行可行性:本系統(tǒng)作為一個小型的圖書館信息管理系統(tǒng),所耗費的資源非常的小。 已有軟件和硬件配置均能滿足需要。</p><p>  經(jīng)濟可行性:服務端及客戶端的支出使用原有設(shè)備即可。但是對軟件有一次性軟件費用支出和定期性軟件維護支出。軟件使用

11、后,能夠減少人力的支出和維護。預計兩年之內(nèi)能夠回收投資。</p><p>  法律可行性:本軟件屬項目組開發(fā),符合法律的各項規(guī)定。</p><p>  使用可行性:軟件針對普通的的小型圖書館,對使用人員沒有特殊限制,管理人員、各種讀者等均可使用。界面友好,操作簡單,能夠保證大多數(shù)用戶使用該系統(tǒng)的要求。</p><p>  1.4 可行性研究結(jié)論</p>

12、<p>  該圖書管理系統(tǒng)不管是從技術(shù)、經(jīng)濟、社會、法律方面考慮都具有一定的可行性。因此系統(tǒng)的開發(fā)可以立即開始進行。</p><p>  第二部分---需求分析 </p><p>  該系統(tǒng)要求能夠具有圖書管理和會員管理的功能,并且能夠具有增加圖書、查詢圖書、刪除圖書、圖書借閱——借書、還書的功能,還具有增加會員、查詢會員、刪除會員、借書信息等功能。</p>&l

13、t;p>  2.1需求分析: 1) 能夠輸入圖書的綜合情況和進行新書入庫、現(xiàn)有圖書信息修改,查詢以及刪除; 2) 能夠?qū)崿F(xiàn)對會員的增加,查詢,刪除,借書信息等的查詢; 3) 能夠?qū)崿F(xiàn)借書,還書等功能;2.2系統(tǒng)性能需求: 1) 系統(tǒng)安全、可靠; 2) 功能齊全; 3) 操作方便、界面友好; 4) 易于維護和擴充。2.3功能需求</p><p><b>

14、  2.3.1圖書管理</b></p><p><b>  1)書籍管理</b></p><p> ?、賵D書類別管理:增、刪除、改等管理。</p><p> ?、趫D書信息管理:新書入庫,圖書購入后由圖書管理人員將書籍編碼并將其具體信息錄入書籍信息表。書籍信息修改,書籍信息由于工作人員的疏忽而出現(xiàn)錯誤時,可修改其信息。管理員按不同方式

15、查詢、統(tǒng)計,讀者按不同方式查詢。</p><p> ?、鄢霭嫔缧畔⒐芾恚涸?、刪除、改等管理。</p><p>  ④圖書注銷:某一部分圖書會隨著時間的增長及知識的更新而變得不再有使用的價值,或者圖書被損壞,這些圖書就要在圖書籍信息表中的除去。即從書籍信息表中刪去此書籍記錄。</p><p><b>  2)借閱管理</b></p>

16、<p> ?、倮m(xù)借管理:提供讀者在符合規(guī)定的情況下網(wǎng)上續(xù)借。</p><p> ?、谶€書管理:根據(jù)借閱卡編號、圖書ID等,在借閱信息表中找到相應的記錄,將借書記錄刪除,更新該記錄的相應數(shù)據(jù)(圖書信息表)。</p><p> ?、劢钑芾恚焊鶕?jù)借閱卡編號和圖書編號,進行借書登記。在借閱信息表中插入一條借書記錄,該記錄包括讀者ID、圖書ID、借出日期、借閱編號、操作員等信息,更新該

17、記錄的相應數(shù)據(jù)(圖書信息表)。</p><p>  2.3.2.會員管理</p><p>  ①會員類別信息管理:增、刪除、改等管理。</p><p> ?、跁T信息管理:辦理、掛失、暫停借、注銷閱卡,錄入、修改、刪除讀者信息。</p><p><b>  2.3.3功能要求</b></p><p&g

18、t;  1)系統(tǒng)管理員:驗證用戶姓名與密碼、退出系統(tǒng)。</p><p>  2)圖書管理即實現(xiàn)圖書管理功能:添加圖書、瀏覽圖書、刪除圖書、借閱圖書。歸還圖書等。</p><p>  3)圖書類別管理即實現(xiàn)圖書類別管理功能:添加圖書類別、查看圖書類別、修改圖書類別、刪除圖書類別等。</p><p>  4)用戶維護即維護用戶管理:添加用戶、刪除用戶、修改用戶密碼、查看

19、用戶等</p><p>  5)查看借閱人:查看某一本書的所有借閱人的信息情況。</p><p><b>  功能模塊圖</b></p><p><b>  2.4 數(shù)據(jù)流圖</b></p><p>  數(shù)據(jù)流圖是結(jié)構(gòu)化分析的重要方法,我們對應用的DFD經(jīng)過了一定的簡化,成為一種標準化的一級流程圖(

20、1-DFD)和二級流程圖(2-DFD)。其主要作用是:便于用戶表達功能需求和數(shù)據(jù)需求及其聯(lián)系。</p><p>  2.4.1頂層數(shù)據(jù)流圖</p><p>  圖書管理系統(tǒng)的頂層數(shù)據(jù)流圖如下圖所示。</p><p>  2.4.2 一層數(shù)據(jù)流圖</p><p>  根據(jù)頂層數(shù)據(jù)流圖,繼續(xù)向下分解,得到一層數(shù)據(jù)流圖,如下圖:</p>

21、<p>  2.4.3 二層數(shù)據(jù)流圖</p><p>  由一級數(shù)據(jù)流圖繼續(xù)向下分解,可得二級數(shù)據(jù)流圖</p><p><b>  2.5.E-R圖</b></p><p>  2.5.1管理員信息實體 E-R 圖</p><p>  2.5.2會員信息E-R圖</p><p> 

22、 2.5.3書籍信息實體 E-R 圖</p><p>  2.5.4借閱信息實體E-R圖</p><p>  2.5.5總的E-R圖</p><p><b>  2.6數(shù)據(jù)字典</b></p><p>  2.6.1管理員表(tb_admin)</p><p>  描述:該表主要是存儲管理員的各種

23、信息,包括編號、姓名、密碼各字段。結(jié)構(gòu)如表2.6.1所示。</p><p>  表2.6.1管理員表</p><p>  2.6.2會員表(tb_reader)</p><p>  描述: 該表包含所有會員的資料,包括會員編號、姓名、性別、密碼及借書的數(shù)目和最大可借數(shù)目,系別、專業(yè)、年紀字段。結(jié)構(gòu)如表2.6.2所示。</p><p>  表2

24、.6.2 會員表</p><p>  2.6.3圖書信息表(tb_bookinfo)</p><p>  描述:該表是圖書借閱管理系統(tǒng)中所存儲的所有圖書的資料,包括圖書編號圖書名稱、作者、出版社、價格、庫存量、可用量、借書天數(shù)、出版日期字段,結(jié)構(gòu)如表2.6.3所示。</p><p>  表2.6.3 圖書信息表</p><p>  2.6.4

25、已借圖書表(tb_outbook)</p><p>  描述:該表主要是對外借圖書的信息進行歸總處理與顯示,方便對圖書的管理。包括借書用戶的編號、姓名、外借圖書的編號、圖書名稱、作者、出版社、借書時間、還書時間、是否超期、超期金額、續(xù)借次數(shù)字段。結(jié)構(gòu)如表2.6.4所示。</p><p>  表2.6.4 已借圖書表</p><p>  2.6.5 歷史記錄表(tb_

26、history)</p><p>  描述:主要存儲每個用戶的借還書操作信息,通過不同用戶的登錄,顯示不同用戶的借還書信息,包括用戶編號、姓名、圖書編號、圖書名稱、借(還)書時間、續(xù)借次數(shù)、操作信息字段。如表2.6.5所示:</p><p>  表2.6.5歷史記錄表</p><p>  第三部分--概要設(shè)計</p><p><b>

27、;  3.1 設(shè)計目標</b></p><p>  概要設(shè)計是軟件開發(fā)過程中的一個階段,在這個階段需要完成一些明確的事情。概要設(shè)計階段的基本目的是回答“概括的說,系統(tǒng)應該如何實現(xiàn)?”。通過這個階段,確定系統(tǒng)的組成模塊。本圖書管理系統(tǒng)由讀者管理、圖書管理、流通管理、統(tǒng)計管理、查詢管理5個大模塊組成。每個模塊又由自己的子模塊組成。</p><p><b>  3.2軟件結(jié)

28、構(gòu)圖</b></p><p>  3.2.1統(tǒng)計管理模塊軟件結(jié)構(gòu)圖</p><p>  統(tǒng)計管理模塊主要完成統(tǒng)計歷史借閱信息和統(tǒng)計借閱信息功能。軟件結(jié)構(gòu)圖如圖3-2所示。</p><p><b>  3.3 系統(tǒng)層次圖</b></p><p>  3.4 數(shù)據(jù)庫物理設(shè)計</p><p&g

29、t; ?。?)user表記錄管理員的信息(包括管理員ID、用戶名、密碼),如表3-4-1。</p><p><b>  表3-4-1</b></p><p> ?。?)bookinfo表記錄圖書信息(包括圖書編號、圖書ISBN、書名、出版社、作者、摘要),如表3-4-2。</p><p><b>  表3-4-2</b>&

30、lt;/p><p> ?。?)certificateinfo表記錄借書證信息(包括借書證ID、證件名稱、姓名、證件類型、標記),如表3-4-3。</p><p><b>  表3-4-3</b></p><p>  (4)loan表記錄借還書信息(包括圖書編號、借書證ID、借書日期、還書日期、標記),如表3-4-4。</p><

31、p><b>  表3-4-4</b></p><p>  第四部分--詳細設(shè)計</p><p><b>  4.1根本任務</b></p><p>  依據(jù)軟件工程的基本原理,詳細設(shè)計階段的根本任務是確定應該怎樣具體實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計工作,應該得出對目標系統(tǒng)的精確描述,具體來說就是把經(jīng)過總

32、體設(shè)計得到的各個模塊詳細的加以描述。</p><p><b>  4.2 程序流程圖</b></p><p>  4.2.1統(tǒng)計管理流程圖</p><p>  4.2.2圖書借閱流程圖 4.2.3圖書歸還流程圖</p><p>  4.3 詳細設(shè)計說明</p>

33、<p>  圖書借閱:讀入借書證號,自動判斷是否合法,然后通過掃描槍讀入所需借閱的圖書編號。</p><p>  圖書歸還:通過掃描槍讀入圖書編號,自動識別圖書證號。同時提示讀者已 借書數(shù)、超期圖書應繳罰款等參考信息。</p><p>  添加圖書:圖書采購人員按照每年的采購計進行購書,(不在本系統(tǒng)考慮范圍)圖書購入后由圖書管理人員將圖書按類別分類后錄入數(shù)據(jù)庫。</p&g

34、t;<p>  刪除圖書:某一部分圖書會隨著時間的增長及知識的更新而變得不再有收藏的價值,或者圖書被損壞,這些圖書就要在圖書庫的除去。即從圖書庫中刪除此圖書記錄。</p><p>  圖書信息修改:圖書信息由于工作人員的疏忽,而出現(xiàn)錯誤,提供其圖書ID就可以修改其信息。</p><p><b>  第五部分--編碼</b></p><

35、p>  5.1 圖書借閱 核心代碼:</p><p>  if (yan.ToString() == Session["yan"].ToString())</p><p><b>  {</b></p><p>  if (sf == "管理員")</p><p><

36、b>  {</b></p><p>  if (baseclass.CheckAdmin(num, pwd))</p><p><b>  {</b></p><p>  Session["id"] = UserName.Text.Trim();</p><p>  Response

37、.Redirect("Gjieshu.aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<scri

38、pt>alert('用戶名或密碼錯誤!');location='denglv.aspx'</script>");</p><p><b>  }}</b></p><p>  if (sf == "普通用戶")</p><p><b>  {</b&

39、gt;</p><p>  if (baseclass.CheckPerson(num, pwd))</p><p><b>  {</b></p><p>  Session["id"] = UserName.Text.Trim();</p><p>  Response.Redirect(&quo

40、t;Yliulian.aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script>alert(&

41、#39;用戶名或密碼錯誤!');location='denglv.aspx'</script>");</p><p><b>  }}}</b></p><p><b>  else{</b></p><p>  Response.Write("<script&

42、gt;alert('驗證碼輸入錯誤,請重新登錄!');location='denglv.aspx'</script>");}</p><p>  5.2 圖書歸還 核心代碼</p><p>  if (Convert.ToDateTime(row.Cells[8].Text.ToString()) < DateTime.Now)

43、</p><p><b>  {</b></p><p>  TimeSpan num = newdate.Subtract(Convert.ToDateTime(row.Cells[8].Text.ToString()));</p><p>  int ts = Convert.ToInt32(num.Days);</p>&l

44、t;p>  double outm = 0;</p><p>  if (date == 30)//長期超期處理</p><p><b>  {</b></p><p>  for (int i = 1; i <= ts; i++)</p><p><b>  {</b></p&g

45、t;<p>  outm = outm + 0.1;</p><p><b>  }</b></p><p>  string outmone = Convert.ToString(outm.ToString());</p><p>  string s3 = "update tb_outbook set iskeepo

46、ut='" + true + "',outmoney='" + outmone + "' where bookcode='" + bookcode + "'";</p><p>  SqlCommand sd = new SqlCommand(s3, conn);</p><p

47、>  sd.ExecuteNonQuery();</p><p><b>  }</b></p><p>  if (date == 3)//短期超期處理</p><p><b>  {</b></p><p>  for (int i = 1; i <= ts; i++)</p&

48、gt;<p><b>  {</b></p><p>  outm = outm + 0.5;</p><p><b>  }</b></p><p>  string outmone = Convert.ToString(outm.ToString());</p><p>  str

49、ing s4 = "update tb_outbook set iskeepout='" + true + "',outmoney='" + outmone + "' where bookcode='" + bookcode + "'";</p><p>  SqlCommand sdt

50、 = new SqlCommand(s4, conn);</p><p>  sdt.ExecuteNonQuery();</p><p><b>  }</b></p><p>  Response.Write("<script>alert('圖書已超期,不能還書,請聯(lián)系管理員進行超期處理!');loca

51、tion='Ghuanshu.aspx'</script>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  string st1=&qu

52、ot;delete from tb_outbook where id='"+id+"'and bookcode='"+bookcode+"'";//刪除圖書</p><p>  SqlCommand stw = new SqlCommand(st1, conn);</p><p>  stw.ExecuteN

53、onQuery();</p><p>  string str2 = "update tb_reader set borrownum=borrownum-1 where id='" + id + "'";//用戶表里的借書數(shù)目少1</p><p>  SqlCommand stw2 = new SqlCommand(str2, con

54、n);</p><p>  stw2.ExecuteNonQuery();</p><p>  string str3 = "update tb_bookinfo set usenunber=usenunber+1 where bookcode='" + bookcode + "'";//圖書信息表的可用量增1</p>

55、<p>  SqlCommand cmd3 = new SqlCommand(str3, conn);</p><p>  cmd3.ExecuteNonQuery();</p><p>  Response.Write("<script>alert('歸還圖書成功!');location='Ghuanshu.aspx'<

56、;/script>");</p><p><b>  }</b></p><p>  conn.Close();</p><p>  5.3圖書查詢 核心代碼:</p><p>  protected void Button1_Click(object sender, EventArgs e)//查詢

57、按鈕事件</p><p><b>  {</b></p><p>  string str2 = "";</p><p>  SqlConnection conn = baseclass.DBCon();</p><p>  conn.Open();</p><p><b

58、>  //查詢語句</b></p><p>  string str1 = "select bookcode as 圖書編碼,bookname as 圖書名稱,autor as 作者,pubname as 出版社,price as 價格,keep as 庫存量,usenunber as 可用量,usedate as 可借天數(shù),pubdate as 出版日期 from tb_bookin

59、fo where";</p><p>  string t1 = this.DropDownList1.SelectedValue.Trim();</p><p>  string t = this.TextBox1.Text.Trim();</p><p>  if (t1 == "圖書編號")//條件判斷,圖書編號、圖書名稱、作者、

60、出版社相似</p><p><b>  { </b></p><p>  str2=" bookcode='"+t+"'";</p><p><b>  } </b></p><p>  if (t == "")</p

61、><p><b>  {</b></p><p>  Response.Write("<Script>alert('請輸入查詢條件!');location='Gchaxun.aspx'</script>");</p><p><b>  }</b>&l

62、t;/p><p>  string str = str1 + str2;</p><p>  SqlDataAdapter ads = new SqlDataAdapter(str, conn);//執(zhí)行查詢</p><p>  DataSet ds = new DataSet();</p><p>  ads.Fill(ds);</p&g

63、t;<p>  this.GridView1.DataSource = ds;//綁定數(shù)據(jù)</p><p>  GridView1.DataBind();</p><p>  conn.Close();</p><p><b>  }</b></p><p>  5.4 添加圖書 核心代碼</p>

64、;<p>  if (a1 == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('圖書編號不能為空,請重新輸入!');location='Gtianjia.aspx'</script>&q

65、uot;);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  string s = "select bookcode from tb_bookinfo";<

66、;/p><p>  SqlCommand c = new SqlCommand(s, conn);</p><p>  SqlDataReader re = c.ExecuteReader();</p><p>  while (re.Read())</p><p><b>  {</b></p><p&

67、gt;  if (a1 == re["bookcode"].ToString())</p><p><b>  {</b></p><p>  Session["bookcode"] = this.TextBox1.Text.ToString();</p><p>  Response.Write(&qu

68、ot;<script>alert('已存在所添加圖書,如需修改該書信息,請通過“修改”按鈕進行!');</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  re.Close();</p>

69、<p>  if (a1 != Session["bookcode"].ToString())</p><p><b>  {</b></p><p>  string str = "insert into tb_bookinfo (bookcode,bookname,autor,pubname,price,keep,usenu

70、nber,usedate,pubdate ) values ('" + a1 + "','" + a2 + "','" + a3 + "','" + a4 + "','" + a5 + "','" + a6 + "',

71、9;" + a7 + "','" + a8 + "','" + a9 + "')";</p><p>  SqlCommand cmd = new SqlCommand(str, conn);</p><p>  cmd.ExecuteNonQuery();</p>

72、<p>  Response.Write("<script>alert('添加圖書成功!');location='Gtianjia.aspx'</script>");</p><p><b>  }</b></p><p><b>  else</b></

73、p><p><b>  {</b></p><p>  this.Button3.Visible = true;</p><p>  this.TextBox1.Enabled = false;</p><p>  string str1 = "select * from tb_bookinfo where boo

74、kcode='" + a1 + "'";</p><p>  SqlCommand c1 = new SqlCommand(str1, conn);</p><p>  SqlDataReader red = c1.ExecuteReader();</p><p>  red.Read();</p><

75、;p>  this.TextBox1.Text = red["bookcode"].ToString();</p><p>  this.TextBox2.Text = red["bookname"].ToString();</p><p>  this.TextBox3.Text = red["autor"].ToStri

76、ng();</p><p>  this.TextBox4.Text = red["pubname"].ToString();</p><p>  this.TextBox5.Text = red["price"].ToString();</p><p>  this.TextBox6.Text = red["kee

77、p"].ToString();</p><p>  this.TextBox7.Text = red["usenunber"].ToString();</p><p>  this.TextBox8.Text = red["usedate"].ToString();</p><p>  this.TextBox9.T

78、ext = red["pubdate"].ToString();</p><p>  red.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  修改按鈕部分代碼:</b></p

79、><p>  if (bookcode == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('圖書編號不能為空!');location='Gtianjia.aspx'</script>

80、;");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  string bookname = this.TextBox2.Text.Trim();</p>

81、<p>  string autor = this.TextBox3.Text.Trim();</p><p>  string pubname = this.TextBox4.Text.Trim();</p><p>  string price = this.TextBox5.Text.Trim();</p><p>  string keep = t

82、his.TextBox6.Text.Trim();</p><p>  string usenunber = this.TextBox7.Text.Trim();</p><p>  string usedate = this.TextBox8.Text.Trim();</p><p>  string pubdate = this.TextBox9.Text.Tr

83、im();</p><p>  string str2 = "update tb_bookinfo set bookname='" + bookname + "', autor='" + autor + "',pubname='" + pubname + "',price='"

84、+ price + "',keep='" + keep + "',usenunber='" + usenunber + "',usedate='" + usedate + "',pubdate='" + pubdate + "' where bookcode='&quo

85、t; + bookcode + "'";</p><p>  SqlCommand c2 = new SqlCommand(str2, conn);</p><p>  c2.ExecuteNonQuery();</p><p>  Response.Write("<script>alert('修改圖書資料成

86、功!');location='Gtianjia.aspx'</script>");</p><p>  conn.Close();}</p><p>  5.5 刪除圖書 核心代碼</p><p>  GridViewRow row = GridView1.Rows[e.NewSelectedIndex];//當前的行

87、數(shù)</p><p>  string bookcode = row.Cells[1].Text.ToString();</p><p>  SqlConnection conn = baseclass.DBCon();</p><p>  conn.Open();</p><p>  string str1="delete from

88、 tb_bookinfo where bookcode='"+bookcode+"'";</p><p>  SqlCommand cmd1 = new SqlCommand(str1, conn);</p><p>  cmd1.ExecuteNonQuery();</p><p>  Response.Write(&

89、quot;<script>alert('刪除圖書成功!');location='Gshanchu.aspx'</script>");</p><p>  5.7 用戶管理 核心代碼</p><p>  if (t1 == "")</p><p><b>  {</b

90、></p><p>  Response.Write("<script>alert('請選擇用戶類型!');location='Gguanli.aspx'</script>");</p><p><b>  }</b></p><p>  if (t1 == &q

91、uot;普通用戶")</p><p><b>  {</b></p><p>  str1 = "select id as 用戶編號,name as 姓名,sex as 性別,pwd as 密碼,borrownum as 已借數(shù)目,maxborrow as 最大可借數(shù),xi as 系別,zhangye as 專業(yè),nianji as 年級 from

92、 tb_reader";</p><p>  string str = str1;</p><p>  SqlDataAdapter ads = new SqlDataAdapter(str, conn);</p><p>  DataSet ds = new DataSet();</p><p>  ads.Fill(ds);&l

93、t;/p><p>  this.GridView1.DataSource = ds;</p><p>  GridView1.DataBind();</p><p><b>  }</b></p><p>  if (t1 == "管理員")</p><p><b>  

94、{</b></p><p>  str1 = "select id as 管理員編號,name as 姓名,pwd as 密碼 from tb_admin";</p><p>  string str = str1;</p><p>  SqlDataAdapter ads = new SqlDataAdapter(str, conn

95、);</p><p>  DataSet ds = new DataSet();</p><p>  ads.Fill(ds);</p><p>  this.GridView1.DataSource = ds;</p><p>  GridView1.DataBind();</p><p><b>  }&

96、lt;/b></p><p><b>  刪除按鈕部分代碼:</b></p><p>  if (t1 == "普通用戶")</p><p><b>  {</b></p><p>  GridViewRow row = GridView1.Rows[e.NewSelect

97、edIndex];//當前的行數(shù)</p><p>  string id = row.Cells[1].Text.ToString();</p><p>  string a1="delete from tb_reader where id='"+id+"'";</p><p>  SqlCommand sc1

98、 = new SqlCommand(a1, conn);</p><p>  sc1.ExecuteNonQuery();</p><p>  Response.Write("<script>alert('刪除用戶成功!');location='Gguanli.aspx'</script>");</p>

99、<p><b>  }</b></p><p>  if (t1 == "管理員")</p><p><b>  {</b></p><p>  GridViewRow row = GridView1.Rows[e.NewSelectedIndex];//當前的行數(shù)</p>

100、<p>  string id = row.Cells[1].Text.ToString();</p><p>  string a1 = "delete from tb_admin where id='" + id + "'";</p><p>  SqlCommand sc1 = new SqlCommand(a1, c

101、onn);</p><p>  Response.Write("<script>alert('刪除管理員成功!');location='Gguanli.aspx'</script>");</p><p>  sc1.ExecuteNonQuery();</p><p><b>  

102、}</b></p><p><b>  第六部分--測試</b></p><p>  6.1系統(tǒng)測試的定義</p><p>  系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試。它是檢驗系統(tǒng)是否能夠提供方案說明中指定功能的有效方法。為了發(fā)現(xiàn)缺陷并度量產(chǎn)品質(zhì)量,按照系統(tǒng)的功能和性能需求進行調(diào)試。</p><p&

103、gt;<b>  6.2、測試的內(nèi)容</b></p><p><b>  (1)、功能測試</b></p><p>  對圖書管理系統(tǒng)的所有頁面進行鏈接測試。所有的頁面都能鏈接到指定要鏈接到得頁面,所鏈接的頁面均存在,而且頁面中不存在孤立的頁面。對表單進行測試,如果輸入信息不正確或者不輸入信息就直接提交,會出現(xiàn)作物提示。通過填寫正確的表單信息,數(shù)

104、據(jù)庫運行正常。</p><p><b>  (2)、性能測試</b></p><p>  通過寬帶上網(wǎng)的方式對圖書管理系統(tǒng)的鏈接速度進行測試,在可接受的范圍之內(nèi)。用圖書管理系統(tǒng)壓力測試Web-CT軟件,對測試頻率,持續(xù)時間等進行的、測試得出結(jié)論:圖書管理系統(tǒng)壓力測試結(jié)果較好。</p><p><b>  (3)、可用性測試</b

105、></p><p>  圖書管理系統(tǒng)導航結(jié)構(gòu)清晰、目的明確、頁面風格一致、頁面使用顏色較少。有較好的視覺效果。圖書管理系統(tǒng)整體界面布局合理,頁面風格簡潔,顏色搭配協(xié)調(diào),可用性良好。</p><p>  6.3 測試方案及用例</p><p>  6.3.1 白盒測試</p><p>  白盒測試是指通過測試來檢驗產(chǎn)品內(nèi)部動作是否按照規(guī)格

106、說明書的規(guī)定正常進行。白盒測試又分為:邏輯覆蓋和控制結(jié)構(gòu)測試</p><p><b>  控制結(jié)構(gòu)測試</b></p><p>  控制結(jié)構(gòu)測試中采用常用的基本路徑測試技術(shù)。針對流通管理模塊進行測試,詳細步驟如下:</p><p>  圖5-1 流通管理控制流圖</p><p>  注:1.功能選擇2.圖書預定3.圖書借

107、閱4.圖書歸還5.圖書丟失、損壞處理6.選擇7.退出</p><p>  環(huán)形復雜度V(G)=E-N+2 =10-7+2=5</p><p><b>  導出獨立路徑:</b></p><p>  路徑1:1-2-6-1</p><p>  路徑2:1-3-6-1</p><p>  路徑3:1-

108、4-6-1</p><p>  路徑4:1-5-6-1</p><p><b>  路徑5:1-7</b></p><p><b>  測試用例</b></p><p>  測試用例如表5-1所示。</p><p>  表5-1 路徑測試用例</p><p

109、><b>  邏輯覆蓋</b></p><p>  有選擇的執(zhí)行程序中某些最具代表性的通路是對窮盡測試的唯一可行的代替辦法。通過邏輯覆蓋中的兩種覆蓋來測試流通管理模塊下各子模塊的通路。依據(jù)是詳細設(shè)計階段的流通管理各子模塊程序流程圖。即圖4-4 圖書預定流程圖,圖4-5 圖書借閱流程圖,圖4-6 圖書歸還流程圖和圖4-7 圖書丟失、損壞處理流程圖。</p><p>

110、;  圖書預定模塊/圖書借閱模塊</p><p><b>  條件組合覆蓋</b></p><p>  表5-2 圖書預定/借閱模塊條件組合覆蓋用例</p><p>  路徑覆蓋:因為要求每個環(huán)至少經(jīng)過一次,經(jīng)分析,路徑覆蓋需要的測試組合和條件組合覆蓋相同。</p><p><b>  圖書歸還模塊</b

111、></p><p><b>  條件組合覆蓋</b></p><p>  表5-3 圖書歸還模塊條件組合覆蓋用例</p><p><b>  路徑覆蓋:</b></p><p>  組合1:圖書超期(Y)、繼續(xù)操作(N)和圖書超期(N)、繼續(xù)操作(Y)</p><p>

112、  覆蓋路徑:abcdefg和abcefb</p><p>  組合2:圖書超期(N)、繼續(xù)操作(N)和圖書超期(Y)、繼續(xù)操作(Y)</p><p>  覆蓋路徑:abcefg和abcdefb </p><p>  圖書丟失、損壞處理模塊</p><p><b>  條件組合覆蓋</b></

113、p><p>  表5-4 圖書丟失、損壞處理模塊條件組合覆蓋用例</p><p><b>  路徑覆蓋:</b></p><p>  組合1:圖書超期(Y)、繼續(xù)操作(N)和圖書超期(N)、繼續(xù)操作(Y)</p><p>  覆蓋路徑:abcdefgh和abcefgb</p><p>  組合2:圖書

114、超期(Y)、繼續(xù)操作(Y)和圖書超期(N)、繼續(xù)操作(N)</p><p>  覆蓋路徑: abcdefgb和abcefgh</p><p>  6.3.2 黑盒測試</p><p>  黑盒測試是指通過測試來檢驗是否每個功能都能正常進行。使用黑盒測試實現(xiàn)對流通管理模塊的功能測試。</p><p>  圖書編號、ISBN、借書證號等價類劃分,

115、如表6-5所示。</p><p>  表5-5 等價類和非等價類劃分</p><p><b>  測試用例</b></p><p>  根據(jù)表5-5所劃分的等價類和非等價類,給出測試用例來覆蓋等價類和給等價類。具體內(nèi)容如表5-6。</p><p>  表6-6 黑盒測試用例</p><p><

116、;b>  6.3.3測試用例</b></p><p>  主要參與者及用例如下圖所示。</p><p><b>  用例</b></p><p><b>  用例描述</b></p><p><b>  用例描述</b></p><p>

117、;  第七部分--UML建模</p><p><b>  7.1.UML簡介</b></p><p>  UML是一種功能強大的、面向?qū)ο蟮目梢暬到y(tǒng)分析的建模語言,它采用一整套成熟的建模技術(shù),廣泛地適用于各個應用領(lǐng)域。它的各個模型可以幫助開發(fā)人員更好地理解業(yè)務流程,建立更可靠、更完善的系統(tǒng)模型。從而使用戶和開發(fā)人員對問題的描述達到相同的理解,以減少語義差異,保障分析

118、的正確性.</p><p>  7.2圖書館管理系統(tǒng)的用例分析 </p><p>  在上面,已經(jīng)識別出了系統(tǒng)的兩位參與者,經(jīng)過對需求的進一步分析,可以確定系統(tǒng)中有如下用例存在。</p><p><b>  1.借閱書籍</b></p><p>  本用例提供了借閱書籍的功能。</p><p>&

119、lt;b>  2.返還書籍</b></p><p>  本用例提供了返還書籍的功能。</p><p><b>  3.用戶管理</b></p><p>  本用例提供了增加、修改以及刪除用戶信息的功能。</p><p><b>  4.書籍管理</b></p><

120、;p><b>  6.3 靜態(tài)建模</b></p><p>  進一步分析系統(tǒng)需求,發(fā)現(xiàn)類以及類之間的聯(lián)系,確定它們的靜態(tài)結(jié)構(gòu)和動態(tài)行為,是面向?qū)ο蠓治龅幕救蝿?。系統(tǒng)的靜態(tài)結(jié)構(gòu)模型主要用類圖來描述的。</p><p>  通過對系統(tǒng)進行需求分析后,就可以識別出在該系統(tǒng)中存在的對象。從前述的系統(tǒng)需求描述中可以找到以下對象類:借閱者、書籍、管理員。</p&g

121、t;<p><b>  6.3.1類圖分析</b></p><p>  抽象出系統(tǒng)中的類后,確定并細化這些類的屬性及操作,建立每個類的圖形,通過這些圖形對每一個類的屬性和操作進行說明,如下圖所示: </p><p><b>  6.4動態(tài)行為建模</b></p><p>  系統(tǒng)的動態(tài)行為模型可以有交互作用

122、圖(時序圖和通訊圖)、狀態(tài)圖、活動圖來描述。本設(shè)計選用時序圖描述用例的主要場景,用狀態(tài)圖描述對象的動態(tài)行為。描述系統(tǒng)用例的主要場景的時序圖如下所示:</p><p>  管理員每天工作時先登錄系統(tǒng),再進行掛機等待借閱者操作。借閱者借書時,先出示借閱卡。管理員掃描借閱卡,驗證借閱者身份,系統(tǒng)讀取相應信息并顯示借閱者信息。此后,管理員掃描借閱者要借閱的書籍,增加書目信息。系統(tǒng)對應顯示書目信息后,借閱書籍成功,書籍借出

123、。借閱者續(xù)借時,步驟一直,故省略續(xù)借時的情況。</p><p><b>  第八部分--總結(jié)</b></p><p>  兩周以來忙碌而又緊張的實驗,我對軟件工程的基本理論知識、專業(yè)知識和基本技術(shù)有了更深入的了解和體會,把學到的知識得到了系統(tǒng)的復習,真正達到了學以致用。圖書管理系統(tǒng)的開發(fā)時一項復雜的工程,在設(shè)計過程中我嚴格按照需求分析、總體設(shè)計、詳細設(shè)計、編碼、測試的

124、流程來開發(fā)系統(tǒng)。在系統(tǒng)開發(fā)前,我首先了解了系統(tǒng)的特點,使用范圍以及要做成一個什么樣的系統(tǒng),以此作為基礎(chǔ)開發(fā)系統(tǒng)并準確定位。系統(tǒng)的設(shè)計不僅要實現(xiàn)對數(shù)據(jù)處理的及時性與正確性,而且要考慮系統(tǒng)是否具有控制功能,及時將數(shù)據(jù)反饋給操作者,以進行檢測和協(xié)調(diào),保證系統(tǒng)能夠正常運行。</p><p>  在設(shè)計的過程中,遇到很多問題,我盡量想辦法想自己解決,實在解決不了再請教別的同學或是查閱資料,來解決問題。</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論