软件工程课程设计.docx
《软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计.docx(21页珍藏版)》请在冰豆网上搜索。
软件工程课程设计
软件工程课程设计
超市信息管理系统
目录
摘要
1绪论
1.1问题的提出
1.2系统开发的目标
1.3系统环境
2系统可行性研究
2.1技术可行性研究
2.2经济可行性研究
2.3操作可行性研究
3系统需求分析
3.1系统开发背景
3.2用户业务需求
3.3功能需求
3.4性能需求
4系统总体设计
4.1设计思想
4.2设计原则
4.3系统流程图
4.4数据字典
4.5系统E-R图
5系统详细设计
5.1功能结构图
5.2数据库设计
5.3各功能模块设计
6系统编码设计
6.1数据库构建
6.2登陆窗口设计
6.3设计用户管理窗口
6.4设计录入商品窗口
6.5设计销售商品窗口
6.6设计查询销售商品情况窗口
7系统测试运行
7.1模块测试
7.2整体测试
8系统维护报告
8.1数据备份技术
8.2数据安全技术
9结论
摘要——超市形态具有种种优点,但在目前状况下,它仍存在零售业商业企业所共有的落后的一面,如:
不能有效的管理每一种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率底等,而且在超市日常管理中,商品进、销、存决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足,随着超市形态的高速发展,其经营管理也变的愈加复杂,日常所需处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发商品库存子系统和销售子系统:
商品库存子系统负责完成商品的库存管理。
当有新商品入库时,可完成商品基本信息的录入工作,对于录入后的商品信息还提供了修改的界面。
对库存的商品信息还可以通过设置不同的查询条件进行查询。
销售子系统是超市信息管理系统中十分重要的一个系统。
销售子系统的主要作用是通过商品的商品编码,从数据库中查询到该商品的价格,根据购买的商品数量计算出顾客应付的款项,根据顾客所付的实际金额计算出应付给顾客的金额,最后完成购物清单的打印。
另外,销售子系统还应将商品的销售数量及时传给数据库。
1绪论
1.1问题的提出
超市是一个很繁忙的地方,每天有很多的顾客要买东西,收银员要和很多的顾客结算,并且要给这些结算存档,以便日后查看。
如果只用人工的方法去处理这些结算和计算的数据将是一件很繁琐的事情,将投入大量的人力物力,为了解决这个问题,实现科学化、现代化的超市信息管理,我们就必须设计开发超市信息管理系统,并用于实践。
1.2系统开发的目标
超市信息管理系统是一款非常常见和流行的管理系统,本超市管理系统需要提供如下功能:
v需要提供管理员登录功能,保证只有合法的用户才能进入该系统
v需要提供商品管理功能,从而保证可以录入新的商品信息
v需要提供出入库管理功能,通过该功能来实现商品的出入库
v需要提供销售统计功能,能够对销售的商品进行查询分析
1.3系统环境
开发环境:
SQLServer2008数据库和VisualBasic6.0编程环境
运行环境:
Windows7操作系统
2系统可行性研究
2.1技术可行性
从技术条件来看,我们现在身处的信息化社会信息技术快速发展,信息管理技术也日趋完善,使我们有条件来完成超市管理系统的开发。
随着信息技术的发展,特别是网络技术和数据库技术的发展,在软件开发方面,可以采用现行主流的开发技术,硬件技术方面则可以充分利用日益增强的存储能力、通讯能力和处理速度开保证系统开发技术的准备。
现在的超市对员工的素质要求比较高,从管理层到下面的销售人员,都要求具有一定的计算机基础,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使用方法就基本上能够是系统顺利运行。
2.2经济可行性
因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。
v超市有能力承担系统开发费用
开发新系统的工作是一项间距复杂的工作,它的投资主要是人力和物力的投资。
对于本系统的开发者来说,其主要投资还是在人力和物力两个方面。
软件企业作为一个简短的高科技产业,其员工要求都比一般企业的要求要高,而且对系统开发及软件产业了解比较多,所以在自我开发管理系统的过程中,企业自己比较容易安排人手,这样就可以为企业借阅大部分的额外开支。
同时软件就其它产品来说,属于高端行业,无论是产品的价格还是质量都比较高,而经营产品的经销商或者是商家都要求有雄厚的资金支持。
所以,在系统的开发过程中,企业完全有能力承担开发费用。
v新系统将为企业带来经济效益
管理系统是一个信息化、智能化和先进管理理念的集合体。
而管理是一个动态过程,在其运行过程中要采取多项措施。
所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。
一般新系统带来的经济效益是简介的,其最主要的表现就是减少了企业管理费用和人力开支。
而其它一些繁琐的食物都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。
2.3操作可行性
该管理系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以掌握。
而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。
从人员角度来讲不会因人员知识基础问题影响该系统在超市的运行于使用。
可行性结论:
综合以上三点发现,开发该系统具备技术、管理、经济、操作等各个方面的可行性,有了这些方面的支持,并且由于它管理开发的各项特征来看,开发此管理系统是很有意义和必要。
3系统需求分析
3.1系统开发的背景
随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是因特网技术的推广和信息高速公路的建立与普及,使信息技术产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切和重要。
作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化管理进程是十分重要的。
随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。
超市形式具有很多优点,但在目前状况下,它仍存在零售业企业所共有的不足的一面,如:
不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等。
因此,在选题过程中,我们选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而会大量节省了人力、物力,改善了员工的工作条件,提高超市经营管理效率,增加超市效益。
3.2用户业务需求
v管理商品的基本信息资料,包括商品编号、商品名称、商品单价、商品单位等。
可以添加(商品入库)、修改、删除这些商品
v记录超市员工销售信息,通过商品的商品编码,从数据库中查询该商品的价格,根据购买的商品数量计算出顾客应付的款项,根据顾客所付的实际金额计算出应找给顾客的金额,最后完成购物清单的打印。
同时,还可以查询员工的销售情况
v用户需要通过身份验证才能登陆系统,并且按照指定的权限进行系统操作
v管理系统用户,如添加、修改、删除用户
v用户可以自行修改密码
3.3功能需求
本系统采用自定向下方法开发,其功能模块主要有如下几个部分:
进货管理模块、库存管理模块、销售管理模块、人事管理模块。
具体的功能描述如下:
v进货管理:
其功能是对手机供应商信息进行管理,并根据企业情况制定进货计划,实施产品采购,并进行进货查询
v库存管理:
其功能是对采购来的产品进行企业内部编码入库,产品分类等活动,同时能够根据销售清单进行出货管理,以及库存统计
v销售管理:
其功能是提供一般的销售管理,能够进行销售明细查询和打印销售报表
v人事管理:
其功能是对超市的员工和供货商信息进行管理,包括查询,更新等
3.4性能需求
v数据精确度:
产品的进货单和销售单中,单价、金额采用浮点数,保留至小数点后两位
v时间特性:
该管理系统软件从启动到进入系统登录界面的时间正常情况下应少于5秒
v适用性:
该管理系统软件适用于Windows7及以上操作系统
4系统总体设计
4.1设计思想
v系统分成几个相对独立的模块,但这些模块都进行集中式管理
v分层的模块化程序设计思想,整个系统采用模块化结构设计。
作为应用程序有较强的可操作性和扩展性
v合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性
4.2设计原则
为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:
v实用性原则:
适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能
v准确性原则:
对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:
类型匹配,长度不超限等)
v易操作原则:
要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示
4.3系统流程图
图1超市信息管理流程图
4.4数据字典
数据字典的内容主要是对描述数据流程图中的数据项、数据流、数据结构、数据存储、加工处理逻辑、外部实体等组成部分的严格定义,下面是管理系统的数据字典:
v外部实体的定义
数据流编号:
F1
数据流名称:
发货单数据
来源:
发货单文件
流向:
管理分析
处理:
查询、维护
v数据流的定义
v数据存储的定义
4.5系统E-R图
图2系统E-R图
5系统详细设计
5.1功能结构图
下面介绍超市信息管理系统的主要模块:
v商品库存
该模块主要完成录入商品信息、修改商品信息及查询商品信息。
v销售商品
该模块主要完成员工销售情况的查询。
v系统设置
该模块主要完成系统设置。
系统管理员登陆后可以使用该模块进行用户管理,修改密码。
公共模块
系统设置
图3系统模块结构图
5.2数据库设计
v数据库需求分析
根据系统要求,可以列出以下数据项和数据结构:
1)用户信息表:
该表包含了系统所有用户信息,包括编号、用户名、密码、用户权限、权限等级。
2)收银机与收银员对应表:
该表将超市的终端收银机与超市的超市收银员对应起来,包括机器号、用户编号。
3)商品信息表:
超市商品的基本信息都保存在这张表中,包括编号、名称、单价、单位等。
4)商品进货表:
商品从厂家购入,并纳入库存,进货表包括商品编号、进货数量、进货时间等数据项。
5)商品销售表:
商品通过收银员销售给大众客户,其销售信息保存在该表中,数据项包括商品编号、收银员编号、销售数量、销售时间等。
v数据表设计
根据以上分析,一共将设计5个表:
用户信息表Users,收银员与收银机对应表MachineUser,商品信息表Products,商品进货表ProductIN,商品销售表Sales。
下面是各表的详细结构。
用户信息表Users:
列名
数据类型
长度
属性
描述
UserID
int
主键,标识字段
用户编号
UserName
varchar
10
不允许空
用户名
UserPassword
varchar
15
不允许空
用户密码
UserRight
varchar
2
允许空
用户权限
JobID
int
不允许空
权限等级
销售人员表MachineUser:
列名
数据类型
长度
属性
描述
MachineID
int
主键
机器编号
UserID
int
外键
用户编号
商品信息表Products:
列名
数据类型
长度
属性
描述
ProductID
int
主键
商品编号
ProductName
varchar
50
不允许空
商品名称
UnitPrice
money
不允许空
商品单价
Unit
varchar
10
不允许空
商品单位
Remark
varchar
100
允许空
备注
商品进货表ProductIN:
列名
数据类型
长度
属性
描述
ProductID
int
外键
商品编号
InQuantiy
int
不允许空
进货数量
InDate
samlldatetime
不允许空
进货时间
商品销售表Sales:
列名
数据类型
长度
属性
描述
ProductID
int
外键
商品编号
UserID
int
外键
用户编号
SaleQuantiy
int
不允许空
销售数量
SaleDate
samlldatetime
不允许空
销售时间
5.3各功能模块设计
v系统登录模块
功能:
本模块的主要功能是对用户身份进行,,验证只有系统的合法用户才能进入系统。
在进行系统登录过程中,登录模块将调用数据库里的用户清单,并对账号和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。
在登录模块中,对系统的尝试登录次数进行了限制,禁止用户无终止的进行系统登录尝试,在本系统中,当用户对系统的三次登录失败后,系统将自动机制登录,突出登录模块。
并在输入了错误的或者是不存在的账户和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。
输入项、输出项:
输入项为账号和密码。
账号和密码均为字符串,长度各为6个字符,密码回显字符是“*”。
v进货管理模块
功能:
该模块主要是实现进行进货信息查询、进货计划制定两个功能。
进货信息查询:
该模块为超市提供整个超市的进货情况查询,也可以进行进货信息的明细查询,并以进货报表形式打印出来。
进货计划制定:
该模块可以为制定进货计划,并形成相应的采购订单。
输入项、输出项:
该模块的输入项为超市的进货单,其中包括进货单的编号,商品的编号,供货商号,进货价,数量,金额进货日期,备注。
v销售管理模块
功能:
本模块的主要功能是把销售信息写入销售清单,同时对库存清单进行更新,以备用户将来对库存信息进行查询和打印,此外还可以对销售信息进行查询和盘点功能。
销售信息查询:
根据商品销售情况,按需要对销售情况进行查询。
在该查询模块中,可以按照商品的编号、销售日期等多种方式进行商品销售信息查询。
销售信息盘点:
可以按照需要对在一定时期内的销售情况进行盘点。
输入项、输出项:
本模块的数据输入项主要是商品的销售单号和商品编号。
其中还包括销售数量和销售日期。
v库存管理模块
功能:
本模块的主要功能是商品信息的查询和更新,库存信息的查询和更新。
查询商品信息:
主要功能查询商品的明细信息,和它的库存信息。
添加商品信息:
主要功能添加新进的商品。
修改商品信息:
主要功能是修改商品的信息,包括他的库存数量。
删除商品信息:
主要功能是删除不再销售的商品信息。
输入项、输出项:
本模块的数据输入项主要是商品编号。
v系统管理模块
系统用户管理:
在系统实行多用户管理时,本模块将为系统开辟多个系统用户,并能对其进行简单的信息维护,用户名变更和密码修改。
退出:
选择退出系统,将关闭整个系统,结束本次使用。
6系统编码设计
6.1数据库构建
在SQLServer2008中构建数据库:
新增一个数据库,其数据库名为pos。
数据库中一共包含5张表,用来存储相关信息。
如下图所示:
6.2登录窗口设计
在VisualBasic6.0中创建工程,设计登录窗口:
代码设计:
6.3设计用户管理窗口
部分代码设计:
6.4设计录入商品窗口
部分代码设计:
6.5设计销售商品窗口
部分代码如下:
6.6设计查询销售情况窗口
部分代码如下:
7系统测试运行
7.1模块测试
在模块测试时我们主要从以下几个方面考虑:
1)模块接口;
2)局部数据结构;
3)重要执行通道;
4)出错处理通道;
5)影响上述方面的边界条件。
测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进行功能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,运行中值的变化范围。
改变测试方案来变换另一个角度进行测试,发现错误并记录,修改代码,测试条件使程序通过多层分支,判别运行结果从而完成模块测试。
7.2整体测试
总体测试是组装软件的系统技术,本系统测试采用渐增集成测试,即测试单一模块,将测试完的模块加入系统中,进行一次系统测试,依次类推将所有模块加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所有模块结合了。
在测试过程中使用到调试技术:
1)采用debug调试语句,跟踪数据;
2)嵌入打印语句,输出中间结果;
3)利用VisualBasic6.0中调试工具,从调试窗口观测变量的变化;
4)设置断点,观察程序在断点附近的状况。
评估运行的可靠性问题:
1)结果正确;
2)运行速度;
3)空间利用率;
4)算法的可行性。
8系统维护报告
8.1数据备份技术
v数据备份是指为防止系统出现操作失误或系统故障导致数据丢失,而将全系统或部分数据集合从应用主机的硬盘或阵列复制到其它存储介质的过程。
传统的数据备份主要是采用数据内置或外置的磁带机进行冷备份。
一般来说,各种操作系统所都附带了备份程序。
但是随着数据的不断增加和系统要求的不断提高,附带的备份程序根本无法满足日益增长的需求。
要对数据进行可靠的备份,必须选择专门的备份软、硬件,并制定相应的备份及恢复方案。
采用备份的系统具有以下优点:
1.降低风险。
最大限度地保护银行数据的实时性、完整性和一致性。
2.能够增强数据中心的可用性和灵活性。
3.提高银行抗变能力,增加银行客户对银行信心。
v备份技术的选择
⑴全备份:
是对整个服务器系统进行备份,包括服务器操作系统和应用程序生成的数据。
优点:
备份的数据最全面、最完整。
缺点:
数据量很大,占用备份的磁带设备多,备份时间较长
⑵增量备份:
指每次备份的数据只相当于上次备份后增加的和修改过的数据,是相对上次备份而增加或修改过的数据。
优点:
无重复的备份数据,节省磁带空间,缩短了备份时间.缺点:
恢复数据比较麻烦。
⑶差分备份:
每次备份的数据是相对于上一次全备份之后新增加的和修改过的数据,这是相对上一次全备份之后新增加或修改过的数据,而并不一定是相对上一次备份。
优点:
备份所需时间短,节省磁带空间,灾难恢复也很方便。
⑷按需备份:
是指在正常的备份安排之外,额外进行的备份操作。
按需备份可弥补冗余管理或长期转储的日常备份的不足。
v备份方案的设计
下面就超市信息管理系统中备份系统的设计步骤做如下设计:
⑴制定总体规划:
认真研究超市业务系统的数据存储环境,考虑数据备份及安全性措施。
⑵选择合适的设备:
对访问频繁的数据可放在容错功能强且高效的服务器上,对访问较少的文件可放置在价廉、读写过程较慢的外存上。
⑶进行风险控制:
对系统中若干重要数据存储点的安全性要作风险评估,顺序排出各点数据风险的大小。
⑷提出实施方案:
系统中所有重要的存储资源能进行集中管理,当要进行数据备份归档时,要考虑何时最适合进行文件备份及恢复备份文件的最大允许时间,并选择合适的备份设备⑸严密的恢复计划:
用户可根据自己系统的特点,以转储数据库中和日志作为基本备份恢复方案。
8.2数据安全技术
v数据库的安全性是系统安全的基本部分。
数据库的安全性主要指数据库中数据的安全性。
防止非法使用数据库中的数据,包括如下两种情况:
防止非法实体进入数据库,以防止数据向未授权实体泄露,或被未授权实体所修改。
防止合法用户越权使用数据库中数据,或者说防止合法用户在获取信息时得到权限以外的信息。
v数据库加密:
原始数据以可视形式存储于数据库中,这样,高明的入侵者可以从计算机系统的内存中导出数据,从系统的后备存储中窃取数据或篡改数据。
所以还必须对存储数据进行加密保护。
数据库的加密方法包括:
库外加密;库内加密;硬件加密。
9结论
与传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力,提供有效的技术保障。
由于能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
1)本系统只适合小型超市使用,不能适合中大型超市使用;
2)超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;