江苏移动物资采购管理系统是一个典型的管理信息系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。
经分析,由于Delphi 在开发数据库前端对数据库的强大支持能力及其具有的简洁明快的编程
语言、功能强大的组件、灵活方便的编程环境和提供的窗体对快速原型开发的支持,我们以Borland公司的BORLAND DELPHI 6.0作为前端开发工具,以 Microsoft SQL Server 2000作为后台数据库开发工具,系统采用C/S结构。
本文以一个企业江苏移动的物资采购管理系统的模拟与实现的分析、设计和开发的全过程为主线,给出了企业江苏移动的物资采购管理系统的模拟与实现的设计和技术实现过程。
关键词:物资采购;Delphi;Sqlserver
ABSTRACT
With the rapid development of information technology, the Chinese telecommunication industry monopolize was broken, the telecom market competition becomes increasingly fierce and white-hot, and makes our telecom market is gradually moving towards the profit-making period. After nearly 10 years of construction and development, China mobile communications group jiangsu Co., LTD. Has built bestrow scope, communication high quality, business variety, the service level of first-class comprehensive mobile communication network. To sum up, the new jiangsu moving material purchasing management system is its practical significance for the future, the jiangsu mobile material purchasing system integration transformation offer greater convenience. This system is used for development platform, Delphi7 Sqlserver for backend database. Combined with my own computer theory knowledge, the development of the system。
Keywords: Material purchasing; Delphi; Sqlserver
目 录
第一章 绪论 ............................................................. 4
1.1背景与意义 .................................................................................................................................................. 4 1.2国内外相关研究现状及分析 ...................................................................................................................... 4 1.3主要内容与结构 .......................................................................................................................................... 7
第二章 系统(关键)实现 ................................. 错误!未定义书签。
2.1 系统的开发环境与开发工具 .................................................................................... 错误!未定义书签。 2.2 系统的关键技术研究与实现 .................................................................................... 错误!未定义书签。
第三章 物资采购管理系统总体分析与设计 ..................................................................................... 17
3.1 系统设计目标 ........................................................................................................................................... 17 3.2 系统需求分析和可行性分析 ................................................................................................................... 18 3.3 系统数据库设计 ........................................................................................................ 错误!未定义书签。 3.3.1数据库概念结构设计 ........................................................................................................................ 20 3.3.2数据库关系模型设计 ........................................................................................................................ 21 3.3.3数据库逻辑结构设计 ........................................................................................................................ 22 3.4 系统总体功能设计 ............................................................................................................................... 24
第四章 系统详细分析与设计 ............................................. 27
4.1系统功能(模块)的详细分析与设计 ..................................................................................................... 27 4.1.1系统管理员登录 ................................................................................................................... 27 4.1.2合同管理信息 ....................................................................................................................... 28 4.1.3添加用户模块设计 ............................................................................................................... 29 41.4删除用户模块设计 ................................................................................................................ 30 4.1.5供货商信息录入模块的设计 ............................................................................................... 31 4.1.6系统退出模块的设计 ........................................................................................................... 32
第五章 系统运行实例 .................................................... 33 第六章 总结 ............................................................ 38 谢 辞 41
参考文献 ............................................................... 42
第一章 绪论
1.1背景与意义
中国的手机用户规模已经居世界第一。信息产业部统计数据显示,
截至到今年6月底,中国移动电话用户已超过4.26亿户。目前,中国的手机用户与网民的比例是4.26:1.23,有巨大规模的手机用户作为潜在的用户群,博客的规模不会受限于网民数量,将会更加巨大。
在瞬息万变的市场环境中,企业要立于不败之地,必须依托现代化的管理思想和手段,对企业外部资源进行有效整合。其中一套完备的事务管理系统直接影响到企业的工作效率和效益。计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人力资源管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的采购管理制度,这就决定了不同的企业需要不同的物资采购管理系统。
越来越来多的企业经营者已经意识到:只有采用信息化的物资采购管理系统,才能适应日益激烈的市场竞争。还有,进、销、存管理是企业经营管理中的核心环节,也是一个企业能否取得效益的关键。为了使中小企业在市场竞争中有一席之位,我从当前情势出发,开发了一个适合于中小企业的物资采购管理系统,使得此系统能为提高企业采购管理效率起到一定的作用。我所开发这个系统采用当面向对象的编程语言Delphi作为实现语言,以数据库SQL Server作为系统的后台操作,其功能在系统内部有源代码直接完成。
物资采购管理系统是一个典型的信息管理系统(MIS),本系统是一个为适应当前各个行业对物资采购信息管理的迫切需求而设计开发的软件系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,
目前市面上流行的物资采购管理系统不少。但是,对于移动行业的物资采购管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的物资采购管理系统。能够录入供货商的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足正常采购业务的需要。
1.2国内外相关研究现状及分析
信息化带来的最为直观、也是最有说服力的经济效果是它对国民经济的发
展起到了举足轻重的推动作用。美国就是一个最为明显的例子。由于在上世纪80年代末对信息技术进行了大规模和普遍的投入,美国90年代实现了被称为“新经济”的长达十年的经济快速增长。信息技术行业在美国经济中所占的比例从1990年的5.8%上升到2000年的8.3%。90年代后期,美国约三分之一的经济增长来自信息化的拉动,超过其他任何行业的拉动作用。
发展至今日,发达国家企业的信息化水平可说已经到了一个相当高的水平。无论是从宏观经济、企业内部,还是企业大链条上的各方,信息化已经成为一个足以制胜的必要手段。
信息化带来的最为直观、也是最有说服力的经济效果是它对国民经济的发展起到了举足轻重的推动作用。美国就是一个最为明显的例子。由于在上世纪80年代末对信息技术进行了大规模和普遍的投入,美国90年代实现了被称为“新经济”的长达十年的经济快速增长。信息技术行业在美国经济中所占的比例从1990年的5.8%上升到2000年的8.3%。90年代后期,美国约三分之一的经济增长来自信息化的拉动,超过其他任何行业的拉动作用。
相比之下,我国内地近一半中小企业还没有配备计算机,仅一成拥有网站,与发达国家差距之大、企业“数字鸿沟”之深都令人忧心。根据中国国家信息中心信息化研究部副主任张新红的介绍,截至2004年全国企业网站数约40万个,而我国经工商部门注册的中小企业就超过360万家,由此可见,企业平均拥有网站数量相当少。
随着时代发展,科学技术的发展速度可以说是日新月异,一些新理论、新技术也给采购赋予了新的活力。这就要求采购人员必须学习、运用各种可提高采购绩效的新知识和手段,了解采购的发展趋势以调整采购策略来为企业获取更大的利益。
企业和企业采购人员对新时期面临的挑战和压力,在采购思想、采购方法、采购手段和采购平台上改革创新,使采购领域内出现了很多新事物或新趋势,还有一些新趋势正在形成和完善之中。
由于采购绩效对一个企业的生存与发展有着至关重要的作用,因而采购部门的地位在企业中得到了提升。随着采购的日益复杂化,仅依靠采购人员来完成采购工作及与采购相关的工作,显然已不能满足新时期对采购的要求。企业内每个部门的员工对本部门业务能够熟练的把握,如果由来自不同部门的人员来对重要采购决策做出决定显然要比单一的采购人员做出决策更适宜。在现代企业运作当中,各部门的职能界线正在变得模糊,各部门的员工越来越多的交织在一起,但这并不意味着各部门职责不清,而是充分发挥团队的力量去把企业内的每一件重要的事尽可能地做得最好。可清楚地看到并不只是其它部门的人员参与到采购
活动中对采购人员施加工影响,采购人员同时活跃在其它部门的活动中,比如:对供应商的品质监管,参与到新产品的开发活动中去等等。
从全球的采购发展趋势来看,E-采购将越来越广泛地被企业管理者接受。而事实上,许多公司已通过电子采购方式获得了它们想采购的相当部分物品,一些公司一年通过电子采购的金额就达数百亿美元之巨。实行了E-采购的企业认为E-采购比传统采购方式有更多的优点,一方面,因特网给采供双方提供了更广阔的选择余地。另外,在采购单价及采购管理费用上的开支也可降低或较大幅度减少。其次,EDI的应用合同使交易可在更短时间内完成,这正可满足企业实行柔性制造的需要,同时提高采购效率。
由于公司到中国建厂或设立销售处越来越多,生产各种类型产品的厂家越建越多,所以国内的采购人员可以取近舍远以取得更大的主动性及降低采购成本。而对于国外的采购人员来说,中国这个大市场已成为他们进行国际化采购的一个重要地区。
太多的供应商不仅让采购人员难以应付,而且供应商的总体表现往往差强人意,采购人员越来越强烈地意识到供应商的数量不在多而在于精。不难想象,把一样多的精力放在200家供应商上和放在100家供应商上,它们之间的效果差异。人们在越来越多思考由多家供应商来供同一物品的弊病,与其让三家供应商来供货不如让一家品质优良价格公道的供应商来供货,这样采购人员及其它相关人员就可以把更多精力放在对这一家供应商进行培训及监管。由于订单的集中,还有可能获得供应商给予的价格折扣,并可减少采购业务处理费用。
作为采购商,企业应该把供应商和自身企业看成为了自身利益及共同利益而并肩作战的合作伙伴。一般情况下的采供关系是双方在互惠互利的前提下开展合作,采供双方能对对方产生较大的信任感并能把合作关系较长时间地维护下去。现代先进模式的采供关系是战略联盟关系,这种关系把供应商的利益与企业自身利益甚至连同客户的利益紧密揉和在一起,制定共同的长期发展规划,开诚沟通,信息共享,达到各方利益最大化。和供应商建立战略联盟关系固然可以让双方长期从中获利,但要在采供双方之间建立起这种关系需要双方高层管理者的深层次沟通,只有双方拥有相同或相近的经营理念及达成一致的长期发展目标,才有可能走到一起。
随着国内生产企业分工越来越细化,企业的部分采购业务也倾向外包。在目前阶段,大部分将采购业务外包的企业只是把一些相对于生产原材料不太重要的杂项采购外包给别的公司来经营,主要物品的采购工作仍由企业自身的采购员工来操作。把采购业务外包的好处是承包公司有更强的采购能力、更多的采购渠道,或者整合多个企业的相同需求来和供应商谈价而获得价格折扣,从而企业可以获得比自身采购更大的利益。
采购的发展趋势远远不止上述几方面,并且随着科学技术的发燕尾服及全球产业结构的进一步调整,采购还会不断吸收新方法、新技术而引起采购方式上的变革,谁在这场变革中走在了前面,谁就能取得主动权并因此从中获取更多利益。
1.3主要内容与结构
本章对现代传统的物资采购管理的背景和现状进行了简单介绍并对管理系统的研究意义进行了简要分析,然后以国内外现阶段企业的管理现状为例介绍了物资采购管理系统实现的功能和为企业带来的好处。
第二章 系统(关键)实现
2.1 系统的开发环境与开发工具
本管理系统是基于Delphi7.0开发平台和Microsoft 的SQL Server2000而开发的。Delphi是Borland公司推出的应用程序开发工具,它具有功能强大、运行速度快、易于设计界面、开发效率高等优点,是可视化应用编程开发环境、面向对象编程语言Object Pascal、快速编辑器的完美结合。能够有效的帮助团队开发,在软件开发公司中运用也比较多。
使用SQL Server 2000可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向外扩展的能力,SQL Server 2000利用了对称多处理器(SMP)系统。SQL Server Enterprise Edition最多可以使用32个处理器和 GB RAM。向外扩展可以将数据库和数据负载分配给多台服务器。通过增强的故障转移群集、日志传送和新增的备份策略,SQL Server 2000达到了最大的可用性。
本系统的开发环境是基于Borland公司的Delphi7.0开发平台和Microsoft的SQL Server 2000数据库开发技术,以及ADO技术共同开发完成。分别有后台数据库、中间层应用程序服务器以及客户端应用程序三部分组成。其中中间层服务器由Borland公司的Socket Server的支持,而后台数据库和客户端的连接使用ADO控件,可以共享由ADOConnection控件建立的连接来访问到数据存储。
用户端界面 源 数据集 ADO OLE DB ADO 数据 图4.1 ADO数据库连接图
Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个
设计细节,都将带给您一份欣喜。
Delphi是编程语言的杰出代表,采用目前世界上最快的编译器,融合了可视化技术、面向对象技术、数据库开发技术、风格开发技术等多种先进的软件编程技术和思想,以及对分布式应用的强大支持,已经成为最佳的应用开发工具之一。
Delphi 7.0是Borland International Inc公司出品的当前最流行的计算机软件快速开发工具之一,它的用途广泛、功能强大,支持当前最新的多种数据库、网络技术,并能够进行跨操作系统的开发,它强大的可视化开发功能,使编程成为一种真正的艺术,只要在设计窗口中画来画去就可以实现很强大的功能,只需要简单的属性、事件设置就能完善各种基本应用,从而大大地提高了开发效率。Delphi 7.0在保持了原有版本优点的基础上增加了很多更新更强的特性,主要改进有:扩大了VCL可视化组件;对编辑器和编译方法做了更多改进和优化;增加了多种网络应用开发的控件包如Indy和Web编程技术;完全支持.net技术及XML技术等;支持跨平台开发类库CLX。
2.2 系统的关键技术研究与实现
系统权限设置:主要是给每个操作用户设置不同权限。主要代码如下: procedure TF_assignRight.FormShow(Sender: TObject); begin
with p_dm.qry do begin Close; Sql.Clear;
sql.Add('Select UserName from TB_User'); Open;
cb1.Items.Clear; while not eof do begin
cb1.Items.Add(FieldByname('userName').AsString); Next; end;
end; end;
procedure TF_assignRight.cb1Change(Sender: TObject); var i,j:integer; s,strqx:string; begin
button4.Click; with p_dm.qry do begin Close; Sql.Clear;
sql.Add('Select * from TB_User where Username=:name'); Parameters.ParamByName('name').Value:=cb1.Text; Open;
for i:=1 to 11 do begin
S:='CheckBox';s:=S+inttostr(i);
strqx:=Trim(FieldByname('qx'+inttostr(i)).AsString); if strqx='1' then begin
for j:=0 to F_assignRight.ComponentCount-1 begin
if F_assignRight.Components[j].Name=s then
TCheckBox(F_assignRight.Components[j]).Checked:=True;
end;
end;
end; end; end;
do
procedure TF_assignRight.Button3Click(Sender: TObject); var i:integer; begin
for i:=0 to F_assignRight.ComponentCount-1 do begin
if F_assignRight.Components[i] then
TCheckBox(F_assignRight.Components[i]).Checked:=True;
end; end;
procedure TF_assignRight.Button4Click(Sender: TObject); var i:integer; begin
for i:=0 to F_assignRight.ComponentCount-1 do begin
if F_assignRight.Components[i] then
TCheckBox(F_assignRight.Components[i]).Checked:=False;
end; end;
procedure TF_assignRight.Button2Click(Sender: TObject); var i,j:integer; s,F,sqlstr:string; begin
if Trim(cb1.Text)='' then
is TCheckBox is TCheckBox begin
ShowMessage('用户不能为空'); exit; end;
for j:=1 to 11 do
with p_dm.qry do begin
F:='qx';F:=F+inttostr(j); CLose; Sql.Clear;
Sql.Add('Update TB_User set '+F+ '='''' where UserName=:name');
Parameters.ParamByName('name').Value:=cb1.Text;
execSql; end;
for i:=0 to F_assignRight.ComponentCount-1 do begin
if F_assignRight.Components[i] is TCheckBox then if TCheckBox(F_assignRight.Components[i]).Checked=True then
begin
for j:=1 to 11 do with p_dm.qry do begin
S:='CheckBox';s:=S+inttostr(j);
if F_assignRight.Components[i].Name=s then
begin
F:='qx';F:=F+inttostr(j); CLose; Sql.Clear;
Sql.Add('Update TB_User set '+F+ '=''1'' where UserName=:name');
Parameters.ParamByName('name').Value:=cb1.Text;
execSql; end; end; end; end;
showMessage('权限设置成功!'); end;
系统登录代码实现: bz:=false;
with p_dm.qry do begin close; Prepared; sql.Clear; sql.Add open;
if RecordCount>0 then //大于0。则存在 bz:=true; if bz=true then begin
pass_form.Visible:=false; //隐藏当前登录窗口 main_form.StatusBar1.Panels[0].Text:='当前用户'; main_form.StatusBar1.Panels[1].Text:=edit1.Text;
main_form.StatusBar1.Panels[2].Text:='欢迎使用移动物资采购管理系统!';
if trim(FieldByname('qx1').AsString)='1' then Main_form.N8.Enabled:=True else Main_form.N8.Enabled:=False;
if trim(FieldByname('qx2').AsString)='1' then
('select
*
from
TB_User
where
username='+''''+edit1.Text+''''+'and pwd='+''''+edit2.Text+''' ');
Main_form.N20.Enabled:=True else Main_form.N20.Enabled:=False;
if trim(FieldByname('qx3').AsString)='1' then Main_form.N23.Enabled:=True else Main_form.N23.Enabled:=False; if trim(FieldByname('qx4').AsString)='1' then Main_form.N25.Enabled:=True else Main_form.N25.Enabled:=False; if trim(FieldByname('qx5').AsString)='1' then Main_form.N15.Enabled:=True else Main_form.N15.Enabled:=False;
if trim(FieldByname('qx6').AsString)='1' then Main_form.N27.Enabled:=True else Main_form.N27.Enabled:=False;
if trim(FieldByname('qx7').AsString)='1' then Main_form.N29.Enabled:=True else Main_form.N29.Enabled:=False;
if trim(FieldByname('qx8').AsString)='1' then Main_form.N31.Enabled:=True else Main_form.N31.Enabled:=False;
if trim(FieldByname('qx9').AsString)='1' then Main_form.N16.Enabled:=True else Main_form.N16.Enabled:=False;
if trim(FieldByname('qx10').AsString)='1' then Main_form.N52.Enabled:=True else Main_form.N52.Enabled:=False;
if trim(FieldByname('qx11').AsString)='1' then Main_form.N4.Enabled:=True
else Main_form.N4.Enabled:=False;
main_form.ShowModal; close; end else begin
application.MessageBox('密码不对或用户名不存在,请重新输入!','登录验证',16);
edit1.SetFocus; edit2.Text:=''; exit; end; end; end;
合同模块部分核心代码: if Edit6.Text='' then begin
showmessage('合同编号不能为空!'); exit; end else
with P_dm.qry do begin
if ishaveData(Edit6.Text)=True then begin
application.MessageBox('该合同编号已经存在,请核对!','提示框',mb_ok);
exit; end; Close; Sql.Clear; Sql.Add('Insert
TB_Contract(num,name,content,note,price,sl,signperson,signdate)
into
Values(:name,:Cname,:CJ,:XF,:price,:sl,:signperson,:signdate)');
Parameters.ParamByName('name').Value:=edit6.Text; Parameters.ParamByName('Cname').Value:=Edit5.Text; Parameters.ParamByName('CJ').Value:=m1.Text; Parameters.ParamByName('XF').Value:=m2.Text; Parameters.ParamByName('price').Value:=edit3.Text; Parameters.ParamByName('sl').Value:=edit4.Text; Parameters.ParamByName('signperson').Value:=edit7.Text; Parameters.ParamByName('signdate').Value:=d1.Date; ExecSql;
ShowMessage('数据录入成功!'); updateData();
edit5.Text:='';edit6.Text:=''; m1.Text:='';m2.Text:='';
edit3.Text:='';edit4.Text:=''; edit7.Text:=''; bitbtn5.Enabled:=False; end; end;
供货商核心代码: if (edit2.Text)='' then
showmessage('客户姓名不能为空') else
with ghqry do begin close; sql.Clear; sql.Add('insert
ghszl(ghsbm,ghsmc,lxr,dh,yb,dz,yhzh,khyh,xyd,dzyj,cz,bz) values '+
'(:bm,:mc,:lxr,:dh,:yb,:dz,:yhzh,:khyh,:xyd,:dzyj,:cz,:bz) '); parameters.ParamByName('bm').Value:=edit1.Text; parameters.ParamByName('mc').Value:=edit2.Text; parameters.ParamByName('lxr').Value:=edit3.Text; parameters.ParamByName('dh').Value:=edit4.Text; parameters.ParamByName('cz').Value:=edit6.Text;
into
parameters.ParamByName('yb').Value:=edit5.Text;
parameters.ParamByName('dz').Value:=edit7.Text; parameters.ParamByName('yhzh').Value:=edit8.Text; parameters.ParamByName('khyh').Value:=edit9.Text; parameters.ParamByName('xyd').Value:=edit10.Text; parameters.ParamByName('dzyj').Value:=edit11.Text; parameters.ParamByName('bz').Value:=edit12.Text; execsql;
showmessage('信息录入成功!'); dbgrid1.Enabled:=true; speedbutton4.Enabled:=false; end;
第三章 物资采购管理系统总体分析与设计
3.1 系统设计目标
伴随着信息技术的飞速发展、我国移动行业的垄断经营被打破,电信移动市场竞争日趋激烈和白热化,使得我国移动市场正逐步走向微利时期。经过近十年的建设与发展,中国移动通信集团江苏有限公司已建成了覆盖范围广、通信质量高、业务品种丰富、服务水平一流的综合移动通信网络。过去几年来,随着公司规模不断扩大和采购的品种、数量和频率增加,采购管理越来越复杂。
在这种形势下。江苏移动要想在市场上占有重要的一席之地,争得并保持市场领先和业务领先的地位,就必须充分挖掘自身潜力,最大限度地提高公司的管理水平和经济效益。江苏移动认为在采购活动中存在巨大的利润空间,不断从采购工作中挖掘利润源泉,才会使公司获得更大的成功。
综上所述,新的江苏移动的物资采购管理系统是有其实际意义的,能为将来的江苏移动物资采购系统的整合改造提供更大的便利。 1) 用户目前的主要需求
对江苏移动公司采购流程进行了初步调研,确定出江苏移动公司采购系统目前的主要需求如下:
・能够满足对江苏移动公司供应商的合同信息 ・能够满足对江苏移动公司供应商信息进行管理
・能够提供江苏移动公司的采购信息,以及登陆权限的管理。 2)本课题所确立的基本内容
依据上述用户要求,本课题确立该系统可分为三大部分,具体如下: ・合同管理系统,为江苏移动公司提供系统化的合同管理。
・供应商基本资料管理系统,即包括对供应商的添加、删除、修改和查询等。 ・登陆权限系统,即用户身份验证系统的设计。 3)物资采购管理系统的设计原则
·系统采用标准化、规范化、模块化的设计思想。
·保证数据控制能力,要具有较高的安全性、一致性、并发性。 · 系统应具有良好的开放性,较好的用户接口和系统交互界面。 · 符合运营商的各个业务流程。 4)物资采购管理系统的功能模块
.登录权限,即是对整个系统的登录,包括有启动界面和登录界面,登录界面包括权限和用户身份验证系统的设计。
・合同管理:包括合同的添加、删除、修改和查询等。
.供应商基本资料管理,内容包括:包括对供应商的添加、删除、修改和查询等。
3.2 系统需求分析和可行性分析
3.2.1 系统功能需求分析 通过对系统的初步调查,明确了系统开发的目标为:按照管理信息系统的原理和方法,采用相对成熟、先进的信息技术和手段,支持公司的物资采购管理以及其他管理工作的全过程,加强物资采购管理中的各种信息资源的管理和应用,实现物资采购管理现代化,及时、准确地提供各种信息报表辅助领导决策。系统需主要完成的功能有:
・能够满足对江苏移动公司供应商的合同信息 ・能够满足对江苏移动公司供应商信息进行管理
・能够提供江苏移动公司的采购信息,以及登陆权限的管理。 ・合同管理系统,为江苏移动公司提供系统化的合同管理。
・供应商基本资料管理系统,即包括对供应商的添加、删除、修改和查询等。 ・登陆权限系统,即用户身份验证系统的设计。
3.2.2 系统性能需求分析
面对企业复杂的物资采购管理工作,系统的开发必须便于系统既能满足目前的需要,又能适应将来扩展的需要,因此系统性能应符合以下原则:
1.实用性:要求访问速度和可容纳的最大同时请求数,能符合实际管理要求。 2.安全性:系统的安全即要保证系统本身的安全,又要保证数据的安全。 3.易维护:要求系统能提供方便、灵活的维护手段,方便应用人员和设计开发人员的维护和管理。
4.数据库设计合理:这就要求数据库在设计时要保证数据的一致性、合理冗余、合理选择数据类型、数据存储规范化。
5.系统采用标准化、规范化、模块化的设计思想。
6.保证数据控制能力,要具有较高的安全性、一致性、并发性。 7. 系统应具有良好的开放性,较好的用户接口和系统交互界面。 8. 符合运营商的各个业务流程。
本系统为用户提供了基本的物资采购化管理功能和其操作简单灵活,适应于中小企业的采购需求。
本系统使用身份验证机制,能更好的保护也面被非法的访问。当用户登陆时,用户必须要有有效的用户,通过对象保存登陆名密码及相关信息,防止非法用户恶意破坏及非法登录。 3.2.3 系统运行要求分析 1.硬件环境
处理器:InterCR300 或更高 内存:128MB或更高(建议256MB) 硬盘空间:80MB以上 2.软件环境
软件环境是一个系统开发的工具,它取决于开发人员对软件的熟悉程度,如果开发人员选择一个不熟悉的软件开发会大大增加开发系统所需要投入的成本,所以说选择软件环境也是很重要的。
操作系统: Windows 2000/Windows XP 数据库:SQL Server 2000 软件开发语言:Delphi 7
该软件的界面美观大方,软件运行稳定。 3.2.4 系统可行性分析 1.经济可行性
经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。现在,计算机的价格已经十分低廉,性能性能逐渐强大。本系统属单机系统,需购置微
机、打印机各一台以及各种相关软件,采用自主开发方式,系统开发成功,正常运转,将更有效地帮助企业人力资源的管理,节省人工书面操作等,所产生的效益远大于所需费用。
第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高管理员的工作效率; 第四,本系统可以使敏感文档更加安全,等等。 所以,本系统在经济上是可行的。 2.技术可行性
技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。为本系统的开发我特地进行了深入的调查研究。对企业的人力资源现状及需求方向有了进一步的认识。企业有百台左右电脑及两台主机。并且开发人员对用户所提出的要求也都能够满足。 综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。 3.社会可行性
本系统为一个家小型企业物资采购管理系统,主要目的是帮助公司采购资源方面的管理。操作简单,使用者可以很快熟悉系统的各个模块功能。因此,本系统在操作上是可行的节省时间以及人力和物力。而且本系统的兼容性好,在一般的应用系统条件下完全适用,可以扩展到其他企业,学校以及培训机构做到实用性,可扩展性和可维护性相结合。 3.3 数据库设计
3.3.1数据库概念结构设计
概念结构设计的主要任务是根据用户需求设计数据库的概念数据模型。概念模型于具体的数据库管理系统,它描述的是从用户角度看到的数据库,反映了用户的现实环境,而与数据库将来怎样实现无关。在需求分析基础上设计出能够满足用户各种需求的实体及它们之间的关系,从而为以后的逻辑结构设计作好铺垫。
合同信息实体E-R图
签订时间 合同ID 签订人 合同编号 合同名称 合同信息 设备数量 合同价格 合同内容 备注
用户登录实体E-R图
用户名称 用户权限 图3-14 用户登录信息实体
开户银行 信誉度 银行账号 登录用户 用户密码 供货商编号 供货商名 供货商信息 邮编 电话 拼音简称 联系人
图-供货商信息实体
3.3.2数据库关系模型设计
数据项和数据结构如下:
用户信息表:(用户登录名,用户密码,用户权限);
合同信息表:(合同编号,合同名称,合同内容,备注,价格,数量,签订人,
签订日期);
供货商信息表:(供货商编号,供货商名,联系人,电话,邮编,传真,地址,
银行账号、开户银行、信誉度、电子邮件、备注);
3.3.4数据库逻辑结构设计
表3-1 登录信息表
字段名称 ID UserName Pwd Qx1 Qx2 Qx3 Qx4 Qx5 Qx6 Qx7 Qx8 Qx9 Qx10 Qx11 数据类型 int varchar varchar char char char char char char char char char char char 宽度 4 50 50 10 10 10 10 10 10 10 10 10 10 10 主键 yes no no no no no no no no no no no no no 说明 自动编号 登录名 用户密码 合同增加权限 合同修改权限 合同删除权限 合同查询权限 供应商增加权限 供应商修改权限 供应商删除权限 供应商查询权限 权限管理 新建操作用户 查询操作用户
表3-2合同信息表 字段名称 ID num name content note price sl signperson signdate 数据类型 int varchar varchar char char char char char datetime 宽度 4 50 50 10 10 10 10 30 8 主键 yes no no no no no no no no 说明 自动编号 合同编号 合同名 合同内容 备注 价格 数量 签订人 签订时间
表3-2供货商信息表
字段名称 ghsbm ghsmc pyjm lxr dh yb dz yhzh khyh xyd dzyj cz bz 数据类型 varchar varchar varchar char char char char char char char char char char 宽度 30 50 50 10 10 10 10 30 30 30 30 30 500 主键 yes no no no no no no no no no no no no 说明 供货商编号 供货商名 拼音简称 联系人 电话 邮编 地址 银行账号 开户银行 信誉度 电子邮件 传真 备注 CREATE TABLE [dbo].[GHSZL] ( [ghsbm] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [ghsmc] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL , [pyjm] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [lxr] [nvarchar] (8) COLLATE Chinese_PRC_CI_AS NULL , [dh] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL , [yb] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NULL , [dz] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [yhzh] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [khyh] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [xyd] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL , [dzyj] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [cz] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NULL , [qcys] [float] NULL , [qcyf] [float] NULL , [bz] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[TB_Contract] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [num] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [content] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [Note] [varchar] (300) COLLATE Chinese_PRC_CI_AS NULL ,
[price] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [sl] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [signperson] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL , [signdate] [datetime] NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[TB_User] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [UserName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [pwd] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL , [qx1] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx2] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx3] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx4] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx5] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx6] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx7] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx8] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx9] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx10] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , [qx11] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO
3.4 系统总体功能设计 3.4.1系统总体功能及其结构图
系统需主要完成的功能有合同管理、供货商管理、权限管理、新建操作用户、修改用户密码等功能。
1.合同管理:主要提供合同基本信息的添加、修改、删除和查询等功能。合同基本信息(合同编号,合同名称,合同内容,备注,价格,数量,签订人,签订日期)。
2.供货商信息管理:主要进行供货商信息的添加,修改、删除和查询等功能。供货商的基本信息(供货商编号,供货商名,联系人,电话,邮编,传真,地址,
银行账号、开户银行、信誉度、电子邮件、备注)。
3.权限设置:主要提供对操作用户的权限进行设置。
4.系统管理:主要提供的功能有系统用户的添加、修改、删除、密码修改等功能。
物资采购管理系统 合同信息新增 合同信息编辑 合同信息查询 供货商信息新增 供货商信息编辑 权限设置 系统管理
3.4.2系统总体业务流程
在对物资采购管理系统的组织结构和功能进行分析时,我从一个实际业务流程的角度将系统调查中有关业务流程的资料都串起来作进一步的分析。此业务流程可以帮助我们了解物资采购管理系统的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化此物资采购管理系统的业务处理流程。
下面就是我经过调查后某公司的物资采购管理系统的业务流程图:
采购计划 询价 签订合同 供货商信息入库 供货 结束
图 系统业务采购流程图
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构可以提高数据库存储效率,保证数据的完整性和一致性。设计数据库系统时应充分了解用户各个方面的需求,包括现有系统的需求以及将来可能增加的需求在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。
数据库设计的主要任务是针对一个给定的应用环境,在给定的硬件环境、操作系统、以及数据库管理信息系统等软件环境下,创建一个性能良好的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户地各类需求。数据库设计通常是在一个通用的DBMS支持下,即利用现成的DBMS作为开发的基础。
本章是系统的数据库设计,主要介绍数据库的设计规则,数据库逻辑设计,数据库关系模型,和数据库的表结构设计。数据库是该系统的核心,在信息系统设计中很重要的位置。
第四章 系统详细分析与设计
4.1系统功能(模块)的详细分析与设计
4.1.1系统管理员登录
在用户登录界面,在用户名对应的文本框中输入用户名,在密码对应的文本框中输入密码,如果用户名和密码同时与数据库中的用户名和密码相对应,点击“确定”后进入系统的主界面。如果输入的信息不正确,则给出提示通过在[登录]按钮的click事件下使用SQL语句判断用户名称、密码,进入系统。
输入:用户名和密码。
处理:校检字符的有效性。用户要登录本系统需要提供用户名和密码,在这里就是要检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。检验用户名是否存在或密码是否正确,即是否存在用户输入的用户名,并且密码是否正确。根据用户名和密码从数据库中提取用户权限。根据从数据库中提取的用户权限的不同执行主窗体中的功能权限,若为管理员则可操作所有功能,若为用户只能操作部分功能,不能进行功能设置和用户信息的管理。
开始 输入用户名和密码 重 新 密码正确? 登 录
重 登陆成功,可以进行 新
重 登 系统操作 录 新 登 操作成功? 录 其他模块操作 锁定界面
结束
图3-1用户登录流程图
4.1.2合同管理信息
在合同管理信息界面,输入合同的基本信息:合同编号,合同名称,合同内容,备注,价格,数量,签订人,签订日期。输入完成后,点击“保存”按钮,就可以把合同的一些基本信息存入数据库中。然通过选择合同信息,进行相应的信息修改、删除等操作。
开始 输入员工基本信息 进行增加、删除等操作
退出 图3-2 合同信息录入操作流程图
4.1.3添加用户模块设计
管理员添加管理员及一般用户,并分配权限。
输入:用户的姓名,密码,管理权限。
处理:添加管理员信息。在这里可以添加系统管理员。添加信息有:用户的姓名,密码和管理权限。这里系统会自动将新系统管理员的登录密码设为1,这样新注册的系统管理员获得他的登录号后,就可以在登录系统时,输入用户名和密码,登录系统后,进入系统管理中,修改密码就可以了,所填入的信息将被录入用户信息表中。
输出:添加成功,提示成功信息,不成功则显示错误的信息页面。 据上述功能介绍,得到该模块的程序流程图,如图3-3所示:
更新数据库 是 开始 输入姓名 输入管理权限 提示错误信息 否 否 检查格式是否正确 提示添加成功 结束
图3-3 添加用户模块流程图
4.1.4删除用户模块设计 输入:用户姓名。
处理:删除用户。这个功能只有超级用户管理员才可以有权使用。输入用户姓名,然后提交给系统,系统会自动将拥有这个管理员权限的用户帐号删除。
输出:删除成功,提示成功信息,不成功则显示错误的信息页面。 据上述功能介绍,得到该模块的程序流程图,如图3-4所示:
开始 输入用户名 判断 用户类型是否正确 是 删除用户帐号 提示删除成功 结束
否 您不是超级用户
图3-4 删除用户模块流程图
4.1.5供货商信息录入模块的设计
输入:供货商编号,供货商名,联系人,电话,邮编,传真,地址,银行账号、开户银行、信誉度、电子邮件、备注。
处理:以供货商编号为关键字,检验供货商信息表中是否存在该记录。如果记录已经存在则进行错误信息提示,并请管理者重新录入供货商信息。如果记录不存在,根据数据库中对应字段的定义,检验输入值是否合法,如果输入有错误则进行错误信息提示,并请求用户重新修改该字段。如果输入正确,执行SQL语句,向题库表中插入记录。并提示用户成功录入供货商信息。
输出:对供货商表进行更新,提示成功录入供货商信息。 据上述功能介绍,得到该模块的程序流程图,如图3-5所示:
开始 输入供货商信息 提示主键重复,重新输入编号 检验主键是否重复 提示输入不合法,请重新输入 是 否 检验字段是否合法 否 是 新建并更新数据库 结束
图3-5 供货商录入程序流程图
4.1.6系统退出模块的设计
输入:点击系统推出按钮。
处理:系统调用系统关闭函数,将关闭整个物资采购管理系统。 输出:关闭整个系统页面
据上述功能介绍,得到该模块的程序流程图,如图3-12所示:
开始 点击退出按钮 退出管理系统 结束
图3-12 系统退出程序流程图
第五章 系统运行实例
1、系统欢迎界面
2、系统登录界面,如下图所示:
3、系统主界面,如下图所示:
4、合同添加界面,如下图所示
5、合同修改,如下图所示
6、合同删除管理,如下图所示
7.供货商信息新增,如下图所示:
8供货商信息,修改如下图:
9用户权限设置,如下图:
10、修改操作员密码:
11、新建操作用户,如下图
第六章 总结
经过近两个多月的紧张学习,终于结束了整个毕业设计的工作。回首整个开发设计过程,我的确学到了许多书本上学不到得知识,更重要的是通过这次毕业设计大大提高了我的动手能力,并对整个软件开发的过程有了一个感性的认识,因为我在开发物业管理系统的过程中,无论是系统可行性分析、系统需求分析、系统概要设计、系统设计、系统设计还是系统测试与维护,都要我自己亲自动手负责,而每个设计阶段我都能学到一个新知识。
当然,在系统的开发过程中,也遇到了一些困难,比如因为自己在数据库设计时没有考虑全面,直到编码阶段才发现前面的数据表不很合理,又不
得不重新区修改表的结构,带来了许多不便,深深得体回到了每一步设计的重要性,也明白了为什么那么多的软件公司把那么多的时间放在前期的需求分析阶段。
由于功能需要,我在设计界面时使用了一些前面没有用过的控件,刚开始因为不熟练的关系走了不少弯路。经过老师的指导和查看各种资料、帮助文件后我很快的从死角走了出来。而在成功之后的那份成就感也是以前没有体验过得。
此次开发,我力求从软件结构上达到设计与实际工作要求基本一致,以满足用户使用的要求。譬如我们对模块的划分、功能的安排就做了这方面的工作。另外考虑到用户操作的简便,我们尽量不让用户重复输入数据库中已经存在的信息,即自动填充其相关内容。系统的业务报表结算也比较灵活、方便,具有良好的提示信息,这些都给操作员带来很大的方便。
由于时间比较仓促和开发经验的缺乏,本系统还有很多地方可以完善使之趋向完美化,有些功能的实现途径很多,我采用的不一定是最佳方法,代码书写风格也缺少专业程序员的流畅和精炼。在以后的学习过程中,我将尽量完善代码,弥补这些不足之处。在功能方面,本系统还是有一些欠缺,主要是还没有做到个性化的一面。由于本系统是一个面向中小型物业管理公司的大众化的综合系统,功能、界面都是大众风格。如果有时间应该添加一个风格模块让用户设置个性化的风格,按照自己的爱好设定自己喜欢的界面。希望以后有机会实现这个功能。
谢 辞
经过这次毕业设计,使我的能力有了很大的提高,比如操作能力、分析问题的能力、严谨的工作作风等方方面面都有了进步。而且也开阔了视野,提高了解决问题的能力。在此,我对老师在毕业设计期间给予的指导和帮助再次表示衷心的感谢。同时也感谢其他老师和同学在此期间的关怀和帮助,以及学院为我提供的良好的毕业设计环境。
在此,我要特别感谢我的毕业设计指导老师,老师为做好指导我们做毕业设计这项工作投入了大量的心血,工作认真负责,经常提出一些建设性的意见并督促我们,对我们系统和论文中不合乎规范的地方及时指出并要求我们修改,力求做到最好,使我们保证了设计的进度和质量。
同时,我要感谢所有的老师和同学,正是有了老师传授的知识,我才能快速的掌握各项技能;也正是有了同学的关心和支持,我才能快快乐乐的度过每一天。
此外,我要感谢我的父母,感谢他们对我大学期间生活上的照顾以及学习上的监督,正是有了父母的监督我才不至于在大学期间放任自己,才能自始自终保持着良好的学习态度和修养。
参考文献
[1] 王志伟.Delphi企业经营管理系统开发实例导航[M].黄超.北京:人民邮电出版社,2003
[2] 朱振元.Delphi 面向对象程序设计及应用开发[M].朱承.西安:西安电子科技大学出版社,2002
[3] 张春林.Delphi 6程序设计导学[M].北京:清华大学出版社,2002 [4] 宋坤.Delphi数据库系统开发完全手册 [M].邹天思.北京:人民邮电出版社,2006
[5] 明日科技.Delphi数据库系统开发案例精选[M].北京:人民邮电出版社,2006
[6] 张世明.Delphi程序设计基础(第2版) [M].北京:人民邮电出版社,2008 [7] 求是科技.Delphi信息管理系统开发实例导航[M].北京:人民邮电出版社,2005
[8] 科教工作室.学以致用Access 2007数据库应用[M].北京:清华大学出版社 2008
[9] Michael R.Access 2007宝典[M].北京:人民邮电出版社 2008
[10]马晓凯.Delphi 2005 编程思想与实例经典[M].北京:冶金工业出版社 2005 [11]毕维峰.Borland Delphi 7 编程实例与技巧[M].北京:航空工业出版社 2003 [12]王沛.百例讲堂 Delphi 7 编程入门篇[M].北京:机械工业出版社 2006 [13]龙马工作室.ASP+Access组建动态网络 实例精讲[M].北京:人民邮电出版社 2005
[14]黄雷.ASP+HTML+Dreamweaver+Access 开发动态网站实例精粹[M].北京:机械工业出版社 2006
因篇幅问题不能全部显示,请点此查看更多更全内容