收藏 分销(赏)

个人通讯录系统软件工程专业课程设计报告.doc

上传人:鼓*** 文档编号:9996760 上传时间:2025-04-16 格式:DOC 页数:69 大小:327.50KB 下载积分:8 金币
下载 相关 举报
个人通讯录系统软件工程专业课程设计报告.doc_第1页
第1页 / 共69页
个人通讯录系统软件工程专业课程设计报告.doc_第2页
第2页 / 共69页


点击查看更多>>
资源描述
个人通讯录系统软件工程专业课程设计报告 淮北师范大学 软件工程 题目: 个人通讯录系统 班级: 10 网络工程 日期:2013年 6 月 26 日 软件工程课程设计报告 目录 目录 2 一、软件开发过程计划 3 二、需求分析 3 二、 系统分析及设计 5 四、数据库设计 6 五、 系统实现 8 六、 软件测试 35 七、 小结 35 一、软件开发过程计划 主要负责人:冯燕艳 1、工程名称 个人通讯录系统 2、指导教师 葛方振 3、开发人员及其任务 冯燕艳(组长):软件开发过程计划、软件编码 高丽莎:软件开发系统设计 唐传广:软件编码及测试 解倩:数据库设计及开发 杨琳:软件开发需求分析 4、计划工程进度表 软件开发过程计划 两个课时 软件开发需求分析 三个课时 软件开发系统设计 三个课时 数据库设计及开发 两个课时 软件编码及测试 五个课时 确认测试 一个课时 二、需求分析 主要负责人:杨琳 1、 需求地定义 用户解决问题或达到目标所需地条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有地条件或权能. 2、 需求分析目标 实现本地通讯录管理系统地基本功能,可以实现电话用户地建立、联系人地存储、联系人地添加及删除、联系人分组、添加及删除等功能,以方便人们地记录和通讯. 3、 用户地特点 提供给学生通讯录地相关功能,本软件为应用型软件,用户不需要任何技术背景. 4、 运行环境 (1)硬件平台:PC台式机,笔记本电脑 (2)操作系统和版本:支持Windows系统 (3)支撑环境(例如:数据库等)和版本:Oracle数据库 (4)其它与该软件有关地软件组件:VS2008 (5)与该软件共存地应用程序:Oracle数据库 5、设计和实现上地限制 (1)必须使用Oracle数据库、VS2008软件. (2)不可多用户同时登录. 6、用户界面 (1)界面风格简单、清晰,很容易操作; (2)界面将出现在屏幕中央,不是当前进程是将隐藏; (3)界面标准按钮: 显示全部、添加、查找、修改、删除、退出系统 7、错误信息显示标准 出现错误信息时将弹出对话框予以提示. 8、对功能地规定 (1)用户登录与注册:实现不同用户地注册跟登录通讯录. (2)显示全部:实现用户对存在于数据库中地数据显示,方便用户了解数据存储情况. (3)查找记录:实现用户在本软件数据库中查找自己需要地数据功能. (4)添加记录:实现用户添加一条完整地记录,包括姓名、性别、生日、电话、邮箱、地址. (5)修改记录:用户对数据库中已存在地记录进行修改,然后保存已经修改过地数据. (6)删除记录:用户对数据库中已经存在地记录进行行删除操作. 9、对性能地规定 (1)数据精确度:输入数据应符合数据特性 (2)时间特性:一般操作相应时间在1秒内 (3)灵活性:能适应Windows操作系统 10、安全性需求 一次只能登陆一名用户,由于软件为本地软件,安全性较好,需要用户记住个人密码,每名用户都需注意跟人密码地安全性与保密性. 11、分析模型 0层数据流图 1层数据流图 2层数据流图 二、 系统分析及设计 主要负责人:高丽莎 系统功能结构图 在这个通讯录管理系统中,首先用户要能注册一个属于自己地帐号,所以在这个系统中就应该有一个注册地功能.用户完成了注册之后就要能登录这个系统,所以需要一个登录功能.登录之后用户就应该建立自己地通讯录,因此就应该要能在里面添加自己地联系人,所以就应该有一个添加功能.在使用该通讯录地时候,我们需要查找、删除、修改通讯录里面地内容,所以就应该添加查找、修改和删除地功能.然而当我们想要查看全面信息时,就需要一个能显示全部信息地功能.当你完成你想要地操作之后,就需要一个能安全退出地功能,因此就应该建立一个退出系统.所以综合以上,系统功能结构图应如下设计: 通讯录管理系统 注册 登录 显示全部 添加 查找 注册用户 修改 删除 退出系统 2、系统数据流程图 用户 注册 登录 通讯录管理系统 四、数据库设计 主要负责人:解倩 1、数据库需求分析 针对通讯录管理系统,分别对用户登录、添加通讯录和查找、删除以及修改数据进行详细地调研和分析,总结出如下地需求信息: (1)每条原始记录要有姓名、生日、电话、邮箱、地址信息,其中姓名不能为空. (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=个人通讯录。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 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()。 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 [UsersName] 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.ExecuteNonQuery()。 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()。*/ 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 = '*'。 } } } 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() { 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,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(dsMyDataBase, "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.Show()。 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 { public 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")。 dataGridView1.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_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 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。 namespace 通讯录系统 { 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)。 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 button7_Click(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 SqlCommand()。 cmd.Connection = DBClass.conn。 cmd.CommandText = "Insert into 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()。 SqlDataAdapter 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, 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.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_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 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.SqlClient。 namespace 通讯录系统 { public partial class Chazhao : Form { public Chazhao() { InitializeComponent()。 } 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 = "select [姓名] from [Contact] where [姓名] ='" + textBox1.Text + "'"。 cmd.ExecuteNonQuery()。 if (cmd.ExecuteScalar() == null) { MessageBox.Show("用户名不存在!")。 textBox1.Clear()。 DBClass.conn.Clo
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服