当前位置:文档之家› 股票交易系统需求分析

股票交易系统需求分析

股票交易系统需求分析开发工具:MyEclipse Enterprise Workbench 5.1.0 GA、Oracle9i开发人:柏朝华开发周期:本系统是为股票经纪人提供的交易平台,系统的使用者包括股票经纪人、股民、政府部门,股民委托股票经纪人进行股票的交易。

其中包括提供给经纪人的各项基本功能,如:经纪人登陆、注册、买卖股票、增加股民、删除股民、更新股民、查询股民、查询股票信息。

提供给政府部门的功能:增加股票的功能。

经纪人权限操作●经纪人登陆功能:经纪人通过输入正确的ID和密码进入系统,如果ID或密码错误,则给出相应的提示,如果输入正确,则进入股票交易界面。

●经纪人注册功能:经纪人通过输入个人信息可以进行注册,如果注册的用户已经存在,则给出提示“该用户已经存在”。

●经纪人替普通股民买卖股票:经纪人进入系统后根据股民的要求进行股票的买卖。

●经纪人查看大盘信息:经纪人正常登陆后可以查看大盘信息。

●经纪人增加新股民:经纪人正常登陆后可以增加新股民。

●经纪人查看自己的股民:经纪人正常登陆后可以查看自己的股民。

●经纪人删除自己的股民:经纪人正常登陆后可以删除已经解除服务关系的股民。

政府部门的权限操作●政府部门添加新股票功能:政府部门进入系统后可以添加新股票信息。

经纪人操作流程:增加新股民:股民注册(股民表)、 政府部门操作流程:数据库表设计: 表:股票表:stock_table 字段:股票ID 、股票名称、股票发行价、发行股总量、发行公司名称、发行日期经纪人表:stockagent_table 字段:经纪人ID 、密码、经纪人姓名、性别、年龄、联系电话 股民表:stockholder_table 字段:股民ID 、股民姓名、密码、性别、年龄、联系电话、地址、银行账号、经纪人ID交易表:stockexchange_table 字段:ID(自增列主键)、股票ID 、股民ID 、买入或卖出、交易数量、交易价格、交易时间● 创建stock_table 表:create table stock_table (s_id varchar2(10) primary key, s_namevarchar2(20), s_price number, s_number Number, s_companyName varchar2(20),s_date Varchar2(20));● 创建stock_table 表s_id 序列:create sequence s_seq start with 1000 increment by 1; ● 创建stock_table 表触发器: create or replace trigger s_tribefore insert or update or delete on stock_table for each row declare beginif inserting thenselect ‘s ’||s_seq.nextval into :new.s_id from dual; end if; end;经纪人表stockagent_table :创建经纪人表stockagent_table●创建stockagent_table 表:create table stockagent_table (sa_id varchar2(10) primary key,sa_name varchar2(20), sa_pwd varchar2(20), sa_sex varchar2(10),sa_age number,sa_tel varchar2(20));●创建stockagent_table 表sa_id序列:create sequence sa_seq start with 1000 increment by 1;●创建stockagent_table 表触发器:create or replace trigger sa_tribefore insert or update or delete on stockagent_tablefor each rowdeclarebeginif inserting thenselect ‘sa’||sa_seq.nextval into :new.sa_id from dual;end if;end;●创建stockholder_table 表:create table stockholder_table (sh_id varchar2(10) primary key,sh_name varchar2(20), sh_account varchar2(20), sh_sex varchar2(10),sh_age number,sh_tel varchar2(20), sh_address varchar2(40), sa_id Varchar2(10));●设置外键经纪人ID:alter table stockholder_table add constraint fk_sh_sa foreign key(sa_id)references stockagent_table(sa_id) on delete cascade;●创建stock_table 表sh_id序列:create sequence sh_seq start with 1000 increment by 1;●创建stock_table 表触发器:create or replace trigger sh_tribefore insert or update or delete on stockholder_tablefor each rowdeclarebeginif inserting thenselect ‘sh’||sh_seq.nextval into :new.sh_id from dual;end if;end;●创建stockexchange_table 表:create table stockexchange_table (se_id varchar2(10) primarykey, s_id varchar2(10), sa_id varchar2(10), se_type varchar2(10), se_number number, se_price Number, se_date date);●设置外键——经纪人ID:alter table stockexchange_table add constraint fk_se_s foreignkey(sa_id) references stockagent_table(sa_id) on delete cascade;●设置外键——股票ID:alter table stockexchange_table add constraint fk_se_sa foreignkey(s_id) references stock_table(s_id) on delete cascade;●创建stock_table 表se_id序列:create sequence se_seq start with 1000 increment by 1;●创建stock_table 表触发器:create or replace trigger se_tribefore insert or update or delete on stockexchange_tablefor each rowdeclarebeginif inserting thenselect ‘se’||se_seq.nextval into :new.se_id from dual;end if;end;创建用户连接到System用户:connect system/admin创建用户(在system用户下创建,用户名:stock 密码:stock):create user stock identified by stock;授予权限:grant connect,resource to stock;经纪人有多位股民:股民有多支股票:包头:create or replace package stockis--注册经纪人function regist_sa(saname varchar2,sapwd varchar2,sex varchar2,age number,tel varchar2) return number;--添加股民function regist_sh(shname varchar2,shaccount varchar2,sex varchar2,age number,tel varchar2,add varchar2,saidvarchar2) return number;--政府部门添加股票function add_stock(sname varchar2,sprice number,snum number,scname varchar2,sdate varchar2) return number;--股票交易function stock_business(s_id varchar2,sa_id varchar2,se_type varchar2,se_num number,se_price number,sn_numnumber) return number;--function regist_sa(sanme varchar2,sapwd varchar2,sex varchar2,age number,tel varchar2) return number;--function regist_sa(sanme varchar2,sapwd varchar2,sex varchar2,age number,tel varchar2) return number;end;包图:create or replace package body stockis--注册经纪人function regist_sa(saname varchar2,sapwd varchar2,sex varchar2,age number,tel varchar2) return numberisbegininsert into stockagent_table(sa_name,sa_pwd,sa_sex,sa_age,sa_tel) values(saname,sapwd,sex,age,tel);return sql%rowcount;end;--统计股民function regist_sh(shname varchar2,shaccount varchar2,sex varchar2,age number,tel varchar2,add varchar2,said varchar2) return numberisbegininsert intostockholder_table(SH_NAME,SH_ACCOUNT,SH_SEX,SH_AGE,SH_TEL,SH_ADDRESS,SA_ID)values(shname,shaccount,sex,age,tel,add,said);return sql%rowcount;end;-- 添加股票function add_stock(sname varchar2,sprice number,snum number,scname varchar2,sdate varchar2) return numberisbegininsert into stock_table(s_name,s_price,s_number,s_companyname,s_date) values(sname,sprice,snum,scname,sdate);return sql%rowcount;end;--股票交易function stock_business(s_id varchar2,sa_id varchar2,se_type varchar2,se_num number,se_price number,sn_num number) return numberisbegininsert into stockexchange_table(s_id,sa_id,se_type,se_number,se_price,sn_number)values(s_id,sa_id,se_type,se_num,se_price,sn_num);return sql%rowcount;end;end;。

相关主题