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

上传人:b****6 文档编号:7206118 上传时间:2023-01-21 格式:DOCX 页数:37 大小:201.20KB
下载 相关 举报
个人通讯录系统软件工程课程设计报告.docx_第1页
第1页 / 共37页
个人通讯录系统软件工程课程设计报告.docx_第2页
第2页 / 共37页
个人通讯录系统软件工程课程设计报告.docx_第3页
第3页 / 共37页
个人通讯录系统软件工程课程设计报告.docx_第4页
第4页 / 共37页
个人通讯录系统软件工程课程设计报告.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

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

《个人通讯录系统软件工程课程设计报告.docx》由会员分享,可在线阅读,更多相关《个人通讯录系统软件工程课程设计报告.docx(37页珍藏版)》请在冰豆网上搜索。

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

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

淮北师范大学

软件工程

题目:

个人通讯录系统

班级:

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

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1