服装专卖店店管理系统_毕业设计
摘 要
本描述了《服装专卖店店管理系统》的设计与实现。
在我国数量众多的企业中,中小企业占了绝大多数。这些企业也不可避免地要加入国际化企业的竞争行列,而实现企业信息化是参与挑战的必要条件。但是中小企业的多样性及其灵活多变的经营方式,加上相关投入量的限制,使得很多中小企业没有进行化建设。实际上大部分中小企业需要的只是能解决服装专卖店店管理、财务管理等的基础软件。因此,开发基于中小企业应用的服装专卖店店管理系统优为重要。本文所设计的服装专卖店店管理系统可以基本上满足中小企业的服装专卖店店管理。
随着经济的全球化以及中国经济改革的逐渐深化,制造业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是中国企业赢得竞争胜利的决定性因素,而快速有效地实施企业资源计划(erp)系统是被实践证明了的提高企业竞争力的最有效的方法之一。从根本上说,企业就是一个利用资源(人、财、物、时间),为客户创造价值的组织,erp就是对这些资源进行、调度、控制、衡量、改进的管理技术和系统。现今的企业并不只是人力资源、资金和产品的组合,它还应该包括供应、销售、市场营销、客户服务、需求预测,以及其他更多的东西。如果一个erp系统真正想要最大限度地提高其生产能力,它必须能够非常融洽地和其他关键性的商务领域进行交流。
当前, 随着经济的全球化以及中国经济改革的逐渐深化,制造业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是中国企业赢得竞争胜利的决定性因素。设计本系统正是为了适应这种形势。在有限的时间内凭个人之力是很难实现所有的功能。因此系统有基本目标和长远目标。系统设计基本的目标是尽可能实现物流控制自动化,长远目标是实现erp管理。
系统投入使用后,将大大减少公司的管理部门的劳动量,改善了企业内部以及整个供应链各个环节的管理、调度及资源配置,使得管理合理规范。尽量合理的控制物流,尤其是材料库存的控制,将材料控制到只在需要的时候向需要的部门按需要的数量,提供所需要的物料,也就是说,它既防止物料供应滞后于对他们的要求,也防止了物料过早地出产和进货,以免增加库存,造成物资和资金的积压。
主要技术包括:
财务上的存货概念知识
生产与运作管理知识
关键字:服装专卖店店,服装专卖店店管理, visual basic, 库存、入库、出库、供应商
引 言
现在的企业的服装专卖店店管理,大都采用传统的人工管理的模式,这对于规模较小的公司来说,是可以应付日常的管理需要的。但是,随着该行业竞争日益的激烈,提高服装专卖店店管理的工作效率,改善企业内部以及整个供应链各个环节的管理、调度及资源配置成为了企业当前必须考虑的问题。而解决这些问题的途径之一,就是将计算机引入到管理机制中来。
利用本软件系统,可以实现对员工数据管理、供应管理、客户管理、产品分类管理、产品管理、入库管理、出库管理等管理,使得管理合理规范。尽量合理的控制物流,尤其是材料库存的控制,将材料控制到只在需要的时候向需要的部门按需要的数量,提供所需要的物料,既防止物料供应滞后于对他们的要求,也防止了物料过早地出产和进货,以免增加库存,造成物资和资金的积压。设计本系统正是为了适应这种形势,在有限的时间内凭个人之力是很难实现所有的功能。因此系统有基本目标和长远目标。系统设计基本的目标是尽可能实现物流控制自动化,长远目标是实现erp管理。
第一章 设计理论
1.1、 面向对象软件工程概述:
软件工程是一门研究如何用系统化、规范化、产业化等工程原则和方法实施软件的开发和维护的学科。
1968年秋季,nato的科技委员会召集了近50名一流的编程人员、计算机家和工业界巨头,讨论和制定摆脱“软件危机”的对策。在那次会议上第一次提出了软件工程(software engineering)这个概念。到今年,软件工程整整走过了33年的历程。软件研究人员不断探索新的软件开发方法,至今已形成八类软件开发方法:
(1) 最早的parnas方法。这一方法不能独立使用,只能作为其它方法的补充。
(2) 1978年,e.yourdon和l.l.constan-tine提出的结构化方法,即sasd方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。
(3) 面向数据结构的软件开发方法。
(4) 20世纪80年代末由日立公司提出的问题分析法pam(problem analysis method)。
(5) 面向对象的软件开发方法。
(6) 可视化开发方法。
(7) icase(integrated computer-aided software engineering)。
(8) 软件重用和组件连接。
软件开发的面向对象方法于20世纪60年代后期提出,到20世纪90年代前半期,面向对象软件工程成为开发人员的首选。
面向对象方法是一种自底向上和自顶向下相结合的方法,它以对象建模为基础,不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。oo技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破。
面向对象方法的特点有:
(1) 自底向上的归纳
(2) 自顶向下的分解
(3) 基础是对象模型
(4) 需求分析彻底
可维护性大大改善
1.2、数据库应用系统遵循的开发步骤
1、设计应用系统结构;
2 、选择便于将应用程序与 dbms 结合的dbms体系结构,如rdbms;
3 、根据应用程序使用的环境平台,选择适宜的dbms(如oracle)和开发工具(如pb);
4 、设计数据库,编写定义数据库模式的sql程序;
5 、编写确保数据正确录入数据库的用户接口应用程序;
6 、录入数据库数据;
7 、运行各种与数据库相关的应用程序,以确认和修正数据库的内容。
对以上各步骤,有几点需要 说明:
(1) 这不是瀑布模型,每一步都可以有反馈。以上各步不仅有反馈、有反复,还有并行处理。
比如一些库表在数据录入时,另一些库表设计还在修改。
这与我们的递增式开发方法有关,也与面向对象的特征有关。
(2) 上述顺序不是绝对的,大多数场合是从第三步开始的。
(3) 对大多数数据库应用系统来说,上述各步中最重要、最困难的不是应用系统设计而是数据库设
1.3、dbms的支持和数据库设计
很多数据库应用系统开发者不重视数据库设计的原因是:他们太迷信dbms,认为购入一个功能强大的 dbms后数据库设计就不困难、不重要了。一些国内外的数据库教材常常是在为dbms的开发厂商做宣传,而很少站在数据库用户角度,从数据库应用系统出发介绍数据库设计方法。结果往往使读者搞不清书中介绍的是数据库管理程序的设计思想,还是应用这种 dbms 进行数据库设计的思想。
其实,dbms只是给用户为已采用的数据库提供一个舞台,而是否使用这个舞台上的道具以及唱什么戏,则完全取决于用户的戏剧脚本和导演(开发者)的安排。例如,公路局系统所使用的数据库管理系统,是以二维表为基本管理单元、支持所有关系代数操作、支持实体完整性与实体间参照完整性的全关系型 rdbms,而我们要在这个舞台上利用上述"道具"设计一个面向对象的关系数据库。
1.4、应用对象模型与rdbms模型的映射
数据库设计(模式)是否支持应用系统的对象模型,这是判断是否是面向对象数据库系统的基本出发点。由于应用系统设计在前,数据库设计随后,所以应用系统对象模型向数据库模式的映射是面向对象数据库设计的关键。
1.4.1、三层数据库模式面向对象模型的扩展
一般数据库设计多参照ansl/sparc关于数据库模式的3层标准结构提案。最接近物理数据库的内部模式由 dbms 提供的sql来描述。概念模式可以由若干个内部模式聚集而成,它是由数据库用户规范的一些表的集合。一般的概念模式是数据库物理模式作用域的边界,它能实现数据库的意义、特定dbms 的特殊操作对外部应用程序的隐蔽。外部模式是从特定用户应用角度看待的数据库模式,从不同的应用出发对同一概念模式可以给出多种不同的外部模式。当外部应用系统以对象模型进行抽象时,从各个应用出发抽象出的对象模型可以映射到外部模型上,对此我们不妨称之为外部对象模型。但是,外部模型只是概念模型的子集,所以面向对象的数据库设计核心在于系统对象模型(不妨称之为概念对象模型) 向数据库概念模型的映射 。
1.4.2、对象模型向数据库表的映射规则
由于 rdbms 是以二维表为基本管理单元的,所以对象模型最终是由二维表及表间关系来描述的。换言之,对象模型向数据库概念模型的映射就是向数据库表的变换过程。有关的变换规则简单归纳如下:
(1) 一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。
(2) 关系(一对一、一对多、多对多以及三项关系)的映射可能有多种情况,但一般映射为一个表,也可以在对象类表间定义相应的外键。对于条件关系的映射,一个表至少应有3个属性。
(3) 单一继承的泛化关系可以对超类、子类分别映射表,也可以不定义父类表而让子类表拥有父类属性;反之,也可以不定义子类表而让父类表拥有全部子类属性。
(4) 对多重继承的超类和子类分别映射表,对多次多重继承的泛化关系也映射一个表。
(5) 对映射后的库表进行冗余控制调整,使其达到合理的关系范式。
1.4.3、数据库模式要面向应用系统
我们选择面向对象的系统设计也好,面向对象的数据库设计也好,根本目的是服务于应用系统的需要。
1.5、面向对象关系数据库设计效果
从某种意义上讲,是数据库设计的面向对象特征最终奠定了整个系统的面向对象性,才使面向对象方法在程序开发阶段全面开花。其效果归纳如下:
1、数据库结构清晰,便于实现 oop
由于实现了应用模块对象对数据库对象的完全映射,数据库逻辑模型可以自然且直接地模拟现实世界的实体关系。用户所处的当前物理世界、系统开发者所抽象的系统外部功能,与支持系统功能的内部数据库 (数据结构)一一对应,所以用户、开发者和数据库维护人员可以用一致的语言进行沟通。特别是对多数不了解业务的程序开发人员来说,这种将应用对象与相应的数据对象封装在对象统一体中的设计方法,大大减轻了程序实现的难度,使他们只要知道加工的数据及所需的操作即可,而且应用程序大多雷同,可以多处继承由设计人员抽象出来的、预先开发好的各种级超类。
2、数据库对象具有独立性,便于维护
除了数据库表对象与应用模块对象一一对应外,在逻辑对象模型中我们没有设计多重继承的泛化关系,所以这样得到的数据库结构基本上是由父表类和子表类构成的树型层次结构,表类间很少有继承以外的复杂关系,是一个符合局部化原则的结构,从而使数据库表数据破坏的影响控制在局部范围且便于修复,给系统开通后的数据库日常维护工作带来便利。
3、需求变更时程序与数据库重用率高,修改少
在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的。我们可以把规范化处理后的、由一个应用对象映射出来的多个表看成一个数据库对象。因此当部分应用需求变更时,首先,系统修改可以不涉及需求不变更的部分。其次,变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有库表定义,从而大大减少了工作量,降低了工作难度。
1.6、最简单的就是最好的
客观世界是错综复杂的,计算机理论的发展也越来越高深、复杂。然而,人类探索理论和技术的最终目的是:让客观世界的复杂变简单,最简单的就是最好的。为此我们遵循以下原则:
1、慎用外键
rdbms 支持复杂关系的能力很强,无论用户怎么在逻辑上设定外键,它基本上都能从上帮用户实现。但是外键把许多独立的实体牵连在一起,不仅使 rdbms 维持数据一致性负担沉重,也使数据库应用复杂化,加重了程序开发负担。这样的数据库很难理解,很难实现隐蔽性设计,往往把简单问题复杂化。
2、隐蔽
这是软件工程最重要的基本原则之一。简言之即的作用域越小越好,数据库的透明度越大越好,因为应用程序需要知道得越多就越复杂。使数据库黑盒化 (透明度高) 的方法很多,除了设计上的局部化处理外,还可以利用 dbms 的触发器、存储过程、函数等,把数据库中无法简化的复杂表关系封装到黑盒子里,隐藏起来,特别是放到服务器端,其优越性更是多方面的。
第二章 需求分析
2.1系统需求分析
在我国数量众多的企业中,中小企业占了绝大多数。这些企业也不可避免地要加入国际化企业的竞争行列,而实现企业信息化是参与挑战的必要条件。但是中小企业的多样性及其灵活多变的经营方式,加上相关投入量的限制,使得很多中小企业没有进行化建设。实际上大部分中小企业需要的只是能解决服装专卖店店管理、财务管理等的基础软件。因此,开发基于中小企业应用的服装专卖店店管理系统优为重要。本文所设计的服装专卖店店管理系统可以基本上满足中小企业的服装专卖店店管理。
2.2、服装专卖店店管理系统的目标
通过仓库服装专卖店店管理,实现仓库管理工作系统化、规范化、自动化,正确的进货和库存控制及发货,减少管理费用,从而提高影响企业的竞争力。
服装专卖店店管理系统是对经销商的进货、销售和库存统计进行全面管理,满足如下要求:
1. 基本销售商品维护
2. 商品入库、销售
3. 库存查询
4. 销售情况查询统计
第三章 服装专卖店店管理系统的设计
3.1、服装专卖店店管理系统的开发工具的确定
本系统采用visual basic为主要开发工具,结合access数据库管理系统与98操作系统。既考虑了系统的需求,又兼顾了运行的效率,以及今后系统的功能拓展等。具有运行效率、开发周期短、扩展能力强、技术规范等特点。
3.2、服装专卖店店管理系统的开发设计思想
1. 尽量采用仓库现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的;
2. 系统应符合仓库管理的规定,满足仓库货物日常的服装专卖店店的需要,并达到操作过程的直观、方便、实用、安全等要求;
3. 系统采用模块化的程序设计方法,既便于系统功能模块的组合,又便于未参与开发的技术人员补充、维护;
系统应具备数据库维护功能,能及时根据用户需求进行数据的添加、删除、修改、备份等操作。
3.3、服装专卖店店管理系统的功能
3.3.1系统功能分析
服装专卖店店管理系统大致上需要:员工数据管理、供应管理、客户管理、产品分类管理、产品管理、入库管理、出库管理等几个主要的功能。
3.3.2、系统模块设计
根据系统功能分析,得到如图3-3所示的系统功能模块结构图。(详见附录)
3.4、服装专卖店店管理系统数据库的设计
3.4.1 绘制系统数据流图
根据系统功能模块图和管理流程,绘制出如图3-4所示的系统数据流程图。根据数据流程图以及一般服装专卖店店管理系统的需求,出下面的数据字典(详见附录):
3.4.2数据库结构设计
数据库中的各个数据表名称和结构分别如下所示:(具体的数据字典因篇幅较大,将在附录中详细列出。)
(1) 员工管理数据表。见附录图1所示
(2) 供应管理数据表。见附录图3所示
(3) 客户管理数据表。见附录图2所示
(4) 产品分类数据表。见附录图5所示
(5) 产品管理数据表。见附录图4所示
(6) 入库管理数据表。见附录图6所示
(7) 出为管理数据表。见附录图7所示
第四章 服装专卖店店管理系统的实现
4.1、系统主窗体的实现
本系统主界面作为其他所有打开窗口的父窗口,其类型应该是多文档的窗口(mdi)。利用集成菜单实现系统主要功能。
4.2、实现系统设置功能
本窗口包含员工管理、供应管理、客户管理、产品分类管理、产品管理五个主要功能模块。其窗口布局及具体实现过程如所示:
4.2.1、实现员工管理功能
本窗口的具体实现过程及源代码如下所示:
option explicit
private oclass as new cclassic
private sub aspopup1_click(cancel as boolean)
aspopup5.backcolor = &h8000000f
aspopup4.backcolor = &h8000000f
aspopup2.backcolor = &h8000000f
aspopup1.backcolor = &hffc0c0
aspopup6.backcolor = &h8000000f
sstab1.tab = 3
oclass.retrivebyid
set adcclassic.recordset = oclass.rs
dcbclassic.boundcolumn = "classicid"
end sub
private sub form_load()
makewindow me
' alwaysontop me, true
me.top = mdifrmmain.height / 2 - me.height / 2 - 1000
me.left = mdifrmmain.width / 2 - me.width / 2
aspopup5.backcolor = &hffc0c0
sstab1.tab = 0
combo1.additem "员工"
combo1.additem "经理"
combo1.additem "采购"
combo1.additem "库管"
cmbunit.additem "个"
cmbunit.additem "只"
cmbunit.additem "支"
cmbunit.additem "盒"
cmbunit.additem "本"
cmbunit.additem "条"
cmbunit.additem "瓶"
cmbunit.additem "张"
cmbunit.additem "台"
cmbunit.additem "块"
cmbunit.additem "捆"
cmbunit.additem "卷"
cmbunit.additem "打"
cmbunit.additem "双"
cmbunit.additem "对"
cmbunit.additem "米"
cmbunit.additem "厘米"
cmbunit.additem "斤"
cmbunit.additem "公斤"
cmbunit.additem "克"
cmbunit.additem "吨"
toolbar5.buttons(5).visible = false
toolbar5.buttons(6).visible = false
call aspopup5_click(false)
end sub
private sub imgtitleleft_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub imgtitlemain_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub imgtitleminimize_click()
me.windowstate = 1
end sub
private sub
imgtitleright_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub lbltitle_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub imgtitleclose_click()
unload me
end sub
private sub toolbar1_buttonclick(byval button as mscomctllib.button)
select case button.index
case 1 ''前进
adcemployee.recordset.moveprevious
if adcemployee.recordset.bof = true then
adcemployee.recordset.movefirst
end if
case 2 ''后退
adcemployee.recordset.movenext
if adcemployee.recordset.eof = true then
adcemployee.recordset.movelast
end if
case 4 ''增加
on error goto add_error
adcemployee.recordset.addnew
add_error:
if err.number = 3426 then
msgbox "已经使用过添加记录! 错误:" & err & "," & err.description, 0, "提示"
unload me
end if
toolbar1.buttons(1).visible = false
toolbar1.buttons(2).visible = false
toolbar1.buttons(4).visible = false
toolbar1.buttons(5).visible = true
toolbar1.buttons(6).visible = true
toolbar1.buttons(7).visible = false
case 5 ''确定
on error goto update_error
if text3.text = "" then
msgbox "必须填写售电员!", 0, "提示"
exit sub
end if
adcemployee.recordset.update
update_error:
if err.number = 3020 then
msgbox "请先添加记录! 错误:" & err & "," & err.description, 0, "提示"
unload me
end if
toolbar1.buttons(1).visible = true
toolbar1.buttons(2).visible = true
toolbar1.buttons(4).visible = true
toolbar1.buttons(5).visible = true
toolbar1.buttons(6).visible = true
toolbar1.buttons(7).visible = true
case 6 ''取消
on error goto canceerr
adcemployee.recordset.cancelupdate
toolbar1.buttons(1).visible = true
toolbar1.buttons(2).visible = true
toolbar1.buttons(4).visible = true
toolbar1.buttons(5).visible = true
toolbar1.buttons(6).visible = true
toolbar1.buttons(7).visible = true
canceerr:
if err.number = 3021 then
msgbox "没有记录! 错误:" & err & "," & err.description, 0, "提示"
end if
case 7 ''删除
on error goto del_error
dim a
a = msgbox("真的删除吗?", vbexclamation + vbokcancel + vbapplicationmodal, "删除记录")
if a = 1 then
adcemployee.recordset.delete
adcemployee.recordset.movelast
end if
if a = 2 then exit sub
del_error:
if err.number = 3426 then
msgbox "已经全部删除! 错误:" & err & "," & err.description, 0, "提示"
unload me
end if
end select
end sub
本系统虽然数据字典复杂,页面窗口众多,但是各窗口都基本包括添加、删除、保存、取消等主要功能结构。在以上的篇幅中,已经对员工管理的功能结构和数据窗口用法进行了详细的叙述,为了避免重复和篇幅的限制,在以下的篇幅中,就不再一一细述其他的页面具体功能的实现。其供应管理、客户管理、产品分类管理、产品管理等四个主要功能模块的布局与实现过程与员工管理模块相似,所以就不再详细叙述。
4.3、实现入库操作
入库管理窗口主要实现产品的入库管理及入库单据的打印等操作。具体实现过程及源代码略。
4.4、实现出库操作
出库管理窗口主要实现产品的出库管理及出库单据的打印等操作。具体实现过程及源代码略。
4.5、实现报表打印输出
本窗口主要实现数据报表检索的打印与执行功能,其具体实现过程及源代码略。
4.6、程序调试、编译与发行
4.6.1、程序调试
应用程序的调试对于编程来说是一项非常重要的工作。visual basic 为程序的调试提供了三个窗:“立即”窗口、“本地”窗口和“监视”窗口。可以在设计时、运行时或中断状态时使用“视图”莱单中的“立即窗口”、“本地窗口”和“监视窗口”三个莱单打开这三个窗口。它们的默认位置在visual basic 集成环境的底部,与集成环境中的其它窗口(如属性窗口)一样,它们可以是“连接的”或是“浮动的”,它们的位置可以变动。单击窗口右上角的关闭按钮,可以关闭这个窗口。
4.6.2、创建可执行文件
visual basic 一般生成的是单个的可执行文件,可以使用任何一种在windows 下执行常规可执行文件的方法来执行它。可执行文件的运行不再需要工程文件与各个模块文件,但是需要有visual basic 运行时动态链接库文件(.dll)的支持。一台安装了visual basic 的计算机中会有所需要的动态链接库文件。如果要在没有安装过visual basic 的计算机上运行,最好使用visual basic 的安装盘生成程序来制作安装盘。对于比较复杂的应用程序,除了单个的可执行文件外,可能还需要其它类型的文件支持,具体情况各不相同。编译生成可执行文件之后,工程中所有的文件(源程序)都要妥善保存,以便于程序的升级与功能的扩充。
4.6.3、安装程序的制作
本系统作用“microsoft visual basic 6.0 中文版工具”中自带的“package & deployment 向导”来制作安装程序.
4.7、系统的发展方向
当前, 随着经济的全球化以及中国经济改革的逐渐深化,制造业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是中国企业赢得竞争胜利的决定性因素。设计本系统正是为了适应这种形势。在有限的时间内凭个人之力是很难实现所有的功能。因此系统有基本目标和长远目标。系统设计基本的目标是尽可能实现物流控制自动化,长远目标是实现erp管理。
4.8、系统运行环境
操作系统要求microsoft windows 95或以上版本、cpu为 inter pentium(奔腾)90hz或更高的处理器、一个cd-rom光盘驱动器、microsoft windows支持的vga或分辨率更高的监视器、鼠标或其它定点设备,硬盘空间要求20mb以上空间
结 论
通过系统的开发,我对软件开发过程有了更清晰的了解,首先是问题定义、需求分析,然后是功能设计、详细设计等,并对软件测试的方法、手段有了较深的理解,同时对制造业的流程有了一个系统的认识。在开发过程还认真学习了与系统相关的知识,极大地拓宽了我的知识面,我感到收获不小。
在系统的开发初期,必须要熟悉企业的管理流程,初步了解erp的相关知识,这样才能进入到设计的过程中去。从开始熟悉这些知识到对整体设计有了解,再从概要设计、详细设计到开始编码,以及最后的测试,整个过程感觉很充实,虽然遇到了不少困难,但当我通过自己查资料、或是向指导请教以及向同事请教,而设计出解决方案并成功实现时,那种成就感和满足感足以鼓励自己加班加点的辛苦。
因为以前有过使用visual basic设计管理软件的经验,在这次设计的过程中,我遇到专业知识方面的困难不是非常多,主要困难集中在管理知识、财务知识等方面的不足上。尤其是财务方面的知识,比如按月加权平均算法的实现,怎样处理材料收发存金额计算的误差等,在实际的开发中我深刻的体会到了自己做毕业设计和实际客户的要求之间的距离,比如金额问题,一般存储单价保存小数点后4位即可,精确一点的保存到6位,但是不管是四位还是六位,当数据达到万或十万时,总帐和明细帐之间必然会产生误差,而财务上要求的是一份钱都不能差,这是我当时遇到的最束手无策问题,整整查了两天的有关于财务做帐的规定及特殊情况的处理知识,又和项目主管进行了详细的讨论之后才使这个问题得以解决。
还有就是操作界面的方面问题,尽管在设计的过程中,我们时刻考虑到了操作界面的友好性,但实际情况是远远不能满足客户的要求,考虑到软件使用群体将是一群几乎没有任何电脑操作经验的人,我们正在考虑设计出一种傻瓜式的界面。
经过这3个月的毕业设计实习,确实学到了不少的东西,同时也深感自己知识的欠缺。虽然即将毕业,但在以后的学习工作中,一定要继续坚持不段地学习新兴的专业知识及相关的非专业知识,只有这样才能紧跟时代的潮流。
参考文献
? 《visual basic 6.0 数据库系统开发实例导航》―邵洋 谷宇 何旭洪 编着 人民邮电出版社
? 《visual basic 6.0 实用程序100例》 人民邮电出版社
? 《visual basic 应用基础于面向对象程序设计教程》 李雁翎 编 高等出版社
? 《数据库技术》 罗晓沛 主编 清华大学出版社
? 《从零开始sql server 中文版基础培训教程》 人民邮电出版社
? roger s. pressman 《软件工程——实践者的研究方法》机械工业出版社,1997
? karl e. wingers 《软件需求》机械工业出版社,1999
? 张海藩《软件工程导论》清华大学出版社
本描述了《服装专卖店店管理系统》的设计与实现。
在我国数量众多的企业中,中小企业占了绝大多数。这些企业也不可避免地要加入国际化企业的竞争行列,而实现企业信息化是参与挑战的必要条件。但是中小企业的多样性及其灵活多变的经营方式,加上相关投入量的限制,使得很多中小企业没有进行化建设。实际上大部分中小企业需要的只是能解决服装专卖店店管理、财务管理等的基础软件。因此,开发基于中小企业应用的服装专卖店店管理系统优为重要。本文所设计的服装专卖店店管理系统可以基本上满足中小企业的服装专卖店店管理。
随着经济的全球化以及中国经济改革的逐渐深化,制造业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是中国企业赢得竞争胜利的决定性因素,而快速有效地实施企业资源计划(erp)系统是被实践证明了的提高企业竞争力的最有效的方法之一。从根本上说,企业就是一个利用资源(人、财、物、时间),为客户创造价值的组织,erp就是对这些资源进行、调度、控制、衡量、改进的管理技术和系统。现今的企业并不只是人力资源、资金和产品的组合,它还应该包括供应、销售、市场营销、客户服务、需求预测,以及其他更多的东西。如果一个erp系统真正想要最大限度地提高其生产能力,它必须能够非常融洽地和其他关键性的商务领域进行交流。
当前, 随着经济的全球化以及中国经济改革的逐渐深化,制造业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是中国企业赢得竞争胜利的决定性因素。设计本系统正是为了适应这种形势。在有限的时间内凭个人之力是很难实现所有的功能。因此系统有基本目标和长远目标。系统设计基本的目标是尽可能实现物流控制自动化,长远目标是实现erp管理。
系统投入使用后,将大大减少公司的管理部门的劳动量,改善了企业内部以及整个供应链各个环节的管理、调度及资源配置,使得管理合理规范。尽量合理的控制物流,尤其是材料库存的控制,将材料控制到只在需要的时候向需要的部门按需要的数量,提供所需要的物料,也就是说,它既防止物料供应滞后于对他们的要求,也防止了物料过早地出产和进货,以免增加库存,造成物资和资金的积压。
主要技术包括:
财务上的存货概念知识
生产与运作管理知识
关键字:服装专卖店店,服装专卖店店管理, visual basic, 库存、入库、出库、供应商
引 言
现在的企业的服装专卖店店管理,大都采用传统的人工管理的模式,这对于规模较小的公司来说,是可以应付日常的管理需要的。但是,随着该行业竞争日益的激烈,提高服装专卖店店管理的工作效率,改善企业内部以及整个供应链各个环节的管理、调度及资源配置成为了企业当前必须考虑的问题。而解决这些问题的途径之一,就是将计算机引入到管理机制中来。
利用本软件系统,可以实现对员工数据管理、供应管理、客户管理、产品分类管理、产品管理、入库管理、出库管理等管理,使得管理合理规范。尽量合理的控制物流,尤其是材料库存的控制,将材料控制到只在需要的时候向需要的部门按需要的数量,提供所需要的物料,既防止物料供应滞后于对他们的要求,也防止了物料过早地出产和进货,以免增加库存,造成物资和资金的积压。设计本系统正是为了适应这种形势,在有限的时间内凭个人之力是很难实现所有的功能。因此系统有基本目标和长远目标。系统设计基本的目标是尽可能实现物流控制自动化,长远目标是实现erp管理。
第一章 设计理论
1.1、 面向对象软件工程概述:
软件工程是一门研究如何用系统化、规范化、产业化等工程原则和方法实施软件的开发和维护的学科。
1968年秋季,nato的科技委员会召集了近50名一流的编程人员、计算机家和工业界巨头,讨论和制定摆脱“软件危机”的对策。在那次会议上第一次提出了软件工程(software engineering)这个概念。到今年,软件工程整整走过了33年的历程。软件研究人员不断探索新的软件开发方法,至今已形成八类软件开发方法:
(1) 最早的parnas方法。这一方法不能独立使用,只能作为其它方法的补充。
(2) 1978年,e.yourdon和l.l.constan-tine提出的结构化方法,即sasd方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。
(3) 面向数据结构的软件开发方法。
(4) 20世纪80年代末由日立公司提出的问题分析法pam(problem analysis method)。
(5) 面向对象的软件开发方法。
(6) 可视化开发方法。
(7) icase(integrated computer-aided software engineering)。
(8) 软件重用和组件连接。
软件开发的面向对象方法于20世纪60年代后期提出,到20世纪90年代前半期,面向对象软件工程成为开发人员的首选。
面向对象方法是一种自底向上和自顶向下相结合的方法,它以对象建模为基础,不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。oo技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破。
面向对象方法的特点有:
(1) 自底向上的归纳
(2) 自顶向下的分解
(3) 基础是对象模型
(4) 需求分析彻底
可维护性大大改善
1.2、数据库应用系统遵循的开发步骤
1、设计应用系统结构;
2 、选择便于将应用程序与 dbms 结合的dbms体系结构,如rdbms;
3 、根据应用程序使用的环境平台,选择适宜的dbms(如oracle)和开发工具(如pb);
4 、设计数据库,编写定义数据库模式的sql程序;
5 、编写确保数据正确录入数据库的用户接口应用程序;
6 、录入数据库数据;
7 、运行各种与数据库相关的应用程序,以确认和修正数据库的内容。
对以上各步骤,有几点需要 说明:
(1) 这不是瀑布模型,每一步都可以有反馈。以上各步不仅有反馈、有反复,还有并行处理。
比如一些库表在数据录入时,另一些库表设计还在修改。
这与我们的递增式开发方法有关,也与面向对象的特征有关。
(2) 上述顺序不是绝对的,大多数场合是从第三步开始的。
(3) 对大多数数据库应用系统来说,上述各步中最重要、最困难的不是应用系统设计而是数据库设
1.3、dbms的支持和数据库设计
很多数据库应用系统开发者不重视数据库设计的原因是:他们太迷信dbms,认为购入一个功能强大的 dbms后数据库设计就不困难、不重要了。一些国内外的数据库教材常常是在为dbms的开发厂商做宣传,而很少站在数据库用户角度,从数据库应用系统出发介绍数据库设计方法。结果往往使读者搞不清书中介绍的是数据库管理程序的设计思想,还是应用这种 dbms 进行数据库设计的思想。
其实,dbms只是给用户为已采用的数据库提供一个舞台,而是否使用这个舞台上的道具以及唱什么戏,则完全取决于用户的戏剧脚本和导演(开发者)的安排。例如,公路局系统所使用的数据库管理系统,是以二维表为基本管理单元、支持所有关系代数操作、支持实体完整性与实体间参照完整性的全关系型 rdbms,而我们要在这个舞台上利用上述"道具"设计一个面向对象的关系数据库。
1.4、应用对象模型与rdbms模型的映射
数据库设计(模式)是否支持应用系统的对象模型,这是判断是否是面向对象数据库系统的基本出发点。由于应用系统设计在前,数据库设计随后,所以应用系统对象模型向数据库模式的映射是面向对象数据库设计的关键。
1.4.1、三层数据库模式面向对象模型的扩展
一般数据库设计多参照ansl/sparc关于数据库模式的3层标准结构提案。最接近物理数据库的内部模式由 dbms 提供的sql来描述。概念模式可以由若干个内部模式聚集而成,它是由数据库用户规范的一些表的集合。一般的概念模式是数据库物理模式作用域的边界,它能实现数据库的意义、特定dbms 的特殊操作对外部应用程序的隐蔽。外部模式是从特定用户应用角度看待的数据库模式,从不同的应用出发对同一概念模式可以给出多种不同的外部模式。当外部应用系统以对象模型进行抽象时,从各个应用出发抽象出的对象模型可以映射到外部模型上,对此我们不妨称之为外部对象模型。但是,外部模型只是概念模型的子集,所以面向对象的数据库设计核心在于系统对象模型(不妨称之为概念对象模型) 向数据库概念模型的映射 。
1.4.2、对象模型向数据库表的映射规则
由于 rdbms 是以二维表为基本管理单元的,所以对象模型最终是由二维表及表间关系来描述的。换言之,对象模型向数据库概念模型的映射就是向数据库表的变换过程。有关的变换规则简单归纳如下:
(1) 一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。
(2) 关系(一对一、一对多、多对多以及三项关系)的映射可能有多种情况,但一般映射为一个表,也可以在对象类表间定义相应的外键。对于条件关系的映射,一个表至少应有3个属性。
(3) 单一继承的泛化关系可以对超类、子类分别映射表,也可以不定义父类表而让子类表拥有父类属性;反之,也可以不定义子类表而让父类表拥有全部子类属性。
(4) 对多重继承的超类和子类分别映射表,对多次多重继承的泛化关系也映射一个表。
(5) 对映射后的库表进行冗余控制调整,使其达到合理的关系范式。
1.4.3、数据库模式要面向应用系统
我们选择面向对象的系统设计也好,面向对象的数据库设计也好,根本目的是服务于应用系统的需要。
1.5、面向对象关系数据库设计效果
从某种意义上讲,是数据库设计的面向对象特征最终奠定了整个系统的面向对象性,才使面向对象方法在程序开发阶段全面开花。其效果归纳如下:
1、数据库结构清晰,便于实现 oop
由于实现了应用模块对象对数据库对象的完全映射,数据库逻辑模型可以自然且直接地模拟现实世界的实体关系。用户所处的当前物理世界、系统开发者所抽象的系统外部功能,与支持系统功能的内部数据库 (数据结构)一一对应,所以用户、开发者和数据库维护人员可以用一致的语言进行沟通。特别是对多数不了解业务的程序开发人员来说,这种将应用对象与相应的数据对象封装在对象统一体中的设计方法,大大减轻了程序实现的难度,使他们只要知道加工的数据及所需的操作即可,而且应用程序大多雷同,可以多处继承由设计人员抽象出来的、预先开发好的各种级超类。
2、数据库对象具有独立性,便于维护
除了数据库表对象与应用模块对象一一对应外,在逻辑对象模型中我们没有设计多重继承的泛化关系,所以这样得到的数据库结构基本上是由父表类和子表类构成的树型层次结构,表类间很少有继承以外的复杂关系,是一个符合局部化原则的结构,从而使数据库表数据破坏的影响控制在局部范围且便于修复,给系统开通后的数据库日常维护工作带来便利。
3、需求变更时程序与数据库重用率高,修改少
在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的。我们可以把规范化处理后的、由一个应用对象映射出来的多个表看成一个数据库对象。因此当部分应用需求变更时,首先,系统修改可以不涉及需求不变更的部分。其次,变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有库表定义,从而大大减少了工作量,降低了工作难度。
1.6、最简单的就是最好的
客观世界是错综复杂的,计算机理论的发展也越来越高深、复杂。然而,人类探索理论和技术的最终目的是:让客观世界的复杂变简单,最简单的就是最好的。为此我们遵循以下原则:
1、慎用外键
rdbms 支持复杂关系的能力很强,无论用户怎么在逻辑上设定外键,它基本上都能从上帮用户实现。但是外键把许多独立的实体牵连在一起,不仅使 rdbms 维持数据一致性负担沉重,也使数据库应用复杂化,加重了程序开发负担。这样的数据库很难理解,很难实现隐蔽性设计,往往把简单问题复杂化。
2、隐蔽
这是软件工程最重要的基本原则之一。简言之即的作用域越小越好,数据库的透明度越大越好,因为应用程序需要知道得越多就越复杂。使数据库黑盒化 (透明度高) 的方法很多,除了设计上的局部化处理外,还可以利用 dbms 的触发器、存储过程、函数等,把数据库中无法简化的复杂表关系封装到黑盒子里,隐藏起来,特别是放到服务器端,其优越性更是多方面的。
第二章 需求分析
2.1系统需求分析
在我国数量众多的企业中,中小企业占了绝大多数。这些企业也不可避免地要加入国际化企业的竞争行列,而实现企业信息化是参与挑战的必要条件。但是中小企业的多样性及其灵活多变的经营方式,加上相关投入量的限制,使得很多中小企业没有进行化建设。实际上大部分中小企业需要的只是能解决服装专卖店店管理、财务管理等的基础软件。因此,开发基于中小企业应用的服装专卖店店管理系统优为重要。本文所设计的服装专卖店店管理系统可以基本上满足中小企业的服装专卖店店管理。
2.2、服装专卖店店管理系统的目标
通过仓库服装专卖店店管理,实现仓库管理工作系统化、规范化、自动化,正确的进货和库存控制及发货,减少管理费用,从而提高影响企业的竞争力。
服装专卖店店管理系统是对经销商的进货、销售和库存统计进行全面管理,满足如下要求:
1. 基本销售商品维护
2. 商品入库、销售
3. 库存查询
4. 销售情况查询统计
第三章 服装专卖店店管理系统的设计
3.1、服装专卖店店管理系统的开发工具的确定
本系统采用visual basic为主要开发工具,结合access数据库管理系统与98操作系统。既考虑了系统的需求,又兼顾了运行的效率,以及今后系统的功能拓展等。具有运行效率、开发周期短、扩展能力强、技术规范等特点。
3.2、服装专卖店店管理系统的开发设计思想
1. 尽量采用仓库现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的;
2. 系统应符合仓库管理的规定,满足仓库货物日常的服装专卖店店的需要,并达到操作过程的直观、方便、实用、安全等要求;
3. 系统采用模块化的程序设计方法,既便于系统功能模块的组合,又便于未参与开发的技术人员补充、维护;
系统应具备数据库维护功能,能及时根据用户需求进行数据的添加、删除、修改、备份等操作。
3.3、服装专卖店店管理系统的功能
3.3.1系统功能分析
服装专卖店店管理系统大致上需要:员工数据管理、供应管理、客户管理、产品分类管理、产品管理、入库管理、出库管理等几个主要的功能。
3.3.2、系统模块设计
根据系统功能分析,得到如图3-3所示的系统功能模块结构图。(详见附录)
3.4、服装专卖店店管理系统数据库的设计
3.4.1 绘制系统数据流图
根据系统功能模块图和管理流程,绘制出如图3-4所示的系统数据流程图。根据数据流程图以及一般服装专卖店店管理系统的需求,出下面的数据字典(详见附录):
3.4.2数据库结构设计
数据库中的各个数据表名称和结构分别如下所示:(具体的数据字典因篇幅较大,将在附录中详细列出。)
(1) 员工管理数据表。见附录图1所示
(2) 供应管理数据表。见附录图3所示
(3) 客户管理数据表。见附录图2所示
(4) 产品分类数据表。见附录图5所示
(5) 产品管理数据表。见附录图4所示
(6) 入库管理数据表。见附录图6所示
(7) 出为管理数据表。见附录图7所示
第四章 服装专卖店店管理系统的实现
4.1、系统主窗体的实现
本系统主界面作为其他所有打开窗口的父窗口,其类型应该是多文档的窗口(mdi)。利用集成菜单实现系统主要功能。
4.2、实现系统设置功能
本窗口包含员工管理、供应管理、客户管理、产品分类管理、产品管理五个主要功能模块。其窗口布局及具体实现过程如所示:
4.2.1、实现员工管理功能
本窗口的具体实现过程及源代码如下所示:
option explicit
private oclass as new cclassic
private sub aspopup1_click(cancel as boolean)
aspopup5.backcolor = &h8000000f
aspopup4.backcolor = &h8000000f
aspopup2.backcolor = &h8000000f
aspopup1.backcolor = &hffc0c0
aspopup6.backcolor = &h8000000f
sstab1.tab = 3
oclass.retrivebyid
set adcclassic.recordset = oclass.rs
dcbclassic.boundcolumn = "classicid"
end sub
private sub form_load()
makewindow me
' alwaysontop me, true
me.top = mdifrmmain.height / 2 - me.height / 2 - 1000
me.left = mdifrmmain.width / 2 - me.width / 2
aspopup5.backcolor = &hffc0c0
sstab1.tab = 0
combo1.additem "员工"
combo1.additem "经理"
combo1.additem "采购"
combo1.additem "库管"
cmbunit.additem "个"
cmbunit.additem "只"
cmbunit.additem "支"
cmbunit.additem "盒"
cmbunit.additem "本"
cmbunit.additem "条"
cmbunit.additem "瓶"
cmbunit.additem "张"
cmbunit.additem "台"
cmbunit.additem "块"
cmbunit.additem "捆"
cmbunit.additem "卷"
cmbunit.additem "打"
cmbunit.additem "双"
cmbunit.additem "对"
cmbunit.additem "米"
cmbunit.additem "厘米"
cmbunit.additem "斤"
cmbunit.additem "公斤"
cmbunit.additem "克"
cmbunit.additem "吨"
toolbar5.buttons(5).visible = false
toolbar5.buttons(6).visible = false
call aspopup5_click(false)
end sub
private sub imgtitleleft_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub imgtitlemain_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub imgtitleminimize_click()
me.windowstate = 1
end sub
private sub
imgtitleright_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub lbltitle_mousedown(button as integer, shift as integer, x as single, y as single)
dodrag me
end sub
private sub imgtitleclose_click()
unload me
end sub
private sub toolbar1_buttonclick(byval button as mscomctllib.button)
select case button.index
case 1 ''前进
adcemployee.recordset.moveprevious
if adcemployee.recordset.bof = true then
adcemployee.recordset.movefirst
end if
case 2 ''后退
adcemployee.recordset.movenext
if adcemployee.recordset.eof = true then
adcemployee.recordset.movelast
end if
case 4 ''增加
on error goto add_error
adcemployee.recordset.addnew
add_error:
if err.number = 3426 then
msgbox "已经使用过添加记录! 错误:" & err & "," & err.description, 0, "提示"
unload me
end if
toolbar1.buttons(1).visible = false
toolbar1.buttons(2).visible = false
toolbar1.buttons(4).visible = false
toolbar1.buttons(5).visible = true
toolbar1.buttons(6).visible = true
toolbar1.buttons(7).visible = false
case 5 ''确定
on error goto update_error
if text3.text = "" then
msgbox "必须填写售电员!", 0, "提示"
exit sub
end if
adcemployee.recordset.update
update_error:
if err.number = 3020 then
msgbox "请先添加记录! 错误:" & err & "," & err.description, 0, "提示"
unload me
end if
toolbar1.buttons(1).visible = true
toolbar1.buttons(2).visible = true
toolbar1.buttons(4).visible = true
toolbar1.buttons(5).visible = true
toolbar1.buttons(6).visible = true
toolbar1.buttons(7).visible = true
case 6 ''取消
on error goto canceerr
adcemployee.recordset.cancelupdate
toolbar1.buttons(1).visible = true
toolbar1.buttons(2).visible = true
toolbar1.buttons(4).visible = true
toolbar1.buttons(5).visible = true
toolbar1.buttons(6).visible = true
toolbar1.buttons(7).visible = true
canceerr:
if err.number = 3021 then
msgbox "没有记录! 错误:" & err & "," & err.description, 0, "提示"
end if
case 7 ''删除
on error goto del_error
dim a
a = msgbox("真的删除吗?", vbexclamation + vbokcancel + vbapplicationmodal, "删除记录")
if a = 1 then
adcemployee.recordset.delete
adcemployee.recordset.movelast
end if
if a = 2 then exit sub
del_error:
if err.number = 3426 then
msgbox "已经全部删除! 错误:" & err & "," & err.description, 0, "提示"
unload me
end if
end select
end sub
本系统虽然数据字典复杂,页面窗口众多,但是各窗口都基本包括添加、删除、保存、取消等主要功能结构。在以上的篇幅中,已经对员工管理的功能结构和数据窗口用法进行了详细的叙述,为了避免重复和篇幅的限制,在以下的篇幅中,就不再一一细述其他的页面具体功能的实现。其供应管理、客户管理、产品分类管理、产品管理等四个主要功能模块的布局与实现过程与员工管理模块相似,所以就不再详细叙述。
4.3、实现入库操作
入库管理窗口主要实现产品的入库管理及入库单据的打印等操作。具体实现过程及源代码略。
4.4、实现出库操作
出库管理窗口主要实现产品的出库管理及出库单据的打印等操作。具体实现过程及源代码略。
4.5、实现报表打印输出
本窗口主要实现数据报表检索的打印与执行功能,其具体实现过程及源代码略。
4.6、程序调试、编译与发行
4.6.1、程序调试
应用程序的调试对于编程来说是一项非常重要的工作。visual basic 为程序的调试提供了三个窗:“立即”窗口、“本地”窗口和“监视”窗口。可以在设计时、运行时或中断状态时使用“视图”莱单中的“立即窗口”、“本地窗口”和“监视窗口”三个莱单打开这三个窗口。它们的默认位置在visual basic 集成环境的底部,与集成环境中的其它窗口(如属性窗口)一样,它们可以是“连接的”或是“浮动的”,它们的位置可以变动。单击窗口右上角的关闭按钮,可以关闭这个窗口。
4.6.2、创建可执行文件
visual basic 一般生成的是单个的可执行文件,可以使用任何一种在windows 下执行常规可执行文件的方法来执行它。可执行文件的运行不再需要工程文件与各个模块文件,但是需要有visual basic 运行时动态链接库文件(.dll)的支持。一台安装了visual basic 的计算机中会有所需要的动态链接库文件。如果要在没有安装过visual basic 的计算机上运行,最好使用visual basic 的安装盘生成程序来制作安装盘。对于比较复杂的应用程序,除了单个的可执行文件外,可能还需要其它类型的文件支持,具体情况各不相同。编译生成可执行文件之后,工程中所有的文件(源程序)都要妥善保存,以便于程序的升级与功能的扩充。
4.6.3、安装程序的制作
本系统作用“microsoft visual basic 6.0 中文版工具”中自带的“package & deployment 向导”来制作安装程序.
4.7、系统的发展方向
当前, 随着经济的全球化以及中国经济改革的逐渐深化,制造业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是中国企业赢得竞争胜利的决定性因素。设计本系统正是为了适应这种形势。在有限的时间内凭个人之力是很难实现所有的功能。因此系统有基本目标和长远目标。系统设计基本的目标是尽可能实现物流控制自动化,长远目标是实现erp管理。
4.8、系统运行环境
操作系统要求microsoft windows 95或以上版本、cpu为 inter pentium(奔腾)90hz或更高的处理器、一个cd-rom光盘驱动器、microsoft windows支持的vga或分辨率更高的监视器、鼠标或其它定点设备,硬盘空间要求20mb以上空间
结 论
通过系统的开发,我对软件开发过程有了更清晰的了解,首先是问题定义、需求分析,然后是功能设计、详细设计等,并对软件测试的方法、手段有了较深的理解,同时对制造业的流程有了一个系统的认识。在开发过程还认真学习了与系统相关的知识,极大地拓宽了我的知识面,我感到收获不小。
在系统的开发初期,必须要熟悉企业的管理流程,初步了解erp的相关知识,这样才能进入到设计的过程中去。从开始熟悉这些知识到对整体设计有了解,再从概要设计、详细设计到开始编码,以及最后的测试,整个过程感觉很充实,虽然遇到了不少困难,但当我通过自己查资料、或是向指导请教以及向同事请教,而设计出解决方案并成功实现时,那种成就感和满足感足以鼓励自己加班加点的辛苦。
因为以前有过使用visual basic设计管理软件的经验,在这次设计的过程中,我遇到专业知识方面的困难不是非常多,主要困难集中在管理知识、财务知识等方面的不足上。尤其是财务方面的知识,比如按月加权平均算法的实现,怎样处理材料收发存金额计算的误差等,在实际的开发中我深刻的体会到了自己做毕业设计和实际客户的要求之间的距离,比如金额问题,一般存储单价保存小数点后4位即可,精确一点的保存到6位,但是不管是四位还是六位,当数据达到万或十万时,总帐和明细帐之间必然会产生误差,而财务上要求的是一份钱都不能差,这是我当时遇到的最束手无策问题,整整查了两天的有关于财务做帐的规定及特殊情况的处理知识,又和项目主管进行了详细的讨论之后才使这个问题得以解决。
还有就是操作界面的方面问题,尽管在设计的过程中,我们时刻考虑到了操作界面的友好性,但实际情况是远远不能满足客户的要求,考虑到软件使用群体将是一群几乎没有任何电脑操作经验的人,我们正在考虑设计出一种傻瓜式的界面。
经过这3个月的毕业设计实习,确实学到了不少的东西,同时也深感自己知识的欠缺。虽然即将毕业,但在以后的学习工作中,一定要继续坚持不段地学习新兴的专业知识及相关的非专业知识,只有这样才能紧跟时代的潮流。
参考文献
? 《visual basic 6.0 数据库系统开发实例导航》―邵洋 谷宇 何旭洪 编着 人民邮电出版社
? 《visual basic 6.0 实用程序100例》 人民邮电出版社
? 《visual basic 应用基础于面向对象程序设计教程》 李雁翎 编 高等出版社
? 《数据库技术》 罗晓沛 主编 清华大学出版社
? 《从零开始sql server 中文版基础培训教程》 人民邮电出版社
? roger s. pressman 《软件工程——实践者的研究方法》机械工业出版社,1997
? karl e. wingers 《软件需求》机械工业出版社,1999
? 张海藩《软件工程导论》清华大学出版社