個人電話薄系統(tǒng)軟件工程課程設(shè)計報告_第1頁
個人電話薄系統(tǒng)軟件工程課程設(shè)計報告_第2頁
個人電話薄系統(tǒng)軟件工程課程設(shè)計報告_第3頁
個人電話薄系統(tǒng)軟件工程課程設(shè)計報告_第4頁
個人電話薄系統(tǒng)軟件工程課程設(shè)計報告_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 師大學(xué)軟件工程 題目: 個人通訊錄系統(tǒng) 班級: 10 網(wǎng)絡(luò)工程 日期:2013年 6 月26 日軟件工程課程設(shè)計報告目錄目錄2一、軟件開發(fā)過程計劃3二、需求分析3二、 系統(tǒng)分析與設(shè)計5四、數(shù)據(jù)庫設(shè)計6五、 系統(tǒng)實現(xiàn)8六、 軟件測試35七、 小結(jié)35一、軟件開發(fā)過程計劃主要負(fù)責(zé)人:燕艷1、項目名稱 個人通訊錄系統(tǒng)2、指導(dǎo)教師方振3、開發(fā)人員與其任務(wù) 燕艷(組長):軟件開發(fā)過程計劃、軟件編碼 高麗莎:軟件開發(fā)系統(tǒng)設(shè)計 唐傳廣:軟件編碼與測試 解倩:數(shù)據(jù)庫設(shè)計與開發(fā) 琳:軟件開發(fā)需求分析4、計劃項目進(jìn)度表軟件開發(fā)過程計劃兩個課時軟件開發(fā)需求分析三個課時軟件開發(fā)系統(tǒng)設(shè)計三個課時數(shù)據(jù)庫設(shè)計與開發(fā)兩個課

2、時軟件編碼與測試五個課時確認(rèn)測試一個課時二、需求分析主要負(fù)責(zé)人:琳1、 需求的定義 用戶解決問題或達(dá)到目標(biāo)所需的條件或功能;系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn),規(guī)或其它正式規(guī)定文檔所需具有的條件或權(quán)能。2、 需求分析目標(biāo) 實現(xiàn)本地通訊錄管理系統(tǒng)的基本功能,可以實現(xiàn)用戶的建立、聯(lián)系人的存儲、聯(lián)系人的添加與刪除、聯(lián)系人分組、添加與刪除等功能,以方便人們的記錄和通訊。3、 用戶的特點提供給學(xué)生通訊錄的相關(guān)功能,本軟件為應(yīng)用型軟件,用戶不需要任何技術(shù)背景。4、 運行環(huán)境(1)硬件平臺:PC臺式機(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è)計和實現(xiàn)上的限制 (1)必須使用Oracle數(shù)據(jù)庫、VS2008軟件。 (2)不可多用戶同時登錄。6、用戶界面 (1)界面風(fēng)格簡單、清晰,很容易操作; (2)界面將出現(xiàn)在屏幕中央,不是當(dāng)前進(jìn)程是將隱藏; (3)界面標(biāo)準(zhǔn)按鈕: 顯示全部、添加、查找、修改、刪除、退出系統(tǒng) 7、錯誤信息顯示標(biāo)準(zhǔn)出現(xiàn)錯誤信息時將彈出對話框予以提示。8、對功能的規(guī)定 (1)用戶登錄與注冊:實現(xiàn)不同用戶的注冊跟登錄通訊錄。 (2)顯示全部:實現(xiàn)用戶對存在于數(shù)據(jù)庫中的數(shù)據(jù)顯示,方便用戶了解數(shù)據(jù)存儲情況。 (3)查找

4、記錄:實現(xiàn)用戶在本軟件數(shù)據(jù)庫中查找自己需要的數(shù)據(jù)功能。 (4)添加記錄:實現(xiàn)用戶添加一條完整的記錄,包括、性別、生日、地址。 (5)修改記錄:用戶對數(shù)據(jù)庫中已存在的記錄進(jìn)行修改,然后保存已經(jīng)修改過的數(shù)據(jù)。 (6)刪除記錄:用戶對數(shù)據(jù)庫中已經(jīng)存在的記錄進(jìn)行行刪除操作。9、對性能的規(guī)定 (1)數(shù)據(jù)精確度:輸入數(shù)據(jù)應(yīng)符合數(shù)據(jù)特性 (2)時間特性:一般操作相應(yīng)時間在1秒 (3)靈活性:能適應(yīng)Windows操作系統(tǒng)10、安全性需求 一次只能登陸一名用戶,由于軟件為本地軟件,安全性較好,需要用戶記住個人密碼,每名用戶都需注意跟人密碼的安全性與性。11、分析模型 0層數(shù)據(jù)流圖 1層數(shù)據(jù)流圖 2層數(shù)據(jù)流圖 2

5、、 系統(tǒng)分析與設(shè)計主要負(fù)責(zé)人:高麗莎系統(tǒng)功能結(jié)構(gòu)圖在這個通訊錄管理系統(tǒng)中,首先用戶要能注冊一個屬于自己的,所以在這個系統(tǒng)中就應(yīng)該有一個注冊的功能。用戶完成了注冊之后就要能登錄這個系統(tǒng),所以需要一個登錄功能。登錄之后用戶就應(yīng)該建立自己的通訊錄,因此就應(yīng)該要能在里面添加自己的聯(lián)系人,所以就應(yīng)該有一個添加功能。在使用該通訊錄的時候,我們需要查找、刪除、修改通訊錄里面的容,所以就應(yīng)該添加查找、修改和刪除的功能。然而當(dāng)我們想要查看全面信息時,就需要一個能顯示全部信息的功能。當(dāng)你完成你想要的操作之后,就需要一個能安全退出的功能,因此就應(yīng)該建立一個退出系統(tǒng)。所以綜合以上,系統(tǒng)功能結(jié)構(gòu)圖應(yīng)如下設(shè)計: 通訊錄管

6、理系統(tǒng) 注冊 登錄顯示全部添加查找注冊用戶修改刪除退出系統(tǒng)2、系統(tǒng)數(shù)據(jù)流程圖用戶注冊登錄通訊錄管理系統(tǒng)四、數(shù)據(jù)庫設(shè)計主要負(fù)責(zé)人:解倩1、數(shù)據(jù)庫需求分析 針對通訊錄管理系統(tǒng),分別對用戶登錄、添加通訊錄和查找、刪除以與修改數(shù)據(jù)進(jìn)行詳細(xì)的調(diào)研和分析,總結(jié)出如下的需求信息: (1)每條原始記錄要有、生日、地址信息,其中不能為空。 (2)保證查詢到的數(shù)據(jù)與相一致 (3)根據(jù)相應(yīng)刪除對應(yīng)的全部數(shù)據(jù)2、E-R圖XX性別生日 郵箱地址用戶名 密碼 用戶 操作 信息3、數(shù)據(jù)表設(shè)計 數(shù)據(jù)庫名稱:個人通訊錄系統(tǒng),共有2個表: (1)用戶表(Users) (2)通訊錄聯(lián)系表(Contact) 用戶表 通訊錄聯(lián)系表 5

7、、 系統(tǒng)實現(xiàn)主要負(fù)責(zé)人:燕艷、唐傳廣1、連接數(shù)據(jù)庫代碼 public static class DBClass public static String strConn = "Data Source=jsjxy119;Initial Catalog=個人通訊錄;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("密碼錯誤"); 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、注冊界面與其代碼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("成功注冊!"); 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ù)庫失??!"); 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ù)庫失敗!"); DBClass.conn.Close(); private void button7_Click

25、(object sender, EventArgs e) if (textBox1.Text = "") MessageBox.Show("請輸入要添加的!"); 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ù)庫失?。?quot;); 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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論