版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> **學(xué)院</b></p><p><b> 課程設(shè)計(jì)說(shuō)明書</b></p><p> ?。?012/2013學(xué)年第一學(xué)期)</p><p> 課程名稱 : 軟件程序設(shè)計(jì) </p><p> 題 目 : 個(gè)人單詞簿軟件設(shè)計(jì) <
2、/p><p> 專業(yè)班級(jí) : </p><p> 學(xué)生姓名 : </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師 : </p><p> 設(shè)計(jì)周數(shù) :
3、 </p><p> 設(shè)計(jì)成績(jī) : </p><p> 2013年1月18日</p><p><b> 目錄</b></p><p> 1、課程設(shè)計(jì)目的…….……..........................................
4、..............................2</p><p> 2、系統(tǒng)的分析與設(shè)計(jì)..................... ......... ........... ... .................................2</p><p> 2.1需求分析……..........................................
5、............ ...............................2 </p><p> 2.1.1課設(shè)任務(wù)............……................................................................. 2</p><p> 2.1.2課設(shè)要求………………………………………………………..2</
6、p><p> 2.2系統(tǒng)的設(shè)計(jì)..........................................................................................3</p><p> 2.2.1 數(shù)據(jù)庫(kù)的分析與設(shè)計(jì).......... ............. ....................... ...... ….. . 3&l
7、t;/p><p> 2.2.2邏輯層次的設(shè)計(jì)……..................................... ..... ............ ..... .. 3</p><p> 2.2.3 層序流層圖的設(shè)計(jì).................................................... ................4</p>
8、<p> 2.3程序設(shè)計(jì).................................................... ..........................................4</p><p> 2.3.1系統(tǒng)實(shí)施............................................................. ...........
9、...............4</p><p> 3、課程設(shè)計(jì)總結(jié)或結(jié)論.............................................................................13</p><p> 4、參考文獻(xiàn)..............................................................
10、...................................13</p><p> 5. 教師簽字及評(píng)語(yǔ)……..............................................................................14</p><p><b> 1、課程設(shè)計(jì)目的</b></p><p&
11、gt; ?。?)初步掌握使用C#工具設(shè)計(jì)一個(gè)具體實(shí)例的方法,包括軟件的設(shè)計(jì),調(diào)試的全過(guò)程。</p><p> ?。?)通過(guò)本次設(shè)計(jì)掌握使用c#語(yǔ)言中窗體的建立,各個(gè)控件的使用,以及界面的設(shè)計(jì)。</p><p> ?。?)進(jìn)一步鞏固所學(xué)的C#及數(shù)據(jù)庫(kù)的相關(guān)理論知識(shí),提高分析和解決實(shí)際問(wèn)題的能力。</p><p> 2、系統(tǒng)的分析與設(shè)計(jì)</p><
12、p> 本次課程設(shè)計(jì)我們小組做的是一個(gè)基于Visual studio 2005(C#) + SQL server 2000的個(gè)人單詞簿系統(tǒng),它包括個(gè)人單詞簿主界面和隨機(jī)考查、編輯界面。基本可以實(shí)現(xiàn)單詞的錄入、測(cè)試、導(dǎo)出功能。并且可以自己管理詞庫(kù),具有對(duì)詞庫(kù)表中詞匯做出適當(dāng)?shù)奶砑?、刪除和修改的功能。</p><p><b> 2.1需求分析</b></p><p&g
13、t; 當(dāng)今時(shí)代是信息化時(shí)代,而信息的數(shù)字化也越來(lái)越被人們所重視,所以,數(shù)字化技術(shù)的重要性也逐漸體現(xiàn)了出來(lái), 詞典作為一種為大眾服務(wù)的工具書,已經(jīng)漸漸退居二線了,進(jìn)而出現(xiàn)了另一種查找方式更加簡(jiǎn)便,更加精確,詞匯量更加豐富而且隨身攜帶更加方便的工具,那就是電子詞典,應(yīng)該說(shuō)這是一個(gè)新舊交替的過(guò)程,電子詞典取代傳統(tǒng)詞典只是時(shí)間的問(wèn)題。 所以說(shuō)電子詞典的發(fā)展前景是明朗的, 所以我們小組決定做一個(gè)符合用戶需求的小型個(gè)人電子詞典系統(tǒng)。</p&
14、gt;<p><b> 2.1.1課設(shè)任務(wù)</b></p><p> 1、根據(jù)技術(shù)要求和現(xiàn)有開發(fā)環(huán)境,分析課設(shè)題目; </p><p> 2、設(shè)計(jì)軟件方案。包括:軟件功能結(jié)構(gòu)、各功能模塊的詳細(xì)描述、關(guān)鍵程序流程圖、數(shù)據(jù)庫(kù)中表的結(jié)構(gòu)設(shè)計(jì)等; </p><p> 3、畫出系統(tǒng)總體結(jié)構(gòu)圖、關(guān)鍵程序流程圖; </p>
15、<p> 4、設(shè)計(jì)系統(tǒng)界面,編制代碼,實(shí)現(xiàn)軟件的基本功能; </p><p> 5、調(diào)試、修改并完善程序; </p><p> 6、生成安裝程序,編寫軟件使用說(shuō)明書(圖文結(jié)合進(jìn)行描述);
16、 </p><p><b> 2.1.2課設(shè)要求</b></p><p> 1、生詞錄入、查詢功能; </p><p> 2、隨機(jī)考查用戶是否掌握了生詞,并根據(jù)掌握程度來(lái)計(jì)算是否以后還需繼續(xù)考查; </p><p><
17、b> 3、導(dǎo)出詞匯功能。</b></p><p><b> 2.2系統(tǒng)的設(shè)計(jì)</b></p><p> 2.2.1 數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)</p><p> 表2-1 用戶基本信息表(T_Users)</p><p> 2.2.2邏輯層次的設(shè)計(jì)</p><p> 本次課設(shè)
18、的個(gè)人單詞簿軟件系統(tǒng)可以使用戶進(jìn)行單詞的錄入、查詢、修改、刪除、隨機(jī)考查和導(dǎo)出等基本業(yè)務(wù)。</p><p> 個(gè)人單詞簿系統(tǒng)基本結(jié)構(gòu)框圖如圖2-1所示:</p><p> 圖2-1 個(gè)人單詞簿系統(tǒng)的基本框圖</p><p> 2.2.3 層序流層圖的設(shè)計(jì)</p><p><b> 2.3程序設(shè)計(jì)</b><
19、/p><p> 用戶進(jìn)入后, 可以看到主界面,可以根據(jù)自己的需要對(duì)單詞簿進(jìn)行錄入、修改、刪除等,還可以考查自己對(duì)單詞的掌握情況以及將已掌握的單詞導(dǎo)出到文本文檔中。</p><p><b> 2.3.1系統(tǒng)實(shí)施</b></p><p> 本系統(tǒng)主要通過(guò)運(yùn)用C#的Windows窗體的設(shè)計(jì)進(jìn)行開發(fā)和實(shí)施,主要通過(guò)如下幾個(gè)功能模塊來(lái)完成系統(tǒng)的具體的實(shí)
20、施過(guò)程:</p><p> 用戶查詢界面窗體:通過(guò)查詢界面用戶可以對(duì)單詞簿進(jìn)行查詢操作。其界面如圖2-3所示:</p><p><b> 圖2-3 查詢界面</b></p><p><b> 相關(guān)代碼如下:</b></p><p> private void button1_Click(ob
21、ject sender, EventArgs e)</p><p><b> {</b></p><p> string sql = "select word as 單詞,jieshi as 解a釋 from Table1 where word like'%" +</p><p> textBox1.Text.
22、Trim() + "%'";</p><p> ds = OperateDB.ExcuteDataSet(sql);</p><p> dataGridView1.DataSource = ds.Tables[0].DefaultView;</p><p><b> }</b></p><p
23、> ?。?)生詞錄入窗體:通過(guò)該界面用戶可以把生詞和解釋錄入到單詞簿內(nèi),其界面如圖2-4、圖2-5、圖2-6所示:</p><p> 圖2-4 錄入成功界面圖 2-5 錄入重復(fù)界面</p><p> 圖2-6 錄入為空界面</p><p><b> 其相關(guān)代碼如下:</b>
24、</p><p> private void button3_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (textBox2.Text.Trim().Length != 0)</p><p><b> {</b&
25、gt;</p><p> string sql = "insert into Table1(word,jieshi)Values('"</p><p> + textBox2.Text + "','" + textBox5.Text.Trim() + "')";</p><p
26、><b> try</b></p><p><b> {</b></p><p> if (OperateDB.ExecuteNonQuery(sql) == 1)</p><p><b> {</b></p><p> MessageBox.Show(&quo
27、t;添加成功!");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> MessageBox.Show("添加失??!");</p><
28、;p><b> }</b></p><p><b> }</b></p><p><b> catch</b></p><p><b> {</b></p><p> MessageBox.Show("錄入失敗,此單詞已被錄入!&
29、quot;);</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> MessageBox.Show
30、("單詞不能為空!");</p><p><b> }</b></p><p><b> }</b></p><p> ?。?)編輯與導(dǎo)出窗體:在編輯窗體中用戶可以對(duì)單詞簿進(jìn)行刪除、修改和導(dǎo)出的操作,其界面如圖2-7、圖2-8、圖2-9、圖2-10所示:</p><p>
31、圖2-7 編輯主界面 圖2-8 修改成功界面</p><p> 圖2-9 刪除界面 圖2-10 導(dǎo)出界面</p><p><b> 其相關(guān)代碼如下:</b></p><p> private void button5_C
32、lick(object sender, EventArgs e)</p><p><b> {</b></p><p> Form2 frm = new Form2();</p><p> frm.Show();</p><p><b> } </b></p><p&g
33、t; private void button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> SqlCommandBuilder cb = new SqlCommandBuilder(da);</p><p> da.Update(ds);</p>
34、<p> MessageBox.Show("修改成功!");</p><p><b> }</b></p><p> private void button2_Click(object sender, EventArgs e)</p><p><b> {</b></p>
35、;<p> DialogResult dlResult = MessageBox.Show(this, "要?jiǎng)h除這些信息嗎? ", "請(qǐng)確認(rèn)", MessageBoxButtons.YesNo, MessageBoxIcon.Question);</p><p> if (dlResult == DialogResult.Yes)</p>&
36、lt;p><b> {</b></p><p> int j = Fordve.SelectedRows.Count;</p><p> int[] l = new int[j];</p><p><b> int i;</b></p><p> for (i = 0; i <
37、 j; i++)</p><p><b> {</b></p><p> l[i] = Fordve.SelectedRows[i].Index;</p><p><b> }</b></p><p> int k = 0;</p><p> while (k &l
38、t; j)</p><p><b> {</b></p><p> ds.Tables[0].Rows[l[k]].Delete();</p><p><b> k++;</b></p><p><b> }</b></p><p> SqlC
39、ommandBuilder cb = new SqlCommandBuilder(da);</p><p> da.Update(ds);</p><p><b> }</b></p><p><b> }</b></p><p> private void Form2_Load(objec
40、t sender, EventArgs e)</p><p><b> {</b></p><p> BindData();</p><p><b> }</b></p><p> SqlDataAdapter da = new SqlDataAdapter();</p>&l
41、t;p> DataSet ds = new DataSet();</p><p> /// <summary></p><p><b> /// 數(shù)據(jù)綁定</b></p><p> /// </summary></p><p> void BindData()</p>
42、<p><b> {</b></p><p> string sql = "select word as 單詞,jieshi as 解釋from Table1";</p><p> SqlConnection conn = new SqlConnection(OperateDB.ConnString);</p>&l
43、t;p> conn.Open();</p><p> SqlCommand cmd = new SqlCommand(sql, conn);</p><p> da.SelectCommand = cmd;</p><p> da.Fill(ds);</p><p> Fordve.DataSource = ds.Tables
44、[0];</p><p> conn.Close();</p><p><b> }</b></p><p> SqlConnection conn = new SqlConnection(OperateDB.ConnString);</p><p> Save save = new Save();</p&
45、gt;<p> private void button1_Click_1(object sender, EventArgs e)</p><p><b> {</b></p><p> //radioChecked();</p><p> //Class1.CheckOut(Fordve);</p><
46、p><b> try</b></p><p><b> {</b></p><p> // SqlConnection conn = new SqlConnection(ConnString);//建立連接</p><p> conn.Open();</p><p> //異常處理
47、 </p><p> StreamWriter write = new StreamWriter(@"F:\danci.txt", false, Encoding.Default);</p><p> //streamwrite實(shí)例化</p><p> SqlCommand comm = new SqlComm
48、and();</p><p> //command對(duì)?象實(shí)例化 </p><p> string splice;//將讀出的數(shù)據(jù)進(jìn)行連接 </p><p> comm.Connection = conn;</p><p> comm.CommandType = Comma
49、ndType.Text;</p><p> //comm.CommandText = "select count(DanCi) from Infodanci";</p><p> // int i = Convert.ToInt32(comm.ExecuteScalar());</p><p> comm.CommandText = &qu
50、ot;select * from Table1";//執(zhí)行Dsql語(yǔ)句? </p><p> if (comm.ExecuteScalar() == null)</p><p><b> {</b></p><p> MessageBox.Show("數(shù)據(jù)庫(kù)無(wú)數(shù)據(jù)無(wú)法寫入到文本中&quo
51、t;);</p><p><b> }</b></p><p> SqlDataReader Read = comm.ExecuteReader();//建立dqldatareader </p><p> while (Read.Read())</p><p><b>
52、{</b></p><p><b> // int j;</b></p><p> //將數(shù)據(jù)從數(shù)據(jù)庫(kù)讀出 </p><p> // for (j = 0; j < i; j++)</p><p><b> // {</b></p><p> s
53、plice = Read[0].ToString().Trim()+" " + '\t' + Read[1].ToString().Trim();// + '\t' + Read[5].ToString() + '\t' + Read[6].ToString();</p><p> write.WriteLine(splice);//將數(shù)據(jù)寫
54、入txt文檔中</p><p><b> // }</b></p><p> write.Flush();//清空緩存區(qū) </p><p><b> }</b></p><p> MessageBox.Show("詞匯已生成!");</p><p&
55、gt; Read.Close();</p><p> conn.Close();</p><p><b> }</b></p><p> catch (Exception err)</p><p><b> {</b></p><p> //捕獲異常
56、 </p><p> MessageBox.Show(err.Message);</p><p><b> }</b></p><p><b> }</b></p><p> ?。?)隨機(jī)考查窗體:用戶可以對(duì)自己錄入的單詞進(jìn)行考察,單擊開始系統(tǒng)會(huì)自動(dòng)從數(shù)據(jù)庫(kù)里提取單詞,如果回答
57、正確就會(huì)自動(dòng)進(jìn)行下一測(cè)試,如果錯(cuò)誤會(huì)給出提醒,其界面如圖2-11和圖2-12所示:</p><p> 圖2-11 考查正確界面 圖2-12 考查錯(cuò)誤界面</p><p><b> 其相關(guān)代碼如下:</b></p><p> delegate void MyDele();</p>
58、<p> string hanyi;</p><p> private void button2_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> MyDele dele = new MyDele(kaocha);</p><p&
59、gt; dele.Invoke();</p><p><b> }</b></p><p> public void kaocha()</p><p><b> {</b></p><p> string sql = "select Top 1 word, jieshi from
60、 Table1 order by newid()";</p><p> SqlConnection con = new SqlConnection(OperateDB.ConnString);</p><p> SqlCommand cmd = new SqlCommand(sql, con);</p><p> con.Open();</
61、p><p> SqlDataReader dr = cmd.ExecuteReader();</p><p> while (dr.Read())</p><p><b> {</b></p><p> label1.Text = "單詞" + (string)dr["word"
62、;].ToString().Trim();</p><p> hanyi = (string)dr["jieshi"].ToString().Trim();</p><p><b> }</b></p><p> con.Close();</p><p><b> }</b&g
63、t;</p><p> private void button3_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> //hanyi.capacity(50);</p><p> if (hanyi == textBox1.Text)<
64、/p><p><b> {</b></p><p> MessageBox.Show("答案正確!", "提示");</p><p> MyDele delee = new MyDele(kaocha);</p><p> delee.Invoke();</p>
65、<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> if (MessageBox.Show("答案錯(cuò)誤!是否繼續(xù)?", "提示", MessageBoxButtons
66、.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)</p><p><b> {</b></p><p> MyDele delee = new MyDele(kaocha);</p><p> delee.Invoke();</p><p><b>
67、}</b></p><p><b> }</b></p><p> textBox1.Text = "";</p><p><b> }</b></p><p> ?。?)軟件說(shuō)明窗體:對(duì)本軟件的簡(jiǎn)單介紹,其界面如圖2-13所示:</p><
68、p> 圖2-13 軟件說(shuō)明界面</p><p> 3、課程設(shè)計(jì)總結(jié)或結(jié)論</p><p> 經(jīng)過(guò)了近兩周的時(shí)間,利用C#.NET開發(fā)的個(gè)人單詞簿程序終于完成了。經(jīng)過(guò)這次的課題的設(shè)計(jì)與實(shí)現(xiàn),盡管遇到了很多很多難題,但是我也在這次課程設(shè)計(jì)中得到了許多經(jīng)驗(yàn)、心得和鍛煉。這讓我發(fā)現(xiàn)編譯程序的過(guò)程其實(shí)就是不斷解決問(wèn)題的過(guò)程,從中也感受到了編寫軟件的樂(lè)趣,在實(shí)際開發(fā)過(guò)程中仍然會(huì)遇到不少問(wèn)題
69、,這時(shí)就要做到以下這兩點(diǎn):一個(gè)是“查” ,另一個(gè)則是“問(wèn)” 。同時(shí)也讓我體會(huì)到了無(wú)論何時(shí)都要以一個(gè)積極的心態(tài)去面對(duì),心態(tài)決定一切,無(wú)論何時(shí)無(wú)論何地,我們都要保持一顆積極的心態(tài)去面對(duì)身邊每一件事。相信自己能行,不斷努力,我們就能做到,有希望就能成功。</p><p><b> 4、參考文獻(xiàn)</b></p><p> [1] 王振江等 C#課程設(shè)計(jì)案例精編
70、 中國(guó)水利水電出版社 2006.1</p><p> [2] 馬駿 C#網(wǎng)絡(luò)應(yīng)用編程開發(fā)案例 人民郵電出版社 2008.3</p><p> 注:此表必須在同一頁(yè)面。</p><p><b> 軟件使用說(shuō)明書</b></p><p> 1、打開軟件進(jìn)入查詢界面,輸入要查詢的單詞點(diǎn)擊查詢即
溫馨提示
- 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c_課程設(shè)計(jì)---模擬抽獎(jiǎng)軟件設(shè)計(jì)
- c_課程設(shè)計(jì)—備忘錄軟件設(shè)計(jì)
- c_課程設(shè)計(jì)——自助取款機(jī)軟件設(shè)計(jì)
- c_課程設(shè)計(jì)—自動(dòng)取款機(jī)模擬軟件設(shè)計(jì)
- c_課程設(shè)計(jì)—自動(dòng)存取款機(jī)軟件設(shè)計(jì)
- c#課程設(shè)計(jì)—模擬抽獎(jiǎng)軟件設(shè)計(jì)
- c-課程設(shè)計(jì)—模擬抽獎(jiǎng)軟件設(shè)計(jì)
- c_課程設(shè)計(jì)游戲21點(diǎn)
- c_銀行叫號(hào)系統(tǒng)課程設(shè)計(jì)
- c_課程設(shè)計(jì)-俄羅斯方塊
- c_程序設(shè)計(jì)課程設(shè)計(jì)-- 在線留言
- 《軟件設(shè)計(jì)基礎(chǔ)(c++)》課程設(shè)計(jì)報(bào)告書
- 軟件設(shè)計(jì)模式課程設(shè)計(jì)
- c_課程設(shè)計(jì)——報(bào)刊訂閱管理系統(tǒng)
- c_語(yǔ)言課程設(shè)計(jì)---學(xué)生選課系統(tǒng)
- 課程設(shè)計(jì)---用c++語(yǔ)言設(shè)計(jì)個(gè)人帳薄管理系統(tǒng)
- c_文本編輯器課程設(shè)計(jì)
- c_課程設(shè)計(jì)-- 圖書館管理系統(tǒng)
- c_課程設(shè)計(jì)報(bào)告-- c#音樂(lè)播放器
- c_語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)-- 記事本
評(píng)論
0/150
提交評(píng)論