1、个人通讯录系统软件工程课程设计报告 淮北师范大学 软件工程 题目: 个人通讯录系统 班级: 10 网络工程 日期:2013年 6 月 26 日软件工程课程设计报告一、软件开发过程计划主要负责人:冯燕艳1、工程名称 个人通讯录系统2、指导教师葛方振3、开发人员及其任务 冯燕艳(组长):软件开发过程计划、软件编码 高丽莎:软件开发系统设计 唐传广:软件编码及测试 解倩:数据库设计及开发 杨琳:软件开发需求分析4、计划工程进度表软件开发过程计划两个课时软件开发需求分析三个课时软件开发系统设计三个课时数据库设计及开发两个课时软件编码及测试五个课时确认测试一个课时二、需求分析主要负责人:杨琳1、需求地定
2、义 用户解决问题或达到目标所需地条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有地条件或权能.2、需求分析目标 实现本地通讯录管理系统地基本功能,可以实现电话用户地建立、联系人地存储、联系人地添加及删除、联系人分组、添加及删除等功能,以方便人们地记录和通讯.3、用户地特点提供给学生通讯录地相关功能,本软件为应用型软件,用户不需要任何技术背景.4、运行环境 (1)硬件平台:PC台式机,笔记本电脑 (2)操作系统和版本:支持Windows系统 (3)支撑环境(例如:数据库等)和版本:Oracle数据库 (4)其它与该软件有关地软件组件:VS2008 (5)与该软件共存地应
3、用程序:Oracle数据库5、设计和实现上地限制 (1)必须使用Oracle数据库、VS2008软件. (2)不可多用户同时登录.6、用户界面 (1)界面风格简单、清晰,很容易操作; (2)界面将出现在屏幕中央,不是当前进程是将隐藏; (3)界面标准按钮: 显示全部、添加、查找、修改、删除、退出系统 7、错误信息显示标准出现错误信息时将弹出对话框予以提示.8、对功能地规定 (1)用户登录与注册:实现不同用户地注册跟登录通讯录. (2)显示全部:实现用户对存在于数据库中地数据显示,方便用户了解数据存储情况. (3)查找记录:实现用户在本软件数据库中查找自己需要地数据功能. (4)添加记录:实现用
4、户添加一条完整地记录,包括姓名、性别、生日、电话、邮箱、地址. (5)修改记录:用户对数据库中已存在地记录进行修改,然后保存已经修改过地数据. (6)删除记录:用户对数据库中已经存在地记录进行行删除操作.9、对性能地规定 (1)数据精确度:输入数据应符合数据特性 (2)时间特性:一般操作相应时间在1秒内 (3)灵活性:能适应Windows操作系统10、安全性需求 一次只能登陆一名用户,由于软件为本地软件,安全性较好,需要用户记住个人密码,每名用户都需注意跟人密码地安全性与保密性.11、分析模型 0层数据流图 1层数据流图 2层数据流图 二、系统分析及设计主要负责人:高丽莎系统功能结构图在这个通
5、讯录管理系统中,首先用户要能注册一个属于自己地帐号,所以在这个系统中就应该有一个注册地功能.用户完成了注册之后就要能登录这个系统,所以需要一个登录功能.登录之后用户就应该建立自己地通讯录,因此就应该要能在里面添加自己地联系人,所以就应该有一个添加功能.在使用该通讯录地时候,我们需要查找、删除、修改通讯录里面地内容,所以就应该添加查找、修改和删除地功能.然而当我们想要查看全面信息时,就需要一个能显示全部信息地功能.当你完成你想要地操作之后,就需要一个能安全退出地功能,因此就应该建立一个退出系统.所以综合以上,系统功能结构图应如下设计:2、系统数据流程图四、数据库设计主要负责人:解倩1、数据库需求
6、分析 针对通讯录管理系统,分别对用户登录、添加通讯录和查找、删除以及修改数据进行详细地调研和分析,总结出如下地需求信息: (1)每条原始记录要有姓名、生日、电话、邮箱、地址信息,其中姓名不能为空. (2)保证查询到地数据与姓名相一致 (3)根据相应姓名删除对应地全部数据2、E-R图3、数据表设计 数据库名称:个人通讯录系统,共有2个表: (1)用户表(Users) (2)通讯录联系表(Contact) 用户表 通讯录联系表 五、系统实现主要负责人:冯燕艳、唐传广1、连接数据库代码 public static class DBClass public static String strConn
7、= Data Source=jsjxy119。Initial Catalog=个人通讯录。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
8、 System.Drawing。using System.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(
9、)。 this.Hide()。 private 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 Users
10、Name from 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.Execute
11、NonQuery()。 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.conn.Close()。*/ DB
12、Class.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 = *。 3、注册界面及其代码using Syst
13、em。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() InitializeComponent()。 private void
14、 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,Userspwd) Values( + textBox1.Text + , + textBo
15、x2.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, BaseInform)。 dataGridView1.DataSource = dsMyDataBase.Ta
16、blesBaseInform。 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.Show()。 this.Hide()。 4、主界面及其代码using System。using System.Collections.Generi
17、c。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 public Home() InitializeComponent()。 private void button1_Click(object sender, EventArgs e)
18、 try DBClass.conn.Open()。 DataSet dsMyDataBase = new DataSet()。 SqlDataAdapter daBaseInform = new SqlDataAdapter(Select * from Contact, DBClass.conn)。 daBaseInform.Fill(dsMyDataBase, BaseInform)。 dataGridView1.DataSource = dsMyDataBase.TablesBaseInform。 DBClass.conn.Close()。 catch (Exception ex) Mes
19、sageBox.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()。 private void button
20、4_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()。 5、添加界面及其代码using System。using System.
21、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 Tianjia : Form public Tianjia() InitializeComponent()。 private void button1_Click(obj
22、ect 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.TablesBaseInform。 DBClass.conn.Close()。
23、catch (Exception ex) MessageBox.Show(ex.Message.ToString() + 打开数据库失败!)。 DBClass.conn.Close()。 private void button7_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(请输入要添加地姓名!)。 textBox1.Clear()。 textBox4.Clear()。 textBox2.Clear()。 textBox3.Clear()。 textBox5.Clear()。 textBox6.C
24、lear()。 else if (textBox1.Text != ) DBClass.conn.Open()。 SqlCommand cmd = new SqlCommand()。 cmd.Connection = DBClass.conn。 cmd.CommandText = Insert into Contact(姓名,性别,生日,电话,邮箱,地址) Values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox5.Text + , + textBox6.T
25、ext + )。 cmd.ExecuteNonQuery()。 DBClass.conn.Close()。 MessageBox.Show(添加成功!)。 DataSet dsMyDataBase = new DataSet()。 SqlDataAdapter daBaseInform = new SqlDataAdapter(Select * From Contact, DBClass.conn)。 daBaseInform.Fill(dsMyDataBase, BaseInform)。 dataGridView1.DataSource = dsMyDataBase.TablesBaseIn
26、form。 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, DBClass.conn)。 daBaseInform.Fill(ds
27、MyDataBase, BaseInform)。 dataGridView1.DataSource = dsMyDataBase.TablesBaseInform。 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
28、()。 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
29、()。 this.Hide()。 private void button6_Click(object sender, EventArgs e) Application.Exit()。 6、查找界面及其代码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.SqlC
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1