个人通讯录系统软件工程课程设计报告.docx
- 文档编号:29187100
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:41
- 大小:200.99KB
个人通讯录系统软件工程课程设计报告.docx
《个人通讯录系统软件工程课程设计报告.docx》由会员分享,可在线阅读,更多相关《个人通讯录系统软件工程课程设计报告.docx(41页珍藏版)》请在冰豆网上搜索。
个人通讯录系统软件工程课程设计报告
淮北师范大学
软件工程
题目:
个人通讯录系统
班级:
10网络工程
日期:
2013年6月26日
软件工程课程设计报告
一、软件开发过程计划
主要负责人:
冯燕艳
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、连接数据库代码
publicstaticclassDBClass
{
publicstaticStringstrConn="DataSource=jsjxy119。
InitialCatalog=个人通讯录。
IntegratedSecurity=True"。
//DataSource=服务器名;InitialCatalog=数据库名
publicstaticSqlConnectionconn=newSqlConnection(strConn)。
}//我将它放在登入界面Form1代码页面地末端
2、登入界面及其代码
usingSystem。
usingSystem.Collections.Generic。
usingSystem.ComponentModel。
usingSystem.Data。
usingSystem.Drawing。
usingSystem.Linq。
usingSystem.Text。
usingSystem.Windows.Forms。
usingSystem.Data.SqlClient。
namespace通讯录系统
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent()。
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
Registerregister=newRegister()。
register.Show()。
this.Hide()。
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
if(textBox1.Text==""||textBox2.Text=="")
{
MessageBox.Show("用户名和密码不能为空")。
}
else
{
DBClass.conn.Open()。
DataSetdsMydataBase=newDataSet()。
SqlCommandcmd=newSqlCommand()。
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("登录成功!
")。
Homeho=newHome()。
ho.Show()。
this.Hide()。
}
elseif(textBox2.Text!
=cmd.ExecuteScalar().ToString())
{
/*MessageBox.Show("密码错误")。
textBox1.Clear()。
textBox2.Clear()。
DBClass.conn.Close()。
*/
DBClass.conn.Close()。
MessageBox.Show("登录成功!
")。
Homeho=newHome()。
ho.Show()。
this.Hide()。
}
else
{
Application.Exit()。
}
}
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
Application.Exit()。
}
privatevoidtextBox2_TextChanged(objectsender,EventArgse)
{
textBox2.PasswordChar='*'。
}
}
}
3、注册界面及其代码
usingSystem。
usingSystem.Collections.Generic。
usingSystem.ComponentModel。
usingSystem.Data。
usingSystem.Drawing。
usingSystem.Linq。
usingSystem.Text。
usingSystem.Windows.Forms。
usingSystem.Data.SqlClient。
namespace通讯录系统
{
publicpartialclassRegister:
Form
{
publicRegister()
{
InitializeComponent()。
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
if(textBox1.Text==""||textBox2.Text=="")
{
MessageBox.Show("用户名和密码不能为空")。
}
else
{
DBClass.conn.Open()。
SqlCommandcmd=newSqlCommand()。
cmd.Connection=DBClass.conn。
cmd.CommandText="InsertintoUsers(UsersName,Userspwd)Values('"+textBox1.Text+"','"+textBox2.Text+"')"。
cmd.ExecuteNonQuery()。
DBClass.conn.Close()。
MessageBox.Show("成功注册!
")。
DataSetdsMyDataBase=newDataSet()。
SqlDataAdapterdaBaseInform=newSqlDataAdapter("Select[UsersName]FromUsers",DBClass.conn)。
daBaseInform.Fill(dsMyDataBase,"BaseInform")。
dataGridView1.DataSource=dsMyDataBase.Tables["BaseInform"]。
textBox1.Clear()。
textBox2.Clear()。
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message.ToString()+"打开数据库失败!
")。
DBClass.conn.Close()。
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Form1L=newForm1()。
L.Show()。
this.Hide()。
}
}
}
4、主界面及其代码
usingSystem。
usingSystem.Collections.Generic。
usingSystem.ComponentModel。
usingSystem.Data。
usingSystem.Drawing。
usingSystem.Linq。
usingSystem.Text。
usingSystem.Windows.Forms。
usingSystem.Data.SqlClient。
namespace通讯录系统
{
publicpartialclassHome:
Form
{
publicHome()
{
InitializeComponent()。
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
DBClass.conn.Open()。
DataSetdsMyDataBase=newDataSet()。
SqlDataAdapterdaBaseInform=newSqlDataAdapter("Select*fromContact",DBClass.conn)。
daBaseInform.Fill(dsMyDataBase,"BaseInform")。
dataGridView1.DataSource=dsMyDataBase.Tables["BaseInform"]。
DBClass.conn.Close()。
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message.ToString()+"打开数据库失败!
")。
DBClass.conn.Close()。
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
TianjiaL=newTianjia()。
L.Show()。
this.Hide()。
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
ChazhaoM=newChazhao()。
M.Show()。
this.Hide()。
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
XiugaiN=newXiugai()。
N.Show()。
this.Hide()。
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
ShanchuO=newShanchu()。
O.Show()。
this.Hide()。
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
Application.Exit()。
}
}
}
5、添加界面及其代码
usingSystem。
usingSystem.Collections.Generic。
usingSystem.ComponentModel。
usingSystem.Data。
usingSystem.Drawing。
usingSystem.Linq。
usingSystem.Text。
usingSystem.Windows.Forms。
usingSystem.Data.SqlClient。
namespace通讯录系统
{
publicpartialclassTianjia:
Form
{
publicTianjia()
{
InitializeComponent()。
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
DBClass.conn.Open()。
DataSetdsMyDataBase=newDataSet()。
SqlDataAdapterdaBaseInform=newSqlDataAdapter("Select*fromContact",DBClass.conn)。
daBaseInform.Fill(dsMyDataBase,"BaseInform")。
dataGridView1.DataSource=dsMyDataBase.Tables["BaseInform"]。
DBClass.conn.Close()。
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message.ToString()+"打开数据库失败!
")。
DBClass.conn.Close()。
}
}
privatevoidbutton7_Click(objectsender,EventArgse)
{
if(textBox1.Text=="")
{
MessageBox.Show("请输入要添加地姓名!
")。
textBox1.Clear()。
textBox4.Clear()。
textBox2.Clear()。
textBox3.Clear()。
textBox5.Clear()。
textBox6.Clear()。
}
elseif(textBox1.Text!
="")
{
DBClass.conn.Open()。
SqlCommandcmd=newSqlCommand()。
cmd.Connection=DBClass.conn。
cmd.CommandText="InsertintoContact(姓名,性别,生日,电话,邮箱,地址)Values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"')"。
cmd.ExecuteNonQuery()。
DBClass.conn.Close()。
MessageBox.Show("添加成功!
")。
DataSetdsMyDataBase=newDataSet()。
SqlDataAdapterdaBaseInform=newSqlDataAdapter("Select*FromContact",DBClass.conn)。
daBaseInform.Fill(dsMyDataBase,"BaseInform")。
dataGridView1.DataSource=dsMyDataBase.Tables["BaseInform"]。
}
}
privatevoidbutton8_Click(objectsender,EventArgse)
{
this.Close()。
}
privatevoidbutton9_Click(objectsender,EventArgse)
{
try
{
DBClass.conn.Open()。
DataSetdsMyDataBase=newDataSet()。
SqlDataAdapterdaBaseInform=newSqlDataAdapter("Select*fromContact",DBClass.conn)。
daBaseInform.Fill(dsMyDataBase,"BaseInform")。
dataGridView1.DataSource=dsMyDataBase.Tables["BaseInform"]。
DBClass.conn.Close()。
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message.ToString()+"打开数据库失败!
")。
DBClass.conn.Close()。
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
TianjiaL=newTianjia()。
L.Show()。
this.Hide()。
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
ChazhaoM=newChazhao()。
M.Show()。
this.Hide()。
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
XiugaiN=newXiugai()。
N.Show()。
this.Hide()。
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
ShanchuO=newShanchu()。
O.Show()。
this.Hide()。
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
Application.Exit()。
}
}
}
6、查找界面及其代码
usingSystem。
usingSystem.Collections.Generic。
usingSystem.ComponentModel。
usingSystem.Data。
usingSystem.Drawing。
usingSystem.Linq。
usingSystem.Text。
usingSystem.Windows.Forms。
usingSystem.Data.SqlC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 通讯录 系统软件 工程 课程设计 报告