需求分析与原型设计
原型:https://modao.cc/app/FgmvmiaHZmtcWWV95F3qqXCxnRD7zYn
软件需求规格说明书
个人网上商城
版本:1.1
编订:五杀诺手
团队:五杀诺手
日期:2017–10–30
目 录
1.引言 2
1.1目的 2
1.2范围 3
1.3定义、简写和缩略语 3
(1)PM:项目经理。 3
(2)用户访谈:事先与客户沟通,见面分析产品需求的过程称用户访谈。 3
(3)开发人员:开发本文档所介绍的产品的程序员。 3
1.4引用文件 3
1.5综述 3
2.总体描述 3
2.1产品描述 3
2.2产品功能 3
2.3用户特点 4
2.4约束 4
2.5假设和依赖关系 4
3.具体需求 5
3.1外部接口需求 5
3.1.1硬件接口 5
3.1.2软件接口 5
3.1.3通信接口 5
3.2功能需求 5
3.2.1类图 5
3.2.2功能描述(概要) 5
3.2.3功能描述(详细) 6
3.2.4用户场景 6
用户场景: 6
商家场景: 6
3.3性能需求 6
3.3.1精度 6
3.3.2移植性 7
3.3.3稳定性 7
4. 验收验证标准 7
5.其他需求 8
1.引言
1.1目的
本文档的目的是详细地介绍个人网上商城所包含的需求,以便客户能够确定产品的确切需求以及开发人员能够根据需求设计,以下叙述结合文字描述,流程图,界面原型以及类图等来描述个人网上商城的功能、性能、用户界面,运行环境。
本文档的预期读者有客户,项目经理,开发人员以及跟该项目相关的其他竞争人员和无关人员。
1.2范围
本文档介绍的产品为个人网上商城,该网站的目的是让用户能在该平台上浏览平台上自己需要的商品,进行购物车添加,购买。
1.3定义、简写和缩略语
(1)PM:项目经理。
(2)用户访谈:事先与客户沟通,见面分析产品需求的过程称用户访谈。
(3)开发人员:开发本文档所介绍的产品的程序员。
1.4引用文件
1.5综述
本文档第2章将描述影响产品及其需求的一般因素,并提供需求的背景让读者方便理解,在第3章中将会详细的定义需求,在第4章中将给出验收验证标准,第5章预留后期需要补充的需求。
本文档是经过用户访谈,PM结合开发人员共同编写完成的。
2.总体描述
2.1产品描述
该网站可以给个体商家使用,非常适合现在的中小企业,商家(即管理员)可以管理用户,管理商品和查询所有订单。该网站的用户,可以浏览该平台的商品,添加购物车,支付,查询历史订单等等。
主要功能用例:
2.2产品功能
网上商城的主要功能有:
注:用户指该功能是特定的用户才拥有的功能。
功能 |
概述 |
成员 |
登录注册 |
可注册,可登录,并且能进行登陆验证 |
用户、商家 |
搜索商品 |
通过关键字对商品进行检索 |
用户 |
浏览商品 |
通过二级分类显示商品 |
用户 |
管理购物车 |
能将商铺添加进购物车,并对购物车商品进行删除或者生成订单 |
用户 |
支付 |
对订单中的商品进行结算 |
用户 |
查询个人订单 |
对用户的历史订单进行查询 |
用户 |
管理用户 |
对用户进行管理 |
商家 |
管理商品 |
对商品进行管理 |
商家 |
查询总订单 |
对所有订单进行查询 |
商家 |
管理分类 |
对商品进行分类 |
商家 |
2.3用户特点
将该产品的重要用户类与那些不太重要的用户类区分开。
用户 |
描述 |
用户 |
用户可以注册并登录,搜索商品、浏览商品、管理购物车和查询个人全部订单。 |
商家 |
商家可以管理用户,对用户进行删除、修改和查询,对商品进行管理,还对商品进行分类,查询总订单。 |
2.4约束
约束 |
描述 |
高级语言需求 |
该商城采用JAVA(SSH框架)语言编写,服务器端采用Tomcat,这对于团队开发人员来说都比较有挑战性,有一定的难度。 |
可靠性需求 |
该商城是一个小型购物平台,因此资源占用要尽量小,并且对稳定性有极强的需求 |
2.5假设和依赖关系
假设方面:
·有需要该商城用品的用户均能适应的使用该商城进行商品浏览及购买。
·开发团队需要掌握Struts+Spring+Hibernate三大框架的相关知识。
·开发时间足够。
依赖方面:
·数据存取功能依赖于数据库。
·该网站的运行依赖于Tomcat服务器。
3.具体需求
3.1外部接口需求
3.1.1硬件接口
3.1.2软件接口
·用户通过登录验证进入该商城首页,对商品进行浏览,查询商品,添加购物车,生成订单查询订单等等,没有账号的用户,要先进行注册,待注册成功后,再进行登录。
·商家通过登录后进入后台管理界面,实现对用户进行管理,商品进行管理,对商品进行分类,查询所有订单等等。
3.1.3通信接口
3.2功能需求
3.2.1类图
3.2.2功能描述(概要)
3.2.2.1用户
·登录账号(没有账号的用户先进行注册)。
·浏览商品
·搜索商品
·对商品进行购物车添加
·购物车管理
·个人订单查询
3.2.2.2商家(管理员)
·登录账号进行验证
·进入后台管理员界面
·管理用户
·管理商品
·管理商品分类
·查询历史用户订单
3.2.3功能描述(详细)
3.2.3.1用户
·用户进入商城首页,可以对商城进行商品浏览或者搜索商品,但是要管理或者添加商品进购物车则必须进行登录验证,没有账号的用户,需先进行注册,待注册成功后,再进行登录验证,即可添加购物车。并可对购物车进行管理(生成订单,或者对其进行删除等),个人订单进行查询。
3.2.3.2商家(管理员)
·商家要是想管理用户、管理商品、管理商品分类、查看用户总订单,需要进行登陆验证。 管理用户分为删除用户、修改用户、查询用户;管理商品分为增加商品、删除商品、修改商品、查询商品;管理商品分级分为添加分级,删除分级,修改分级。
3.2.4用户场景
用户场景:
王同学是一名大学生,他在课余闲暇之时,喜欢浏览商品,有一天他无意看到有个网上商城,他浏览起来界面简单,清爽,响应较快,使得他立即注册账号,并将此浏览器主页收藏为书签,方便以后继续浏览购物使用。
商家场景:
李同学是企业管理员,他在读书的时候,十分想开属于自己的网店,于是便选择了这款适合中小企业类型的网上商城,这个商城对待用户、商品、商品分类操作管理十分简便,使得他的商品多了网上售货的渠道,他十分的开心。
3.3性能需求
3.3.1精度
根据本系统的功能特性,数据的输入、处理、输出,文件的导入,导出所要达到的精度做了如下说明:
本系统涉及到需要手工输入数据的字段及说明如下:
字段 |
精度 |
备注 |
账号 |
6-20个字符,不能出现空格 |
|
密码 |
6-20个字符,包括大小写字母,数字 |
不能使用特殊符号 |
搜索框 |
0-10个任意字符 |
|
本系统涉及数据库存储的字段包括但不仅限于以上两者,并且包括导入和导出的表格内容字段,具体各字段类型,范围如何设置,请查看后期的《数据要求说明书》或者《数据库设计说明书》
3.3.2移植性
网上商城,顾名思义,是在网页上进行购物。
3.3.3稳定性
该系统应该支持多人访问,应该考虑到多人操作时,服务器和数据库是否能够正常运行。
- 验收验证标准
测试功能 |
测试项 |
输入/操作 |
检验点 |
预期结果 |
验收 |
登陆/注册功能 |
输入框 |
单击用户名输入框,输入用户名 |
用户名输入框输入范围为6位到20位之间,不能输入空格 |
超出范围提示错误,输入空格提示错误 |
|
单击密码框,输入密码 |
密码框密码保护 |
输入的字符显示为“*” |
|
||
登陆/注册操作 |
输入不完整(包括空)的用户名和密码,点击登陆/注册 |
用户名和密码检查 |
弹出提示“请输入正确的用户名和密码” |
|
|
输入正确的用户名和密码,点击登陆 |
登陆/注册检查 |
跳转到下一个界面 |
|
||
搜索功能 |
输入框 |
单击输入框,输入搜索信息 |
搜索信息为10个字符之内 |
超出范围提示错误 |
|
浏览功能 |
显示商品 |
点击商品的分类 |
界面响应 |
显示所有该类别的商品信息 |
|
购物车操作 |
购物车操作 |
点击添加购物车 |
购物车是否有内容 |
购物车出现刚刚添加的商品信息 |
|
点击删除该商品 |
购物车商品是否删除 |
商品已被删除 |
|
||
查看订单 |
查看 |
点击查看订单 |
界面响应 |
显示订单信息 |
|
管理用户 |
管理用户操作 |
点击删除用户 |
用户已删除 |
弹出提示“删除成功” |
|
用户未删除 |
弹出提示“删除失败” |
|
|||
点击查询用户信息 |
界面响应 |
显示对应用户信息 |
|
||
管理商品 |
管理商品操作 |
点击添加商品 |
商品信息是否已加入数据库 |
弹出提示“添加成功” |
|
点击修改商品 |
商品是否修改完成 |
弹出提示“修改成功” |
|
||
点击查询商品 |
界面响应 |
显示对应的商品信息 |
|
||
点击删除商品 |
商品信息是否还存在 |
弹出提示“删除成功” |
|
||
商品分类 |
管理商品分类操作 |
点击添加分类 |
分类信息是否已加入数据库 |
弹出提示“添加成功” |
|
点击修改分类 |
分类名字修改完成 |
弹出提示“修改完成” |
|
||
点击删除分类 |
分类是否已删除 |
弹出提示“删除成功” |
|
- 其他需求
无
编码规范
1.程序编写采用驼峰命名法+英文简写命名+动词名词命名,可以显示变量内容,方法作用。对类名使用大驼峰命名法,变量名,函数名使用小驼峰命名法。常量类型使用大写+下划线分割,
如:class CalcuelateNumber
,var time
,public void initInfo()
2.对每个方法前进行方法说明注释,对于方法中的形参命名同上
如:
// 随机数据(分数和整数)
var ranNum = function () {
//...
}
3.在变量声明区提前声明变量,在方法中声明的变量最好不使用i
,j
,x
,y
,z
,使用准确计数名称来反映变量作用
如:
//变量声明区
int stuNum;
//...
//方法实现区
public void initInfo(){
string stuId;
int currentWeek;
}
4.注释规范:
4.1:注释中需要将方法作用写出,对于晦涩难懂的实现细节需要详细说明,每个类和文件开头需要进行注释,如下:
/*
* Classname
*
* Version information
*
* Date
*
* Copyright notice
*
* Coder name
*/