个人通讯录系统软件工程_课程设计报告.pdf

上传人:tbuqq 文档编号:4587568 上传时间:2019-11-18 格式:PDF 页数:38 大小:540.52KB
返回 下载 相关 举报
个人通讯录系统软件工程_课程设计报告.pdf_第1页
第1页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《个人通讯录系统软件工程_课程设计报告.pdf》由会员分享,可在线阅读,更多相关《个人通讯录系统软件工程_课程设计报告.pdf(38页珍藏版)》请在三一文库上搜索。

1、淮北师范大学 软件工程 题目:个人通讯录系统 班级: 10 网络工程 日期: 2013 年 6 月 26 日 软件工程课程设计报告 目录 目录2 一、软件开发过程计划 - 2 二、需求分析 - 3 二、 系统分析及设计- 7 四、数据库设计 - 8 五、 系统实现 - 10 六、 软件测试 - 37 七、 小结 - 37 一、软件开发过程计划 主要负责人:冯燕艳 1、工程名称 个人通讯录系统 2、指导教师 葛方振 3、开发人员及其任务 冯燕艳(组长):软件开发过程计划、软件编码 高丽莎:软件开发系统设计 唐传广:软件编码及测试 解倩:数据库设计及开发 杨琳:软件开发需求分析 4、计划工程进度表

2、 软件开发过程计划两个课时 软件开发需求分析三个课时 软件开发系统设计三个课时 数据库设计及开发两个课时 软件编码及测试五个课时 确认测试一个课时 二、需求分析 主要负责人:杨琳 1、需求地定义 用户解决问题或达到目标所需地条件或功能;系统或系统部件要满足合同、标准,规范 或其它正式规定文档所需具有地条件或权能. 2、需求分析目标 实现本地通讯录管理系统地基本功能,可以实现电话用户地建立、联系人地存储、联系 人地添加及删除、联系人分组、添加及删除等功能,以方便人们地记录和通讯. 3、用户地特点 提供给学生通讯录地相关功能,本软件为应用型软件,用户不需要任何技术背景. 4、运行环境 (1)硬件平

3、台:PC台式机,笔记本电脑 (2)操作系统和版本:支持Windows系统 (3)支撑环境 (例如:数据库等)和版本: Oracle 数据库 (4)其它与该软件有关地软件组件:VS2008 (5)与该软件共存地应用程序:Oracle数据库 5、设计和实现上地限制 (1)必须使用Oracle 数据库、 VS2008 软件 . (2)不可多用户同时登录. 6、用户界面 (1)界面风格简单、清晰,很容易操作; (2)界面将出现在屏幕中央,不是当前进程是将隐藏; (3)界面标准按钮:显示全部、添加、查找、修改、删 除、退出系统 7、错误信息显示标准 出现错误信息时将弹出对话框予以提示. 8、对功能地规定

4、 (1)用户登录与注册:实现不同用户地注册跟登录通讯 录. (2)显示全部:实现用户对存在于数据库中地数据显 示,方便用户了解数据存储情况. (3)查找记录:实现用户在本软件数据库中查找自己需 要地数据功能 . (4)添加记录:实现用户添加一条完整地记录,包括姓 名、性别、生日、电话、邮箱、地址. (5)修改记录:用户对数据库中已存在地记录进行修 改,然后保存已经修改过地数据. (6)删除记录:用户对数据库中已经存在地记录进行行 删除操作 . 9、对性能地规定 (1)数据精确度:输入数据应符合数据特性 (2)时间特性:一般操作相应时间在1 秒内 (3)灵活性:能适应Windows操作系统 10

5、、安全性需求 一次只能登陆一名用户,由于软件为本地软件,安全性 较好,需要用户记住个人密码,每名用户都需注意跟人密 码地安全性与保密性. 11、分析模型 0层数据流图 1层数据流图 2层数据流图 二、系统分析及设计 主要负责人:高丽莎 系统功能结构图 在这个通讯录管理系统中,首先用户要能注册一个属 于自己地帐号,所以在这个系统中就应该有一个注册地功 能.用户完成了注册之后就要能登录这个系统,所以需要一 个登录功能 .登录之后用户就应该建立自己地通讯录,因此 就应该要能在里面添加自己地联系人,所以就应该有一个 添加功能 .在使用该通讯录地时候,我们需要查找、删除、 修改通讯录里面地内容,所以就应

6、该添加查找、修改和删 除地功能 .然而当我们想要查看全面信息时,就需要一个能 显示全部信息地功能.当你完成你想要地操作之后,就需要 一个能安全退出地功能,因此就应该建立一个退出系统.所 以综合以上,系统功能结构图应如下设计: 通讯录管理系统 注册登录 显 示 全 部 添 加 查 找 注 册 用 户 修 改 删 除 退 出 系 统 2、系统数据流程图 四、数据库设计 主要负责人:解倩 1、数据库需求分析 针对通讯录管理系统,分别对用户登录、添加通讯录和 查找、删除以及修改数据进行详细地调研和分析,总结出 如下地需求信息: (1)每条原始记录要有姓名、生日、电话、邮箱、地址 信息,其中姓名不能为空

7、. (2)保证查询到地数据与姓名相一致 (3)根据相应姓名删除对应地全部数据 用户 注册登录 通讯录管理系统 2、E-R 图 3、数据表设计 数据库名称:个人通讯录系统,共有2 个表: (1)用户表( Users ) (2)通讯录联系表(Contact ) 用户表 姓名性别 生日 电话 邮箱 地址 用户名密码 用户操作信息 通讯录联系表 五、系统实现 主要负责人:冯燕艳、唐传广 1、连接数据库代码 public static class DBClass public static String strConn = “Data Source=jsjxy119。 Initial Catalog=个

8、人通讯录。 Integrated Security=True“ 。/Data Source= 服务器名; Initial Catalog=数据库名 public static SqlConnection conn = new SqlConnection(strConn) 。 / 我将它放在登入界面Form1 代码页面地末端 2、登入界面及其代码 using System。 using System.Collections.Generic。 using System.ComponentModel 。 using System.Data。 using System.Drawing。 using S

9、ystem.Linq。 using System.Text 。 using System.Windows.Forms。 using System.Data.SqlClient。 namespace 通讯录系统 public partial class Form1 : Form public Form1() InitializeComponent()。 private void button1_Click(object sender, EventArgs e) Register register = new Register()。 register.Show() 。 this.Hide()。 p

10、rivate void button2_Click(object sender, EventArgs e) if (textBox1.Text = “ | textBox2.Text = “) MessageBox.Show(“ 用户名和密码不能为空“)。 else DBClass.conn.Open() 。 DataSet dsMydataBase = new DataSet() 。 SqlCommand cmd = new SqlCommand() 。 cmd.Connection = DBClass.conn 。 cmd.CommandText = “select UsersName f

11、rom Users where UsersName =“ + textBox1.Text + “。 cmd.ExecuteNonQuery()。 if (cmd.ExecuteScalar() = null) MessageBox.Show(“ 用户名不存在!“)。 textBox1.Clear() 。 textBox2.Clear() 。 DBClass.conn.Close() 。 return 。 else cmd.CommandText = “select Userspwd from Users where UsersName =“ + textBox1.Text + “。 cmd.E

12、xecuteNonQuery() 。 if (textBox2.Text = cmd.ExecuteScalar().ToString() DBClass.conn.Close()。 MessageBox.Show(“ 登录成功! “)。 Home ho = new Home() 。 ho.Show() 。 this.Hide() 。 else if (textBox2.Text != cmd.ExecuteScalar().ToString() /*MessageBox.Show(“密码错误 “)。 textBox1.Clear() 。 textBox2.Clear() 。 DBClass.

13、conn.Close()。*/ DBClass.conn.Close()。 MessageBox.Show(“ 登录成功! “)。 Home ho = new Home() 。 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

14、= *。 3、注册界面及其代码 using System。 using System.Collections.Generic。 using System.ComponentModel 。 using System.Data。 using System.Drawing。 using System.Linq。 using System.Text 。 using System.Windows.Forms。 using System.Data.SqlClient。 namespace 通讯录系统 public partial class Register : Form public Register(

15、) InitializeComponent()。 private void button1_Click(object sender, EventArgs e) try if (textBox1.Text = “ | textBox2.Text = “) MessageBox.Show(“ 用户名和密码不能为空“)。 else DBClass.conn.Open() 。 SqlCommand cmd = new SqlCommand() 。 cmd.Connection = DBClass.conn 。 cmd.CommandText = “Insert into Users(UsersName

16、,Userspwd) Values(“ + textBox1.Text + “,“ + 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(dsMyDa

17、taBase, “BaseInform“)。 dataGridView1.DataSource = dsMyDataBase.Tables“BaseInform“。 textBox1.Clear() 。 textBox2.Clear() 。 catch (Exception ex) MessageBox.Show(ex.Message.ToString() + “ 打开数据库失败!“)。 DBClass.conn.Close() 。 private void button2_Click(object sender, EventArgs e) Form1 L = new Form1()。 L.S

18、how() 。 this.Hide()。 4、主界面及其代码 using System。 using System.Collections.Generic。 using System.ComponentModel 。 using System.Data。 using System.Drawing。 using System.Linq。 using System.Text 。 using System.Windows.Forms。 using System.Data.SqlClient。 namespace 通讯录系统 public partial class Home : Form publi

19、c 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“)。 dataGridVie

20、w1.DataSource = dsMyDataBase.Tables“BaseInform“。 DBClass.conn.Close() 。 catch (Exception ex) MessageBox.Show(ex.Message.ToString() + “ 打开数据库失败!“)。 DBClass.conn.Close() 。 private void button2_Click(object sender, EventArgs e) Tianjia L = new Tianjia ()。 L.Show() 。 this.Hide()。 private void button3_Cl

21、ick(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()。 priva

22、te void button6_Click(object sender, EventArgs e) Application.Exit()。 5、添加界面及其代码 using System。 using System.Collections.Generic。 using System.ComponentModel 。 using System.Data。 using System.Drawing。 using System.Linq。 using System.Text 。 using System.Windows.Forms。 using System.Data.SqlClient。 name

23、space 通讯录系统 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“, DBClass.conn) 。 da

24、BaseInform.Fill(dsMyDataBase, “BaseInform“)。 dataGridView1.DataSource = dsMyDataBase.Tables“BaseInform“。 DBClass.conn.Close() 。 catch (Exception ex) MessageBox.Show(ex.Message.ToString() + “ 打开数据库失败!“)。 DBClass.conn.Close() 。 private void button7_Click(object sender, EventArgs e) if (textBox1.Text =

25、 “) MessageBox.Show(“ 请输入要添加地姓名!“)。 textBox1.Clear() 。 textBox4.Clear() 。 textBox2.Clear() 。 textBox3.Clear() 。 textBox5.Clear() 。 textBox6.Clear() 。 else if (textBox1.Text != “) DBClass.conn.Open() 。 SqlCommand cmd = new SqlCommand() 。 cmd.Connection = DBClass.conn 。 cmd.CommandText = “Insert into

26、Contact(姓名 ,性别 ,生日 ,电话 ,邮箱 ,地址 ) Values(“ + textBox1.Text + “,“ + textBox2.Text + “,“ + textBox3.Text + “,“ + textBox4.Text + “,“ + textBox5.Text + “,“ + textBox6.Text + “)“ 。 cmd.ExecuteNonQuery()。 DBClass.conn.Close() 。 MessageBox.Show(“ 添加成功! “)。 DataSet dsMyDataBase = new DataSet() 。 SqlDataAdap

27、ter daBaseInform = new SqlDataAdapter(“Select * From Contact“, DBClass.conn) 。 daBaseInform.Fill(dsMyDataBase, “BaseInform“)。 dataGridView1.DataSource = dsMyDataBase.Tables“BaseInform“。 private void button8_Click(object sender, EventArgs e) this.Close() 。 private void button9_Click(object sender, Ev

28、entArgs 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.Tables“BaseInform“。 DBClass.conn.Close() 。 catc

29、h (Exception ex) MessageBox.Show(ex.Message.ToString() + “ 打开数据库失败!“)。 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.Hi

30、de()。 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 void button6_Click(object sender, EventArgs e) Application.Exit()。 6、查找界面及

31、其代码 using System。 using System.Collections.Generic。 using System.ComponentModel 。 using System.Data。 using System.Drawing。 using System.Linq。 using System.Text 。 using System.Windows.Forms。 using System.Data.SqlClient。 namespace 通讯录系统 public partial class Chazhao : Form public Chazhao() InitializeCo

32、mponent()。 private void button7_Click(object sender, EventArgs e) try if (textBox1.Text = “) MessageBox.Show(“ 查找地姓名不能为空!“)。 else if (textBox1.Text != “) DBClass.conn.Open() 。 DataSet dsMydataBase = new DataSet() 。 SqlCommand cmd = new SqlCommand() 。 cmd.Connection = DBClass.conn 。 cmd.CommandText =

33、 “select 姓名 from Contact where 姓名 =“ + textBox1.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 dataSel

34、ect = 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() +

35、“ 打开数据库失败!“)。 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 Contact“,

36、 DBClass.conn) 。 daBaseInform.Fill(dsMyDataBase, “BaseInform“)。 dataGridView1.DataSource = dsMyDataBase.Tables“BaseInform“。 DBClass.conn.Close() 。 catch (Exception ex) MessageBox.Show(ex.Message.ToString() + “ 打开数据库失败!“)。 DBClass.conn.Close() 。 private void button1_Click(object sender, EventArgs e)

37、try DBClass.conn.Open() 。 DataSet dsMyDataBase = new DataSet() 。 SqlDataAdapter daBaseInform = new SqlDataAdapter(“Select * from Contact“, DBClass.conn) 。 daBaseInform.Fill(dsMyDataBase, “BaseInform“)。 dataGridView1.DataSource = dsMyDataBase.Tables“BaseInform“。 DBClass.conn.Close() 。 catch (Exceptio

38、n ex) MessageBox.Show(ex.Message.ToString() + “ 打开数据库失败!“)。 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()。 priva

39、te 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 void button6_Click(object sender, EventArgs e) Application.Exit()。 7、修改界面及其代码 using S

40、ystem。 using System.Collections.Generic。 using System.ComponentModel 。 using System.Data。 using System.Drawing。 using System.Linq。 using System.Text 。 using System.Windows.Forms。 using System.Data.SqlClient。 namespace 通讯录系统 public partial class Xiugai : Form public Xiugai() InitializeComponent()。 pr

41、ivate 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“)。 dataGridView1.DataSource = dsMyDataBase.Table

42、s“BaseInform“。 DBClass.conn.Close() 。 catch (Exception ex) MessageBox.Show(ex.Message.ToString() + “ 打开数据库失败!“)。 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) Cha

43、zhao 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 void button6_Click(object sender

44、, EventArgs e) Application.Exit()。 private void button7_Click(object sender, EventArgs e) if (textBox1.Text = “) MessageBox.Show(“ 请输入要修改地姓名!“)。 textBox1.Clear() 。 textBox2.Clear() 。 textBox3.Clear() 。 textBox4.Clear() 。 textBox5.Clear() 。 textBox6.Clear() 。 else if (textBox1.Text != “) DBClass.conn

45、.Open() 。 DataSet dsMydataBase = new DataSet() 。 SqlCommand cmd = new SqlCommand() 。 cmd.Connection = DBClass.conn 。 cmd.CommandText = “select 姓名 from Contact where 姓名 =“ + textBox1.Text + “ 。 cmd.ExecuteNonQuery()。 if (cmd.ExecuteScalar() = null) MessageBox.Show(“ 用户名不存在!“)。 textBox1.Clear() 。 text

46、Box2.Clear() 。 textBox3.Clear() 。 textBox4.Clear() 。 textBox5.Clear() 。 textBox6.Clear() 。 DBClass.conn.Close() 。 return 。 else cmd.CommandText = “update Contact set 姓名 =“ + textBox1.Text + “,“ + “性别 =“ + textBox2.Text + “,“ + “ 生日 =“ + textBox3.Text + “,“ + “ 电话 =“ + textBox4.Text + “,“ + “ 邮箱 =“ + textBox5.Text + “,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1