编程项目综合实训课程设计报告Word文档格式.docx
《编程项目综合实训课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《编程项目综合实训课程设计报告Word文档格式.docx(20页珍藏版)》请在冰点文库上搜索。
2.1数据库分析
针对通讯录管理系统,分别对用户登录、添加通讯录和查找、删除以及修改数据进行详细的调研和分析,总结出如下需求信息:
每条原始记录要包括姓名、公司名称、电话、邮箱、传真、手机号码,其中姓名、公司名称、手机号码不能为空。
保证通过姓名或公司名称能查询到对应的数据,能删除相应的信息,每张表的详细设计见以下内容(用户信息表,客户信息表,部门经理信息表)
2.2数据库设计
用户信息表(用户编号,用户姓名,用户密码);
客户信息表(客户编号,客户姓名,公司名称,传真,固定电话,手机号码,Email,最近联系时间)
部门经理信息表(经理编号,经理名字,所在部门,固定电话,手机号码,Email)
2.3数据库详细设计
数据库名称:
Contacts,共有3个数据表;
用户信息表(tb_userinfo),客户信息表(tb_customerinfo),经理信息表(tb_departmentmanagerinfo),以下是3个数据表的详细设计;
1.用户信息表(tb_userinfo);
tb_userinfo
列名
数据类型(长度)
允许空
主键
默认值
备注
userId
nvarchar(20)
√
用户编号
loginName
nvarchar(30)
用户姓名
loginPassword
nvarchar(40)
用户密码
2.客户信息表(tb_customerinfo);
tb_customerinfo
customerID
int
设置为标识,种子为20010,增量为1
客户编号
customerName
客户姓名
customerCompany
nvarchar(50)
公司名称
companyfax
传真
telephone
固定电话
mobilePhone
手机号码
email
邮箱
lastcall
datetime
最近联系时间
3.经理信息表(tb_departmentmanagerinfo);
tb_departmentmanagerinfo
managerID
经理编号
managerName
经理姓名
department
所在部门
电话号码
第3章数据库设计
3.1系统目标
电子通讯录使用数据库存储信息,使用户通过登录进入系统后,可以进行管理(增加、修改删除和查询)客户信息。
由于本系统实现的电子通讯录是一个网络上分的封闭系统,隐私还需要包含用户管理的功能。
具体来说,电子通讯录具有以下功能。
用户注册:
实现用户的注册功能。
用户登录:
实现用户验证及登录功能。
修改密码:
实现用户登录密码的修改。
查看功能:
通过姓名或部门查看客户及经理信息。
增加功能:
添加客户或者经理信息。
修改功能:
修改用户或者经理信息。
删除功能:
删除某些客户或经理资料。
管理的同时能够通过连接数据库,对数据进行相应的操作。
3.2系统功能模块设计
通过对通讯录的调研和分析,一个完整的通讯录管理系统应该包括:
数据集模块,登录窗体模块,用户管理模块,主窗体模块,客户信息管理模块,经理信息管理模块。
3.3系统功能模块详细设计
根据系统功能模块设计思路,将各个模块的功能进行细分,可以用模块结构图进行表示如下:
第4章网站的实现
4.1登录界面设计与实现
1.登录界面的设计
(1)登录界面效果图
(2)登录窗体对象和属性
登录窗体需要两个标签(lable),两个文本框(textBox),两个按钮(button),背景是一副图片
对象
属性
属性值
说明
Form1
Name
loginForm
设置窗体对象名
AcceptButton
loginButton
BackgroundImage
带有公司logo的图片
该图片作为窗体背景
Text
登录界面
设置窗体的标题文字
Label1
登录名
Label2
登录密码
TextBox1
loginNameTextBox
TextBox2
loginPasswordTextBox
Button1
登录
Button2
exitButton
取消
(3)登录窗体类图的设计
登录窗体
字段:
UserId
与数据库中的“用户信息表”中的列名相对应,以便于数据库中读取出的数据能存放在类的对象中
与登录界面的数据对应,以便于存储登陆界面填写的数据,通过登陆界面的数据查看在数据库中是否存在
属性:
属性使数据在类外能处理
方法
Login()
通过方法从数据库中查找是否与登录界面填写的数据一致,如果有则登录成功,否则登录失败
(4)规划事件处理方法与实现
事件方法
动作伪代码
loginButton_Click()
创建“用户信息表”对象“1”;
判断登录名和密码是否为空;
调用“1”对象的登录方法UserInfo(),根据返回值
进行判断是否成功
exitButton_Click()
退出应用程序
4.2“电子通讯录”主窗体规划与实现
1.“主窗体”窗体规划与实现
(1)“电子通讯录”主窗体效果
(2)规划主窗体对象与属性
Form2
mainForm
BackgroudImage
该图片为背景图
menuStript1
menuStrip1
ToolStripMenuItem1
customerinfoMenu
客户信息
ToolStripMenuItem2
customerinfoMenuItem
客户信息汇总
ToolStripMenuItem3
客户信息管理
(3)规划主窗体事件与实现代码
(客户信息汇总)
customerinfoMenuItem_Click
()
创建客户信息汇总窗体对象并显示该窗体
(客户信息管理)
创建客户信息管理窗体对象并显示该窗体
4.3“客户信息”窗体规划与实现
1.“客户信息汇总”窗体规划与实现
(1)“客户信息汇总”窗体(最终效果图)
(2)规划“客户信息汇总”窗体对象和属性
Form3
(客户信息汇总窗体)
customerInfoForm
窗体对象名
DataGridView1
(数据方格视图)
dataGridView1
Columns
新增8列内容用于显示客户信息
8列具体内容在下方进行详细说明
(3)按上述对象和属性设计主窗体
增加一个dataGridView控件到customerInfoForm窗体,设计dataGridView1控件的Columns属性如下:
Columns1
某一列
DataPropertyName
customerId
与数据库列名对应
HeadText
菜单栏显示的内容
Columns2
Column2
Columns3
Column3
Customercompany
客户公司
Columns4
Column4
Columns5
Column5
联系电话
Columns6
Column6
Columns7
Column7
Columns8
Column8
lastCall
最近一次联系时间
(4)规划“客户信息汇总”与连接类的类图
“客户信息汇总”窗体用来呈现所以的客户信息,因此该窗体与数据库的“客户信息表”相关联,需要设计一个类来处理针对“客户信息表”的一些业务,并且还需要一个查询和显示该表数据的方法(CustomerInfoFind())。
考虑到本任务中多处需要连接数据库,为了方便管理和省去重复编写创建连接过程的代码,我们编写一个名为GetConnection的类,放在要用的类文件夹中,该类有一个名为SqlCon()的方法,返回一个连接对象。
CustomerInfo
与数据库中的表“客户信息表”的列名相对应,以便于从数据库中读取出的数据能存放在类的对象中
与客户信息汇总界面对应,以便于存储类的对象中的数据,赋值给数据dataGridView1的数据源
CustomerId
CustomerName
CustomerCompany
Telephone
MobilePhone
Email
Lastcall
属性使数据能在类的外部处理
方法:
CustomerInfoFind()
通过方法连接数据库,查询“客户信息表”的所有信息,并填充在类的对象中
GetConnection
SqlCon()
返回一个连接对象
(5)规划“客户信息汇总”窗体事件与实现代码
动作-伪代码
创建CustomerInfo类的对象customerInfo,调用该对象的查询方法CustomerInfoFind(),获得数据集,并赋值给dataGridView1的数据源
customerInfoForm_Load()
2.“客户信息管理”窗体规划与实现
(1)“客户信息管理”窗体效果图
(2)“客户信息管理”窗体对象和属性
“客户信息管理”窗体包含一个dataGridView控件,7个Label控件,6个TextBox控件,1和dateTimePicker控件和1个toolStrip控件,具体的属性和属性值设置如下表:
Form4
(客户信息管理窗体)
customerManagerForm
窗体显示的名称
dataGridView
与“客户信息汇总”窗体的数据方格相同,这里不做详细说明
customerNameLabel
客户姓名:
customerCompanyLabel
Label3
faxLabel
传真:
Label4
telephoneLabel
单位电话:
Label5
mobilephoneLabel
Label6
emailLabel
Email:
Label7
lastCallLabel
最近联系时间:
customerNameTextBox
customerCompanyTextBox
TextBox3
faxTextBox
TextBox4
telephoneTextBox
TextBox5
mobilephoneTextBox
TextBox6
emailTextBox
dateTimePicker1
默认值(dateTimePicker1)
toolStrip1
默认值(toolStrip1)
toolStripButton1
toolSave
保存
Image
选择保存的图标
DisplayStyle
ImageAndText
Enable
false
toolStripButton2
toolCancel
选择取消的图标
toolStripButton3
toolAdd
添加
选择添加的图标
True
toolStripButton4
toolAmend
修改
选择修改的图标
Enabled
toolStripButton5
toolDelete
删除
选择删除的图标
toolStripLabel1
labCondition
查询条件
toolStripComboBox1
conditionComboBox
Item
客户姓名公司名称
ToolStripTextBox1
keyWordTextBox
toolStripButton6
toolSelet
查询
选择查询的图标
true
toolStriptButton7
shuaxin
刷新
Iamge
(3)为customerInfo类添加方法与规划“客户信息管理”窗体事件代码
customerInfo
CustomerInfoSelect()
CustomerInfoAdd()
CustomerInfoDelete()
CustomerInfoUpdate()
CustomerManageForm_Load
创建CustomerInfo类对象customerInfo,调用customerInfo对象的查询方法CustomerInfoFind()获得数据集;
设置dataGridView1的数据源
(添加按钮)
toolAdd_Click()
调用工具按钮使能设置方法进行按钮使能(Enabled)设置,调用清空方法清空文本框中已有数据,设置日期控件的值为今日
(修改按钮)
toolAmend_Click()
调用工具按钮使能设置方法进行按钮使能(Enabled)设置
(删除按钮)
toolDelete_Click()
(取消按钮)
toolCancel_Click()
toolSelect
(查询按钮)
toolSelect_Click()
根据查询条件调用customerInfo类的查询方法CustomerInfoSelect()查询客户信息,查询出来的客户信息用
dataGridView1显示,并且第1条信息在工具栏下方的文本框显示出来
(保存按钮)
toolSave_Click()
根据需要执持“增加”“删除”
或“修改”的操作进行数据库数据更新
Shuaxin
(刷新表格)
Shuaxin_Click()
经理信息管理
用户信息管理自行添加
总结
经过这次的实训,我真真确确的感受到了计算机在我们生活中工作中的运用,这些软件、程序能让我们提高工作的效率,更直观更便捷的切入主题。
这次我们学习的是数据路的原理及应用的各方面知识,由老师带着我们不断操作。
在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。
而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。
还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。
首先我要继续学习好c语言的基础知识,然后能在电脑上熟练的运用。
然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。
遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。
首先我要感谢我们的陈老师,带领我们走向这个实训的项目,让我学会了如何解决一些问题,使我们有更好的进步,带我们走向美好编程设计这条路。
让我再次感谢陈老师的关心和照顾!
谢谢老师。
指导教师评语:
优秀/良好/中等/合格
指导教师:
2016年12月20日
课程设计成绩:
附录(关键部分程序清单)
×