管理系统软件设计文档.docx
《管理系统软件设计文档.docx》由会员分享,可在线阅读,更多相关《管理系统软件设计文档.docx(36页珍藏版)》请在冰豆网上搜索。
管理系统软件设计文档
Mastar服装内部管理系统设计文档
一、系统设计目标
支持Mastar公司内部管理员对有关Mastar公司的各种信息的查询和修改和添加,包括Mastar产品,价格,公司规则,会员管理,库存管理和销售记录等。
帮助管理人员对公司旗下各种产品的管理,评定和以及维护。
能够及时了解库存情况和销售情况,调整零售店的库存,以便保证客户需求。
帮助公司根据实际产品各种情况包括销售量制定各种计划和经营方案。
二.可行性分析
1.效益可行性分析
企业内部管理系统的实行给企事业单位的科学管理注入了活力,它所带来的社会效益和经济效益是很明显的。
应用计算机管理,将大大减轻企业内部管理的难度;计算机对信息的综合管理,将大大缩短企业内部管理时间,改善管理环境,并实行无纸存储,大大节约了办公开支,最终它将提高整体企业的管理效率。
企业内部管理系统的优势集中体现在如下几个方面:
(1)解决大量的员工信息管理;
(2)解决产品信息的管理; (3)解决企业新信息的管理。
2经济可行性
计算机的价格已经十分低廉,性能却有了长足的进步。
而本系统的开发,为公司的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高公司的工作效率; 第四,本系统可以使敏感文档更加安全,等等。
客户端只需要浏览器即可,不需要像服务器端进行编程,从而大大缩短了开发周期,降低开发成本。
系统开发费用降低。
由于客户端只需要浏览器,使得我们不必另外花钱购买软件,这样就降低了开发成本。
降低系统维护和管理费用。
企业内部管理系统运行一段时间如需增加新功能或作版本升级时仍需经过与系统初次推出时相似的经历,服务器、客户端软件更新,人员重新培训等等,这样就提高了开发及系统维护的成本。
3.技术可行性
近年来随着Internet技术的飞速发展及用户需求的不断升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。
从HTML、Client Script 到CGI,从JAVA的诞生到ActiveX, Web页面设计人员不断受到冲击,基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。
4.操作可行性
操作上是对Windows操作系统的引用,该系统的使用,主要凭借使用Windows操作技术即可使用员工管理、工资管理、考勤管理、部门管理、产品管理、新闻管理,公告管理,日志管理,管理员管理,数据库维护等模块,方便简单。
使用前用户只要阅读系统提供的帮助文档即可使用该系统。
二.需求分析
1.系统需求分析
(1)功能需求:
为了提高企业的管理效率,尽可能减低成本,为更多的企业创造更好、更方便、更快捷的管理平台,同时也为企业带来便利;企业内部信息管理系统主要是实现企业内部员工信息管理及交流的系统。
根据的企业基本的管理模式,一个企业内部网信息管理系统应该提供诸如员工信息管理、产品信息管理等。
可以以管理员身份登录,可以对各种信息以及资料进行修改,添加,删除。
(2)数据处理需求
系统的数据可分为输入数据和输出数据。
输入数据主要是用户在JSP页面提交的数据。
包括用户登录时输入的用户名和密码、管理员对新员工信息的录入提交、普通用户对信息的提交的查询申请等。
输出数据主要是系统响应用户提交的数据,经过处理之后,通过页面的形式显示的信息。
例如用户在提交了查询申请之后,系统响应请求,然后就查询数据库,读取数据库中相应数据表的字段,最后将这些字段通过页面显示。
1.性能需求
虽然系统的使用的网络环境是企业内部的局域网,但是为了保证服务器高效稳定地工作,本系统设置了最多只能同时2个用户登录使用。
由于是内部网络,服务器和数据库都在本地,在进行信息发布、信息修改时可以做到及时更新,一般不会发生由于网络延时而导致数据提交失败的情况。
4.数据库需求分析
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有SQL,SQL Server,Oracle,Access等。
我们采用了系统自带的SQL Server数据库管理系统。
整个系统功能需要以下数据项:
用户:
帐号、密码
商品:
产品号,产品名、单价、面料、
管理员:
管理名名称、管理员密码
信息:
公告内容
三.系统总体设计
1.系统技术方案
前台编程工具:
MicrosoftVisualBasic6.0
后台数据库采用MicrosoftSQLServer2005
运行平台:
借助学院现有的WWW服务平台及数据库服务平台即可实现
。
2.系统总体设计方案
(1).系统技术方案
前台编程工具:
MicrosoftVisualBasic6.0
后台数据库采用MicrosoftSQLServer2005
2.系统数据流程图
3.系统功能模块设计
在前面系统功能分析的基础上,结合VisualC++程序编制的特点,得到系统功能模块
各模块功能分配如下:
(1)用户登陆功能:
管理员登陆模块。
(2)数据录入功能:
服装数据录入模块。
(3)服装销售功能:
服装销售模块。
(4)销售统计功能:
销售统计模块。
(5)查询服装库存功能:
查询库存模块。
(6)VIP查询功能:
VIP查询模块。
二、数据库设计
1.数据库概念设计
系统主要实体有产品,库存,销售,VIP管理,用户登录。
分析各实体属性,建立实体联系模型的E-R图如图所示。
2.数据库逻辑设计
将数据库概念模式图转化为关系模式:
面料价格表(面料名称;面料价格)
面料性能表(面料性能;面料名称)
面料图片表(面料名称;面料图片)
面料特性表(面料名称;面料特性)
数据库的关系图如图3所示
2.数据库物理设计
下面给出SQLSever下的面料自主挑选系统数据库物理设计的关系模型设计、完整性约束设计
A.面料价格表,用于存储所有的面料价格基本信息,如表2所示。
表2device
字段名称
字段说明
类型定义
属性限定
索引
money
面料价格
money
Notnull
√
name
面料名称
char(10)
Primarykey
√
B.面料特性表,用于存储所有面料特性基本信息,如表4所示
表4teacher
字段名称
字段说明
类型定义
属性限定
索引
name
面料名称
rchar(10)
Primarykey
√
performance
面料特性
text
Notnull
D.面料性能表,用于存储所有面料性能的基本信息,如表5:
表5manager
字段名称
字段说明
类型定义
属性限定
索引
name
面料名称
char(10)
Primarykey
√
characteristics
面料性能
char(10)
Notnull
E.面料图片表,用于存储所有面料的图片,如表6所示
表6lab
字段名称
字段说明
类型定义
属性限定
索引
name
面料名称
char(10)
Primarykey
√
picture
面料图片
text
Notnull
3.数据库应用对象设计
视图
SELECT面料名称,面料单价
FROM面料价格表
WHERE(面料名称='腈纶')
SELECT面料名称,面料性能
FROM面料特性表
WHERE(面料名称='麻')
SELECT面料名称,面料图片
FROM面料图片
WHERE(面料名称='棉')
SELECT面料性能,面料名称
FROM面料性能表
WHERE(面料性能='弹性')
详细设计以及实现
该系统采用连接SQL数据库的方式,使用图形用户界面,主要实现Mastar公司各种信息的录入、服装销售等功能。
下面具体对各模块进行介绍。
1.登录模块及主界面
在登录界面(如图4.1所示)中输入用户名和密码,登录成功后进入主界面。
登陆框流程图如图4.2所示,系统主界面如图4.3所示,单击某个按钮就能弹出某个功能的界面。
实现代码:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
'IfRadioButton2.Checked=TrueThen
txtSQL="select*fromloginwherean="+"'"+Trim(TextBox1.Text)+"'"+"andpsw="+"'"+Trim(TextBox2.Text)+"'"
'TextBox3.Text=txtSQL
DBSet=ExecSQL(txtSQL,ErrorMsg)
IfDBSet.Tables(0).Rows.Count=1Then
Form1.Show()
Me.Hide()
Else
MsgBox("用户名密码错误")
EndIf
EndSub
登录模块流程图
3.产品模块设计及实现:
可以对Mastar产品信息进行查询,包括价格,款式,面料等,并且可以查看图片。
可以添加,修改和删除产品的各种信息。
系统主界面
产品信息查询
添加产品数据
删除产品数据
实现代码:
DimresponseAsMsgBoxResult
DimdrAsDataRow
DimscbAsSqlClient.SqlCommandBuilder
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Form6.Show()
EndSub
PrivateSubTreeView1_AfterSelect(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.TreeViewEventArgs)HandlesTreeView1.AfterSelect
EndSub
PrivateSubForm3_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
txtSQL="select*fromproduct"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndSub
PrivateSubDataGridView1_CellClick(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.DataGridViewCellEventArgs)HandlesDataGridView1.CellClick
IfDataGridView1.CurrentRow.Cells.Item(6).Value.ToString=NothingThen
PictureBox1.Image=Nothing
Else
PictureBox1.Image=Image.FromFile(subaddress&DataGridView1.CurrentRow.Cells.Item(6).Value)
EndIf
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
response=MsgBox("确实要删除记录吗?
",vbOKCancel+vbQuestion,"系统提示")
Ifresponse=MsgBoxResult.OkThen
adpt.Fill(DBSet,"mytb1")
DBSet.Tables("mytb1").Rows.Item(DataGridView1.CurrentRow.Index).Delete()
'DataGridView2.DataSource=DBSet.Tables("mytb1")'调试
scb=NewSqlClient.SqlCommandBuilder(adpt)
adpt.Update(DBSet,"mytb1")
DataGridView1.DataSource=DBSet.Tables("mytb1")
EndIf
txtSQL="select*fromproduct"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndSub
PrivateSubTreeView1_NodeMouseClick(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.TreeNodeMouseClickEventArgs)HandlesTreeView1.NodeMouseClick
IfTreeView1.SelectedNode.Text="长袖衬衫"Then
txtSQL="select*fromproductwhereseries='长袖衬衫'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="短袖衬衫"Then
txtSQL="select*fromproductwhereseries='短袖衬衫'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="背心"Then
txtSQL="select*fromproductwhereseries='短袖背心'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="风衣"Then
txtSQL="select*fromproductwhereseries='风衣'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="毛衣"Then
txtSQL="select*fromproductwhereseries='毛衣'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="夹克"Then
txtSQL="select*fromproductwhereseries='夹克'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="长袖T恤"Then
txtSQL="select*fromproductwhereseries='长袖T恤'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="短袖T恤"Then
txtSQL="select*fromproductwhereseries='短袖T恤'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="POLO"Then
txtSQL="select*fromproductwhereseries='POLO'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="卫衣"Then
txtSQL="select*fromproductwhereseries='卫衣'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="羽绒服"Then
txtSQL="select*fromproductwhereseries='羽绒服'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="西服"Then
txtSQL="select*fromproductwhereseries='西服'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="牛仔长裤"Then
txtSQL="select*fromproductwhereseries='牛仔长裤'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="牛仔短裤"Then
txtSQL="select*fromproductwhereseries='牛仔短裤'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="休闲长裤"Then
txtSQL="select*fromproductwhereseries='休闲长裤'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
IfTreeView1.SelectedNode.Text="休闲短裤"Then
txtSQL="select*fromproductwhereseries='休闲短裤'"
DBSet=ExecSQL(txtSQL,ErrorMsg)
DataGridView1.DataSource=DBSet.Tables(0)
EndIf
EndSub
EndClass
会员管理:
管理员可以对会员的各种信息进行查询,修改。
也可以添加和删除会员。
添加新会员
内部员工管理
新员工注册
实现代码:
DimresponseAsMsgBoxResult
DimdrAsDataRow
DimscbAsSqlClient.SqlCommandBuilder
PublicSubbindgridview()
txtSQL="select*fromlogin"
DBSet=ExecSQL(txtSQL,ErrorMsg)
'DataGridView1.DataSource=DBSet.Tables(0)
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
response=MsgBox("确实要添加记录吗?
",vbOKCancel+vbQuestion,"系统提示")
Ifresponse=MsgBoxResult.OkThen
adpt.Fill(DBSet,"mytb1")
dr=DBSet.Tables("mytb1").NewRow()
dr("an")=TextBox1.Text'ID
dr("psw")=TextBox2.Text'name
DBSet.Tables("mytb1").Rows.Add(dr)
'DataGridView2.DataSource=DBSet.Tables("mytb1")'调试
scb=NewSqlClient.SqlCommandBuilder(adpt)
adpt.Update(DBSet,"mytb1")
'Form3.DataGridView1.Data