软件工程课程设计报告.docx
- 文档编号:8312090
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:36
- 大小:209.90KB
软件工程课程设计报告.docx
《软件工程课程设计报告.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告.docx(36页珍藏版)》请在冰豆网上搜索。
软件工程课程设计报告
淮北师范大学
软件工程
题目:
个人通讯录系统
班级:
10网络工程
组成员:
冯燕艳20101204015
高丽莎20101204016
解倩20101204028
唐传广20101204055
杨琳20101204067
指导老师:
葛方振
日期:
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、系统分析及设计
主要负责人:
高丽莎
系统功能结构图
在这个通讯录管理系统中,首先用户要能注册一个属于自己的帐号,所以在这个系统中就应该有一个注册的功能。
用户完成了注册之后就要能登录这个系统,所以需要一个登录功能。
登录之后用户就应该建立自己的通讯录,因此就应该要能在里面添加自己的联系人,所以就应该有一个添加功能。
在使用该通讯录的时候,我们需要查找、删除、修改通讯录里面的内容,所以就应该添加查找、修改和删除的功能。
然而当我们想要查看全面信息时,就需要一个能显示全部信息的功能。
当你完成你想要的操作之后,就需要一个能安全退出的功能,因此就应该建立一个退出系统。
所以综合以上,系统功能结构图应如下设计:
2、系统数据流程图
四、数据库设计
主要负责人:
解倩
1、数据库需求分析
针对通讯录管理系统,分别对用户登录、添加通讯录和查找、删除以及修改数据进行详细的调研和分析,总结出如下的需求信息:
(1)每条原始记录要有姓名、生日、电话、邮箱、地址信息,其中姓名不能为空。
(2)保证查询到的数据与姓名相一致
(3)根据相应姓名删除对应的全部数据
2、E-R图
3、数据表设计
数据库名称:
个人通讯录系统,共有2个表:
(1)用户表(Users)
(2)通讯录联系表(Contact)
用户表
通讯录联系表
5、系统实现
主要负责人:
冯燕艳、唐传广
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;
usi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 报告