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

下載本文檔

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

文檔簡介

1、<p><b>  《數(shù)據(jù)庫原理》</b></p><p><b>  課程設(shè)計報告</b></p><p>  專業(yè): 信息安全 </p><p>  班級: </p>

2、<p>  學(xué)號: </p><p>  姓名: </p><p>  題目名稱: 能源管理收費系統(tǒng) </p><p>  完成日期:

3、 </p><p><b>  1、系統(tǒng)定義</b></p><p>  隨著時代的發(fā)展,用戶對效率要求越來越高,老式的人工能源收費已經(jīng)不能滿足用戶的要求,特別是對于大的能源收費管理,人們不僅查詢和繳納費用不方便,管理員也不方便對用戶的管理,如果有了一個軟件能夠方便的管理這些繁瑣的事情,將大大的提高整個流程,所以設(shè)計一個能源收費管理系統(tǒng)是

4、非常有必要的。</p><p>  該系統(tǒng)的設(shè)計主要是用于幫助一個小型能源收費站點的管理,通過該系統(tǒng),用戶可以很方便的查詢自己每月份所需要交納的水,電,氣費用,而管理員則可以通過該系統(tǒng)方便的管理用戶,并且及時的將每月的水電氣費用和用戶所需繳納的費用放入該系統(tǒng)中,從而幫助管理員和用戶更方便有效的完成自己的工作。</p><p><b>  2、需求分析</b></

5、p><p><b>  2.1用戶需求分析</b></p><p>  系統(tǒng)總體功能要求是為了方便用戶操作,和查看能源消費情況,并且?guī)椭芾韱T更有效,方便的管理用戶和能源收費。將其細(xì)分可分為用戶,管理員和系統(tǒng)三方面的需求,其主要功能如下:</p><p>  用戶基本信息的錄入:包括用戶的單位、部門、姓名、聯(lián)系電話、住址;</p>&

6、lt;p>  用戶水、電、氣數(shù)據(jù)的錄入(每個月的數(shù)據(jù)的錄入);</p><p>  水、電、氣價格的管理;</p><p><b>  工號的管理;</b></p><p>  查詢、統(tǒng)計的結(jié)果的輸出;</p><p><b>  系統(tǒng)維護;</b></p><p> 

7、 2.2 用戶需求分析</p><p>  用戶可以查看自己的個人信息;</p><p>  用戶可以查詢自己的消費記錄和水、電的具體價格及變化;</p><p>  (3)用戶可以查看自己所繳納費用的歷史記錄。</p><p>  2.3 管理員需求分析</p><p>  管理員需通過賬號,密碼登陸以后才能進行后面

8、的步驟;</p><p>  管理員可以查看和修改用戶的基本信息(包括用戶的單位、部門、</p><p>  姓名、聯(lián)系 電話、住址);</p><p>  管理員可以添加和刪除用戶;</p><p>  管理員可以對所有用戶使用的水,電,氣數(shù)據(jù)進行錄入(每個月</p><p><b>  的數(shù)據(jù)的錄入);&

9、lt;/b></p><p>  管理員可以修改相應(yīng)的水,電,氣價格的數(shù)據(jù);</p><p><b>  2.4系統(tǒng)需求分析</b></p><p>  對計算機的配置要求一般,所需的開銷較?。?lt;/p><p>  開發(fā)工具為:eclipse和oracle數(shù)據(jù)庫;</p><p>  2.5

10、 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  2.6 數(shù)據(jù)流圖</b></p><p>  由于該系統(tǒng)的設(shè)計主要涉及到用戶的查詢和管理員的管理,而他們之間的聯(lián)系相對較少,所以數(shù)據(jù)流圖相對較為簡單,數(shù)據(jù)的總體流程</p><p>  2.6.1總體數(shù)據(jù)流圖</p><p>  2.6.2 一層數(shù)據(jù)流圖</p>

11、<p>  2.6.3 二層數(shù)據(jù)流圖</p><p><b>  2.7 數(shù)據(jù)字典</b></p><p><b>  名字:用戶信息</b></p><p>  描述:描述用戶的個人基本信息</p><p>  定義:由用戶的姓名,性別,所在的單位,聯(lián)系電話,地址和用戶編號組成&

12、lt;/p><p><b>  位置:用戶信息表</b></p><p><b>  名字:能源使用信息</b></p><p>  描述:描述了用戶使用能源的情況</p><p>  定義:由用戶水,電,氣的價格,使用量,用戶編號和月份組成</p><p>  位置:能源使用信

13、息表</p><p><b>  名字:歷史信息</b></p><p>  描述:記錄了用戶所有的能源使用信息</p><p>  定義:由用戶編號,用戶使用水,電,氣總量組成</p><p><b>  位置:歷史信息表</b></p><p><b>  名字

14、:不成功提示</b></p><p>  描述:返回用戶各種操作不成功的原因 ;不返回系統(tǒng)級錯誤 ;</p><p>  定義:用戶人為操作失敗的原因</p><p>  位置:建立用戶,登錄處理</p><p><b>  名字:成功提示</b></p><p>  描述:當(dāng)刪除用戶

15、成功后返回給用戶的相關(guān)信息 ;</p><p>  定義:包含刪除用戶的用戶名和刪除該用戶對系統(tǒng)的影響 ;</p><p>  位置:建立用戶,登錄處理</p><p><b>  3、系統(tǒng)設(shè)計</b></p><p>  3.1 主界面的設(shè)計</p><p>  為了實現(xiàn)上述的各項功能,我們需要

16、設(shè)計一個可以直接使用并且?guī)椭芾韱T和用戶直接使用的菜單運行界面,該界面能將上述的所有功能具體的實現(xiàn),能真正的供管理員和用戶使用,用戶和管理員通過該圖形界面的相關(guān)操作便可以直接得到他們想要的得到的結(jié)果,由于下面將詳細(xì)的講述該系統(tǒng)的使用發(fā)法,所以這里不在將圖進行展示。</p><p>  3.2 系統(tǒng)E-R圖</p><p>  根據(jù)上緬的數(shù)據(jù)流圖和數(shù)據(jù)字典,我們可以畫出相應(yīng)的E-R圖<

17、/p><p>  3.2.1用戶信息實體圖</p><p>  3.2.2賬號,密碼信息管理實體圖</p><p><b>  3.2.3能源信息</b></p><p>  3.2.5歷史信息實體圖</p><p>  3.2.6總以E-R圖</p><p><b>

18、;  3.3 數(shù)據(jù)庫設(shè)計</b></p><p>  3.3.1 關(guān)系模式</p><p>  用戶(用戶編號,姓名,聯(lián)系電話,部門,所在單位)</p><p>  能源的價格(用戶編號,姓名,月份,需繳水費,需繳電費,需繳氣費)</p><p>  歷史信息(用戶編號,姓名,月份,已繳納水費,已繳納電費,已繳納氣費)</p

19、><p>  賬號信息(用戶編號/管理員編號,賬號,密碼)</p><p>  3.3.2 相應(yīng)的表及其選項</p><p><b>  (1)用戶信息表</b></p><p><b> ?。?)用戶信息表</b></p><p><b> ?。?)能源信息表<

20、/b></p><p><b> ?。?)能源信息表</b></p><p><b>  (5)賬號信息表</b></p><p><b>  4、詳細(xì)設(shè)計</b></p><p><b>  4.1流程圖</b></p><p&

21、gt;<b>  5、系統(tǒng)實現(xiàn)與測試</b></p><p>  5.1開發(fā)平臺和工具選擇</p><p>  該能源收費管理系統(tǒng)的開發(fā)與運行環(huán)境如下:</p><p>  開發(fā)環(huán)境:Windows 7;</p><p>  輔助工具:eclipse,word繪圖工具;</p><p>  數(shù)據(jù)庫

22、管理系統(tǒng):oracle數(shù)據(jù)庫;</p><p>  運行環(huán)境:Windows XP/7;</p><p><b>  5.2系統(tǒng)測試</b></p><p>  由于水平有限,本次測試使用了黑盒測試。</p><p>  點擊“登陸”按鈕進入該“能源收費管理系統(tǒng)”。管理員從此登錄進入。界面如下:</p>&

23、lt;p>  登陸失敗提示界面如下:</p><p>  登陸成功提示界面如下:</p><p>  登陸后程序主界面如下:</p><p>  點擊“用戶信息錄入”按鈕進入該“用戶信息錄入”。界面如下:</p><p>  錄入一個用戶信息,成功后,提示如下:</p><p>  點擊“價格查詢”按鈕進入該“價

24、格查詢”并查詢能源價格,界面如下:</p><p>  點擊“價格更改”按鈕進入該“價格更改”并更改能源價格,界面如下:</p><p>  點擊“用戶信息錄入”按鈕進入該“用戶信息錄入”并錄入一個用戶信息,界面如下:</p><p>  點擊“收費查詢”按鈕進入該“消費查詢”并查詢消費(收費)信息,界面如下:</p><p>  點擊“刪除

25、用戶”按鈕進入該“刪除用戶信息”并刪除以為用戶,界面如下:</p><p>  至此,所有功能均已演示完畢。</p><p><b>  六、課程設(shè)計總結(jié)</b></p><p>  在本次課程設(shè)計中,在規(guī)定的時間內(nèi),我組基本上完成了課程設(shè)計的要求,開發(fā)出了題目所要求的軟件。</p><p>  通過本次課程設(shè)計,使我們

26、對軟件工程的理論有了更深刻的認(rèn)識,認(rèn)識到軟件開發(fā)的步驟是緊密聯(lián)系的,包括可行性研究,需求分析,總體設(shè)計,詳細(xì)設(shè)計,實現(xiàn)和測試。每一步驟都是不可缺少的,而且前面的步驟做的越詳細(xì),后面的工作就越好做。越是在后面發(fā)現(xiàn)異議,需要修改,那么花費的成本就越大,即開發(fā)過程的返工強度就越大。</p><p>  在軟件開發(fā)的過程當(dāng)中,合作的力量是不可忽視的。一個人的作用終究是有限的,面對一個比較復(fù)雜的系統(tǒng),只有很好的分工合作,才

27、能在最短時間內(nèi)完成任務(wù)。由于軟件開發(fā)需要分工合作,那么文檔的嚴(yán)格規(guī)范性就顯得尤為重要,自己的文檔不能只有自己能看懂,嚴(yán)格意義上來說,一份文檔對于所有程序員來說,開發(fā)出來的結(jié)果是一樣的。</p><p>  我們在開發(fā)的過程當(dāng)中就是因為實體關(guān)系研究不夠透徹,來回返工,浪費的大量時間。再加上相關(guān)知識掌握不夠深入,開發(fā)過程是相當(dāng)困難的。但是我們并沒有放棄,每當(dāng)困難的時候,就向指導(dǎo)老師請教,總能有所收獲。在開發(fā)過程當(dāng)中還

28、發(fā)現(xiàn)自己的知識有限,許多任務(wù)不能出色的完成,這就要求增強自學(xué)能力,通過查找相關(guān)資料,自學(xué)慢慢來完成。</p><p>  通過本次課程設(shè)計,對于java編程,數(shù)據(jù)庫的理論知識有了更深入的理解,培養(yǎng)了一定的自學(xué)能力,對于軟件開發(fā)的過程有了初步的了解,掌握了軟件開發(fā)的一些基本的技巧,鍛煉的團隊合作的能力,增強了自身的綜合素質(zhì),受益頗多。</p><p>  雖然完成了此次課程設(shè)計的任務(wù),但只軟

29、件中還存在著很多可以完善的地方,有待以后在實踐中積累更多知識并加以完善。</p><p>  本小組成員完成課程設(shè)計的情況:</p><p><b>  參考文獻</b></p><p>  解析java程序設(shè)計/甘玲,張璞編著.-北京:清華大學(xué)出版社,2006.9</p><p>  數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程/厄爾曼,懷德姆

30、著.-北京:機械工業(yè)出版社,2008.8</p><p>  附錄:部分關(guān)鍵代碼 </p><p><b>  用戶信息錄入 模塊</b></p><p>  package user_info_insert;</p><p>  import java.awt.BorderLayout;</p><

31、p>  import java.awt.GridBagLayout;</p><p>  import java.awt.GridLayout;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><

32、p>  import java.sql.Statement;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import javax.swing.JButton;</p><p>  import java

33、x.swing.JFrame;</p><p>  import javax.swing.JLabel;</p><p>  import javax.swing.JOptionPane;</p><p>  import javax.swing.JPanel;</p><p>  import javax.swing.JTextField;

34、</p><p>  import javax.swing.SwingConstants;</p><p>  public class insert_user_information extends JFrame implements ActionListener {</p><p><b>  /**</b></p><

35、p><b>  * </b></p><p><b>  */</b></p><p>  private static final long serialVersionUID = 1L;</p><p>  private Connection con = null;</p><p>  S

36、tatement stmt = null;</p><p>  private JLabel Title = new JLabel("請輸入新用戶的信息", SwingConstants.CENTER);</p><p>  private JLabel idlabel = new JLabel("用戶ID ");</p>&

37、lt;p>  private JTextField id = new JTextField(15);</p><p>  private JLabel namelabel = new JLabel("姓名 ");</p><p>  private JTextField name = new JTextField(15);</p>

38、<p>  private JLabel sexlabel = new JLabel("性別 ");</p><p>  private JTextField sex = new JTextField(15);</p><p>  private JLabel addresslabel = new JLabel("家庭地址"

39、;);</p><p>  private JTextField address = new JTextField(15);</p><p>  private JLabel telephonelabel = new JLabel("電話 ");</p><p>  private JTextField telephone = n

40、ew JTextField(15);</p><p>  private JLabel workplacelabel = new JLabel("工作地點");</p><p>  private JTextField workplace = new JTextField(15);</p><p>  private JLabel departm

41、entlabel = new JLabel("部門 ");</p><p>  private JTextField department = new JTextField(15);</p><p>  private JLabel remarklabel = new JLabel("備注 ");</p>

42、<p>  private JTextField remark = new JTextField(15);</p><p>  private JButton commit = new JButton("提交");</p><p>  public insert_user_information() {</p><p>  setTit

43、le("用戶信息錄入");</p><p>  setSize(400, 400);</p><p>  getContentPane().setLayout(new GridBagLayout());</p><p>  JPanel jp1 = new JPanel();</p><p>  jp1.add(idlab

44、el);</p><p>  jp1.add(id);</p><p>  JPanel jp2 = new JPanel();</p><p>  jp2.add(namelabel);</p><p>  jp2.add(name);</p><p>  JPanel jp3 = new JPanel();<

45、/p><p>  jp3.add(sexlabel);</p><p>  jp3.add(sex);</p><p>  JPanel jp4 = new JPanel();</p><p>  jp4.add(addresslabel);</p><p>  jp4.add(address);</p>&

46、lt;p>  JPanel jp5 = new JPanel();</p><p>  jp5.add(telephonelabel);</p><p>  jp5.add(telephone);</p><p>  JPanel jp6 = new JPanel();</p><p>  jp6.add(workplacelabel)

47、;</p><p>  jp6.add(workplace);</p><p>  JPanel jp7 = new JPanel();</p><p>  jp7.add(departmentlabel);</p><p>  jp7.add(department);</p><p>  JPanel jp8 = n

48、ew JPanel();</p><p>  jp8.add(remarklabel);</p><p>  jp8.add(remark);</p><p>  JPanel jp9 = new JPanel();</p><p>  jp9.setLayout(new GridLayout(9, 1));</p><p

49、>  jp9.add(Title);</p><p>  jp9.add(jp1);</p><p>  jp9.add(jp2);</p><p>  jp9.add(jp3);</p><p>  jp9.add(jp4);</p><p>  jp9.add(jp5);</p><p&g

50、t;  jp9.add(jp6);</p><p>  jp9.add(jp7);</p><p>  jp9.add(jp8);</p><p>  JPanel jp10 = new JPanel();</p><p>  jp10.setLayout(new BorderLayout());</p><p>  

51、jp10.add("Center", jp9);</p><p>  add(jp10);</p><p>  add(commit);</p><p>  commit.addActionListener(this);</p><p><b>  try {</b></p><p

52、>  String url = "jdbc:oracle:thin:@172.23.26.148:1521:orcl";</p><p>  Class.forName("oracle.jdbc.driver.OracleDriver");</p><p>  //System.out.println("驅(qū)動程序已裝載"

53、;);</p><p>  //System.out.println("即將連接數(shù)據(jù)庫");</p><p>  con = DriverManager.getConnection(url, "DBdesign128", "111");</p><p>  System.out.println(&qu

54、ot;load ok");</p><p>  stmt = con.createStatement();</p><p>  } catch (Exception ex) {</p><p>  System.out.println(ex.getMessage());</p><p><b>  }</b>&

55、lt;/p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent evt) {</p><p>  String uid = id.getText().trim();</p><p>  String uname = name.getText().

56、trim();</p><p>  String usex = sex.getText().trim();</p><p>  String uadd = address.getText().trim();</p><p>  String utele = telephone.getText().trim();</p><p>  Strin

57、g uwork = workplace.getText().trim();</p><p>  String udepart = department.getText().trim();</p><p>  String ure = remark.getText().trim();</p><p>  String command = "insert in

58、to user_info values('" + uid + "','" + uname</p><p>  + "','" + usex + "','" + uadd + "','" + utele + "','"

59、+ uwork</p><p>  + "','" + udepart + "','" + ure + "')";</p><p>  if (uid.length() != 0) {</p><p><b>  try {</b></p&

60、gt;<p>  stmt.executeUpdate(command);</p><p>  JOptionPane.showMessageDialog(commit, "錄入成功!", "提示",</p><p>  JOptionPane.INFORMATION_MESSAGE);</p><p>  st

61、mt.close();</p><p>  } catch (Exception ex) {</p><p>  System.out.println(ex.getMessage());</p><p>  JOptionPane.showMessageDialog(commit, "輸入錯誤", "警告",</p>

62、;<p>  JOptionPane.ERROR_MESSAGE);</p><p><b>  }</b></p><p><b>  } else {</b></p><p>  JOptionPane.showMessageDialog(commit, "ID不能為空", "

63、;警告",</p><p>  JOptionPane.ERROR_MESSAGE);</p><p><b>  }</b></p><p><b>  }</b></p><p>  public static void main(String args[]) {</p>

溫馨提示

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

最新文檔

評論

0/150

提交評論