1.引言

1.1目的

    超市的组织运營复雜又繁瑣,不僅涉及大量的操作和报表,还需要对人员、商品、客戶、单据的统一管理與持久存儲,人工管理十分困难,一旦出錯便会釀成嚴重的后果。因此,我们決定搭建一个ERP管理系统,為所有员工提供一个協助其工作的系统,為經理提供可以审批统一管理整个超市信息的工具。

    本文档描述了企业集成式管理系统ERP中各模块的功能需求和非功能需求。开发小组的软件系统实现与验证工作都以此文档为依据。

    除特殊说明之外,本文档所包含的需求都是高优先级需求。

1.2范圍

    企业集成式管理系统ERP是为某灯具开关行业南京地区总代理开发的业务系统,开发的目标是帮助该代理商适应新的环境,提高工作效率和用户满意度,并处理日常的重点业务,其中业务包括库存管理、销售管理、财务管理、人事管理和企业经营管理。

    ERP系统中的销售管理模块主要面向进货销售人员和总经理。通过销售管理模块,期望为该企业提高销售员工的工作效率、降低运营成本、增加销售额、为总经理的决策做支持。
1
庫存管理模块面向庫员人员,负责对商品分类和商品的信息的管理。
     财务管理模块对企业的銀行帳号、款项进出、工资發放做统一管理,还能查看企业所有的銷售詳情、經營情況等。

    人事管理模块為人力资源人员提供对员工的统一管理,登記员工信息,記錄员工考勤,制定薪资策略等。

    企业經營管理模块向總經理提供审批单據的入口,能跟据每个人的表現制定年终奬,查看各種報表,制定促銷茦略等。

1.3參考资料

1. IEEE标准。

2. seec-helper    [http://helper.seecoder.cn/](http://helper.seecoder.cn/)

3.《软件工程与计算(卷二) 软件开发的技术基础》  骆斌, 丁二玉, 刘钦    机械工业出版社

2.总体描述

2.1产品前景

2.1.1背景与机遇

    此产品將取代現有市場上的銷售管理系統。于賣方而言,能讓其工作效率加快,出錯率減少,商品進货規劃更簡單,商品堆积減少。于买方而言,更能輕易买到心宜的商品,購物过程更輕鬆愉快。

    对于庫存人员、銷售人员、财务人员等等公司內部人员而言,工作上的信息同步和管理不再是一项艱難的工作,他們不用再花费大量時間與各部門人员交換、确認信息,能更輕鬆,低风險地完成自己的工作,經理对整個公司的管理也更清楚,全面掌握所有信息,能更好地做出決策,此产品無疑能创造巨大的价值。

2.1.2业务需求

BR1:在系统使用一周后,所有员工能熟練地新建報表,查詢數據。

BR2:在系统使用一周后,总經理已經能跟據系统存儲的數據獲得企业大致运營情況。

BR3:在系统使用六个月后,库存积压的现象减少50%。

BR4:在系统使用六个月后,销售额增加15%。

           最好情况:30%。

           最可能情况:15%。

           最坏情况:10%。

BR5:在系统使用六个月后,销售人员工作效率提高50%。

BR6:在系统使用一年后,运营成本降低40%。

2.2产品功能

SF1:处理销售过程,帮助完成销售任务。

SF2:解決手工作业銷售迟緩,顧客購物排隊現象嚴重导玫流失客源的問題。

SF3:提供數據給庫存,商品管理和財務系統。

SF4:发展客户,提高顾客回头率。

SF5:降低管理成本,增強竞爭力的同時保持盈利水平。

2.3用户特征

库存管理人员 1 到 2 名。负责对商品分类和商品的信息的管理。能够简单使用办公信息化系统。
财务人员 1 到 2 名。办公信息化系统较強,对新系统基本持积极态度,不希望增加现有工作量。
人力资源人员 1 到 2 名。办公信息化系统较強,对新系统基本持积极态度,不希望增加现有工作量。
进货销售人员 整个系统有4~8名进货销售人员,负责完成进货单和销售单。进货销售人员对新系统基本持积极态度,不希望增加现有工作量
总经理 整个系统有2名总经理,负责审批单据、查看销售明细和经营情况。总经理能够熟练使用办公信息化系统,对新系统持积极态度

2.4约束

CON1:系统将运行在Windows或以上的操作系统上。

CON2:系统使用Web界面,不适用图形界面。

CON3:项目要使用持续集成方法进行开发。

CON4:在开发中,开发者要提交软件需求规格说明文档、设计描述文档和测试报告。

CON5:开发期限为2022年7月10日

2.5假设和依赖

AE1:每天生成的每一种类型的单据不超过99999条。

AE2:一旦确定进货和销售单,则客户的应收应付不可修改,直到与该客户的下一次销售行为。

AE3:总经理折让金额不超过20%,进货销售人员折让金额不超过10%。

3.詳細需求描述

3.1对外接口需求

3.1.1用户界面

1.屏幕格式:采用Windows友好界面,默認大小覆盖全屏,分辨率跟隨系統

2.菜單格式:下拉式菜單

3.報表格式:采用普通報表格式

4.UI总体⻛格:简约直观扁平化设计,帮助⽤户快速获取到需要的内容,⾼效率获取所需信息

【以下展示⻚⾯均在Windows Edge浏览器上进⾏,在Chrome等浏览器上的展示与下图⽆异】

UI1 财务管理模块

系统使⽤简约直观扁平化设计,帮助⽤户快速定位賬戶管理,制定单据,查看經營情況等入口。

賬戶管理界面图示:

UI1.png

UI1.1用戶点击左侧各功能模块即可进入对应界面

UI1.2用戶点击新建賬戶即可进行賬戶創建

UI2 单据管理界面图示:

UI2.png

UI2.1.png

UI2.2.png

UI2.1用戶能快速浏覽待总经理审批的单据草稿,审批成功及失败的单据

UI2.2用戶点击展开能獲取单据的詳細信息

UI2.3.png

UI2.3通过总经理賬戶登入,单据右侧会出現同意和拒絕的图标,總经理审批后会提示操作成功,並更新到相应狀态的分页

UI3.单据创建界面图示:

UI3.png

UI3.1用戶能使用下拉列表从所有客戶及銀行帳戶中做选择

UI3.1.png

UI3.3.png

UI3.2当用戶沒有选择关鍵數据,或是輸入不合法的數据,系统會發出錯誤提示

UI3.2.png

UI3.3 用戶能添加或刪除多條數据项,它們都將視為同一張表的數据

UI3.4点击立即創建后,單据會出現在待审批区中,為草稿狀态

UI4 數据查找界面图示

UI4.png

UI4.1查找条件会以可选框形式展現,缺省值系统会默認填寫全部條件,时间则会填寫从1999年12月31日到系统时间

UI4.1.png

UI4.2.png

UI4.2查找成功后,系统会發出提示,展現全部信息,可以通过类型進行再度过濾

UI4.3.png

UI4.3數据可以導出為Excel表格

UI5 促銷策略界面

UI5.png
UI5.1 用戶点击不同按鈕制定不同促銷策略
UI5.1.png
UI5.2.png
UI5.3.png
UI5.2点击創建后,系統會使用策略模式制定相应的促銷策略
UI5.4.png
UI5.3用戶能查看所有的促銷策略,點击能查看詳细的商品包

3.1.2硬件接口

1.支持連接小票打印机接口(如USB、LPT)

2.至少擁有1GB的存儲空間

3.1.3軟件接口

数据庫接口:Mysql數據庫管理工具

3.1.4通信接口

以太网接口、無線接口、USB接口

后端使⽤RESTful的接⼝,由前端AXIOS调⽤并返回

3.2功能需求

系统大致可分为以下部分:登录系统、客户管理系统、庫存系统、销售处理系统、财务系统、人事管理系统、经營管理系统。

3.2.1登录

3.2.1.1特性描述
提供用户的登录功能,包括提供用户录入用户名和密码的界面、检查密码、用户名的正确性和有效性。
3.2.1.2刺激/响应序列
刺激:用户输入登录名。

响应:系统检测登录名是否符合规范并显示输入的结果。

刺激:用户输入密码。

响应:系统检测密码是否符合规范并显示密码为若干位的*。

刺激:用户发送登录请求。

响应:系统检测登录名是否为已注册用户,并检测密码与用户名是否一致。
3.2.1.3相关功能需求
Login.Input 系统应该允许用户在登录界面进行键鼠输入
Login.Input.Username 在用户输入结束用户名时,系统应该判断用户名是否符合用户名输入规范
Login.Input.Keyword 在用户输入结束密码时,系统应该判断密码是否符合密码输入规范
Login.Input.Click 在用户点击“登录”按键时,系统应该判断用户名是否在数据库中,并判断用户名和密码是否对应
Login.Input.Invalid 在判断用户输入的用户名或密码不符合规范时,系统应该在用户名或密码的输入文本框后显示“输入无效”
Login.Input.Error 在判断用户输入的用户名错误,或用户名和密码不对应后,系统应该弹出“用户名或密码错误”弹窗,并返回登录界面,清空密码输入文本框的输入

3.2.2客户管理

3.2.2.1特性描述
    在管理后台能集中对客户的信息内容进行增、删、改、查,其中用户的属性包括编号、分类(供应商、销售商)、级别(五级,一级普通用 户,五级 VIP 客户)、姓名、电话、地址、邮编、电子邮箱、应收额度(本公司给客 户的信用额度,客户欠本公司的钱的总额不能超过应收额度)、应收(客户还应付给 本公司但还未付的钱)、应付(本公司欠客户的钱)、默认业务员。客户信息需        要实时显示在客户端。客户管理功能针对不同用户分级管理,并进行不同的操作授权。
3.2.2.2刺激/响应序列
刺激:用户要求增加客户条目,点击增加的“+”按键。

响应:系统转到创建客户条目界面。

刺激:用户要求删除客户条目,点击删除的“-”按键。

响应:系统在客户列表中删除该客户条目。

刺激:用户输入客户编号。

响应:系统标记销售任务的客户。

刺激:用户要求更改客户信息,点击“修改客户信息”按键。

响应:系统转到修改客户条目界面。

刺激:用户输入客户信息。

响应:系统判断客户信息是否符合客户信息规范。

刺激:用户取消客户管理任务。

响应:系统关闭客户管理任务。
3.2.2.3相关功能需求
Customer.input 系统应允许用户在用户管理时进行键鼠输入
Customer.Input.Add 用户点击“+”时,系统执行添加任务,参见Customer.Add
Customer.Input.Del 用户点击“-”时,系统执行删除任务参见Customer.Del
Customer.Input.Change 用户点击“修改”时,系统执行改动任务,参见Customer.Change
Customer.Input.Search 用户选中输入框进行输入时,系统执行搜索任务,参见Customer,search
Customer.Input.Authority 用户更改相关客户信息但权限不够时,系统显示“无法更改”
Customer.Add 系统根据用户输入添加客户信息
Customer.Add.Invalid 输入信息不符合规范时,系统显示“输入无效”
Customer.Add.Null 用户未输入信息就结束输入,系统不做任何处理
Customer.Del.Null 用户未输入信息就结束输入,系统不做任何处理
Customer.Del.Custumer 用户从客户列表中选中待删除客户时,删除该客户信息
Customer.Change 系统根据用户输入修改客户信息
Customer.Change.Invalid 输入信息不符合规范时,系统显示“输入无效”
Customer.Change.Null 用户未输入信息就结束输入,系统不做任何处理
Customer.Change.Authority 用户更改相关客户信息但权限不够时,系统显示“无法更改”
Customer.search 系统根据用户输入信息进行模糊查找
Customer.search.Display 系统将符合模糊查找要求的所有用户列表展示
Customer.search.Choose 当用户选中列表某一用户,系统仅展示该用户信息

3.2.3销售处理系统

3.2.3.1特性描述
    进货销售人员要能够制定进货单和进货退货单(包含单据编号(格式为:JHD-yyyyMMdd-xxxxx, 后五位每天从 1 开始编号,所以一天最多可以生成 99999 条单子),供应商,仓库,操作员,入库商品列表,备注,总额合计。)、制定销售单和销售退货单(包括:单据编号(XSD-yyyyMMdd-xxxxx),客户 (仅显示销售商),业务员(和这个客户打交道的公司员工,可以设置一个客户的默 认业务员),操作员(当前登录系统的用户),仓库,出货商品清单,折让前总额, 折让,使用代金卷金额,折让后总额,备注。出货商品清单中要显示商品的编号**,** 名称(从商品选择界面选择),型号,数量(手工输入),单价(默认为商品信息里 的销售价,可修改),金额(自动生成),商品备注。销售单通过审批后,会更改库存数据和客户的应收应付数据。)。单据的成功新建必须要通过销售经理和总经理的审批,否则进货销售人员需要重新编辑并提交。
3.2.3.2刺激/响应序列
刺激:进货销售人员要求新建进货单或进货退货单。

响应:系统新建进货单或进货退货单,按格式生成单据编号,包含供应商,仓库,操作员,入库商品列表,备注,总额合计。

刺激:进货销售人员输入供应商、仓库、操作员。

响应:系统显示输入。

刺激:进货销售人员在入库商品列表中手动输入或从列表选择商品名称、数量、单价、备注。

响应:系统显示输入并判断已输入信息是否足以计算出商品编号、型号、金额,若是,则计算并显示。

刺激:进货销售人员结束输入。

响应:系统计算并显示总金额。

刺激:进货销售人员确认单据并提交审批。

响应:系统显示已提交销售经理并提醒销售经理审批。

刺激:销售经理审批通过。

响应:系统显示已提交上级审批并提醒总经理审批。

刺激:总经理审批通过。

响应:系统告知进货销售人员和销售经理审批已通过并更改库存数据和客户的应收应付数据。

刺激:销售经理或总经理审批不通过。

响应:系统提醒进货销售人员修改单据。

刺激:进货销售人员要求新建销售单或销售退货单。

响应:系统新建销售单或销售退货单,按格式生成单据编号,单据包含客户、业务员、操作员、仓库、出货商品清单、折让前总额、折    让、使用代金卷金额、折让后总额、备注。

刺激:进货销售人员输入客户、业务员、操作员、仓库折让前总额、折让、使用代金卷金额、备注。

响应:系统显示输入。

刺激:进货销售人员在出货商品清单中手动输入或从列表选择商品名称、数量、单价、备注。

响应:系统显示输入并判断已输入信息是否足以计算出商品编号、型号、金额,若是,则计算并显示。

刺激:进货销售人员结束输入。

响应:系统计算并显示折让后总额。

(审批的刺激和响应与上文新建进货单相同)

3.2.3.3相关功能需求
Sale.Input 系统应该允许进货销售人员在销售处理中进行键鼠输入
Sale.Input.New 在进货销售人员请求新建单据时,系统应该判断新建单据类型,如果是进货单或进货退货单,执行其新建任务,参见Sale.Import,如果是销售单或销售退货单,执行其新建任务,参见Sale.Export
Sale.Input.Renew 进货销售人员收到单据被上级审批不通过的通知时,系统要允许进货销售人员重新编辑该单据并提交。
Sale.Input.Submit 在进货销售人员点击保存并提交按钮时,系统显示提交成功并关闭新建任务,把新建的单据传递给销售经理。
Sale.Input.Check1 在销售经理点击“通过”按键时,系统显示已通过,并把单据传递给总经理;点击“不通过”按键时,系统显示不通过,并要求进货销售人员修改。
Sale.Input.Check2 在总经理点击“通过”按键时,系统显示已通过,告知进货销售人员和销售经理审批已通过,并更改库存数据和客户的应收应付数据;点击“不通过”按键时,系统显示不通过,并要求进货销售人员修改。
Sale.Import.Start 系统按格式生成单据编号,显示编号和单据其他信息,系统要允许进货销售人员进行输入。
Sale.Import.Goods 系统显示输入的信息,并判断已输入信息是否足以计算出商品编号、型号、金额,若是,则计算并显示。
Sale.Import.Goods.Num 如果进货销售人员输入了大于1的整数商品数量,系统修改商品数量为输入值,否则系统设置商品数量为1。
Sale.Import.Calculate 系统计算商品总价并填充在金额一栏。
Sale.Export.Start 系统按格式生成单据编号,显示编号和单据其他信息,系统要允许进货销售人员进行输入。
Sale.Export.Goods 系统显示输入的信息,并判断已输入信息是否足以计算出商品编号、型号、金额,若是,则计算并显示。
Sale.Export.Goods.Num 如果进货销售人员输入了大于1的整数商品数量,系统修改商品数量为输入值,否则系统设置商品数量为1。
Sale.Export.Calculate 系统计算商品总价并填充在折让后总额一栏。

3.2.4财务管理系统

3.2.4.1賬戶管理

特征:仅限最高权限可以查看账户名称和余额。账号的属性有:名称和金额。余额不可修改,此数据项取决于收款单和付款单。 账户的增删改查包括增加账户、删除账户、修改账户属性和查询账户。
刺激响应序列:

刺激:財务人员請求查看賬戶

响应:系统显示所有賬戶數据

刺激:財务人员选择某个賬戶進行修改刪除

响应:系统根據輸入內容对儲存的數據進行修改刪除

刺激:财务人员新增賬戶並填好參數

响应:系统在數據庫中新增这個賬戶並显示在界面上

Financial.getAllBank 系统獲取全部銀行賬戶信息
Financial.createBankAccount 系统用輸入信息創建銀行賬戶信息,成功提示成功,顯示在界面上,失敗提示原因
Financial.updateBank 系统跟據輸入修改賬戶信息,並顯示在界面上
Financial.deleteBankAccount 系統刪除对应銀行賬戶

3.2.4.2 制定收,付款单

特征:制定收款单(新建一个收款单,包含以下信息:单据编号(SKD-yyyyMMdd-xxxxx),客户(同时包含供应商和销售商),操作员(当前登录用户),转账列表,总额汇总。转账列表中的一项包含:银行账户,转账金额,备注。填写完毕后点击“提交”即可入账。收款单通过审批后,会更改客户的应付数据。)。制定付款单(基本同于收款单,只是这个是付款的。)

刺激:用戶請求新建收款单

响应:系统根据⽤户角色判断⽤户身份,若為財務則彈出新建表單,若非就報錯

刺激:用戶輸入收款单信息

响应:系统獲取表單中輸入的信息,有錯誤或缺省就報錯,沒有則在數據庫中新建这一表單並設為待总經理审批的草稿狀态

刺激:用戶請求獲取全部收款单(系統也会被动請求)

响应:系统獲取所有收款单,按狀态分类成待总经理审批、审批成功、审批失败,並依次显示所有收款单

刺激:总经理审批收款单

响应:系统进行身份驗證並獲取审批操作,若通过则把单据狀态改為审批成功,並刷新页面重新獲取收款单,同时修改賬戶餘额和客戶的应收应付,若不通过则把狀态改為审批失败

Financial.createCollectionSheet 系统創建收款单
Financial.getAllCollection 獲取所有收款单
Financial.transferApproval 审批單据
customer.getAllCustomer 獲取全部客戶
Finalcial.getAllBank 獲取全部銀行賬戶
collectionAndPayment.addAccount 增加賬戶

付款单與收款单基本相同,Finalcial.transferApproval也能作為付款单审批的接口,因為二者基本相同

3.2.4.3 工资单

特征: 制定工资单(包含单据编号、员工编号、姓名、银行账户信息、应发工资、扣除税 款(个人所得税、失业保险、住房公积金)、实发金额)

刺激:用戶点击创建工资单

响应:系统显示创建表单,並獲取全部员工姓名显示在下拉列表中

刺激:用戶鼠标移动到员工姓名上

响应:系统顥示該名员工的詳細资料,包括各种稅款,实發工资,銀行賬戶等

其余跟收付款单基本相似

Financial.getAllSalarySheet 獲取所有工资单
Financial.createSalarySheet 創建工资单
Financial.salarySheetApproval 工资单审批
Financial.getAllStaffInfo 獲取所有员工信息
SalaryTable.selectStaff 选择员工

3.2.4.4查看報表

描述: 查看销售明细表(统计一段时间内商品的销售情况(包括销售和销售后退货),筛 选条件有:时间区间,商品名,客户,业务员,仓库。显示符合上述条件的所有商 品销售记录,以列表形式显示,列表中包含如下信息:时间(精确到天),商品名, 型号,数量,单价,总额。需要支持导出数据。

   查看经营历程表(查看一段时间里的所有单据,单据分为:1. 销售类单据(销售出 货单,销售退货单) 2. 进货类单据(进货单,进货退货单) 3. 财务类单据(付 款单,收款单,现金费用单,工资单)4. 库存类单据(报溢单,报损单,赠送单)。 筛选条件为:时间区间,单据类型,客户,业务员,仓库。显示出符合条件的单据 后,可以对单据进行查看操作,但是不可修改和删除。在此可以进行红冲和红冲并 复制的操作,来进行“删除”和“修改”。红冲的具体操作就是:生成一个一模一样但 是仅仅把数量取负数的单子并入账,以此来抵消之前的单子。红冲并复制的操作是 在红冲的基础上,新建一张以之前单子为模板的草稿单,给用户以编辑的机会。)

刺激:用戶點击查找報表

响应:系统獲取对应的數據,如銷售明細表則獲取全部的客戶、產品、业務员數據,生成查找條件表單

刺激:用戶选择相应查找條件

响应:系统為缺省參數賦上默認值,生成搜查條件表

刺激:用戶點击查找

响应:系统筛选出所有符合條件的项,並顯示

刺激:用戶选择筛选條件

响应:系统顯示对应的行

Financial.getAllSalesmens 獲取所有业務员
Financial. getAllSalesDetails 獲取所有銷售詳情
Product.findAllProduct 獲得所有產品訊息
Customer.getAllCustomer 獲得所有客戶
Financial.getAllBusinessHistory 獲得所有銷售历程表

3.3性能需求

3.3.1數据精确度

本系统软件对于数据精确度的设计和实现没有特殊的要求,計算金额結果位數最多為小数点后兩位

3.3.2時間特性

1.程序响应時間不能超过3秒

2.更新处理時間不能超过3秒

3.數據轉換與傳輸時間不能超过3秒

4.數據增刪改查時間不能超过3秒

5.数據計算時間不能超过1秒

3.3.3灵活性

操作方式:鼠标鍵盤觸控屏皆可操作

运行环境:windows7或以上环境运行

有效时限:当时间限制超标时,如响应时间超时、更新时间延迟,界面会出现“重新刷新”等选项,从而重新发出请求,等待响应

3.4约束

IC1:系统要在网络上分布为一个服务器和多个客户端

3.5质量属性

3.5.1可用性

Useability1:用户经简单培训可五天内熟悉使用该系统

3.5.2可靠性

Reliability1:客户端与服务端通信时,如果网络故障,系统不能出现故障

Reliability2:系统应有足够存储空间保存时长一年的所有修改记录

Reliability3:系统每过半小时对当前系统信息的备份进行更新

3.5.3可维护性

Modifiability1:系统要增加新的会员服务,要能够在0.25个人月内完成

Modifiability2:系统的商品标识数据格式发生变化时,系统要能在3人1天内完成

3.5.4安全性

Safety1:系统只允许经过验证和授权的用户访问

Safety2:系统根据用户验证身份给予不同层次权限

Safety3:系统有一个默认的管理员账户

3.6其他需求

安装需求

Install1:安装系统时,要初始化用户、商品库存、客户信息等重要数据。

Install2:系统投入使用时,对用户要进行一个星期的集中培训。