总体设计软件功能层次图超市管理系统的功能层次如图1所示。图1超市管理系统的功能层次图软件体系结构超市管理系统的核心是对商品信息的维护与管理,是以商品数据为中心的体系结构,依靠数据联通各个部分并使之协调工作。图2给出了超市管理系统对应的体系结构示意图。图2 图书管理体系结构示意图根据需求规格说明书中根据系统安全性的需要,增加了用户身份验证的环节。对关联图进行细化和修改,形成如图3所示整理后的数据流图。图3 超市管理系统整理后的关联图从软件实现的整体布局考虑增加了系统初始化模块和菜单显示模块,用以完成系统运行环境的搭建。图4是对应于图3调整后的软件结构图。图4 超市管理系统层软件结构图技术路线按照客户的要求,图书管理系统要求运用结构化语言--C语言进行系统的开发,实现控制台风格程序的开发。结构化语言的突出特点是认为一个程序、一组程序或者一组系统无非是由一组功能操作来构成的,并进而吸取了结构化分析的“黑盒子”的概念。其*大的好处就是极大的增加了代码的复用能力。它的主要表示方法是一种分层次的结构图。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。
它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。顾客服务子系统/模块设计超市管理系统中顾客服务部分的核心是为顾客提供图书的借阅和归还服务。主要是完成顾客提供购物卡,系统根据购买规则进行验证,符合购买条件的则准予购买;顾客携带欲退货商品,在系统检查是否超期后,将退货商品收入库中,否则不予退货。对应的数据流图整理后如图5所示。 图5 整理后的顾客服务数据流图其对应的软件结构图如图6所示。图6顾客服务模块的软件结构图购买商品管理模块2.1.1功能描述顾客购物时,超市管理员先输入顾客的购物卡号,系统验证购物卡的有效性和顾客是否购买有效商品,无效则提示其原因,有效则显示商品的基本信息(包括照片),供管理员人工核对。然后输入商品代码,系统查阅并显示商品的基本信息,供管理员人工核对。*后提交购买请求,若被系统接受则存储购买记录,并修改顾客账户中购买记录。2.1.2性能可支持的*大用户数:无限制; 可支持的*大并发用户数:无限制; 吞吐量:只受到网络带宽的限制,系统本身无限制; 响应速度:只受到网络带宽的限制,系统本身无限制。
2.1.3模块结构2.1.4子模块接口设计续购模块2.1.1功能描述超市管理员可以为需要续购的顾客办理续购手续。在原有的购买记录上继续添加。2.1.2性能可支持的*大用户数:无限制; 可支持的*大并发用户数:无限制; 吞吐量:只受到网络带宽的限制,系统本身无限制; 响应速度:只受到网络带宽的限制,系统本身无限制。2.1.3模块结构2.1.4子模块接口设计退货管理模块2.1.1功能描述退货时,输入顾客信息和商品信息,系统验证是否有此购买记录以及是否超期,无则提示,有则显示顾客和商品的基本信息供管理员人工审核。如果有超期或破损情况,不予退货。2.1.2性能可支持的*大用户数:无限制; 可支持的*大并发用户数:无限制; 吞吐量:只受到网络带宽的限制,系统本身无限制; 响应速度:只受到网络带宽的限制,系统本身无限制。2.1.3模块结构2.1.4子模块接口设计查询统计/图书信息查询模块2.1.1功能描述超市管理员或顾客可以对商品的基本信息进行查询。查询条件包括生产日期、产品名、供货商、在库数量。用户可以模糊查询,也可以精确查询。商品信息查询还可以根据入库时间的先后统计*新商品;根据商品销售数量进行热销排行。
2.1.2性能可支持的*大用户数:无限制; 可支持的*大并发用户数:无限制; 吞吐量:只受到网络带宽的限制,系统本身无限制; 响应速度:只受到网络带宽的限制,系统本身无限制。2.1.3模块结构2.1.4子模块接口设计查询统计商品信息查询模块2.1.1功能描述超市管理员可以查询顾客的相关信息。根据指定商品信息,顾客信息,时间信息,进行查询。2.1.2性能可支持的*大用户数:无限制; 可支持的*大并发用户数:无限制; 吞吐量:只受到网络带宽的限制,系统本身无限制; 响应速度:只受到网络带宽的限制,系统本身无限制。2.1.3模块结构2.1.4子模块接口设计关系模型图7给出数据之间的关系模型。图7 图书管理系统的关系模型表结构表1 职工清单表英文字段名字段类型长度主键/外键字段值约束职工编号 NULL姓名 NULL性别sex中文字段名2NOT NULL籍贯学历 NULL类别工资联系电话联系地址L身份证号 NULL聘用日期LL编制日期LL备注表2 用户清单表中文字段名英文字段名字段类型长度主键/外键字段值约束账号/FNOT NULL密码 NULL表3商品清单表中文字段名英文字段名字段类型长度主键/外键字段值约束商品编号 NULL供货商号 NULL名称T NULL条形码 NULL计量单位T NULL类别产地NULL单价 NULL备注表5 供货商清单中文字段名英文字段名字段类型长度主键/外键字段值约束供货商号 NULL名称T NULL联系人r8NOT NULL联系电话 NULL联系地址 NULL开户行0NULL银行账号LL备注表4 进货清单表中文字段名英文字段名字段类型长度主键/外键字段值约束进货单号T NULL商品编号/FNOT NULL供货商号 NULL进货价 NULL数量 NULL金额 NULL进货日期OT NULL备注表5 销售清单表中文字段名英文字段名字段类型长度主键/外键字段值约束销售单号 NULL商品编号/FNOT NULL销售数量 NULL销售日期 NULL表6库存清单表中文字段名英文字段名字段类型长度主键/外键字段值约束商品编号/FNOT NULL库存数量 NULL数据结构设计数据结构是系统数据在内存中的组织形式,在超市管理系统中主要采用结构体的形式对数据进行表示。
shop //商品信息{ char [50]; //商品编号 char [30];//商品名 char [40]; //进货商 char [30];//进货日期char [40]; //数量 int ;//价格 int ;//库存}; staff //职员信息{char [10]; //职工编号 name[10]; //职工姓名data ; //聘用日期} merch//库存信息{Char [12]; //库存编号int ; //库存数量} //供货商信息{char [13]; //供货商编号int [10]; //供货商账号char