《需求分析与系统设计(原书第3版)》是大学本科生学习系统分析与设计、软件工程、软件项目管理、数据库和对象技术的理想教材和参考书;对于软件工程技术人员来说,《需求分析与系统设计(原书第3版)》也是很好的参考资料。

关注下方微信公众号,免费获取海量电子书资源(关注公众号,点击电子书,获取下载链接)

在个文档描述了支付系统的基本的功能性和非功能性需求。请仔细阅读。 功能性需求 个人账户管理系统 个人账户管理系统允许一个基础的用户(买方或卖方)用他们的真名、身份证号与电子邮件等基本个人信息注册一个...
在线支付系统
在线支付系统是一个第三方安全交易系统。
买方可以先向账户充值,然后系统会提醒卖方发货。一旦买方确认收货,系统会将钱转到卖方的账户,这样他们就完成了一次在线交易。
在个文档描述了支付系统的基本的功能性和非功能性需求。请仔细阅读。

功能性需求

个人账户管理系统

个人账户管理系统允许一个基础的用户(买方或卖方)用他们的真名、身份证号与电子邮件等基本个人信息注册一个账户,并且可以随时修改这些信息。
用户可以进行基本的账户操作,包括设置、更改支付密码,收费账户以及查询账户余额。
用户可以检查他们的支付记录报表,以月表与年表两种形式组织与呈现。
用户有一个主界面可以进行这些操作,同时有到其他功能模块的链接。

支付事务处理系统

支付事务处理系统允许用户检查订单信息,包括订单数,订单中的物品,金额,买卖方的信息,以及订单的状态。
当卖家确认发货后,买家可以支付或者退款。
要实现交易历史查询与申诉功能。
更进一步,交易事务流应该被记录,用于账户核对与审计。
这个系统需要一个界面按照交易状态、交易时间分类显示交易记录。
交易状态分类样例:正在处理、未付款、等待发货、等待收货、退款、完成、失败。
交易时间分类样例:今日、最近一周、最近一月、最近三个月、最近一年、一年前。
交易安全权限认证是一个附加的部分。

在线订购系统

在线订宾馆、机票是在线支付系统的一个增值服务。
用户可以通过这个服务查看宾馆、航班的信息,按需订房间与机票,然后用他们的账户来完成支付。
基本的操作包括:
搜索宾馆与航班信息并呈现这些信息下订单与支付评论与打分查询订购历史
当用户搜索宾馆与航班时,在右侧边栏中列出特价航班与特供房间。
宾馆搜索结果按照价格等级、宾馆星级,热度和用户评分来排序;
航班搜索结果按照价格、飞行用时、是否中转、航空公司来排序。
注意要在系统中加入一个订购服务管理员,他的任务是在后台界面管理维护宾馆与航班的信息。

账户核对与审计系统

允许审计员用数据库中已完成的交易记录进行账户核对与审计。
这个系统每天在一个固定时间(如凌晨1点)生成一个昨天24小时的核对数据列表。
这个列表要包含每一笔交易的订单号,买卖方的ID,金额,订单状态,交易时间。
当错误或者某些需要慎重确认的事件发生时,它会马上记录并向审计员发出警告。
此系统的界面需要被精心设计。

系统管理系统

允许管理员维护系统并确保系统运行顺畅。
管理员可以通过后台界面进行以下任务:
添加新的管理员(包括系统管理员与在线订购系统的管理员)维护管理员的信息。管理用户(包括一般用户、VIP与审计员)进行实名认证。管理仲裁与黑名单。
注意设计权限管理并实现。
一旦某人的权限被改变,要立即产生对应的效果。
另外,开发者要建立与维护一个身份证号数据库用于自动实名认证。

其它的功能性需求

VIP 机制
使用经验越多的用户能获得更多的成长点数。
点数规则的设置要有理有据。
当一般用户的成长点数达到一个预先设定好的值时会升级为VIP。
VIP用户拥有一些特权,比如订购时有折扣,提升订购量的限制等。
提醒
提醒系统在全局设计,无论用户处于哪一个页面,一旦以下事件发生,用户会被马上提醒:
交易状态改变订购成功/失败实名认证通过或失败申诉的仲裁有了结果
充值卡
推荐用户使用充值卡。
个人账户管理系统支持使用充值卡给账户充值的操作。
充值卡号与密码的验证模块需要在系统管理系统中实现。
译注:充值卡是一种可以通过验证卡号、密码来兑换虚拟财产的卡。

非功能性需求

安全性

隐私安全
用户名与密码用于防止非法用户访问系统。访问控制模块用于防止合法用户非法地访问系统资源。
一些敏感的数据,如用户名、口令、账户余额,要加密传输。
明文口令要被加密保存。
当用户登录时、要防止SQL 注入,暴力破解以及伪造会话信息入侵。
完整性
防止未授权的用户不小心或恶意地修改与插入数据防止数据丢失

性能

系统配置
CPU 2.6GHz内存 2.0G硬盘转速 7200rpm
访问容量
支持至少500 个用户同时访问
数据容量
支持至少10000条交易记录。
响应速度
对于单个用户:
访问响应时间在1秒内信息搜索的响应时间在2秒内
对于500个用户:
访问响应时间在2秒内信息搜索的响应时间在5秒内

可用性

多浏览器支持
这个系统应该在绝大多数流行的Web浏览器上能正确运行,如Firefox与IE等。
需求分析 当用户进入 客户管理 通过列表方式 来 查看所有的客户 List 用户 输入客户名称 关键字 进行模糊查询 *** 单击用户列表 客户名称 查看用户的基本信息 新增 进入新增用户界面 新增用户的基本信息 编辑 编辑...
-------------------------------------------------------------------------------------------------------------项目设计阶段
一.需求分析
当用户进入 客户管理 通过列表方式 来 查看所有的客户 List
用户 输入客户名称 关键字 进行模糊查询 ***
单击用户列表 客户名称 查看用户的基本信息
新增进入新增用户界面 新增用户的基本信息
编辑 编辑界面 更新客户的基本信息
删除 删除对应的用户的个人信息
用户信息:
name connect telephone email text
=.系统设计
查询
显示客户列表
显示客户的基本信息
创建客户
编辑客户
删除客户
三 设计表结构
create table customer(
id bigint(20) not null auto_increment,
name varchar(255) default null,
connect varchar(255) default null,
telephone varchar(255) default null,
email varchar(255) default null,
remark text,
primary key (id)
) engine = InnoDB default charset = utf8;
四:设计界面原型
Balsamiq Mockups
五.设计URL
1. GET:/customer 进入客户列表界面
2.POST:/customer_sercher 查询用户
3.GET:/customer_show?id={id} 进入 查看客户界面
4.GET:/customer_create 进入 用户创建界面
5.POST:/customer_create 创建客户
6.GET:/customer_edit?id={id} 进入 编辑客户界面
7.PUT:/customer_eidt?id={id} 编辑客户
8.DELETE:/customer_delete?id={id} 删除用户
六 数据模型和业务流程
七 业务流程
1需求分析,以下是需求描述: 1)当用户进入客户管理模块时,可通过列表方式来查看所有客户。 2)可通过客户名称关键字进行模糊查询。 3)单击客户列表中的客户名称链接,可查看客户基本信息。 4)单击新增按钮...
现在开始一个客户管理功能的web应用项目的开发。
1 需求分析,以下是需求描述:
1)当用户进入客户管理模块时,可通过列表方式来查看所有客户。
2)可通过客户名称关键字进行模糊查询。
3)单击客户列表中的客户名称链接,可查看客户基本信息。
4)单击新增按钮,进入新增客户界面,可新增客户基本信息。
5)单击客户列表中的编辑按钮,进入编辑客户界面,可更新客户基本信息。
6)单击客户列表中的删除按钮,可删除当前所选择的客户,需提示是否删除。
其他,客户基本信息包括:客户名称,联系人,电话号码,邮箱地址,备注。
2 系统设计
1)设计用例
从需求中,可以发现以下用例:
查询客户
显示客户列表
显示客户基本信息
创建客户
编辑客户
删除客户
2)设计表结构
根据需求,客户应该对应客户表customer表如下所示:

customer表结构
字段名称数据类型是否非空字段描述
idbigint否id主键
namevarchar(255)否客户名称
contactvarchar(255)否联系人
telephonevarchar(255)-电话号码
emailvarchar(255)-邮箱地址
remarktext-备注

3)设计界面原型
使用balsamiq mockups软件设计界面原型
4)设计url
通过界面之间的跳转与操作,我们可以分析出下面的url

url表
序号url描述
1get:/customer进入客户列表界面
2post:/customer_search查询客户
3get:/customer_show?id={id}进入查看客户界面
4get:/customer_create进入创建客户界面
5post:/customer_create创建客户
6get:/customer_edit?id={id}进入编辑客户界面
7put:/customer_edit?id={id}编辑客户
8delete:/customer_delete?id={id}删除客户