已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淮北师范大学 软件工程 题目: 个人通讯录系统 班级: 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、 系统分析及设计主要负责人:高丽莎系统功能结构图在这个通讯录管理系统中,首先用户要能注册一个属于自己的帐号,所以在这个系统中就应该有一个注册的功能。用户完成了注册之后就要能登录这个系统,所以需要一个登录功能。登录之后用户就应该建立自己的通讯录,因此就应该要能在里面添加自己的联系人,所以就应该有一个添加功能。在使用该通讯录的时候,我们需要查找、删除、修改通讯录里面的内容,所以就应该添加查找、修改和删除的功能。然而当我们想要查看全面信息时,就需要一个能显示全部信息的功能。当你完成你想要的操作之后,就需要一个能安全退出的功能,因此就应该建立一个退出系统。所以综合以上,系统功能结构图应如下设计: 通讯录管理系统 注册 登录显示全部添加查找注册用户修改删除退出系统2、系统数据流程图用户注册登录通讯录管理系统四、数据库设计主要负责人:解倩1、数据库需求分析 针对通讯录管理系统,分别对用户登录、添加通讯录和查找、删除以及修改数据进行详细的调研和分析,总结出如下的需求信息: (1)每条原始记录要有姓名、生日、电话、邮箱、地址信息,其中姓名不能为空。 (2)保证查询到的数据与姓名相一致 (3)根据相应姓名删除对应的全部数据2、E-R图姓名性别生日电话邮箱地址用户名 密码 用户 操作 信息3、数据表设计 数据库名称:个人通讯录系统,共有2个表: (1)用户表(Users) (2)通讯录联系表(Contact) 用户表 通讯录联系表 5、 系统实现主要负责人:冯燕艳、唐传广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.TablesBaseInform; 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.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(); 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.TablesBaseInform; 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.TablesBaseInform; 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.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(); 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.Close(); return; else string searchString = select * from Contact where 姓名= + textBox1.Text + ; SqlDataAdapter dataSelect = 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() + 打开数据库失败!); 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, DBClass.conn); daBaseInform.Fill(dsMyDataBase, BaseInform); dataGridView1.DataSource = dsMyDataBase.TablesBaseInform; DBClass.conn.Close(); catch (Exception ex) MessageBox.Show(ex.Message.ToString() + 打开数据库失败!); DBClass.conn.Close(); 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.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(); 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(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025护理人员雇佣合同
- 2025企业员工劳动合同及注意事项(合同范本)
- 护理安全与风险防范
- 静态视野检查方法
- 急性损伤的护理
- 泌尿外科腹腔镜胆囊切除术围手术期护理教程
- 溃疡性口炎常见症状及护理建议
- 2025版帕金森病常见症状及护理培训课程
- 产科产后抑郁症护理规范
- 2025高中语文第2单元6.2为了忘却的记念试题含解析部编版选择性必修中
- GB/T 9944-2025不锈钢丝绳
- 人民大学法学导论课件
- 人教版八年级第十五章轴对称章节(17知识点回顾38题型巩固)(原卷版)
- 油库静电安全知识培训课件
- 2025至2030年中国环境咨询服务市场运行态势及行业发展前景预测报告
- 2025青岛市总工会招聘工会社会工作者20人考试参考题库及答案解析
- 供应室器械干燥课件
- 北极航道利用中的法律冲突与协调:困境与出路
- 2020~2025年房地产经纪人之房地产交易制度政策题库检测试卷(A卷)及参考答案
- 第5课 我们说方言教学设计-2025-2026学年小学地方、校本课程浙教版(2024)人·自然·社会
- 清真基本知识培训课件
评论
0/150
提交评论