《资产管理系统》需求规格说明书
一、引言
1.1、文档编写目的:
编写本需求规格说明书目的是:为了遵循软件工程开发流程,对基本需求进行分析汇总,形成调研阶段的分析结果。
本文档是对功能模块的基本需求、功能特性的描述,用于定义项目范围,明确开发需求,并为后期的分析设计、代码实现和测试提供指导。
①分析设计:以本需求规格说明书为标准,完成总体设计和详细设计;
②代码实现:以本需求规格说明书为标准,并结合总体设计、详细设计完成代码编写;
③测试:以本需求规格说明书为标准,结合分析设计完成“单元测试用例”和“系统测试用例”编写和测试。
1.2、项目背景说明:
为方便集团资产管理,做到资产类目清晰明了,能够让集团人员清楚划分资产类目、统计资产数据、做好资产入库、报废的流动管理,特此开发一套完善的“资产管理系统”。
用户可以通过使用该资产管理系统在网页终端完成“资产转移”、“资产入库”、“资产出库,报废”、“资产领用”等资产管理操作。
①待开发软件系统的名称:“资产管理”系统(ZuXia)。
②本项目的任务提出者:马权老师。本系统的需求提出者:后勤部刘老师。
③本项目的开发者:Java57班小明同学。
④本项目的用户:采购人员,库房管理人员,足下员工等。
⑤本项目的计算中心:各大浏览器。
1.3、文档使用范围:
本需求规格说明书对系统网页端(前台)、后台,功能模块的功能定义、数据库设计、接口定义、UI设计、以及其他研发约束条件等研发需求做了详细定义。
1.4、读者对象:
项目经理:根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。
设计人员:对需求进行分析,并设计出系统,包括数据库的设计。
开发人员:了解系统功能,进行系统编码设计。
测试人员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。
二、项目概述
2.1、客户项目需求:
①每个资产要有对应的照片和相对应的资产编码,以及要有固定的位置。方便其它人识别和管理。
②每个资产要有负责人,不论哪个资产,但凡是摆放在外面的,一定要有使用人。如果资产是在库状态,就备注在库房。
③新入库的资产要有购买单位以及金额。 ④系统查询功能可以分摆放位置、资产类别、使用人这三个纬度进行查询。
⑤管理员支持各类自定义资产类目的增减。 ⑥资产出足下大楼只有二种方式,报废和出库,在大楼内部移动叫资产转移。
⑦每个人都可以登录系统,查看自己所领用的资产,每个人的资产会动态变更,有调拨进来的资产,需要接收,把不用的或是坏的资产可以出库和报废。
2.2、系统功能概述:
此系统主要为了实现:
①系统前台:足下员工可以通过各大浏览器访问系统前台,进行资产领用,查看个人名下资产数量(资产分配和资产归还),修改自己的登录密码和账号等功能操作。
②系统后台:采购人员和库房管理人员可以通过此系统进行资产采购入库,资产转移,资产出库、报废,资产领用等资产管理操作,以及查询资产的分布、使用率等数据概览操作。
③超级管理员:足下校领导可以通过此系统进行资产管理系统的权限分配,外加综上所属的系统功能。
2.3、系统实现技术:
此系统使用了以下几种技术来实现功能:
①数据库设计:使用PowerDesigner软件构建数据库实体-关系模型(E-R模型图)。
②数据库运行:MySQL(5.0版本)数据库运行软件(Navicat Premium)。
③开发工具:Idea开发软件。
④运行环境及服务器:apache-tomcat(8.5.27)软件。
⑤开发模式:采用经典MVC三层架构,M是指模型,V是视图,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。
⑥系统实现方式:LayUI框架技术+jsp技术+jquery技术+SSM框架集(Spring+Spring-MVC+MyBatis)技术。
2.4、系统功能结构图:
项目具体功能可以先通过,系统的整体功能结构图了解各个功能的实现思路如下:
2.4.1、系统前台功能结构图:
2.4.1、系统后台功能结构图:
三、数据库设计
3.1、数据库实体-关系模型(E-R模型图):可以清晰的看出各个表之间的引用关系,实体关系。
3.2、数据库字典:清晰的解释每张数据表中每个字段的含义和作用,以及主外键关系的描述。
列名 | 数据类型 | 是否为空 | 描述 | 备注 |
typeId | int | 非空 | 主键,自增 | 资产类型编号 |
typeName | varchar(50) | 非空 | 唯一约束 | 资产类型名称 |
parentId | int | 非空 | 引用“资产类型编号” | 小类型所属大类型编号 |
typeState | varchar(50) | 非空 | 外键(与班级表相连) | 资产类型状态 |
2. 资产信息表(AssetInfo):
列名 | 数据类型 | 是否为空 | 描述 | 备注 |
assetId | int | 非空 | 主键,自动增长列 | 资产编号 |
typeId | int | 非空 | 外键,引用资产类型信息表(AssetTypeInfo) | 资产所属类型编号 |
assetName | varchar(100) | 非空 | 唯一约束 | 资产名称 |
image | varchar(100) | 非空 | 存放图片路径 | 资产照片 |
price | varchar(50) | 非空 | 存放资产的单价 | 资产单价 |
unit | varchar(50) | 非空 | 跟谁购买的 | 购买单位 |
brand | varchar(50) | 非空 | 默认:无 | 资产品牌 |
model | Varchar(50) | 非空 | 默认:无 | 资产型号 |
buyDate | Varchar(100) | 非空 | 存放采购日期 | 采购日期 |
buyName | varchar(50) | 非空 | 谁采购的资产 | 采购人姓名 |
buyPhone | varchar(50) | 非空 | 资产采购人联系方式 | 采购人电话 |
assetNotes | Varchar(500) | 可以为空 | 存放资产备注信息 | 资产备注 |
assetState | Varchar(50) | 非空 | 存放资产状态,如未启用,已启用 | 资产状态 |
3. 部门信息表(DepartmentInfo):
列名 | 数据类型 | 是否为空 | 描述 | 备注 |
dptId | int | 非空 | 主键,自动增长列 | 部门编号 |
dptName | varchar(50) | 非空 | 唯一约束 | 部门名称 |
dptHead | varchar(50) | 非空 | 存放部门负责人姓名 | 部门负责人 |
headPhone | varchar(50) | 非空 | 存放部门负责人联系电话 | 负责人联系电话 |
dptNotes | varchar(500) | 可以为空 | 存放部门备注信息 | 部门描述 |
dptState | varchar(50) | 非空 | 默认:存在 | 部门状态 |
4. 资产存放区域信息表(办公室、库房、机房)(ScopeInfo):
列名 | 数据类型 | 是否为空 | 描述 | 备注 |
scopeId | int | 非空 | 主键,自动增长列 | 区域编号 |
dptId | int | 非空 | 外键,引用部门信息表(DepartmentInfo) | 区域所属部门编号 |
scopeName | varchar(50) | 非空 | 存放区域名称 | 区域名称 |
scopeType | varchar(50) | 非空 | 存放区域类型 | 区域类型 |
scopeNotes | varchar(500) | 可以为空 | 存放区域描述 | 区域描述 |
scopeState | varchar(50) | 非空 | 默认:禁用 | 区域状态 |
5. 员工信息表(StaffInfo):
列名 | 数据类型 | 是否为空 | 描述 | 备注 |
staffId | int | 非空 | 主键,自动增长列 | 员工编号 |
staffName | varchar(50) | 非空 | 唯一约束 | 员工姓名 |
dptId | int | 非空 | 外键,引用部门信息表(DepartmentInfo) | 员工所属部门编号 |
staffSex | varchar(50) | 非空 | ‘男’后者‘女’ | 员工性别 |
telephone | varchar(50) | 非空 | 电话号码不能超过11位 | 员工联系电话 |
userPwd | varchar(50) | 非空 | 存放员工登录密码 | 登录密码 |
address | varchar(100) | 非空 | 存放家庭住址 | 家庭住址 |
staffState | varchar(50) | 非空 | 默认:在职 | 员工状态 |
6. 资产分配信息表(AssetShareInfo):
列名 | 数据类型 | 是否为空 | 描述 | 备注 |
shareId | int | 非空 | 主键,自动增长列 | 资产分配记录编号 |
assetId | int | 非空 | 外键,引用资产信息表(AssetInfo) | 资产编号 |
scopeId | int | 非空 | 外键,引用资产存放区域信息表(ScopeInfo) | 资产分配区域编号 |
staffId | int | 非空 | 外键,引用员工信息表(StaffInfo) | 资产所属员工编号 |
shareTime | varchar(100) | 非空 | 存放资产分配时间 | 资产分配时间 |
number | int | 非空 | 存放资产分配数量 | 资产分配数量 |
reason | varchar(500) | 可以为空 | 存放资产分配备注信息 | 资产分配备注 |
shareState | varchar(50) | 非空 | 默认:启用 | 资产分配状态 |
3.2、系统用例描述:可以清晰明确的了解每个功能的实现条件、流程、响应结果。
用例描述1:
用例名称 | 查询部门信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统查询部门信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据查询条件返回相应的部门信息 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至系统主界面 3. 点击“部门信息管理”菜单,加载出全部部门信息 4.LayUI数据表格搜索框中输入查询内容 5.点击“查询”按钮进行查询 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2.部门信息查询失败,提示错误信息,管理员确认 |
用例描述2:
用例名称 | 添加部门信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统添加部门信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据添加信息返回相应的部门信息 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至系统主界面,点击“部门信息管理”菜单 3.点击“添加部门信息”按钮 4.弹出对应的“添加部门信息”窗口 5.点击“添加”按钮刷新表格数据 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2.部门信息添加失败,提示错误信息,管理员确认 |
用例描述3:
用例名称 | 修改部门信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统修改部门信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据修改内容、条件返回相应的部门信息 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至系统主界面,点击“部门信息管理”菜单 3.点击“修改部门信息”按钮 4.弹出对应的“修改部门信息”窗口 5. 点击“修改”按钮后刷新表格数据 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2.部门信息添加失败,提示错误信息,管理员确认 |
用例描述4:
用例名称 | 删除部门信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统删除部门信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据删除条件删除对应的部门信息 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至系统主界面,点击“部门信息管理”菜单 3.点击“删除部门信息”按钮 4.弹出对应的提示信息。 5.删除成功后刷新表格数据。 |
异常事件流 | 1. 部门信息删除失败,提示错误信息,管理员确认 |
用例描述5:
用例名称 | 查询资产类型信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统查询资产类型信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据查询条件返回相应的资产类型信息 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面 3.点击“资产类型管理”菜单,加载出全部的资产类型信息 4.LayUI数据表格搜索框中输入查询内容 5.点击“查询”按钮进行查询 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2. 资产类型信息查询失败,提示错误信息,管理员确认 |
用例描述6:
用例名称 | 增加、修改、删除资产类型信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统增加、修改、删除资产类型信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据操作条件,内容返回相应的处理结果 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面,点击“资产类型管理”菜单 3.点击页面中的对应的增加、修改、删除按钮 4.弹出对应的操作窗口和提示信息 5.执行对应的操作之后,刷新表格数据。 |
异常事件流 | 1.对应操作失败后,提示错误信息,管理员确认。 |
用例描述7:
用例名称 | 查询资产存放区域信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统查询资产存放区域信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据查询条件返回相应的资产存放区域信息 |
基本流程(事件流) | 1.通过登录界面登录成功 2.跳转至主界面 3.点击“资产存放区域管理”菜单,加载出全部的信息 4.LayUI数据表格搜索框中输入查询内容 5.点击“查询”按钮进行查询 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2. 资产存放区域信息查询失败,提示错误信息,管理员确认 |
用例描述8:
用例名称 | 增加、修改、删除资产存放区域信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统增加、修改、删除资产存放区域信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据操作条件,内容返回相应的处理结果 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面,点击“资产存放区域管理”菜单 3.点击页面中的对应的增加、修改、删除按钮 4.弹出对应的操作窗口和提示信息 5.执行对应的操作之后,刷新表格数据。 |
异常事件流 | 1.对应操作失败后,提示错误信息,管理员确认。 |
用例描述9:
用例名称 | 查询员工信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统查询员工信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据查询条件返回相应的员工信息 |
基本流程(事件流) | 1.通过登录界面登录成功 2.跳转至主界面 3.点击“员工信息管理”菜单,加载出全部的信息 4.LayUI数据表格搜索框中输入查询内容 5.点击“查询”按钮进行查询 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2. 员工信息查询失败,提示错误信息,管理员确认 |
用例描述10:
用例名称 | 增加、修改、删除员工信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统增加、修改、删除资产存放区域信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据操作条件,内容返回相应的处理结果 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面,点击“员工信息管理”菜单 3.点击页面中的对应的增加、修改、删除按钮 4.弹出对应的操作窗口和提示信息 5.执行对应的操作之后,刷新表格数据。 |
异常事件流 | 1.对应操作失败后,提示错误信息,管理员确认。 |
用例描述11:
用例名称 | 查询资产信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统查询资产信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据查询条件返回相应的资产信息 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面 3.点击“资产信息管理”菜单,加载出全部的资产类型信息 4.LayUI数据表格搜索框中输入查询内容 5.点击“查询”按钮进行查询 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2. 资产信息查询失败,提示错误信息,管理员确认 |
用例描述12:
用例名称 | 增加、修改、删除资产信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统增加、修改、删除资产存放区域信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据操作条件,内容返回相应的处理结果 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面,点击“资产信息管理”菜单 3.点击页面中的对应的增加、修改、删除按钮 4.弹出对应的操作窗口和提示信息 5.执行对应的操作之后,刷新表格数据。 |
异常事件流 | 1.对应操作失败后,提示错误信息,管理员确认。 |
用例描述13:
用例名称 | 查询资产分配信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统查询资产分配信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据查询条件返回相应的资产类型信息 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面 3.点击“资产分配管理”菜单,加载出全部的资产类型信息 4.LayUI数据表格搜索框中输入查询内容 5.点击“查询”按钮进行查询 |
异常事件流 | 1.管理员登录失败,禁止访问主页面,返回登录界面 2. 资产分配信息查询失败,提示错误信息,管理员确认 |
用例描述14:
用例名称 | 增加、修改、删除资产分配信息 |
执行者 | 管理员(采购人员、库房管理人员) |
用例简述 | 该用例规定如何利用系统增加、修改、删除资产存放区域信息 |
前置条件 | 用户身份必须正确验证 |
后置条件 | 根据操作条件,内容返回相应的处理结果 |
基本流程(事件流) | 1.通过登录页面登录成功 2.跳转至主界面,点击“资产分配管理”菜单 3.点击页面中的对应的增加、修改、删除按钮 4.弹出对应的操作窗口和提示信息 5.执行对应的操作之后,刷新表格数据。 |
异常事件流 | 1.对应操作失败后,提示错误信息,管理员确认。 |
2023年7月11日星期二
小明同学
小明同学声明:本项目需求规格说明书为,本人根据特定项目开发所写,个人分享,不是标准答案,仅供各位程序参考和借鉴!