文档作者:日期:_2011_/_04_/_20_ 文档校对:日期:____/____/____管理办:日期:____/____/____小型超市销售管理系统版权所有详细设计说明书1.引言1.1编写目的在前一阶段《总体设计说明书》中,已解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在本阶段的详细设计报告中将对系统所做的所有详细设计进行说明。
在本阶段中确定应该如何具体的实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。
主要工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依据在《需求分析说明书》中所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)。
读者对象主要针对小型超市。
1.2项目背景a.待开发的系统:小型超市销售管理系统;b.项目任务提出者:小型城市管理人员;c.开发者:08信管第五组小组成员;d.最终用户:小型超市各收银员;e.小型超市销售管理系统是小型超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。
随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。
小型超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;从软件角度看,数据较少,对存储和速度要求不高。
但正由于员工较少,使得软件控制成为小型超市销售管理的必须要求。
1.3定义1、数据结构——指计算机内部数据的组织形式和存储方法。
主要包括“线性结构、树和图”,其中线性结构主要包括顺序表、链表、栈、队列等基本形式。
2、E-R图——E-R是Entity-Relationship的简称,即是实体关系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
其表示方法为:·实体型——用矩形表示,矩形框内写明实体名;·属性——用椭圆形表示,并用无向边将其与相应的实体连接起来;联系——用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
3、用例——是向参与者提供重要价值的操作序列,用来描述实际参与者与系统交互的方式。
4、用例图——(use case diagram)就是由主角、用例以及它们之间的关系构成的图。
用例图由“参与者(Actor)、用例(Use Case)、系统边界、箭头”组成,用画图的方法来完成。
5、活动图——(activity diagram,也叫动态图)是用于阐明业务用例实现的工作流程。
业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。
业务用例由一系列活动组成,它们共同为业务主角生成某些工件。
工作流程通常包括一个基本工作流程和一个或多个备选工作流程。
工作流程的结构使用活动图来进行说明。
活动图是状态图的一种特殊形式。
其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。
6、时序图——(Sequence Diagram),是用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。
时序图中包括的元素有:“类角色,生命线,激活期和消息”。
1)类角色(Class Role):类角色代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。
类角色一般代表实际的对象。
2)生命线(Lifeline):生命线代表时序图中的对象在一段时期内的存在。
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。
3)激活期(Activation):激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。
它可以被理解成C语言语义中一对花括号“{}”中的内容。
4)消息(Message):消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。
允许实体请求其他的服务,类角色通过发送和接受信息进行通信。
1.4参考资料1、杨选辉编著,教材《信息系统分析与设计》;2、百度文库:专业文献/行业资料《小型超市管理系统详细设计说明书》;3、《需求规格说明书》文档;4、《可行性研究报告》文档;5、《总体设计说明书》文档;2.程序描述本系统实现的主要功能模块有:系统设置,供应商信息管理,商品信息管理,库存管理,销售管理。
1)系统的结构图如下:2)数据库模块设计说明——E-R图:分步E-R图1分步E-R图2总E-R图2.1 系统登录模块,只有系统的合法用户才能进入系统。
2.1.2 性能:在进行系统登录过程中,登录模块将调用数据库里的用户清单,并对账号和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功,在登录模块中,对系统的尝试登录次数进行了限制,禁止用户无终止的进行系统登录尝试。
在本系统中,当用户对系统的三次登录失败后,系统将自动阻止登录,退出登录模块,并且在输入了错误的或者是不存在的账号和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。
2.1.3 输入项、输出项:输入项为账号和密码。
账号和密码均为字符串,长度各为6个字符,并且密码会显示字符“*”。
2.2 进货管理模块2.2.1 功能:该模块主要是实现进行进货信息查询、进货计划制定两个功能;2.2.2 性能:a.进货信息查询:该模块为超市提供整个超市的进货情况查询,也可以进行进货信息的明细查询,并以进货报表形式打印出来。
b.进货计划制定:该模块可以制定进货计划,并形成相应的采购订单。
2.2.3 输入项目:该模块的输入项目为超市的“商品进货信息”,包括:进货单编号、商品编号、商品名称、商品单价、条形码、进货数量、进货日期、商品制造商、商品供应商、备注。
2.2.4 输出项目:该模块的输出项目也是超市的商品进货信息;2.2.5 算法:进货管理模块的设计方法主要是使用顺序的数据结构,对于商品信息使用的是基础的计算方式,其具体的设计思想如下:1)“添加”按钮设计:在添加时,“添加”、“修改”、“删除”按钮处于不可用状态,“保存”和“取消”按钮处于可用状态,每一个文本框都对应数据库中的相应属性列。
2)“修改”按钮设计:在修改时,需要先判断数据库中是否有数据,如果有,则“添加”、“修改”、“删除”处于不可用状态,“保存”和“取消”按钮处于可用状态,每一个文本框都对应数据库中的相应属性列;如果没有相应数据,则显示“没有要修改的数据”。
3)“删除”按钮设计:在删除时,需要先判断数据库中的数据总数是否大于零,如果是大于零,则首先提示一下,此时“添加”、“修改”处于不可用状态,“保存”和“取消”按钮处于可用状态,;如果不是大于零,则显示“没有可删除的数据”。
4)“保存”按钮设计:首先需要判断是否每个文本框都填写了数据,然后将数据库更新,将“保存”按钮设为不可用,将“取消”、“添加”、“修改”、“删除”按钮设为可用状态,之后再将数据保存到数据库中。
5)“取消”按钮设计:在取消时,“添加”、“修改”、“删除”按钮处于可用状态,“保存”、“取消”按钮处于不可用状态,并将每个文本框设置为空。
2.2.6 程序逻辑:程序流程图2.2.7 限制条件:必须链接数据库,否则会出现无法链接数据库的错误;必须登录,否则无法进入到系统。
2.3销售管理模块2.3.1 功能:本模块的主要功能是把销售信息写入销售清单,同时对库存清单进行更新,以备用户将来多库存信息进行查询和打印,此外还可以对销售信息进行查询和盘点功能。
2.3.2 性能:a.销售信息查询:根据商品销售情况,按需要对销售情况进行查询。
在销售信息查询模块中,可以按照商品的编号、销售日期等多种方式进行商品销售信息查询。
b.销售信息盘点:可以按照需要对一定时期内的销售情况进行盘点。
2.3.3 输入项目:该模块的输入项目主要是商品的销售信息,包括:销售的商品名称、商品条形码、商品数量、商品生产日期、商品售价、商品保质期、食品制造商。
2.3.4 输出项目:该模块的输出项目主要是商品的销售清单。
2.2.5 程序逻辑:1)销售模块的用例图:2)销售模块的活动图:3)销售信息查询时序图:4)销售盘点时序图:2.4 库存管理模块2.4.1 功能:该模块的主要功能是商品信息的查询和更新,库存信息的查询和更新。
2.4.2 性能:a.查询商品信息:主要是查询商品的明细信息和它的库存信息;b.添加商品信息:主要是添加新进商品的信息;c.修改商品信息:主要是在进货和销售过后修改商品的信息,包括它的库存数量;d.输出商品信息:主要是删除不再销售的商品信息。
2.4.3 输入项目:本模块的输入项目主要是商品的编号。
2.4.4 输出项目:本模块的输出项目主要是商品清单和库存清单。
2.4.5 程序逻辑:1)库存管理模块用例图:2)库存管理模块活动图:3)库存管理模块查询时序图:4)库存管理模块添加时序图:5)库存管理模块修改时序图:6)库存管理模块删除时序图:。