科信学院详细设计说明书项目名称:小型超市管理系统专业班级:电子信息工程08-1班小组成员:指导老师:2011年11月20日目录1 引言 (1)1.1 编写目的 (1)1.2 背景 (1)1.3 定义 (2)1.4 参考资料 (2)2 系统的结构 (2)2.1 结构组成模块 (2)2.1 软件实现结构 (3)3 数据库模块设计说明 (4)3.1 数据模块组成 (4)3.2 数据模块E-R图 (4)4 进货管理模块 (5)4.1 功能 (6)4.2 性能 (6)4.3 输入项 (6)4.4 输出项 (7)4.5 设计方法(算法) (7)4.6 流程逻辑 (8)4.7 接口 (9)4.8 存储分配 (9)4.9 注释设计 (9)4.10 限制条件 (9)5 进货模块与其它模块的连接 (10)5.1 与其它模块连接示意图 (10)5.2 与其它模块之间的关系 (10)1 引言1.1 编写目的根据需求分析报告、总体设计说明书,在仔细考虑讨论之后,对小型超市管理系统系统软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。
我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。
在前一阶段(总体设计说明书)中,已解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的、程序语言书写的程序。
主要的工作有:根据在需求分析报告中所描述的数据、功能、运行、性能需求,并依照总体设计说明书所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等)。
1.2 背景待开发系统:小型超市管理系统及主要界面子系统;项目任务提出者:小型超市管理人员;开发者:系统开发小组;最终用户:小型超市各收银员;小型超市管理系统是小型超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。
随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。
小型超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据较少,对存储和速度要求不高。
但正由于员工较少,使用软件控制成为必须。
1.3 定义系统登录模块:系统登录是进入系统的界面,根据不同的人登陆,分配不同的权限;进货管理模块:处理有关进货信息;销售管理模块:管理有关销售的信息;人事管理模块:管理职工信息和供应商信息;商品信息模块:管理有关商品的信息;系统管理模块:管理系统的信息。
1.4 参考资料《信息系统分析与设计》,卫红春,西安电子科技大学出版社,2006;《数据库应用技术》,张蒲生,机械工业出版社,2010;《Visual C#.net程序设计教程》,邱锦伦,清华大学出版社,2010;《计算机软件文档编制规范》GB/T 8567-2006。
2 系统的结构2.1 结构组成模块小型超市管理系统大体由七部分组成:人事管理、销售管理、进货管理、库存管理、商品信息管理、系统管理和登录模块组成,具体成分如下图1所示。
人事管理模块管理职工清单和供货商清单,查询职工的信息与供货商的信息;销售管理模块管理销售信息,查询销售情况,帮助上级做出决策;进货管理模块管理进货信息,给供货商提供订购单,同时接收供货商的进货单;商品信息模块管理超市里的商品信息,查询超市中有关商品的信息,删除无用的商品信息;系统管理模块由管理员处理系统使用人员的信息,删除已经不是超市员工的信息,给员工分配登录密码等。
由登录模块进入系统,登陆到系统,根据账号和密码来给使用人员分配权限。
查询模块中管理员对数据查询时通系统与数据库的连接就可查询。
员工查询时,会通过Web服务器,再由Web服务器查询数据库。
图1 超市管理系统功能结构图2.1 软件实现结构用户想要进入系统,首先进入登录页面,输入用户名和密码,系统根据用户名给用户分配权限,进入不同的页面进行系统的使用。
软件的实现结构如下图2所示。
图2 小型超市管理软件实现结构3 数据库模块设计说明3.1 数据模块组成有总体设计得知,数据库中存放八张表,分别为管理员信息表(表4),商品信息表(表5),职工信息表(表6),销售信息表(表7),订货信息表(表8),进货信息表(表9),供应商信息表(表10),商品库存信息表(表11)。
这八张表之间存在紧密联系。
系统的查询按钮是利用表与表之间的关系进行连接,从而筛选出有用信息。
管理员总体管理整个系统,数据库为关系模型。
其中管理员登陆系统时会查询有关商品、销售、进货和人事等方面的信息。
3.2 数据模块E-R图超市管理员可以查看销售信息、商品信息、库存信息、职工信息、供货商信息和进货信息,管理员与客户是一对多的关系,管理员与商品(库存)是一对多的关系,管理员与进货商是一对多的关系,管理员与职工也是一对多的关系。
小型超市管理系统数据模型的E-R图如下图3所示。
图3 数据模型E-R图4 进货管理模块模块描述:商品进货子系统是超市管理系统的重要组成部分,其中的进货信息由管理员进行更新。
管理员可以对进货管理模块的进货信息进行查询,进货管理模块给人事管理模块提供新供货商信息,给库存模块提供已进货信息。
库存管理模块给进货管理模块提供进货信息请求,人事管理模块给进货模块提供已由供货商信息。
4.1 功能建立与数据库连接;获取数据库中的信息;增加进货商品的信息;获得进货商品的请求信息;删除一条进货商品的信息记录;给库存管理模块提供已进货信息;给人事管理模块提供新进货商信息;提供应该订货的信息,获得供货商给予的进货信息;退出子系统时断开与数据库的连接。
4.2 性能要求数据传输具有实时性,高效性。
销售员登陆系统的服务器,访问数据库要快,保证顾客购买东西时间短。
同时管理员访问数据库也应该具有省时的功效。
查询数据库响应时间<2s;更新数据库运行时间<1s。
4.3 输入项其输入项很多,包括商品的各种信息,主要包括以下内容。
进货ID(OrderID):整数(唯一标识符)进货名称(0rderName):变长字符串条形码(Sort code):变长字符串进货数量(OrderData):整数进货日期(OrderDate):日期型制造商(ProductName):变长字符串供应商(CustomerName):变长字符串类别号(Type_ID):整数4.4 输出项商品已进货信息(同输入项)。
进货ID(OrderID):整数(唯一标识符)进货名称(0rderName):变长字符串条形码(Sort code):变长字符串进货数量(OrderData):整数进货日期(OrderDate):日期型制造商(ProductName):变长字符串供应商(CustomerName):变长字符串类别号(Type_ID):整数4.5 设计方法(算法)使用的是顺序的数据结构,对于商品信息也使用的是基础的计算方式。
包含的具体设计思想如下:1)添加按钮设计(cmdAdd):在添加时,添加、修改和删除按钮处于不可用状态,保存和取消按钮处于可用状态,每个文本框都对应了数据库中的相应属性列。
2)修改按钮设计(cmdEdit):在修改时,先判断数据库中是否有数据,如果有,则添加、修改和删除按钮处于不可用状态,保存和取消按钮处于可用状态,每个文本框都对应了数据库中的相应属性列;如果没有,则显示“没有要修改的数据”。
3)删除按钮设计(cmdDel):在删除时,先判断数据库中的数据总数是否大于零,如果是,则首先提示一下,然后添加、修改、删除按钮处于不可用状态,保存和取消按钮处于可用状态,然后数据库刷新;如果不是,则显示“没有可删除的数据”。
4)保存按钮设计(cmdSave):首先要判断是否每个文本框都填写了数据,然后将数据库更新,将保存按钮设为不可用,将取消、增加、修改和删除按钮设置为可用,之后再将数据保存进数据库中。
5)取消按钮设计(cmdCancel):在取消时,添加、修改和删除按钮处于可用状态,保存和取消按钮处于不可用状态,并将每个文本框置空。
4.6 流程逻辑进货管理的流程逻辑由下图4所示。
图4 进货管理的流程逻辑图4.7 接口与主模块(登录模块)的逻辑联系方式:通过主模块进入用户界面,通过界面上的单击按钮触发事件,弹出进货子系统对话框。
与主模块的参数传递方式:数据库连接控件。
4.8 存储分配内部数据:数据库ConnectionString:数据库连接字符串打开数据库,用户界面显示如下信息。
进货ID(OrderID):整数(唯一标识符)进货名称(0rderName):变长字符串条形码(Sort code):变长字符串进货数量(OrderData):整数进货日期(OrderDate):日期型制造商(ProductName):变长字符串供应商(CustomerName):变长字符串类别号(Type_ID):整数4.9 注释设计在每一个具体的按钮功能旁都要有注释,将鼠标放到按钮上将会出现提示文字,提示用户按下之后产生的效果,解释每个按钮的具体设计思想。
若用户的操作不符合操作要求,将产生提示信息。
4.10 限制条件必须连接数据库,否则会出现无法连接数据库错误。
必须登录,否则无法进入到系统。
5 进货模块与其它模块的连接5.1 与其它模块连接示意图进货管理模块管理超市的进货信息,与其它模块具有密切联系,其关系图如下图5图5 进货管理模块与其它模块联系示意图5.2 与其它模块之间的关系进货管理模块给人事管理模块提供新供货商信息,给库存模块提供已进货信息。
库存管理模块给进货管理模块提供进货信息请求,人事管理模块给进货模块提供已由供货商信息。