




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 師大學(xué)軟件工程 題目: 個(gè)人通訊錄系統(tǒng) 班級(jí): 10 網(wǎng)絡(luò)工程 日期:2013年 6 月26 日軟件工程課程設(shè)計(jì)報(bào)告目錄目錄2一、軟件開發(fā)過程計(jì)劃3二、需求分析3二、 系統(tǒng)分析與設(shè)計(jì)5四、數(shù)據(jù)庫設(shè)計(jì)6五、 系統(tǒng)實(shí)現(xiàn)8六、 軟件測試35七、 小結(jié)35一、軟件開發(fā)過程計(jì)劃主要負(fù)責(zé)人:燕艷1、項(xiàng)目名稱 個(gè)人通訊錄系統(tǒng)2、指導(dǎo)教師方振3、開發(fā)人員與其任務(wù) 燕艷(組長):軟件開發(fā)過程計(jì)劃、軟件編碼 高麗莎:軟件開發(fā)系統(tǒng)設(shè)計(jì) 唐傳廣:軟件編碼與測試 解倩:數(shù)據(jù)庫設(shè)計(jì)與開發(fā) 琳:軟件開發(fā)需求分析4、計(jì)劃項(xiàng)目進(jìn)度表軟件開發(fā)過程計(jì)劃兩個(gè)課時(shí)軟件開發(fā)需求分析三個(gè)課時(shí)軟件開發(fā)系統(tǒng)設(shè)計(jì)三個(gè)課時(shí)數(shù)據(jù)庫設(shè)計(jì)與開發(fā)兩個(gè)課
2、時(shí)軟件編碼與測試五個(gè)課時(shí)確認(rèn)測試一個(gè)課時(shí)二、需求分析主要負(fù)責(zé)人:琳1、 需求的定義 用戶解決問題或達(dá)到目標(biāo)所需的條件或功能;系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn),規(guī)或其它正式規(guī)定文檔所需具有的條件或權(quán)能。2、 需求分析目標(biāo) 實(shí)現(xiàn)本地通訊錄管理系統(tǒng)的基本功能,可以實(shí)現(xiàn)用戶的建立、聯(lián)系人的存儲(chǔ)、聯(lián)系人的添加與刪除、聯(lián)系人分組、添加與刪除等功能,以方便人們的記錄和通訊。3、 用戶的特點(diǎn)提供給學(xué)生通訊錄的相關(guān)功能,本軟件為應(yīng)用型軟件,用戶不需要任何技術(shù)背景。4、 運(yùn)行環(huán)境(1)硬件平臺(tái):PC臺(tái)式機(jī),筆記本電腦 (2)操作系統(tǒng)和版本:支持Windows系統(tǒng) (3)支撐環(huán)境(例如:數(shù)據(jù)庫等)和版本:Oracle
3、數(shù)據(jù)庫 (4)其它與該軟件有關(guān)的軟件組件:VS2008 (5)與該軟件共存的應(yīng)用程序:Oracle數(shù)據(jù)庫5、設(shè)計(jì)和實(shí)現(xiàn)上的限制 (1)必須使用Oracle數(shù)據(jù)庫、VS2008軟件。 (2)不可多用戶同時(shí)登錄。6、用戶界面 (1)界面風(fēng)格簡單、清晰,很容易操作; (2)界面將出現(xiàn)在屏幕中央,不是當(dāng)前進(jìn)程是將隱藏; (3)界面標(biāo)準(zhǔn)按鈕: 顯示全部、添加、查找、修改、刪除、退出系統(tǒng) 7、錯(cuò)誤信息顯示標(biāo)準(zhǔn)出現(xiàn)錯(cuò)誤信息時(shí)將彈出對(duì)話框予以提示。8、對(duì)功能的規(guī)定 (1)用戶登錄與注冊(cè):實(shí)現(xiàn)不同用戶的注冊(cè)跟登錄通訊錄。 (2)顯示全部:實(shí)現(xiàn)用戶對(duì)存在于數(shù)據(jù)庫中的數(shù)據(jù)顯示,方便用戶了解數(shù)據(jù)存儲(chǔ)情況。 (3)查找
4、記錄:實(shí)現(xiàn)用戶在本軟件數(shù)據(jù)庫中查找自己需要的數(shù)據(jù)功能。 (4)添加記錄:實(shí)現(xiàn)用戶添加一條完整的記錄,包括、性別、生日、地址。 (5)修改記錄:用戶對(duì)數(shù)據(jù)庫中已存在的記錄進(jìn)行修改,然后保存已經(jīng)修改過的數(shù)據(jù)。 (6)刪除記錄:用戶對(duì)數(shù)據(jù)庫中已經(jīng)存在的記錄進(jìn)行行刪除操作。9、對(duì)性能的規(guī)定 (1)數(shù)據(jù)精確度:輸入數(shù)據(jù)應(yīng)符合數(shù)據(jù)特性 (2)時(shí)間特性:一般操作相應(yīng)時(shí)間在1秒 (3)靈活性:能適應(yīng)Windows操作系統(tǒng)10、安全性需求 一次只能登陸一名用戶,由于軟件為本地軟件,安全性較好,需要用戶記住個(gè)人密碼,每名用戶都需注意跟人密碼的安全性與性。11、分析模型 0層數(shù)據(jù)流圖 1層數(shù)據(jù)流圖 2層數(shù)據(jù)流圖 2
5、、 系統(tǒng)分析與設(shè)計(jì)主要負(fù)責(zé)人:高麗莎系統(tǒng)功能結(jié)構(gòu)圖在這個(gè)通訊錄管理系統(tǒng)中,首先用戶要能注冊(cè)一個(gè)屬于自己的,所以在這個(gè)系統(tǒng)中就應(yīng)該有一個(gè)注冊(cè)的功能。用戶完成了注冊(cè)之后就要能登錄這個(gè)系統(tǒng),所以需要一個(gè)登錄功能。登錄之后用戶就應(yīng)該建立自己的通訊錄,因此就應(yīng)該要能在里面添加自己的聯(lián)系人,所以就應(yīng)該有一個(gè)添加功能。在使用該通訊錄的時(shí)候,我們需要查找、刪除、修改通訊錄里面的容,所以就應(yīng)該添加查找、修改和刪除的功能。然而當(dāng)我們想要查看全面信息時(shí),就需要一個(gè)能顯示全部信息的功能。當(dāng)你完成你想要的操作之后,就需要一個(gè)能安全退出的功能,因此就應(yīng)該建立一個(gè)退出系統(tǒng)。所以綜合以上,系統(tǒng)功能結(jié)構(gòu)圖應(yīng)如下設(shè)計(jì): 通訊錄管
6、理系統(tǒng) 注冊(cè) 登錄顯示全部添加查找注冊(cè)用戶修改刪除退出系統(tǒng)2、系統(tǒng)數(shù)據(jù)流程圖用戶注冊(cè)登錄通訊錄管理系統(tǒng)四、數(shù)據(jù)庫設(shè)計(jì)主要負(fù)責(zé)人:解倩1、數(shù)據(jù)庫需求分析 針對(duì)通訊錄管理系統(tǒng),分別對(duì)用戶登錄、添加通訊錄和查找、刪除以與修改數(shù)據(jù)進(jìn)行詳細(xì)的調(diào)研和分析,總結(jié)出如下的需求信息: (1)每條原始記錄要有、生日、地址信息,其中不能為空。 (2)保證查詢到的數(shù)據(jù)與相一致 (3)根據(jù)相應(yīng)刪除對(duì)應(yīng)的全部數(shù)據(jù)2、E-R圖XX性別生日 郵箱地址用戶名 密碼 用戶 操作 信息3、數(shù)據(jù)表設(shè)計(jì) 數(shù)據(jù)庫名稱:個(gè)人通訊錄系統(tǒng),共有2個(gè)表: (1)用戶表(Users) (2)通訊錄聯(lián)系表(Contact) 用戶表 通訊錄聯(lián)系表 5
7、、 系統(tǒng)實(shí)現(xiàn)主要負(fù)責(zé)人:燕艷、唐傳廣1、連接數(shù)據(jù)庫代碼 public static class DBClass public static String strConn = "Data Source=jsjxy119;Initial Catalog=個(gè)人通訊錄;Integrated Security=True"/Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫名 public static SqlConnection conn = new SqlConnection(strConn);/我將它放在登入界面Form1代碼頁面的末端2、登入界面與其代碼u
8、sing System;using System.Collections.Generic;using System ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 通訊錄系統(tǒng) public partial class Form1 : Form public Form1() InitializeComponent(); private void
9、 button1_Click(object sender, EventArgs e) Register register = new Register(); register.Show(); this.Hide(); private void button2_Click(object sender, EventArgs e) if (textBox1.Text = "" | textBox2.Text = "") MessageBox.Show("用戶名和密碼不能為空"); else DBClass.conn.Open(); Data
10、Set dsMydataBase = new DataSet(); SqlCommand cmd = new SqlCommand(); cmd.Connection = DBClass.conn; cmd mandText = "select UsersName from Users where UsersName ='" + textBox1.Text + "'" cmd.ExecuteNonQuery(); if (cmd.ExecuteScalar() = null) MessageBox.Show("用戶名不存在!&q
11、uot;); textBox1.Clear(); textBox2.Clear(); DBClass.conn.Close(); return; else cmd mandText = "select Userspwd from Users where UsersName ='" + textBox1.Text + "'" cmd.ExecuteNonQuery(); if (textBox2.Text = cmd.ExecuteScalar().ToString() DBClass.conn.Close(); MessageBox.Sh
12、ow(" 登錄成功!"); Home ho = new Home(); ho.Show(); this.Hide(); else if (textBox2.Text != cmd.ExecuteScalar().ToString() /*MessageBox.Show("密碼錯(cuò)誤"); textBox1.Clear(); textBox2.Clear(); DBClass.conn.Close();*/ DBClass.conn.Close(); MessageBox.Show(" 登錄成功!"); Home ho = new Hom
13、e(); ho.Show(); this.Hide(); else Application.Exit(); private void button3_Click(object sender, EventArgs e) Application.Exit(); private void textBox2_TextChanged(object sender, EventArgs e) textBox2.PasswordChar = '*' 3、注冊(cè)界面與其代碼using System;using System.Collections.Generic;using System pone
14、ntModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 通訊錄系統(tǒng) public partial class Register : Form public Register() InitializeComponent(); private void button1_Click(object sender, EventArgs e) try if (textB
15、ox1.Text = "" | textBox2.Text = "") MessageBox.Show("用戶名和密碼不能為空"); else DBClass.conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = DBClass.conn; cmd mandText = "Insert into Users(UsersName,Userspwd) Values('" + textBox1.Text + "',
16、9;" + textBox2.Text + "')" cmd.ExecuteNonQuery(); DBClass.conn.Close(); MessageBox.Show("成功注冊(cè)!"); DataSet dsMyDataBase = new DataSet(); SqlDataAdapter daBaseInform = new SqlDataAdapter("Select UsersName From Users", DBClass.conn); daBaseInform.Fill(dsMyDataBase
17、, "BaseInform"); dataGridView1.DataSource = dsMyDataBase.Tables"BaseInform" textBox1.Clear(); textBox2.Clear(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + "打開數(shù)據(jù)庫失??!"); DBClass.conn.Close(); private void button2_Click(object sender, EventArgs e) Form1 L
18、 = new Form1(); L.Show(); this.Hide(); 4、主界面與其代碼using System;using System.Collections.Generic;using System ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 通訊錄系統(tǒng) public partial class Home : Form pu
19、blic Home() InitializeComponent(); private void button1_Click(object sender, EventArgs e) try DBClass.conn.Open(); DataSet dsMyDataBase = new DataSet(); SqlDataAdapter daBaseInform = new SqlDataAdapter("Select * from Contact", DBClass.conn); daBaseInform.Fill(dsMyDataBase, "BaseInform
20、"); dataGridView1.DataSource = dsMyDataBase.Tables"BaseInform" DBClass.conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + "打開數(shù)據(jù)庫失?。?quot;); DBClass.conn.Close(); private void button2_Click(object sender, EventArgs e) Tianjia L = new Tianjia (); L.Show(); t
21、his.Hide(); private void button3_Click(object sender, EventArgs e) Chazhao M = new Chazhao(); M.Show(); this.Hide(); private void button4_Click(object sender, EventArgs e) Xiugai N = new Xiugai(); N.Show(); this.Hide(); private void button5_Click(object sender, EventArgs e) Shanchu O = new Shanchu()
22、; O.Show(); this.Hide(); private void button6_Click(object sender, EventArgs e) Application.Exit(); 5、添加界面與其代碼using System;using System.Collections.Generic;using System ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data
23、.SqlClient;namespace 通訊錄系統(tǒng) public partial class Tianjia : Form public Tianjia() InitializeComponent(); private void button1_Click(object sender, EventArgs e) try DBClass.conn.Open(); DataSet dsMyDataBase = new DataSet(); SqlDataAdapter daBaseInform = new SqlDataAdapter("Select * from Contact&qu
24、ot;, DBClass.conn); daBaseInform.Fill(dsMyDataBase, "BaseInform"); dataGridView1.DataSource = dsMyDataBase.Tables"BaseInform" DBClass.conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + "打開數(shù)據(jù)庫失?。?quot;); DBClass.conn.Close(); private void button7_Click
25、(object sender, EventArgs e) if (textBox1.Text = "") MessageBox.Show("請(qǐng)輸入要添加的!"); textBox1.Clear(); textBox4.Clear(); textBox2.Clear(); textBox3.Clear(); textBox5.Clear(); textBox6.Clear(); else if (textBox1.Text != "") DBClass.conn.Open(); SqlCommand cmd = new SqlComma
26、nd(); cmd.Connection = DBClass.conn; cmd mandText = "Insert into Contact(,性別,生日,地址) Values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "
27、','" + textBox6.Text + "')" cmd.ExecuteNonQuery(); DBClass.conn.Close(); MessageBox.Show("添加成功!"); DataSet dsMyDataBase = new DataSet(); SqlDataAdapter daBaseInform = new SqlDataAdapter("Select * From Contact", DBClass.conn); daBaseInform.Fill(dsMyDataB
28、ase, "BaseInform"); dataGridView1.DataSource = dsMyDataBase.Tables"BaseInform" private void button8_Click(object sender, EventArgs e) this.Close(); private void button9_Click(object sender, EventArgs e) try DBClass.conn.Open(); DataSet dsMyDataBase = new DataSet(); SqlDataAdapter
29、 daBaseInform = new SqlDataAdapter("Select * from Contact", DBClass.conn); daBaseInform.Fill(dsMyDataBase, "BaseInform"); dataGridView1.DataSource = dsMyDataBase.Tables"BaseInform" DBClass.conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + "
30、打開數(shù)據(jù)庫失??!"); DBClass.conn.Close(); private void button2_Click(object sender, EventArgs e) Tianjia L = new Tianjia(); L.Show(); this.Hide(); private void button3_Click(object sender, EventArgs e) Chazhao M = new Chazhao(); M.Show(); this.Hide(); private void button4_Click(object sender, EventArgs
31、 e) Xiugai N = new Xiugai(); N.Show(); this.Hide(); private void button5_Click(object sender, EventArgs e) Shanchu O = new Shanchu(); O.Show(); this.Hide(); private void button6_Click(object sender, EventArgs e) Application.Exit(); 6、查找界面與其代碼using System;using System.Collections.Generic;using System
32、 ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 通訊錄系統(tǒng) public partial class Chazhao : Form public Chazhao() InitializeComponent(); private void button7_Click(object sender, EventArgs e) try if (te
33、xtBox1.Text = "") MessageBox.Show("查找的不能為空!"); else if (textBox1.Text != "") DBClass.conn.Open(); DataSet dsMydataBase = new DataSet(); SqlCommand cmd = new SqlCommand(); cmd.Connection = DBClass.conn; cmd mandText = "select from Contact where ='" + textBo
34、x1.Text + "'" cmd.ExecuteNonQuery(); if (cmd.ExecuteScalar() = null) MessageBox.Show("用戶名不存在!"); textBox1.Clear(); DBClass.conn.Close(); return; else string searchString = "select * from Contact where ='" + textBox1.Text + "'" SqlDataAdapter dataSe
35、lect = new SqlDataAdapter(searchString, DBClass.conn); DataTable dt = new DataTable(); dataSelect.Fill(dt); dataGridView1.DataSource = dt.DefaultView; this.dataGridView1.RowHeadersVisible = true; DBClass.conn.Close(); textBox1.Clear(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + &qu
36、ot;打開數(shù)據(jù)庫失??!"); DBClass.conn.Close(); private void button8_Click(object sender, EventArgs e) this.Close(); private void button9_Click(object sender, EventArgs e) try DBClass.conn.Open(); DataSet dsMyDataBase = new DataSet(); SqlDataAdapter daBaseInform = new SqlDataAdapter("Select * from Co
37、ntact", DBClass.conn); daBaseInform.Fill(dsMyDataBase, "BaseInform"); dataGridView1.DataSource = dsMyDataBase.Tables"BaseInform" DBClass.conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + "打開數(shù)據(jù)庫失?。?quot;); DBClass.conn.Close(); private void butto
38、n1_Click(object sender, EventArgs e) try DBClass.conn.Open(); DataSet dsMyDataBase = new DataSet(); SqlDataAdapter daBaseInform = new SqlDataAdapter("Select * from Contact", DBClass.conn); daBaseInform.Fill(dsMyDataBase, "BaseInform"); dataGridView1.DataSource = dsMyDataBase.Tabl
39、es"BaseInform" DBClass.conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + "打開數(shù)據(jù)庫失??!"); DBClass.conn.Close(); private void button2_Click(object sender, EventArgs e) Tianjia L = new Tianjia(); L.Show(); this.Hide(); private void button3_Click(object sender, EventArgs e) Chazhao M = new Chazhao(); M.Show(); this.Hide(); private void button4_Click(object sender, EventArgs e) Xiugai N = new Xiugai(); N.Show(); this.Hide(); private void button5_Click(object sender, EventArgs e) Shanchu O = new Shanchu(); O.Show(); this.Hide(); private v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何評(píng)估國際商業(yè)美術(shù)設(shè)計(jì)師的設(shè)計(jì)作品與試題及答案
- 2024年國際商業(yè)設(shè)計(jì)師考試細(xì)節(jié)試題及答案
- redis面試題及答案java
- 2024年廣告設(shè)計(jì)師考試內(nèi)容回顧試題及答案
- 大語文考試題及答案
- 紡織品設(shè)計(jì)中的用戶體驗(yàn)與市場反饋試題及答案
- 紡織品檢驗(yàn)員考試管理技巧試題及答案
- 小學(xué)管理考試題及答案
- 2024年國際商業(yè)美術(shù)設(shè)計(jì)師考試職業(yè)前景試題及答案
- 廣告設(shè)計(jì)師證書的高效備考試題及答案
- 敬老院安全培訓(xùn)課件
- 《加拉帕戈斯群島》課件
- (高清版)DB2201∕T 43-2023 肉犢牛飼養(yǎng)技術(shù)規(guī)范
- 社區(qū)老舊小區(qū)外墻翻新腳手架方案
- 2025年醫(yī)院消化內(nèi)科年度工作計(jì)劃
- 2024屆河南省鄭州市高三一模語文試題(解析版)
- 初中二年級(jí) 嶺南版 美術(shù) 第三單元《瞬間的表情》課件
- 大國精神知到智慧樹章節(jié)測試課后答案2024年秋中北大學(xué)
- 財(cái)政評(píng)審項(xiàng)目造價(jià)咨詢技術(shù)服務(wù)方案審計(jì)服務(wù)方案
- 基于全生命周期的插電式混合動(dòng)力汽車成本分析
- 礦車安全生產(chǎn)培訓(xùn)
評(píng)論
0/150
提交評(píng)論