软件规格说明书
三﹑软件需求规格说明书
1概述 1.1编写目的
在完成了针对《中小型商店管理系统》软件市场的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。
此需求规格说明书对《中小型商店管理系统》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。
1.2项目背景
90年代中期,由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。企业信息管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。引入Internet后,形成了新型的浏览器/服务器(Browser/Server)结构,而传统的客户机/服务器(Client/Server)结构在这方面就远不及B/S结构。21世纪,商店的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
由于商品多,种类多,日交易量多,交易时间不定期,单靠人工管理中小型超市要极为不便,同时由于帐目数量庞大,有时查找与整理采购信息,销售信息要浪费许多的人力、物力。而且近年来,由于竞争的激烈程度不断的加深,超市进货,
销售,库存,人员的管理不当会严重影响超市的经济利益。
为了解决以上的问题,让中小型超市能够完成超市管理的信息化、规范化和集成化,我们小组多方听取意见、追加和完善大量实用功能,进而中小型商店管理的流程,开发出一套适合于中小型超市商店的管理系统。
1.3定义、缩写词和符号
需求:用户解决问题或达到目标所需的条件或功能。
1.4参考资料
[1]《数据库系统概论》王珊 萨师煊编 高等教育出版社
[2] 陈明:《软件工程》,中央广播电视大学出版社,2002年6月版
[3]《SQL SERVER 2000中文版数据库管理与应用标准教程》王俊伟 史创明编 清华大学出版社
[4]《SQL Server数据库及应用》郭伟业编 高等教育出版社
[5]《数据库原理及设计》 陶宏才编 清华大学出版社
[6]:《Visual Basic 项目案例导航》,鲁荣江、王立丰编 科学出版社,2002年6月版
[7] 《软件需求分析》 Swapna Kishore编 机械工业出版社 [8]《软件工程规范》Watts S.Humphrey编 清华大学出版社
[9]《软件工程理论与实践》 Shari Lawrence Pfleeger编 清华大学出版社
1.5中小型商店管理系统总体性能需求:
(1)系统能处理较大的数据量并拥有一定的准确性和及时性。
(2)系统应设置不同级别用户口令并限定使用权限。系统文件要求有可靠的保护措施,除特许管理员外,其它用户不可对文件作出修改。
(3)在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作。
1.6开发目标
本系统为了满足中小型超市简单方便管理大量的进货,销售,库存,人员信息,提高管理效率,加强信息安全,应对市场竞争,而研发。
1.7应用目标
让中小型商店能方便快捷进行商品管理、采购管理、销售管理、库存管理,财务管理等。从而实现对进货、销售及员工信息等实现全面、动态、及时的管理,以提高工作效率和经济效益。
1.8功能描述
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:小商店管理系统(基本功能)
1.进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。
2.销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
3.库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动
盘点计算。
1.9实现语言
C语言和SQL语言JAVA。
1.10 用户特点
软件面向对象为拥有一定受教育水平、基本管理经验、基本电脑操作技能的人员。
本系统操作简单易懂,不需要繁琐记忆和系统学习。 1.11数据字典
列名 nuserid vname vsex
vusername vpassword vrole
数据类型 int String String String String String
允许空 否 是 是 是 是 否 是 是 是 是 否 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是
约束条件 主键 无 无 无 无 无 无 无 无 无 主键 无 无 无 无 无 无 无 无 无 无 无 无 无 无 无
描述 用户ID 用户姓名 用户性别 用户登录名 用户登录密码
登录用户角色
创建日期 创建人 更新日期 更新人 产品序号 产品名 产品编号 产品颜色 产品所属季节
产品单价 小号数量 中号数量 大号数量 加大号数量 创建日期 创建人 更新日期 更新人 产品ID 创建人
dcreate String vcreator String dupdate String vupcreator String nprodid int vprodname String vprodname String vcolor String vsenson String nunitprice double nsmall int nmiddle int nlarge int nxi int vcreate String creator String vupdate String vupcreator String nprodid int vcreator String
nsmall int nmiddle int nlarge int nxi int vupdate String vupcreator String 是 是 是 是 是 是 无 无 无 无 无 无 小号数量 中号数量 大号数量 加大号数量 更新日期 更新人 vcarid ncustmid vname nsellprice productNO productname
nprodid vprodname vprodname vcolor vsenson nunitprice nsmall nmiddle nlarge nxi vcreate creator vupdate vupcreator ncustm_ID vcarid vname vsex vmobile vphone total_price
vaddress vdesc vcreate vcreator vupdate vupcreator vbirthday String 是 int 是 String 是 double 是 String 是 String 是 int 否 String 是 String 是 String 是 String 是 double 是 int 是 int 是 int 是 int 是 String 是 String 是 String 是 String 是 int 否 String 是 String 是 String 是 String 是 String 是 double 是 String 是 String 是 int 是 String 是 String 是 String 是 String
是
无 会员卡ID 无 客户ID号 无 客户姓名 无 总消费额 无 产品编号 无 产品名 主键 产品序号 无 产品名 无 产品编号 无 产品颜色 无 产品所属季节
无 产品单价 无 小号数量 无 中号数量 无 大号数量 无 加大号数量 无 创建日期 无 创建人 无 更新日期 无 更新人 主键 产品序号 无 会员卡ID 无 客户姓名 无 客户性别 无 手机 无 固定电话 无 消费总额 无 联系地址 无 备注 无 创建日期 无 创建人 无 更新日期 无 更新人 无
会员生日
vpassword String vrole
String
是 否 是 是 是 是 否 是 是 是 是 是 是 是
无 无 无 无 无 无 主键 无 无 无 无 无 无 无
dcreate String vcreator String dupdate String vupcreator String vprod_name String totalprice double totalnumbeint r
totalnsmalint l
totalnmiddint le
totalnlargint e
totalnxi int totalnsellString price
用户登录密码
登录用户角色
创建日期 创建人 更新日期 更新人 商品名称 产品单价 产品总价 小号数量 中号数量 大号数量 加大号数量 商品总价
1.11其它要求
1)系统的安全性: 对于系统的重要数据都有密码保护,具有一定的安全性
2)系统的容错性: 用户输错数据都有提示信息,具有较好的容错性能。
3)系统的封闭性: 用户的封闭性较好,用户基本上在提示信息下输数据。
2 界面 2.1 硬件界面
CPU:300MHz以上的处理器。 内存:128MB,推荐256MB。 硬盘:150MB以上剩余空间。
显示像素:最低800*600,最佳效果1024*768。
本系统可运行在Windows的多种平台上,包括Windows 98/Me/NT/2000/XP/2003。
2.2 软件界面
操作系统特性为Windows公用程序和支持软件是SQL Server 2000
3软件属性 3.1 可使用性
在CPU:300MHz以上,内存:不小于128MB,硬盘:150MB以上剩余空间,
显示像素:不低于800*600,的情况下可以完成进货管理、销售管理、库存管理、人员管理、财务管理、系统管理、数据库管理管理等模块的各项操作。 本系统可运行在Windows的多种平台上,包括Windows 98/Me/NT/2000/XP/2003。
3.2 安全性
本软件可以防止突然或非法的访问、使用、修改或者泄密。 包括:
1. 利用某些密码技术; 2. 掌握特殊的记录或历史数据; 3. 给不同的模块分配不同的功能;
4. 限定一个程序中某些区域间的通讯。 3.3 可维护性
1数据备份:用户可以通过选择保存的路径把数据库保存在硬盘中,
也可保存在软盘中。
2数据恢复:用户可以通过选择路径把数据恢复。
3操作员工管理:仅限管理员。其中可以添加、修改、删除操作员工,设置他们的权限、级别及密码。
4系统整理信息:显示距离管理员整理系统的时间
4业务流程分析
业务流程图
模块子系统结构
功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。
功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打
折。
功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,
以及提供查询和打印计划进货与入库记录的功能。
功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销
售情况并产生年、月、日报表,同时可以生成销售排行榜。
功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的
状态报警,以及自动盘点计算。
5 数据流分析
5.1顶层数据流图
(1) 数据流描述
营销命令 =采购管理命令+销售管理命令+财务管理命令+库存管理命令 系统命令 =人员管理命令+系统管理命令+数据库管理命令
表格 =采购统计+销售统计+利润统计+商品库存+人员信息+商品信息
(2) 加工描述
加工名:商店销售管理系统 编号:
输入数据流:营销命令、系统命令 输出:表格
加工逻辑:商店销售管理系统对全商店的销售业务进行管理。主要功能包括:商品管理、采购管理、销售管理、库存管理、人员管理、系统管理、数据库管理。 3.2第零层数据流图分解
(1) 数据流描述
合法的营销命令 =采购管理命令+销售管理命令+财务管理命令+库存管理命令+
相应操作权限
合法的系统命令 =人员管理命令+系统管理命令+数据库管理命令+相应操作权限 不合法输入 =口令错误+无相应操作权限
(2) 加工描述
加工名:检查合法性
编号:1
输入数据流:营销命令、系统命令
输出:合法的营销命令、合法的系统命令、不合法输入 加工逻辑:检查命令是否合法,验证用户口令、权限。 有关信息:当使用此系统时首先执行此加工。
加工名:营销命令处理 编号:2
输入数据流:合法的营销命令 输出:表格
加工逻辑:处理营销命令。
有关信息:当有合法的营销命令执行此加工。
加工名:系统命令处理 编号:3
输入数据流:合法的系统命令 输出:表格
加工逻辑:处理系统命令。
有关信息:当有合法的系统命令执行此加工。
3.3第一层数据流图
图号2:
(1) 数据流描述
采购管理子命令 =进货信息子命令+进货退货子命令+进货查询子命令+进货出账
子命令
销售管理子命令 =销售信息子命令+销售退货子命令+销售查询子命令+销售入账
子命令
库存管理子命令 =库存查询子命令+入库处理子命令+出库处理子命令+库存盘点
子命令
财务管理子命令 =供货商往来帐子命令+销售账目子命令+经营收益子命令
(2) 加工描述
加工名:营销管理类型处理 编号:2.1
输入数据流:合法的营销命令
输出:采购管理子命令、销售管理子命令、库存管理子命令、财务管理子命令 加工逻辑:区分营销管理类型。
加工名:采购管理 编号:2.2
输入数据流:采购管理子命令 输出:(略)
加工逻辑:采购管理处理。
加工名:销售管理 编号:2.3
输入数据流:销售管理子命令 输出:(略)
加工逻辑:销售管理处理。
加工名:库存管理 编号:2.4
输入数据流:库存管理子命令
输出:(略)
加工逻辑:库存管理处理。
加工名:财务管理 编号:2.5
输入数据流:财务管理子命令 输出:(略)
加工逻辑:财务管理处理。 图号3:
(1) 数据流描述
人员管理子命令=供货商信息子命令+客户信息子命令+人员信息子命令 系统管理子命令=用户口令修改子命令+用户权限设置子命令
数据库管理子命令=数据备份子命令+数据恢复子命令+系统初始化子命令
文件名:人员信息文件
组成:{客户信息文件+供货商信息文件+员工信息文件}
文件名:客户信息文件
组成:{客户名+客户编号+地址+邮编+代表人+电话+E-mail+开户银行+账号+累计销售额}
组织:按客户编号递增排列
文件名:供货商信息文件
组成:{供货商名+供货商编号+地址+邮编+代表人+电话+E-mail+开户银行+账号+累计进货额}
组织:按供货商编号递增排列
文件名:员工信息文件
组成:{员工名+员工编号+地址+邮编+职位+电话+E-mail+工资数} 组织:按员工编号递增排列
(2) 加工描述
加工名:系统管理类型处理 编号:3.1
输入数据流:合法的系统命令
输出:人员管理子命令、系统管理子命令、数据库管理子命令 加工逻辑:区分系统管理类型。
加工名:人员管理 编号:3.2
输入数据流:人员管理子命令 输出:(略)
加工逻辑:人员管理处理。
加工名:系统管理 编号:3.3
输入数据流:系统管理子命令 输出:(略)
加工逻辑:系统管理处理。
加工名:数据库管理 编号:3.4
输入数据流:数据库管理子命令 输出:(略)
加工逻辑:数据库管理处理。
3.4第二层数据流分析
第二层数据流图 图号:2.4
(1) 数据流描述
库存管理子命令=库单
库存查询子命令=商品号+商品名+商品数量+供货商+进货价 入库处理子命令=商品信息+商品数量+金额 出库处理子命令=商品信息+商品数量+单价+金额
文件名:库存信息文件
组成:{商品号+商品名+商品数量} 组织:按商品号递增排列
文件名:商品信息文件
组成:{商品号+商品名+产品规格+供货商+计量单位+进价+售价} 组织:按商品号递增排列
(2) 加工描述
加工名:库存管理类型处理 编号:2.4.1
输入数据流:库存管理子命令
输出:库存查询子命令、入库处理子命令、出库处理子命令、库存盘点子命令 加工逻辑:区分库存管理类型。
加工名:库存修改 编号:2.4.2
输入数据流:库存修改子命令 输出:(略) 加工逻辑:修改库存
加工名:入库处理 编号:2.4.3
输入数据流:入库处理子命令 输出:(略)
加工逻辑:IF 是新商品
THEN 登录商品信息于商品信息文件,填写入库单 ELSE 修改商品数量
加工名:出库处理 编号:2.4.4
输入数据流:出库处理子命令 输出:(略)
加工逻辑:IF 库存数>=出库数
THEN 填写出库单,库存数-出库数=新库存数 ELSE 无货可出库。
加工名:库存盘点 编号:2.4.5
输入数据流:库存盘点子命令 输出:(略)
加工逻辑:列出所有商品信息表,按商品号、商品名、商品数量、供货商进行查
询。
图号:2.5
(1) 数据流描述
往来账子命令=(供货商名+未付款额)+ 查询
销售账目子命令=(商品号+商品名+销售量+销售价)+ 查询 营销统计子命令=(商品信息+商品数量+金额)+ 利润统计
文件名:财务信息文件
组成:{销售收益+进货支出+工资支出} 组织:按日期前后排列
(2) 加工描述
加工名:财务管理类型处理 编号:2.5.1
输入数据流:财务管理子命令
输出:往来账子命令、销售账目子命令、营销统计子命令 加工逻辑:区分财务管理类型。
加工名:往来账 编号:2.5.2
输入数据流:往来账子命令 输出:(略)
加工逻辑:往来账处理
加工名:销售账目 编号:2.5.3
输入数据流:销售账目子命令 输出:(略)
加工逻辑:销售账目查询、修改等
加工名:营销统计 编号:2.5.4
输入数据流:营销统计子命令 输出:(略)
加工逻辑:进行营销统计
(1) 数据流描述
供货商管理子命令=供货商名+供货商号+联系方式+地址+联系人 客户管理子命令=客户名+联系方式+地址
员工管理子命令=员工名+员工号+职位+工资+权限+密码
文件名:客户信息文件
组成:{客户名+客户编号+地址+邮编+代表人+电话+E-mail+开户银行+账号+累计
销售额}
组织:按客户编号递增排列
文件名:供货商信息文件
组成:{供货商名+供货商编号+地址+邮编+代表人+电话+E-mail+开户银行+账号+累计进货额}
组织:按供货商编号递增排列
文件名:员工信息文件
组成:{员工名+员工编号+地址+邮编+职位+电话+E-mail+工资数} 组织:按员工编号递增排列
(2) 加工描述
加工名:人员管理类型处理 编号:3.2.1
输入数据流:人员管理子命令
输出:客户管理子命令、供货商管理子命令、员工管理子命令 加工逻辑:区分人员管理类型。
加工名:客户管理 编号:3.2.2
输入数据流:客户管理子命令 输出:(略)
加工逻辑:处理客户管理要求 加工名:供货商管理 编号:3.2.3
输入数据流:供货商管理子命令 输出:(略)
加工逻辑:处理供货商管理要求
加工名:员工管理 编号:3.2.4
输入数据流:员工管理子命令 输出:(略)
加工逻辑:处理员工管理要求
图号:3.3
(1) 数据流描述
修改口令子命令=旧口令+用户名+新口令 修改权限子命令=相应权限
修改用户子命令=添加用户+删除用户+修改用户
文件名:用户信息文件
组成:{用户名+用户编号+用户口令+用户权限} 组织:按用户编号递增排列
(2) 加工描述
加工名:系统管理类型处理 编号:3.3.1
输入数据流:系统管理子命令
输出:修改口令子命令、修改权限子命令、修改用户子命令 加工逻辑:区分系统管理类型。
加工名:修改口令 编号:3.3.2
输入数据流:修改口令子命令 输出:(略)
加工逻辑:处理修改口令要求
加工名:修改权限 编号:3.3.3
输入数据流:修改权限子命令 输出:(略)
加工逻辑:处理修改权限要求 加工名:修改用户 编号:3.3.4
输入数据流:修改用户子命令 输出:(略)
加工逻辑:处理修改用户要求
图号:3.4
(1) 数据流描述
数据备份子命令=备份要求 数据恢复子命令=恢复要求 初始化子命令=初始化要求
(2) 加工描述
加工名:数据库管理类型处理 编号:3.4.1
输入数据流:数据库管理子命令
输出:数据备份子命令、数据恢复子命令、初始化子命令 加工逻辑:区分数据库管理类型。
加工名:数据备份 编号:3.4.2
输入数据流:数据备份子命令 输出:(略)
加工逻辑:处理数据备份要求
加工名:数据恢复 编号:3.4.3
输入数据流:数据恢复子命令 输出:(略)
加工逻辑:处理数据恢复要求
加工名:初始化 编号:3.4.4
输入数据流:初始化子命令 输出:(略)
加工逻辑:处理初始化要求
6、概念模型设计
根据系统数据流图和数据字典,得出系统的总体概念模型(E-R)如图2所示。
图2 系统的总体概念模型
(2)、系统E-R图说明
商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;
每个顾客可以购买多种商品,不同商品可由不同顾客购买; 每个供货商可以供应多种不同商品,每种商品可由多个供货商供应。
(3)、视图设计
交易视图(v_Dealing)——用于查询交易情况的视图; 计划进货视图(v_PlanStock)——用于查询进货计划的视图; 销售视图(v_Sale)——用于查询销售明细记录的视图;
入库视图(v_Stock)——用于查询入库情况的视图。
7. 逻辑模型设计和优化
根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型。
(1)系统关系模型
a)商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)
b) 用户表(用户编号,用户名称,用户密码,用户类型) c)会员表(会员编号,会员卡号,累积消费金额,注册日期) d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期) e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)
f) 进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)
g) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话) h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)