1引言
1.1编写目的
书写本文档的目的在于:
1、描述用户需求,明确系统功能内容、功能边界、开发途径;
2、作为双方签订的软件开发合同的一部分内容形式存在;
3、项目相关人员参考资料
1.2项目背景
软件系统的名称:小卖部信息管理系统
任务提出者:西安财经学院长安校区xxx小卖部
系统开发者:小卖部信息管理系统开发小组第十组
系统用户:小卖部工作人员
实现该软件的计算中心或计算机网络:因特网
该系统与其他系统的关系:在目前的阶段与其他软件和系统没有关系,作为一个独立的单位运行。
本小组对西安财经学院长安校区小卖部的库存管理进行跟踪调查,对其仓储管理进行去哪方位的了解分析,发现长期以来,小卖部的销售业务一直使用着最简单的人工管理。小卖部经营物品的采购、库存、销售及核算等手工信息管理使得员工工作量巨大、服务质量差,工作效率低。同时,由于对市场的反馈信息不能及时的处理,从而导致销售与市场脱节。最终导致小卖部在经营中处于不利的地位。我们开发这套小卖部信息管理系统,目的就是为了解决库存管理紊乱的问题,使得在小卖部的日常经营及销售中,能够有迹可循,随时跟踪市场,并减少不必要的劳力资本,从而使经营者能够实现用最小的成本,获得最大的利益。
1.3定义
数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
B/S结构:B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。
C/S结构:C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
C#:C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
数据流图:数据流程图(Data Flow Diagram,DFD/Data Flow Chart),是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。
系统流程图:系统流程图是绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。
1.4参考资料
系统开发参考资料:
1、学校小卖部提供的所有业务与管理资料
2、可行性研究报告编写规范
3、数据库系统概论(第五版)王珊 萨师煊 编著
4、信息系统分析与设计实践教程 汤宗键 编著
2软件产品的一般性描述
2.1运行环境与资源
1、软件环境:
系统采用B/S软件架构,数据库为Access 2007,使用开发语言为C#,主要开发技术为ASP.NET 2.0 ,集成开发环境:Microsoft Visual Studio 2010
2、硬件环境:
Web服务器及数据库服务器均采用Intel P4(1.8G HZ)PC 工作站。内存1024M、硬盘120G。
2.2软件产品的功能
小卖部信息管理系统的功能:
1.为客户提供24小时方便快捷的在线查询浏览服务。
2.商品信息的维护与管理,包括价格的调整、现有商品信息的修改、新商品信息的加入、过时商品信息的删除等。
3.高效的商品数据方案,对商品信息进行科学、灵活地分类、存储。
4.强大、方便、快捷的查询功能。提供关键字查询。
5.求购信息的管理与维护。
6.对用户信息的维护包括对用户基本信息的修改。
2.3限制与约束
一个用户只能有一个名字,注册登录后才可以购买商品。对信息的保护手段是设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。
3功能行为需求
3.1引言
小卖部信息管理系统旨在改变原有的人工管理小卖部业务模式,使小卖部工作人员及顾客通过计算机方便的进行小卖部信息管理,随时添加、查询、修改、删除记录,使工作人员从繁琐的填表、查表工作中解放出来,使供需双方都获得满意的结果;促进报表、统计数字的规范化,提高工作效率,降低小卖部信息管理维护费用,提高行政工作效率,改善服务质量,为小卖部工作人员提供支持。
该系统面向校内小卖部及全体师生顾客,实现管理,进货管理,库存管理,购物车管理等功能。
3.2业务需求功能模型——用例模型
小卖部信息管理系统分为管理员模块和顾客模块,实现订单管理,进货管理,库存管理,购物车管理等功能,为更形象的表现各功能间的关系,建立以下用例模型:
(1)小卖部管理员管理用例图
图 1小卖部管理员管理用例图
用例规约是测试用例应当遵守的规则。管理员操作中,有管理员登录、订单管理、进货管理、库存管理、顾客信息管理、每日收支结算等用例,以下为详细的用例规约:
表 1 管理员登录用例规约
用例名称: |
管理员登录 |
|
用例ID: |
ALg |
|
角色: |
小卖部管理员 |
|
用例说明: |
用例主要功能是实现管理员登录 |
|
前置条件: |
启动程序,进入登录界面 |
|
基本事件流: |
参与者动作 |
系统响应 |
1. 用户输入基本信息(用户名 和密码),点击“登录”按钮 |
2. 系统查找数据库,看该用户是 否在数据库中,若存在,进入 主页面;若不存在,进入2.1.1; 若输入错误,进入2.2.1 |
|
分支事件流: |
无 |
|
异常事件流: |
参与者动作 |
系统响应 |
2.1.1未输入用户名 2.1.2未输入密码 2.2.1输入密码错误 2.2.2用户名不存在 |
2.1.1提示用户名或密码不能为空 2.2.1提示用户名或密码不正确 |
|
后置条件: |
登录成功 |
表 2 订单管理用例规约
用例名称: |
订单管理 |
|
用例ID: |
OrderMan |
|
角色: |
小卖部管理员 |
|
用例说明: |
用例主要功能是实现管理员管理订单 |
|
前置条件: |
启动程序,管理员登陆成功 |
|
基本事件流: |
参与者动作 |
系统响应 |
|
1. 进入主界面,管理员点击“订 单管理”按钮 |
2. 系统响应订单处理按钮,进入 处理界面 |
分支事件流: |
参与者动作 |
系统响应 |
1.1 进入管理订单界面,选择 “订单处理”按钮 1.2 进入管理订单界面,选择 “退货处理”按钮 1.3 进入管理订单界面,选择 “订单查询”按钮 1.4 进入管理订单界面,选择 “销量查询”按钮 |
1.1 系统响应点击事件,若选中记 录,则进行处理;若未选中, 则进入2.1 1.2 系统响应点击事件,若选中记 录,则进行处理;若未选中, 则进入2.1 1.3 系统响应点击事件,若输入查 询条件,则进行查询;若查询 条件为空,则进入2.2 1.4 系统响应点击事件,若输入查 询条件,则进行查询;若查询 条件为空,则进入2.2 |
|
异常事件流: |
参与者动作 |
系统响应 |
2.1 若未选中记录 2.2 若查询条件为空 |
2.1 系统提示必须正确选择订单 2.2 系统提示未输入查询条件 |
|
后置条件: |
订单处理成功 |
表 3 进货管理用例规约
用例名称: |
进货管理 |
||
用例ID: |
GoodsIn |
||
角色: |
小卖部管理员 |
||
用例说明: |
用例主要功能是,用例主要是实现管理员对进货的管理 |
||
前置条件: |
启动程序,管理员登录成功 |
||
基本事件流: |
参与者动作 |
系统响应 |
|
1. 管理员登录后,点击“进货管理”按钮
|
2. 系统响应点击事件,跳转至进货管理界面
|
||
分支事件流: |
参与者动作 |
系统响应 |
|
1.1 进入进货管理页面,选择“进货登记”按钮 1.2 进入进货管理页面,选择“进货记录查询”按钮 1.3 进入进货管理页面,选择“进货记录删除”按钮 1.4 进入进货管理页面,选择“进货记录修改”按钮 |
1.1 系统响应点击事件,若货物 信息输入正确,则登记进货, 否则进入1.1 1.2 系统响应点击事件,若输入 查询条件,则进行查询,否 则进入2.2 1.3 系统响应点击事件,若选择 进货记录,则删除记录,否 则进入2.3 1.4 系统响应点击事件,若选择 进货记录,则修改记录,否 则进入2.3 |
||
异常事件流: |
参与者动作 |
系统响应 |
|
2.1 货物信息输入错误 2.2 若查询条件为空 2.3 若未选择进货记录 |
2.1 系统提示必须输入正确的货 物信息 2.2 系统提示必须输入查询条件 2.3 系统提示重新选择选择 |
||
后置条件: |
进货管理成功 |
||
表 4 库存管理用例规约
用例名称: |
库存管理 |
||
用例ID: |
Goods |
||
角色: |
小卖部管理员 |
||
用例说明: |
用例的功能是帮助管理员管理库存 |
||
前置条件: |
启动程序,管理员登陆成功 |
||
基本事件流: |
参与者动作 |
系统响应 |
|
1. 进入主界面,管理员点击“库 存管理”按钮 |
2. 系统响应点击事件,进入库存 管理界面 |
||
分支事件流: |
参与者动作 |
系统响应 |
|
1.1 进入库存管理界面,选择“查 询库存记录”按钮 1.2 进入库存管理界面,选择“库 存预警”按钮 1.3 进入库存管理界面,选择“建 立库存记录”按钮 1.4 进入库存管理界面,选择“修 改库存记录”按钮 1.5进入库存管理界面,选择“删 除库存记录”按钮 |
1.1 系统响应点击事件,若输入 查询条件,则进行查询;若 查询条件为空,则进入2.2 1.2 系统响应点击事件,若选中 记录,则进行处理;若未选 中,则进入2.1 1.3 系统响应点击事件,创建的 库存记录完整,则进行创建; 若不完整,则进入2.3 1.4 系统响应点击事件,若选中 记录,则进行处理;若未选 中,则进入2.1 1.5 系统响应点击事件,若选中 记录,则进行处理;若未选 中,则进入2.1 |
||
异常事件流: |
参与者动作 |
系统响应 |
|
2.1若未选中记录 2.2若查询条件为空 2.3 若创建的库存记录不完整 |
2.1系统提示必须正确选择记录 2.2系统提示未输入查询条件 2.3 系统提示必须创建完整的库 存记录 |
||
后置条件: |
库存管理成功 |
||
表 5 顾客信息管理用例规约
用例名称: |
顾客信息管理 |
||
用例ID: |
CusMan |
||
角色: |
小卖部管理员 |
||
用例说明: |
用例的功能是帮助管理员管理顾客信息 |
||
前置条件: |
启动程序,管理员登陆成功 |
||
基本事件流: |
参与者动作 |
系统响应 |
|
1. 进入主界面,管理员点击“顾 客信息管理”按钮 |
2. 系统响应点击事件,若选中顾 客,则进行处理,否则进入2.1 |
||
分支事件流: |
无 |
||
异常事件流: |
参与者动作 |
系统响应 |
|
2.1若未选中顾客 |
2.1系统提示必须正确选择顾客 |
||
后置条件: |
管理顾客信息成功 |
||
表 6 每日收支结算用例规约
用例名称: |
每日收支结算 |
|
用例ID: |
Money |
|
角色: |
小卖部管理员 |
|
用例说明: |
用例主要功能是每日收支结算 |
|
前置条件: |
启动程序,管理员登陆成功 |
|
基本事件流: |
参与者动作 |
系统响应 |
1. 管理员选择“每日收支结算” 功能 |
1. 系统响应点击事件,若系统无 故障且数据库查询成功,则进 行结算,否则进入2.1 |
|
分支事件流: |
无 |
|
异常事件流: |
参与者动作 |
系统响应 |
2.1 信息结算出现系统故障或 数据库故障 |
2.1 系统提示需要重新结算 |
|
后置条件: |
每日收支结算成功 |
(2)顾客购物用例图
图 2 顾客购物用例图
顾客操作中,有个人订单管理、购物车管理、商品查询和商品加入购物车等用例,以下为详细的用例规约:
表7 个人订单管理用例规约
用例名称: |
个人订单管理 |
||
用例ID: |
PersonalOrder |
||
角色: |
顾客 |
||
用例说明: |
用例的功能是帮助顾客管理个人的订单记录。用例起始于顾客单击“查看我的订单”按钮。 |
||
前置条件: |
进入购物车界面 |
||
基本事件流: |
参与者动作 |
系统响应 |
|
1、 进入购物车界面,顾客点击 “查看我的订单”按钮 |
1、 系统响应点击事件,进入录入 我的订单界面
|
||
分支事件流: |
参与者动作 |
系统响应 |
|
1、 进入我的订单界面,点击“ 待处理订单”按钮 1.1、选中待处理订单记录,点击“申请退货”按钮 2、 进入我的订单界面,点击“ 历史订单”按钮 2.1、选中历史订单记录,点击“删除”按钮 2.2、在查询文本框中输入查询条件,单击“查询”按钮
|
1、系统响应点击事件,控件加载出待处理订单记录 1.1、系统响应点击事件,若存在选中记录,则对选中记录提出退货申请;若不存在,则进入1.1.1 2、系统响应点击事件,控件加载出历史订单记录 2.1、系统响应点击事件,若存在选中记录,则选中记录被删除;若不存在,则进入 2.2、系统响应单击事件,若数据库匹配成功,则返回查询结果;若数据库匹配失败,则进入;若文本框内容为空,则进入
|
||
异常事件流: |
参与者动作 |
系统响应 |
|
1.1.1若不存在选中记录 2.1.1若不存在选中记录 2.2.1若数据库匹配失败 2.2.2若文本框内容为空 |
1.1.1系统提示未选中待处理订单 2.1.1系统提示未选中历史订单 2.2.1系统提示查询失败 2.2.2系统提示未输入查询条件 |
||
后置条件: |
返回主界面 |
||
表 8 购物车管理用例规约
用例名称: |
购物车管理 |
|
用例ID: |
CartMan |
|
角色: |
顾客 |
|
用例说明: |
用例的功能是实现顾客对购物车的管理 |
|
前置条件: |
进入购物车 |
|
基本事件流: |
参与者动作 |
系统响应 |
|
1、顾客点击“购物车管理”按钮 |
2、系统响应点击事件跳转至购 物车管理界面 |
分支事件流: |
参与者动作 |
系统响应 |
1.1 进入购物车页面,选择“移 除订单”按钮 1.2 进入购物车页面,选择“提 交订单”按钮 |
2.1 系统响应点击事件,若选择 订单,则进行处理,否则进 入2.1.1 2.2 系统响应点击事件,若选择 订单,则进行处理,否则进 入2.1.1 |
|
异常事件流: |
参与者动作 |
系统响应 |
1.1.1 未选择订单 |
2.1.1 系统提示请选择订单
|
|
后置条件: |
购物车管理成功 |
表 9 商品查询用例规约
用例名称: |
商品查询 |
|
用例ID: |
Search’ |
|
角色: |
顾客 |
|
用例说明: |
用例的功能是实现顾客查询商品 |
|
前置条件: |
进入主界面 |
|
基本事件流: |
参与者动作 |
系统响应 |
1. 进入主界面,顾客点击“查询 商品”按钮 |
1. 系统响应点击事件,若输入查 询条件,则进行查询,否则进 入2.1 |
|
其他事件流: |
无 |
|
异常事件流: |
参与者动作 |
系统响应 |
|
2.1 未输入查询条件 |
2.1 系统提示必须输入查询条件 |
后置条件: |
顾客查询商品成功 |
表 10 加入购物车用例规约
用例名称: |
加入购物车 |
|
用例ID: |
Add |
|
角色: |
顾客 |
|
用例说明: |
用例的功能是顾客可以将商品加入购物车 |
|
前置条件: |
进入某一商品界面 |
|
基本事件流: |
参与者动作 |
系统响应 |
|
1. 顾客选择好某一商品,点击 “加入购物车”按钮 |
1. 系统响应点击事件,若选择的 商品信息完整,则加入购物车, 否则进入2.1 |
其他事件流: |
无 |
|
异常事件流: |
参与者动作 |
系统响应 |
2.1 商品信息选择不完整,例如 数量未选择或容量未选择等 |
2.1 系统提醒顾客选择的商品信 息不完整,请选择完整 |
|
后置条件: |
顾客将商品加入购物车成功 |
3.3相关用例的展开——活动图
活动图(activity diagram,动态图)阐明了业务用例实现的工作流程。业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。以下分别为订单处理活动图、活动图和活动图:
(1)小卖部信息管理系统中,小卖部管理员登录系统后可对前台反馈的订单进行处理,查询及销量查询的操作。下图为订单管理活动图:
图 3订单管理活动图
(2)管理员登录成功后,需要对进货信息进行增、删、改、查等业务操作。下图为进货管理活动图:
图 4进货管理活动图
(3)管理员登录成功后,需要对库存信息进行增、删、改、查等业务操作,并查询预警库存项。下图为库存管理活动图:
图 5库存管理活动图
(4)顾客登录成功后,需要对个人订单进行处理,包括申请退款、删除、查询历史订单等。下图为个人信息管理活动图:
图 6个人订单管理活动图
(5)顾客登录成功后,需要对购物车进行管理,包括移除商品、提交订单等。下图为购物车管理活动图:
图 7购物车管理活动图
3.4对象类模型
类图(Class diagram)显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。根据系统需求,创建系统静态类图。
1、在该系统中,存在的主要类如下:顾客(Cus)、小卖部管理员(Admin)、购物车记录(Cart)、订单记录(Order)、进货记录(GoodIn)、库存记录(Goods)。
(1) 顾客(Cus),属性包括:顾客ID、密码、真实姓名、电话号、宿舍号,操作包括:登录、商品查询、历史订单查询、退货申请。
(2) 小卖部管理员(Admin),属性包括:管理员ID、密码,操作包括:登录、订单管理、进货信息管理、库存信息管理、顾客信息管理、收支结算。
(3) 购物车记录(Cart),属性包括:购物ID、顾客ID、商品名、商品数量、商品总价、交易日期。
(4) 订单记录(Order),属性包括:订单ID、顾客ID、商品名、商品数量、商品总价、交易日期。
(5) 进货记录(GoodIn),属性包括:进货记录ID、商品名、商品编号、进货数量、进货价格、供应商姓名、进货日期。
(6) 库存记录(Goods),属性包括:库存记录ID、商品名、商品编号、进货价格、销售价格、库存数量、警报数量。
2. 各个类之间的多重性是:
(1)顾客与订单记录是一对多的关联关系,一个顾客可以提交多个订单记录,但同一个订单只能被一个顾客提交。
(2)顾客与购物车记录是一对多的关联关系,一个顾客可以生成多个购物车记录,但同一个购物车记录只能被一个顾客生成。
(3)购物车记录与订单记录是一对一的依赖关系,一条订单记录只能由一条购物车记录生成。
(4)小卖部管理员与订单记录是一对多的关联关系,一个管理员可以管理多个订单,但同一订单只能被一个管理员管理。
(5)小卖部管理员与进货记录是一对多的关联关系,一个管理员可以管理多个进货记录,但同一个进货记录只能被一个管理员管理。
(6)小卖部管理员与库存记录是一对多的关联关系,一个管理员可以管理多个库存记录,但同一个库存记录只能被一个管理员管理。
(7)进货记录与库存记录是多对一的依赖关系,一条库存记录可以被多条进货记录更新,一条进货记录只能更新同一条库存记录。
下图为小卖部信息管理系统中对象类模型:
图 8小卖部信息管理系统对象类模型
3.5输出结果
小卖部信息管理系统分为顾客模块和管理员模块,各个模块输出结果如下表:
表 11 顾客信息查询输出结果表
编号:01 |
名称:顾客信息查询 |
输入:顾客ID+密码 |
输出:个人订单、历史订单、退货记录 |
表 12 小卖部管理员信息查询输出结果表
编号:02 |
名称:小卖部管理员信息查询 |
输入:管理员ID+密码 |
输出:库存信息、进货信息、订单信息、顾客信息 |
4.性能需求
4.1数据精确性
本系统应支持最大并发用户500个,每秒事务处理数应大于1000笔。
4.2时间特性(响应、传输、运行时间等)
在硬件和网络条件满足的前提下,所有日常性操作事务的平均响应时间应小于10秒,最长响应时间应小于30秒;对于查询性事务的平均响应时间应小于60秒,最长响应时间应小于180秒。
4.3适应性(运行环境、计划发生变化等应具有的适应能力)
本项目采用J2EE架构,因此可以在不同的异构平台上正常运行,由于J2EE架构的高度可扩展性,因此在需求变化和系统集成商具有很大的灵活性。
4.4故障处理
系统应能检测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,以避免出现长时间等待甚至无响应。
操作的简易实用性本系统是校园二手交易系统,针对的主要用户是在校学生。因此操作的简易实用性就体现的尤其重要。在此系统的开发中就很好的体现了这一点,系统的界面美观,典雅,充满了人性化;用户操作起来也容易上手。对于一个校园二手交易系统而言商品信息是很多的,而且使用人数较多,所以对系统的安全性有比较高的要求:对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。
5运行需求
5.1用户界面(屏幕、报表格式等)
1、色彩方面:色彩搭配合理、颜色配置,色彩浓度 主题色鲜明。
2、布局方面 :布局方式人性化,符合人们日常上网习惯。
3、科学方面:界面友好,可视化。
4、安全性 :封装会员的信息 会员进入时需要输入密码。
5.2硬件界面
1、输入设备 :键盘 ,鼠标
2、输出设备 :显示器
3、处理器 :英特尔5 代、内存 2G;
5.3软件界面
1、操作系统:Windows7 及以上版本 nuix
2、支撑框架:. jspsmartUpload .structs
3、数据库 Access 2007
4、通信接口
5、http 协议:计HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。
6其他需求
6.1 健壮性
用户输错时:有提示错误信息。
界面输错时:能够跳到正常页面。
能够保证在不同的情况下页面运行,不受人员,天气,电力的影响。
6.2 安全性
在用户登录系统时进行身份验证和用户类别识别, 只允许合法用户进入系统, 并且不同 用户进入系统后的操作权限是不同的,从而实现系统安全。不同的身份凭借不同的密码进入不同的界面,完成不同的功能 。