新Java运动:设计驱动开发实践1需求分析
2013-03-07 09:51
274 查看
在这里我们要开发一个融资融券平台,采用Java技术,用例驱动(TDD)开发模式进行开发。
首先,我们需要充分理解我们要做的系统。由于通常系统都比较复杂,因此我们需要阶段来实施,在第一阶段,先实现一个最小系统,然后逐渐加入新的功能,这就是迭代式增量开发的核心精神。
我们第一步是做一个简单的融资平台,具体业务模式为:用户通过在证券公司系统中开户,可以向证券公司借钱在T日购买股票,然后在T+1日将股票卖出,通过股票差价来获得盈利。然后用户把线还给证券公司,并支付一定的手续费。
业务流程看起来很简单,为了讨论问题方便,我们首先定义如下术语:
用户 User
金币账户 Jinbi
金币是系统的虚拟货币,与人民币的汇率初始设置为1:1,根据国家规定,金币账户只能进行充值,不能取回现金。在交易系统中,金币可以用来支付交易手续费。用户可以通过财付通和快钱来为金币账户充值。
钱包账户 purse
钱包账户中保存用户的现金,可以取现。但是需要经过审批,进行人工转账。
实盘 capital order
可以实际融资购买股票。
清算 clearing
卖出实盘中所有股票
结算 settlement
收取交易手续费,每支股票买卖的印花税、过户费、佣金后,将资金返回给用户钱包账户的过程。
挂单
挂单是指用户或系统直接在证交所申请股票交易的过程。挂单分为市价挂单、委托价挂单、条件挂单,市价挂单为按照当前最新价挂单买入或卖出。委托价挂单是用户指定价格,到证交所挂牌交易。条件挂单在当前系统中主要用于止损,就是以止损价挂条件单。
撤单
撤消已经挂牌交易的请求。在T+1日,系统自动为每个用户做条件挂单(用于止损)。当用户要进行市价交易或委托价交易时,系统先撤消原来的条件单,再将当前用户的交易请求到证交所挂单交易。
止损点
当用户股价交易损失达到多少后,系统将自动以市价对股票进行交易。止损点目前为8%和12%两种。
金币汇率
金币与人民币之间的汇率,初始设定为1:1。
系统账户
系统账户为我的账户,是我们系统的资金池。用于提出实盘申请时,由这个账户借钱给用户进行股票交易。这个账户是通过向财道或金融机构贷款得到,需要按账期支付借款方利息。
股票账户
我们为用户开设的股票交易账户,用户股票交易申请,先将钱汇入此账户,然后进行真实股票交易。
具体需求可以通过应用场景来描述:
用户注册
金币账户充值
钱包账户充值
钱包账户取现
实盘申请
T日购买股票
T+1日卖出股票
超时清算
止损清算
未卖出股票处理
用户结算
首先,我们需要充分理解我们要做的系统。由于通常系统都比较复杂,因此我们需要阶段来实施,在第一阶段,先实现一个最小系统,然后逐渐加入新的功能,这就是迭代式增量开发的核心精神。
我们第一步是做一个简单的融资平台,具体业务模式为:用户通过在证券公司系统中开户,可以向证券公司借钱在T日购买股票,然后在T+1日将股票卖出,通过股票差价来获得盈利。然后用户把线还给证券公司,并支付一定的手续费。
业务流程看起来很简单,为了讨论问题方便,我们首先定义如下术语:
用户 User
金币账户 Jinbi
金币是系统的虚拟货币,与人民币的汇率初始设置为1:1,根据国家规定,金币账户只能进行充值,不能取回现金。在交易系统中,金币可以用来支付交易手续费。用户可以通过财付通和快钱来为金币账户充值。
钱包账户 purse
钱包账户中保存用户的现金,可以取现。但是需要经过审批,进行人工转账。
实盘 capital order
可以实际融资购买股票。
清算 clearing
卖出实盘中所有股票
结算 settlement
收取交易手续费,每支股票买卖的印花税、过户费、佣金后,将资金返回给用户钱包账户的过程。
挂单
挂单是指用户或系统直接在证交所申请股票交易的过程。挂单分为市价挂单、委托价挂单、条件挂单,市价挂单为按照当前最新价挂单买入或卖出。委托价挂单是用户指定价格,到证交所挂牌交易。条件挂单在当前系统中主要用于止损,就是以止损价挂条件单。
撤单
撤消已经挂牌交易的请求。在T+1日,系统自动为每个用户做条件挂单(用于止损)。当用户要进行市价交易或委托价交易时,系统先撤消原来的条件单,再将当前用户的交易请求到证交所挂单交易。
止损点
当用户股价交易损失达到多少后,系统将自动以市价对股票进行交易。止损点目前为8%和12%两种。
金币汇率
金币与人民币之间的汇率,初始设定为1:1。
系统账户
系统账户为我的账户,是我们系统的资金池。用于提出实盘申请时,由这个账户借钱给用户进行股票交易。这个账户是通过向财道或金融机构贷款得到,需要按账期支付借款方利息。
股票账户
我们为用户开设的股票交易账户,用户股票交易申请,先将钱汇入此账户,然后进行真实股票交易。
具体需求可以通过应用场景来描述:
用户注册
金币账户充值
钱包账户充值
钱包账户取现
实盘申请
T日购买股票
T+1日卖出股票
超时清算
止损清算
未卖出股票处理
用户结算
相关文章推荐
- JavaWeb项目开发案例精粹-第6章报价管理系统-001需求分析及设计
- 从零开始写javaweb框架笔记6-需求分析与系统设计
- 慕课网:Java高并发秒杀API之业务分析与DAO层(3)--DAO层设计与开发
- 敏捷开发下, 如何将需求分析,架构(软件)设计,开发与测试,一气呵成式的结合且高效的完成 ?
- 软件开发过程一 需求分析与设计
- 新Java运动:测试驱动开发3---用户注册3
- 我们应当怎样做需求分析:领域驱动设计(18)
- 软件开发过程一 需求分析与设计
- 我的Java开发学习之旅------>JAVA IO 设计模式彻底分析
- SLG手游Java服务器的设计与开发——架构分析
- 新Java运动:测试驱动开发3---用户注册
- 新Java运动:测试驱动开发3---用户注册4
- Python:实用抓图工具开发介绍(含需求分析、设计、编码、单元测试、打包、系统测试、发布各环节)
- 团队开发规范(MSF)以及基于.Net的需求分析和解决方案设计
- 升讯威微信营销系统开发实践:(3)中控服务器的设计 .Net 还是 Java?
- Python:实用抓图工具开发介绍(含需求分析、设计、编码、单元测试、打包、系统测试、发布各环节)
- 【领域驱动设计】.NET实践:从需求开始
- 软件开发过程一 需求分析与设计
- 新Java运动:测试驱动开发3---用户注册2
- 网站开发-php开发手机论坛(4)-功能设计及需求分析,功能结构模型