软件工程导论课程设计
《软件工程》课程设计报告
课题名称:课题负责人名(学号):同组成员名单(角色):
指导教师:评阅成绩:评阅意见:李炳法提交报告时间:2010年6月
目录
一、引言........................................................................................................................1
1.1编写目的.........................................................................................................1
1.2背景..................................................................................................................1
1.3参考资料.........................................................................................................2
二、总体设计................................................................................................................2
2.1需求规定.........................................................................................................2
2.2系统功能.........................................................................................................2
2.2.1系统性能..............................................................................................3
2.2.2输入输出要求......................................................................................4
2.2.3数据管理能力要求..............................................................................5
2.2.4故障处理要求......................................................................................5
2.2.5其他专门要求.......................................................................................5
2.3运行环境.........................................................................................................5
2.3.1设备......................................................................................................5
2.3.2支持软件..............................................................................................6
2.3.3接口......................................................................................................6
2.4基本设计概念和处理流程.............................................................................7
2.4.1整个系统流程图..................................................................................7
2.5结构图.............................................................................................................8
2.5.1各业务结构图.......................................................................................8
2.6人工处理过程(对客户分析)....................................................................11
三、运行设计(运行模块组合)..................................................................................12
3.1证券帐户业务................................................................................................12
3.2资金帐户业务...............................................................................................14
3.2.1开设资金帐户....................................................................................14
3.2.2添加/取出资金................................................................................15
3.2.3修改资金账密码................................................................................16
3.2.4挂失补办账户....................................................................................16
3.2.5资金账户销户....................................................................................16
3.3交易客户端...................................................................................................16
3.3.1登陆....................................................................................................17
3.3.2查询证券帐户持有的股票................................................................18
3.3.3查询资金账户....................................................................................18
3.3.4购买股票............................................................................................19
3.3.5抛售股票............................................................................................19
3.4中央交易系统业务.......................................................................................19
3.5网上信息发布...............................................................................................21
3.5.1登陆界面............................................................................................21
3.5.2注册界面............................................................................................22
3.5.3主界面................................................................................................23
3.5.4股票详细信息界面............................................................................23
3.5.5用户设计界面....................................................................................24
3.6交易系统管理业务........................................................................................25
3.6.1登陆管理界面....................................................................................25
3.6.2查看股票............................................................................................25
3.6.3设置股票的涨跌停限制....................................................................26
3.6.4暂停和重启交易................................................................................26
3.6.5修改密码............................................................................................26
四、系统数据库设计..................................................................................................26
4.1表设计...........................................................................................................26
五、系统出错处理......................................................................................................29
5.1出错信息.......................................................................................................29
5.2补救措施.......................................................................................................30
5.3系统维护设计...............................................................................................30股票交易系统整体设计报告
II杨海军小
一、引言
1.1编写目的
本设计报告为股票交易系统的总体设计说明书,详细阐述了对用户所提出需求的设计方案,推系统中的各项功能需求、技术需求、实现环境及所使用的实现技术进行了明确定义。同时,对软件应具有的功能和性能及其他有效性需求也进行了定义。此外,本说明书还明确了系统的数据结构和软件结构,还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。
编写本说明书的目的是:
1.为编码人员提供依据
2.为修改、维护提供条件
3.项目负责人将按计划书的要求布置和控制开发工作全过程
4.项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认本说明书的预期读者包括:
1.项目开发人员,特别是编码人员
2.软件维护人员
3.技术管理人员;
4.执行软件质量保证计划的专门人员;
5.参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报告的有关人员。
6.合作各方有关部门的负责人;项目组负责人和全体参加人员。
1.2背景
为了将交易信息能够更好地提供给各种研究机构和广大股民,让他们能够更加方便的进行股票交易,则需要建立正规合法的股票交易系统,方便工作人员对现有股票市场的管理以及用户对自己账号的管理、查看股市等一些迫切需求功能。
a.软件名称:股票交易系统
b.委托单位:×××证券公司
c.开发单位:四川大学锦江学院07计科杨海军组
d.开发团队:组长杨海军
组员彭依然朱善保
1.3参考资料
《软件工程--实践者之路》(第六版)
《需求说明书--股票交易系统》
《软件开发文档》
《软件工程导论》(第五版)
二、总体设计
2.1需求规定
本股票交易系统是专门为证券公司所设计,主要是方便证券公司管理各人账户,发布股票信息,为各股票客户提供实时、可视化的股票信息,并可以便捷地通过此软件进行操作,在网上进行交易。此系统的目的则在于实时显示更新的股票交易信息,更好地让广大股民及时了解股票交易信息以及各支股票的走势情况。
2.2系统功能
一个完整的股票交易系统包括:证券账户业务、资金账户业务、交易客户端、股票重要交易系统、网上信息发布、交易系统管理。其中各个部分的业务需要如下:
1.证券账户业务
实现证券账户业务相关业务逻辑。开发工作人员管理界面,用于证券账户的开户、挂失与重新开户、销户。
2.资金账户业务
实现资金账户相关业务逻辑。开发工作人员界面,用于录入用户信息,审批,开户,修改、密码,存款,取款,挂失,销户,资金信息查询。并实现资金账户和账户的关联。
3.交易客户端
实现股票交易客户端的相关业务逻辑。开发用户界面,包括用户客户端申请,首次登陆,登陆,查看股票价格,查询资金账户里面的现金,查询证券账户里面的股票情况,发出购买和出售股票信息,显示交易结果。
4.股票中央交易系统
实现股票场内交易相关业务逻辑。开发一个股票的中央交易系统,对用户发出的购买和出售股票的指令首先保存。然后匹配同一个股票的相关指令,将价格合适的两个指令进行撮合,并将交易结果放入不同的证券账户进行保存,然后修改已经匹配指令的信息。
5.网上信息发布
实现交易信息的实时发布逻辑。对每一个股票最新的交易结果,以及近期的交易结果进行统计,并且在网站上面发布,以供用户查询。用户可以输入股票名字或代码来对股票的相关信息进行查询。
6.交易系统管理
实现交易系统管理员对交易系统监控管理的功能。开发一个工作人员管理界面,通过识别不同用户的授权,可以查看不同股票的所有指令的数量,价格以及买卖数量的全部信息。
说明:系统安全性暂时不考虑,但是需要实现必要的登陆信息确认,同时还要保证第一次登陆时的安全证书的认证。
2.2.1系统性能
2.2.1.1数据精度
在进行向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件数组中添加数时,要求输入数准确。
1.对于有关金额的数据,一般要求精确到小数点后两位(以元为单位)。
2.对于有关比率的数据,要求精确到小数点后两位(如23.65%)。
3.再有其他数据,应按照具体情况再讨论。
为了保证实时性,对股票交易的价格,保证5秒钟更新一次。对于股票的报价情况也能保证5秒钟刷新一次的频率
2.2.1.2时间特性要求
时间特性主要描述系统应用过程中各种实用环节的速度、时间要求。本文档
约定的时间特性是基于本文后面说明的应用硬件、软件平台和局域网环境而言的。
系统响应时间:一般控制在5秒钟内。
更新处理时间:保证每5秒钟更新一次。
数据转换与传输时间:不超过5秒。
2.2.1.3可靠性
本系统做了前后台的,方便不同的人员对不同的系统进行不同的操作。故本系统能一定程度防止外界人员侵入系统,对数据进行修改。本系统还保证了对页面进行高频率的刷新,以保证所显示的股票信息是实时可靠的。
2.2.1.4稳定性
系统在设计时应注意设计风格统一,使系统可调试性良好,尽可能把系统错误消灭在调试阶段,系统一旦交付使用,就应该有很好的稳定性。
2.2.1.5适应性
开发基于的平台要考虑向上兼容性,如操作系统,数据库等要考虑更高版本的兼容性。
当需求发生变化时系统应具有一定的适应能力,要求系统能够为将来的变更提供以下支持:能够在系统变更用户界面和数据库设计,甚至在更换新的DBMS后,系统的现有设计和编码能够最大程度的重用,以保护现阶段的投资和保证软件系统能够在较少后续投入的情况下适应系统的扩展和更新。
2.2.1.6可维护性
系统设计时应备齐各类文档,操作人员只需阅读文档就可知道所有的操作,维护人员也可以通过文档了解系统结构、设计思路,以便快速掌握整个系统。程序设计时应保持良好的编程风格,结构清晰、注释明确,使调试、测试人员能快速定位各种错误。
2.2.2输入输出要求
输入:一般为键盘输入,结合鼠标使用。
输出:一般为屏幕输出。
2.2.3数据管理能力要求
要求数据库具有很好的更新能力,由于本产品是实验性软件,故对磁盘和内存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。
2.2.4故障处理要求
通讯故障:工作服站与务器无法通讯,导致局部业务暂停,应检查通讯线路及
设置,保证网络通讯畅通。
数据服务器故障:数据无法访问,业务暂停,应有备件或备机替代。
2.2.5其他专门要求
1.必须能够保证系统的结构设计和程序设计实现中,没有数据位数方面的缺陷。
2.股票交易系统必须有严格的、全面的安全管理功能,因此系统应保证用户需要有相应的用户、密码和权限。
3.此交易系统应具有可重操作性。
2.3运行环境
本系统的运行环境为PC机(需保证联网)。支持的操作系统为WindowsXPProfessional,Windows2000等;编译语言是Java和JSP;使用的数据库软件为MySQL。具体说明如下:
2.3.1设备
已联网的PC机
处理器:
450megahertz(MHz)PentiumII-classprocessor
600MHzPentiumIII-classprocessorrecommended
2.3.2支持软件
支持以下操作系统:
MicrosoftWindowsServer2003
WindowsXPProfessional
WindowsXPHomeEdition
Windows2000
WindowsMillenniumEdition(WindowsMe)
Windows98
编译软件:
JRE1.4.2
J2SDK1.5
JRE1.5
数据库:
MySQL5.0
网络服务器:
Tomcat
2.3.3接口
2.3.3.1硬件接口
无特别要求。
网络硬件接口要求:现实中要求具有高速以太网组网以实现联网操作,但是在理论实验验证软件本身的目的来看,无需网络通讯接口。用户通过鼠标和键盘对系统进行操作。
2.3.3.2软件接口
Windows标准接口,要求与其他软件无冲突错误发生。
2.3.3.3控制
在操作本系统时,主要通过终端用户的鼠标点击和键盘输入来控制。
2.4基本设计概念和处理流程
2.4.1
整个系统流程图
2.5结构图
2.5.1各业务结构图
1.
证券业务
2.资金账户业务
股票交易系统整体设计报告8杨海军小组
3.
客户端业务
4.中央交易业务
股票交易系统整体设计报告9
杨海军小组
5.
网上信息发布的系统功能结构图
6.交易系统管理业务
股票交易系统整体设计报告
组10杨海军小
2.6人工处理过程(对客户分析)
比如在证券账户业务中,
1.开设证券账户
自然人开了的证券账户为一个账户。开了个人账户时,投资者必须持有效的身份证件(一般为居民身份证)去证券交易所指定的证券登记机构或会员证券公司办理名册登记并开立证券帐户。
2.挂失,补办证券帐户
如遇投资者的证券帐户不慎丢失,为维护已办理指定交易的投资者利益,需要对证券账号实行挂失并办理重新开户手续。
3.销户证券帐户
如果您因各种原因不再使用证券帐户,可凭本人身份证和证券帐户卡到指定交易的证券营业部办理(未指定的必须先办理指定交易)证券帐户销户手续。投资者在办理证券帐户销户前,必须卖出该帐户中的所有证券。
股票交易系统整体设计报告
组11杨海军小
三、运行设计(运行模块组合)
3.1证券帐户业务
3.1.1开设证券账户
办理证券账户时走入股市的第一步。证券账户可以视为投资者进入股票交易市场的通行证,只有拥有它,才能进场买卖证券。
开设证券账户界面(此界面为整个股票交易系统中的一部分)
【这个是开发的工作人员界面、用于证券账户的开户、挂失与重新开户、销户。】股票交易系统整体设计报告
组12杨海军小
【用于个人开户的信息登记界面。
】
【用于法人开户的信息登记界面。】
3.1.2挂失,补办证券帐户
遇投如资者的证券帐户不慎丢失,为维护已办理指定交易的投资者利益,需股票交易系统整体设计报告
组13杨海军小
要对证券账号实行挂失并办理重新开户手续。在具体操作中,挂失有序按照一下手续进行:
认真审查投资者的本人身份证或法人注册登记号。
证券帐户下所有的证券予以冻结;
按照开户的手续,重新申请证券帐户。
拿到证券帐户卡后,投资者就可以进入市场买卖证券了。
通过重新将证券帐号和资金账号关联,通过交易客户端票了买卖股。
3.1.3销户证券帐户
如果您因各种原因不再使用证券帐户,可凭本人身份证和证券帐户卡到指定交易的证券营业部办理(未指定的必须先办理指定交易)证券帐户销户手续。投资者在办理证券帐户销户前,必须卖出该帐户中的所有证券。
3.2资金帐户业务
实现资金账户相关业务逻辑。开发工作人员界面,用于录入用户信息,审批,开户,修改、密码,存款,取款,挂失,销户,资金信息查询。并实现资金账户和账户的关联。
3.2.1开设资金帐户
工作人员登陆主界面,为客户办理各种需求业务。
股票交易系统整体设计报告
组14杨海军小
然后选择可以需求的业务,如:开设资金账户
3.2.2添加/取出资金
通过资金帐户卡和密码,投资者可以从证券经纪商处追加或者取出资金帐户内的可用现金。(界面略)
股票交易系统整体设计报告
组
15杨海军小
3.2.3修改资金账密码
资金帐户密码可以有两张方法修改。
投资者可以在证券经纪商处在开设资金帐户的设备上,通过输入原有密码和新密码来修改。
投资者还可以在证券交易客户端通过输入原有密码和新密码修改。(界面略)
3.2.4挂失补办账户
如遇投资者的资金帐户卡不慎丢失,为维护已办理指定交易的投资者利益,需要对资金帐户卡实行挂失并办理重新开户手续。(界面略)
3.2.5资金账户销户
资金帐户是用户在某个证券经纪商处开立证券交易结算资金帐户,如果遇到某种原因,用户需要更换证券经纪商,那么就需要对资金账户进行销户。(界面略)
3.3交易客户端
投资者在开办完证券帐户并在证券经纪商处开立证券交易结算资金帐户以后,就可以通过交易客户端委托证券经纪商进行股票的买卖交易了。目前存在的委托方式有很多种,主要有以下3种:
交易设备:投资者持资金帐户卡在证券经纪商指定的刷卡设备处刷卡,并输入验
证密码。然后就可以发出委托,进行交易。这是最早,也是最常见的委托方式。
网络:投资者通过登陆证券经纪商指定的网址,通过必要的用户和密码验证登陆。
然后发出可以发出委托,进行交易。
电话:投资者通过申请,然后就可以致电证券经纪商指定的电话号码,通过必要
的用户和密码验证,然后根据语音提示,发出委托。
股票交易系统整体设计报告
组16杨海军小
3.3.1
登陆
【设立资金帐户时,投资者会得到一个资金账户卡和相关的密码。投资者可以到在证券经纪商指定的刷卡设备处(通常是在券商的营业大厅)刷卡,然后输入密码登陆到交易系统客户端。】
【当你登录成功的时候,界面将会进入主菜单界面,然后可以进行所需业务的选项】股票交易系统整体设计报告
组
17杨海军小
3.3.2
查询证券帐户持有的股票
【当你点击菜单上的“查询持有的股票”菜单选项时,界面会自动显示出,现今此登录用户上持有的股票信息。系统是通过调用数据库显示用户所需信息】
3.3.3
查询资金账户
【当你点击菜单上的“查询账户资金”菜单选项时,界面会自动显示出,现今此登录用户上的资金情况,
股票交易系统整体设计报告组
18杨海军小
如可用资金和冻结资金。通过调用数据库显示用户所需信息】
3.3.4购买股票
通过界面上的购买股票功能可以发出购买某一股票的指令
【输入需要购买的股票信息,然后点击确认购买按钮,则成功发送了购买指令.】
3.3.5抛售股票
过界面上的出售功能,可以发出出售投资者持有股票的指令。过界面上的出售功能,可以发出出售投资者持有股票的指令(界面略).…
3.4中央交易系统业务
央交易系统是整个股票交易过程的核心部分。所有投资者发出的买卖股票指令都在这个自动撮合系统参加集合竟价或连续竟价,交易系统根据时间优先及价格优先的原则,对符合条件的指令予以成交,这个过程就是撮合成交。股票成交后,中央交易系统随后将成交记录反馈到相关的股票帐户和证券经纪商的资金帐户。当买卖指令的价格相互匹配以后就形成交易。进入中央交易系统以后,指令不仅包括原有的股票信息,买卖价格信息,买卖数量信息,还增加了指令进入中股票交易系统整体设计报告组
19
杨海军小
央交易系统的时间信息。
当任何一个交易指令进入中央交易系统以后,
任何关于它的交易要实时反馈到交易客户端。涨跌停限制
今日涨停价=昨日收盘价+(昨日收盘价*涨跌幅)今日跌停价=昨日收盘价-(昨日收盘价*涨跌幅)相关界面如下:
【指令撮合】
股票交易系统整体设计报告组
20杨海军小
【涨跌信息】
【指令过期查询】
3.5网上信息发布
在这个子系统中需要建立一个网站,供给用户登陆查询。
3.5.1登陆界面
登陆xxxxx网站,进入网上信息发布系统,出现登陆对话框
股票交易系统整体设计报告21组
杨海军小
对于第一次登陆的用户,需要注册一个新的账户。点击“用户注册”,进入注册界面。
【用户输入自己的用户名和密码后,点击"登陆"。系统通过JDBC连接数据库。数据库核对用户名与密码是否匹配,如果匹配,则登陆成功,用户之间进入系统主页。】
3.5.2注册界面
用户进入注册页面后,正确填写相关信息,即可完成注册。
【系统通过JDBC连接数据库。数据库首先检查用户名是否已经存在,接着检查用户填写的信息是否符合有关要求。如果都符合条件,则数据库中添加此用户信息,用户注册成功。】
股票交易系统整体设计报告组
22杨海军小
3.5.3
主界面
正确登陆后,进入如下的主界面。主界面主要是显示所有股票的中华信息。另外,还有“用户升级”和“修改密码"按钮,以及股票详细信息的查询。在查询框中可以输入股票的名称或者代码进行查询。
3.5.4股票详细信息界面
点击股票名称,可以进入该股票的详细信息界面。其中包括日K线等统计信息的显示。
下面的图是上证A股的一个日K线图例。
股票交易系统整体设计报告组
23杨海军小
3.5.5用户设计界面
点击主界面上的“用户升级“按钮,进入用户升级界面。如下图所示:
用户仔细阅读用户升级协议,如果同意点击“确定“,进入下面的界面:如果不同意,点击"取消",返回主界面。股票交易系统整体设计报告组
24
杨海军小
用户只需要输入自己的手机号就可以升级了。
【系统通过JDBC连接数据库。数据库检查用户级别,如果已经是最高级别,则不需要升级。如果不是,并且用户填写升级信息正确,则升级成功,数据库的资料更新。】
3.6交易系统管理业务
交易系统管理模块实现的是对交易系统进行监控的功能,它是一个内部管理模块,用户是股票交易所的内部人士。由于需要在适当的时候通过调整买卖双方的价格比例来促进交易,所以需要提供接口给特别的授权用户来查看不同股票的实时信息。(此业务的所有界面均省略)
3.6.1登陆管理界面
由于不同的管理员可以看到的股票信息不一样,所以需要设置登陆界面。登陆界面包括用户名和密码。当用户名和密码通过验证,显示操作界面,包括可供查看的股票列表,修改密码,股票指数等必要信息。
3.6.2查看股票
当用户成功登陆管理系统以后,管理客户端会根据不同的用户显示可以查看操作的股票列表。用户通过在列表里面选择股票名查看股票盘中的实时交易情况。显示的信息包括:
最新的成交价格最新的成交数量
所有按价格降序排列的买指令(价格,进入系统的时间和股数)所有按价格升序排练的卖指令(价格,进入系统的时间和股数)
股票交易系统整体设计报告组
25
杨海军小
3.6.3设置股票的涨跌停限制
当用户成功登陆管理系统以后,管理员通过客户端可以设置授权股票的最大涨跌幅。设置的最新限制需要在第二天生效。
3.6.4暂停和重启交易
当某种股票出现交易异常或者股票公司有重要信息披露的时候,需要暂停股票的交易。授权的管理员通过管理客户端将某种股票的交易暂时停止。此时,该股票的买卖指令将不能成交,同时交易客户端也不能想中央交易系统再发送该股票新的买卖指令。
当交易重新开放的条件成熟以后,管理员需要重新启动股票的撮合。交易重新启动以后,当天进入中央交易系统里面的指令马上就开始进行撮合,并且向交易客户端发送该股票交易重新启动的消息。
3.6.5修改密码
通过界面上的修改密码功能,管理员在正确输入原有密码以后,可以修改登陆密码。
四、系统数据库设计
4.1表设计
股东表common_stockholder_table1股东表common_stockholder_table2股票表stock_table资金账户表
money_table
交易表stockexchange_table管理人员表managerment_table
1、COMMON_STOCKHOLDER_TABLE1证券账户(个人)
26股票交易系统整体设计报告
组
杨海军小
证券账户(个人)证券账户(法人)
属性账户号码日期姓名性别
证件号(身份证)
家庭地址职业学历工作单位联系电话(代)证件号
类型Chardatatimecharcharunsignedint
CharcharCharcharunsignedintunsignedint
个人股票账户号码登记日期个人的姓名个人的性别本人的身份证号码本人家庭地址本人职业本人学历本人工作单位本人联系电话
描述
如果是情人代办,代办人还须提供身份证。
2、COMMON_STOCKHOLDER_TABLE2证券账户(法人)
属性账户号码注册登记号(营业)证件号1(个人)证件号2
姓名1联系电话联系地址(代理)姓名2(代理)联系电话(代理)联系地址
类型charUnsignedintUnsignedintUnsignedint
CharUnsignedintUnsignedint
CharUnsignedint
char
法人股票账户号码有效的法人注册登记号营业执照号
法定代表人的省份证号码法人姓名法人联系电话法人联系地址
法定代表人授权证券交易执行人的姓名授权人联系电话授权人地址
描述
3、STOCK_TABLE股票表
属性序号
类型unsignedint
描述
显示排序后的位置,从1开始
股票交易系统整体设计报告组
27杨海军小
4、money_table资金账户表
属性资金账户号证券账户号证件号密码本金(元)
利率注册时间取出金额(最新)提款时间(最新)
股票名称股票代码股票数量
类型charcharUnsignedint
CharDoubleDoubleUnsignedint
DoubledatatimeCharCharUnsigned
int
描述
用户股票交易时的资金账户有效的证券账户号身份证号嘛资金账户的密码现有账户上的金额
按活期存款利率定期计付利息并自动转入投资者的资金帐户开设资金账户的时间最新提取金额的数量最新提取金额的时间用户买入的股票名称用户买入的股票代码用户现在拥有的股票数量
股票交易系统整体设计报告组
28杨海军小
5、STOCK_EXCHANGE_TABLE股票交易表
属性资金账户号股票代码股票名称买入/卖出的数量买入/卖出的价格
类型char
描述
将要购买股票/卖出股票的用户的资金账户号
Unsignedintchar
Unsignedintdouble
将要购买股票/卖出股票的股票代码将要购买股票/卖出股票的股票名称将要购买股票/卖出股票的股票数量将要购买股票/卖出股票的价格
创建表空间:
CREATETABLESPACE"STOCK_EXCHANGE"
LOGGING
DATAFILE'D:\stocksysem\STOCK_EXCHANGE.ora'SIZE50MEXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENT
AUTO
五、系统出错处理
5.1出错信息
股票交易系统整体设计报告
组
29杨海军小
5.2补救措施
由于我们发布的都是即时更新的信息,数据都来源于数据库,只是把它显示出来,而且用户注册、升级等操作都记录到中央数据库里,所以只需确保数据库以较高的频率备份数据,这样当系统因为突发情况崩溃时,系统可以根据日志文件和备份数据恢复。
5.3系统维护设计
因为系统本身较大,结构复杂,维护工作也相对较大,但大多是集中在数据库维护上。确保经常备份数据库,系统就可以安全的运行。
股票交易系统整体设计报告
组
30杨海军小