版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計--能源管理收費系統(tǒng)
- 《數(shù)據(jù)庫原理及應(yīng)用》課程設(shè)計---能源管理收費系統(tǒng)設(shè)計與實現(xiàn)
- 數(shù)據(jù)庫課程設(shè)計--門診收費管理系統(tǒng)
- 收費停車場管理系統(tǒng)數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫課程設(shè)計論文
- 收費停車場管理系統(tǒng)數(shù)據(jù)庫設(shè)計_數(shù)據(jù)庫課程設(shè)計論文
- 數(shù)據(jù)庫課程設(shè)計--數(shù)據(jù)庫設(shè)計—公司管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計論文收費停車場管理系統(tǒng)數(shù)據(jù)庫設(shè)計畢業(yè)論文
- 數(shù)據(jù)庫課程設(shè)計(天然氣氣費收費管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計---機房管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-酒店管理系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫原理課程設(shè)計---教室管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--bbs系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計論文---汽車銷售管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--超市會員管理系統(tǒng)的數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫原理課程設(shè)計---圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計-學(xué)生管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-薪資管理系統(tǒng)
- 酒店管理系統(tǒng)--數(shù)據(jù)庫課程設(shè)計
評論
0/150
提交評論