vb课程设计报告书文档格式.docx
《vb课程设计报告书文档格式.docx》由会员分享,可在线阅读,更多相关《vb课程设计报告书文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
分析系统需要实现什么样的功能。
(3)程序设计:
根据需求分析的结果,进行界面及编程设计。
(4)程序检验:
对编好的程序进行测试,校对。
(5)程序改进:
对校正后的程序进行改正,试行。
(6)编写报告:
编写建筑施工安全信息管理系统设计报告书。
2.系统需求分析与功能设计(根据课题的要求进行简单的需求分析,设计相应的数据流图,得出相应的系统功能需要,系统数据流图)
2.1建筑施工安全信息管理数据库系统的需求分析
2.1.1功能需求分析
(1)用户管理
为了保证数据库中的数据不被泄露或破坏,登录界面要设计直观,操作简单,友好而且使用方便。
尽量使用户输入的数据最少,具有人机亲和力,做到画面尽可能接近实际,界面保持一致,让用户始终用同一种方式思考和操作。
(2)职工信息管理功能
职工信息的管理,并对其进行必要的维护工作,这主要包括了职工编号、部门、工作时间、工种等信息在内的基本信息的输入、修改以及查询。
(3)事故信息管理及统计功能
实现施工单位对不同事故类型的管理,并能够按照实际情况不断更新。
界面要求一目了然,并且根据年份或者事故类型作出统计图表,可以起到直观、简洁的效果,提出整改建议及措施。
(4)三级教育记录管理功能
对三级教育记录进行管理,并对其进行必要的维护操作,以符合三级教育制度的需要。
并建立了三级教育记录添加、相应的维护等功能。
通过检查发现施工现场的事故隐患和危险源,并作出预防措施。
(5)信息查询打印功能
实现对建筑施工单位各种信息的查询,为数据更新提供依据,系统主要完成事故信息和日常检查记录的查询。
但作为职工只能查看本人信息,以保障信息安全,包含简易检索就是按照职工编号查询,高级检索综合多种信息一起给出查询结果,以及根据SQL语句进行查询。
各模块的打印功能,为方便安全人员对职工进行安全教育培训、日常检查、事故统计分析,应用VB系统中的Dataenvironment和Datareport模块,并根据SQL语言增加系统打印功能,此功能可以按照查询结果进行打印,使结果清晰可见,一目了然,提高效率,增强了系统的安全性。
2.2系统数据流图
顶层:
1层:
2层1:
2层2:
2层3:
2层4:
3.总体设计
(根据功能需求,设计系统的总体结构。
系统总体功能模块图,菜单的设计)
根据功能和系统分析,可以设计出系统的总体功能模块,如图3.1所示。
图3.1系统功能模块示意图
1.职工基本信息管理模块,新职工入职后,安全信息管理人员在系统中加入职工基本信息,并对
其进行必要的维护。
管理人员在输入用户名及密码后可以进入程序,浏览各种详细信息以及添加修改信息等。
其功能模块如下图3.2所示。
图3.2职工基本信息管理模块
2事故信息管理模块,保存和更新事故数据信息,包括事故名称、发生地点、事故类型、事故损失、事故等级、人员伤亡情况等。
实现对应模块的添加,浏览,修改和删除。
模块如下图2.3所示。
图3.3事故信息管理模块
3日常检查信息管理模块,保存和更新日常检查记录数据信息,包括工程名称、检查内容、时间、检测人员等。
模块如下图3.4所示。
图3.4日常检查信息管理模块
4事故统计模块,为方便管理人员快速得到有效信息,实现了按事故类型、年份统计事故数目和按年份统计事故损失,可以起到直观、简洁的效果。
4.数据库设计(完成数据库的概念设计、逻辑设计,按数据库设计方法和规范化理论得出符合3NF的逻辑模型,ER图设计,ER图转化为相应的关系模式,设计数据库的逻辑模型(以表格),在机器上完成数据库的物理设计)
通过对建筑施工单位需求进行综合、归纳和抽象,形成一个独立于具体数据库的概念模型。
根据前面的设计规划处实体有:
用户实体、总体。
构建E-R图用来描述本系统中的概念模型。
4.1概念结构设计
用户实体包含的属性:
用户名、密码。
用户实体与各属性是对应的关系,各属性之间则是部分存在对应关系,如用户名确定,则可以推断其它属性,但是密码确定,却不能推断其它属性,用户实体E-R图如图4.1所示。
图4.1用户实体E-R图
根据分E-R图和需求分析,可得到各部分E-R图,如图4.2所示。
图4.2总E-R图
4.2逻辑结构设计
根据以上的E-R,结合关系数据库理论原则,可以得到以下的关系模型:
登录表:
(存放管理员用户名和密码)
职工基本信息登记表:
(存放职工编号、姓名、性别、文化程度等)
事故信息表:
(存放事故相关信息,如:
事故类型及事故地点等)
日常施工安全检查记录表:
(存放日常检查的基本信息,如:
工程名称、检查内容、检查内容、检查日期等)
我们用数据字典来罗列关系模型的属性及其描述,本建筑施工安全管理系统的数据字典如表4.1~4.3所示。
表4.1职工基本信息数据字典
名字
描述
数据类型
职工编号
描述职工编号的数据
50变长字符串
姓名
描述姓名的数据
性别
描述性别的数据
出生日期
描述出生日期的数据
文化程度
描述文化程度的数据
工作时间
描述工作时间的数据
单位部门
描述单位部门的数据
职位
描述职位的数据
工种
描述工种的数据
类别
描述类别的数据
表4.2事故信息登记表数据字典
事故编号
描述事故编号的数据
整形数据
事故名称
描述事故名称的数据
事故地点
描述事故地点的数据
事故类型
描述事故类型的数据
事故日期
描述事故日期的数据
事故原因
描述事故原因的数据
事故损失
描述事故损失的数据
事故等级
描述事故等级的数据
死亡人数
描述死亡人数的数据
重伤人数
描述重伤人数的数据
轻伤人数
描述轻伤人数的数据
表4.3日常施工安全检查记录表数据字典
工程名称
描述工程名称的数据
检查日期
描述检查日期的数据
检查内容
描述检查内容的数据
250变长字符串
检查结果
描述检查结果的数据
检查人
描述检查人员的数据
受检人
描述受检人的数据
4.3数据库表的建立
在设计数据库表结构之前,首先要创建一个数据库,学生信息管理系统选用Access2003创建用户数据库,其建设过程如图4.3~图4.6所示。
图4.3创建数据库界面
图4.4职工基本信息登记表
图4.5事故信息登记表
图4.6日常施工安全检查记录表
5.程序模块设计
(设计并编写输入\输出、查询\统计、数据维护等功能模块的应用程序,每个人设计2个以上的模块,一个组完成一个完整的系统,数据库访问,存储过程调用等作重点阐述)
5.1职工基本信息管理模块程序设计
职工基本信息添加:
PrivateSubCommand1_Click()'
添加
'
判断是否按照要求添加记录,如有空项,提示并结束程序
Fori=0To4
IfTrim(Text(i).Text)="
"
Then
MsgBox"
记录不能为空!
vbOKOnly+vbInformation,"
提示"
Text(i).SetFocus
ExitSub
EndIf
Next
rs.AddNew'
添加新记录
rs.Fields("
职工编号"
)=Trim(Text(0).Text)
姓名"
)=Trim(Text
(1).Text)
性别"
)=Combo1.Text
出生日期"
)=DTPicker1.Value
文化程度"
)=Combo2.Text
工作时间"
)=DTPicker2.Value
单位部门"
)=Trim(Text
(2).Text)
职位"
)=Trim(Text(3).Text)
工种"
)=Combo3.Text
类别"
)=Combo4.Text
备注"
)=Trim(Text(4).Text)
rs.Update'
更新记录
添加成功"
Command1.Enabled=False
职工基本信息查询:
查询
IfTrim(Text1.Text)="
请输入完整的信息!
DimsqlAsString
IfOption1.Value=TrueThen
sql="
select*from职工基本信息登记表where职工编号='
&
Trim(Text1.Text)&
"
Else
select*from职工基本信息登记表where姓名='
Setrschaxun=NewADODB.Recordset
rschaxun.CursorLocation=adUseClient
rschaxun.Opensql,Conn,1,1'
按照查询条件打开表
Ifrschaxun.EOFThen'
如果没查到给与提示
没有找到符合条件的记录!
SetDataGrid1.DataSource=rschaxun'
查到后更新DataGrid1
DataGrid1.Refresh
Fori=0To10
SetText(i).DataSource=rschaxun
Text(0).DataField="
Text
(1).DataField="
Text
(2).DataField="
Text(3).DataField="
Text(4).DataField="
Text(5).DataField="
Text(6).DataField="
Text(7).DataField="
Text(8).DataField="
Text(9).DataField="
Text(10).DataField="
EndSub
职工基本信息修改:
PrivateSubCommand2_Click()'
修改
IfCommand2.Caption="
修改"
Then'
点击修改按钮后,按钮标题改为确认修改,完成修改操作
Command2.Caption="
确认修改"
Text(0).Enabled=True
Text
(1).Enabled=True
Text
(2).Enabled=True
Text(3).Enabled=True
Text(4).Enabled=True
Text(5).Enabled=True
Text(6).Enabled=True
Text(7).Enabled=True
Text(8).Enabled=True
Text(9).Enabled=True
Text(10).Enabled=True
Else
)=Trim(Text(5).Text)
)=Trim(Text(6).Text)
)=Trim(Text(7).Text)
)=Trim(Text(8).Text)
)=Trim(Text(9).Text)
)=Trim(Text(10).Text)
DataGrid1.Refresh'
更新DataGrid1
修改成功"
Text(0).Enabled=False
Text
(1).Enabled=False
Text
(2).Enabled=False
Text(3).Enabled=False
Text(4).Enabled=False
Text(5).Enabled=False
Text(6).Enabled=False
Text(7).Enabled=False
Text(8).Enabled=False
Text(9).Enabled=False
Text(10).Enabled=False
EndIf
职工基本信息删除
PrivateSubCommand3_Click()'
删除
删除记录
DimaAsString
a="
是否确定要删除记录"
Text
(1).Text
IfNotrs.EOFAndNotrs.BOFThen
IfMsgBox(a,vbOKCancel,"
删除记录?
)=vbCancelThen
rs.Delete
rs.MoveNext
Ifrs.EOFThenrs.MovePrevious
Text(0).Text=rs.Fields("
)
Text
(1).Text=rs.Fields("
Text
(2).Text=rs.Fields("
Text(3).Text=rs.Fields("
Text(4).Text=rs.Fields("
Text(5).Text=rs.Fields("
Text(6).Text=rs.Fields("
Text(7).Text=rs.Fields("
Text(8).Text=rs.Fields("
Text(9).Text=rs.Fields("
Text(10).Text=rs.Fields("
DataGrid1.Refresh'
职工基本信息打印:
PrivatersAsADODB.Recordset
PrivateSubCommand1_Click()
IfTrim(Text1.Text)="
Setrs=DataEnvironment1.rsCommand1
Ifrs.State<
>
adStateClosedThen
rs.Close
rs.Opensql
If(rs.BOFOrrs.EOF)Then'
如果当前没有员工信息
没有找到!
DataGrid1.DataMember="
Command1"
'
为DataGrid1付值
EndSub
PrivateSubCommand2_Click()
DataReport1.Show
5.2事故信息管理模块程序设计
事故信息添加:
Fori=0To9
IfTrim(Text1(i).Text)="
Text1(i).SetFocus
rs.AddNew
事故编号"
)=Trim(Text1(0).Text)
事故名称"
)=Trim(Text1
(1).Text)
事故等级"
事故日期"
事故地点"
)=Trim(Text1
(2).Text)
事故类型"
)=Trim(Text1(3).Text)
事故原因"
)=Trim(Text1(4).Text)
事故损失"
)=Trim(Text1(5).Text)
死亡人数"
)=Trim(Text1(6).Text)
重伤人数"
)=Trim(Text1(7).Text)
轻伤人数"
)=Trim(Text1(8).Text)
)=Trim(Text1(9).Text)
rs.Update
SetDataGrid1.DataSource=rs
事故信息查询:
IfTrim(Text1(O).Text)="
select*from事故信息登记表where事故编号='
Trim(Text1(0).Text)&
select*from事故信息登记表where事故名称='
Setrschaxun=NewADODB.Recordset
Ifrschaxun.EOFThen'
Fori=0To11