摘 要
【摘要】
随着小超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息
量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。而大型的超
市系统功能过于强大而造成操作繁琐降低了小超市的工作效率。
虚拟超市购物系统由DELPHI+ACCESS实现,主要包含以下几个模块:登录
模块、购物管理模块、用户管理模块、货物管理模块、数据备份模块等。从而,
实现对购物及客户信息等实现动态、及时的管理。
全文共分六部分:第一部分主要是可行性研究;第二部分主要是系统需求分
析;第三部分主要是总体设计;第四部分是主界面及购物管理模块的设计;第五
部分主要是软件测试;第六部分是对课程设计的总结。
【关键词】 虚拟超市购物系统,购物车,DELPHI,ACCESS
目 录
摘要-―――――――――――――――――――― 1 第1章 可行性研究―――――――――――――― 3 第2章 系统需求分析――――――――――――― 4 2.1 系统功能结构――――――――――――――― 4 2.2 系统数据库设计和状态图―――――――――― 5 2.3 数据流图――――――――――――――――― 6 2.4 数据字典――――――――――――――――― 7 第3章 总体设计――――――――――――――― 9 3.1 设计思想――――――――――――――――― 9 3.2 设计原则――――――――――――――――― 10 3.3 功能划分――――――――――――――――― 11 第4章 窗体设计(主界面及购物模块)――――― 12 4.1 主界面设计―――――――――――――――― 12 4.2 购物管理模块设计――――――――――――― 13 第5章 软件测试――――――――――――――― 14
5.1 模块测试――――――――――――――――― 14
5.2 整体测试――――――――――――――――― 14 第6章 课程设计总结――――――――――――― 15 参考文献-―――――――――――――――――― 16
第1章 可行性研究
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究
的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行
性的分析是非常必要的,也是很重要的。
经济可行性:超市有能力承担系统开发费用。开发新系统的工作是一项艰巨
复杂的工作,它的投资主要是人力和物力的投资。对于本系统的开发者来说,其
主要投资还是在人力和物力两个方面。如果是企业自己安排人手开发系统的话,
其主要的投资还是在人力资源上,从系统的业务需求调查到系统的分析编码调试
都是需要巨大的人力投入。软件企业作为高科技产业,其员工要求都比一般企业
的要求要高,而且对系统开发及软件产业了解比较多,所以在自我开发管理系统
的过程中,企业自己比较容易安排人手,这样就可以为企业节约很大一部分额外
开支。同时软件就其产品来说,属于高科技行业,无论是产品的价格还是质量都
比较高,而经营产品的经销商或者是商家都要求有雄厚的资金支持。所以,在系
统的开发过程中,企业完全有能力承担开发费用。
技术可行性:在IT行业中从业的工作人员一般都要求掌握计算机技术,具
有一定的软硬件基础,会使用各种管理软件,熟悉IT产品。因为,有的超市对员工的素质要求比较高,从管理层到下面的销售人员,都要求具有一定的计算机
基础,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使
用
就基本上能够掌握。
运行可行性:本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个
虚拟超市购物系统采用友好的交互界面,简介明了,不需要对数据库进行深入的
了解。
由此,该系统的操作是可行的,有必要开发该系统。
综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济
上还是操作上。因此,可以设计该系统的数据流图,建立数据字典。
第2章 系统需求分析 2.1 系统功能结构
虚拟超市购物系统,实现两个方面的需求,分别是商品购买者和购物系统管
理人员。商品购买者的需求是查询购物系统所存的商品、个人购买情况及个人信
息的修改;购物系统管理人员的功能较为复杂,包括对购买者、商品信息进行管
理和维护等。
商品购买者可直接查看商品情况,如果商品购买者根据本人用户名和密码登
录系统,还可以进行本人购物情况的查询和维护部分个人信息。一般情况下,商
品购买者只应该查询和维护本人的购物情况和个人信息。
购物系统管理人员功能的信息量大,数据安全性和保密性要求很高。本功能
实现对商品信息、购买者信息管理和查看及维护。购物系统管理员可以浏览、添
加、删除商品的基本信息;浏览、添加、删除、修改用户信息,但不能添加、删
除和修改购买信息。
整个虚拟超市购物系统的功能结构如图2-1所示:
图2-1 系统的功能结构图
2.2 系统数据库设计
图2-2 虚拟超市购物系统ER图 利用ACCESS 2003进行数据库的设计,ER图如图2-2所示,其基本表如下:
用户表(sysuser),见表2-1:
表2-1 用户表
中文字段名 英文字段名 字段类型 主键/外键
用户名 Name 文本 P
密码 Password 文本
性别 Sex 文本
电子邮件 Email 文本
用户组 group 文本
商品表(commodity),见表2-2:
表2-2 商品表
中文字段名 英文字段名 字段类型 主键/外键
ID P 编号 文本
Name P/F 名称 文本
Amount 数字 库存数量
price 货币 售价
购物车表(cart),见图2-3:
表2-3 购物车表
中文字段名 英文字段名 字段类型 主键/外键
Name P 商品名称 文本
amount P/F 购买数量 数字
状态图见图2-3:
图2-3 状态转换图
2.3 数据流图
数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程
中所经受的变换。虚拟超市购物系统的系统模型,如图2-4所示:
图2-4 虚拟超市购物系统的系统模型
功能级数据流图,见图2-5:
图2-5 功能级数据流图 2.4 数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的
定义的集合。
一般说来,数据字典应该由对下列4类元素的定义组成: (1) 数据流
(2) 数据流分量(即数据元素)
(3) 数据存储
(4) 处理
购物单的数据字典如下:
名字:购物单
别名:购物信息
描述:客户已购买的货物列表。
定义:购物单=商品名称+购买数量
位置:购物车
第3章 总体设计
此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、
查询使用。包括:浏览、添加、删除商品、购物车、用户维护等功能;后台管理
是提供给管理员的,其中包括:货物管理、用户管理等。 3.1 设计思想
(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。
(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用
程序有较强的可操作性和扩展性。
(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相
互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。
3.2 设计原则
为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而
满足用户的实际需要,在设计开发过程中遵循了如下原则:
(1)合法性原则:依据产品核算系统的工作
以及要求,参照核算实际的
工作情况,进行诸如产品进货、销售等工作。
(2)实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊
情况的要求,此外,尽可能预留空间,以便扩充功能。
(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够
及时准确的输入合法资料(如:类型匹配,长度不超限等)。
(3)易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的
地方进行提示。
(5)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代
码修改,软件升级维护,即可能做好代码注释工作。
(6)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继
承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,
也方便了将来的维护。
(7)安全性原则:可以为该系统的用户设置用户权限。 3.3 功能划分
整个虚拟超市购物系统的功能结构如图3-1所示:
图3-1 系统的HIPO图 构成模块如下:
登录模块
根据用户名判断用户组,根据用户组设定用户权限。
购物管理模块
购物车,添加到购物车、清空购物车、确认购买(普通用户)。
用户管理模块
用户信息查询、修改,用户列表、添加、删除(管理员)。
货物管理模块
商品列表、添加、删除(管理员)。
数据备份模块
数据备份、数据恢复。
帮助模块
帮助信息。
第4章 窗体设计(主界面及购物模块) 4.1 主界面设计
主要用到的控件有TMainMenu和TStatusBar,除了关联到新窗体外基本没有什么事件,在任务栏的第一部分显示“虚拟超市购物系统”。 4.2 购物管理模块设计
共设计了两个窗体,一个添加货物窗体和一个购物车窗体。
货物窗体的流程图如下图4-1所示:
图4-1 添加货物流程图
购物车的流程图如下图4-2所示:
图4-2 购物车流程图
第5章 软件测试 5.1 模块测试
在模块测试时我们主要从以下几个方面考虑:
1. 模块接口;
2. 局部数据结构;
3. 重要执行通道;
4. 出错处理通道;
5. 影响上述方面的边界条件。
测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进
行功能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,
运行中值的变化范围。改变测试
来变换另一个角度进行测试,发现错误并记
录,修改代码,测试条件使程序通过多层分支,判别运行结果从而完成模块测试。
5.2 整体测试
总体测试是组装软件的系统技术,本系统测试采用渐增集成测试,即测试单
一模块,将测试完的模块加入系统中,进行一次系统测试,依次类推将所有模块
加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各
控制层向下移动,逐渐把所有模块结合了。
在测试过程中使用到调试技术:
1. 采用debug调试语句,跟踪数据;
2. 嵌入打印语句,输出中间结果;
3. 利用Delphi 7.0中调试工具,从调试窗口观测变量的变化;
4. 设置断点,观察程序在断点附近的状况。
评估运行的可靠性问
:
1. 结果正确;
2. 运行速度;
3. 空间利用率;
4. 算法的可行性。
第6章 课程设计总结
在课程设计中我了解了,要开发一个项目就一定要先做好规划,按照软件的
开发过程,详细地写好每一步所必要的文档。首先编写文档要按照正确语法组织
和编辑内容。软件文档的最主要目标是传达一个系统的技术要素和使用方法。第
二个目标是提供软件开发过程中的需求,决策,行为,角色和责任的书面
。
只有实现了这两个目标,软件文档才真正提供了有意义的信息。软件的概念就是:
程序+文档,程序就是文档,文档集成在程序中。它要求在选择开发环境时不仅
要考虑环境对设计、开发的完美支持,而且要考虑对维护、文档的支持;要求软
件人员在设计、开发过程中要考虑维护问题、文档问题;要求程序与文档存储在
同一位置、同一系统中;要求使用相同工具进行程序与文档的书写、检索;要求
在编写和维护程序的同时形成文档,在书写文档时编写、维护程序。程序与文档
合一的概念不仅存在于系统的设计、开发阶段而且存在于系统的维护阶段,它贯
穿软件的整个生命周期。
在课程设计过程中熟悉了软件的生命周期:软件定义阶段(问题定义、可行
性研究、需求分析)系统设计(总体设计、详细设计)系统实现(编码、单元测
试、综合测试)软件的维护。熟悉了系统流程图、实体-联系(ER)模型、状态
转换图以及hipo图的绘制。
参考文献
[1] 林锐 刘兴文 唐勇;IT企业研发管理;电子工业出版社;2007
[2] 赛奎春主编;Delphi工程应用与项目实践;机械工业出版社;2005
[3] 张海藩主编;软件工程导论;北京:清华大学出版社;2006